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

html {
scroll-behavior: auto
}

body {
margin: 0;
-webkit-text-size-adjust: 100%;
font-family: 'Cabin', sans-serif
}

:focus-visible {
outline: 2px solid #106394;
outline-offset: 3px;
transition: outline-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.pghead {
background: linear-gradient(135deg, #0d4f78 0%, #106394 55%, #1a7ab5 100%);
position: relative;
overflow: hidden
}

.pghead::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(180deg, #10639400 0%, #0d4f788c 100%);
pointer-events: none
}

.pghead-accent {
position: absolute;
top: -36px;
right: -72px;
width: 320px;
height: 320px;
border-radius: 48px;
background: #d51a1d1a;
transform: rotate(22deg);
pointer-events: none
}

.pghead-accent2 {
position: absolute;
bottom: -48px;
left: 120px;
width: 180px;
height: 180px;
border-radius: 48px;
background: #ffffff0d;
transform: rotate(-14deg);
pointer-events: none
}

.headshell {
max-width: 1600px;
margin: 0 auto;
padding: 24px 36px;
position: relative;
z-index: 1
}

.headtop {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap
}

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

.logobox {
display: flex;
align-items: center;
justify-content: center;
width: 64px;
height: 64px;
background: #fff;
border-radius: 6px;
box-shadow: 1px 3px 2px 0 #d51a1d14 1px 6px 22px 0 #1063941a;
border: 2px solid #ffffffe6;
overflow: hidden;
flex-shrink: 0
}

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

.brandtag {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #ffffffd1;
letter-spacing: .01em;
font-weight: 400;
white-space: nowrap
}

.trustbadge {
display: flex;
align-items: center;
gap: 8px;
background: #ffffff1a;
border: 1px solid #ffffff38;
border-radius: 6px;
padding: 8px 12px;
flex-shrink: 0
}

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

.trustbadge-text {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #ffffffe6;
font-weight: 700;
white-space: nowrap
}

.headnav {
display: flex;
align-items: center;
gap: 4px;
flex-wrap: wrap
}

.navlink {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #ffffffe0;
text-decoration: none;
padding: 12px 16px;
border-radius: 6px;
font-weight: 400;
display: inline-block;
min-height: 44px;
display: flex;
align-items: center;
transition: background-color .12s cubic-bezier(0.4, 0, 1, 1), color .12s cubic-bezier(0.4, 0, 1, 1);
position: relative;
overflow: hidden
}

.navlink::after {
content: '';
position: absolute;
left: 0;
top: 0;
width: 0;
height: 100%;
background: #d51a1d2e;
border-radius: 6px;
transition: width .16s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.navlink:hover::after {
width: 100%
}

.navlink:hover {
color: #fff
}

.navlink span {
position: relative;
z-index: 1
}

.navlink-active {
background: #ffffff24;
color: #fff;
font-weight: 700
}

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

.headcontact {
display: flex;
align-items: center;
gap: 24px;
flex-wrap: wrap
}

.contactitem {
display: flex;
align-items: center;
gap: 8px
}

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

.contactitem-link {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #fffc;
text-decoration: none;
transition: color .14s cubic-bezier(0.4, 0, 1, 1)
}

.contactitem-link:hover {
color: #fff
}

.headsub {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #fff9
}

.pgfoot {
background: linear-gradient(160deg, #0b3d5c 0%, #0d4f78 60%, #106394 100%);
position: relative;
overflow: hidden
}

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

.footshell {
max-width: 1600px;
margin: 0 auto;
padding: 72px 36px 36px;
position: relative;
z-index: 1
}

.footgrid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 36px;
align-items: start
}

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

.footlogobox {
display: flex;
align-items: center;
justify-content: center;
width: 60px;
height: 60px;
background: #fff;
border-radius: 6px;
box-shadow: 1px 3px 2px 0 #d51a1d14 1px 6px 22px 0 #1063941a;
border: 2px solid #ffffffe6;
overflow: hidden
}

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

.footabout {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.55;
color: #ffffffb8
}

.footaddress {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.8;
color: #fff9;
font-style: normal
}

.footlinks {
display: flex;
flex-direction: column;
gap: 4px
}

.footlinks-label {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #ffffff80;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
margin-bottom: 8px
}

.footlink {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.55;
color: #ffffffc7;
text-decoration: none;
padding: 4px 0;
display: inline-block;
transition: color .13s cubic-bezier(0.4, 0, 1, 1);
border-bottom: 1px solid transparent
}

.footlink:hover {
color: #fff;
border-bottom-color: #d51a1d8c
}

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

.footcontact-label {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #ffffff80;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
margin-bottom: 8px
}

.footcontact-row {
display: flex;
align-items: center;
gap: 8px
}

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

.footcontact-link {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #ffffffc7;
text-decoration: none;
transition: color .13s cubic-bezier(0.4, 0, 1, 1)
}

.footcontact-link:hover {
color: #fff
}

.footdivider {
border: none;
border-top: 1px solid #ffffff1f;
margin: 36px 0 24px
}

.footbottom {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap
}

.footlegal {
display: flex;
align-items: center;
gap: 24px;
flex-wrap: wrap
}

.footlegal-link {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #ffffff8c;
text-decoration: none;
transition: color .13s cubic-bezier(0.4, 0, 1, 1)
}

.footlegal-link:hover {
color: #ffffffe6
}

.footcopy {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #fff6
}

.cookiebar {
display: none;
position: fixed;
bottom: 24px;
left: 24px;
right: 24px;
z-index: 8000;
max-width: 680px;
margin: 0 auto
}

.cookiecard {
background: #fff;
border-radius: 6px;
box-shadow: 1px 8px 52px 0 #1063941a 1px 6px 22px 0 #1063941a;
padding: 24px;
border-top: 3px solid #D51A1D;
opacity: 0;
transition: opacity .32s cubic-bezier(0.4, 0, 1, 1)
}

.cookiecard.visible {
opacity: 1
}

.cookiehead {
display: flex;
align-items: flex-start;
gap: 12px;
margin-bottom: 12px
}

.cookieicon {
width: 28px;
height: 28px;
flex-shrink: 0;
margin-top: 2px
}

.cookietext {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.55;
color: #1e3a50
}

.cookiesettings {
display: none;
margin: 12px 0;
border-top: 1px solid #e8eef3;
padding-top: 12px
}

.cookietogglerow {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 0;
gap: 12px
}

.cookietoggle-label {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #1e3a50;
font-weight: 700
}

.cookietoggle-sub {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #4a6a82;
font-weight: 400;
display: block
}

.toggleswitch {
position: relative;
width: 44px;
height: 24px;
flex-shrink: 0
}

.toggleswitch input {
opacity: 0;
width: 0;
height: 0;
position: absolute
}

.toggletrack {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #c5d5e0;
border-radius: 48px;
cursor: pointer;
transition: background-color .15s cubic-bezier(0.4, 0, 1, 1)
}

.toggletrack::after {
content: '';
position: absolute;
width: 18px;
height: 18px;
background: #fff;
border-radius: 48px;
top: 3px;
left: 3px;
transition: transform .15s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 3px 2px 0 #10639414
}

.toggleswitch input:checked+.toggletrack {
background: #106394
}

.toggleswitch input:checked+.toggletrack::after {
transform: translateX(20px)
}

.cookiebtnrow {
display: flex;
align-items: center;
gap: 8px;
margin-top: 16px;
flex-wrap: wrap
}

.cookiebtn {
flex: 1;
min-width: 120px;
min-height: 44px;
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
font-weight: 700;
border: none;
border-radius: 6px;
cursor: pointer;
padding: 12px 16px;
position: relative;
overflow: hidden;
transition: color .14s cubic-bezier(0.4, 0, 1, 1)
}

.cookiebtn-accept {
background: #D51A1D;
color: #fff
}

.cookiebtn-accept::before {
content: '';
position: absolute;
left: -100%;
top: 0;
width: 100%;
height: 100%;
background: #106394;
transition: left .16s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.cookiebtn-accept:hover::before {
left: 0
}

.cookiebtn-accept span {
position: relative;
z-index: 1
}

.cookiebtn-reject {
background: #eef3f7;
color: #1e3a50
}

.cookiebtn-reject::before {
content: '';
position: absolute;
left: -100%;
top: 0;
width: 100%;
height: 100%;
background: #c5d5e0;
transition: left .16s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.cookiebtn-reject:hover::before {
left: 0
}

.cookiebtn-reject span {
position: relative;
z-index: 1
}

.cookielink {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #106394;
text-decoration: underline;
cursor: pointer;
background: none;
border: none;
padding: 4px 8px;
min-height: 44px;
display: flex;
align-items: center;
transition: color .13s cubic-bezier(0.4, 0, 1, 1)
}

.cookielink:hover {
color: #D51A1D
}

.cookiemini {
display: none;
position: fixed;
bottom: 0;
left: 0;
z-index: 7999;
background: #106394;
border-radius: 0 6px 0 0;
box-shadow: 1px 6px 22px 0 #1063941a
}

.cookiemini-btn {
font-family: 'Cabin', sans-serif;
font-size: 16px;
line-height: 1.35;
color: #fff;
background: none;
border: none;
padding: 8px 12px;
cursor: pointer;
min-height: 44px;
display: flex;
align-items: center;
gap: 8px;
transition: background-color .13s cubic-bezier(0.4, 0, 1, 1);
border-radius: 0 6px 0 0
}

.cookiemini-btn:hover {
background: #ffffff1f
}

@media (max-width: 768px) {
.headshell {
padding: 16px 24px
}

.headtop {
gap: 16px
}

.headbar {
margin-top: 16px;
padding-top: 12px
}

.headcontact {
gap: 16px
}

.headsub {
display: none
}

.trustbadge {
display: none
}

.headnav {
gap: 4px
}

.navlink {
padding: 8px 12px;
font-size: 16px
}

.footshell {
padding: 36px 24px 24px
}

.footgrid {
grid-template-columns: 1fr;
gap: 24px
}

.footbottom {
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.cookiebar {
bottom: 12px;
left: 12px;
right: 12px
}
}

@media (max-width: 1280px) and (min-width: 769px) {
.footgrid {
grid-template-columns: 1fr 1fr;
gap: 36px
}

.footbrand {
grid-column: 1 / -1
}
}

.agreement-text {
max-width: 1600px;
margin: 0 auto;
padding: 72px 36px
}

.agreement-text h1 {
font-size: 60px;
line-height: 1.1;
color: #106394;
margin-bottom: 36px;
margin-top: 0;
letter-spacing: -.5px
}

.agreement-text h2 {
font-size: 44px;
line-height: 1.1;
color: #106394;
margin-top: 72px;
margin-bottom: 24px
}

.agreement-text h3 {
font-size: 19px;
line-height: 1.35;
color: #D51A1D;
margin-top: 36px;
margin-bottom: 12px;
text-transform: uppercase;
letter-spacing: .08em
}

.agreement-text h4 {
font-size: 19px;
line-height: 1.35;
color: #106394;
margin-top: 24px;
margin-bottom: 12px
}

.agreement-text h5 {
font-size: 16px;
line-height: 1.55;
color: #106394;
margin-top: 24px;
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: .06em
}

.agreement-text h6 {
font-size: 16px;
line-height: 1.55;
color: #D51A1D;
margin-top: 24px;
margin-bottom: 8px
}

.agreement-text p {
font-size: 16px;
line-height: 1.8;
color: #1b2a35;
margin-top: 0;
margin-bottom: 24px;
max-width: 78ch
}

.agreement-text ul {
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px;
list-style: none
}

.agreement-text ol {
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px;
list-style: none;
counter-reset: policy-counter
}

.agreement-text ul li {
font-size: 16px;
line-height: 1.8;
color: #1b2a35;
margin-bottom: 8px;
padding-left: 20px;
position: relative;
max-width: 78ch
}

.agreement-text ul li::before {
content: "";
position: absolute;
left: 0;
top: 12px;
width: 6px;
height: 6px;
border-radius: 48px;
background-color: #D51A1D
}

.agreement-text ol li {
font-size: 16px;
line-height: 1.8;
color: #1b2a35;
margin-bottom: 8px;
padding-left: 28px;
position: relative;
counter-increment: policy-counter;
max-width: 78ch
}

.agreement-text ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: 0;
top: 0;
font-size: 16px;
line-height: 1.8;
color: #106394;
font-weight: 600;
min-width: 20px
}

.agreement-text ul li ul,
.agreement-text ul li ol,
.agreement-text ol li ul,
.agreement-text ol li ol {
margin-top: 8px;
margin-bottom: 4px
}

.agreement-text em {
font-style: italic;
color: #106394
}

.agreement-text i {
font-style: italic
}

.agreement-text hr {
border: none;
height: 1px;
background: linear-gradient(90deg, #1063942e 0%, #d51a1d1f 60%, transparent 100%);
margin-top: 36px;
margin-bottom: 36px
}

.agreement-text div {
margin-bottom: 24px
}

@media (max-width: 1280px) {
.agreement-text {
padding: 72px 36px
}

.agreement-text h1 {
font-size: 44px
}

.agreement-text h2 {
font-size: 44px
}
}

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

.agreement-text h1 {
font-size: 44px;
line-height: 1.1
}

.agreement-text h2 {
font-size: 19px;
margin-top: 36px
}

.agreement-text h3 {
font-size: 16px
}

.agreement-text h4 {
font-size: 16px
}

.agreement-text h5 {
font-size: 16px
}

.agreement-text h6 {
font-size: 16px
}

.agreement-text p,
.agreement-text ul li,
.agreement-text ol li {
max-width: 100%
}
}

.anldet {
max-width: 1600px;
margin: 0 auto;
overflow-x: clip
}

.anldet .arthead {
display: flex;
flex-direction: row;
align-items: stretch;
min-height: 480px;
background: #f4f6f9;
position: relative
}

.anldet .arthead .txtzone {
flex: 1 1 55%;
padding: 72px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
z-index: 1
}

.anldet .arthead .dotgrid {
position: absolute;
inset: 0;
pointer-events: none;
background-image: radial-gradient(circle, #10639421 1.5px, transparent 1.5px);
background-size: 22px 22px;
z-index: 0
}

.anldet .arthead .txtzone .artcat {
display: inline-block;
font-size: 16px;
line-height: 1.35;
letter-spacing: .12em;
text-transform: uppercase;
color: #106394;
margin-bottom: 24px;
font-weight: 600;
position: relative;
z-index: 2
}

.anldet .arthead .txtzone .arttitle {
font-size: 44px;
line-height: 1.1;
color: #1b2a3a;
margin: 0 0 24px;
position: relative;
z-index: 2;
max-width: 640px
}

.anldet .arthead .txtzone .arttitle .accentword {
display: inline-block;
color: #D51A1D;
position: relative
}

.anldet .arthead .txtzone .arttitle .accentword::after {
content: '';
display: block;
height: 3px;
background: #D51A1D;
border-radius: 6px;
width: 0;
transition: width .16s cubic-bezier(0.4, 0, 1, 1);
position: absolute;
bottom: -4px;
left: 0
}

.anldet .arthead .txtzone .arttitle .accentword:hover::after {
width: 100%
}

.anldet .arthead .txtzone .artslogan {
font-size: 19px;
line-height: 1.55;
color: #3a4a5a;
margin: 0 0 36px;
position: relative;
z-index: 2;
max-width: 520px;
font-style: italic
}

.anldet .arthead .txtzone .artmeta {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
position: relative;
z-index: 2
}

.anldet .arthead .txtzone .metaitem {
display: flex;
flex-direction: column;
gap: 4px
}

.anldet .arthead .txtzone .metalabel {
font-size: 16px;
line-height: 1.35;
color: #7a8a9a;
text-transform: uppercase;
letter-spacing: .09em;
font-size: 16px
}

.anldet .arthead .txtzone .metaval {
font-size: 19px;
line-height: 1.35;
color: #1b2a3a;
font-weight: 700
}

.anldet .arthead .imgzone {
flex: 1 1 45%;
position: relative;
overflow: hidden;
border-radius: 0 6px 6px 0
}

.anldet .arthead .imgzone .artimg {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
aspect-ratio: 1/1;
opacity: .72;
display: block;
transition: opacity .15s cubic-bezier(0.4, 0, 1, 1)
}

.anldet .arthead .imgzone:hover .artimg {
opacity: .88
}

.anldet .arthead .imgzone .cornaccent {
position: absolute;
top: 0;
right: 0;
width: 64px;
height: 64px;
background: #D51A1D;
border-radius: 0 6px 0 48px;
z-index: 2
}

.anldet .arthead .metadivider {
width: 1px;
height: 36px;
background: #1063942e;
align-self: center
}

.anldet .artbody {
background: #fff;
padding: 72px 0;
position: relative
}

.anldet .artbody .fadedivtop {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, transparent 0%, #106394 50%, transparent 100%)
}

.anldet .artbody .bodygrid {
display: grid;
grid-template-columns: 1fr 340px;
gap: 72px;
max-width: 1200px;
margin: 0 auto;
padding: 0 36px;
align-items: start
}

.anldet .artbody .bodymain {
min-width: 0
}

.anldet .artbody .bodymain .artcontent {
font-size: 19px;
line-height: 1.8;
color: #222f3e
}

.anldet .artbody .bodymain .artcontent p {
margin: 0 0 24px
}

.anldet .artbody .bodymain .artcontent h2 {
font-size: 44px;
line-height: 1.1;
color: #1b2a3a;
margin: 36px 0 24px;
position: relative;
display: inline-block
}

.anldet .artbody .bodymain .artcontent h2::after {
content: '';
display: block;
height: 2px;
background: linear-gradient(31deg, #D51A1D, transparent);
border-radius: 6px;
width: 0;
animation: hdrul .18s cubic-bezier(0.4, 0, 1, 1) .12s forwards
}

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

.anldet .artbody .bodymain .artcontent h3 {
font-size: 19px;
line-height: 1.35;
color: #106394;
margin: 24px 0 12px;
font-weight: 700
}

.anldet .artbody .bodymain .artcontent cite {
display: block;
font-size: 19px;
line-height: 1.55;
color: #3a4a5a;
font-style: italic;
border-top: 2px solid #D51A1D;
border-bottom: 2px solid #106394;
padding: 12px 24px;
margin: 36px 0;
border-radius: 6px;
background: #1063940a
}

.anldet .artbody .bodymain .artcontent ul,
.anldet .artbody .bodymain .artcontent ol {
padding-left: 24px;
margin: 0 0 24px
}

.anldet .artbody .bodymain .artcontent li {
font-size: 19px;
line-height: 1.8;
color: #222f3e;
margin-bottom: 8px
}

.anldet .artbody .bodymain .artcontent details {
margin: 0 0 12px;
border-radius: 6px;
border: 1px solid #1063942e;
background: #10639408;
overflow: hidden
}

.anldet .artbody .bodymain .artcontent summary {
font-size: 19px;
line-height: 1.55;
color: #106394;
font-weight: 600;
padding: 12px 24px;
cursor: pointer;
list-style: none;
transition: background .13s cubic-bezier(0.4, 0, 1, 1)
}

.anldet .artbody .bodymain .artcontent summary:hover {
background: #10639412
}

.anldet .artbody .bodymain .artcontent details[open] summary {
border-bottom: 1px solid #10639424
}

.anldet .artbody .bodymain .artcontent details p {
padding: 12px 24px;
margin: 0
}

.anldet .artbody .bodyaside {
display: flex;
flex-direction: column;
gap: 36px;
position: sticky;
top: 36px
}

.anldet .artbody .bodyaside .metricscard {
background: #1b2a3a;
border-radius: 6px;
padding: 36px 24px;
box-shadow: 1px 8px 52px 0 #d51a1d1a;
position: relative;
overflow: hidden
}

.anldet .artbody .bodyaside .metricscard .glowbg {
position: absolute;
inset: 0;
pointer-events: none;
background: radial-gradient(ellipse at 50% 30%, #d51a1d1a 0%, transparent 70%);
animation: softglow 4s ease-in-out infinite alternate
}

@keyframes softglow {
from {
opacity: .6
}

to {
opacity: 1
}
}

.anldet .artbody .bodyaside .metricscard .metricstitle {
font-size: 16px;
line-height: 1.35;
color: #ffffff8c;
text-transform: uppercase;
letter-spacing: .1em;
margin-bottom: 24px;
position: relative;
z-index: 1
}

.anldet .artbody .bodyaside .metricscard .dualmet {
display: flex;
flex-direction: row;
gap: 24px;
position: relative;
z-index: 1
}

.anldet .artbody .bodyaside .metricscard .metunit {
flex: 1 1 50%;
display: flex;
flex-direction: column;
gap: 4px
}

.anldet .artbody .bodyaside .metricscard .metnum {
font-size: 44px;
line-height: 1.1;
color: #fff;
font-weight: 800;
letter-spacing: -.02em
}

.anldet .artbody .bodyaside .metricscard .metnum.accent {
color: #D51A1D
}

.anldet .artbody .bodyaside .metricscard .metdesc {
font-size: 16px;
line-height: 1.35;
color: #ffffff8c
}

.anldet .artbody .bodyaside .metricscard .metdivider {
width: 1px;
background: #ffffff1f;
align-self: stretch
}

.anldet .artbody .bodyaside .ctacard {
background: #fff;
border-radius: 6px;
padding: 36px 24px;
box-shadow: 1px 6px 22px 0 #1063941a;
display: flex;
flex-direction: column;
gap: 12px;
position: relative
}

.anldet .artbody .bodyaside .ctacard .ctacornaccent {
position: absolute;
bottom: 0;
right: 0;
width: 40px;
height: 40px;
background: #106394;
border-radius: 6px 0 6px 0;
opacity: .18
}

.anldet .artbody .bodyaside .ctacard .ctatext {
font-size: 19px;
line-height: 1.55;
color: #1b2a3a;
font-weight: 700;
margin: 0
}

.anldet .artbody .bodyaside .ctacard .ctasub {
font-size: 16px;
line-height: 1.55;
color: #5a6a7a;
margin: 0
}

.anldet .artbody .bodyaside .ctacard .ctabtn {
display: inline-block;
margin-top: 8px;
padding: 12px 24px;
border-radius: 6px;
font-size: 16px;
line-height: 1.35;
font-weight: 700;
color: #fff;
background: linear-gradient(31deg, #D51A1D 60%, #106394 100%);
background-size: 200% 100%;
background-position: right center;
border: none;
cursor: pointer;
text-decoration: none;
transition: background-position .15s cubic-bezier(0.4, 0, 1, 1), box-shadow .13s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 3px 2px 0 #d51a1d14;
text-align: center
}

.anldet .artbody .bodyaside .ctacard .ctabtn:hover {
background-position: left center;
box-shadow: 1px 6px 22px 0 #d51a1d1a
}

.anldet .artbody .bodyaside .ctacard .ctabtn:focus {
outline: 2px solid #D51A1D;
outline-offset: 2px
}

.anldet .artbody .bodyaside .navcard {
background: #1063940d;
border-radius: 6px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px
}

.anldet .artbody .bodyaside .navcard .navlabel {
font-size: 16px;
line-height: 1.35;
color: #7a8a9a;
text-transform: uppercase;
letter-spacing: .09em;
margin-bottom: 4px
}

.anldet .artbody .bodyaside .navcard .navlink {
font-size: 16px;
line-height: 1.55;
color: #106394;
text-decoration: none;
border-bottom: 1px solid transparent;
transition: color .12s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1);
padding-bottom: 4px
}

.anldet .artbody .bodyaside .navcard .navlink:hover {
color: #D51A1D;
border-color: #D51A1D
}

.anldet .artfooterstrip {
background: linear-gradient(31deg, #D51A1D 0%, #106394 100%);
padding: 36px 72px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 24px;
position: relative;
overflow: hidden
}

.anldet .artfooterstrip .stripglow {
position: absolute;
inset: 0;
pointer-events: none;
background: radial-gradient(ellipse at 50% 50%, #ffffff12 0%, transparent 70%);
animation: softglow 5s ease-in-out infinite alternate
}

.anldet .artfooterstrip .striptext {
font-size: 19px;
line-height: 1.55;
color: #fff;
font-weight: 600;
position: relative;
z-index: 1
}

.anldet .artfooterstrip .stripbtn {
display: inline-block;
padding: 12px 36px;
border-radius: 48px;
font-size: 16px;
line-height: 1.35;
font-weight: 700;
color: #D51A1D;
background: #fff;
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: 1px 6px 22px 0 #d51a1d1a;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), color .13s cubic-bezier(0.4, 0, 1, 1);
position: relative;
z-index: 1
}

.anldet .artfooterstrip .stripbtn:hover {
box-shadow: 1px 8px 52px 0 #d51a1d1a;
color: #106394
}

.anldet .artfooterstrip .stripbtn:focus {
outline: 2px solid #fff;
outline-offset: 2px
}

.anldet .artfooterstrip .fadeedge {
position: absolute;
top: 0;
bottom: 0;
width: 120px;
pointer-events: none;
z-index: 0
}

.anldet .artfooterstrip .fadeedge.left {
left: 0;
background: linear-gradient(90deg, #ffffff12 0%, transparent 100%)
}

.anldet .artfooterstrip .fadeedge.right {
right: 0;
background: linear-gradient(270deg, #ffffff12 0%, transparent 100%)
}

@media (max-width: 1280px) {
.anldet .arthead .txtzone {
padding: 72px 36px
}

.anldet .artbody .bodygrid {
grid-template-columns: 1fr 280px;
gap: 36px;
padding: 0 24px
}

.anldet .artfooterstrip {
padding: 36px
}
}

@media (max-width: 768px) {
.anldet .arthead {
flex-direction: column;
min-height: unset
}

.anldet .arthead .imgzone {
flex: 0 0 260px;
border-radius: 0 0 6px 6px;
height: 260px
}

.anldet .arthead .imgzone .artimg {
height: 260px
}

.anldet .arthead .txtzone {
padding: 36px 24px
}

.anldet .arthead .txtzone .arttitle {
font-size: 44px
}

.anldet .artbody {
padding: 36px 0
}

.anldet .artbody .bodygrid {
grid-template-columns: 1fr;
gap: 36px;
padding: 0 24px
}

.anldet .artbody .bodyaside {
position: static
}

.anldet .artfooterstrip {
flex-direction: column;
padding: 36px 24px;
text-align: center
}

.anldet .arthead .txtzone .artmeta {
flex-wrap: wrap;
gap: 12px
}
}

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

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

.lrnprog .titblk {
background: #f2f4f7;
padding: 72px 0 0;
position: relative
}

.lrnprog .titblk-inner {
max-width: 1600px;
margin: 0 auto;
padding: 0 36px;
display: flex;
flex-direction: row;
align-items: stretch;
gap: 72px
}

.lrnprog .titblk-txt {
flex: 1 1 48%;
padding: 72px 0;
display: flex;
flex-direction: column;
justify-content: center
}

.lrnprog .titblk-label {
display: inline-block;
font-size: 16px;
line-height: 1.55;
letter-spacing: .12em;
text-transform: uppercase;
color: #106394;
margin-bottom: 24px;
font-weight: 600
}

.lrnprog .titblk-h1 {
font-size: 60px;
line-height: 1.1;
color: #1b2636;
margin: 0 0 24px;
font-weight: 800
}

.lrnprog .titblk-h1 span {
color: #D51A1D;
position: relative;
display: inline-block
}

.lrnprog .titblk-h1 span::after {
content: '';
position: absolute;
left: 0;
bottom: -4px;
width: 100%;
height: 3px;
background: #D51A1D;
transform: scaleX(0);
transform-origin: left;
animation: underlineDraw .18s cubic-bezier(0.4, 0, 1, 1) .4s forwards
}

@keyframes underlineDraw {
to {
transform: scaleX(1)
}
}

.lrnprog .titblk-desc {
font-size: 19px;
line-height: 1.8;
color: #2d3a4a;
max-width: 520px;
margin: 0
}

.lrnprog .titblk-mosaic {
flex: 1 1 48%;
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: 12px;
align-items: start;
padding: 36px 0
}

.lrnprog .mosaic-main {
grid-column: 1 / 3;
grid-row: 1;
border-radius: 6px;
overflow: hidden;
aspect-ratio: 1/1;
position: relative
}

.lrnprog .mosaic-main img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: sepia(0.18) contrast(1.08) brightness(0.97) saturate(0.85) hue-rotate(-8deg);
transition: filter .16s cubic-bezier(0.4, 0, 1, 1)
}

.lrnprog .mosaic-main:hover img {
filter: sepia(0.08) contrast(1.04) brightness(1.0) saturate(0.95) hue-rotate(-4deg)
}

.lrnprog .mosaic-stat {
background: #106394;
border-radius: 6px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
justify-content: center
}

.lrnprog .mosaic-stat-num {
font-size: 44px;
line-height: 1.1;
color: #fff;
font-weight: 800
}

.lrnprog .mosaic-stat-lbl {
font-size: 16px;
line-height: 1.55;
color: #ffffffd1
}

.lrnprog .mosaic-accent {
background: #D51A1D;
border-radius: 6px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
justify-content: center
}

.lrnprog .mosaic-accent-num {
font-size: 44px;
line-height: 1.1;
color: #fff;
font-weight: 800
}

.lrnprog .mosaic-accent-lbl {
font-size: 16px;
line-height: 1.55;
color: #ffffffd1
}

.lrnprog .wave-div {
display: block;
width: 100%;
overflow: hidden;
line-height: 0;
margin-top: -2px
}

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

.lrnprog .areasblk {
background: #1b2636;
padding: 72px 0;
position: relative
}

.lrnprog .areasblk-inner {
max-width: 1600px;
margin: 0 auto;
padding: 0 36px
}

.lrnprog .areasblk-top {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 36px;
margin-bottom: 72px
}

.lrnprog .areasblk-hdg {
font-size: 44px;
line-height: 1.1;
color: #fff;
font-weight: 700;
max-width: 560px;
margin: 0;
position: relative
}

.lrnprog .areasblk-hdg::after {
content: '';
display: block;
width: 0;
height: 2px;
background: #D51A1D;
margin-top: 12px;
animation: underlineDraw .16s cubic-bezier(0.4, 0, 1, 1) .6s forwards
}

.lrnprog .areasblk-sub {
font-size: 19px;
line-height: 1.8;
color: #ffffffa6;
max-width: 420px;
margin: 0
}

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

.lrnprog .area-card {
background: #ffffff0d;
border: 1px solid #ffffff1a;
border-radius: 6px;
padding: 36px 24px;
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
transition: border-color .14s cubic-bezier(0.4, 0, 1, 1), box-shadow .14s cubic-bezier(0.4, 0, 1, 1);
transform: scale(0.9);
animation: scaleReveal .16s cubic-bezier(0.34, 1.56, 0.64, 1) forwards
}

@keyframes scaleReveal {
to {
transform: scale(1)
}
}

.lrnprog .area-card:hover {
border-color: #106394;
box-shadow: 1px 6px 22px 0 #1063941a
}

.lrnprog .area-card::before {
content: '';
position: absolute;
top: -1px;
left: -1px;
right: -1px;
bottom: -1px;
border-radius: 6px;
border: 2px solid transparent;
transition: border-color .25s cubic-bezier(0.4, 0, 1, 1);
pointer-events: none
}

.lrnprog .area-card:hover::before {
border-color: #10639466
}

.lrnprog .area-icon {
width: 48px;
height: 48px;
border: 1.5px solid #ffffff40;
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.lrnprog .area-icon svg {
width: 24px;
height: 24px
}

.lrnprog .area-card-h {
font-size: 19px;
line-height: 1.35;
color: #fff;
font-weight: 700;
margin: 0
}

.lrnprog .area-card-p {
font-size: 16px;
line-height: 1.8;
color: #ffffff9e;
margin: 0
}

.lrnprog .dash-connector {
display: flex;
flex-direction: row;
align-items: center;
gap: 0;
margin: 36px 0
}

.lrnprog .dash-dot {
width: 8px;
height: 8px;
border-radius: 48px;
background: #D51A1D;
flex-shrink: 0
}

.lrnprog .dash-line {
flex: 1;
border-top: 2px dashed #ffffff26
}

.lrnprog .dash-shape {
width: 16px;
height: 16px;
border: 2px solid #D51A1D;
border-radius: 6px;
flex-shrink: 0;
transform: rotate(45deg)
}

.lrnprog .processblk {
background: #fff;
padding: 72px 0
}

.lrnprog .processblk-inner {
max-width: 1600px;
margin: 0 auto;
padding: 0 36px
}

.lrnprog .processblk-hdr {
text-align: center;
margin-bottom: 72px
}

.lrnprog .processblk-hdg {
font-size: 44px;
line-height: 1.1;
color: #1b2636;
font-weight: 700;
margin: 0 0 12px;
display: inline-block;
position: relative
}

.lrnprog .processblk-hdg::after {
content: '';
position: absolute;
left: 0;
bottom: -6px;
width: 0;
height: 2px;
background: #106394;
animation: underlineDraw .16s cubic-bezier(0.4, 0, 1, 1) .5s forwards
}

.lrnprog .processblk-sub {
font-size: 19px;
line-height: 1.8;
color: #4a5668;
margin: 24px auto 0;
max-width: 560px
}

.lrnprog .steps-list {
display: flex;
flex-direction: column;
gap: 36px
}

.lrnprog .step-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 36px
}

.lrnprog .step-row.rev {
flex-direction: row-reverse
}

.lrnprog .step-num-col {
flex-shrink: 0;
width: 120px;
display: flex;
flex-direction: column;
align-items: center
}

.lrnprog .step-num {
font-size: 70px;
line-height: 1.1;
font-weight: 800;
color: #1063941a;
display: block
}

.lrnprog .step-body {
flex: 1;
background: #f2f4f7;
border-radius: 6px;
padding: 36px;
box-shadow: 1px 3px 2px 0 #10639414;
transition: box-shadow .14s cubic-bezier(0.4, 0, 1, 1), background .13s cubic-bezier(0.4, 0, 1, 1)
}

.lrnprog .step-body:hover {
background: #eaf2f8;
box-shadow: 1px 6px 22px 0 #1063941a
}

.lrnprog .step-h {
font-size: 19px;
line-height: 1.35;
color: #1b2636;
font-weight: 700;
margin: 0 0 12px
}

.lrnprog .step-p {
font-size: 16px;
line-height: 1.8;
color: #3d4e60;
margin: 0
}

.lrnprog .step-tag {
display: inline-block;
background: #106394;
color: #fff;
font-size: 16px;
line-height: 1.35;
border-radius: 48px;
padding: 4px 12px;
margin-bottom: 12px;
font-weight: 600
}

.lrnprog .sec-div {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
max-width: 1600px;
margin: 0 auto;
padding: 0 36px
}

.lrnprog .sec-div-line {
flex: 1;
height: 1px;
background: #d0d8e4
}

.lrnprog .sec-div-shape {
width: 12px;
height: 12px;
background: #D51A1D;
border-radius: 6px;
flex-shrink: 0
}

.lrnprog .ctablk {
display: flex;
flex-direction: row;
min-height: 480px
}

.lrnprog .cta-left {
flex: 1 1 55%;
background: linear-gradient(31deg, #106394 0%, #106394d9 100%);
padding: 72px 36px 72px 72px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px
}

.lrnprog .cta-right {
flex: 1 1 45%;
background: #fff;
padding: 72px 72px 72px 36px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px
}

.lrnprog .cta-hdg {
font-size: 44px;
line-height: 1.1;
color: #fff;
font-weight: 700;
margin: 0
}

.lrnprog .cta-hdg span {
color: #ffcdd0;
position: relative
}

.lrnprog .cta-hdg span::after {
content: '';
position: absolute;
left: 0;
bottom: -3px;
width: 100%;
height: 2px;
background: #D51A1D;
transform: scaleX(0);
transform-origin: left;
animation: underlineDraw .16s cubic-bezier(0.4, 0, 1, 1) .7s forwards
}

.lrnprog .cta-desc {
font-size: 19px;
line-height: 1.8;
color: #ffffffc7;
margin: 0;
max-width: 480px
}

.lrnprog .cta-contacts {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 8px
}

.lrnprog .cta-contact-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.lrnprog .cta-contact-icon {
width: 40px;
height: 40px;
border: 1.5px solid #ffffff4d;
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.lrnprog .cta-contact-icon svg {
width: 20px;
height: 20px
}

.lrnprog .cta-contact-val {
font-size: 16px;
line-height: 1.55;
color: #fff;
text-decoration: none;
transition: color .13s cubic-bezier(0.4, 0, 1, 1)
}

.lrnprog .cta-contact-val:hover {
color: #ffcdd0
}

.lrnprog .cta-right-hdg {
font-size: 19px;
line-height: 1.35;
color: #1b2636;
font-weight: 700;
margin: 0
}

.lrnprog .cta-right-sub {
font-size: 16px;
line-height: 1.8;
color: #4a5668;
margin: 0
}

.lrnprog .info-rows {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 8px
}

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

.lrnprog .info-row-icon {
width: 36px;
height: 36px;
border: 1.5px solid #106394;
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.lrnprog .info-row-icon svg {
width: 18px;
height: 18px
}

.lrnprog .info-row-txt {
font-size: 16px;
line-height: 1.55;
color: #2d3a4a
}

.lrnprog .btn-primary {
display: inline-block;
background: linear-gradient(31deg, #D51A1D 0%, #a81518 100%);
color: #fff;
font-size: 16px;
line-height: 1.55;
font-weight: 700;
padding: 12px 36px;
border-radius: 6px;
text-decoration: none;
border: none;
cursor: pointer;
position: relative;
overflow: hidden;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 3px 2px 0 #d51a1d14;
align-self: flex-start
}

.lrnprog .btn-primary::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(31deg, #a81518 0%, #D51A1D 100%);
transition: left .15s cubic-bezier(0.4, 0, 1, 1)
}

.lrnprog .btn-primary:hover::before {
left: 0
}

.lrnprog .btn-primary:hover {
box-shadow: 1px 6px 22px 0 #d51a1d1a
}

.lrnprog .btn-primary span {
position: relative;
z-index: 1
}

.lrnprog .btn-sec {
display: inline-block;
background: linear-gradient(31deg, #106394 0%, #0d4f76 100%);
color: #fff;
font-size: 16px;
line-height: 1.55;
font-weight: 700;
padding: 12px 36px;
border-radius: 6px;
text-decoration: none;
border: none;
cursor: pointer;
position: relative;
overflow: hidden;
transition: box-shadow .13s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 3px 2px 0 #10639414;
align-self: flex-start
}

.lrnprog .btn-sec::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(31deg, #0d4f76 0%, #106394 100%);
transition: left .13s cubic-bezier(0.4, 0, 1, 1)
}

.lrnprog .btn-sec:hover::before {
left: 0
}

.lrnprog .btn-sec:hover {
box-shadow: 1px 6px 22px 0 #1063941a
}

.lrnprog .btn-sec span {
position: relative;
z-index: 1
}

@media (max-width: 1280px) {
.lrnprog .titblk-h1 {
font-size: 44px
}

.lrnprog .areas-grid {
grid-template-columns: repeat(2, 1fr)
}

.lrnprog .cta-left {
padding: 72px 24px 72px 36px
}

.lrnprog .cta-right {
padding: 72px 36px 72px 24px
}
}

@media (max-width: 768px) {
.lrnprog .titblk-inner {
flex-direction: column;
gap: 36px;
padding: 0 24px
}

.lrnprog .titblk-txt {
padding: 36px 0 0
}

.lrnprog .titblk-mosaic {
padding: 0 0 36px
}

.lrnprog .titblk-h1 {
font-size: 44px
}

.lrnprog .areasblk-top {
flex-direction: column;
align-items: flex-start;
gap: 24px;
margin-bottom: 36px
}

.lrnprog .areasblk-hdg {
font-size: 36px
}

.lrnprog .areas-grid {
grid-template-columns: 1fr
}

.lrnprog .areasblk-inner {
padding: 0 24px
}

.lrnprog .processblk-inner {
padding: 0 24px
}

.lrnprog .processblk-hdg {
font-size: 36px
}

.lrnprog .step-row {
flex-direction: column;
gap: 12px
}

.lrnprog .step-row.rev {
flex-direction: column
}

.lrnprog .step-num-col {
width: auto;
flex-direction: row;
align-items: center;
gap: 12px;
align-self: flex-start
}

.lrnprog .step-num {
font-size: 44px
}

.lrnprog .ctablk {
flex-direction: column
}

.lrnprog .cta-left {
padding: 36px 24px
}

.lrnprog .cta-right {
padding: 36px 24px
}

.lrnprog .cta-hdg {
font-size: 36px
}

.lrnprog .pg-wrap {
padding: 0 24px
}

.lrnprog .sec-div {
padding: 0 24px
}
}

.prm {
max-width: 1600px;
margin: 0 auto;
overflow-x: clip
}

.prm .titblk {
display: grid;
grid-template-columns: 320px 1fr;
min-height: 0;
padding: 72px 72px 72px 0;
position: relative;
background: #f2f4f7
}

.prm .titblk .imgcol {
position: relative;
overflow: hidden;
border-radius: 0 6px 6px 0
}

.prm .titblk .imgcol img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.prm .titblk .imgcol .imgfade {
position: absolute;
inset: 0;
background: linear-gradient(90deg, transparent 0%, #f2f4f7 85%);
pointer-events: none
}

.prm .titblk .txtzone {
padding: 72px 72px 72px 48px;
position: relative;
z-index: 1
}

.prm .titblk .txtzone .brace {
font-size: 70px;
line-height: 1.1;
color: #D51A1D;
opacity: .18;
position: absolute;
top: 48px;
left: 24px;
pointer-events: none;
user-select: none
}

.prm .titblk .txtzone .brace.right {
left: auto;
right: 24px;
top: auto;
bottom: 48px
}

.prm .titblk .txtzone .pretag {
font-size: 16px;
line-height: 1.55;
color: #106394;
text-transform: uppercase;
letter-spacing: .12em;
margin-bottom: 24px;
display: block
}

.prm .titblk .txtzone h1 {
font-size: 60px;
line-height: 1.1;
color: #1b2535;
margin: 0 0 24px
}

.prm .titblk .txtzone h1 .accentword {
display: inline-block;
position: relative;
color: #D51A1D
}

.prm .titblk .txtzone h1 .accentword::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 100%;
height: 3px;
background: #D51A1D;
transform: scaleX(0);
transform-origin: left;
animation: drawline .18s cubic-bezier(0.4, 0, 1, 1) .5s forwards
}

@keyframes drawline {
to {
transform: scaleX(1)
}
}

.prm .titblk .txtzone .subdesc {
font-size: 19px;
line-height: 1.55;
color: #3a4558;
max-width: 560px;
margin: 0
}

.prm .whofor {
padding: 72px;
background: #fff;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px;
align-items: start
}

.prm .whofor .wfleft h2 {
font-size: 44px;
line-height: 1.1;
color: #1b2535;
margin: 0 0 24px;
position: relative;
display: inline-block
}

.prm .whofor .wfleft h2::after {
content: '';
position: absolute;
bottom: -6px;
left: 0;
width: 0;
height: 2px;
background: #106394;
animation: drawline .16s cubic-bezier(0.4, 0, 1, 1) .8s forwards
}

.prm .whofor .wfleft .leadpara {
font-size: 19px;
line-height: 1.8;
color: #3a4558;
margin: 0 0 24px
}

.prm .whofor .wfleft .pullquote {
font-size: 19px;
line-height: 1.55;
color: #106394;
border-top: 2px solid #106394;
border-bottom: 2px solid #106394;
padding: 24px 0;
margin: 36px 0 0;
font-style: italic
}

.prm .whofor .wfright {
display: flex;
flex-direction: column;
gap: 24px
}

.prm .whofor .wfright .sitcard {
background: #f2f4f7;
border-radius: 6px;
padding: 24px;
box-shadow: 1px 3px 2px 0 #10639414;
transition: box-shadow .16s cubic-bezier(0.4, 0, 1, 1), transform .13s cubic-bezier(0.4, 0, 1, 1)
}

.prm .whofor .wfright .sitcard:hover {
box-shadow: 1px 6px 22px 0 #1063941a;
transform: translateY(-2px)
}

.prm .whofor .wfright .sitcard h5 {
font-size: 16px;
line-height: 1.35;
color: #D51A1D;
margin: 0 0 8px;
text-transform: uppercase;
letter-spacing: .08em
}

.prm .whofor .wfright .sitcard p {
font-size: 16px;
line-height: 1.55;
color: #3a4558;
margin: 0
}

.prm .realcases {
padding: 72px;
background: linear-gradient(31deg, #d51a1d0f 0%, transparent 60%);
position: relative
}

.prm .realcases .geobg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.prm .realcases .geobg span {
position: absolute;
display: block;
border-radius: 6px;
opacity: .04;
background: #106394
}

.prm .realcases .geobg span:nth-child(1) {
width: 32px;
height: 32px;
top: 12%;
left: 7%;
transform: rotate(22deg)
}

.prm .realcases .geobg span:nth-child(2) {
width: 18px;
height: 18px;
top: 55%;
left: 15%;
transform: rotate(45deg)
}

.prm .realcases .geobg span:nth-child(3) {
width: 24px;
height: 24px;
top: 30%;
right: 10%;
transform: rotate(12deg)
}

.prm .realcases .geobg span:nth-child(4) {
width: 14px;
height: 14px;
bottom: 20%;
right: 22%;
transform: rotate(33deg)
}

.prm .realcases .geobg span:nth-child(5) {
width: 40px;
height: 40px;
bottom: 8%;
left: 40%;
transform: rotate(55deg)
}

.prm .realcases h2 {
font-size: 44px;
line-height: 1.1;
color: #1b2535;
margin: 0 0 12px
}

.prm .realcases .rcsubt {
font-size: 19px;
line-height: 1.55;
color: #3a4558;
margin: 0 0 36px;
max-width: 600px
}

.prm .realcases .casegrid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px
}

.prm .realcases .casegrid .caseitem {
background: #fff;
border-radius: 6px;
padding: 36px 24px;
box-shadow: 1px 3px 2px 0 #d51a1d14;
display: flex;
flex-direction: column;
gap: 12px;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1)
}

.prm .realcases .casegrid .caseitem:hover {
box-shadow: 1px 8px 52px 0 #d51a1d1a
}

.prm .realcases .casegrid .caseitem .casename {
font-size: 16px;
line-height: 1.35;
color: #106394;
font-weight: 700
}

.prm .realcases .casegrid .caseitem .casesit {
font-size: 16px;
line-height: 1.55;
color: #5a6478
}

.prm .realcases .casegrid .caseitem .caseout {
font-size: 16px;
line-height: 1.55;
color: #1b2535;
padding-top: 12px;
border-top: 1px solid #e4e8ef
}

.prm .realcases .casegrid .caseitem .caseout strong {
color: #D51A1D
}

.prm .scalediv {
padding: 72px;
position: relative;
overflow: hidden
}

.prm .scalediv::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(31deg, #106394 0%, #1b2535 100%);
z-index: 0
}

.prm .scalediv::after {
content: '';
position: absolute;
top: 0;
left: 40%;
width: 60%;
height: 100%;
background: linear-gradient(31deg, transparent 0%, #d51a1d1f 100%);
z-index: 0;
pointer-events: none
}

.prm .scalediv .scalecont {
position: relative;
z-index: 1
}

.prm .scalediv .scalecont h2 {
font-size: 44px;
line-height: 1.1;
color: #fff;
margin: 0 0 12px
}

.prm .scalediv .scalecont .scsubt {
font-size: 19px;
line-height: 1.55;
color: #ffffffc7;
max-width: 580px;
margin: 0 0 36px
}

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

.prm .scalediv .scalecont .metrow .metitem {
background: #ffffff14;
border-radius: 6px;
padding: 36px 24px;
text-align: center;
transition: background .14s cubic-bezier(0.4, 0, 1, 1)
}

.prm .scalediv .scalecont .metrow .metitem:hover {
background: #ffffff24
}

.prm .scalediv .scalecont .metrow .metitem .metnum {
font-size: 44px;
line-height: 1.1;
color: #D51A1D;
display: block;
margin-bottom: 8px
}

.prm .scalediv .scalecont .metrow .metitem .metlbl {
font-size: 16px;
line-height: 1.55;
color: #ffffffd1
}

.prm .scalediv .scalecont .imgrow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 36px
}

.prm .scalediv .scalecont .imgrow .imgwrap {
border-radius: 6px;
overflow: hidden;
aspect-ratio: 1/1;
max-height: 340px
}

.prm .scalediv .scalecont .imgrow .imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .16s cubic-bezier(0.4, 0, 1, 1)
}

.prm .scalediv .scalecont .imgrow .imgwrap:hover img {
transform: scale(1.03)
}

.prm .scalediv .scalecont .imgrow .scaletext {
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px
}

.prm .scalediv .scalecont .imgrow .scaletext p {
font-size: 19px;
line-height: 1.8;
color: #ffffffd9;
margin: 0
}

.prm .recogdiv {
padding: 72px;
background: #fff;
display: grid;
grid-template-columns: 1fr 420px;
gap: 72px;
align-items: center
}

.prm .recogdiv .recleft {
display: flex;
flex-direction: column;
gap: 24px
}

.prm .recogdiv .recleft h2 {
font-size: 44px;
line-height: 1.1;
color: #1b2535;
margin: 0;
position: relative;
display: inline-block
}

.prm .recogdiv .recleft h2::after {
content: '';
position: absolute;
bottom: -6px;
left: 0;
width: 0;
height: 2px;
background: #D51A1D;
animation: drawline .17s cubic-bezier(0.4, 0, 1, 1) 1s forwards
}

.prm .recogdiv .recleft .recdesc {
font-size: 16px;
line-height: 1.8;
color: #3a4558;
max-width: 520px;
margin: 0
}

.prm .recogdiv .recleft .assoclist {
display: flex;
flex-direction: column;
gap: 12px;
margin: 0;
padding: 0;
list-style: none
}

.prm .recogdiv .recleft .assoclist li {
display: flex;
align-items: flex-start;
gap: 12px;
font-size: 16px;
line-height: 1.55;
color: #3a4558
}

.prm .recogdiv .recleft .assoclist li .asicon {
flex-shrink: 0;
width: 20px;
height: 20px;
margin-top: 2px
}

.prm .recogdiv .recright {
display: flex;
flex-direction: column;
gap: 24px
}

.prm .recogdiv .recright .certcard {
background: linear-gradient(31deg, #1063940f 0%, transparent 100%);
border-radius: 6px;
padding: 24px;
box-shadow: 1px 3px 2px 0 #10639414;
transition: box-shadow .13s cubic-bezier(0.4, 0, 1, 1)
}

.prm .recogdiv .recright .certcard:hover {
box-shadow: 1px 6px 22px 0 #1063941a
}

.prm .recogdiv .recright .certcard h5 {
font-size: 16px;
line-height: 1.35;
color: #106394;
margin: 0 0 8px
}

.prm .recogdiv .recright .certcard p {
font-size: 16px;
line-height: 1.55;
color: #3a4558;
margin: 0
}

.prm .workrel {
padding: 72px;
background: #f2f4f7;
position: relative
}

.prm .workrel .diagbg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.prm .workrel .diagbg::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 45%;
height: 100%;
background: linear-gradient(31deg, transparent 0%, #d51a1d0d 100%);
clip-path: polygon(15% 0%, 100% 0%, 100% 100%, 0% 100%)
}

.prm .workrel .wrcont {
position: relative;
z-index: 1
}

.prm .workrel .wrcont h2 {
font-size: 44px;
line-height: 1.1;
color: #1b2535;
margin: 0 0 12px
}

.prm .workrel .wrcont .wrsubt {
font-size: 19px;
line-height: 1.55;
color: #3a4558;
max-width: 600px;
margin: 0 0 36px
}

.prm .workrel .wrcont .stepsrow {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 36px
}

.prm .workrel .wrcont .stepsrow .stepitem {
display: flex;
flex-direction: column;
gap: 12px
}

.prm .workrel .wrcont .stepsrow .stepitem .stepnum {
font-size: 44px;
line-height: 1.1;
color: #D51A1D;
opacity: .22;
font-weight: 700
}

.prm .workrel .wrcont .stepsrow .stepitem h4 {
font-size: 19px;
line-height: 1.35;
color: #1b2535;
margin: 0
}

.prm .workrel .wrcont .stepsrow .stepitem p {
font-size: 16px;
line-height: 1.8;
color: #3a4558;
margin: 0
}

.prm .workrel .wrcont .imgfull {
margin-top: 36px;
border-radius: 6px;
overflow: hidden;
aspect-ratio: 1/1;
max-height: 360px
}

.prm .workrel .wrcont .imgfull img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.prm .workrel .wrcont .wrpull {
margin-top: 36px;
font-size: 19px;
line-height: 1.55;
color: #106394;
border-top: 2px solid #1063944d;
padding-top: 24px;
max-width: 720px;
font-style: italic
}

@media (max-width: 1280px) {
.prm .titblk {
grid-template-columns: 240px 1fr;
padding: 36px 36px 36px 0
}

.prm .titblk .txtzone {
padding: 36px
}

.prm .titblk .txtzone h1 {
font-size: 44px
}

.prm .whofor {
padding: 36px;
gap: 36px
}

.prm .realcases {
padding: 36px
}

.prm .realcases .casegrid {
grid-template-columns: 1fr 1fr
}

.prm .scalediv {
padding: 36px
}

.prm .scalediv .scalecont .metrow {
grid-template-columns: repeat(2, 1fr)
}

.prm .scalediv .scalecont .imgrow {
grid-template-columns: 1fr
}

.prm .recogdiv {
padding: 36px;
gap: 36px;
grid-template-columns: 1fr 340px
}

.prm .workrel {
padding: 36px
}

.prm .workrel .wrcont .stepsrow {
grid-template-columns: 1fr 1fr;
gap: 24px
}
}

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

.prm .titblk .imgcol {
height: 220px;
border-radius: 0
}

.prm .titblk .imgcol .imgfade {
background: linear-gradient(180deg, transparent 0%, #f2f4f7 90%)
}

.prm .titblk .txtzone {
padding: 24px
}

.prm .titblk .txtzone h1 {
font-size: 44px
}

.prm .titblk .txtzone .brace {
display: none
}

.prm .whofor {
grid-template-columns: 1fr;
padding: 36px 24px;
gap: 24px
}

.prm .whofor .wfleft h2 {
font-size: 44px
}

.prm .realcases {
padding: 36px 24px
}

.prm .realcases h2 {
font-size: 44px
}

.prm .realcases .casegrid {
grid-template-columns: 1fr
}

.prm .scalediv {
padding: 36px 24px
}

.prm .scalediv .scalecont h2 {
font-size: 44px
}

.prm .scalediv .scalecont .metrow {
grid-template-columns: 1fr 1fr;
gap: 12px
}

.prm .scalediv .scalecont .imgrow {
grid-template-columns: 1fr
}

.prm .recogdiv {
grid-template-columns: 1fr;
padding: 36px 24px;
gap: 24px
}

.prm .recogdiv .recleft h2 {
font-size: 44px
}

.prm .workrel {
padding: 36px 24px
}

.prm .workrel .wrcont h2 {
font-size: 44px
}

.prm .workrel .wrcont .stepsrow {
grid-template-columns: 1fr;
gap: 24px
}
}

.contus {
max-width: 1600px;
margin: 0 auto;
overflow: hidden
}

.contus .pg-strip {
height: 4px;
background: linear-gradient(31deg, #D51A1D, #106394);
width: 100%
}

.contus .pano {
display: flex;
flex-direction: row;
align-items: stretch;
min-height: 340px;
background: #f4f6f9;
position: relative
}

.contus .pano-left {
flex: 1 1 40%;
padding: 72px 36px 72px 72px;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px
}

.contus .pano-right {
flex: 1 1 60%;
position: relative;
display: flex;
align-items: stretch
}

.contus .pano-img-wrap {
width: 100%;
overflow: hidden;
position: relative
}

.contus .pano-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .16s cubic-bezier(0.4, 0, 1, 1)
}

.contus .pano-img-wrap:hover img {
transform: scale(1.04)
}

.contus .pano-img-wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(31deg, #10639461 0%, transparent 70%);
pointer-events: none
}

.contus .pano-vignette {
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 0% 0%, #10639438 0%, transparent 55%), radial-gradient(ellipse at 100% 100%, #d51a1d24 0%, transparent 50%);
pointer-events: none;
z-index: 2
}

.contus .pano-label {
font-size: 16px;
line-height: 1.35;
color: #106394;
text-transform: uppercase;
letter-spacing: .12em;
font-weight: 600
}

.contus .pano-heading {
font-size: 60px;
line-height: 1.1;
color: #1b2a38;
font-weight: 800;
margin: 0
}

.contus .pano-heading span {
display: inline-block;
position: relative;
color: #D51A1D
}

.contus .pano-heading span::after {
content: '';
position: absolute;
left: 0;
bottom: -4px;
width: 100%;
height: 3px;
background: #D51A1D;
transform: scaleX(0);
transform-origin: left;
animation: drawline .18s cubic-bezier(0.4, 0, 1, 1) .3s forwards
}

@keyframes drawline {
to {
transform: scaleX(1)
}
}

.contus .pano-sub {
font-size: 19px;
line-height: 1.55;
color: #3a4a58;
max-width: 420px;
margin: 0
}

.contus .pano-deco {
position: absolute;
top: 0;
left: 0;
width: 6px;
height: 100%;
background: linear-gradient(180deg, #D51A1D 0%, #106394 100%)
}

.contus .dots-div {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 8px;
padding: 24px 0;
background: #fff
}

.contus .dots-div span {
width: 6px;
height: 6px;
border-radius: 48px;
background: #106394;
display: inline-block
}

.contus .dots-div span:nth-child(2) {
background: #D51A1D;
width: 8px;
height: 8px
}

.contus .formzone {
background: #fff;
padding: 72px;
position: relative
}

.contus .formzone::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 80px;
background: linear-gradient(180deg, #1063940f 0%, transparent 100%);
pointer-events: none
}

.contus .form-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 36px 72px;
max-width: 1200px;
margin: 0 auto
}

.contus .form-col-left {
display: flex;
flex-direction: column;
gap: 24px
}

.contus .form-col-right {
display: flex;
flex-direction: column;
gap: 24px
}

.contus .form-head {
grid-column: 1 / -1;
display: flex;
flex-direction: column;
gap: 12px;
padding-bottom: 12px;
border-bottom: 2px solid #e8ecf0
}

.contus .form-head h2 {
font-size: 44px;
line-height: 1.1;
color: #1b2a38;
margin: 0;
font-weight: 700
}

.contus .form-head p {
font-size: 19px;
line-height: 1.55;
color: #4a5a68;
margin: 0;
max-width: 600px
}

.contus .fld-grp {
display: flex;
flex-direction: column;
gap: 8px
}

.contus .fld-grp label {
font-size: 16px;
line-height: 1.35;
color: #1b2a38;
font-weight: 600
}

.contus .fld-grp input[type="text"],
.contus .fld-grp input[type="email"],
.contus .fld-grp input[type="tel"] {
padding: 12px 24px;
border: 2px solid #cdd5de;
border-radius: 6px;
font-size: 16px;
line-height: 1.55;
color: #1b2a38;
background: #f7f9fb;
outline: none;
transition: border-color .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
width: 100%;
box-sizing: border-box
}

.contus .fld-grp input[type="text"]::placeholder,
.contus .fld-grp input[type="email"]::placeholder,
.contus .fld-grp input[type="tel"]::placeholder {
color: #1b2a3866
}

.contus .fld-grp input[type="text"]:focus,
.contus .fld-grp input[type="email"]:focus,
.contus .fld-grp input[type="tel"]:focus {
border-color: #106394;
box-shadow: 1px 3px 2px 0 #10639414;
background: #fff
}

.contus .budget-grp {
display: flex;
flex-direction: column;
gap: 12px
}

.contus .budget-grp legend {
font-size: 16px;
line-height: 1.35;
color: #1b2a38;
font-weight: 600;
margin-bottom: 4px
}

.contus .radio-row {
display: flex;
flex-direction: column;
gap: 8px
}

.contus .radio-opt {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 12px 24px;
border: 2px solid #cdd5de;
border-radius: 6px;
cursor: pointer;
background: #f7f9fb;
transition: border-color .14s cubic-bezier(0.4, 0, 1, 1), background .14s cubic-bezier(0.4, 0, 1, 1);
position: relative
}

.contus .radio-opt input[type="radio"] {
accent-color: #106394;
width: 18px;
height: 18px;
cursor: pointer;
flex-shrink: 0
}

.contus .radio-opt:hover {
border-color: #106394;
background: #edf4f9
}

.contus .radio-opt input[type="radio"]:checked+.radio-lbl {
color: #106394;
font-weight: 600
}

.contus .radio-lbl {
font-size: 16px;
line-height: 1.35;
color: #3a4a58;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.contus .privacy-row {
grid-column: 1 / -1;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 12px 0
}

.contus .privacy-row input[type="checkbox"] {
width: 20px;
height: 20px;
accent-color: #106394;
flex-shrink: 0;
margin-top: 2px;
cursor: pointer
}

.contus .privacy-row p {
font-size: 16px;
line-height: 1.55;
color: #4a5a68;
margin: 0
}

.contus .privacy-row a {
color: #106394;
text-decoration: underline;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.contus .privacy-row a:hover {
color: #D51A1D
}

.contus .submit-row {
grid-column: 1 / -1;
display: flex;
flex-direction: row;
align-items: center;
gap: 24px
}

.contus .btn-send {
position: relative;
padding: 12px 36px;
border-radius: 6px;
border: none;
font-size: 19px;
line-height: 1.35;
font-weight: 700;
color: #fff;
background: #106394;
cursor: pointer;
overflow: hidden;
transition: color .15s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 6px 22px 0 #1063941a
}

.contus .btn-send::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(31deg, #D51A1D, #c01519);
transition: left .15s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.contus .btn-send:hover::before {
left: 0
}

.contus .btn-send:hover {
box-shadow: 1px 8px 52px 0 #d51a1d1a
}

.contus .btn-send span {
position: relative;
z-index: 1
}

.contus .btn-send:focus-visible {
outline: 3px solid #D51A1D;
outline-offset: 3px
}

.contus .form-note {
font-size: 16px;
line-height: 1.55;
color: #7a8a98
}

.contus .dots-div2 {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 8px;
padding: 24px 0;
background: linear-gradient(180deg, #fff 0%, #f0f4f8 100%)
}

.contus .dots-div2 span {
width: 6px;
height: 6px;
border-radius: 48px;
background: #D51A1D;
display: inline-block
}

.contus .dots-div2 span:nth-child(2) {
background: #106394;
width: 8px;
height: 8px
}

.contus .infostrip {
background: linear-gradient(180deg, #f0f4f8 0%, #fff 100%);
padding: 72px;
position: relative
}

.contus .infostrip-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 36px;
align-items: stretch
}

.contus .info-card {
flex: 1 1 0;
border: 2px solid #e0e8f0;
border-radius: 6px;
padding: 36px 24px;
background: #fff;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow: 1px 3px 2px 0 #10639414;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), border-color .15s cubic-bezier(0.4, 0, 1, 1);
position: relative;
overflow: hidden
}

.contus .info-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(31deg, #106394, #D51A1D);
transform: scaleX(0);
transform-origin: left;
transition: transform .16s cubic-bezier(0.4, 0, 1, 1)
}

.contus .info-card:hover::before {
transform: scaleX(1)
}

.contus .info-card:hover {
box-shadow: 1px 6px 22px 0 #1063941a;
border-color: #b0c4d8
}

.contus .ic-icon {
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 6px;
background: #edf4f9
}

.contus .ic-icon svg {
width: 24px;
height: 24px
}

.contus .ic-label {
font-size: 16px;
line-height: 1.35;
color: #106394;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .08em
}

.contus .ic-val {
font-size: 19px;
line-height: 1.55;
color: #1b2a38;
font-weight: 500;
text-decoration: none;
transition: color .12s cubic-bezier(0.4, 0, 1, 1);
display: block
}

.contus .ic-val:hover {
color: #D51A1D
}

.contus .ic-desc {
font-size: 16px;
line-height: 1.55;
color: #5a6a78;
margin: 0
}

.contus .arrow-metric {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 12px 24px;
background: #edf4f9;
border-radius: 6px
}

.contus .metric-num {
font-size: 44px;
line-height: 1.1;
font-weight: 800;
color: #106394
}

.contus .metric-arrow {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px
}

.contus .metric-arrow svg {
width: 28px;
height: 28px
}

.contus .metric-num2 {
font-size: 44px;
line-height: 1.1;
font-weight: 800;
color: #D51A1D
}

.contus .metric-caption {
font-size: 16px;
line-height: 1.35;
color: #4a5a68;
max-width: 180px
}

.contus .prog-link-row {
grid-column: 1 / -1;
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
padding: 24px;
background: linear-gradient(31deg, #1063940f, #d51a1d0a);
border-radius: 6px;
border: 2px solid #d8e4ef
}

.contus .prog-link-row p {
font-size: 16px;
line-height: 1.55;
color: #3a4a58;
margin: 0;
flex: 1
}

.contus .prog-link-row a {
font-size: 16px;
line-height: 1.35;
color: #fff;
background: #106394;
padding: 8px 24px;
border-radius: 6px;
text-decoration: none;
font-weight: 600;
white-space: nowrap;
position: relative;
overflow: hidden;
display: inline-block;
transition: box-shadow .13s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 3px 2px 0 #10639414
}

.contus .prog-link-row a::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #D51A1D;
transition: left .13s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.contus .prog-link-row a:hover::before {
left: 0
}

.contus .prog-link-row a span {
position: relative;
z-index: 1
}

.contus .prog-link-row a:hover {
box-shadow: 1px 6px 22px 0 #d51a1d1a
}

.contus .drop-reveal {
animation: dropbounce .18s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

@keyframes dropbounce {
0% {
opacity: 0;
transform: translateY(-28px)
}

70% {
opacity: 1;
transform: translateY(4px)
}

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

.contus .pano-left .drop-reveal {
animation-delay: .05s
}

.contus .form-head .drop-reveal {
animation-delay: .08s
}

@media (max-width: 1280px) {
.contus .pano-left {
padding: 36px 24px 36px 36px
}

.contus .pano-heading {
font-size: 44px
}

.contus .formzone {
padding: 36px
}

.contus .infostrip {
padding: 36px
}

.contus .form-grid {
gap: 24px 36px
}
}

@media (max-width: 768px) {
.contus .pano {
flex-direction: column
}

.contus .pano-right {
min-height: 220px;
flex: 0 0 220px
}

.contus .pano-left {
padding: 36px 24px
}

.contus .pano-heading {
font-size: 44px
}

.contus .pano-deco {
width: 100%;
height: 4px;
top: auto;
bottom: 0;
left: 0;
background: linear-gradient(90deg, #D51A1D 0%, #106394 100%)
}

.contus .formzone {
padding: 36px 24px
}

.contus .form-grid {
grid-template-columns: 1fr;
gap: 24px
}

.contus .form-head {
grid-column: 1
}

.contus .privacy-row {
grid-column: 1
}

.contus .submit-row {
grid-column: 1;
flex-direction: column;
align-items: flex-start
}

.contus .prog-link-row {
grid-column: 1;
flex-direction: column;
align-items: flex-start
}

.contus .infostrip {
padding: 36px 24px
}

.contus .infostrip-inner {
flex-direction: column
}

.contus .arrow-metric {
flex-wrap: wrap
}

.contus .form-head h2 {
font-size: 44px
}
}

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

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

.abtu .cross-div {
display: flex;
align-items: center;
gap: 8px;
margin: 36px 0
}

.abtu .cross-div .cross-line {
flex: 1;
height: 1px;
background: #d0d8e0
}

.abtu .cross-div .cross-center {
display: flex;
gap: 8px;
align-items: center
}

.abtu .cross-div .cross-item {
width: 10px;
height: 10px;
position: relative;
flex-shrink: 0
}

.abtu .cross-div .cross-item::before,
.abtu .cross-div .cross-item::after {
content: "";
position: absolute;
background: #106394;
border-radius: 1px
}

.abtu .cross-div .cross-item::before {
width: 1px;
height: 10px;
left: 50%;
top: 0;
transform: translateX(-50%)
}

.abtu .cross-div .cross-item::after {
width: 10px;
height: 1px;
top: 50%;
left: 0;
transform: translateY(-50%)
}

.abtu .cross-full {
display: flex;
align-items: center;
gap: 8px;
padding: 0
}

.abtu .cross-full .cf-line {
flex: 1;
height: 1px;
background: #d0d8e0
}

.abtu .cross-full .cf-mid {
display: flex;
gap: 12px
}

.abtu .cross-full .cf-x {
width: 8px;
height: 8px;
position: relative
}

.abtu .cross-full .cf-x::before,
.abtu .cross-full .cf-x::after {
content: "";
position: absolute;
background: #D51A1D;
border-radius: 1px
}

.abtu .cross-full .cf-x::before {
width: 1px;
height: 8px;
left: 50%;
top: 0;
transform: translateX(-50%)
}

.abtu .cross-full .cf-x::after {
width: 8px;
height: 1px;
top: 50%;
left: 0;
transform: translateY(-50%)
}

.abtu .titblk {
padding: 96px 0 48px;
position: relative
}

.abtu .titblk .tb-inner {
max-width: 1600px;
margin: 0 auto;
padding: 0 24px;
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 36px;
align-items: end
}

.abtu .titblk .tb-imgwrap {
aspect-ratio: 1/1;
border-radius: 6px;
overflow: hidden;
box-shadow: 1px 6px 22px 0 #1063941a
}

.abtu .titblk .tb-imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.abtu .titblk .tb-text {
text-align: center;
padding-bottom: 12px
}

.abtu .titblk .tb-deco {
display: flex;
justify-content: center;
gap: 4px;
margin-bottom: 24px
}

.abtu .titblk .tb-deco span {
display: block;
width: 28px;
height: 3px;
background: #D51A1D;
opacity: .22;
border-radius: 1px
}

.abtu .titblk .tb-deco span:nth-child(2) {
width: 18px;
opacity: .14
}

.abtu .titblk .tb-deco span:nth-child(3) {
width: 10px;
opacity: .09
}

.abtu .titblk .tb-label {
font-size: 16px;
line-height: 1.35;
color: #106394;
letter-spacing: .12em;
text-transform: uppercase;
margin-bottom: 12px;
display: block
}

.abtu .titblk .tb-h1 {
font-size: 60px;
line-height: 1.1;
color: #1a2a38;
margin-bottom: 24px;
position: relative;
display: inline-block
}

.abtu .titblk .tb-h1 .acc-word {
position: relative;
display: inline-block
}

.abtu .titblk .tb-h1 .acc-word::after {
content: "";
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: #D51A1D;
animation: underline-draw .16s cubic-bezier(0.4, 0, 1, 1) .4s forwards
}

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

.abtu .titblk .tb-sub {
font-size: 19px;
line-height: 1.55;
color: #3d5060;
margin-bottom: 36px;
max-width: 520px;
margin-left: auto;
margin-right: auto
}

.abtu .titblk .tb-link {
display: inline-block;
padding: 12px 36px;
background: linear-gradient(31deg, #D51A1D 0%, transparent 100%);
background-color: #106394;
color: #fff;
font-size: 16px;
line-height: 1.35;
border-radius: 6px;
text-decoration: none;
transition: background-color .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 3px 2px 0 #d51a1d14;
position: relative;
overflow: hidden
}

.abtu .titblk .tb-link::before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(31deg, #D51A1D 60%, transparent 100%);
transition: left .13s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.abtu .titblk .tb-link:hover::before {
left: 0
}

.abtu .titblk .tb-link span {
position: relative;
z-index: 1
}

.abtu .titblk .tb-link:hover {
box-shadow: 1px 6px 22px 0 #d51a1d1a
}

.abtu .titblk .tb-strokes {
position: absolute;
top: 24px;
right: 36px;
display: flex;
flex-direction: column;
gap: 6px;
pointer-events: none
}

.abtu .titblk .tb-strokes span {
display: block;
height: 2px;
background: #106394;
opacity: .13;
border-radius: 1px
}

.abtu .storysec {
background: #f3f7fa;
padding: 72px 0;
position: relative
}

.abtu .storysec::before {
content: "";
position: absolute;
inset: 0;
background: repeating-linear-gradient(90deg, #10639409 0px, #10639409 1px, transparent 1px, transparent 48px);
pointer-events: none
}

.abtu .storysec .st-head {
max-width: 1600px;
margin: 0 auto;
padding: 0 24px;
margin-bottom: 48px
}

.abtu .storysec .st-label {
font-size: 16px;
line-height: 1.35;
color: #D51A1D;
letter-spacing: .1em;
text-transform: uppercase;
display: block;
margin-bottom: 12px
}

.abtu .storysec .st-h2 {
font-size: 44px;
line-height: 1.1;
color: #1a2a38;
max-width: 640px;
position: relative;
display: inline-block
}

.abtu .storysec .st-h2 .acc-word {
position: relative;
display: inline-block
}

.abtu .storysec .st-h2 .acc-word::after {
content: "";
position: absolute;
bottom: -3px;
left: 0;
width: 0;
height: 2px;
background: #106394;
transition: width .16s cubic-bezier(0.4, 0, 1, 1)
}

.abtu .storysec .st-h2:hover .acc-word::after {
width: 100%
}

.abtu .storysec .timeline {
max-width: 1600px;
margin: 0 auto;
padding: 0 24px;
position: relative
}

.abtu .storysec .timeline::before {
content: "";
position: absolute;
left: 50%;
top: 0;
bottom: 0;
width: 1px;
background: #c5d5e2;
transform: translateX(-50%)
}

.abtu .storysec .tl-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 36px;
margin-bottom: 48px;
position: relative;
opacity: 0;
transform: translateY(18px);
animation: rowrev .15s cubic-bezier(0.4, 0, 1, 1) forwards
}

.abtu .storysec .tl-row:nth-child(1) {
animation-delay: .08s
}

.abtu .storysec .tl-row:nth-child(2) {
animation-delay: .14s
}

.abtu .storysec .tl-row:nth-child(3) {
animation-delay: .2s
}

.abtu .storysec .tl-row:nth-child(4) {
animation-delay: .26s
}

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

.abtu .storysec .tl-row::before {
content: "";
position: absolute;
left: 50%;
top: 24px;
width: 10px;
height: 10px;
border-radius: 48px;
background: #D51A1D;
transform: translateX(-50%);
z-index: 1
}

.abtu .storysec .tl-left {
text-align: right;
padding-right: 36px
}

.abtu .storysec .tl-right {
padding-left: 36px
}

.abtu .storysec .tl-year {
font-size: 44px;
line-height: 1.1;
color: #106394;
opacity: .18;
font-weight: 700;
display: block;
margin-bottom: 8px
}

.abtu .storysec .tl-h4 {
font-size: 19px;
line-height: 1.35;
color: #1a2a38;
margin-bottom: 8px
}

.abtu .storysec .tl-p {
font-size: 16px;
line-height: 1.55;
color: #3d5060
}

.abtu .storysec .tl-empty {
visibility: hidden
}

.abtu .metrsec {
padding: 72px 0;
background: #fff
}

.abtu .metrsec .mt-inner {
max-width: 1600px;
margin: 0 auto;
padding: 0 24px
}

.abtu .metrsec .mt-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px;
align-items: center;
margin-bottom: 72px
}

.abtu .metrsec .mt-textcol .mt-label {
font-size: 16px;
line-height: 1.35;
color: #106394;
letter-spacing: .1em;
text-transform: uppercase;
display: block;
margin-bottom: 12px
}

.abtu .metrsec .mt-textcol .mt-h2 {
font-size: 44px;
line-height: 1.1;
color: #1a2a38;
margin-bottom: 24px;
position: relative;
display: inline-block
}

.abtu .metrsec .mt-textcol .mt-h2 .acc-word {
position: relative;
display: inline-block
}

.abtu .metrsec .mt-textcol .mt-h2 .acc-word::after {
content: "";
position: absolute;
bottom: -3px;
left: 0;
width: 0;
height: 2px;
background: #D51A1D;
transition: width .14s cubic-bezier(0.4, 0, 1, 1)
}

.abtu .metrsec .mt-textcol .mt-h2:hover .acc-word::after {
width: 100%
}

.abtu .metrsec .mt-textcol .mt-p {
font-size: 16px;
line-height: 1.55;
color: #3d5060;
margin-bottom: 12px
}

.abtu .metrsec .mt-imgcol {
aspect-ratio: 1/1;
border-radius: 6px;
overflow: hidden;
box-shadow: 1px 8px 52px 0 #1063941a
}

.abtu .metrsec .mt-imgcol img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

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

.abtu .metrsec .mt-card {
border-radius: 6px;
padding: 24px;
background: #f3f7fa;
box-shadow: 1px 3px 2px 0 #10639414;
transition: box-shadow .12s cubic-bezier(0.4, 0, 1, 1), transform .11s cubic-bezier(0.4, 0, 1, 1);
opacity: 0;
transform: translateY(14px);
animation: rowrev .15s cubic-bezier(0.4, 0, 1, 1) forwards
}

.abtu .metrsec .mt-card:nth-child(1) {
animation-delay: .06s
}

.abtu .metrsec .mt-card:nth-child(2) {
animation-delay: .11s
}

.abtu .metrsec .mt-card:nth-child(3) {
animation-delay: .16s
}

.abtu .metrsec .mt-card:nth-child(4) {
animation-delay: .21s
}

.abtu .metrsec .mt-card:hover {
box-shadow: 1px 6px 22px 0 #1063941a;
transform: translateY(-3px)
}

.abtu .metrsec .mt-card .mc-icon {
width: 36px;
height: 36px;
margin-bottom: 12px
}

.abtu .metrsec .mt-card .mc-num {
font-size: 44px;
line-height: 1.1;
color: #D51A1D;
display: block;
margin-bottom: 8px
}

.abtu .metrsec .mt-card .mc-h5 {
font-size: 16px;
line-height: 1.35;
color: #1a2a38;
margin-bottom: 8px
}

.abtu .metrsec .mt-card .mc-p {
font-size: 16px;
line-height: 1.55;
color: #3d5060
}

.abtu .teamsec {
padding: 72px 0;
background: linear-gradient(31deg, #d51a1d0f 0%, #10639417 100%);
position: relative
}

.abtu .teamsec .tm-inner {
max-width: 1600px;
margin: 0 auto;
padding: 0 24px
}

.abtu .teamsec .tm-head {
text-align: center;
margin-bottom: 48px
}

.abtu .teamsec .tm-label {
font-size: 16px;
line-height: 1.35;
color: #D51A1D;
letter-spacing: .1em;
text-transform: uppercase;
display: block;
margin-bottom: 12px
}

.abtu .teamsec .tm-h2 {
font-size: 44px;
line-height: 1.1;
color: #1a2a38;
margin-bottom: 24px;
display: inline-block;
position: relative
}

.abtu .teamsec .tm-h2 .acc-word {
position: relative;
display: inline-block
}

.abtu .teamsec .tm-h2 .acc-word::after {
content: "";
position: absolute;
bottom: -3px;
left: 0;
width: 0;
height: 2px;
background: #106394;
transition: width .16s cubic-bezier(0.4, 0, 1, 1)
}

.abtu .teamsec .tm-h2:hover .acc-word::after {
width: 100%
}

.abtu .teamsec .tm-intro {
font-size: 19px;
line-height: 1.55;
color: #3d5060;
max-width: 640px;
margin: 0 auto
}

.abtu .teamsec .tm-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
margin-bottom: 48px
}

.abtu .teamsec .tm-person {
border-radius: 6px;
background: #fff;
box-shadow: 1px 3px 2px 0 #d51a1d14;
overflow: hidden;
transition: box-shadow .13s cubic-bezier(0.4, 0, 1, 1);
opacity: 0;
transform: translateY(16px);
animation: rowrev .15s cubic-bezier(0.4, 0, 1, 1) forwards
}

.abtu .teamsec .tm-person:nth-child(1) {
animation-delay: .07s
}

.abtu .teamsec .tm-person:nth-child(2) {
animation-delay: .13s
}

.abtu .teamsec .tm-person:nth-child(3) {
animation-delay: .19s
}

.abtu .teamsec .tm-person:hover {
box-shadow: 1px 6px 22px 0 #d51a1d1a
}

.abtu .teamsec .tm-imgbox {
aspect-ratio: 1/1;
overflow: hidden
}

.abtu .teamsec .tm-imgbox img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .17s cubic-bezier(0.4, 0, 1, 1)
}

.abtu .teamsec .tm-person:hover .tm-imgbox img {
transform: scale(1.04)
}

.abtu .teamsec .tm-bio {
padding: 24px
}

.abtu .teamsec .tm-name {
font-size: 19px;
line-height: 1.35;
color: #1a2a38;
margin-bottom: 4px
}

.abtu .teamsec .tm-role {
font-size: 16px;
line-height: 1.35;
color: #106394;
display: block;
margin-bottom: 12px
}

.abtu .teamsec .tm-desc {
font-size: 16px;
line-height: 1.55;
color: #3d5060
}

.abtu .teamsec .tm-chars {
display: flex;
gap: 4px;
flex-wrap: wrap
}

.abtu .teamsec .tm-chars span {
display: inline-block;
cursor: default;
transition: color .11s cubic-bezier(0.4, 0, 1, 1)
}

.abtu .teamsec .tm-chars span:hover {
color: #D51A1D
}

.abtu .teamsec .tm-bottom {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 36px;
align-items: center;
padding-top: 36px
}

.abtu .teamsec .tm-cta {
background: #fff;
border-radius: 6px;
padding: 36px;
box-shadow: 1px 6px 22px 0 #1063941a
}

.abtu .teamsec .tm-cta .tc-h4 {
font-size: 19px;
line-height: 1.35;
color: #1a2a38;
margin-bottom: 12px
}

.abtu .teamsec .tm-cta .tc-p {
font-size: 16px;
line-height: 1.55;
color: #3d5060;
margin-bottom: 24px
}

.abtu .teamsec .tm-cta .tc-btn {
display: inline-block;
padding: 12px 36px;
border-radius: 6px;
background: #106394;
color: #fff;
font-size: 16px;
line-height: 1.35;
text-decoration: none;
position: relative;
overflow: hidden;
transition: box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 3px 2px 0 #10639414
}

.abtu .teamsec .tm-cta .tc-btn::before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(31deg, #D51A1D 60%, transparent 100%);
transition: left .13s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.abtu .teamsec .tm-cta .tc-btn:hover::before {
left: 0
}

.abtu .teamsec .tm-cta .tc-btn span {
position: relative;
z-index: 1
}

.abtu .teamsec .tm-cta .tc-btn:hover {
box-shadow: 1px 6px 22px 0 #d51a1d1a
}

.abtu .teamsec .tm-vals {
display: flex;
flex-direction: column;
gap: 24px
}

.abtu .teamsec .tv-item {
display: flex;
gap: 16px;
align-items: flex-start
}

.abtu .teamsec .tv-dot {
width: 8px;
height: 8px;
border-radius: 48px;
background: #D51A1D;
flex-shrink: 0;
margin-top: 6px
}

.abtu .teamsec .tv-text .tv-h5 {
font-size: 16px;
line-height: 1.35;
color: #1a2a38;
margin-bottom: 4px
}

.abtu .teamsec .tv-text .tv-p {
font-size: 16px;
line-height: 1.55;
color: #3d5060
}

.abtu .teamsec .tm-strokes {
position: absolute;
bottom: 36px;
left: 36px;
display: flex;
flex-direction: column;
gap: 5px;
pointer-events: none
}

.abtu .teamsec .tm-strokes span {
display: block;
height: 2px;
background: #D51A1D;
opacity: .1;
border-radius: 1px
}

@media (max-width: 1280px) {
.abtu .titblk .tb-h1 {
font-size: 44px
}

.abtu .metrsec .mt-grid {
grid-template-columns: repeat(2, 1fr)
}

.abtu .teamsec .tm-grid {
grid-template-columns: 1fr 1fr
}

.abtu .teamsec .tm-person:nth-child(3) {
display: none
}

.abtu .storysec .tl-year {
font-size: 36px
}
}

@media (max-width: 768px) {
.abtu .titblk {
padding: 48px 0 36px
}

.abtu .titblk .tb-inner {
grid-template-columns: 1fr
}

.abtu .titblk .tb-imgwrap {
display: none
}

.abtu .titblk .tb-h1 {
font-size: 44px
}

.abtu .storysec .timeline::before {
left: 16px
}

.abtu .storysec .tl-row {
grid-template-columns: 1fr;
padding-left: 36px
}

.abtu .storysec .tl-row::before {
left: 16px
}

.abtu .storysec .tl-left {
text-align: left;
padding-right: 0
}

.abtu .storysec .tl-right {
padding-left: 0
}

.abtu .storysec .tl-empty {
display: none
}

.abtu .metrsec .mt-top {
grid-template-columns: 1fr;
gap: 36px
}

.abtu .metrsec .mt-grid {
grid-template-columns: 1fr 1fr
}

.abtu .teamsec .tm-grid {
grid-template-columns: 1fr
}

.abtu .teamsec .tm-person:nth-child(3) {
display: block
}

.abtu .teamsec .tm-bottom {
grid-template-columns: 1fr
}

.abtu .storysec .st-h2 {
font-size: 36px
}
}

.anlyt {
max-width: 1600px;
margin: 0 auto;
overflow: hidden
}

.anlyt .pghead {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 0;
padding: 72px 72px 0;
position: relative
}

.anlyt .pghead-img {
width: 340px;
min-width: 280px;
flex-shrink: 0;
position: relative;
border-radius: 6px;
overflow: hidden
}

.anlyt .pghead-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
aspect-ratio: 1/1
}

.anlyt .pghead-img-leak {
position: absolute;
top: 0;
left: 0;
width: 60%;
height: 60%;
background: linear-gradient(31deg, #d51a1d2e 0%, transparent 70%);
pointer-events: none
}

.anlyt .pghead-geo {
position: absolute;
bottom: 24px;
right: 24px;
width: 64px;
height: 64px;
border: 2px solid #1063942e;
border-radius: 6px;
opacity: .35;
pointer-events: none
}

.anlyt .pghead-geo2 {
position: absolute;
top: 36px;
right: -20px;
width: 36px;
height: 36px;
border: 2px solid #d51a1d38;
border-radius: 48px;
opacity: .28;
pointer-events: none
}

.anlyt .pghead-text {
flex: 1;
padding: 36px 0 36px 72px;
display: flex;
flex-direction: column;
justify-content: center
}

.anlyt .pghead-label {
font-size: 16px;
line-height: 1.35;
color: #106394;
text-transform: uppercase;
letter-spacing: .12em;
margin-bottom: 12px;
font-weight: 600
}

.anlyt .pghead-h1 {
font-size: 60px;
line-height: 1.1;
color: #1b2a38;
margin: 0 0 24px;
font-weight: 700
}

.anlyt .pghead-h1 span {
display: inline-block;
position: relative;
color: #D51A1D
}

.anlyt .pghead-h1 span::after {
content: '';
display: block;
height: 3px;
background: #D51A1D;
border-radius: 6px;
width: 0;
transition: width .16s cubic-bezier(0.4, 0, 1, 1);
margin-top: 2px
}

.anlyt .pghead-h1:hover span::after {
width: 100%
}

.anlyt .pghead-tagline {
font-size: 19px;
line-height: 1.55;
color: #3a4a58;
max-width: 520px;
margin: 0 0 36px
}

.anlyt .pghead-links {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center
}

.anlyt .pghead-btn {
display: inline-block;
padding: 12px 36px;
border-radius: 6px;
font-size: 16px;
line-height: 1.35;
font-weight: 600;
color: #fff;
background: #D51A1D;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .13s cubic-bezier(0.4, 0, 1, 1), box-shadow .13s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 3px 2px 0 #d51a1d14
}

.anlyt .pghead-btn::before {
content: '';
position: absolute;
left: -100%;
top: 0;
width: 100%;
height: 100%;
background: linear-gradient(31deg, #106394 0%, #1a7ab8 100%);
transition: left .15s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.anlyt .pghead-btn:hover::before {
left: 0
}

.anlyt .pghead-btn span {
position: relative;
z-index: 1
}

.anlyt .pghead-link {
font-size: 16px;
line-height: 1.35;
color: #106394;
text-decoration: none;
border-bottom: 1px solid #1063944d;
transition: color .12s cubic-bezier(0.4, 0, 1, 1), border-color .12s cubic-bezier(0.4, 0, 1, 1)
}

.anlyt .pghead-link:hover {
color: #D51A1D;
border-color: #d51a1d66
}

.anlyt .divider-wave {
width: 100%;
height: 48px;
margin: 36px 0 0;
display: block
}

.anlyt .postsec {
padding: 72px;
background: #f4f7fa
}

.anlyt .postsec-top {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 36px
}

.anlyt .postsec-heading {
font-size: 44px;
line-height: 1.1;
color: #1b2a38;
margin: 0;
font-weight: 700;
position: relative;
display: inline-block
}

.anlyt .postsec-heading::after {
content: '';
display: block;
height: 3px;
background: linear-gradient(31deg, #D51A1D 0%, transparent 100%);
border-radius: 6px;
width: 0;
animation: headlineIn .17s cubic-bezier(0.4, 0, 1, 1) .1s forwards
}

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

.anlyt .postsec-count {
font-size: 16px;
line-height: 1.35;
color: #106394;
font-weight: 600
}

.anlyt .cardgrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 36px
}

.anlyt .card {
background: #fff;
border-radius: 6px;
box-shadow: 1px 3px 2px 0 #10639414;
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), transform .15s cubic-bezier(0.4, 0, 1, 1);
animation: cardElastic .18s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

@keyframes cardElastic {
from {
opacity: 0;
transform: translateY(18px) scale(0.97)
}

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

.anlyt .card:hover {
box-shadow: 1px 6px 22px 0 #1063941a;
transform: translateY(-4px)
}

.anlyt .card-imgwrap {
width: 100%;
aspect-ratio: 1/1;
overflow: hidden;
position: relative;
flex-shrink: 0
}

.anlyt .card-imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .17s cubic-bezier(0.4, 0, 1, 1)
}

.anlyt .card:hover .card-imgwrap img {
transform: scale(1.04)
}

.anlyt .card-body {
padding: 24px;
display: flex;
flex-direction: column;
flex: 1;
gap: 12px
}

.anlyt .card-meta {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.anlyt .card-date {
font-size: 16px;
line-height: 1.35;
color: #8a9bb0;
display: flex;
align-items: center;
gap: 8px
}

.anlyt .card-date svg {
width: 15px;
height: 15px;
flex-shrink: 0
}

.anlyt .card-views {
font-size: 16px;
line-height: 1.35;
color: #8a9bb0;
display: flex;
align-items: center;
gap: 8px;
margin-left: auto
}

.anlyt .card-views svg {
width: 15px;
height: 15px;
flex-shrink: 0
}

.anlyt .card-h {
font-size: 19px;
line-height: 1.35;
color: #1b2a38;
font-weight: 700;
margin: 0
}

.anlyt .card-desc {
font-size: 16px;
line-height: 1.55;
color: #3a4a58;
margin: 0;
flex: 1
}

.anlyt .card-readlink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
line-height: 1.35;
color: #106394;
text-decoration: none;
font-weight: 600;
margin-top: 4px;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.anlyt .card-readlink svg {
width: 16px;
height: 16px;
transition: transform .13s cubic-bezier(0.4, 0, 1, 1)
}

.anlyt .card-readlink:hover {
color: #D51A1D
}

.anlyt .card-readlink:hover svg {
transform: translateX(4px)
}

.anlyt .divider-line {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 0 72px;
box-sizing: border-box
}

.anlyt .divider-line-bar {
flex: 1;
height: 1px;
background: linear-gradient(31deg, transparent, #1063942e, transparent)
}

.anlyt .divider-line-center {
width: 36px;
height: 36px;
border-radius: 48px;
border: 2px solid #d51a1d38;
display: flex;
align-items: center;
justify-content: center;
margin: 0 24px;
flex-shrink: 0
}

.anlyt .divider-line-dot {
width: 10px;
height: 10px;
border-radius: 48px;
background: #D51A1D
}

.anlyt .statsec {
padding: 72px;
background: #fff;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start
}

.anlyt .statsec-left {
flex: 1.1;
display: flex;
flex-direction: column;
gap: 24px
}

.anlyt .statsec-label {
font-size: 16px;
line-height: 1.35;
color: #D51A1D;
text-transform: uppercase;
letter-spacing: .1em;
font-weight: 600
}

.anlyt .statsec-h {
font-size: 44px;
line-height: 1.1;
color: #1b2a38;
font-weight: 700;
margin: 0
}

.anlyt .statsec-p {
font-size: 19px;
line-height: 1.55;
color: #3a4a58;
margin: 0;
max-width: 440px
}

.anlyt .statsec-p2 {
font-size: 16px;
line-height: 1.8;
color: #3a4a58;
margin: 0;
max-width: 440px
}

.anlyt .statsec-right {
flex: 1;
display: flex;
flex-direction: column;
gap: 12px
}

.anlyt .rankrow {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 12px 0;
border-bottom: 1px solid #10639414;
transition: background .12s cubic-bezier(0.4, 0, 1, 1);
border-radius: 6px
}

.anlyt .rankrow:last-child {
border-bottom: none
}

.anlyt .ranknum {
width: 36px;
height: 36px;
border-radius: 6px;
background: linear-gradient(31deg, #D51A1D 0%, #d51a1d99 100%);
color: #fff;
font-size: 16px;
line-height: 1;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.anlyt .rankinfo {
flex: 1;
display: flex;
flex-direction: column;
gap: 4px
}

.anlyt .rankname {
font-size: 16px;
line-height: 1.35;
color: #1b2a38;
font-weight: 600
}

.anlyt .rankbar-wrap {
height: 6px;
background: #1063941a;
border-radius: 6px;
overflow: hidden
}

.anlyt .rankbar {
height: 100%;
border-radius: 6px;
background: linear-gradient(31deg, #106394 0%, #10639480 100%);
transition: width .17s cubic-bezier(0.4, 0, 1, 1)
}

.anlyt .rankpct {
font-size: 16px;
line-height: 1.35;
color: #106394;
font-weight: 700;
min-width: 40px;
text-align: right;
flex-shrink: 0
}

.anlyt .divider-wave2 {
width: 100%;
height: 40px;
display: block
}

.anlyt .imgsec {
position: relative;
min-height: 320px;
display: flex;
align-items: center;
overflow: hidden
}

.anlyt .imgsec-bg {
position: absolute;
inset: 0;
background: url(/image_library/intro12.jpg) center center / cover no-repeat;
z-index: 0
}

.anlyt .imgsec-overlay {
position: absolute;
inset: 0;
background: linear-gradient(31deg, #106394e0 0%, #1b2a38d1 100%);
z-index: 1
}

.anlyt .imgsec-inner {
position: relative;
z-index: 2;
max-width: 820px;
padding: 72px;
display: flex;
flex-direction: column;
gap: 24px
}

.anlyt .imgsec-h {
font-size: 44px;
line-height: 1.1;
color: #fff;
font-weight: 700;
margin: 0
}

.anlyt .imgsec-h span {
color: #f5a0a1
}

.anlyt .imgsec-p {
font-size: 19px;
line-height: 1.55;
color: #ffffffe0;
margin: 0;
max-width: 560px
}

.anlyt .imgsec-p2 {
font-size: 16px;
line-height: 1.8;
color: #ffffffc7;
margin: 0;
max-width: 540px
}

.anlyt .imgsec-cta {
display: inline-block;
padding: 12px 36px;
border-radius: 6px;
font-size: 16px;
line-height: 1.35;
font-weight: 600;
color: #fff;
background: #D51A1D;
text-decoration: none;
position: relative;
overflow: hidden;
transition: box-shadow .13s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 1px 6px 22px 0 #d51a1d1a;
align-self: flex-start
}

.anlyt .imgsec-cta::before {
content: '';
position: absolute;
left: -100%;
top: 0;
width: 100%;
height: 100%;
background: linear-gradient(31deg, #fff 0%, #ffffffe6 100%);
transition: left .14s cubic-bezier(0.4, 0, 1, 1);
z-index: 0
}

.anlyt .imgsec-cta:hover::before {
left: 0
}

.anlyt .imgsec-cta:hover {
color: #D51A1D
}

.anlyt .imgsec-cta-txt {
position: relative;
z-index: 1
}

.anlyt .threecol {
padding: 72px;
background: #f4f7fa
}

.anlyt .threecol-top {
margin-bottom: 36px
}

.anlyt .threecol-h {
font-size: 44px;
line-height: 1.1;
color: #1b2a38;
font-weight: 700;
margin: 0 0 12px;
position: relative;
display: inline-block
}

.anlyt .threecol-h::after {
content: '';
display: block;
height: 3px;
background: linear-gradient(31deg, #106394 0%, transparent 100%);
border-radius: 6px;
width: 0;
animation: headlineIn .17s cubic-bezier(0.4, 0, 1, 1) .15s forwards
}

.anlyt .threecol-sub {
font-size: 19px;
line-height: 1.55;
color: #3a4a58;
margin: 0;
max-width: 580px
}

.anlyt .threecols {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
align-items: start
}

.anlyt .tcol {
background: #fff;
border-radius: 6px;
padding: 36px 24px;
box-shadow: 1px 3px 2px 0 #d51a1d14;
display: flex;
flex-direction: column;
gap: 12px;
transition: box-shadow .14s cubic-bezier(0.4, 0, 1, 1), transform .14s cubic-bezier(0.4, 0, 1, 1)
}

.anlyt .tcol:hover {
box-shadow: 1px 8px 52px 0 #d51a1d1a;
transform: translateY(-3px)
}

.anlyt .tcol.tall {
padding: 48px 24px;
background: #fff !important;
border-top: 3px solid #D51A1D
}

.anlyt .tcol-icon {
width: 48px;
height: 48px;
border-radius: 48px;
background: linear-gradient(31deg, #D51A1D 0%, #d51a1db3 100%);
display: flex;
align-items: center;
justify-content: center;
box-shadow: 1px 3px 2px 0 #d51a1d14;
position: relative;
flex-shrink: 0
}

.anlyt .tcol-icon::after {
content: '';
position: absolute;
inset: -5px;
border-radius: 48px;
border: 2px solid #d51a1d38;
pointer-events: none
}

.anlyt .tcol-icon svg {
width: 22px;
height: 22px
}

.anlyt .tcol-h {
font-size: 19px;
line-height: 1.35;
color: #1b2a38;
font-weight: 700;
margin: 0
}

.anlyt .tcol-p {
font-size: 16px;
line-height: 1.8;
color: #3a4a58;
margin: 0
}

.anlyt .tablsec {
padding: 72px;
background: #fff;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start
}

.anlyt .tablsec-narr {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px
}

.anlyt .tablsec-label {
font-size: 16px;
line-height: 1.35;
color: #106394;
text-transform: uppercase;
letter-spacing: .1em;
font-weight: 600
}

.anlyt .tablsec-h {
font-size: 44px;
line-height: 1.1;
color: #1b2a38;
font-weight: 700;
margin: 0
}

.anlyt .tablsec-p {
font-size: 16px;
line-height: 1.8;
color: #3a4a58;
margin: 0
}

.anlyt .tablsec-p2 {
font-size: 16px;
line-height: 1.8;
color: #3a4a58;
margin: 0
}

.anlyt .tablsec-note {
font-size: 16px;
line-height: 1.55;
color: #8a9bb0;
margin: 0;
border-top: 1px solid #1063941f;
padding-top: 12px
}

.anlyt .tablsec-data {
flex: 1.3;
display: flex;
flex-direction: column;
gap: 8px
}

.anlyt .dtabl {
width: 100%;
border-collapse: collapse;
border-radius: 6px;
overflow: hidden;
box-shadow: 1px 3px 2px 0 #10639414
}

.anlyt .dtabl thead tr {
background: linear-gradient(31deg, #106394 0%, #1a7ab8 100%)
}

.anlyt .dtabl thead th {
padding: 12px 16px;
font-size: 16px;
line-height: 1.35;
color: #fff;
font-weight: 600;
text-align: left
}

.anlyt .dtabl tbody tr {
border-bottom: 1px solid #10639414;
transition: background .12s cubic-bezier(0.4, 0, 1, 1)
}

.anlyt .dtabl tbody tr:last-child {
border-bottom: none
}

.anlyt .dtabl tbody tr:hover {
background: #1063940d
}

.anlyt .dtabl tbody td {
padding: 12px 16px;
font-size: 16px;
line-height: 1.35;
color: #3a4a58
}

.anlyt .dtabl tbody td.emph {
color: #D51A1D;
font-weight: 700
}

.anlyt .dtabl tbody td.pos {
color: #1a7a4a;
font-weight: 600
}

.anlyt .dtabl tbody td.neg {
color: #D51A1D;
font-weight: 600
}

@media (max-width: 1280px) {
.anlyt .pghead {
padding: 36px 36px 0;
gap: 0
}

.anlyt .pghead-img {
width: 260px;
min-width: 200px
}

.anlyt .pghead-text {
padding: 24px 0 24px 36px
}

.anlyt .pghead-h1 {
font-size: 44px
}

.anlyt .postsec {
padding: 36px
}

.anlyt .cardgrid {
grid-template-columns: repeat(2, 1fr);
gap: 24px
}

.anlyt .statsec {
padding: 36px;
flex-direction: column;
gap: 36px
}

.anlyt .imgsec-inner {
padding: 36px
}

.anlyt .threecol {
padding: 36px
}

.anlyt .tablsec {
padding: 36px;
flex-direction: column;
gap: 36px
}

.anlyt .divider-line {
padding: 0 36px
}
}

@media (max-width: 768px) {
.anlyt .pghead {
flex-direction: column;
padding: 24px 24px 0
}

.anlyt .pghead-img {
width: 100%;
min-width: 0;
max-height: 220px
}

.anlyt .pghead-img img {
aspect-ratio: auto;
height: 220px
}

.anlyt .pghead-text {
padding: 24px 0
}

.anlyt .pghead-h1 {
font-size: 44px
}

.anlyt .postsec {
padding: 24px
}

.anlyt .postsec-top {
flex-direction: column;
align-items: flex-start;
gap: 8px
}

.anlyt .cardgrid {
grid-template-columns: 1fr;
gap: 24px
}

.anlyt .statsec {
padding: 24px;
flex-direction: column;
gap: 24px
}

.anlyt .imgsec-inner {
padding: 24px
}

.anlyt .imgsec-h {
font-size: 44px
}

.anlyt .threecol {
padding: 24px
}

.anlyt .threecols {
grid-template-columns: 1fr;
gap: 24px
}

.anlyt .tcol.tall {
padding: 36px 24px
}

.anlyt .tablsec {
padding: 24px;
flex-direction: column;
gap: 24px
}

.anlyt .tablsec-h {
font-size: 44px
}

.anlyt .divider-line {
padding: 0 24px
}

.anlyt .pghead-links {
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.anlyt .dtabl thead th,
.anlyt .dtabl tbody td {
padding: 8px 10px;
font-size: 16px
}
}

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

.successPage .successWrap {
max-width: 600px;
width: 100%;
text-align: center;
padding: 72px 36px;
background: #fff;
border-radius: 6px;
box-shadow: 1px 8px 52px 0 #1063941a
}

.successPage .iconCircle {
width: 72px;
height: 72px;
border-radius: 48px;
background: linear-gradient(31deg, #106394 0%, #1063941f 100%);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 36px
}

.successPage .iconCircle svg {
display: block
}

.successPage .successTitle {
font-size: 44px;
line-height: 1.1;
color: #1b2a38;
margin: 0 0 24px;
letter-spacing: -.5px
}

.successPage .successTitle span {
display: inline-block;
position: relative;
color: #D51A1D
}

.successPage .successTitle span::after {
content: '';
display: block;
height: 3px;
border-radius: 6px;
background: #D51A1D;
width: 0;
animation: lineIn .18s cubic-bezier(0.4, 0, 1, 1) .12s forwards
}

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

.successPage .successText {
font-size: 19px;
line-height: 1.55;
color: #2c3e50;
margin: 0 0 36px
}

.successPage .successMeta {
font-size: 16px;
line-height: 1.55;
color: #4a6070;
margin: 0 0 36px;
padding: 24px;
background: linear-gradient(31deg, #10639412 0%, #10639405 100%);
border-radius: 6px
}

.successPage .successMeta strong {
color: #106394
}

.successPage .backBtn {
display: inline-block;
padding: 12px 36px;
font-size: 16px;
line-height: 1.35;
color: #fff;
background: linear-gradient(31deg, #D51A1D 0%, #a81417 100%);
border-radius: 6px;
text-decoration: none;
border: none;
cursor: pointer;
box-shadow: 1px 6px 22px 0 #d51a1d1a;
transition: box-shadow .13s cubic-bezier(0.4, 0, 1, 1), transform .13s cubic-bezier(0.4, 0, 1, 1);
position: relative;
overflow: hidden
}

.successPage .backBtn::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(31deg, #ffffff2e 0%, transparent 100%);
transform: translateX(-100%);
transition: transform .15s cubic-bezier(0.4, 0, 1, 1);
border-radius: 6px
}

.successPage .backBtn:hover::before {
transform: translateX(0)
}

.successPage .backBtn:hover {
box-shadow: 1px 8px 52px 0 #d51a1d1a;
transform: translateY(-2px)
}

.successPage .backBtn:active {
transform: translateY(0);
box-shadow: 1px 3px 2px 0 #d51a1d14
}

.successPage .backBtn:focus-visible {
outline: 2px solid #D51A1D;
outline-offset: 4px
}

.successPage .dividerLine {
width: 48px;
height: 2px;
background: linear-gradient(31deg, #106394 0%, #10639433 100%);
border-radius: 6px;
margin: 36px auto
}

@media (max-width: 768px) {
.successPage {
padding: 36px 12px
}

.successPage .successWrap {
padding: 36px 24px
}

.successPage .successTitle {
font-size: 44px
}
}