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

html {
font-size: 100%
}

body {
margin: 0;
min-height: 100dvh;
text-size-adjust: 100%;
-webkit-text-size-adjust: 100%
}

.siteheader {
background: linear-gradient(135deg, #4c709ef7 0%, #678aabf2 60%, #c5cfdbeb 100%);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
position: relative;
z-index: 100;
box-shadow: 0 6px 18px 0 #4c709e1a;
border-bottom: 1px solid #c5cfdb66
}

.headertop {
max-width: 1170px;
margin: 0 auto;
padding: 24px 24px 12px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px
}

.logopill {
display: flex;
align-items: center;
padding: 6px 24px 6px 12px;
border-radius: 48px;
background: #ffffff2e;
border-bottom: 2px solid #ffffff8c;
box-shadow: 0 1px 5px 0 #4c709e0f inset 0 2px 6px 0 #4c709e0f;
text-decoration: none;
flex-shrink: 0
}

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

.brandname {
font-family: 'Cormorant', serif;
font-size: 24px;
font-weight: 700;
color: #fff;
line-height: 1.1;
margin-left: 12px;
letter-spacing: 0
}

.contacts {
display: flex;
align-items: center;
gap: 24px;
flex-shrink: 0
}

.contactlink {
display: flex;
flex-direction: column;
align-items: flex-end;
text-decoration: none;
padding: 6px 12px;
border-radius: 14px;
border: 1px solid #ffffff47;
background: #ffffff1a;
transition: background .12s cubic-bezier(0.4, 0, 1, 1), border-color .15s cubic-bezier(0.4, 0, 1, 1)
}

.contactlink:hover,
.contactlink:focus {
background: #ffffff38;
border-color: #ffffff8c;
outline: none
}

.contactlink:focus::before {
content: 'фокус';
display: block;
font-size: 16px;
color: #fff;
font-family: 'Inter', sans-serif;
position: absolute;
top: -22px;
left: 0;
background: #4c709ee6;
padding: 2px 6px;
border-radius: 8px;
pointer-events: none
}

.contactlink {
position: relative
}

.contactlabel {
font-family: 'Inter', sans-serif;
font-size: 16px;
color: #ffffffb8;
line-height: 1.1;
font-weight: 400
}

.contactvalue {
font-family: 'Inter', sans-serif;
font-size: 18px;
font-weight: 700;
color: #fff;
line-height: 1.6
}

.headernav {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px 12px;
border-top: 1px solid #ffffff2e;
margin-top: 0
}

.navlist {
display: flex;
flex-wrap: wrap;
list-style: none;
margin: 0;
padding: 12px 0 0;
gap: 6px
}

.navlist li {
display: flex
}

.navlink {
font-family: 'Inter', sans-serif;
font-size: 16px;
font-weight: 400;
color: #fff;
text-decoration: none;
padding: 6px 24px;
border-radius: 22px;
line-height: 1.6;
min-height: 44px;
display: flex;
align-items: center;
transition: background .1s cubic-bezier(0.4, 0, 1, 1), color .1s cubic-bezier(0.4, 0, 1, 1);
position: relative
}

.navlink:hover {
background: #ffffff2e;
color: #fff
}

.navlink:focus {
outline: none;
background: #ffffff38
}

.navlink:focus::before {
content: 'фокус';
display: block;
font-size: 16px;
color: #fff;
font-family: 'Inter', sans-serif;
position: absolute;
top: -22px;
left: 0;
background: #4c709ee6;
padding: 2px 6px;
border-radius: 8px;
pointer-events: none
}

.navlink.active {
background: #ffffff40;
font-weight: 700
}

.navseparator {
width: 1px;
background: #ffffff47;
margin: 6px;
align-self: stretch
}

@media (max-width: 768px) {
.headertop {
flex-wrap: wrap;
gap: 12px;
padding: 12px
}

.contacts {
gap: 12px
}

.contactlink {
align-items: flex-start
}

.headernav {
padding: 0 12px 12px
}

.navlist {
gap: 6px
}

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

@media (max-width: 375px) {
.headertop {
padding: 12px 6px
}

.contacts {
flex-direction: column;
align-items: flex-start;
gap: 6px
}

.headernav {
padding: 0 6px 6px
}
}

.sitefooter {
background: linear-gradient(160deg, #2a3d54 0%, #3b5270 55%, #4C709E 100%);
box-shadow: 0 -6px 18px 0 #4c709e1a;
position: relative
}

.footergrid {
max-width: 1170px;
margin: 0 auto;
padding: 48px 24px 24px;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 48px;
align-items: start
}

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

.footerheadline {
font-family: 'Cormorant', serif;
font-size: 32px;
font-weight: 700;
color: #fff;
line-height: 1.1;
margin: 0;
border-left: 3px solid #C5CFDB;
border-bottom: 1px solid #c5cfdb40;
padding-left: 12px;
padding-bottom: 12px
}

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

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

.detaillabel {
font-family: 'Inter', sans-serif;
font-size: 16px;
color: #c5cfdbbf;
line-height: 1.1
}

.detailvalue {
font-family: 'Inter', sans-serif;
font-size: 18px;
font-weight: 700;
color: #fff;
line-height: 1.6;
text-decoration: none
}

.detailvalue:hover,
.detailvalue:focus {
color: #C5CFDB;
outline: none
}

.detailvalue:focus::before {
content: 'фокус';
display: block;
font-size: 16px;
color: #fff;
font-family: 'Inter', sans-serif;
position: absolute;
top: -22px;
left: 0;
background: #4c709ee6;
padding: 2px 6px;
border-radius: 8px;
pointer-events: none
}

.detailvalue {
position: relative
}

.addresstext {
font-family: 'Inter', sans-serif;
font-size: 16px;
color: #fff;
line-height: 1.6
}

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

.footernav {
display: flex;
flex-direction: column;
gap: 12px;
align-items: flex-end
}

.footernavlink {
font-family: 'Inter', sans-serif;
font-size: 16px;
color: #c5cfdbd9;
text-decoration: none;
line-height: 1.6;
padding: 6px 12px;
border-radius: 8px;
border: 1px solid #c5cfdb2e;
transition: color .15s ease-in, border-color .12s ease-in;
text-align: right;
min-height: 44px;
display: flex;
align-items: center;
position: relative
}

.footernavlink:hover {
color: #fff;
border-color: #c5cfdb73
}

.footernavlink:focus {
outline: none;
color: #fff;
border-color: #C5CFDB
}

.footernavlink:focus::before {
content: 'фокус';
display: block;
font-size: 16px;
color: #fff;
font-family: 'Inter', sans-serif;
position: absolute;
top: -22px;
right: 0;
background: #4c709ee6;
padding: 2px 6px;
border-radius: 8px;
pointer-events: none
}

.footerbottom {
max-width: 1170px;
margin: 0 auto;
padding: 24px 24px 48px;
display: flex;
align-items: center;
justify-content: space-between;
border-top: 1px solid #c5cfdb2e;
gap: 24px;
flex-wrap: wrap
}

.copyright {
font-family: 'Inter', sans-serif;
font-size: 16px;
color: #c5cfdba6;
line-height: 1.6
}

.footerlogopill {
display: flex;
align-items: center;
padding: 6px 12px;
border-radius: 48px;
background: #ffffff1a;
border-bottom: 2px solid #c5cfdb59;
box-shadow: 0 1px 5px 0 #4c709e0f inset 0 2px 4px 0 #4c709e14
}

.footerlogopill img {
width: 40px;
height: 40px;
object-fit: contain;
display: block
}

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

.footerlinks {
align-items: flex-start
}

.footernav {
align-items: flex-start
}

.footernavlink {
text-align: left
}

.footerbottom {
padding: 12px 12px 24px;
flex-direction: column;
align-items: flex-start
}
}

@media (max-width: 375px) {
.footergrid {
padding: 12px 6px 6px
}

.footerbottom {
padding: 12px 6px 24px
}
}

.cookiebar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 8000;
background: #2a3d54;
border-top: 2px solid #4C709E;
box-shadow: 0 -6px 18px 0 #4c709e1a;
display: none
}

.cookieinner {
max-width: 1170px;
margin: 0 auto;
padding: 12px 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap
}

.cookietext {
flex: 1;
min-width: 220px
}

.cookietitle {
font-family: 'Inter', sans-serif;
font-size: 16px;
font-weight: 700;
color: #fff;
line-height: 1.1;
margin: 0 0 6px
}

.cookiedesc {
font-family: 'Inter', sans-serif;
font-size: 16px;
color: #c5cfdbd9;
line-height: 1.6;
margin: 0
}

.cookieactions {
display: flex;
align-items: center;
gap: 12px;
flex-shrink: 0
}

.cookieaccept {
font-family: 'Inter', sans-serif;
font-size: 16px;
font-weight: 700;
color: #2a3d54;
background: #C5CFDB;
border: none;
border-radius: 14px;
padding: 12px 24px;
cursor: pointer;
min-height: 44px;
transition: background .12s cubic-bezier(0.4, 0, 1, 1), color .12s cubic-bezier(0.4, 0, 1, 1)
}

.cookieaccept:hover,
.cookieaccept:focus {
background: #fff;
color: #2a3d54;
outline: none
}

.cookiedecline {
font-family: 'Inter', sans-serif;
font-size: 16px;
color: #c5cfdbbf;
background: none;
border: none;
cursor: pointer;
padding: 6px 12px;
min-height: 44px;
text-decoration: underline;
transition: color .15s ease-in
}

.cookiedecline:hover,
.cookiedecline:focus {
color: #fff;
outline: none
}

@media (max-width: 768px) {
.cookieinner {
padding: 12px;
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.cookieactions {
width: 100%;
justify-content: flex-start
}
}

@media (max-width: 375px) {
.cookieinner {
padding: 12px 6px
}
}

.terms-text {
max-width: 1170px;
margin: 0 auto;
padding: 48px 24px
}

.terms-text h1 {
color: #4C709E;
font-size: 62px;
line-height: 1.1;
margin-bottom: 24px;
margin-top: 0
}

.terms-text h2 {
color: #4C709E;
font-size: 32px;
line-height: 1.1;
margin-bottom: 24px;
margin-top: 48px
}

.terms-text h3 {
color: #678AAB;
font-size: 24px;
line-height: 1.6;
margin-bottom: 12px;
margin-top: 48px
}

.terms-text h4 {
color: #678AAB;
font-size: 18px;
line-height: 1.6;
margin-bottom: 12px;
margin-top: 24px
}

.terms-text h5 {
color: #678AAB;
font-size: 16px;
line-height: 1.6;
margin-bottom: 12px;
margin-top: 24px
}

.terms-text h6 {
color: #678AAB;
font-size: 16px;
line-height: 1.6;
margin-bottom: 12px;
margin-top: 24px;
opacity: .85
}

.terms-text p {
color: #1b2330;
font-size: 18px;
line-height: 1.6;
margin-bottom: 24px;
margin-top: 0
}

.terms-text em,
.terms-text i {
color: #4C709E;
font-style: italic
}

.terms-text a {
color: #4C709E;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .12s cubic-bezier(0.4, 0, 1, 1)
}

.terms-text a:hover {
color: #678AAB
}

.terms-text hr {
border: none;
border-top: 1px solid #C5CFDB;
margin: 48px 0
}

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

.terms-text table {
border-collapse: collapse;
box-shadow: 0 1px 5px 0 #4c709e0f;
margin-bottom: 48px;
margin-top: 24px;
overflow: hidden;
width: 100%;
border-radius: 14px
}

.terms-text thead {
background: #4C709E
}

.terms-text thead th {
color: #fff;
font-size: 16px;
line-height: 1.6;
padding: 12px 24px;
text-align: left
}

.terms-text tbody tr {
border-bottom: 1px solid #C5CFDB;
transition: background .1s cubic-bezier(0.4, 0, 1, 1)
}

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

.terms-text tbody tr:hover {
background: #f0f4f8
}

.terms-text th,
.terms-text td {
font-size: 16px;
line-height: 1.6;
padding: 12px 24px;
vertical-align: top
}

.terms-text td {
color: #1b2330
}

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

.terms-text h1 {
font-size: 32px
}

.terms-text h2 {
font-size: 24px
}

.terms-text h3 {
font-size: 18px
}

.terms-text table {
display: block;
overflow-x: auto
}
}

@media (max-width: 375px) {
.terms-text h1 {
font-size: 24px
}

.terms-text h2 {
font-size: 18px
}

.terms-text p,
.terms-text td,
.terms-text th {
font-size: 16px
}
}

.ctus {
background: #fff;
overflow-x: clip
}

.ctus .reach {
max-width: 1170px;
margin: 0 auto;
padding: 48px 24px
}

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

.ctus .reach-left {
padding: 48px 48px 48px 0
}

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

.ctus .accentline-bar {
width: 4px;
min-height: 48px;
background: linear-gradient(180deg, #4C709E, #678AAB);
border-radius: 8px;
flex-shrink: 0;
margin-top: 4px
}

.ctus .reach-heading {
font-size: 32px;
line-height: 1.1;
color: #4C709E;
margin: 0 0 24px
}

.ctus .reach-desc {
font-size: 18px;
line-height: 1.6;
color: #2a2a2e;
margin: 0 0 48px
}

.ctus .contact-items {
display: flex;
flex-direction: column;
gap: 24px
}

.ctus .contact-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 24px;
background: #f3f6fa;
border-radius: 14px;
box-shadow: 0 1px 5px 0 #4c709e0f;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), transform .15s cubic-bezier(0.4, 0, 1, 1)
}

.ctus .contact-item:hover {
box-shadow: 0 6px 18px 0 #4c709e1a;
transform: translateY(-2px)
}

.ctus .item-icon {
width: 40px;
height: 40px;
border-radius: 8px;
background: linear-gradient(90deg, #4C709E, #678AAB);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.ctus .item-icon svg {
width: 20px;
height: 20px;
fill: #fff
}

.ctus .item-text {
display: flex;
flex-direction: column;
gap: 6px
}

.ctus .item-label {
font-size: 16px;
line-height: 1.1;
color: #678AAB;
font-weight: 600
}

.ctus .item-value {
font-size: 16px;
line-height: 1.6;
color: #2a2a2e;
text-decoration: none
}

.ctus .item-value:hover {
color: #4C709E
}

.ctus .reach-right {
background: #fff;
border-radius: 22px;
box-shadow: 0 10px 52px 0 #4c709e1c;
padding: 48px;
position: relative;
overflow: hidden
}

.ctus .reach-right::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 6px;
background: linear-gradient(90deg, #4C709E, #678AAB, #C5CFDB);
border-radius: 22px 22px 0 0
}

.ctus .form-heading {
font-size: 24px;
line-height: 1.1;
color: #4C709E;
margin: 0 0 6px
}

.ctus .form-sub {
font-size: 16px;
line-height: 1.6;
color: #555860;
margin: 0 0 24px
}

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

.ctus .form-field label {
font-size: 16px;
line-height: 1.1;
color: #4C709E;
font-weight: 600
}

.ctus .form-field input,
.ctus .form-field textarea {
border: 2px solid #C5CFDB;
border-radius: 8px;
padding: 12px;
font-size: 16px;
line-height: 1.6;
color: #2a2a2e;
background: #f8fbff;
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
}

.ctus .form-field input::placeholder,
.ctus .form-field textarea::placeholder {
font-size: 14px;
color: #9aa3b0
}

.ctus .form-field input:focus,
.ctus .form-field textarea:focus {
border-color: #4C709E;
box-shadow: 0 0 0 3px #4c709e1a;
background: #fff
}

.ctus .form-field textarea {
resize: vertical;
min-height: 120px
}

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

.ctus .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #4C709E;
flex-shrink: 0;
margin-top: 3px;
cursor: pointer
}

.ctus .privacy-text {
font-size: 16px;
line-height: 1.6;
color: #555860
}

.ctus .privacy-text a {
color: #4C709E;
text-decoration: underline
}

.ctus .privacy-text a:hover {
color: #678AAB
}

.ctus .submit-btn {
width: 100%;
padding: 12px 24px;
background: #4C709E;
color: #fff;
border: none;
border-radius: 8px;
font-size: 18px;
line-height: 1.1;
cursor: pointer;
font-weight: 600;
transition: background .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 0 6px 18px 0 #4c709e1a
}

.ctus .submit-btn:hover {
background: #3a5a8a;
box-shadow: 0 10px 52px 0 #4c709e1c
}

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

.ctus .submit-btn:active {
background: #2f4a72
}

@keyframes shakeinvalid {

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

20% {
transform: translateX(-6px)
}

40% {
transform: translateX(6px)
}

60% {
transform: translateX(-4px)
}

80% {
transform: translateX(4px)
}
}

.ctus .submit-btn:invalid,
.ctus .contactform:invalid .submit-btn:active {
animation: shakeinvalid .18s cubic-bezier(0.4, 0, 1, 1)
}

.ctus .divider-svg {
display: block;
width: 100%;
height: 32px;
overflow: hidden
}

.ctus .extra {
background: linear-gradient(90deg, #4C709E 0%, #678AAB 100%);
position: relative
}

.ctus .extra-overlay {
position: absolute;
inset: 0;
background: #ffffff12;
pointer-events: none
}

.ctus .extra-inner {
max-width: 600px;
margin: 0 auto;
padding: 48px 24px;
text-align: center;
position: relative
}

.ctus .extra-quote {
font-size: 62px;
line-height: 1.1;
color: #ffffff1f;
font-weight: 900;
position: absolute;
top: 24px;
left: 24px;
pointer-events: none;
user-select: none
}

.ctus .extra-heading {
font-size: 24px;
line-height: 1.1;
color: #fff;
margin: 0 0 24px
}

.ctus .extra-text {
font-size: 18px;
line-height: 1.6;
color: #ffffffe6;
margin: 0 0 24px
}

.ctus .extra-details {
display: flex;
flex-direction: row;
justify-content: center;
gap: 48px;
flex-wrap: wrap
}

.ctus .extra-detail {
display: flex;
flex-direction: column;
gap: 6px;
align-items: center
}

.ctus .detail-label {
font-size: 16px;
line-height: 1.1;
color: #ffffffb3
}

.ctus .detail-val {
font-size: 18px;
line-height: 1.1;
color: #fff;
font-weight: 700
}

.ctus .glow-border {
border-radius: 14px;
border: 2px solid #c5cfdb80;
animation: glowpulse 2.4s ease-in alternate infinite;
padding: 24px;
background: #ffffff14
}

@keyframes glowpulse {
0% {
border-color: #c5cfdb33;
box-shadow: 0 0 0 0 #c5cfdb00
}

100% {
border-color: #c5cfdbd9;
box-shadow: 0 0 18px 4px #c5cfdb2e
}
}

@media (max-width: 1024px) {
.ctus .reach-grid {
grid-template-columns: 1fr;
gap: 24px
}

.ctus .reach-left {
padding: 0
}
}

@media (max-width: 768px) {
.ctus .reach {
padding: 24px 12px
}

.ctus .reach-right {
padding: 24px
}

.ctus .reach-heading {
font-size: 24px
}

.ctus .extra-details {
gap: 24px
}

.ctus .extra-quote {
font-size: 32px
}
}

@media (max-width: 375px) {
.ctus .reach-right {
padding: 12px
}

.ctus .extra-inner {
padding: 24px 12px
}
}

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

.nws .nws-inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px
}

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

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

.nws .pg-reveal {
animation: clipReveal .55s cubic-bezier(0.4, 0, 1, 1) both
}

.nws ::selection {
background: #678AAB;
color: #fff
}

.nws .eyebrow {
display: inline-block;
font-size: 16px;
line-height: 1.1;
color: #4C709E;
letter-spacing: .04em;
text-transform: uppercase;
font-weight: 600;
margin-bottom: 12px
}

.nws .accent-line {
display: inline-block;
width: 4px;
height: 1em;
background: linear-gradient(180deg, #4C709E, #678AAB);
border-radius: 8px;
margin-right: 12px;
vertical-align: middle;
flex-shrink: 0
}

.nws .titlesec {
background: #fff;
padding: 48px 0 24px
}

.nws .titlesec .nws-inner {
display: flex;
flex-direction: row;
align-items: center;
gap: 48px
}

.nws .titlesec .imgcard {
flex: 0 0 280px;
width: 280px;
height: 200px;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 6px 18px 0 #4c709e1a 0 1px 5px 0 #4c709e0f;
position: relative
}

.nws .titlesec .imgcard img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: brightness(1.04) contrast(1.02);
transition: transform .18s cubic-bezier(0.4, 0, 1, 1)
}

.nws .titlesec .imgcard::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(circle at 30% 40%, #ffffff2e 0%, transparent 70%);
pointer-events: none;
border-radius: 14px
}

.nws .titlesec .imgcard:hover img {
transform: scale(1.03)
}

.nws .titlesec .textzone {
flex: 1;
position: relative
}

.nws .titlesec .dotgrid {
position: absolute;
top: -12px;
right: 0;
width: 160px;
height: 120px;
pointer-events: none;
z-index: 0
}

.nws .titlesec .textzone .txtwrap {
position: relative;
z-index: 1
}

.nws .titlesec h1 {
font-size: 62px;
line-height: 1.1;
color: #4C709E;
margin: 0 0 12px;
font-weight: 700
}

.nws .div1 {
width: 100%;
line-height: 0;
background: #fff
}

.nws .div1 svg {
display: block;
width: 100%
}

.nws .featuredsec {
background: #f4f6f9;
padding: 48px 0
}

.nws .featuredsec .sec-heading {
display: flex;
flex-direction: row;
align-items: center;
margin-bottom: 48px
}

.nws .featuredsec .sec-heading h2 {
font-size: 32px;
line-height: 1.1;
color: #4C709E;
margin: 0;
font-weight: 700
}

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

.nws .artcard {
background: #fff;
border-radius: 22px;
box-shadow: 0 1px 5px 0 #4c709e0f;
overflow: hidden;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1), transform .15s cubic-bezier(0.4, 0, 1, 1);
display: flex;
flex-direction: column
}

.nws .artcard:hover {
box-shadow: 0 6px 18px 0 #4c709e1a;
transform: translateY(-2px)
}

.nws .artcard .cardimg {
width: 100%;
height: 160px;
overflow: hidden
}

.nws .artcard .cardimg img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .18s cubic-bezier(0.4, 0, 1, 1)
}

.nws .artcard:hover .cardimg img {
transform: scale(1.04)
}

.nws .artcard .cardbody {
padding: 24px;
flex: 1;
display: flex;
flex-direction: column;
gap: 12px
}

.nws .artcard .cattag {
font-size: 16px;
color: #678AAB;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .05em
}

.nws .artcard h3 {
font-size: 18px;
line-height: 1.6;
color: #1e2d3d;
margin: 0;
font-weight: 700
}

.nws .artcard p {
font-size: 16px;
line-height: 1.6;
color: #3a4a5a;
margin: 0
}

.nws .artcard .readlink {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 16px;
color: #4C709E;
font-weight: 600;
text-decoration: none;
margin-top: auto;
transition: color .12s ease-in
}

.nws .artcard .readlink:hover {
color: #678AAB
}

.nws .artcard .readlink svg {
transition: transform .12s ease-in
}

.nws .artcard .readlink:hover svg {
transform: translateX(3px)
}

.nws .artcard.featured {
grid-column: 3;
grid-row: 1
}

.nws .artcard.featured .cardimg {
height: 260px
}

.nws .artcard.featured h3 {
font-size: 24px
}

.nws .div2 {
width: 100%;
line-height: 0;
background: #f4f6f9
}

.nws .div2 svg {
display: block;
width: 100%
}

.nws .metricssec {
background: #fff;
padding: 48px 0
}

.nws .metricssec .sec-heading {
display: flex;
flex-direction: row;
align-items: center;
margin-bottom: 48px
}

.nws .metricssec .sec-heading h2 {
font-size: 32px;
line-height: 1.1;
color: #4C709E;
margin: 0;
font-weight: 700
}

.nws .metrics-layout {
display: flex;
flex-direction: row;
gap: 48px;
align-items: flex-start
}

.nws .metrics-left {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px
}

.nws .metric-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
background: #f4f6f9;
border-radius: 14px;
padding: 24px;
box-shadow: 0 1px 5px 0 #4c709e0f;
transition: box-shadow .15s cubic-bezier(0.4, 0, 1, 1)
}

.nws .metric-item:hover {
box-shadow: 0 6px 18px 0 #4c709e1a
}

.nws .metric-num {
font-size: 62px;
line-height: 1.1;
font-weight: 800;
color: #4C709E;
flex-shrink: 0;
min-width: 80px
}

.nws .metric-desc {
flex: 1
}

.nws .metric-desc h4 {
font-size: 18px;
line-height: 1.1;
color: #1e2d3d;
margin: 0 0 6px;
font-weight: 700
}

.nws .metric-desc p {
font-size: 16px;
line-height: 1.6;
color: #3a4a5a;
margin: 0
}

.nws .metrics-right {
flex: 0 0 340px;
display: flex;
flex-direction: column;
gap: 24px
}

.nws .topicscard {
background: #4C709E;
border-radius: 22px;
padding: 24px;
box-shadow: 0 10px 52px 0 #4c709e1c
}

.nws .topicscard h4 {
font-size: 18px;
line-height: 1.1;
color: #fff;
margin: 0 0 24px;
font-weight: 700
}

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

.nws .topiclist li {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
background: #ffffff1f;
border-radius: 8px;
padding: 12px;
color: #fff;
font-size: 16px;
line-height: 1.1;
transition: background .12s ease-in
}

.nws .topiclist li:hover {
background: #fff3
}

.nws .topiclist li .tcount {
font-size: 16px;
color: #C5CFDB;
font-weight: 700
}

.nws .bartrack {
width: 100%;
height: 6px;
background: #ffffff26;
border-radius: 8px;
margin-top: 6px;
overflow: hidden
}

.nws .barfill {
height: 100%;
border-radius: 8px;
background: linear-gradient(90deg, #C5CFDB, #fff);
transition: width .18s cubic-bezier(0.4, 0, 1, 1)
}

.nws .topiclist li {
flex-wrap: wrap;
gap: 6px
}

.nws .topiclist li .tlabel {
flex: 1
}

.nws .div3 {
width: 100%;
line-height: 0;
background: #fff
}

.nws .div3 svg {
display: block;
width: 100%
}

.nws .recentsec {
background: linear-gradient(90deg, #4C709E, #678AAB);
padding: 48px 0
}

.nws .recentsec .sec-heading {
display: flex;
flex-direction: row;
align-items: center;
margin-bottom: 48px
}

.nws .recentsec .sec-heading h2 {
font-size: 32px;
line-height: 1.1;
color: #fff;
margin: 0;
font-weight: 700
}

.nws .recentsec .accent-line {
background: linear-gradient(180deg, #C5CFDB, #fff)
}

.nws .updates-list {
display: flex;
flex-direction: column;
gap: 24px
}

.nws .updaterow {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 24px;
background: #ffffff1a;
border-radius: 14px;
padding: 24px;
transition: background .12s ease-in
}

.nws .updaterow:hover {
background: #ffffff2e
}

.nws .updaterow .updnum {
font-size: 32px;
line-height: 1.1;
font-weight: 800;
color: #C5CFDB;
flex-shrink: 0;
min-width: 48px
}

.nws .updaterow .updtext h5 {
font-size: 18px;
line-height: 1.1;
color: #fff;
margin: 0 0 6px;
font-weight: 700
}

.nws .updaterow .updtext p {
font-size: 16px;
line-height: 1.6;
color: #e8edf3;
margin: 0
}

.nws .updates-cta {
margin-top: 48px;
text-align: center
}

.nws .btn-light {
display: inline-block;
background: #fff;
color: #4C709E;
font-size: 16px;
font-weight: 700;
padding: 12px 48px;
border-radius: 8px;
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: 0 6px 18px 0 #4c709e1a;
transition: background .15s cubic-bezier(0.4, 0, 1, 1), color .15s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1)
}

.nws .btn-light:hover {
background: #C5CFDB;
color: #1e2d3d;
box-shadow: 0 10px 52px 0 #4c709e1c
}

.nws .btn-light:focus {
outline: 3px solid #fff;
outline-offset: 2px
}

@keyframes shake {

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

20% {
transform: translateX(-5px)
}

40% {
transform: translateX(5px)
}

60% {
transform: translateX(-4px)
}

80% {
transform: translateX(4px)
}
}

.nws .btn-light.shake {
animation: shake .18s cubic-bezier(0.4, 0, 1, 1)
}

@media (max-width: 1024px) {
.nws .titlesec h1 {
font-size: 48px
}

.nws .featured-grid {
grid-template-columns: 1fr 1fr
}

.nws .artcard.featured {
grid-column: 1 / -1;
grid-row: auto
}

.nws .metrics-layout {
flex-direction: column
}

.nws .metrics-right {
flex: none;
width: 100%
}
}

@media (max-width: 768px) {
.nws .titlesec .nws-inner {
flex-direction: column;
gap: 24px
}

.nws .titlesec .imgcard {
flex: none;
width: 100%;
height: 180px
}

.nws .titlesec h1 {
font-size: 32px
}

.nws .featured-grid {
grid-template-columns: 1fr
}

.nws .artcard.featured {
grid-column: 1
}

.nws .metric-num {
font-size: 32px;
min-width: 60px
}

.nws .updaterow {
flex-direction: column;
gap: 12px
}
}

@media (max-width: 375px) {
.nws .nws-inner {
padding: 0 12px
}

.nws .titlesec h1 {
font-size: 24px
}

.nws .metric-num {
font-size: 24px
}

.nws .btn-light {
padding: 12px 24px
}
}

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

.portl .inner-limit {
max-width: 1170px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px
}

.portl .img-lazy {
filter: blur(8px);
transition: filter .15s cubic-bezier(0.4, 0, 1, 1)
}

.portl .img-lazy.loaded {
filter: none
}

::selection {
background: #678AAB;
color: #fff
}

.portl .accent-line {
display: inline-block;
width: 4px;
background: #4C709E;
border-radius: 8px;
margin-right: 12px;
flex-shrink: 0;
align-self: stretch;
min-height: 1.1em
}

.portl .titleblock {
background: #fff;
padding-top: 48px;
padding-bottom: 48px;
position: relative
}

.portl .titleblock-bg {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none
}

.portl .titleblock-bg svg {
position: absolute;
top: 0;
right: 0;
width: 60%;
height: 100%;
opacity: .07
}

.portl .titleblock-stripe {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none
}

.portl .titleblock-stripe::before {
content: "";
position: absolute;
top: -60%;
left: -10%;
width: 200%;
height: 200%;
background: repeating-linear-gradient(118deg, transparent 0px, transparent 38px, #4c709e0b 38px, #4c709e0b 40px);
animation: stripedrift 9s linear infinite
}

@keyframes stripedrift {
0% {
transform: translateX(0) translateY(0)
}

100% {
transform: translateX(80px) translateY(80px)
}
}

.portl .titleblock-row {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 48px;
position: relative;
z-index: 1
}

.portl .titleblock-text {
flex: 1 1 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px
}

.portl .titleblock-tag {
display: inline-block;
background: #C5CFDB;
color: #2a3a50;
font-size: 16px;
line-height: 1.1;
padding: 6px 12px;
border-radius: 8px;
font-weight: 600;
letter-spacing: .01em;
width: fit-content
}

.portl .titleblock-h1 {
font-size: 62px;
line-height: 1.1;
color: #4C709E;
margin: 0;
font-weight: 800
}

.portl .titleblock-sub {
font-size: 18px;
line-height: 1.6;
color: #2a3a50;
margin: 0;
max-width: 520px
}

.portl .titleblock-detail {
font-size: 16px;
line-height: 1.6;
color: #3d4f62;
margin: 0;
max-width: 480px
}

.portl .titleblock-cta {
display: inline-block;
background: #2a3a50;
color: #fff;
font-size: 16px;
line-height: 1.1;
padding: 12px 24px;
border-radius: 14px;
text-decoration: none;
font-weight: 700;
border: none;
cursor: pointer;
transition: background .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .12s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 0 1px 5px 0 #4c709e0f;
width: fit-content
}

.portl .titleblock-cta:hover {
background: #4C709E;
box-shadow: 0 6px 18px 0 #4c709e1a
}

.portl .titleblock-imgstrip {
width: 220px;
flex-shrink: 0;
display: flex;
flex-direction: column;
gap: 12px;
align-items: flex-end
}

.portl .titleblock-imgwrap {
width: 200px;
height: 320px;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 10px 52px 0 #4c709e1c;
flex-shrink: 0
}

.portl .titleblock-imgwrap img {
width: 200px;
height: 320px;
object-fit: cover;
filter: grayscale(100%) contrast(1.15);
display: block
}

.portl .titleblock-circle {
width: 12px;
height: 12px;
border-radius: 48px;
background: #4C709E;
display: inline-block;
margin-right: 6px;
vertical-align: middle;
flex-shrink: 0
}

.portl .titleblock-badge {
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
font-size: 16px;
color: #4C709E;
font-weight: 600
}

@media (max-width: 768px) {
.portl .titleblock-h1 {
font-size: 32px
}

.portl .titleblock-row {
flex-direction: column;
gap: 24px
}

.portl .titleblock-imgstrip {
width: 100%;
align-items: center
}

.portl .titleblock-imgwrap {
width: 100%;
height: 200px
}

.portl .titleblock-imgwrap img {
width: 100%;
height: 200px
}
}

@media (max-width: 375px) {
.portl .titleblock-h1 {
font-size: 32px
}
}

.portl .evidence {
background: linear-gradient(180deg, #eef1f5 0%, #dce3ec 100%);
padding-top: 48px;
padding-bottom: 48px
}

.portl .evidence-head {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 48px
}

.portl .evidence-h2 {
font-size: 32px;
line-height: 1.1;
color: #4C709E;
margin: 0;
font-weight: 700
}

.portl .evidence-desc {
font-size: 16px;
line-height: 1.6;
color: #2a3a50;
margin: 12px 0 0;
max-width: 640px
}

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

.portl .evidence-main {
display: flex;
flex-direction: column;
gap: 24px
}

.portl .evidence-card {
background: #fff;
border-radius: 22px;
padding: 24px;
box-shadow: 0 6px 18px 0 #4c709e1a;
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
transition: box-shadow .14s cubic-bezier(0.4, 0, 1, 1);
outline: 2px solid transparent
}

.portl .evidence-card:hover {
outline-color: #678AAB;
box-shadow: 0 10px 52px 0 #4c709e1c
}

.portl .evidence-imgwrap {
width: 120px;
height: 100px;
border-radius: 14px;
overflow: hidden;
flex-shrink: 0
}

.portl .evidence-imgwrap img {
width: 120px;
height: 100px;
object-fit: cover;
display: block
}

.portl .evidence-cardtext {
flex: 1 1 0
}

.portl .evidence-cardh {
font-size: 18px;
line-height: 1.1;
color: #2a3a50;
font-weight: 700;
margin: 0 0 6px
}

.portl .evidence-cardp {
font-size: 16px;
line-height: 1.6;
color: #3d4f62;
margin: 0
}

.portl .evidence-side {
display: flex;
flex-direction: column;
gap: 24px
}

.portl .evidence-stat {
background: #4C709E;
border-radius: 22px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 6px;
box-shadow: 0 6px 18px 0 #4c709e1a
}

.portl .evidence-statnum {
font-size: 62px;
line-height: 1.1;
color: #fff;
font-weight: 800;
margin: 0
}

.portl .evidence-statlabel {
font-size: 16px;
line-height: 1.6;
color: #C5CFDB;
margin: 0
}

.portl .evidence-stat2 {
background: #fff;
border-radius: 22px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 6px;
box-shadow: 0 1px 5px 0 #4c709e0f
}

.portl .evidence-stat2num {
font-size: 32px;
line-height: 1.1;
color: #4C709E;
font-weight: 800;
margin: 0
}

.portl .evidence-stat2label {
font-size: 16px;
line-height: 1.6;
color: #3d4f62;
margin: 0
}

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

.portl .evidence-card {
flex-direction: column;
align-items: flex-start
}

.portl .evidence-imgwrap {
width: 100%;
height: 140px
}

.portl .evidence-imgwrap img {
width: 100%;
height: 140px
}
}

.portl .commit {
background: linear-gradient(180deg, #2a3a50 0%, #1e2e42 100%);
padding-top: 48px;
padding-bottom: 48px;
position: relative
}

.portl .commit-deco {
position: absolute;
top: 0;
right: 0;
width: 260px;
height: 260px;
pointer-events: none;
overflow: hidden
}

.portl .commit-deco svg {
width: 100%;
height: 100%;
opacity: .06
}

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

.portl .commit-col-main {
flex: 2 1 0
}

.portl .commit-col-aside {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 24px
}

.portl .commit-head {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 24px
}

.portl .commit-accent {
display: inline-block;
width: 4px;
background: #678AAB;
border-radius: 8px;
min-height: 2.2em;
flex-shrink: 0
}

.portl .commit-h2 {
font-size: 32px;
line-height: 1.1;
color: #C5CFDB;
margin: 0;
font-weight: 700
}

.portl .commit-p {
font-size: 16px;
line-height: 1.6;
color: #a8bcd0;
margin: 0 0 24px
}

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

.portl .commit-listitem {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
background: #4c709e21;
border-radius: 14px;
padding: 12px
}

.portl .commit-dot {
width: 10px;
height: 10px;
border-radius: 48px;
background: #678AAB;
flex-shrink: 0;
margin-top: 6px
}

.portl .commit-itemtext {
font-size: 16px;
line-height: 1.6;
color: #d0dce8;
margin: 0
}

.portl .commit-imgwrap {
border-radius: 22px;
overflow: hidden;
box-shadow: 0 10px 52px 0 #4c709e1c;
width: 100%
}

.portl .commit-imgwrap img {
width: 100%;
height: 280px;
object-fit: cover;
display: block
}

.portl .commit-note {
background: #4c709e2e;
border-radius: 14px;
padding: 12px;
font-size: 16px;
line-height: 1.6;
color: #C5CFDB;
margin: 0;
box-shadow: inset 0 2px 6px 0 #4c709e1a
}

@media (max-width: 768px) {
.portl .commit-row {
flex-direction: column;
gap: 24px
}

.portl .commit-imgwrap img {
height: 180px
}
}

.portl .people {
background: linear-gradient(180deg, #f5f7fa 0%, #eef1f5 100%);
padding-top: 48px;
padding-bottom: 48px
}

.portl .people-layout {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 48px;
align-items: start
}

.portl .people-aside {
display: flex;
flex-direction: column;
gap: 24px
}

.portl .people-imgwrap {
border-radius: 22px;
overflow: hidden;
box-shadow: 0 6px 18px 0 #4c709e1a;
width: 100%
}

.portl .people-imgwrap img {
width: 100%;
height: 260px;
object-fit: cover;
display: block
}

.portl .people-ratingbox {
background: #4C709E;
border-radius: 22px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 6px;
box-shadow: 0 6px 18px 0 #4c709e1a
}

.portl .people-ratingnum {
font-size: 62px;
line-height: 1.1;
color: #fff;
font-weight: 800;
margin: 0
}

.portl .people-ratinglabel {
font-size: 16px;
color: #C5CFDB;
line-height: 1.6;
margin: 0
}

.portl .people-stars {
display: flex;
flex-direction: row;
gap: 6px;
margin-top: 6px
}

.portl .people-star {
width: 18px;
height: 18px;
display: inline-block
}

.portl .people-main {
display: flex;
flex-direction: column;
gap: 24px
}

.portl .people-head {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

.portl .people-h2 {
font-size: 32px;
line-height: 1.1;
color: #4C709E;
margin: 0;
font-weight: 700
}

.portl .people-desc {
font-size: 16px;
line-height: 1.6;
color: #2a3a50;
margin: 0
}

.portl .people-cards {
display: flex;
flex-direction: column;
gap: 12px
}

.portl .people-card {
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: 0 1px 5px 0 #4c709e0f;
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
outline: 2px solid transparent;
transition: outline-color .11s cubic-bezier(0.4, 0, 1, 1), box-shadow .11s cubic-bezier(0.4, 0, 1, 1)
}

.portl .people-card:hover {
outline-color: #4C709E;
box-shadow: 0 6px 18px 0 #4c709e1a
}

.portl .people-cardcircle {
width: 12px;
height: 12px;
border-radius: 48px;
background: #C5CFDB;
flex-shrink: 0;
margin-top: 6px
}

.portl .people-cardname {
font-size: 16px;
font-weight: 700;
color: #2a3a50;
margin: 0 0 6px;
line-height: 1.1
}

.portl .people-cardp {
font-size: 16px;
line-height: 1.6;
color: #3d4f62;
margin: 0
}

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

.portl .people-imgwrap img {
height: 200px
}
}

.portl .fit {
background: #fff;
padding-top: 48px;
padding-bottom: 48px
}

.portl .fit-center {
max-width: 720px;
margin-left: auto;
margin-right: auto
}

.portl .fit-head {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 24px
}

.portl .fit-h2 {
font-size: 32px;
line-height: 1.1;
color: #4C709E;
margin: 0;
font-weight: 700
}

.portl .fit-intro {
font-size: 18px;
line-height: 1.6;
color: #2a3a50;
margin: 0 0 24px
}

.portl .fit-pricing {
width: 100%;
border-collapse: separate;
border-spacing: 0;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 6px 18px 0 #4c709e1a;
margin-bottom: 24px;
table-layout: fixed
}

.portl .fit-pricing thead tr {
background: #4C709E
}

.portl .fit-pricing thead th {
font-size: 16px;
line-height: 1.1;
color: #fff;
font-weight: 700;
padding: 12px;
text-align: left
}

.portl .fit-pricing thead th:first-child {
border-radius: 22px 0 0 0
}

.portl .fit-pricing thead th:last-child {
border-radius: 0 22px 0 0
}

.portl .fit-pricing tbody tr:nth-child(odd) {
background: #f5f7fa
}

.portl .fit-pricing tbody tr:nth-child(even) {
background: #eef1f5
}

.portl .fit-pricing tbody td {
font-size: 16px;
line-height: 1.6;
color: #2a3a50;
padding: 12px;
vertical-align: top
}

.portl .fit-pricing tbody td:first-child {
font-weight: 600;
color: #4C709E
}

.portl .fit-check {
display: inline-block;
width: 10px;
height: 10px;
border-radius: 48px;
background: #4C709E;
vertical-align: middle;
margin-right: 6px
}

.portl .fit-cross {
display: inline-block;
width: 10px;
height: 10px;
border-radius: 48px;
background: #C5CFDB;
vertical-align: middle;
margin-right: 6px
}

.portl .fit-note {
font-size: 16px;
line-height: 1.6;
color: #3d4f62;
margin: 0 0 24px
}

.portl .fit-faq {
display: flex;
flex-direction: column;
gap: 12px
}

.portl .fit-faqitem {
background: #f5f7fa;
border-radius: 14px;
padding: 24px;
box-shadow: inset 0 2px 6px 0 #4c709e0f
}

.portl .fit-faqq {
font-size: 16px;
font-weight: 700;
color: #2a3a50;
margin: 0 0 6px;
line-height: 1.1
}

.portl .fit-faqa {
font-size: 16px;
line-height: 1.6;
color: #3d4f62;
margin: 0
}

@media (max-width: 375px) {

.portl .fit-pricing thead th,
.portl .fit-pricing tbody td {
font-size: 16px;
padding: 6px
}
}

@media (max-width: 1024px) {
.portl .titleblock-h1 {
font-size: 62px
}
}

@media (max-width: 768px) {
.portl .titleblock-h1 {
font-size: 32px
}

.portl .evidence-statnum {
font-size: 32px
}

.portl .people-ratingnum {
font-size: 32px
}
}

@media (max-width: 375px) {
.portl .titleblock-h1 {
font-size: 32px
}
}

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

.aboutus .au-intro {
padding: 48px 24px;
position: relative
}

.aboutus .au-intro-inner {
max-width: 1170px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 48px
}

.aboutus .au-textcol {
flex: 1 1 0;
min-width: 0
}

.aboutus .au-textcol h1 {
font-size: 62px;
line-height: 1.1;
color: #4C709E;
margin: 0 0 24px;
padding-left: 18px;
border-left: 4px solid #678AAB
}

.aboutus .au-textcol .au-lead {
font-size: 18px;
line-height: 1.6;
color: #222;
margin: 0 0 24px
}

.aboutus .au-textcol .au-body {
font-size: 16px;
line-height: 1.6;
color: #333;
margin: 0 0 24px
}

.aboutus .au-textcol .au-accent {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 12px;
background: #eef2f7;
border-radius: 14px;
padding: 12px 24px;
font-size: 16px;
line-height: 1.6;
color: #4C709E
}

.aboutus .au-textcol .au-accent .au-dot {
width: 10px;
height: 10px;
border-radius: 48px;
background: #678AAB;
flex-shrink: 0
}

.aboutus .au-imgcol {
flex: 0 0 420px;
max-width: 420px;
position: relative
}

.aboutus .au-imgcol .au-imgwrap {
border-radius: 22px;
overflow: hidden;
box-shadow: 0 6px 18px 0 #4c709e1a;
position: relative
}

.aboutus .au-imgcol .au-imgwrap img {
width: 100%;
height: 380px;
object-fit: cover;
display: block;
filter: saturate(0.7) brightness(0.97);
transition: filter .15s cubic-bezier(0.4, 0, 1, 1)
}

.aboutus .au-imgcol .au-imgwrap:hover img {
filter: saturate(1) brightness(1)
}

.aboutus .au-bgcircle {
position: absolute;
border-radius: 48px;
border: 2px solid #4c709e1a;
pointer-events: none
}

.aboutus .au-bgcircle.c1 {
width: 180px;
height: 180px;
top: -40px;
right: -40px;
border-radius: 48px
}

.aboutus .au-bgcircle.c2 {
width: 90px;
height: 90px;
bottom: 30px;
left: -30px;
border-radius: 48px
}

.aboutus .au-imgcol .au-smallcircle {
position: absolute;
width: 14px;
height: 14px;
border-radius: 48px;
background: #C5CFDB;
top: 24px;
left: -20px;
pointer-events: none
}

.aboutus .au-divider {
width: 100%;
overflow: hidden;
line-height: 0
}

.aboutus .au-divider svg {
display: block;
width: 100%
}

.aboutus .au-detail {
background: linear-gradient(90deg, #4C709E 0%, #678AAB 100%);
padding: 48px 24px;
position: relative
}

.aboutus .au-detail-inner {
max-width: 1170px;
margin: 0 auto
}

.aboutus .au-detail h2 {
font-size: 32px;
line-height: 1.1;
color: #fff;
margin: 0 0 24px;
padding-left: 18px;
border-left: 4px solid #C5CFDB
}

.aboutus .au-threecolrow {
display: flex;
flex-direction: row;
gap: 24px;
margin-bottom: 48px
}

.aboutus .au-col {
flex: 1 1 0;
min-width: 0;
border-radius: 14px;
padding: 24px
}

.aboutus .au-col.bg-a {
background: #ffffff21
}

.aboutus .au-col.bg-b {
background: #c5cfdb2e
}

.aboutus .au-col.bg-c {
background: #ffffff12
}

.aboutus .au-col h4 {
font-size: 18px;
line-height: 1.1;
color: #fff;
margin: 0 0 12px
}

.aboutus .au-col p {
font-size: 16px;
line-height: 1.6;
color: #ffffffe0;
margin: 0
}

.aboutus .au-imgrow {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start
}

.aboutus .au-imgrow .au-imgblock {
flex: 0 0 340px;
max-width: 340px
}

.aboutus .au-imgrow .au-imgblock .au-imgwrap2 {
border-radius: 22px;
overflow: hidden;
box-shadow: 0 10px 52px 0 #4c709e1c
}

.aboutus .au-imgrow .au-imgblock .au-imgwrap2 img {
width: 100%;
height: 260px;
object-fit: cover;
display: block;
filter: saturate(0.72) brightness(0.95);
transition: filter .12s cubic-bezier(0.4, 0, 1, 1)
}

.aboutus .au-imgrow .au-imgblock .au-imgwrap2:hover img {
filter: saturate(1) brightness(1)
}

.aboutus .au-imgrow .au-imgblock .au-imgwrap2+.au-imgwrap2 {
margin-top: 24px
}

.aboutus .au-imgrow .au-textblock {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
gap: 24px
}

.aboutus .au-imgrow .au-textblock .au-factrow {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

.aboutus .au-imgrow .au-textblock .au-factrow .au-factdot {
width: 10px;
height: 10px;
border-radius: 48px;
background: #C5CFDB;
margin-top: 6px;
flex-shrink: 0
}

.aboutus .au-imgrow .au-textblock .au-factrow p {
font-size: 16px;
line-height: 1.6;
color: #ffffffe0;
margin: 0
}

.aboutus .au-teamrow {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 48px;
flex-wrap: wrap
}

.aboutus .au-teammember {
flex: 1 1 0;
min-width: 200px;
background: #ffffff1a;
border-radius: 14px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow: 0 1px 5px 0 #4c709e0f;
transition: box-shadow .14s ease-in
}

.aboutus .au-teammember:hover {
box-shadow: 0 6px 18px 0 #4c709e2e
}

.aboutus .au-teammember h5 {
font-size: 18px;
line-height: 1.1;
color: #fff;
margin: 0
}

.aboutus .au-teammember .au-role {
font-size: 16px;
line-height: 1.6;
color: #C5CFDB;
margin: 0
}

.aboutus .au-teammember .au-memberdot {
width: 34px;
height: 34px;
border-radius: 48px;
background: linear-gradient(90deg, #C5CFDB 0%, #678AAB 100%);
flex-shrink: 0
}

.aboutus .au-outlineshape {
position: absolute;
right: 48px;
bottom: 48px;
width: 120px;
height: 120px;
border-radius: 48px;
border: 2px solid #c5cfdb2e;
pointer-events: none
}

@media (max-width: 1024px) {
.aboutus .au-intro-inner {
flex-direction: column;
gap: 24px
}

.aboutus .au-imgcol {
flex: 0 0 auto;
max-width: 100%;
width: 100%
}

.aboutus .au-imgcol .au-imgwrap img {
height: 280px
}

.aboutus .au-textcol h1 {
font-size: 32px
}

.aboutus .au-threecolrow {
flex-direction: column
}

.aboutus .au-imgrow {
flex-direction: column
}

.aboutus .au-imgrow .au-imgblock {
flex: 0 0 auto;
max-width: 100%;
width: 100%
}
}

@media (max-width: 768px) {
.aboutus .au-intro {
padding: 24px 12px
}

.aboutus .au-detail {
padding: 24px 12px
}

.aboutus .au-textcol h1 {
font-size: 32px
}

.aboutus .au-detail h2 {
font-size: 24px
}

.aboutus .au-teamrow {
flex-direction: column
}
}

@media (max-width: 375px) {
.aboutus .au-textcol h1 {
font-size: 24px
}

.aboutus .au-threecolrow {
gap: 12px
}

.aboutus .au-imgrow {
gap: 12px
}
}

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

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

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

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

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

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

.aboutus .au-textcol {
animation: slideFromLeft .16s cubic-bezier(0.4, 0, 1, 1) both
}

.aboutus .au-imgcol {
animation: slideFromRight .18s cubic-bezier(0.4, 0, 1, 1) .06s both
}

.aboutus .au-threecolrow {
animation: slideFromBottom .15s cubic-bezier(0.4, 0, 1, 1) .04s both
}

.aboutus .au-teamrow {
animation: slideFromBottom .17s cubic-bezier(0.4, 0, 1, 1) .08s both
}

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

.successPage .resultCard {
background: #f4f7fb;
border-radius: 22px;
box-shadow: 0 6px 18px 0 #4c709e1a;
max-width: 560px;
width: 100%;
padding: 48px;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 24px
}

.successPage .iconWrap {
width: 56px;
height: 56px;
border-radius: 14px;
background: #C5CFDB;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.successPage .iconWrap svg {
display: block
}

.successPage .resultHeading {
font-size: 32px;
line-height: 1.1;
color: #4C709E;
margin: 0;
padding-left: 12px;
border-left: 3px solid #678AAB
}

.successPage .resultBody {
font-size: 18px;
line-height: 1.6;
color: #2b2b2b;
margin: 0
}

.successPage .resultMeta {
font-size: 16px;
line-height: 1.6;
color: #4a4a4a;
margin: 0;
background: #fff;
border-radius: 8px;
padding: 12px 24px;
box-shadow: 0 1px 5px 0 #4c709e0f;
width: 100%
}

.successPage .resultMeta strong {
color: #4C709E
}

.successPage .backLink {
display: inline-block;
margin-top: 6px;
font-size: 16px;
line-height: 1.6;
color: #fff;
background: #4C709E;
border-radius: 8px;
padding: 12px 24px;
text-decoration: none;
transition: background .12s cubic-bezier(0.4, 0, 1, 1), box-shadow .15s cubic-bezier(0.4, 0, 1, 1);
box-shadow: 0 1px 5px 0 #4c709e0f
}

.successPage .backLink:hover,
.successPage .backLink:focus {
background: #678AAB;
box-shadow: 0 6px 18px 0 #4c709e1a;
outline: none
}

.successPage .backLink:active {
background: #3a5a82
}

@media (max-width: 768px) {
.successPage .resultCard {
padding: 24px;
gap: 24px
}

.successPage .resultHeading {
font-size: 24px
}
}

@media (max-width: 375px) {
.successPage {
padding: 24px 12px
}

.successPage .resultCard {
padding: 24px 12px
}

.successPage .resultMeta {
padding: 12px
}
}