@import "https://cdn.jsdelivr.net/npm/@fontsource/eb-garamond@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/eb-garamond@latest/700.css";

html {
box-sizing: border-box;
font-size: 100%
}

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

html,
body {
margin: 0
}

body {
-webkit-text-size-adjust: 100%
}

.site-hd {
background: linear-gradient(135deg, #001A8C 0%, #001060 100%);
padding: 0;
position: relative
}

.hd-top-bar {
background: #ffce061f;
border-bottom: 1px solid #ffce0633;
padding: 8px 32px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 32px;
max-width: 1200px;
margin: 0 auto
}

.hd-contact-item {
display: flex;
align-items: center;
gap: 8px;
color: #fafcffbf;
font-family: 'EB Garamond', Georgia, serif;
font-size: 16px;
line-height: 1.45;
text-decoration: none;
transition: color .5s ease-in-out
}

.hd-contact-item:hover,
.hd-contact-item:focus {
color: #FFCE06;
outline: none
}

.hd-contact-item:focus-visible {
outline: 2px solid #FFCE06;
outline-offset: 3px
}

.hd-contact-icon {
width: 16px;
height: 16px;
flex-shrink: 0
}

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

.logo-card {
background: #FAFCFF;
border-radius: 10px;
padding: 8px;
box-shadow: 2px 7px 14px 0 #001a8c14;
display: flex;
align-items: center;
justify-content: center;
width: 80px;
height: 80px;
flex-shrink: 0
}

.logo-card img {
width: 65px;
height: 65px;
object-fit: contain;
display: block
}

.hd-nav-left {
display: flex;
align-items: center;
justify-content: flex-end;
flex-wrap: wrap;
gap: 4px
}

.hd-nav-right {
display: flex;
align-items: center;
justify-content: flex-start;
flex-wrap: wrap;
gap: 4px
}

.hd-link {
font-family: 'EB Garamond', Georgia, serif;
font-size: 16px;
line-height: 1.45;
color: #fafcffd9;
text-decoration: none;
padding: 8px 16px;
border-radius: 6px;
border: 1px solid transparent;
transition: color .5s ease-in-out, border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color .5s ease-in-out;
white-space: nowrap;
min-height: 44px;
display: inline-flex;
align-items: center
}

.hd-link:hover {
color: #FFCE06;
border-color: #ffce0666;
background-color: #ffce0612
}

.hd-link:focus-visible {
outline: 2px solid #FFCE06;
outline-offset: 2px
}

.hd-link-accent {
background: #FFCE06;
color: #001A8C;
border-color: #FFCE06;
font-size: 16px;
border-radius: 6px;
padding: 8px 16px;
position: relative
}

.hd-link-accent:hover {
background: #FFCE06;
color: #001060;
border-color: #001A8C;
box-shadow: inset 0 0 0 2px #001A8C
}

@media (max-width: 1200px) {
.hd-body {
padding: 32px 16px;
gap: 16px
}

.hd-top-bar {
padding: 8px 16px
}
}

@media (max-width: 900px) {
.hd-body {
grid-template-columns: 1fr;
grid-template-rows: auto auto auto;
justify-items: center;
gap: 16px;
padding: 16px
}

.hd-nav-left,
.hd-nav-right {
justify-content: center
}

.hd-top-bar {
justify-content: center;
flex-wrap: wrap;
gap: 16px
}
}

@media (max-width: 600px) {
.hd-link {
padding: 8px;
font-size: 16px
}

.logo-card {
width: 65px;
height: 65px
}

.logo-card img {
width: 52px;
height: 52px
}
}

.site-ft {
background: linear-gradient(160deg, #001060 0%, #001A8C 60%, #029 100%);
padding: 64px 32px 32px;
font-family: 'EB Garamond', Georgia, serif
}

.ft-shell {
max-width: 1200px;
margin: 0 auto
}

.ft-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 64px;
padding-bottom: 64px
}

.ft-brand-col {
display: flex;
flex-direction: column;
gap: 32px
}

.ft-logo-wrap {
display: flex;
align-items: center;
gap: 16px
}

.ft-logo-card {
background: #FAFCFF;
border-radius: 10px;
padding: 8px;
box-shadow: 2px 9px 60px 0 #001a8c21;
display: flex;
align-items: center;
justify-content: center;
width: 80px;
height: 80px;
flex-shrink: 0
}

.ft-logo-card img {
width: 65px;
height: 65px;
object-fit: contain;
display: block
}

.ft-brand-name {
font-size: 24px;
line-height: 1.15;
color: #FAFCFF;
font-weight: 700;
margin: 0
}

.ft-tagline {
font-size: 16px;
line-height: 1.7;
color: #fafcffa6;
margin: 0
}

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

.ft-contact-row {
display: flex;
align-items: flex-start;
gap: 8px;
color: #fafcffbf;
font-size: 16px;
line-height: 1.45;
text-decoration: none;
transition: color .5s ease-in-out
}

.ft-contact-row:hover,
.ft-contact-row:focus {
color: #FFCE06
}

.ft-contact-row:focus-visible {
outline: 2px solid #FFCE06;
outline-offset: 2px
}

.ft-contact-icon {
width: 16px;
height: 16px;
margin-top: 4px;
flex-shrink: 0
}

.ft-col-label {
font-size: 16px;
line-height: 1.15;
color: #FFCE06;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
margin: 0 0 16px
}

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

.ft-nav-list li a {
font-size: 16px;
line-height: 1.45;
color: #fafcffbf;
text-decoration: none;
padding: 4px 0;
display: inline-block;
border-bottom: 1px solid transparent;
transition: color .5s ease-in-out, border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
min-height: 44px;
display: flex;
align-items: center
}

.ft-nav-list li a:hover,
.ft-nav-list li a:focus {
color: #FFCE06;
border-bottom-color: #ffce0666
}

.ft-nav-list li a:focus-visible {
outline: 2px solid #FFCE06;
outline-offset: 2px
}

.ft-divider {
border: none;
border-top: 1px solid #fafcff1f;
margin: 0 0 32px
}

.ft-bottom {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px
}

.ft-copy {
font-size: 16px;
line-height: 1.45;
color: #fafcff73;
margin: 0
}

.ft-legal-nav {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap
}

.ft-legal-nav a {
font-size: 16px;
line-height: 1.45;
color: #fafcff80;
text-decoration: none;
transition: color .5s ease-in-out;
min-height: 44px;
display: inline-flex;
align-items: center
}

.ft-legal-nav a:hover,
.ft-legal-nav a:focus {
color: #FFCE06
}

.ft-legal-nav a:focus-visible {
outline: 2px solid #FFCE06;
outline-offset: 2px
}

@media (max-width: 900px) {
.ft-grid {
grid-template-columns: 1fr 1fr;
gap: 32px
}

.ft-brand-col {
grid-column: 1 / -1
}
}

@media (max-width: 600px) {
.site-ft {
padding: 32px 16px
}

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

.ft-brand-col {
grid-column: auto
}

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

.ck-popup {
display: none;
position: fixed;
top: 32px;
right: 32px;
width: 340px;
background: #FAFCFF;
border-radius: 10px;
box-shadow: 2px 9px 60px 0 #001a8c21;
z-index: 4000;
padding: 32px;
border-top: 3px solid #FFCE06
}

.ck-desc {
font-family: 'EB Garamond', Georgia, serif;
font-size: 16px;
line-height: 1.7;
color: #001A8C;
margin: 0 0 8px
}

.ck-head {
font-family: 'EB Garamond', Georgia, serif;
font-size: 24px;
line-height: 1.15;
color: #001060;
font-weight: 700;
margin: 0 0 16px
}

.ck-optout {
font-family: 'EB Garamond', Georgia, serif;
font-size: 16px;
line-height: 1.45;
color: #001a8ca6;
margin: 0 0 16px
}

.ck-optout-btn {
background: none;
border: none;
color: #001A8C;
font-family: 'EB Garamond', Georgia, serif;
font-size: 16px;
text-decoration: underline;
cursor: pointer;
padding: 0;
transition: color .5s ease-in-out
}

.ck-optout-btn:hover,
.ck-optout-btn:focus {
color: #FFCE06
}

.ck-optout-btn:focus-visible {
outline: 2px solid #001A8C;
outline-offset: 2px
}

.ck-btns {
display: flex;
gap: 8px;
margin-top: 16px
}

.ck-accept {
flex: 1;
background: #FFCE06;
color: #001A8C;
border: 2px solid #FFCE06;
border-radius: 16px;
padding: 8px 16px;
font-family: 'EB Garamond', Georgia, serif;
font-size: 16px;
font-weight: 700;
cursor: pointer;
min-height: 44px;
transition: background-color .5s ease-in-out, box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ck-accept:hover {
background: #e6b900;
box-shadow: inset 0 0 0 2px #001A8C
}

.ck-accept:focus-visible {
outline: 2px solid #001A8C;
outline-offset: 2px
}

.ck-decline {
flex: 1;
background: transparent;
color: #001A8C;
border: 2px solid #001a8c4d;
border-radius: 16px;
padding: 8px 16px;
font-family: 'EB Garamond', Georgia, serif;
font-size: 16px;
cursor: pointer;
min-height: 44px;
transition: border-color .5s ease-in-out, color .5s ease-in-out, box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ck-decline:hover {
border-color: #001A8C;
box-shadow: inset 0 0 0 2px #001A8C
}

.ck-decline:focus-visible {
outline: 2px solid #001A8C;
outline-offset: 2px
}

@media (max-width: 600px) {
.ck-popup {
right: 16px;
left: 16px;
width: auto;
top: 16px
}
}

.policy-body {
max-width: 1200px;
margin: 0 auto;
padding: 64px 32px;
background: #FAFCFF;
color: #001A8C
}

.policy-body h1 {
font-size: 62px;
line-height: 1.15;
color: #001A8C;
margin-bottom: 32px;
margin-top: 0;
padding-bottom: 16px;
border-bottom: 3px solid #FFCE06
}

.policy-body h2 {
font-size: 32px;
line-height: 1.15;
color: #001A8C;
margin-top: 64px;
margin-bottom: 16px
}

.policy-body h3 {
font-size: 24px;
line-height: 1.45;
color: #001A8C;
margin-top: 32px;
margin-bottom: 16px
}

.policy-body h4 {
font-size: 24px;
line-height: 1.45;
color: #001a8ccc;
margin-top: 32px;
margin-bottom: 8px
}

.policy-body h5 {
font-size: 16px;
line-height: 1.45;
color: #001a8cbf;
text-transform: uppercase;
letter-spacing: .08em;
margin-top: 32px;
margin-bottom: 8px
}

.policy-body h6 {
font-size: 16px;
line-height: 1.45;
color: #001a8ca6;
text-transform: uppercase;
letter-spacing: .06em;
margin-top: 16px;
margin-bottom: 8px
}

.policy-body p {
font-size: 16px;
line-height: 1.7;
color: #001a8cd9;
margin-top: 0;
margin-bottom: 16px
}

.policy-body strong,
.policy-body b {
font-weight: 700;
color: #001A8C
}

.policy-body em,
.policy-body i {
font-style: italic;
color: #001a8ccc
}

.policy-body a {
color: #001A8C;
text-decoration: underline;
text-decoration-color: #FFCE06;
text-decoration-thickness: 2px;
text-underline-offset: 3px;
transition: color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), text-decoration-color .45s ease-in-out
}

.policy-body a:hover {
color: #001a8cb3;
text-decoration-color: #ffce0680
}

.policy-body table {
width: 100%;
border-collapse: collapse;
margin-top: 32px;
margin-bottom: 32px;
font-size: 16px;
line-height: 1.45;
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 7px 14px 0 #001a8c14
}

.policy-body thead {
background: #001A8C
}

.policy-body thead th {
color: #FAFCFF;
font-size: 16px;
line-height: 1.45;
font-weight: 700;
padding: 16px;
text-align: left;
letter-spacing: .04em
}

.policy-body tbody tr {
background: #FAFCFF;
transition: background .5s ease-in-out
}

.policy-body tbody tr:nth-child(even) {
background: #ffce0612
}

.policy-body tbody tr:hover {
background: #001a8c0d
}

.policy-body td {
padding: 16px;
color: #001a8cd9;
border-bottom: 1px solid #001a8c14;
vertical-align: top
}

.policy-body th {
padding: 16px;
vertical-align: top
}

.policy-body div {
font-size: 16px;
line-height: 1.7
}

@media (max-width: 900px) {
.policy-body {
padding: 64px 32px
}

.policy-body h1 {
font-size: 32px
}

.policy-body h2 {
font-size: 24px;
margin-top: 32px
}

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

@media (max-width: 600px) {
.policy-body {
padding: 32px 16px
}

.policy-body h1 {
font-size: 32px;
line-height: 1.15
}

.policy-body h2 {
font-size: 24px;
margin-top: 32px
}

.policy-body h3 {
font-size: 24px;
margin-top: 32px
}

.policy-body td,
.policy-body th {
padding: 8px
}
}

.lpd {
background: #FAFCFF;
overflow-x: hidden
}

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

.lpd .grad-text {
background: linear-gradient(157deg, #FFCE06, #001A8C);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.lpd .accent-word {
color: #FFCE06;
font-weight: 700;
-webkit-text-fill-color: #FFCE06
}

.lpd .btn-primary {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 32px;
background: #FFCE06;
color: #001A8C;
font-size: 16px;
font-weight: 700;
border: none;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
position: relative;
transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s ease-in-out;
box-shadow: 2px 7px 14px 0 #ffce0614
}

.lpd .btn-primary::after {
content: '';
position: absolute;
inset: 3px;
border: 2px solid #001a8c40;
border-radius: 3px;
opacity: 0;
transition: opacity .5s ease-in-out
}

.lpd .btn-primary:hover {
background: #001A8C;
color: #FFCE06;
box-shadow: 2px 9px 60px 0 #001a8c21
}

.lpd .btn-primary:hover::after {
opacity: 1
}

.lpd .btn-ghost {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 24px;
background: transparent;
color: #001A8C;
font-size: 16px;
font-weight: 600;
border: 2px solid #001A8C;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
position: relative;
transition: background .6s ease-in-out, color .6s ease-in-out
}

.lpd .btn-ghost::after {
content: '';
position: absolute;
inset: 4px;
border: 1px solid #001a8c4d;
border-radius: 3px;
opacity: 0;
transition: opacity .55s ease-in-out
}

.lpd .btn-ghost:hover {
background: #001A8C;
color: #FAFCFF
}

.lpd .btn-ghost:hover::after {
opacity: 1
}

.lpd .title-strip {
padding: 32px 0;
position: relative
}

.lpd .title-strip-bg {
background: linear-gradient(180deg, #001a8c0f 0%, #fafcff00 100%);
position: absolute;
inset: 0;
pointer-events: none
}

.lpd .title-strip-inner {
display: flex;
flex-direction: row;
align-items: center;
gap: 32px;
position: relative
}

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

.lpd .title-meta-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
flex-wrap: wrap;
margin-bottom: 8px
}

.lpd .meta-chip {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 4px 8px;
background: #001a8c12;
border-radius: 3px;
font-size: 16px;
color: #001A8C;
font-weight: 500
}

.lpd .meta-chip svg {
flex-shrink: 0
}

.lpd .title-desc-pre {
font-size: 16px;
color: #001A8C;
line-height: 1.45;
margin-bottom: 8px;
font-weight: 500;
opacity: .75
}

.lpd .title-h1 {
font-size: 62px;
line-height: 1.15;
font-weight: 800;
margin: 0 0 16px
}

.lpd .title-actions {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
flex-wrap: wrap
}

.lpd .price-tag {
display: inline-flex;
flex-direction: column;
gap: 4px
}

.lpd .price-label {
font-size: 16px;
color: #001A8C;
opacity: .6
}

.lpd .price-val {
font-size: 32px;
font-weight: 800;
color: #001A8C;
line-height: 1.15
}

.lpd .title-img-col {
flex: 0 0 340px;
max-width: 340px
}

.lpd .title-img-wrap {
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 9px 60px 0 #001a8c21;
aspect-ratio: 4/3;
position: relative
}

.lpd .title-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
filter: blur(0px)
}

.lpd .title-img-wrap img:hover {
transform: scale(1.04)
}

.lpd .title-img-wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(157deg, #ffce0614, #001a8c26);
pointer-events: none
}

.lpd .dir-arrow {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 16px
}

.lpd .dir-line {
height: 2px;
width: 48px;
background: linear-gradient(157deg, #FFCE06, #001A8C);
border-radius: 0
}

.lpd .dir-dot {
width: 8px;
height: 8px;
border-radius: 0;
background: #FFCE06;
transform: rotate(45deg)
}

.lpd .dots-border {
display: flex;
flex-direction: row;
align-items: center;
gap: 4px;
padding: 8px 0
}

.lpd .dots-border span {
display: block;
border-radius: 0;
background: #001a8c2e
}

.lpd .dots-border span:nth-child(3n+1) {
width: 3px;
height: 3px
}

.lpd .dots-border span:nth-child(3n+2) {
width: 5px;
height: 5px
}

.lpd .dots-border span:nth-child(3n) {
width: 4px;
height: 4px
}

.lpd .divider-tick {
display: flex;
flex-direction: row;
align-items: center;
gap: 0;
height: 16px;
overflow: hidden
}

.lpd .divider-tick-line {
flex: 1;
height: 1px;
background: #001a8c26;
position: relative
}

.lpd .tick-mark {
width: 1px;
height: 8px;
background: #001a8c40;
margin: 0 24px;
flex-shrink: 0
}

.lpd .prog-block {
padding: 64px 0 32px;
background: #FAFCFF
}

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

.lpd .prog-left {
display: flex;
flex-direction: column;
gap: 16px
}

.lpd .prog-h2 {
font-size: 32px;
line-height: 1.15;
font-weight: 800;
margin: 0 0 8px
}

.lpd .prog-content {
font-size: 16px;
line-height: 1.7;
color: #001A8C
}

.lpd .prog-content p {
margin: 0 0 8px
}

.lpd .prog-content h2 {
font-size: 24px;
line-height: 1.45;
font-weight: 700;
margin: 16px 0 8px;
color: #001A8C
}

.lpd .prog-content h3 {
font-size: 16px;
line-height: 1.45;
font-weight: 700;
margin: 8px 0 4px;
color: #001A8C
}

.lpd .prog-content ol {
padding-left: 16px;
margin: 8px 0
}

.lpd .prog-content li {
margin-bottom: 4px
}

.lpd .prog-content dl {
margin: 8px 0
}

.lpd .prog-content dt {
font-weight: 700;
color: #001A8C
}

.lpd .prog-content dd {
margin: 0 0 8px 16px
}

.lpd .prog-content blockquote {
border-top: 3px solid #FFCE06;
padding: 16px;
background: #ffce0612;
border-radius: 6px;
margin: 16px 0
}

.lpd .prog-content cite {
font-style: italic;
color: #001a8cb3
}

.lpd .prog-content abbr {
text-decoration: underline dotted;
cursor: help
}

.lpd .prog-right {
display: flex;
flex-direction: column;
gap: 16px
}

.lpd .donut-card {
background: #001A8C;
border-radius: 10px;
padding: 32px;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
box-shadow: 2px 9px 60px 0 #001a8c21;
position: relative;
overflow: hidden
}

.lpd .donut-card-bg {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 80% 20%, #ffce0614 0%, transparent 60%);
pointer-events: none;
animation: bgshift 8s ease-in-out infinite alternate
}

@keyframes bgshift {
0% {
background: radial-gradient(ellipse at 80% 20%, #ffce0614 0%, transparent 60%)
}

100% {
background: radial-gradient(ellipse at 20% 80%, #ffce0614 0%, transparent 60%)
}
}

.lpd .donut-title {
font-size: 16px;
color: #fafcffb3;
font-weight: 500;
text-align: center
}

.lpd .donut-svg-wrap {
position: relative;
width: 140px;
height: 140px
}

.lpd .donut-svg-wrap svg {
width: 140px;
height: 140px;
transform: rotate(-90deg)
}

.lpd .donut-center-num {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center
}

.lpd .donut-center-num strong {
display: block;
font-size: 32px;
font-weight: 800;
color: #FFCE06;
line-height: 1.15
}

.lpd .donut-center-num span {
display: block;
font-size: 16px;
color: #fafcff99;
line-height: 1.15
}

.lpd .donut-legend {
display: flex;
flex-direction: column;
gap: 8px;
width: 100%
}

.lpd .legend-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.lpd .legend-dot {
width: 10px;
height: 10px;
border-radius: 0;
flex-shrink: 0
}

.lpd .legend-label {
font-size: 16px;
color: #fafcffcc;
flex: 1
}

.lpd .legend-pct {
font-size: 16px;
color: #FFCE06;
font-weight: 700
}

.lpd .desc-block {
padding: 32px 0 64px;
background: linear-gradient(180deg, #ffce060a 0%, #fafcff00 100%)
}

.lpd .desc-inner {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 32px;
align-items: start
}

.lpd .desc-main {
display: flex;
flex-direction: column;
gap: 16px
}

.lpd .desc-h2 {
font-size: 32px;
line-height: 1.15;
font-weight: 800;
margin: 0 0 8px;
text-align: center
}

.lpd .desc-content {
font-size: 16px;
line-height: 1.7;
color: #001A8C
}

.lpd .desc-content p {
margin: 0 0 8px
}

.lpd .desc-content h2 {
font-size: 24px;
line-height: 1.45;
font-weight: 700;
margin: 16px 0 8px;
color: #001A8C
}

.lpd .desc-content h3 {
font-size: 16px;
font-weight: 700;
margin: 8px 0 4px;
color: #001A8C
}

.lpd .desc-content ul {
padding-left: 16px;
margin: 8px 0
}

.lpd .desc-content ol {
padding-left: 16px;
margin: 8px 0
}

.lpd .desc-content li {
margin-bottom: 4px
}

.lpd .desc-content figure {
margin: 16px 0;
border-radius: 6px;
overflow: hidden
}

.lpd .desc-content figcaption {
font-size: 16px;
color: #001a8c99;
padding: 4px 0
}

.lpd .desc-content a {
color: #001A8C;
text-decoration: underline;
text-decoration-style: double;
transition: color .5s ease-in-out
}

.lpd .desc-content a:hover {
color: #FFCE06
}

.lpd .stat-col {
display: flex;
flex-direction: column;
gap: 16px
}

.lpd .stat-card {
background: #001A8C;
border-radius: 10px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 4px;
box-shadow: 2px 7px 14px 0 #001a8c14;
transition: box-shadow .5s ease-in-out, transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lpd .stat-card:hover {
box-shadow: 2px 9px 60px 0 #001a8c21;
transform: translateY(-2px)
}

.lpd .stat-card-label {
font-size: 16px;
color: #fafcffa6
}

.lpd .stat-card-val {
font-size: 24px;
font-weight: 800;
color: #FFCE06;
line-height: 1.15
}

.lpd .stat-card-sub {
font-size: 16px;
color: #fafcff80
}

.lpd .like-col {
display: flex;
flex-direction: column;
gap: 16px
}

.lpd .like-widget {
background: #ffce061a;
border-radius: 10px;
padding: 16px;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
border: 1px solid #ffce0640
}

.lpd .like-icon-wrap {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center
}

.lpd .like-count {
font-size: 32px;
font-weight: 800;
color: #001A8C;
line-height: 1.15
}

.lpd .like-text {
font-size: 16px;
color: #001a8ca6;
text-align: center
}

.lpd .enroll-card {
background: #FFCE06;
border-radius: 10px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: 2px 7px 14px 0 #ffce0614
}

.lpd .enroll-card-label {
font-size: 16px;
color: #001a8cb3;
font-weight: 500
}

.lpd .enroll-card-price {
font-size: 32px;
font-weight: 800;
color: #001A8C;
line-height: 1.15
}

.lpd .enroll-card-btn {
display: block;
width: 100%;
padding: 12px 16px;
background: #001A8C;
color: #FFCE06;
font-size: 16px;
font-weight: 700;
border: none;
border-radius: 6px;
cursor: pointer;
text-align: center;
text-decoration: none;
position: relative;
transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s ease-in-out;
box-shadow: 2px 1px 3px 0 #001a8c0f
}

.lpd .enroll-card-btn::after {
content: '';
position: absolute;
inset: 3px;
border: 1px solid #ffce064d;
border-radius: 3px;
opacity: 0;
transition: opacity .55s ease-in-out
}

.lpd .enroll-card-btn:hover {
background: #001a8cd9;
box-shadow: 2px 7px 14px 0 #001a8c14
}

.lpd .enroll-card-btn:hover::after {
opacity: 1
}

.lpd .cta-block {
padding: 64px 0;
background: #001A8C;
position: relative;
overflow: hidden
}

.lpd .cta-block-bg {
position: absolute;
inset: 0;
pointer-events: none;
animation: ctabg 10s ease-in-out infinite alternate
}

@keyframes ctabg {
0% {
background: radial-gradient(ellipse at 10% 50%, #ffce0612 0%, transparent 55%)
}

100% {
background: radial-gradient(ellipse at 90% 50%, #ffce0612 0%, transparent 55%)
}
}

.lpd .cta-four-col {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1.4fr;
gap: 32px;
align-items: center;
position: relative
}

.lpd .cta-col-item {
display: flex;
flex-direction: column;
gap: 8px
}

.lpd .cta-col-item-label {
font-size: 16px;
color: #fafcff8c;
font-weight: 500
}

.lpd .cta-col-item-val {
font-size: 24px;
font-weight: 700;
color: #FAFCFF;
line-height: 1.45
}

.lpd .cta-col-item-sub {
font-size: 16px;
color: #fafcff80;
line-height: 1.45
}

.lpd .cta-col-accent {
background: #ffce061a;
border-radius: 10px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
border: 1px solid #ffce0633
}

.lpd .cta-accent-h {
font-size: 24px;
font-weight: 800;
color: #FFCE06;
line-height: 1.45
}

.lpd .cta-accent-p {
font-size: 16px;
color: #fafcffbf;
line-height: 1.7
}

.lpd .cta-btn-row {
display: flex;
flex-direction: row;
gap: 8px;
flex-wrap: wrap
}

.lpd .cta-btn-row .btn-primary {
background: #FFCE06;
color: #001A8C
}

.lpd .cta-btn-row .btn-ghost {
border-color: #fafcff66;
color: #FAFCFF
}

.lpd .cta-btn-row .btn-ghost:hover {
background: #fafcff1a;
color: #FAFCFF
}

@keyframes appear-rotate {
0% {
opacity: 0;
transform: rotate(-8deg) translateY(12px)
}

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

.lpd .anim-item {
opacity: 0;
animation: appear-rotate .55s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

.lpd .anim-item:nth-child(1) {
animation-delay: .1s
}

.lpd .anim-item:nth-child(2) {
animation-delay: .2s
}

.lpd .anim-item:nth-child(3) {
animation-delay: .3s
}

.lpd .anim-item:nth-child(4) {
animation-delay: .4s
}

.lpd .anim-item:nth-child(5) {
animation-delay: .5s
}

@media (max-width: 1200px) {
.lpd .pg-wrap {
padding: 0 16px
}
}

@media (max-width: 900px) {
.lpd .title-strip-inner {
flex-direction: column
}

.lpd .title-img-col {
flex: 0 0 auto;
max-width: 100%;
width: 100%
}

.lpd .title-h1 {
font-size: 32px
}

.lpd .prog-grid {
grid-template-columns: 1fr
}

.lpd .desc-inner {
grid-template-columns: 1fr 1fr
}

.lpd .desc-main {
grid-column: 1 / -1
}

.lpd .cta-four-col {
grid-template-columns: 1fr 1fr
}

.lpd .cta-col-accent {
grid-column: 1 / -1
}
}

@media (max-width: 600px) {
.lpd .title-h1 {
font-size: 32px
}

.lpd .desc-inner {
grid-template-columns: 1fr
}

.lpd .cta-four-col {
grid-template-columns: 1fr
}

.lpd .title-actions {
flex-direction: column;
align-items: flex-start
}

.lpd .prog-h2 {
font-size: 24px
}

.lpd .desc-h2 {
font-size: 24px
}
}

.ctus {
background: #FAFCFF;
padding: 0;
overflow-x: clip
}

.ctus .pg-reveal {
animation: clipReveal .55s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

@keyframes clipReveal {
from {
clip-path: inset(0 0 100% 0);
opacity: .4
}

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

.ctus .split-top {
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 64px;
max-width: 1200px;
margin: 0 auto;
padding: 64px 32px;
align-items: start
}

.ctus .info-col {
display: flex;
flex-direction: column;
gap: 32px
}

.ctus .tag-line {
display: inline-block;
background: #FFCE06;
color: #001A8C;
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 4px 16px;
border-radius: 3px;
box-shadow: 2px 1px 3px 0 #ffce060f
}

.ctus .info-col h1 {
font-size: 62px;
line-height: 1.15;
margin: 0;
background: linear-gradient(157deg, #FFCE06, #001A8C);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.ctus .info-col h1 strong {
font-weight: 900
}

.ctus .info-desc {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
margin: 0;
opacity: .82
}

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

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

.ctus .c-icon {
width: 40px;
height: 40px;
min-width: 40px;
border-radius: 10px;
background: #001A8C;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 2px 7px 14px 0 #001a8c14;
transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus .contact-items li:hover .c-icon {
background: #FFCE06;
box-shadow: 2px 9px 60px 0 #ffce0621
}

.ctus .c-icon svg {
width: 20px;
height: 20px;
fill: none;
stroke: #FAFCFF;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
transition: stroke .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus .contact-items li:hover .c-icon svg {
stroke: #001A8C
}

.ctus .c-detail {
display: flex;
flex-direction: column;
gap: 4px
}

.ctus .c-label {
font-size: 16px;
font-weight: 700;
color: #001A8C;
line-height: 1.15
}

.ctus .c-val {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
opacity: .72;
text-decoration: none;
transition: opacity .45s ease-in-out
}

.ctus .c-val:hover {
opacity: 1;
text-decoration: underline double
}

.ctus .noise-bg {
position: relative;
border-radius: 16px;
background: linear-gradient(157deg, #ffce061f 0%, #001a8c12 100%);
padding: 32px;
box-shadow: 2px 9px 60px 0 #001a8c14
}

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

.ctus .form-head {
margin: 0 0 32px
}

.ctus .form-head h2 {
font-size: 32px;
line-height: 1.15;
margin: 0 0 8px;
background: linear-gradient(157deg, #001A8C, #FFCE06);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.ctus .form-head p {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
margin: 0;
opacity: .7
}

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

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

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

.ctus .field label {
font-size: 16px;
font-weight: 700;
color: #001A8C;
line-height: 1.15
}

.ctus .field label span {
color: #FFCE06;
margin-left: 2px
}

.ctus .inp-wrap {
position: relative;
display: flex;
align-items: center
}

.ctus .inp-wrap svg.inp-ico {
position: absolute;
left: 12px;
width: 18px;
height: 18px;
fill: none;
stroke: #001A8C;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
opacity: .45;
pointer-events: none
}

.ctus .inp-wrap input,
.ctus .inp-wrap select {
width: 100%;
padding: 12px 16px 12px 40px;
font-size: 16px;
line-height: 1.45;
color: #001A8C;
background: #FAFCFF;
border: 2px solid #001a8c2e;
border-radius: 10px;
outline: none;
box-sizing: border-box;
transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
appearance: none;
-webkit-appearance: none
}

.ctus .inp-wrap input::placeholder {
color: #001a8c61
}

.ctus .inp-wrap input:focus,
.ctus .inp-wrap select:focus {
border-color: #FFCE06;
box-shadow: 2px 7px 14px 0 #ffce0614
}

.ctus .inp-wrap input:hover,
.ctus .inp-wrap select:hover {
border-color: #001a8c61
}

.ctus .sel-arrow {
position: absolute;
right: 14px;
pointer-events: none;
width: 16px;
height: 16px;
fill: none;
stroke: #001A8C;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
opacity: .5
}

.ctus .timeline-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px
}

.ctus .tl-opt input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0
}

.ctus .tl-opt {
position: relative
}

.ctus .tl-opt label {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
padding: 12px 8px;
border-radius: 10px;
border: 2px solid #001a8c24;
cursor: pointer;
background: #FAFCFF;
transition: border-color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
font-weight: 400;
text-align: center;
font-size: 16px;
color: #001A8C;
line-height: 1.45
}

.ctus .tl-opt label strong {
font-size: 16px;
font-weight: 700;
color: #001A8C;
line-height: 1.15
}

.ctus .tl-opt input[type="radio"]:checked+label {
border-color: #FFCE06;
background: #ffce061a;
box-shadow: 2px 7px 14px 0 #ffce0614
}

.ctus .tl-opt input[type="radio"]:focus+label {
outline: 2px solid #001A8C;
outline-offset: 2px
}

.ctus .tl-opt label:hover {
border-color: #001a8c5c
}

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

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

.ctus .privacy-row p {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
margin: 0;
opacity: .72
}

.ctus .privacy-row a {
color: #001A8C;
font-weight: 700;
text-decoration: underline double;
transition: opacity .45s ease-in-out
}

.ctus .privacy-row a:hover {
opacity: .6
}

.ctus .btn-submit {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 16px 32px;
background: #FFCE06;
color: #001A8C;
font-size: 16px;
font-weight: 700;
border: 2px solid #FFCE06;
border-radius: 10px;
cursor: pointer;
letter-spacing: .04em;
text-transform: uppercase;
box-shadow: 2px 7px 14px 0 #ffce0614;
transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
align-self: flex-start
}

.ctus .btn-submit::after {
content: '';
position: absolute;
inset: 4px;
border: 2px solid transparent;
border-radius: 6px;
transition: border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus .btn-submit:hover {
background: #001A8C;
color: #FFCE06;
border-color: #001A8C;
box-shadow: 2px 9px 60px 0 #001a8c21;
transform: translateY(-2px)
}

.ctus .btn-submit:hover::after {
border-color: #ffce0680
}

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

.ctus .btn-submit:active {
transform: translateY(0px)
}

.ctus .btn-submit svg {
width: 18px;
height: 18px;
fill: none;
stroke: currentColor;
stroke-width: 2.2;
stroke-linecap: round;
stroke-linejoin: round
}

.ctus .wave-div {
width: 100%;
overflow: hidden;
line-height: 0;
display: block
}

.ctus .wave-div svg {
display: block;
width: 100%
}

.ctus .frosted-band {
background: #001a8c0a;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
padding: 64px 32px
}

.ctus .frosted-inner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr 2fr;
gap: 32px;
align-items: start
}

.ctus .metric-card {
border-radius: 16px;
background: #FAFCFF;
box-shadow: 2px 9px 60px 0 #001a8c14;
padding: 32px;
display: flex;
flex-direction: column;
gap: 8px;
transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus .metric-card:hover {
box-shadow: 2px 9px 60px 0 #001a8c21;
transform: translateY(-4px)
}

.ctus .metric-card .m-num {
font-size: 62px;
font-weight: 900;
line-height: 1.15;
background: linear-gradient(157deg, #FFCE06, #001A8C);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.ctus .metric-card .m-label {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
opacity: .72
}

.ctus .wide-card {
border-radius: 16px;
background: linear-gradient(157deg, #001A8C 0%, #001A8C 100%);
box-shadow: 2px 9px 60px 0 #001a8c21;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px
}

.ctus .wide-card h3 {
font-size: 24px;
line-height: 1.15;
margin: 0;
color: #FFCE06;
font-weight: 700
}

.ctus .wide-card p {
font-size: 16px;
line-height: 1.7;
color: #fafcffd1;
margin: 0
}

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

.ctus .schedule-list li {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 8px 16px;
border-radius: 6px;
background: #ffce061a;
font-size: 16px;
color: #FAFCFF;
line-height: 1.45
}

.ctus .schedule-list li strong {
color: #FFCE06;
font-weight: 700;
min-width: 80px
}

.ctus .dot-sep {
width: 6px;
height: 6px;
min-width: 6px;
border-radius: 3px;
background: #FFCE06;
opacity: .5
}

@media (max-width: 1200px) {
.ctus .split-top {
gap: 32px;
padding: 64px 32px
}

.ctus .frosted-inner {
grid-template-columns: 1fr 1fr
}

.ctus .wide-card {
grid-column: 1 / -1
}
}

@media (max-width: 900px) {
.ctus .split-top {
grid-template-columns: 1fr;
gap: 32px;
padding: 32px
}

.ctus .info-col h1 {
font-size: 32px
}

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

.ctus .timeline-grid {
grid-template-columns: repeat(2, 1fr)
}

.ctus .frosted-inner {
grid-template-columns: 1fr
}

.ctus .wide-card {
grid-column: auto
}
}

@media (max-width: 600px) {
.ctus .split-top {
padding: 32px 16px
}

.ctus .frosted-band {
padding: 32px 16px
}

.ctus .info-col h1 {
font-size: 32px
}

.ctus .timeline-grid {
grid-template-columns: 1fr 1fr
}

.ctus .btn-submit {
width: 100%;
justify-content: center
}

.ctus .metric-card .m-num {
font-size: 32px
}
}

.lp-root {
background: #FAFCFF;
max-width: 100%;
overflow-x: hidden
}

.lp-root .pg-wrap {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.lp-root .ttl-block {
background: #001A8C;
padding: 80px 0 48px;
position: relative
}

.lp-root .ttl-block .pg-wrap {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 64px
}

.lp-root .ttl-left {
flex: 1 1 60%
}

.lp-root .ttl-right {
flex: 0 0 320px;
display: flex;
flex-direction: column;
gap: 16px;
padding-bottom: 8px
}

.lp-root .ttl-eyebrow {
font-size: 16px;
line-height: 1.45;
color: #FFCE06;
letter-spacing: .12em;
text-transform: uppercase;
margin-bottom: 16px
}

.lp-root .ttl-h1 {
font-size: 62px;
line-height: 1.15;
color: #FAFCFF;
margin: 0 0 16px
}

.lp-root .ttl-h1 strong {
color: #FFCE06
}

.lp-root .ttl-sub {
font-size: 24px;
line-height: 1.45;
color: #fafcffbf;
margin: 0
}

.lp-root .ttl-shape-a {
position: absolute;
top: 24px;
right: 80px;
width: 180px;
height: 180px;
border: 2px solid #ffce0621;
border-radius: 16px;
transform: rotate(18deg);
pointer-events: none
}

.lp-root .ttl-shape-b {
position: absolute;
top: 60px;
right: 120px;
width: 120px;
height: 120px;
border: 2px solid #fafcff12;
border-radius: 10px;
transform: rotate(5deg);
pointer-events: none
}

.lp-root .ttl-stat {
background: #ffce061f;
border-radius: 10px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 4px
}

.lp-root .ttl-stat-num {
font-size: 32px;
line-height: 1.15;
color: #FFCE06
}

.lp-root .ttl-stat-label {
font-size: 16px;
line-height: 1.45;
color: #fafcffb3
}

.lp-root .divider-tri {
width: 100%;
overflow: hidden;
line-height: 0
}

.lp-root .divider-tri svg {
display: block;
width: 100%
}

.lp-root .cards-sec {
padding: 64px 0;
background: #FAFCFF
}

.lp-root .cards-sec-hd {
margin-bottom: 32px
}

.lp-root .cards-sec-hd h2 {
font-size: 32px;
line-height: 1.15;
background: linear-gradient(157deg, #FFCE06, #001A8C);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0 0 8px
}

.lp-root .cards-sec-hd p {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
margin: 0;
max-width: 560px
}

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

.lp-root .prog-card {
background: #fff;
border-radius: 16px;
box-shadow: 2px 7px 14px 0 #001a8c14;
display: flex;
flex-direction: column;
transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
overflow: hidden
}

.lp-root .prog-card:hover {
box-shadow: 2px 9px 60px 0 #001a8c21;
transform: translateY(-4px)
}

.lp-root .card-img-wrap {
width: 100%;
aspect-ratio: 16/9;
overflow: hidden;
border-radius: 16px 16px 0 0;
background: #001A8C
}

.lp-root .card-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
opacity: .92;
transition: opacity .6s ease-in-out, transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp-root .prog-card:hover .card-img-wrap img {
opacity: 1;
transform: scale(1.04)
}

.lp-root .card-body {
padding: 16px;
display: flex;
flex-direction: column;
gap: 8px;
flex: 1
}

.lp-root .card-meta {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
flex-wrap: wrap
}

.lp-root .card-badge {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
background: #ffce062e;
border-radius: 6px;
padding: 4px 8px
}

.lp-root .card-dur {
font-size: 16px;
line-height: 1.45;
color: #001a8c99
}

.lp-root .card-title {
font-size: 24px;
line-height: 1.45;
color: #001A8C;
margin: 0
}

.lp-root .card-desc {
font-size: 16px;
line-height: 1.7;
color: #001a8cbf;
margin: 0;
flex: 1
}

.lp-root .card-foot {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 16px;
border-top: 1px solid #001a8c14;
gap: 8px
}

.lp-root .card-price {
font-size: 24px;
line-height: 1.15;
color: #001A8C
}

.lp-root .card-likes {
display: flex;
flex-direction: row;
align-items: center;
gap: 4px;
font-size: 16px;
line-height: 1.45;
color: #001a8c8c
}

.lp-root .card-likes svg {
width: 18px;
height: 18px
}

.lp-root .card-readtime {
font-size: 16px;
line-height: 1.45;
color: #001a8c80
}

.lp-root .card-link {
display: inline-block;
margin: 0 16px 16px;
padding: 8px 16px;
background: #FFCE06;
color: #001A8C;
border-radius: 10px;
font-size: 16px;
line-height: 1.45;
text-decoration: none;
font-weight: 700;
box-shadow: 2px 1px 3px 0 #ffce060f;
transition: box-shadow .5s ease-in-out, background .45s ease-in-out;
position: relative
}

.lp-root .card-link::after {
content: '';
position: absolute;
inset: 3px;
border: 2px solid #001a8c40;
border-radius: 6px;
opacity: 0;
transition: opacity .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp-root .card-link:hover {
box-shadow: 2px 7px 14px 0 #ffce0614;
background: #ffe44d
}

.lp-root .card-link:hover::after {
opacity: 1
}

.lp-root .num-circle {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border-radius: 50%;
background: #001A8C;
color: #FFCE06;
font-size: 16px;
line-height: 1;
font-weight: 700;
flex-shrink: 0
}

.lp-root .divider-plain {
height: 4px;
background: linear-gradient(157deg, #FFCE06 0%, #001A8C 100%);
border-radius: 3px;
margin: 0
}

.lp-root .about-sec {
padding: 64px 0;
background: linear-gradient(157deg, #ffce0614 0%, #001a8c0f 100%)
}

.lp-root .about-sec .pg-wrap {
display: flex;
flex-direction: row;
gap: 64px;
align-items: center
}

.lp-root .about-left {
flex: 1 1 55%
}

.lp-root .about-right {
flex: 0 0 340px;
display: flex;
flex-direction: column;
gap: 16px
}

.lp-root .about-h2 {
font-size: 32px;
line-height: 1.15;
background: linear-gradient(157deg, #FFCE06, #001A8C);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0 0 16px
}

.lp-root .about-p {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
margin: 0 0 16px
}

.lp-root .about-p:last-child {
margin-bottom: 0
}

.lp-root .about-img {
width: 100%;
border-radius: 16px;
aspect-ratio: 4/3;
object-fit: cover;
box-shadow: 2px 9px 60px 0 #001a8c21;
display: block
}

.lp-root .feat-row {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start
}

.lp-root .feat-txt {
flex: 1
}

.lp-root .feat-label {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
font-weight: 700;
margin: 0 0 4px
}

.lp-root .feat-desc {
font-size: 16px;
line-height: 1.7;
color: #001a8cb3;
margin: 0
}

.lp-root .divider-dashed {
border: none;
border-top: 2px dashed #001a8c26;
margin: 0
}

.lp-root .donut-sec {
padding: 64px 0;
background: #001A8C;
position: relative
}

.lp-root .grid-anim {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 0
}

.lp-root .grid-anim svg {
width: 100%;
height: 100%
}

@keyframes grid-pulse {

0%,
100% {
opacity: .06
}

50% {
opacity: .18
}
}

.lp-root .grid-line-h {
animation: grid-pulse 4s ease-in-out infinite
}

.lp-root .grid-line-v {
animation: grid-pulse 4s ease-in-out infinite;
animation-delay: 2s
}

.lp-root .donut-sec .pg-wrap {
display: flex;
flex-direction: row;
gap: 64px;
align-items: center;
position: relative
}

.lp-root .donut-left {
flex: 0 0 280px;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px
}

.lp-root .donut-right {
flex: 1
}

.lp-root .donut-h2 {
font-size: 32px;
line-height: 1.15;
color: #FAFCFF;
margin: 0 0 16px
}

.lp-root .donut-h2 strong {
color: #FFCE06
}

.lp-root .donut-p {
font-size: 16px;
line-height: 1.7;
color: #fafcffbf;
margin: 0 0 32px
}

.lp-root .donut-legend {
display: flex;
flex-direction: column;
gap: 8px
}

.lp-root .legend-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.lp-root .legend-dot {
width: 12px;
height: 12px;
border-radius: 3px;
flex-shrink: 0
}

.lp-root .legend-txt {
font-size: 16px;
line-height: 1.45;
color: #fafcffd9
}

.lp-root .donut-svg-wrap {
position: relative;
width: 220px;
height: 220px
}

.lp-root .donut-center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center
}

.lp-root .donut-center-num {
font-size: 32px;
line-height: 1.15;
color: #FFCE06;
display: block
}

.lp-root .donut-center-label {
font-size: 16px;
line-height: 1.45;
color: #fafcffa6;
display: block
}

.lp-root .dashed-box-wrap {
padding: 64px 0;
background: #FAFCFF
}

.lp-root .dashed-box {
border: 2px dashed #001a8c33;
border-radius: 16px;
padding: 32px
}

.lp-root .dashed-box-h2 {
font-size: 32px;
line-height: 1.15;
background: linear-gradient(157deg, #FFCE06, #001A8C);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0 0 16px;
text-align: center
}

.lp-root .steps-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 32px;
margin-top: 32px
}

.lp-root .step-item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start
}

.lp-root .step-txt h4 {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
font-weight: 700;
margin: 0 0 4px
}

.lp-root .step-txt p {
font-size: 16px;
line-height: 1.7;
color: #001a8cb3;
margin: 0
}

.lp-root .cta-sec {
padding: 64px 0;
background: linear-gradient(157deg, #FFCE06 0%, #ffce064d 60%, #FAFCFF 100%)
}

.lp-root .cta-sec .pg-wrap {
display: flex;
flex-direction: row;
gap: 64px;
align-items: center
}

.lp-root .cta-left {
flex: 1
}

.lp-root .cta-right {
flex: 0 0 300px
}

.lp-root .cta-h2 {
font-size: 32px;
line-height: 1.15;
color: #001A8C;
margin: 0 0 16px
}

.lp-root .cta-p {
font-size: 16px;
line-height: 1.7;
color: #001a8ccc;
margin: 0
}

.lp-root .cta-form {
display: flex;
flex-direction: column;
gap: 16px;
background: #fff;
border-radius: 16px;
padding: 32px;
box-shadow: 2px 9px 60px 0 #001a8c21
}

.lp-root .cta-form h4 {
font-size: 24px;
line-height: 1.45;
color: #001A8C;
margin: 0
}

.lp-root .field-wrap {
position: relative;
display: flex;
flex-direction: row;
align-items: center
}

.lp-root .field-icon {
position: absolute;
left: 12px;
pointer-events: none;
display: flex;
align-items: center
}

.lp-root .field-icon svg {
width: 16px;
height: 16px;
stroke: #001a8c66;
fill: none;
stroke-width: 1.8
}

.lp-root .cta-input {
width: 100%;
padding: 8px 8px 8px 36px;
border: 1px solid #001a8c33;
border-radius: 10px;
font-size: 16px;
line-height: 1.45;
color: #001A8C;
background: #FAFCFF;
outline: none;
transition: border-color .5s ease-in-out, box-shadow .5s ease-in-out;
box-sizing: border-box
}

.lp-root .cta-input:focus {
border-color: #001A8C;
box-shadow: 2px 1px 3px 0 #001a8c0f
}

.lp-root .cta-input::placeholder {
color: #001a8c66
}

.lp-root .cta-btn {
padding: 16px;
background: #001A8C;
color: #FFCE06;
border: none;
border-radius: 10px;
font-size: 16px;
line-height: 1.45;
font-weight: 700;
cursor: pointer;
position: relative;
box-shadow: 2px 7px 14px 0 #001a8c14;
transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .5s ease-in-out;
type: submit
}

.lp-root .cta-btn::after {
content: '';
position: absolute;
inset: 4px;
border: 2px solid #ffce0659;
border-radius: 6px;
opacity: 0;
transition: opacity .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.lp-root .cta-btn:hover {
box-shadow: 2px 9px 60px 0 #001a8c21;
background: #002ab5
}

.lp-root .cta-btn:hover::after {
opacity: 1
}

.lp-root .cta-btn:focus {
outline: 3px solid #FFCE06;
outline-offset: 2px
}

@media (max-width: 1200px) {
.lp-root .cards-grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 900px) {
.lp-root .ttl-block .pg-wrap {
flex-direction: column;
gap: 32px
}

.lp-root .ttl-right {
flex: none;
flex-direction: row;
flex-wrap: wrap
}

.lp-root .ttl-stat {
flex: 1 1 140px
}

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

.lp-root .about-sec .pg-wrap {
flex-direction: column;
gap: 32px
}

.lp-root .about-right {
flex: none;
width: 100%
}

.lp-root .donut-sec .pg-wrap {
flex-direction: column;
gap: 32px
}

.lp-root .donut-left {
flex: none
}

.lp-root .cta-sec .pg-wrap {
flex-direction: column;
gap: 32px
}

.lp-root .cta-right {
flex: none;
width: 100%
}

.lp-root .steps-grid {
grid-template-columns: 1fr
}
}

@media (max-width: 600px) {
.lp-root .pg-wrap {
padding: 0 16px
}

.lp-root .ttl-block {
padding: 48px 0 32px
}

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

.lp-root .cards-grid {
grid-template-columns: 1fr
}

.lp-root .cards-sec {
padding: 32px 0
}

.lp-root .about-sec {
padding: 32px 0
}

.lp-root .donut-sec {
padding: 32px 0
}

.lp-root .dashed-box-wrap {
padding: 32px 0
}

.lp-root .cta-sec {
padding: 32px 0
}

.lp-root .dashed-box {
padding: 16px
}

.lp-root .cta-form {
padding: 16px
}
}

.stproj {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
overflow: visible
}

.stproj .pg-band {
width: 100%;
position: relative
}

.stproj .tb {
position: relative;
padding: 64px 32px;
background-color: #001A8C;
border-radius: 0;
overflow: visible
}

.stproj .tb-grain {
position: absolute;
inset: 0;
border-radius: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");
pointer-events: none;
overflow: hidden
}

.stproj .tb-shapes {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 0
}

.stproj .tb-shape-a {
position: absolute;
top: -24px;
right: 80px;
width: 120px;
height: 120px;
border: 3px solid #ffce062e;
border-radius: 16px;
transform: rotate(18deg)
}

.stproj .tb-shape-b {
position: absolute;
bottom: 16px;
left: 48px;
width: 64px;
height: 64px;
background: #ffce0617;
border-radius: 10px;
transform: rotate(-12deg)
}

.stproj .tb-shape-c {
position: absolute;
top: 32px;
right: 200px;
width: 8px;
height: 8px;
background: #FFCE06;
border-radius: 0;
opacity: .5
}

.stproj .tb-col {
display: flex;
flex-direction: row;
gap: 32px;
align-items: center;
position: relative;
z-index: 1
}

.stproj .tb-text {
flex: 1 1 0
}

.stproj .tb-label {
display: inline-block;
font-size: 16px;
line-height: 1.45;
color: #FFCE06;
letter-spacing: .12em;
text-transform: uppercase;
margin-bottom: 16px;
border-bottom: 2px solid #ffce0659;
padding-bottom: 4px
}

.stproj .tb-h1 {
font-size: 62px;
line-height: 1.15;
font-weight: 900;
background: linear-gradient(157deg, #FFCE06, #FAFCFF);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0 0 16px
}

.stproj .tb-sub {
font-size: 16px;
line-height: 1.7;
color: #fafcffc7;
max-width: 480px
}

.stproj .tb-img-wrap {
flex: 0 0 340px;
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 9px 60px 0 #001a8c21;
position: relative
}

.stproj .tb-img-wrap img {
width: 100%;
height: 260px;
object-fit: cover;
display: block;
filter: sepia(0.28) saturate(1.3) brightness(0.92);
transition: transform .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.stproj .tb-img-wrap:hover img {
transform: scale(1.04)
}

.stproj .tb-accent-bar {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 4px;
background: linear-gradient(157deg, #FFCE06, #001A8C);
border-radius: 0
}

.stproj .div-arrows {
display: flex;
flex-direction: row;
justify-content: center;
gap: 8px;
padding: 16px 0
}

.stproj .div-arrows span {
display: inline-block;
width: 0;
height: 0;
border-top: 7px solid transparent;
border-bottom: 7px solid transparent;
border-left: 10px solid #001a8c2e
}

.stproj .proj-sec {
position: relative;
padding: 64px 0;
background: #FAFCFF;
border-right: 6px solid #FFCE06;
border-radius: 0 10px 10px 0
}

.stproj .proj-sec-inner {
max-width: 900px;
margin: 0 auto;
padding: 0 32px
}

.stproj .proj-sec-head {
margin-bottom: 32px
}

.stproj .proj-sec-h2 {
font-size: 32px;
line-height: 1.15;
font-weight: 800;
background: linear-gradient(157deg, #FFCE06, #001A8C);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0 0 8px;
text-align: center
}

.stproj .proj-sec-desc {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
opacity: .75;
text-align: center;
max-width: 560px;
margin: 0 auto
}

.stproj .proj-list {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 32px;
align-items: start
}

.stproj .proj-aside {
display: flex;
flex-direction: column;
gap: 16px
}

.stproj .proj-stat-box {
background: #001A8C;
border-radius: 10px;
padding: 32px 16px;
text-align: center;
box-shadow: 2px 7px 14px 0 #001a8c14;
position: relative;
overflow: hidden
}

.stproj .proj-stat-box::before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: #FFCE06;
border-radius: 10px 10px 0 0
}

.stproj .proj-stat-num {
font-size: 62px;
line-height: 1.15;
font-weight: 900;
color: #FFCE06;
display: block
}

.stproj .proj-stat-lbl {
font-size: 16px;
line-height: 1.45;
color: #fafcffd1;
display: block;
margin-top: 4px
}

.stproj .proj-img-aside {
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 7px 14px 0 #001a8c14
}

.stproj .proj-img-aside img {
width: 100%;
height: 180px;
object-fit: cover;
display: block;
transition: transform .6s ease-in-out
}

.stproj .proj-img-aside:hover img {
transform: scale(1.05)
}

.stproj .proj-cards {
display: flex;
flex-direction: column;
gap: 16px
}

.stproj .proj-card {
background: #fff;
border-radius: 10px;
padding: 24px;
box-shadow: 2px 1px 3px 0 #ffce060f 2px 7px 14px 0 #001a8c14;
position: relative;
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
border-top: 4px solid #FFCE06;
border-radius: 0 0 10px 10px
}

.stproj .proj-card:hover {
transform: perspective(600px) translateZ(8px);
box-shadow: 2px 9px 60px 0 #001a8c21
}

.stproj .proj-card-tag {
display: inline-block;
font-size: 16px;
line-height: 1.45;
color: #001A8C;
background: #ffce062e;
border-radius: 3px;
padding: 2px 8px;
margin-bottom: 8px;
font-weight: 700;
letter-spacing: .04em;
text-transform: uppercase
}

.stproj .proj-card-h3 {
font-size: 24px;
line-height: 1.15;
font-weight: 800;
color: #001A8C;
margin: 0 0 8px
}

.stproj .proj-card-h3 strong {
color: #FFCE06;
-webkit-text-fill-color: #FFCE06;
background: none
}

.stproj .proj-card-body {
font-size: 16px;
line-height: 1.7;
color: #2a2a40;
margin: 0 0 16px
}

.stproj .proj-card-meta {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
flex-wrap: wrap
}

.stproj .proj-card-author {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
font-weight: 600
}

.stproj .proj-card-tech {
display: flex;
flex-direction: row;
gap: 4px;
flex-wrap: wrap
}

.stproj .proj-card-tech span {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
background: #FAFCFF;
border: 1px solid #001a8c26;
border-radius: 3px;
padding: 2px 8px
}

.stproj .proj-dashed-box {
border: 2px dashed #ffce068c;
border-radius: 10px;
padding: 16px;
margin-top: 8px
}

.stproj .proj-dashed-box-txt {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
margin: 0;
font-style: italic
}

.stproj .div-line {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
padding: 16px 0
}

.stproj .div-line-seg {
flex: 1;
height: 1px;
background: linear-gradient(157deg, #FFCE06, #001a8c26)
}

.stproj .div-line-dot {
width: 8px;
height: 8px;
background: #001A8C;
border-radius: 0;
transform: rotate(45deg)
}

.stproj .approach-sec {
position: relative;
padding: 64px 0;
background: linear-gradient(157deg, #ffce0612, #001a8c0d);
border-left: 6px solid #001A8C;
border-radius: 10px 0 0 10px
}

.stproj .approach-inner {
max-width: 900px;
margin: 0 auto;
padding: 0 32px
}

.stproj .approach-h2 {
font-size: 32px;
line-height: 1.15;
font-weight: 800;
background: linear-gradient(157deg, #001A8C, #FFCE06);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0 0 8px;
text-align: left
}

.stproj .approach-sub {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
opacity: .75;
margin: 0 0 32px;
max-width: 520px
}

.stproj .approach-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px;
margin-bottom: 32px
}

.stproj .ap-item {
background: #fff;
border-radius: 10px;
padding: 24px 16px;
box-shadow: 2px 1px 3px 0 #ffce060f;
position: relative;
transition: box-shadow .48s ease-in-out
}

.stproj .ap-item:hover {
box-shadow: 2px 7px 14px 0 #001a8c14
}

.stproj .ap-num {
font-size: 32px;
line-height: 1.15;
font-weight: 900;
color: #ffce0659;
display: block;
margin-bottom: 8px
}

.stproj .ap-h4 {
font-size: 16px;
line-height: 1.45;
font-weight: 700;
color: #001A8C;
margin: 0 0 8px
}

.stproj .ap-txt {
font-size: 16px;
line-height: 1.7;
color: #2a2a40;
margin: 0
}

.stproj .approach-bottom {
display: flex;
flex-direction: row;
gap: 32px;
align-items: stretch
}

.stproj .approach-img-wrap {
flex: 0 0 260px;
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 9px 60px 0 #001a8c21
}

.stproj .approach-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
min-height: 200px;
transition: transform .62s ease-in-out
}

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

.stproj .approach-quote {
flex: 1 1 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 16px
}

.stproj .approach-quote-text {
font-size: 24px;
line-height: 1.45;
font-weight: 700;
color: #001A8C;
margin: 0;
background: linear-gradient(157deg, #001A8C, #FFCE06);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.stproj .approach-quote-author {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
opacity: .65;
margin: 0
}

.stproj .approach-cta-row {
display: flex;
flex-direction: row;
gap: 16px;
margin-top: 32px;
flex-wrap: wrap
}

.stproj .btn-primary {
display: inline-block;
padding: 16px 32px;
background: #FFCE06;
color: #001A8C;
font-size: 16px;
line-height: 1.45;
font-weight: 800;
border-radius: 6px;
border: 2px solid #FFCE06;
cursor: pointer;
text-decoration: none;
transition: background .5s ease-in-out, color .5s ease-in-out, box-shadow .5s ease-in-out;
position: relative;
box-shadow: 2px 1px 3px 0 #ffce060f
}

.stproj .btn-primary:hover {
background: #001A8C;
color: #FFCE06;
box-shadow: 2px 7px 14px 0 #001a8c14 inset 0 0 0 2px #FFCE06
}

.stproj .btn-secondary {
display: inline-block;
padding: 16px 32px;
background: transparent;
color: #001A8C;
font-size: 16px;
line-height: 1.45;
font-weight: 700;
border-radius: 6px;
border: 2px solid #001a8c4d;
cursor: pointer;
text-decoration: none;
transition: border-color .48s ease-in-out, color .48s ease-in-out, box-shadow .48s ease-in-out
}

.stproj .btn-secondary:hover {
border-color: #001A8C;
color: #001A8C;
box-shadow: 2px 1px 3px 0 #001a8c0f inset 0 0 0 2px #001a8c26
}

@media (max-width: 900px) {
.stproj .tb-col {
flex-direction: column
}

.stproj .tb-img-wrap {
flex: 0 0 auto;
width: 100%
}

.stproj .proj-list {
grid-template-columns: 1fr
}

.stproj .proj-aside {
flex-direction: row;
flex-wrap: wrap
}

.stproj .proj-stat-box {
flex: 1 1 140px
}

.stproj .proj-img-aside {
flex: 1 1 200px
}

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

.stproj .approach-bottom {
flex-direction: column
}

.stproj .approach-img-wrap {
flex: 0 0 auto;
width: 100%
}
}

@media (max-width: 600px) {
.stproj {
padding: 0 16px
}

.stproj .tb {
padding: 32px 16px
}

.stproj .tb-h1 {
font-size: 32px
}

.stproj .proj-sec-inner,
.stproj .approach-inner {
padding: 0 16px
}

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

.stproj .proj-sec {
padding: 32px 0
}

.stproj .approach-sec {
padding: 32px 0
}

.stproj .approach-cta-row {
flex-direction: column
}
}

.itvw {
background: #FAFCFF;
overflow-x: clip
}

.itvw .schema-data {
display: none
}

.itvw .pg-band {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.itvw .strip {
padding: 32px 0 24px;
background: #FAFCFF;
border-bottom: 2px solid #001a8c14
}

.itvw .strip .pg-band {
display: flex;
flex-direction: row;
align-items: center;
gap: 32px
}

.itvw .strip-txt {
flex: 1 1 0;
min-width: 0
}

.itvw .strip-label {
display: inline-block;
background: #FFCE06;
color: #001A8C;
font-size: 16px;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
padding: 4px 16px;
border-radius: 3px;
margin-bottom: 16px
}

.itvw .strip-h1 {
font-size: 62px;
line-height: 1.15;
font-weight: 900;
color: #001A8C;
margin: 0 0 16px;
background: linear-gradient(157deg, #FFCE06 0%, #001A8C 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.itvw .strip-sub {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
margin: 0 0 16px;
max-width: 520px;
opacity: .82
}

.itvw .strip-img-wrap {
flex: 0 0 340px;
width: 340px;
height: 220px;
border-radius: 10px;
overflow: hidden;
position: relative;
box-shadow: 2px 7px 14px 0 #001a8c14
}

.itvw .strip-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: opacity .55s ease-in-out
}

.itvw .strip-img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 30% 60%, transparent 40%, #001a8c61 100%);
pointer-events: none
}

.itvw .strip-img-wrap::before {
content: "";
position: absolute;
inset: 0;
background: repeating-linear-gradient(0deg, #001a8c0a 0px, #001a8c0a 1px, transparent 1px, transparent 3px);
pointer-events: none;
z-index: 1
}

.itvw .strip-deco {
position: absolute;
right: -24px;
bottom: -24px;
width: 120px;
height: 120px;
border-radius: 10px;
background: #ffce0621;
pointer-events: none;
z-index: 0
}

.itvw .itvw-main {
padding: 64px 0;
background: #FAFCFF
}

.itvw .itvw-main .pg-band {
display: grid;
grid-template-columns: 1fr 340px;
gap: 64px;
align-items: start
}

.itvw .itv-article {
min-width: 0
}

.itvw .itv-meta {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
margin-bottom: 32px
}

.itvw .itv-avatar {
width: 64px;
height: 64px;
border-radius: 50%;
background: linear-gradient(157deg, #FFCE06 0%, #001A8C 100%);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: 2px 1px 3px 0 #ffce060f
}

.itvw .itv-avatar svg {
width: 32px;
height: 32px
}

.itvw .itv-person {
display: flex;
flex-direction: column;
gap: 4px
}

.itvw .itv-name {
font-size: 16px;
font-weight: 700;
color: #001A8C;
line-height: 1.15
}

.itvw .itv-role {
font-size: 16px;
color: #001A8C;
opacity: .6;
line-height: 1.45
}

.itvw .itv-h2 {
font-size: 32px;
line-height: 1.15;
font-weight: 800;
margin: 0 0 24px;
background: linear-gradient(157deg, #001A8C 0%, #FFCE06 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.itvw .qa-block {
display: flex;
flex-direction: column;
gap: 32px
}

.itvw .qa-item {
border-radius: 10px;
padding: 24px;
background: #fff;
box-shadow: 2px 1px 3px 0 #001a8c0f;
transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative
}

.itvw .qa-item:hover {
box-shadow: 2px 7px 14px 0 #001a8c14
}

.itvw .qa-item::before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 10px;
border: 2px solid transparent;
pointer-events: none;
transition: border-color .5s ease-in-out
}

.itvw .qa-item:hover::before {
border-color: #ffce0673
}

.itvw .qa-q {
font-size: 16px;
font-weight: 700;
color: #001A8C;
line-height: 1.45;
margin: 0 0 8px;
padding-left: 16px;
position: relative
}

.itvw .qa-q-mark {
position: absolute;
left: 0;
top: 0;
width: 4px;
height: 100%;
background: #FFCE06;
border-radius: 3px
}

.itvw .qa-a {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
margin: 0;
opacity: .82
}

.itvw .qa-a strong {
color: #001A8C;
font-weight: 700;
opacity: 1
}

.itvw .itv-quote-wrap {
margin: 32px 0 0;
padding: 24px;
background: linear-gradient(157deg, #ffce061a 0%, #001a8c12 100%);
border-radius: 10px;
position: relative
}

.itvw .quote-mark {
font-size: 72px;
line-height: 1.15;
font-weight: 900;
color: #FFCE06;
opacity: .35;
position: absolute;
top: 8px;
left: 16px;
pointer-events: none;
user-select: none;
font-family: Georgia, serif
}

.itvw .quote-txt {
font-size: 24px;
line-height: 1.45;
color: #001A8C;
font-weight: 600;
margin: 0 0 8px;
padding-left: 32px
}

.itvw .quote-attr {
font-size: 16px;
color: #001A8C;
opacity: .6;
padding-left: 32px;
margin: 0
}

.itvw .itv-sidebar {
display: flex;
flex-direction: column;
gap: 24px;
position: sticky;
top: 32px
}

.itvw .sidebar-card {
background: #001A8C;
border-radius: 10px;
padding: 24px;
box-shadow: 2px 9px 60px 0 #001a8c21
}

.itvw .sidebar-card-h {
font-size: 16px;
font-weight: 700;
color: #FFCE06;
text-transform: uppercase;
letter-spacing: .1em;
margin: 0 0 16px
}

.itvw .sidebar-facts {
display: flex;
flex-direction: column;
gap: 16px
}

.itvw .fact-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

.itvw .fact-ico {
width: 32px;
height: 32px;
flex-shrink: 0;
border-radius: 6px;
background: #ffce0626;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center
}

.itvw .fact-ico svg {
width: 16px;
height: 16px
}

.itvw .fact-lbl {
font-size: 16px;
color: #fafcff99;
line-height: 1.45;
margin: 0 0 2px
}

.itvw .fact-val {
font-size: 16px;
color: #FAFCFF;
font-weight: 600;
line-height: 1.45;
margin: 0
}

.itvw .sidebar-topics {
background: #fff;
border-radius: 10px;
padding: 24px;
box-shadow: 2px 1px 3px 0 #001a8c0f
}

.itvw .sidebar-topics-h {
font-size: 16px;
font-weight: 700;
color: #001A8C;
margin: 0 0 16px
}

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

.itvw .topics-list li {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 16px;
color: #001A8C;
line-height: 1.45
}

.itvw .topic-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #FFCE06;
flex-shrink: 0
}

.itvw .sidebar-stat {
background: linear-gradient(157deg, #FFCE06 0%, #ffce0699 100%);
border-radius: 10px;
padding: 24px;
text-align: center
}

.itvw .stat-num {
font-size: 62px;
font-weight: 900;
color: #001A8C;
line-height: 1.15;
display: block
}

.itvw .stat-desc {
font-size: 16px;
color: #001A8C;
line-height: 1.45;
margin: 4px 0 0;
opacity: .8
}

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

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

@keyframes border-trace {
0% {
stroke-dashoffset: 1200;
opacity: .3
}

100% {
stroke-dashoffset: 0;
opacity: 1
}
}

.itvw .trace-svg {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
pointer-events: none;
border-radius: 10px
}

.itvw .trace-rect {
fill: none;
stroke: #FFCE06;
stroke-width: 2;
stroke-dasharray: 1200;
stroke-dashoffset: 1200;
animation: border-trace .65s cubic-bezier(0.25, 0.46, 0.45, 0.94) .2s forwards;
rx: 10;
ry: 10
}

@media (max-width: 1200px) {
.itvw .strip-h1 {
font-size: 48px
}
}

@media (max-width: 900px) {
.itvw .strip .pg-band {
flex-direction: column;
gap: 24px
}

.itvw .strip-img-wrap {
flex: 0 0 auto;
width: 100%;
height: 200px
}

.itvw .strip-h1 {
font-size: 32px
}

.itvw .itvw-main .pg-band {
grid-template-columns: 1fr;
gap: 32px
}

.itvw .itv-sidebar {
position: static
}
}

@media (max-width: 600px) {
.itvw .pg-band {
padding: 0 16px
}

.itvw .strip {
padding: 24px 0 16px
}

.itvw .itvw-main {
padding: 32px 0
}

.itvw .strip-h1 {
font-size: 24px
}

.itvw .itv-quote-wrap .quote-txt {
font-size: 16px
}

.itvw .stat-num {
font-size: 32px
}
}

.abt {
background: #FAFCFF;
overflow-x: clip
}

.abt .divider {
width: 100%;
height: 2px;
background: linear-gradient(157deg, transparent 0%, #FFCE06 30%, #001A8C 70%, transparent 100%);
opacity: .35;
border: none;
margin: 0
}

.abt .top-band {
position: relative;
padding: 64px 32px;
background: radial-gradient(ellipse 80% 60% at 60% 50%, #ffce062e 0%, #001a8c1a 60%, #FAFCFF 100%);
display: flex;
flex-direction: row;
align-items: center;
gap: 64px;
max-width: 1200px;
margin: 0 auto
}

.abt .top-band .txt-col {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
gap: 16px
}

.abt .top-band .img-col {
flex: 0 0 420px;
position: relative;
display: flex;
align-items: center;
justify-content: center
}

.abt .top-band .img-col .deco-bg {
position: absolute;
inset: -16px;
background: linear-gradient(157deg, #ffce0638 0%, #001a8c24 100%);
border-radius: 16px;
z-index: 0;
pointer-events: none
}

.abt .top-band .img-col img {
position: relative;
z-index: 1;
width: 420px;
height: 310px;
object-fit: cover;
border-radius: 10px;
display: block;
filter: saturate(1.18) contrast(1.06);
box-shadow: 2px 9px 60px 0 #001a8c21;
transition: filter .55s ease-in-out
}

.abt .top-band .img-col img:hover {
filter: saturate(1.35) contrast(1.1) hue-rotate(0deg)
}

.abt .top-band .eyebrow {
font-size: 16px;
font-weight: 700;
letter-spacing: .12em;
text-transform: uppercase;
color: #001A8C;
opacity: .7;
line-height: 1.15
}

.abt .top-band h1 {
font-size: 62px;
font-weight: 900;
line-height: 1.15;
margin: 0;
background: linear-gradient(157deg, #FFCE06 0%, #001A8C 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.abt .top-band h1 .acc {
color: #FFCE06;
-webkit-text-fill-color: #FFCE06
}

.abt .top-band .sub {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
opacity: .85;
max-width: 480px
}

.abt .top-band .pts {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 8px
}

.abt .top-band .pt {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px;
font-size: 16px;
line-height: 1.45;
color: #001A8C
}

.abt .top-band .pt-dot {
width: 8px;
height: 8px;
border-radius: 3px;
background: #FFCE06;
flex-shrink: 0;
margin-top: 6px
}

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

.abt .top-band .diag-lines svg {
width: 100%;
height: 100%;
opacity: .09
}

.abt .story-wrap {
background: #FAFCFF;
border-right: 6px solid #FFCE06;
position: relative
}

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

.abt .story-inner .img-side {
display: flex;
flex-direction: column;
gap: 16px
}

.abt .story-inner .img-side img {
width: 100%;
height: 280px;
object-fit: cover;
border-radius: 10px;
box-shadow: 2px 7px 14px 0 #ffce0614;
transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt .story-inner .img-side img:hover {
box-shadow: 2px 9px 60px 0 #001a8c21
}

.abt .story-inner .img-side .caption {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
opacity: .6;
text-align: center
}

.abt .story-inner .txt-side {
display: flex;
flex-direction: column;
gap: 16px;
text-align: center
}

.abt .story-inner h2 {
font-size: 32px;
font-weight: 800;
line-height: 1.15;
margin: 0;
background: linear-gradient(157deg, #FFCE06 0%, #001A8C 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.abt .story-inner .body-txt {
font-size: 16px;
line-height: 1.7;
color: #001A8C
}

.abt .story-inner .founded-badge {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: #ffce0621;
border-radius: 6px;
padding: 8px 16px;
font-size: 16px;
font-weight: 700;
color: #001A8C;
align-self: center;
box-shadow: 2px 1px 3px 0 #001a8c0f
}

.abt .story-inner .founded-badge .badge-dot {
width: 10px;
height: 10px;
border-radius: 3px;
background: #FFCE06
}

.abt .tiers-wrap {
background: linear-gradient(157deg, #001a8c0f 0%, #ffce0612 100%);
position: relative;
overflow: hidden
}

.abt .tiers-wrap .bg-anim {
position: absolute;
inset: 0;
background: linear-gradient(157deg, #ffce0614 0%, #001a8c0f 100%);
animation: bgfade 5s ease-in-out infinite alternate;
pointer-events: none;
z-index: 0
}

@keyframes bgfade {
0% {
opacity: .3
}

100% {
opacity: 1
}
}

.abt .tiers-inner {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
padding: 64px 32px;
display: flex;
flex-direction: column;
gap: 32px;
align-items: center
}

.abt .tiers-inner h2 {
font-size: 32px;
font-weight: 800;
line-height: 1.15;
margin: 0;
text-align: left;
width: 100%;
background: linear-gradient(157deg, #FFCE06 0%, #001A8C 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.abt .tiers-inner .sub-label {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
opacity: .75;
width: 100%;
text-align: left
}

.abt .tier-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
width: 100%
}

.abt .tier-card {
border-radius: 16px;
padding: 32px 24px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: 2px 7px 14px 0 #001a8c14;
transition: box-shadow .55s ease-in-out, border .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
border: 2px solid transparent;
cursor: default
}

.abt .tier-card:hover {
border: 2px dashed #FFCE06;
box-shadow: 2px 9px 60px 0 #001a8c21
}

.abt .tier-card.bg-a {
background: #FAFCFF
}

.abt .tier-card.bg-b {
background: #001A8C
}

.abt .tier-card.bg-c {
background: #FFCE06
}

.abt .tier-card .tier-label {
font-size: 16px;
font-weight: 800;
letter-spacing: .08em;
text-transform: uppercase;
line-height: 1.15
}

.abt .tier-card.bg-a .tier-label {
color: #001A8C
}

.abt .tier-card.bg-b .tier-label {
color: #FFCE06
}

.abt .tier-card.bg-c .tier-label {
color: #001A8C
}

.abt .tier-card h4 {
font-size: 24px;
font-weight: 800;
line-height: 1.15;
margin: 0
}

.abt .tier-card.bg-a h4 {
color: #001A8C
}

.abt .tier-card.bg-b h4 {
color: #FAFCFF
}

.abt .tier-card.bg-c h4 {
color: #001A8C
}

.abt .tier-card .tier-desc {
font-size: 16px;
line-height: 1.7
}

.abt .tier-card.bg-a .tier-desc {
color: #001A8C;
opacity: .8
}

.abt .tier-card.bg-b .tier-desc {
color: #FAFCFF;
opacity: .85
}

.abt .tier-card.bg-c .tier-desc {
color: #001A8C;
opacity: .85
}

.abt .tier-card .feat-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px
}

.abt .tier-card .feat-list li {
font-size: 16px;
line-height: 1.45;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 8px
}

.abt .tier-card.bg-a .feat-list li {
color: #001A8C
}

.abt .tier-card.bg-b .feat-list li {
color: #FAFCFF
}

.abt .tier-card.bg-c .feat-list li {
color: #001A8C
}

.abt .tier-card .feat-dot {
width: 7px;
height: 7px;
border-radius: 3px;
flex-shrink: 0;
margin-top: 5px
}

.abt .tier-card.bg-a .feat-dot {
background: #FFCE06
}

.abt .tier-card.bg-b .feat-dot {
background: #FFCE06
}

.abt .tier-card.bg-c .feat-dot {
background: #001A8C
}

.abt .team-wrap {
background: #FAFCFF;
border-left: 6px solid #001A8C;
position: relative
}

.abt .team-inner {
max-width: 1200px;
margin: 0 auto;
padding: 64px 32px;
display: flex;
flex-direction: column;
gap: 32px
}

.abt .team-inner .head-row {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 32px;
flex-wrap: wrap
}

.abt .team-inner h2 {
font-size: 32px;
font-weight: 800;
line-height: 1.15;
margin: 0;
background: linear-gradient(157deg, #FFCE06 0%, #001A8C 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
flex: 1 1 200px
}

.abt .team-inner .head-note {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
opacity: .7;
max-width: 340px
}

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

.abt .team-main {
display: flex;
flex-direction: column;
gap: 16px;
background: #001a8c0a;
border-radius: 16px;
padding: 32px;
box-shadow: 2px 7px 14px 0 #001a8c14;
transition: box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt .team-main:hover {
box-shadow: 2px 9px 60px 0 #001a8c21
}

.abt .team-main img {
width: 100%;
height: 220px;
object-fit: cover;
border-radius: 10px;
box-shadow: 2px 1px 3px 0 #001a8c0f
}

.abt .team-main h3 {
font-size: 24px;
font-weight: 800;
line-height: 1.15;
color: #001A8C;
margin: 0
}

.abt .team-main .role {
font-size: 16px;
font-weight: 700;
color: #FFCE06;
background: #001A8C;
border-radius: 6px;
padding: 4px 8px;
display: inline-block;
line-height: 1.45
}

.abt .team-main .bio {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
opacity: .85
}

.abt .team-side {
display: flex;
flex-direction: column;
gap: 16px
}

.abt .team-card {
background: #FAFCFF;
border-radius: 10px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: 2px 1px 3px 0 #001a8c0f;
border: 2px solid transparent;
transition: border .45s ease-in-out, box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.abt .team-card:hover {
border: 2px dashed #001A8C;
box-shadow: 2px 7px 14px 0 #001a8c14
}

.abt .team-card img {
width: 100%;
height: 140px;
object-fit: cover;
border-radius: 6px
}

.abt .team-card h5 {
font-size: 16px;
font-weight: 800;
line-height: 1.15;
color: #001A8C;
margin: 0
}

.abt .team-card .role-sm {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
opacity: .65
}

.abt .cta-strip {
background: #001A8C;
position: relative;
overflow: hidden
}

.abt .cta-strip .bg-anim2 {
position: absolute;
inset: 0;
background: linear-gradient(157deg, #ffce061f 0%, #001a8c00 100%);
animation: bgfade 6s ease-in-out infinite alternate-reverse;
pointer-events: none;
z-index: 0
}

.abt .cta-inner {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
padding: 64px 32px;
display: flex;
flex-direction: row;
align-items: center;
gap: 64px;
flex-wrap: wrap
}

.abt .cta-inner .cta-txt {
flex: 1 1 300px;
display: flex;
flex-direction: column;
gap: 16px
}

.abt .cta-inner h2 {
font-size: 32px;
font-weight: 800;
line-height: 1.15;
margin: 0;
color: #FAFCFF;
background: linear-gradient(157deg, #FFCE06 0%, #FAFCFF 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.abt .cta-inner .cta-body {
font-size: 16px;
line-height: 1.7;
color: #FAFCFF;
opacity: .85
}

.abt .cta-inner .cta-link {
display: inline-block;
font-size: 16px;
font-weight: 700;
color: #001A8C;
text-decoration: none;
text-decoration-skip-ink: none;
text-underline-offset: 3px;
border-bottom: 2px solid #ffce0680;
line-height: 1.45;
transition: color 0s
}

.abt .cta-inner .cta-link:hover {
color: #FFCE06;
border-bottom-color: #FFCE06
}

.abt .cta-btns {
display: flex;
flex-direction: column;
gap: 16px;
flex-shrink: 0
}

.abt .btn-pri {
display: inline-block;
padding: 16px 32px;
background: #FFCE06;
color: #001A8C;
font-size: 16px;
font-weight: 800;
border-radius: 10px;
text-decoration: none;
border: 2px solid transparent;
box-shadow: 2px 7px 14px 0 #ffce0614;
transition: box-shadow .5s ease-in-out, border .45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
text-align: center;
cursor: pointer
}

.abt .btn-pri:hover {
border: 2px dashed #001A8C;
box-shadow: 2px 9px 60px 0 #ffce0621
}

.abt .btn-sec {
display: inline-block;
padding: 16px 32px;
background: transparent;
color: #FAFCFF;
font-size: 16px;
font-weight: 700;
border-radius: 10px;
text-decoration: none;
border: 2px solid #fafcff59;
transition: border .5s ease-in-out, color .45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
text-align: center;
cursor: pointer
}

.abt .btn-sec:hover {
border: 2px dashed #FFCE06;
color: #FFCE06
}

.abt .diag-corner {
position: absolute;
bottom: 0;
right: 0;
width: 100px;
height: 100px;
pointer-events: none;
z-index: 0;
overflow: hidden
}

.abt .diag-corner svg {
opacity: .07
}

@media (max-width: 1200px) {
.abt .top-band {
gap: 32px
}

.abt .top-band .img-col {
flex: 0 0 320px
}

.abt .top-band .img-col img {
width: 320px;
height: 240px
}
}

@media (max-width: 900px) {
.abt .top-band {
flex-direction: column;
padding: 32px 16px;
gap: 32px
}

.abt .top-band .img-col {
flex: none;
width: 100%
}

.abt .top-band .img-col img {
width: 100%;
height: 240px
}

.abt .top-band h1 {
font-size: 32px
}

.abt .story-inner {
grid-template-columns: 1fr;
padding: 32px 16px;
gap: 32px
}

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

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

.abt .team-main {
grid-column: 1 / -1
}

.abt .tiers-inner {
padding: 32px 16px
}

.abt .team-inner {
padding: 32px 16px
}

.abt .cta-inner {
padding: 32px 16px;
gap: 32px
}
}

@media (max-width: 600px) {
.abt .top-band h1 {
font-size: 32px
}

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

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

.abt .team-main {
grid-column: auto
}

.abt .cta-inner {
flex-direction: column;
gap: 32px
}

.abt .cta-btns {
width: 100%
}

.abt .btn-pri,
.abt .btn-sec {
width: 100%
}

.abt .story-inner .txt-side {
text-align: left
}
}

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

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

.frnt .grad-txt {
background: linear-gradient(157deg, #FFCE06, #001A8C);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.frnt .accent-word {
color: #FFCE06;
font-weight: 700;
-webkit-text-fill-color: #FFCE06
}

.frnt .accent-blue {
color: #001A8C;
font-weight: 700
}

.frnt .ttl-blk {
position: relative;
background-color: #001A8C;
padding: 64px 0 48px
}

.frnt .ttl-blk::before {
content: "";
position: absolute;
inset: 0;
background-image: radial-gradient(circle at 1px 1px, #ffce062e 1px, transparent 0), radial-gradient(circle at 1px 1px, #ffce0614 2px, transparent 0), radial-gradient(circle at 1px 1px, #ffce060f 3px, transparent 0);
background-size: 24px 24px, 60px 60px, 100px 100px;
background-position: 0 0, 12px 12px, 30px 30px;
pointer-events: none
}

.frnt .ttl-blk .geo-line-tl {
position: absolute;
top: 16px;
left: 16px;
width: 80px;
height: 80px;
pointer-events: none
}

.frnt .ttl-blk .geo-line-br {
position: absolute;
bottom: 16px;
right: 16px;
width: 64px;
height: 64px;
pointer-events: none
}

.frnt .ttl-inner {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.frnt .ttl-q {
font-size: 16px;
line-height: 1.45;
color: #fafcffa6;
letter-spacing: .12em;
text-transform: uppercase;
margin: 0 0 16px
}

.frnt .ttl-h1 {
font-size: 62px;
line-height: 1.15;
color: #FAFCFF;
margin: 0 0 32px;
max-width: 760px
}

.frnt .ttl-h1 .accent-word {
-webkit-text-fill-color: #FFCE06
}

.frnt .ttl-link {
display: inline-block;
font-size: 16px;
line-height: 1.45;
color: #001A8C;
background: #FFCE06;
padding: 16px 32px;
border-radius: 6px;
text-decoration: none;
font-weight: 700;
position: relative;
transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: 2px 7px 14px 0 #ffce0614
}

.frnt .ttl-link::after {
content: "";
position: absolute;
inset: 4px;
border: 2px solid #001a8c59;
border-radius: 3px;
opacity: 0;
transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.frnt .ttl-link:hover {
box-shadow: 2px 9px 60px 0 #ffce0621;
transform: translateY(-2px)
}

.frnt .ttl-link:hover::after {
opacity: 1
}

.frnt .ttl-link:focus {
outline: 3px solid #FFCE06;
outline-offset: 4px
}

.frnt .div-s1 {
display: block;
width: 100%;
line-height: 0;
background: #001A8C
}

.frnt .sup-blk {
background: #FAFCFF;
padding: 64px 0;
position: relative
}

.frnt .sup-blk .bg-drift {
position: absolute;
top: -40px;
right: -40px;
width: 320px;
height: 320px;
border-radius: 16px;
background: #ffce0612;
animation: drift-move 8s ease-in-out infinite alternate;
pointer-events: none
}

@keyframes drift-move {
0% {
transform: translate(0, 0) rotate(0deg)
}

100% {
transform: translate(-32px, 24px) rotate(6deg)
}
}

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

.frnt .sup-txt-col {
padding-right: 16px
}

.frnt .sup-label {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
margin: 0 0 16px
}

.frnt .sup-h2 {
font-size: 32px;
line-height: 1.15;
margin: 0 0 16px
}

.frnt .sup-p {
font-size: 16px;
line-height: 1.7;
color: #1a2340;
margin: 0 0 16px
}

.frnt .sup-img-col {
position: relative;
border-radius: 10px;
overflow: hidden;
box-shadow: 2px 7px 14px 0 #001a8c14
}

.frnt .sup-img-wrap {
width: 100%;
aspect-ratio: 4/3;
overflow: hidden;
border-radius: 10px
}

.frnt .sup-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .55s ease-in-out;
opacity: .95
}

.frnt .sup-img-wrap:hover img {
transform: translateX(-8px)
}

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

.frnt .sup-list li {
font-size: 16px;
line-height: 1.45;
color: #1a2340;
padding: 8px 16px;
border-radius: 6px;
background: #ffce061a;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .45s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.frnt .sup-list:hover li {
background: #ffce060f
}

.frnt .sup-list li:hover {
background: #ffce0638 !important;
transform: translateX(4px)
}

.frnt .sup-list li .dot-mk {
width: 8px;
height: 8px;
border-radius: 3px;
background: #FFCE06;
flex-shrink: 0
}

.frnt .div-s2 {
display: block;
width: 100%;
line-height: 0;
background: #FAFCFF
}

.frnt .gap-blk {
background: #001A8C;
padding: 64px 0;
position: relative
}

.frnt .gap-blk .dots-border {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.frnt .gap-blk .dots-border::before {
content: "";
position: absolute;
inset: 0;
background-image: radial-gradient(circle, #fafcff1f 1.5px, transparent 1.5px), radial-gradient(circle, #fafcff0f 3px, transparent 3px), radial-gradient(circle, #fafcff0a 5px, transparent 5px);
background-size: 18px 18px, 50px 50px, 90px 90px;
background-position: 0 0, 9px 9px, 25px 25px
}

.frnt .gap-inner {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
padding: 0 32px;
text-align: center
}

.frnt .gap-label {
font-size: 16px;
line-height: 1.45;
color: #fafcff99;
letter-spacing: .1em;
text-transform: uppercase;
margin: 0 0 16px
}

.frnt .gap-h2 {
font-size: 32px;
line-height: 1.15;
color: #FAFCFF;
margin: 0 auto 32px;
max-width: 680px
}

.frnt .gap-cols {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px;
margin: 0 0 32px
}

.frnt .gap-card {
background: #fafcff0f;
border: 1px solid #ffce062e;
border-radius: 10px;
padding: 32px 16px;
position: relative;
transition: background .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color .5s ease-in-out
}

.frnt .gap-card::after {
content: "";
position: absolute;
inset: 6px;
border: 1px solid #ffce0600;
border-radius: 6px;
transition: border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.frnt .gap-card:hover {
background: #ffce0614;
border-color: #ffce0673
}

.frnt .gap-card:hover::after {
border-color: #ffce0633
}

.frnt .gap-card-num {
font-size: 62px;
line-height: 1.15;
font-weight: 700;
color: #ffce0640;
display: block;
margin: 0 0 8px
}

.frnt .gap-card-h {
font-size: 16px;
line-height: 1.45;
color: #FFCE06;
font-weight: 700;
margin: 0 0 8px
}

.frnt .gap-card-p {
font-size: 16px;
line-height: 1.7;
color: #fafcffbf;
margin: 0
}

.frnt .gap-img-row {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 16px;
align-items: center;
margin-top: 32px
}

.frnt .gap-img-wrap {
width: 100%;
aspect-ratio: 3/2;
overflow: hidden;
border-radius: 10px
}

.frnt .gap-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: brightness(0.85) saturate(1.2);
transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.frnt .gap-img-wrap:hover img {
transform: translateY(-6px)
}

.frnt .gap-aside-txt {
text-align: left
}

.frnt .gap-aside-h {
font-size: 24px;
line-height: 1.15;
color: #FAFCFF;
margin: 0 0 16px
}

.frnt .gap-aside-p {
font-size: 16px;
line-height: 1.7;
color: #fafcffbf;
margin: 0
}

.frnt .div-s3 {
display: block;
width: 100%;
line-height: 0;
background: #001A8C
}

.frnt .val-blk {
padding: 64px 0;
position: relative;
background: #FAFCFF
}

.frnt .val-blk .frosted-panel {
position: relative;
border-radius: 16px;
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
background: #ffce060f;
border: 1px solid #001a8c1a;
padding: 32px;
box-shadow: 2px 9px 60px 0 #001a8c21
}

.frnt .val-top {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 32px;
align-items: start;
margin: 0 0 32px
}

.frnt .val-label {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
margin: 0 0 16px
}

.frnt .val-h2 {
font-size: 32px;
line-height: 1.15;
margin: 0 0 16px
}

.frnt .val-p {
font-size: 16px;
line-height: 1.7;
color: #1a2340;
margin: 0 0 16px
}

.frnt .val-img-wrap {
width: 100%;
aspect-ratio: 3/4;
overflow: hidden;
border-radius: 10px;
box-shadow: 2px 7px 14px 0 #001a8c14
}

.frnt .val-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.frnt .val-img-wrap:hover img {
transform: translateX(8px)
}

.frnt .val-metrics {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px
}

.frnt .val-metric {
background: #001a8c0d;
border-radius: 10px;
padding: 16px;
text-align: center;
transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.frnt .val-metric:hover {
background: #001a8c1a
}

.frnt .val-metric-num {
font-size: 32px;
line-height: 1.15;
font-weight: 700;
color: #001A8C;
display: block
}

.frnt .val-metric-lbl {
font-size: 16px;
line-height: 1.45;
color: #1a2340;
display: block;
margin-top: 4px
}

.frnt .div-s4 {
display: block;
width: 100%;
line-height: 0;
background: #FAFCFF
}

.frnt .inv-blk {
background: linear-gradient(157deg, #ffce061f, #001a8c0f);
padding: 64px 0;
position: relative
}

.frnt .inv-blk .dots-dec {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.frnt .inv-blk .dots-dec::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(157deg, #FFCE06, #001A8C)
}

.frnt .inv-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 32px
}

.frnt .inv-head {
text-align: center;
margin: 0 0 32px
}

.frnt .inv-label {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
margin: 0 0 16px
}

.frnt .inv-h2 {
font-size: 32px;
line-height: 1.15;
margin: 0 0 16px
}

.frnt .inv-sub {
font-size: 16px;
line-height: 1.7;
color: #1a2340;
max-width: 560px;
margin: 0 auto
}

.frnt .inv-tiers {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px;
margin: 0 0 32px
}

.frnt .inv-tier {
background: #FAFCFF;
border-radius: 10px;
padding: 32px 16px;
border: 1px solid #001a8c1a;
position: relative;
transition: box-shadow .55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: 2px 1px 3px 0 #001a8c0f
}

.frnt .inv-tier::after {
content: "";
position: absolute;
inset: 5px;
border: 1px solid #001a8c00;
border-radius: 6px;
transition: border-color .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.frnt .inv-tier:hover {
box-shadow: 2px 9px 60px 0 #001a8c21;
transform: translateY(-4px)
}

.frnt .inv-tier:hover::after {
border-color: #001a8c1f
}

.frnt .inv-tier.featured {
background: #001A8C;
border-color: #001A8C
}

.frnt .inv-tier.featured .inv-tier-name {
color: #fafcffb3
}

.frnt .inv-tier.featured .inv-tier-price {
color: #FFCE06
}

.frnt .inv-tier.featured .inv-tier-desc {
color: #fafcffbf
}

.frnt .inv-tier.featured .inv-tier-detail {
color: #fafcff99
}

.frnt .inv-tier-name {
font-size: 16px;
line-height: 1.45;
color: #001A8C;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
display: block;
margin: 0 0 8px
}

.frnt .inv-tier-price {
font-size: 32px;
line-height: 1.15;
font-weight: 700;
color: #001A8C;
display: block;
margin: 0 0 8px
}

.frnt .inv-tier-desc {
font-size: 16px;
line-height: 1.7;
color: #1a2340;
margin: 0 0 16px
}

.frnt .inv-tier-detail {
font-size: 16px;
line-height: 1.45;
color: #4a5568;
display: block
}

.frnt .inv-note {
text-align: center;
font-size: 16px;
line-height: 1.7;
color: #1a2340;
max-width: 600px;
margin: 0 auto
}

.frnt .inv-note a {
color: #001A8C;
font-weight: 700;
text-decoration: underline;
text-decoration-style: double;
text-underline-offset: 3px;
transition: color .45s ease-in-out
}

.frnt .inv-note a:hover {
color: #FFCE06
}

@media (max-width: 1200px) {
.frnt .ttl-h1 {
font-size: 62px
}
}

@media (max-width: 900px) {
.frnt .ttl-h1 {
font-size: 32px
}

.frnt .sup-grid {
grid-template-columns: 1fr
}

.frnt .sup-txt-col {
padding-right: 0
}

.frnt .gap-cols {
grid-template-columns: 1fr 1fr
}

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

.frnt .val-top {
grid-template-columns: 1fr
}

.frnt .val-img-wrap {
aspect-ratio: 16/9
}

.frnt .inv-tiers {
grid-template-columns: 1fr 1fr
}

.frnt .val-metrics {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 600px) {
.frnt .ttl-h1 {
font-size: 32px
}

.frnt .pg-wrap,
.frnt .ttl-inner,
.frnt .gap-inner,
.frnt .inv-inner {
padding: 0 16px
}

.frnt .ttl-blk,
.frnt .sup-blk,
.frnt .gap-blk,
.frnt .val-blk,
.frnt .inv-blk {
padding: 32px 0
}

.frnt .gap-cols {
grid-template-columns: 1fr
}

.frnt .inv-tiers {
grid-template-columns: 1fr
}

.frnt .val-metrics {
grid-template-columns: 1fr
}

.frnt .gap-card-num {
font-size: 32px
}
}

.ok-page {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 64px 32px;
background-color: #FAFCFF
}

.ok-page .ok-wrap {
max-width: 1200px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 32px
}

.ok-page .ok-icon {
width: 80px;
height: 80px;
flex-shrink: 0
}

.ok-page .ok-card {
background: #fff;
border-radius: 16px;
box-shadow: 2px 9px 60px 0 #001a8c21;
padding: 64px;
max-width: 560px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center
}

.ok-page .ok-card .ok-title {
font-size: 32px;
line-height: 1.15;
font-weight: 700;
margin: 0;
background: linear-gradient(157deg, #FFCE06, #001A8C);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.ok-page .ok-card .ok-sub {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
margin: 0;
opacity: .75
}

.ok-page .ok-card .ok-divider {
width: 48px;
height: 3px;
background: #FFCE06;
border-radius: 3px
}

.ok-page .ok-card .ok-msg {
font-size: 16px;
line-height: 1.7;
color: #001A8C;
margin: 0
}

.ok-page .ok-card .ok-btn {
display: inline-block;
margin-top: 8px;
padding: 16px 32px;
background: #FFCE06;
color: #001A8C;
font-size: 16px;
font-weight: 700;
border: none;
border-radius: 10px;
cursor: pointer;
text-decoration: none;
box-shadow: 2px 7px 14px 0 #ffce0614;
transition: box-shadow .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background .45s ease-in-out;
position: relative;
outline-offset: 4px
}

.ok-page .ok-card .ok-btn::after {
content: '';
position: absolute;
inset: 4px;
border: 2px solid #001a8c40;
border-radius: 6px;
opacity: 0;
transition: opacity .55s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ok-page .ok-card .ok-btn:hover {
background: #f5c400;
box-shadow: 2px 9px 60px 0 #ffce0621
}

.ok-page .ok-card .ok-btn:hover::after {
opacity: 1
}

.ok-page .ok-card .ok-btn:focus-visible {
outline: 3px solid #001A8C
}

.ok-page .ok-card .ok-btn:active {
background: #e6b800
}

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

.ok-page .ok-card {
padding: 32px 16px
}

.ok-page .ok-card .ok-title {
font-size: 24px
}
}