@font-face {
    font-family: 'Cormorant';
    src: url("../fonts/Cormorant-Bold.woff2") format("woff");
    font-weight: bold;
}

@font-face {
    font-family: 'Cormorant';
    src: url("../fonts/Cormorant-Regular.woff2") format("woff");
    font-weight: normal;
}

@font-face {
    font-family: 'OpenSans';
    src: url("../fonts/OpenSans-Bold.woff2") format("woff");
    font-weight: bold;
}

@font-face {
    font-family: 'OpenSans';
    src: url("../fonts/OpenSans-Regular.woff2") format("woff");
    font-weight: normal;
}

@font-face {
    font-family: 'OpenSans';
    src: url("../fonts/OpenSans-Light.woff2") format("woff");
    font-weight: 200;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

:root {
    /*ui-scale-factor*/
    --rpx-75: clamp(0.75px, calc(0.026vw + 0.500px), 1px);
    --rpx-67: clamp(0.667px, calc(0.035vw + 0.334px), 1px);
    --rpx-50: 0.052vw;
    /*
    * 1px at 1920
    * 0.667px at 960
    */
    --rpx: var(--rpx-67);
    --wrapper-width: clamp(900px, calc(72.9167vw + 200px), 1600px);
    --wrapper-width-narrow: clamp(720px, calc(25vw + 480px), 960px);

    --serif-font: Cormorant, "Times New Roman", serif;
    --sans-serif-font: OpenSans, Arial, sans-serif;

    font-family: var(--sans-serif-font);

    --theme-beige: #c8b993;
    --theme-beige-dim: #c3b591;
    --theme-navy: #081b61;
    --theme-navy-rgb: rgb(8, 27, 97);
    --theme-midnight: #2d2b51;
    --theme-lavender: #8e76b9;
    --theme-skyblue: #bfd6f5;
    --theme-lightskyblue: #f5f7fc;
    --theme-magenta: #cc266e;

    /*--corner-gradient: radial-gradient(circle farthest-side at left bottom, var(--theme-beige) 0%, var(--theme-midnight) 60%, var(--theme-navy) 100%);*/
    --corner-gradient: url("../images/about_why_premier/header_back.jpg") center/cover no-repeat;
    --corner-gradient-thin: url("../images/global/corner_gradient_thin.jpg") center/cover no-repeat;
    --corner-gradient-light: linear-gradient(to left top, var(--theme-beige) 0%, var(--theme-skyblue) 100%);

    --header-height-min: calc(80 * var(--rpx));
    --header-height-max: calc(100 * var(--rpx));

    --header-height: var(--header-height-max);

    --no-header-100vh: calc(100vh - var(--header-height-max));
}

* {
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: inherit;
}

/*a:hover{
    color: #e60012;
}*/

p {
    margin-top: 0;
    margin-bottom: 0;
}

p+p {
    margin-top: 1.25em;
}

html {
    color: #000000;
    /*
    *16px at 1920
    *14px at 960
    */
    font-size: calc(0.208vw + 12px);
}

body {
    font-size: calc(0.20833vw + 12px);
    margin: 0;
    padding-right: 0 !important;
}

sup {
    font-size: .5em;
    line-height: 1em;
    vertical-align: 0;
    transform: translateY(-80%);
    display: inline-block;
}

br.mobile {
    display: none;
}

@media (max-width: 750px) {
    br.mobile {
        display: block;
    }
}

.anchor {
    position: relative;
    top: calc(-1 * var(--header-height));
}

.wrapper {
    width: var(--wrapper-width);
    margin-left: auto;
    margin-right: auto;
}

.wrapper.narrow {
    width: var(--wrapper-width-narrow);
}

.site-header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: var(--header-height);
    z-index: 600;
    transition: .3s;
}

/*.page-content {
    padding-top: var(--header-height-max);
}*/

body.scrolled {
    --header-height: var(--header-height-min);
}

.layer-mask {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 500;
    opacity: 0;
    visibility: hidden;
    transition: .2s;
}

body.masked .layer-mask {
    opacity: 1;
    visibility: visible;
    transition: .4s;
}

.scrolled .site-header-bar {
    -webkit-backdrop-filter: saturate(190%) blur(12px);
    backdrop-filter: saturate(190%) blur(12px);
    background-color: rgba(255, 255, 255, 0.83);
    box-shadow: 0 0 3rem rgba(15, 15, 15, .05), 0 0 .75rem rgba(15, 15, 15, .075);
}

.site-header-sample {
    position: absolute;
    visibility: hidden;
    left: 0;
    top: 0;
}

.site-header-sample.min {
    height: var(--header-height-min);
}

.site-header-bar {
    width: 100%;
    height: var(--header-height);
    background-color: #fff;
    padding-left: 30px;
    padding-right: 30px;

    display: flex;
    align-items: center;
    transition: .3s;
}

.site-logo {
    height: calc(54 * var(--rpx));
    width: calc(152 * var(--rpx));
    flex: 0 0 auto;
    justify-content: flex-end;
    margin-left: 0;
    margin-right: 0;
    position: relative;
}

.site-logo img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: contain;
    transition: .3s;
}

.site-logo img.dark {
    z-index: 601;
    filter: url(#black-overlay);
}


.site-logo:hover img.dark {
    opacity: 0;
}

.top-button {
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    flex: 0 0 auto;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 50%;
    transition: .3s all, transform 0s, opacity 0s;
}

.btn-large-nav-expand {
    position: fixed;
    left: calc(18 * var(--rpx));
    top: calc((var(--header-height) - 60 * var(--rpx)) / 2);
    z-index: 900;
}

.top-button:hover {
    background-color: rgba(0, 0, 0, .06);
}

.top-button:active {
    transition: 0s;
    background-color: rgba(0, 0, 0, .1);
}

.btn-large-nav-expand i {
    width: calc(24 * var(--rpx));
    height: calc(2 * var(--rpx));
    flex: 0 0 auto;
    background: #333;
    margin-bottom: calc(4 * var(--rpx));
    transition: cubic-bezier(0.15, 1, 0.336, 1) .5s;
}

.btn-large-nav-expand i:last-of-type {
    margin-bottom: 0;
}

.btn-large-nav-expand {
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    flex: 0 0 auto;
}

.btn-search-top {
    margin-left: calc(12 * var(--rpx));
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    flex: 0 0 auto;
}

.btn-search-submit i,
.btn-search-top i {
    width: calc(21 * var(--rpx));
    height: calc(21 * var(--rpx));
    background: url("../images/global/icon_search.svg") center/contain no-repeat;
}

.large-nav {
    position: fixed;
    z-index: 800;
    left: 0;
    top: 0;
    width: 100%;
    background-color: #fff;

    transform: translateY(-10%);
    opacity: 0;
    visibility: hidden;
    transition: opacity linear .2s, transform cubic-bezier(0.15, 1, 0.336, 1) 0s .4s;
}

.large-nav-active .large-nav {
    transition: all cubic-bezier(0.15, 1, 0.336, 1) .5s;
    transform: none;
    opacity: 1;
    visibility: visible;
}

.large-nav-active .btn-large-nav-expand i {
    transition: cubic-bezier(.1, .84, .2, 1.4) .4s;
}

.large-nav-active .btn-large-nav-expand i:nth-of-type(1) {
    transform: translateY(300%) rotate(45deg);
}

.large-nav-active .btn-large-nav-expand i:nth-of-type(2) {
    transform: scaleX(0);
}

.large-nav-active .btn-large-nav-expand i:nth-of-type(3) {
    transform: translateY(-300%) rotate(-45deg);
}

.large-nav {
    display: flex;
    align-items: stretch;
    color: #333333;
}

.large-nav .left {
    /*
    *480px at 1920
    *320px at 960
    */
    width: clamp(320px, calc(16.667vw + 160px), 480px);
    flex: 0 0 auto;
    border-right: 1px solid #e6e6e6;
}

.large-nav .right {
    width: calc(100% - clamp(320px, calc(16.667vw + 160px), 480px));
    flex: 0 0 auto;
}

.large-nav .top {
    height: var(--header-height);
    border-bottom: 1px solid #e6e6e6;
}

.large-nav .left .top {
    padding-left: calc(100 * var(--rpx));
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.large-nav .left .top .site-logo-inner {
    height: calc(60 * var(--rpx));
    position: relative;
}

.large-nav .left .top .site-logo-inner img {
    position: absolute;
    height: 100%;
    width: auto;
    z-index: 800;
}

.large-nav .left .top .site-logo-inner img.dark {
    filter: url(#black-overlay);
    z-index: 810;
    transition: .3s;
}

.large-nav .left .top .site-logo-inner:hover img.dark {
    opacity: 0;
}

.large-nav .left .bottom {
    padding-top: calc(50 * var(--rpx-50));
    padding-bottom: calc(50 * var(--rpx-50));
    font-size: calc(18rem / 16);
}

.large-nav .left .large-nav-tab {
    position: relative;
    line-height: calc(32em / 16);
    padding-top: calc(14em / 16);
    padding-bottom: calc(14em / 16);
    cursor: pointer;
    display: block;
    /*
    *100px at 1920
    *30px at 960
    */
    padding-left: clamp(30px, calc(7.292vw - 40px), 100px);

    background-image: linear-gradient(to right, rgba(249, 245, 237, 1) 0%, rgba(249, 245, 237, 1) 75%, rgba(249, 245, 237, 0) 100%);
    background-repeat: no-repeat;
    background-size: 200% 100%;
    background-position: 200% 0;
    transition: .3s background-position;
    font-weight: bold;
}

.large-nav .left .large-nav-tab:hover {
    background-position: 100% 0;
}

.large-nav .left .large-nav-tab.active {
    color: #011a65;
    background-position: 0 0;
}

.large-nav .left .large-nav-tab::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: calc(36 * var(--rpx));
    margin: auto;
    width: calc(9em / 18);
    height: calc(15em / 18);
    background: url("../images/global/icon_angle_right.svg") center/contain no-repeat;
    filter: url(#gray-overlay);
}

.large-nav .left .large-nav-tab.active::after {
    filter: url(#navy-overlay);
}


.large-nav .large-nav-title {
    margin-bottom: calc(32vh / 10.8);
    font-size: calc(28 * var(--rpx));
    font-weight: bold;
    font-family: var(--serif-font);
}

.large-nav .right .top {
    padding: 0 clamp(30px, calc(4.688vw - 15px), 75px);
}

.large-nav .search-box {
    border-bottom: 1px solid transparent;
    transition: .3s;
    display: flex;
    align-items: center;
    height: calc(100% + 1px);
    width: 100%;
    position: relative;
}

.large-nav .search-box.active {
    border-color: #011a65;
}

.large-nav .search-box .search-input {
    appearance: none;
    border: none;
    background-color: transparent;
    font-weight: lighter;
    font-size: 1.5rem;
    line-height: 1.5em;
    padding-top: .75em;
    padding-bottom: .75em;
    outline: none;
    display: block;
    width: 100%;
}

.large-nav .search-box .search-input::placeholder {
    font-size: 1rem;
}

.large-nav .right .btn-search-submit {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    appearance: none;
    border: none;
}

.large-nav .right .btn-search-submit:not(:hover) {
    background-color: transparent;
}


.large-nav .right .bottom {
    /*
    *75px at 1920
    *30px at 960
    */
    padding: calc(48vh / 10.8) clamp(30px, calc(4.688vw - 15px), 75px);
}

.large-nav .top-nav-sub-layout {
    width: 100%;
}

.large-nav .top-nav-sub-layout .left-col {
    width: calc((100% - clamp(180px, calc(25vw - 60px), 420px)) / 2);
    flex: 0 0 auto;
}

.large-nav .top-nav-sub-layout .right-block .left-col {
    width: 100%;
}

.top-nav-sub-layout .left-col>.nav-pic-block {
    width: calc(100% - 20 * var(--rpx));
}

.top-nav-sub-layout .nav-pic {
    overflow: hidden;
}

.top-nav-sub-layout .nav-pic img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    display: block;
    transition: .3s;
}

.top-nav-sub-layout .nav-pic:hover img {
    transform: scale(1.04);
}

.top-nav-sub-layout .nav-pic-title {
    font-weight: bold;
    margin-bottom: 1em;
}

.large-nav .top-nav-sub-layout .right {
    /*
    *100px at 1920
    *0px at 960
    */
    margin-right: clamp(0px, calc(10.417vw - 100px), 100px);
    justify-content: flex-end;
    margin-left: auto;
    /*
    *320px at 1920
    *180px at 960
    */
    width: clamp(180px, calc(14.583vw + 40px), 320px);
}

@keyframes topColFadeInLeft {
    0% {
        opacity: 0;
        transform: translateX(calc(30 * var(--rpx)));
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

.large-nav-active .large-nav .top-nav-sub-layout>* {
    opacity: 0;
    animation: topColFadeInLeft cubic-bezier(0.15, 1, 0.336, 1) 1.2s forwards;
}

.large-nav .top-nav-sub-layout>*:nth-of-type(1) {
    animation-delay: 0s;
}

.large-nav .top-nav-sub-layout>*:nth-of-type(2) {
    animation-delay: .1s;
}

.large-nav .top-nav-sub-layout>*:nth-of-type(3) {
    animation-delay: .2s;
}

.top-nav {
    height: 100%;
    display: flex;
    font-weight: lighter;
    margin-left: calc(54 * var(--rpx));
}

.top-nav .placeholder {
    font-weight: normal;
}

.top-nav .top-nav-item {
    flex: 0 0 auto;
    position: relative;
}

.top-nav .top-nav-link {
    padding-left: calc(20 * var(--rpx));
    padding-right: calc(20 * var(--rpx));

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;

    position: relative;
}

.top-nav .top-nav-link.active {
    color: #e1d1b0;
    font-weight: bold;
}

.top-nav .top-nav-link::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, .33));
    z-index: 601;
    opacity: 0;
    transition: .3s opacity;
}

.top-nav a:hover::after,
.top-nav a.active::after {
    opacity: 1;
}

.top-nav a:hover {}

.top-nav a span {
    position: relative;
    line-height: 1.45em;
    height: 1.45em;
    z-index: 620;
}

.top-nav a span.placeholder {
    visibility: hidden;
}

.top-nav a span.display {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}

.top-nav a span.placeholder::after {
    content: "";
    height: calc(2 * var(--rpx));
    width: 100%;
    transform: scale(0);
    opacity: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    visibility: visible;
    background-color: #e1d1b0;
    transition: .3s;
    transform-origin: left center;
}

.top-nav a:hover span.placeholder::after {
    transform: none;
    opacity: 1;
}

.top-nav a.active span.placeholder::after {
    transform: scaleX(1.04);
    transform-origin: center center;
    opacity: 1;
}

.top-nav-sub {
    position: absolute;
    left: calc(-12 * var(--rpx));
    background-color: #fff;
    top: 100%;

    /*
    *45px at 1920
    *20px at 960
    */
    /*
    *72px at 1920
    *30px at 960
    */
    padding: clamp(20px, calc(2.604vw - 5px), 45px) clamp(30px, calc(4.375vw - 12px), 72px);
    border-top: 1px solid #ebebeb;

    box-shadow: 0 calc(5 * var(--rpx)) calc(10 * var(--rpx)) 0px rgba(0, 0, 0, 0.2);
    visibility: hidden;
    transform: translateY(-5%);
    opacity: 0;
    transition: cubic-bezier(0.15, 1, 0.336, 1) .3s;
}

.top-nav-sub .nav-group-title {
    font-weight: bold;
    font-size: 1.1em;
}

.top-nav-item:hover .top-nav-sub {
    transition-duration: .5s;
    transform: none;
    visibility: visible;
    opacity: 1;
}

.top-nav-sub-layout {
    display: flex;
    color: #333;
}

.top-nav-sub-layout .left-col {
    font-weight: lighter;
    width: calc(300 * var(--rpx));
    padding-right: calc(10 * var(--rpx));

    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.top-nav-sub-layout .left-col>a {
    /*white-space: nowrap;*/
    display: block;
    line-height: 1.5em;
    width: 100%;
    padding-top: .75em;
    padding-bottom: .75em;
    text-overflow: ellipsis;
}

.top-nav-sub-layout .left-col a:hover {
    color: #e1d1b0;
    font-weight: bold;
}

.top-nav-sub-layout .right {
    width: calc(320 * var(--rpx));
    flex: 0 0 auto;
}

.top-nav-sub-layout .right-title {
    font-weight: bold;
    margin-bottom: .8rem;
    text-transform: uppercase;
}

.top-nav-sub-layout .right-block {
    width: 100%;
}

.top-nav-sub-layout .right-block .cover {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    position: relative;
    margin-bottom: .8em;
    overflow: hidden;
}

.top-nav-sub-layout .right-block .cover img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: .3s;
}

/*.top-nav-sub-layout .right-block:hover {
    color: #011a65;
}

.top-nav-sub-layout .right-block:hover .cover img {
    transform: scale(1.05);
}*/

.top-nav-sub-layout .right-block .left-col>a {
    padding-top: .5em;
    padding-bottom: .5em;
}

.top-nav-sub-layout .right-block .info .title {
    font-weight: bold;
    font-size: calc(18 * var(--rpx));
    margin-bottom: .5em;
}

/*.top-nav-sub-layout .right-block .info .title::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-top: -.2em;
    width: calc(12em / 18);
    height: calc(11em / 18);
    margin-left: .5em;
    background: url("../images/global/icon_arr_right.svg") center/contain no-repeat;
    filter: url(#black-overlay);
}

.top-nav-sub-layout .right-block:hover .info .title::after {
    filter: url(#navy-overlay);
}*/

.top-nav-sub-layout .right-block .info .desc {
    line-height: 1.5em;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
    height: 6em;
}

.swiper-button-disabled {
    opacity: .5;
    pointer-events: none;
}

.section-inner {
    overflow: hidden;
}

.follow-mouse {
    display: block;
    transition: .4s;
    border-radius: calc(21 * var(--rpx));
    padding: calc(15 * var(--rpx)) calc(24 * var(--rpx)) calc(15 * var(--rpx)) 0;
    transform-origin: left center;
}

.follow-mouse-outer {
    cursor: pointer;
    align-self: flex-start;
    /*font-size: 1.5rem;*/
}

.follow-mouse-outer:hover .follow-mouse {
    transform: scale(1.08);
    background-color: rgba(0, 0, 0, .0) !important;
}

.follow-mouse-outer.light:hover .follow-mouse {
    background-color: rgba(0, 0, 0, .04);
    color: #011a65;
}

.follow-mouse-outer.hovered .follow-mouse {
    transition: .1s;
}

.link-more {
    font-weight: bold;
    display: flex;
    line-height: calc(30em / 16);
    cursor: pointer;
    text-transform: uppercase;
}

.link-more:hover {
    text-decoration: underline;
}

/*.link-more:hover {
    color: var(--theme-navy);
}*/

.arr {
    margin-left: calc(8em / 16);
    width: calc(30em / 16);
    height: calc(30em / 16);
    border-radius: 50%;
    flex: 0 0 auto;
    background-color: #ebdcc1;
    position: relative;
    transition: .4s;
}

.arr.down::before {
    transform: rotate(90deg);
}

/*.link-more:hover .arr {
    transform: scale(1.25);
}*/

.arr::before {
    content: "";
    width: calc(12em / 16);
    height: calc(11em / 16);
    background: url("../images/global/icon_arr_right.svg") center/contain no-repeat;
    filter: url(#navy-overlay);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    transition: .4s;
}

.link-more:hover .arr::before {}

.link-more .arr::after {
    /*content: "";*/
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: url("../images/global/btn_more_wrap.svg") center/contain no-repeat;
    animation: spin 4s linear infinite;
    opacity: 0;
    transition: .4s;
}

.link-more:hover .arr::after {
    opacity: 1;
}

.site-footer {
    display: flex;
    align-items: stretch;
    /*overflow: hidden;*/
    position: relative;
    z-index: 205;
}

.site-footer::after {
    content: "";
    position: absolute;
    width: 100%;
    height: calc(100% + 1px);
    bottom: 0;
    left: 0;
    background: var(--theme-navy);
}

.site-footer .left {
    width: 50%;
    flex: 0 0 auto;
    position: relative;
    z-index: 201;
}

.site-footer .right {
    width: 50%;
    flex: 0 0 auto;
    position: relative;
    z-index: 201;
    overflow: hidden;
    padding-top: 1px;
}

.site-footer .top {
    /*
    *240px at 1920
    *150px at 960
    */
    height: calc(clamp(150px, calc(9.375vw + 60px), 240px) + 1px);
    margin-top: -1px;
}

/*
.site-footer .left .bottom {
    height: clamp(370px, calc(21.875vw + 160px), 580px);
}
*/

.site-footer .left .top {
    background-color: #f4ecdb;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /*
    *160px at 1920
    *30px at 960
    */
    padding-left: clamp(30px, calc(13.542vw - 100px), 160px);
    padding-right: clamp(20px, calc(4.1667vw - 20px), 60px);
    position: relative;
    color: #333;
}


.site-footer .left .top .section-title.customized {
    font-size: calc(32 * var(--rpx));
}

.site-footer .left .top .section-title.customized strong {
    font-weight: bold;
}

.site-footer .left .top .btn-ctn {
    margin-top: calc(8 * var(--rpx));
}

.site-footer .left .top .btn-ctn .arr {
    background-color: #fff;
}

.arr.white {
    background-color: #fff;
}

.arr.transparent {
    background-color: transparent;
}

.arr.transparent::before {
    filter: url(#white-overlay);
}

.arr.dark {
    background-color: var(--theme-navy);
}

.arr.dark::before {
    filter: url(#white-overlay);
}

.arr.download::before {
    width: calc(13em / 16);
    height: calc(15em / 16);
    background-image: url("../images/global/icon_download.svg");
}

.site-footer .left .top .btn-ctn .arr::after {
    background-image: url("../images/global/btn_contact_us_wrap.svg");
}

.site-footer .contact {
    overflow: hidden;
}

.site-footer .contact>* {
    position: relative;
    z-index: 210;
}

.site-footer .contact>.contact-back {
    position: absolute;
    width: calc(320 * var(--rpx));
    height: auto;
    right: calc(-35 * var(--rpx));
    top: calc(-32 * var(--rpx));
    z-index: 200;
}

.site-footer .contact-back img {
    display: block;
    width: 100%;
    height: auto;
    transform: rotate(-40deg);
}

.site-footer .left .bottom {
    background-color: #fff;
    /*
    top
    *60px at 1920
    *30px at 960
    */
    /*
    left right
    *72px at 1920
    *30px at 960
    */
    /*
    bottom
    *36px at 1920
    *30px at 960
    */
    padding: clamp(24px, calc(2.5vw), 48px);
    clamp(30px, calc(4.375vw - 12px), 72px) clamp(30px, calc(0.625vw + 24px), 36px);

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;

    font-size: calc(14rem / 16);
    font-weight: lighter;
    line-height: calc(24em / 14);
}

.site-footer .bottom-nav {
    display: flex;
    flex-direction: column;
    gap: calc(30 * var(--rpx));
    width: 100%;
    margin-bottom: calc(30 * var(--rpx));
}

.site-footer .bottom-nav .col {
    width: 100%;
    flex: 0 0 auto;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.site-footer .bottom-nav .col1 .col-desc {
    display: flex;
    gap: calc(20 * var(--rpx));
    flex-wrap: wrap;
    width: 100%;
}

.site-footer .bottom-nav .col1 .col-desc p {
    line-height: 15pt;
    margin-top: 0;
    flex: 0 0 calc((100% - 40 * var(--rpx)) / 3);
}

.site-footer .bottom-nav .col1 .col-desc p:nth-of-type(3n) {
    margin-right: 0;
}

.site-footer .bottom-nav .col1 .col-desc p strong:first-child {
    display: block;
    margin-bottom: .5em;
}

.site-footer .bottom-nav .col1 .col-desc p strong:first-child+br {
    display: none;
}

/*.site-footer .bottom-nav .col1 .col-desc{
    line-height: 16.67pt;
}*/

.site-footer .bottom-nav .col-title {
    font-size: calc(18 * var(--rpx));
    font-weight: bold;
    margin-bottom: calc(16 * var(--rpx));
}

/*.site-footer .bottom-nav .col-desc{
}*/

.site-footer .bottom-nav .col-desc p {
    line-height: calc(24em / 14);
}

.site-footer .bottom-nav .col-desc p+p {
    margin-top: calc(6em / 14);
}

.site-footer .bottom-nav .col-desc a {
    display: block;
}

.site-footer .bottom-nav .col2 {}

.site-footer .left .bottom a:hover {
    font-weight: bold;
    color: #e1d1b0;
}

.site-footer .lang-switch {
    position: absolute;
    right: calc(30rem / 16);
    /*
    top
    *60px at 1920
    *30px at 960
    */
    top: 3.125vw;
}

.site-header-bar .lang-switch {
    margin-left: auto;
    margin-right: calc(30 * var(--rpx));
}


.site-footer .right {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.site-footer .right .top {
    width: 100%;
    z-index: 240;
    flex: 0 0 auto;
    background-color: rgba(1, 26, 101, .8);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.site-footer .right .top .link-list {
    height: 100%;
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid #515986;
}

.site-footer .right .top .link-list a {
    width: calc(100% / 3);
    flex: 0 0 auto;
    border-right: 1px solid #515986;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: .3s;
}

.site-footer .right .top .link-list a:last-of-type {
    border-right: none;
}

.site-footer .right .top .link-list .icon {
    width: calc(36 * var(--rpx));
    height: calc(36 * var(--rpx));
    object-fit: contain;
    filter: url(#white-overlay);
    transition: .3s;
}

.site-footer .right .top .link-list a:hover {
    background-color: rgba(255, 255, 255, .1);
}

.site-footer .right .top .link-list a:hover .icon {
    transform: scale(1.2);
}

.site-footer .right .bottom {
    position: relative;
    /*
    *75px at 1920
    *30px at 960
    */
    --75-to-30: clamp(30px, calc(4.688vw - 15px), 75px);
    z-index: 210;
    background-color: rgba(1, 26, 101, .8);
    flex: 1 0 auto;
    margin-top: -1px;
}

.site-footer .right .bottom .bottom-slogan {
    position: absolute;
    left: var(--75-to-30);
    bottom: var(--75-to-30);
    opacity: 1;
    font-weight: bold;
    font-size: calc(80 * var(--rpx));
    line-height: calc(60em / 80);
    font-family: var(--serif-font);
    color: #fff;
    transform-origin: left bottom;
}

.site-footer .right .bottom .bottom-logo {
    position: absolute;
    right: var(--75-to-30);
    bottom: var(--75-to-30);
    width: auto;
    height: calc(180 * var(--rpx));
    transform-origin: right bottom;
}

.site-footer .right .bottom .bottom-logo img {
    display: block;
    height: 100%;
    width: auto;
}

.site-footer .footer-right-back {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 1px;
    left: 0;
    z-index: 200;
    overflow: hidden;
}

.site-footer .footer-right-back img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform-origin: 20% 50%;
}

.pr-select {
    cursor: pointer;
    position: relative;
}

.pr-select .current {
    display: flex;
    align-items: center;
    padding: calc(10em / 14) calc(14em / 14);
    border-radius: calc(3 * var(--rpx));
    transition: .3s;
}

.pr-select:hover .current,
.pr-select.active .current {
    background-color: rgb(230, 233, 243);
}

.pr-select .current:active {
    transition: 0s;
    background-color: #e2e5ee;
}

.lang-switch .current::before {
    content: "";
    width: calc(25em / 14);
    height: calc(25em / 14);
    background: url("../images/global/icon_global.svg") center/contain no-repeat;
    margin-right: calc(8em / 14);
}

.lang-switch .current {
    opacity: .9;
}

.pr-select .current::after {
    content: "";
    width: calc(11em / 14);
    height: calc(7em / 14);
    background: url("../images/global/icon_angle_down.svg") center/contain no-repeat;
    margin-left: calc(8em / 14);
}

.pr-select .pr-option-list {
    position: absolute;
    top: calc(100% + 4 * var(--rpx));
    left: 0;
    width: 100%;

    border-radius: calc(3 * var(--rpx));
    overflow: hidden;
    transition: cubic-bezier(0.15, 1, 0.336, 1) .4s;
    transform: translateY(-20%);
    opacity: 0;
    visibility: hidden;
}

.pr-select.active .pr-option-list {
    transform: none;
    opacity: 1;
    visibility: visible;
}

.pr-select .pr-option {
    padding: calc(10em / 14) calc(14em / 14);
    border-bottom: 1px solid #d7d7d7;
    background-color: rgb(230, 233, 243);
    display: block;
    text-align: center;
}

.site-footer .left .bottom .pr-select .pr-option:hover {
    color: rgba(1, 26, 101, 1);
}

.pr-select .pr-option:hover {
    background-color: #e2e5ee;
    color: rgba(1, 26, 101, 1);
}

.pr-select .pr-option:last-of-type {
    border-bottom: none;
}

h1,
h2,
h3 {
    margin-top: 0;
    margin-bottom: 0;
}

.page-title {
    font-family: "Cormorant", "Times New Roman", serif;
    font-size: calc(60 * var(--rpx));
    font-weight: bold;
    line-height: calc(70em / 60);
}

.section-title {
    font-family: var(--serif-font);
    font-size: calc(40 * var(--rpx));
    font-weight: bold;
    line-height: 1.5em;
}

.section-title-sub {
    font-size: calc(28em / 16);
    font-weight: bold;
    margin-top: calc(12 * var(--rpx))
}

.page-header {
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: stretch;
    color: #fff;
    position: relative;
    min-height: 600px;
}


.page-header a:hover {
    color: inherit;
}

.page-header .left {
    background: #c8b993;
    width: calc(100% / 3);
    flex: 0 0 auto;

    display: flex;
    flex-direction: column;
    position: relative;

    /*
    *150px at 1920
    *30px at 960
    */
    padding-left: clamp(30px, calc(12.500vw - 90px), 150px);
    padding-top: calc(80 * var(--rpx-50) + var(--header-height-max));
    padding-bottom: calc(64 * var(--rpx-50));
}

.page-header.industry-header .left {
    background-color: var(--theme-navy);
}

.page-header .left .page-title {
    text-align: left;
}

.page-header .left .scroll-hint-outer {
    justify-content: flex-end;
    margin-top: auto;
    margin-bottom: 0;
}

.page-header .right {
    background: #ffffff;
    width: calc(200% / 3);
    flex: 0 0 auto;

    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: relative;
    z-index: 240;
}

.page-header .right .top {
    height: auto;
    position: relative;
    flex: 1 0 auto;
    overflow: hidden;
}

.page-header .right .top img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-header.no-image .right .top::after {
    /*background: linear-gradient(to top, rgba(8, 27, 97, .8), rgba(8, 27, 97, 0));
    mix*/
    display: none;
}

.page-header .right .top::after {
    content: "";
    width: 100%;
    height: 50%;
    min-height: calc(240 * var(--rpx));
    left: 0;
    bottom: 0;
    position: absolute;
    background: linear-gradient(to top, rgba(0, 0, 0, .8), rgba(0, 0, 0, 0));
    z-index: 205;
}

.page-header .short-desc {
    position: absolute;
    z-index: 210;
    /*
    *120px at 1920
    *30px at 960
    */
    left: clamp(30px, calc(9.375vw - 60px), 120px);
    bottom: calc(72 * var(--rpx-50));
    font-size: calc(24rem / 16);
    font-weight: bold;
    max-width: clamp(480px, calc(18.75vw + 300px), 660px);
}

.page-header .short-desc .page-title+p {
    margin-top: calc(18 * var(--rpx-50));
}

@keyframes headerIconIn {
    0% {
        transform: translateZ(calc(-600 * var(--rpx))) rotateY(-180deg) scale(.96);
        opacity: 0;
    }

    100% {
        opacity: .5;
        transform: none;
    }
}

.page-header .left {
    perspective: calc(1000 * var(--rpx));
    perspective-origin: 75% 50%;
}

.page-header .left .header-icon {
    position: absolute;
    width: calc(480 * var(--rpx));
    height: calc(480 * var(--rpx));
    object-fit: contain;
    top: var(--header-height-max);
    bottom: 0;
    right: calc(-100 * var(--rpx));
    margin: auto;
    filter: url(#white-overlay);
    opacity: 0.5;
    /*animation: headerIconIn 2.4s .2s cubic-bezier(0.15, 1, 0.336, 1) forwards;*/
}

.page-header .left .header-icon.plx-ctn,
.page-header .left .header-icon:has(.plx-ctn) {
    filter: none;
}

.page-header .left .header-icon .plx-ctn {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.page-header .right .bottom {
    min-height: calc(320 * var(--rpx-50));
    flex: 0 0 auto;
    color: #333333;
    padding: calc(40 * var(--rpx)) clamp(30px, calc(13.542vw - 100px), 160px) calc(60 * var(--rpx-50)) clamp(30px, calc(9.375vw - 60px), 120px);
    background-color: #fff;
}

.desc {
    font-size: calc(18rem / 16);
    font-weight: lighter;
    line-height: calc(30em / 18);
    text-wrap: balance;
}

.desc-summary {}

.desc p+p {
    margin-top: calc(30em / 18);
}


.desc h2,
.desc h3 {
    margin-top: 1em;
    margin-bottom: 1em;
}

.desc+.btn-ctn {
    margin-top: calc(32 * var(--rpx));
}

.scroll-hint-outer {
    font-size: calc(14rem / 16);
    justify-content: flex-end;
    margin-top: auto;
    margin-bottom: 0;

    text-transform: uppercase;
    font-weight: lighter;

    cursor: pointer;

}

.scroll-hint {
    transform-origin: left center;
    border-radius: calc(21 * var(--rpx));

    display: flex;
    align-items: center;
}

.scroll-mouse {
    width: calc(25em / 14);
    height: calc(37em / 14);
    border-radius: calc(13em / 14);
    border: 1px solid #fff;
    margin-right: 1em;
    position: relative;
}

@keyframes scrollHintAngleMove {
    0% {
        opacity: 0;
        transform: translateY(calc(-12em / 14)) scale(.8);
    }

    33% {
        opacity: 1;
        transform: translateY(calc(-4em / 14)) scale(1);
    }

    67% {
        opacity: 1;
        transform: translateY(calc(4em / 14)) scale(1);
    }

    100% {
        opacity: 0;
        transform: translateY(calc(12em / 14)) scale(.8);
    }
}

.scroll-text {
    line-height: 1.5em;
    position: relative;
    margin-bottom: .5em;
    text-transform: uppercase;
}

.scroll-text::before,
.scroll-text::after {
    content: "";
    height: 1px;
    width: 100%;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: .4s;
}

.scroll-text::before {
    opacity: .3;
}

.scroll-text::after {
    width: 28%;
}

.scroll-hint-outer:hover .scroll-text::after {
    content: "";
    width: 100%;
    background-color: #fff;
}

.scroll-mouse i {
    width: calc(10em / 14);
    height: calc(5em / 14);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url("../images/global/icon_angle_down.svg") center/contain no-repeat;
    filter: url(#white-overlay);
    animation: scrollHintAngleMove 2s linear infinite;
    opacity: 0;
}

.scroll-mouse i:nth-of-type(2) {
    animation-delay: .5s;
}

.scroll-mouse i:nth-of-type(3) {
    animation-delay: 1s;
}

.scroll-mouse i:nth-of-type(4) {
    animation-delay: 1.5s;
}

.flex-box {
    display: flex;
    --gap: calc(48 * var(--rpx));
    --column: 3;
    gap: var(--gap);
    flex-wrap: wrap;
    width: 100%;
}

.flex-box .list-item,
.flex-box .flex-item {
    width: calc((100% - var(--gap) * (var(--column) - 1)) / var(--column));
    flex: 0 0 auto;
}

.page-header-back {
    position: absolute;
    width: 100%;
    height: calc(100% - var(--header-height));
    top: var(--header-height);
    left: 0;
    object-fit: cover;
    object-position: center top;
    z-index: 200;
}

div.page-header-back {
    background: var(--corner-gradient);
}

.page-header-back img,
.page-header-back video,
.page-header-back svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page-header.fullscreen .page-title {
    margin-bottom: calc(48 * var(--rpx));
    line-height: calc(70em / 60);
}

.page-header.fullscreen .wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    z-index: 210;
}

.page-header.fullscreen.narrow .wrapper {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
}

.page-header.fullscreen .scroll-hint-outer {
    position: absolute;
    left: 0;
    bottom: calc(60 * var(--rpx));
}

.page-header.fullscreen.centered .scroll-hint-outer {}


.page-inner-nav-placeholder {
    --inner-header-height: calc(60 * var(--rpx));
    height: var(--inner-header-height);
    position: relative;
    font-size: 1rem;
    font-weight: lighter;
    z-index: 205;
}

.page-inner-nav {
    position: relative;
    background-color: #ecedf1;
    width: 100%;
    will-change: transform;
    display: flex;
    height: var(--inner-header-height);
    padding-left: calc(30 * var(--rpx));
    padding-right: calc(30 * var(--rpx));
}

.page-inner-nav.fixed {
    height: calc(var(--inner-header-height) * .9);
}

.page-inner-nav .inner-nav-page-title {
    width: 0;
    overflow: hidden;
    font-weight: bold;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    padding-right: calc(60 * var(--rpx));
    position: relative;
    white-space: nowrap;
}

.page-inner-nav .inner-nav-page-title::after {
    content: "";
    position: absolute;
    right: calc(30 * var(--rpx));
    width: 1px;
    height: 1.6em;
    top: .25em;
    bottom: 0;
    margin: auto;
    background-color: #d8d8d8;
}

.page-inner-nav .inner-nav-link {
    flex: 0 0 auto;
    width: auto;
    padding-left: 1.5em;
    padding-right: 1.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: calc(2 * var(--rpx)) solid transparent;
    transition: .2s border, .2s color;

}

.page-inner-nav .inner-nav-link .en {
    display: none;
}

.page-inner-nav .inner-nav-link.muted {
    display: none;
}

.page-inner-nav .inner-nav-link:hover {
    color: var(--theme-navy);
    border-bottom-color: var(--theme-navy);
}

.page-inner-nav:not(.fixed) .inner-nav-page-title+.inner-nav-link {
    margin-left: calc(-60 * var(--rpx));
}

.page-inner-nav .inner-nav-link.active {
    color: var(--theme-navy);
    font-weight: bold;
    border-bottom: calc(2 * var(--rpx)) solid var(--theme-navy);
}

.fullscreen.centered {
    text-align: center;
}

.fullscreen.left {
    text-align: left;
}

.page-header.narrow {
    height: calc(640 * var(--rpx));
    min-height: unset;
    margin-top: var(--header-height-max);
}

.page-header.fullscreen.centered .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: calc(150 * var(--rpx));
    position: relative;
    z-index: 210;
}

.page-header.fullscreen.left .wrapper {
    align-items: flex-start;
}

.page-header.fullscreen:not(.no-mask)::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, 0) 60%);
    z-index: 205;
}

.page-header.light {
    color: #000;
}

.page-header.light:not(.no-mask)::after {
    background: linear-gradient(to top, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, 0) 60%) rgba(255, 255, 255, .8);
}

/* .page-header.fullscreen .page-title {
    font-size: calc(90 * var(--rpx-50));
    font-weight: bold;
    margin-bottom: calc(30 * var(--rpx));
} */

.page-header.narrow .page-title {
    margin-top: calc(30 * var(--rpx));
    font-size: calc(60 * var(--rpx));
    line-height: calc(70em / 60);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
    max-height: calc(140em / 60);
}

.page-header.fullscreen .page-desc {
    font-size: calc(18 * var(--rpx));
    line-height: calc(30em / 18);
    width: clamp(720px, calc(25vw + 480px), 960px);
    font-weight: lighter;
}

.page-header.narrow .page-desc {
    margin-top: calc(20 * var(--rpx));
}

.page-header.narrow .wrapper {
    justify-content: flex-end;
    padding-bottom: calc(64 * var(--rpx-50));
}

section.split-info .wrapper {
    display: flex;
    padding-top: calc(180 * var(--rpx-50));
    padding-bottom: calc(180 * var(--rpx-50));
    justify-content: space-between;
    align-items: center;
}

.split-info .left {
    flex: 0 0 auto;
    width: clamp(420px, calc(22.9167vw + 200px), 640px);
}

.split-info .right {
    flex: 0 0 auto;
    width: clamp(450px, calc(27.0833vw + 190px), 710px);
}

.split-info .right img {
    max-width: 100%;
    display: block;
}

.split-info .section-title {
    margin-bottom: calc(40 * var(--rpx));
}

.split-info .desc-summary {
    font-size: calc(24 * var(--rpx));
    line-height: calc(30em / 24);
    font-weight: bold;
    margin-bottom: calc(36 * var(--rpx));
}

.padding180 .wrapper {
    display: flex;
    align-items: flex-start;
}

.collapsible {
    --active-color: var(--theme-navy);
}

.clp-item {
    background-color: #fafbfd;
    padding-top: calc(40 * var(--rpx));
    padding-bottom: calc(40 * var(--rpx));
    cursor: pointer;
    transition: .2s color, .4s background-color;
    color: var(--theme-navy);
}

.clp-item:not(.active):hover .clp-btn {
    filter: url(#navy-overlay);
}

.clp-item:nth-of-type(2n - 1) {
    background-color: #f5f7fc;
}

.clp-item.active {
    color: #fff;
    background-color: var(--active-color);
}

/*.clp-item.active:hover{
    color: var(--theme-beige);
}

.clp-item.active:hover .clp-btn{
    filter: url(#beige-overlay);
}*/

.clp-item .wrapper {
    display: flex;
    align-items: flex-start;
}

.clp-left {
    display: flex;
    align-items: flex-start;
    flex: 0 0 clamp(300px, calc(18.75vw + 120px), 480px);
}

.clp-btn {
    width: calc(40rem / 16);
    aspect-ratio: 1/1;
    flex: 0 0 auto;
    border-radius: 50%;
    margin-right: 1rem;
    background: url("../images/global/icon_expand.svg") center/contain no-repeat;
}

.active .clp-btn {
    background-image: url("../images/global/icon_fold.svg");
    filter: url(#white-overlay);
}

.clp-title {
    font-size: calc(24rem / 16);
    line-height: calc(40em / 24);
    flex: 0 0 auto;
    width: calc(100% - (56rem / 16));
    font-family: "Cormorant", "Times New Roman", serif;
    font-weight: bold;
    word-break: break-word;
    padding-right: calc(30 * var(--rpx));
}

.clp-right {
    display: flex;
    flex: 0 0 clamp(600px, calc(54.1667vw + 80px), 1120px);
    position: relative;
    border-left: 1px solid rgba(255, 255, 255, .5);
    overflow: hidden;
    height: 0;
    color: #fff;
}

.clp-right-inner {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    border-left: rgba(255, 255, 255, .5);
    display: flex;
    flex-direction: column;
    padding-left: clamp(30px, calc(5.2083vw + 20px), 80px);
}

.clp-icon {
    display: block;
    width: calc(130 * var(--rpx));
    height: calc(130 * var(--rpx));
    object-fit: contain;
    margin-bottom: calc(40 * var(--rpx));
    filter: url(#white-overlay);
}

.clp-desc {
    font-size: calc(18rem / 16);
    font-weight: lighter;
    line-height: calc(30em / 18);
    margin-bottom: calc(12 * var(--rpx));
}

.collapsible.part4 {
    --active-color: var(--theme-beige);
}

.collapsible.part6 {
    --active-color: var(--theme-magenta);
}

section .section-back {
    position: absolute;
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    z-index: 200;
    min-height: 100%;
    object-fit: cover;
}

section .section-back.fixed {
    height: 100vh;
    min-height: unset;
}

section .wrapper {
    position: relative;
    z-index: 201;
}

section {
    position: relative;
    z-index: 200;
    background-color: #fff;
}

.page-header.fullscreen {
    background-color: transparent;
}

#glow-ctn {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 190;
    overflow: hidden;
}

#glow-ctn canvas {
    max-height: 100vw;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}

svg .proto {
    visibility: hidden;
}

.split-board {
    display: flex;
    align-items: stretch;
    height: calc(540 * var(--rpx-75));
}

.split-board .info {
    flex: 0 0 clamp(360px, calc(37.5vw), 720px);
    color: #fff;
    padding: clamp(40px, calc(8.3333vw - 80px), 80px);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    background-color: #333;
}

@media (max-width: 1440px) {
    .split-board .info {
        padding: clamp(30px, calc(2.0833vw + 10px), 40px);
    }
}

.split-board .cover {
    flex: 0 0 clamp(540px, calc(35.4167vw + 200px), 880px);
    overflow: hidden;
}

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

.split-board.reversed {
    flex-direction: row-reverse;
}

.split-board .title {
    font-size: calc(40rem / 16);
    font-family: "Cormorant", "Times New Roman", serif;
}

.split-board .subtitle {
    margin-top: calc(40em / 28);
    font-size: calc(28rem / 16);
    line-height: calc(40em / 28);
    max-width: 80%;
    font-weight: bold;
}


.split-board .desc {
    margin-top: calc(16 * var(--rpx));
}


.window-ctn {
    --gap: calc(50 * var(--rpx-50));
    --item-count: 3;

    gap: var(--gap);
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    position: relative;

    height: calc(640 * var(--rpx));
}

.window-item {
    position: relative;
    width: calc((100% - var(--gap) * (var(--item-count) - 1)) / var(--item-count));
    flex: 0 0 auto;
    z-index: 210;
}

.window-item:last-of-type {
    margin-right: 0;
}

.window-item::after {
    content: "";
    position: absolute;
    width: var(--gap);
    height: 100%;
    top: 0;
    left: 100%;
    background: #e6e9f3;
}

.window-item:last-child::after {
    width: calc(100% * var(--item-count));
}

.window-back {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.window-back img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 200;
}

.btn-expand {
    width: calc(40rem / 16);
    aspect-ratio: 1/1;
    flex: 0 0 auto;
    border-radius: 50%;
    margin: 0 auto;
    background: url("../images/global/icon_expand.svg") center/contain no-repeat;
}

.active .btn-expand {
    background-image: url("../images/global/icon_fold.svg");
    filter: url(#white-overlay);
}

section.discover {
    height: auto;
    position: relative;
    color: #fff;
    text-align: center;
    background: var(--corner-gradient-thin);
    padding-top: calc(90 * var(--rpx-50));
    padding-bottom: calc(90 * var(--rpx-50));
    overflow: hidden;
}

section.discover .section-back svg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section.discover .wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.more-links {
    margin-top: calc(40 * var(--rpx-50));
    display: flex;
    --gap: calc(60 * var(--rpx-50));
    --column: 2;
    transition: .3s;
}

@media (min-width: 751px) {
    .more-links:has(.flex-item.link-more:nth-of-type(3)) {
        --column: 3;
    }
}

.more-links a {
    border: 1px solid rgba(255, 255, 255, .1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: calc(160 * var(--rpx));
}


.more-links a.link-more:hover {
    text-decoration: none;
    background-color: rgba(0, 0, 0, .1);
}

.more-links a .title {
    font-size: calc(28 * var(--rpx));
    font-weight: bold;
    transition: .3s;
    transform: translateY(1em);
}

.more-links .arr {
    margin-top: calc(12 * var(--rpx));
    margin-left: 0;
    opacity: 0;
    transition: .3s;
    transform: translateY(-1em) scale(.5);
}

.more-links a:hover {
    border-color: var(--theme-beige);
    color: var(--theme-beige);
}

.more-links a:hover .title {
    transform: none;
}

.more-links a:hover .arr {
    opacity: 1;
    transform: none;
}

.plx-ctn {
    overflow: visible;
    margin: auto;
}

.plx-ctn * {
    pointer-events: none;
}

.plx-ctn *[data-plx-z] {
    transform-origin: 50% 50%;
}

.plx-ctn .clickable {
    pointer-events: all;
    cursor: pointer;
    transition: .3s filter, .3s opacity;
}

.plx-ctn .clickable.dim:hover {
    filter: brightness(.95);
}

.plx-ctn g.clickable>* {
    cursor: pointer;
    pointer-events: all;
}

.plx-ctn .clickable.opaque:hover {
    opacity: .8;
}

.accordion {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    --item-count: 3;
    --item-active-expand: 1;
    --item-width: calc(100% / (var(--item-count) + var(--item-active-expand)));
    --item-width-active: calc(var(--item-width) * (1 + var(--item-active-expand)));
    color: #fff;
    height: calc(720 * var(--rpx));
    background-color: #333;
    transition: 0s;
}

.accordion:has(.acc-item:nth-of-type(4)) {
    --item-count: 4;
}

.acc-item {
    width: var(--item-width);
    flex: 0 0 auto;
    position: relative;
    transition: .6s cubic-bezier(0.15, 1, 0.336, 1);
    cursor: pointer;
    overflow: hidden;
}

.acc-item.active {
    width: var(--item-width-active);
}

.acc-back {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 201;
}

.acc-back>* {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.acc-back::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 70%;
    bottom: 0;
    transform: translateY(50%);
    left: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .8));
    transition: .2s;
    z-index: 205;
}

.acc-item:hover .acc-back::after {
    transform: none;
}

.acc-item.active .acc-back::after {
    opacity: 0;
}

.acc-info {
    position: relative;
    z-index: 210;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    padding: calc(72 * var(--rpx-50));
    height: 100%;
    width: 100%;
    text-align: center;
}

.acc-info>* {
    position: relative;
    z-index: 215;
}

.acc-info::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(to right bottom, var(--theme-navy) 0%, var(--theme-beige) 100%);
    opacity: 0;
    z-index: 211;
    transition: .6s cubic-bezier(0.15, 1, 0.336, 1);
}

.acc-item.active .acc-info::after {
    opacity: .8;
}

.active .acc-info {
    justify-content: center;
}

.acc-item .title {
    font-size: calc(34 * var(--rpx-75));
    font-weight: bold;
    font-family: "Cormorant", "Times New Roman", serif;
}

.acc-item .desc {
    margin-top: calc(16 * var(--rpx));
    display: none;
    width: clamp(360px, calc(25vw + 120px), 600px);
}

.acc-item .btn-ctn {
    margin-top: calc(20 * var(--rpx));
}

.acc-item.active .btn-ctn {
    display: none;
}

.acc-item .btn-expand {
    filter: url(#white-overlay);
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(calc(50 * var(--rpx-67)));
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

.acc-item.active .desc {
    display: block;
    animation: fadeInUp .6s cubic-bezier(0.15, 1, 0.336, 1) forwards;
}

.swiper-control {
    display: flex;
    flex-direction: column;
    position: relative;
}

.swiper-nav {
    position: relative;
}

.swiper-page {
    font-weight: lighter;
    display: flex;
    align-items: flex-end;
    font-size: calc(18 * var(--rpx));
    line-height: 1em;
    color: #999999;
}

.swiper-page .swiper-pagination-current {
    color: #333;
    font-size: calc(28 * var(--rpx));
    line-height: 1em;
    margin-right: calc(8 * var(--rpx));
}

.swiper-page .swiper-pagination-total {
    margin-left: calc(8 * var(--rpx));
}


.swiper-nav {
    display: flex;
}

.swiper-controls .swiper-nav {
    margin-left: calc(-12 * var(--rpx));
    margin-top: calc(6 * var(--rpx));
}

.swiper-controls {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.swiper-nav .nav-btn {
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    border-radius: 50%;
    transition: .3s;
    position: relative;
    cursor: pointer;
}

.swiper-nav .nav-btn:hover {
    background-color: rgba(0, 0, 0, .04);
}

.swiper-nav .nav-btn:active {
    transition: 0s;
    background-color: rgba(0, 0, 0, .08);
}

.swiper-nav .nav-btn::after {
    content: "";
    width: calc(32 * var(--rpx));
    height: calc(16 * var(--rpx));
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}

.swiper-nav .btn-prev::after {
    background: url("../images/global/icon_arr_left_long.svg") center/contain no-repeat;
}

.swiper-nav .btn-next::after {
    background: url("../images/global/icon_arr_right_long.svg") center/contain no-repeat;
}


section.basic {
    height: calc(360 * var(--rpx));
    overflow: hidden;
    color: #fff;
    position: relative;
}


section.basic.dark::after {
    content: "";
    z-index: 202;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
}

.basic .wrapper {
    position: relative;
    z-index: 210;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.basic .section-back {
    position: absolute;
    width: 100%;
    height: auto;
    bottom: 0;
    left: 0;
    z-index: 201;
    transform-origin: center top;
    object-fit: cover;
}

/*.basic.reversed .section-back{
    top: 0;
    bottom: auto;
}*/

.section-back img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 100%;
}

.basic .btn-ctn {
    margin-top: calc(40 * var(--rpx));
}

.basic .desc {
    margin-top: calc(8 * var(--rpx));
    width: clamp(480px, calc(8.3333vw + 400px), 560px);
}

.basic .desc+.btn-ctn {
    margin-top: calc(32 * var(--rpx));
}

.basic .link-more .arr {
    background-color: #fff;
}


.basic .link-more:hover .follow-mouse {
    background-color: rgba(0, 0, 0, .3);
}

.basic .link-more .arr::after {
    background-image: url("../images/global/btn_join_wrap.svg");
}


.tab-header {
    position: relative;
    display: flex;

    --item-count: 3;
    --item-width: calc(100% / (var(--item-count) + 1));
    --item-width-active: calc(var(--item-width) * 2);
}

.tab-header::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, .2));
    mix-blend-mode: multiply;
    pointer-events: none;
}

.tab-header .tab {
    text-align: center;
    font-size: calc(28 * var(--rpx));
    font-weight: bold;
    line-height: calc(40em / 28);
    padding: calc(20em / 28);
    background-color: #393e3b;
    color: #fff;
    cursor: pointer;
    flex: 0 0 auto;
    transition: linear .2s, cubic-bezier(0.15, 1, 0.336, 1) .3s width;
    position: relative;
    width: var(--item-width);
    white-space: nowrap;
    text-overflow: ellipsis;
    /*overflow: hidden;*/
}

.tab-header .tab::after {
    content: "";
    width: 0;
    height: 0;
    border-left: calc(22em / 28) solid transparent;
    border-right: calc(22em / 28) solid transparent;
    border-top: calc(17em / 28) solid var(--theme-beige);
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 100%;
    transform: translateY(-100%);
    opacity: 0;
    transition: cubic-bezier(0.15, 1, 0.336, 1) .3s;
}

.tab-header .tab:hover {
    background-color: #49504c;
}

.tab-header .tab:not(.active)+.tab:not(.active) {
    border-left: 1px solid #444847;
}

.tab-header .tab.active {
    width: var(--item-width-active);
    background-color: var(--theme-beige);
    z-index: 215;
}

.tab-header .tab.active::after {
    transform: none;
    opacity: 1;
}

.tab-body {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.tab-pane {
    flex: 0 0 auto;
    display: none;
}

.tab-pane.active {
    order: -1;
    display: block;
}

.btn-prev.rect,
.btn-next.rect {
    top: 0;
    bottom: 0;
    width: calc(50 * var(--rpx));
    height: calc(50 * var(--rpx));
    margin: auto;
    position: absolute;
    z-index: 240;
    transition: .2s;
    background: url("../images/global/icon_arr_left_long_white.svg") center/42% auto no-repeat rgba(0, 0, 0, .5);
    cursor: pointer;
    left: 0;
}

.btn-next.rect {
    right: 0;
    left: unset;
    background-image: url("../images/global/icon_arr_right_long_white.svg");
}

.btn-prev.rect:hover,
.btn-next.rect:hover {
    background-color: rgba(0, 0, 0, .8);
}

.btn-prev.rect.swiper-button-disabled,
.btn-next.rect.swiper-button-disabled {
    pointer-events: none;
    opacity: .5;
    display: block;
}

.split-block {
    display: flex;
    align-items: stretch;
}

.split-block>* {
    width: 50%;
    flex: 0 0 auto;
}

.split-block .left {
    padding: calc(30 * var(--rpx)) clamp(30px, calc(13.5417vw - 100px), 160px);

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.split-block .left .title {
    font-weight: bold;
    font-size: calc(28 * var(--rpx));
    line-height: calc(30em / 28);
    margin-bottom: calc(24em / 28);
}

.split-block .right img {
    display: block;
    width: 100%;
    height: auto;
}

section.caps {
    background-color: #fafbfd;
}

section.caps.layout-sub {
    background-color: #fff;
}

section.caps .wrapper {
    padding-top: calc(160 * var(--rpx-50));
    padding-bottom: calc(160 * var(--rpx-50));
}

.caps .section-title {
    text-align: center;
    margin-bottom: calc(60 * var(--rpx));
}

.cap-list {
    display: flex;
    flex-wrap: wrap;
    --gap: calc(40 * var(--rpx));
    margin-right: calc(-1 * var(--gap));
}

.cap-list .cap {
    width: calc(100% / 3 - var(--gap));
    flex: 0 0 auto;
    margin-right: var(--gap);
}

.cap-list .cap-title,
.cap-list-overall-title {
    font-weight: bold;
    font-size: calc(32 * var(--rpx));
    text-align: center;
    padding-top: calc(28 * var(--rpx));
    padding-bottom: calc(22 * var(--rpx));
    line-height: 1.5em;
    border-top: 1px solid #c8b993;

    font-family: var(--serif-font);
    color: var(--theme-beige-dim);
}

.cap-list .cap-desc {
    font-size: .875rem;
    padding-bottom: calc(48 * var(--rpx));
    text-align: center;
    width: 85%;
    margin: auto;
}

.cap-links {
    background-color: #fff;
    margin-bottom: var(--gap);
}


.cap-links:nth-last-of-type(1),
.cap-links:nth-last-of-type(2),
.cap-links:nth-last-of-type(3) {
    margin-bottom: 0;
}

.cap-links a {
    height: calc(78 * var(--rpx));
    display: flex;
    align-items: center;
    padding-left: calc(24 * var(--rpx));
    padding-right: calc(64 * var(--rpx));
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: calc(18 * var(--rpx));
    font-weight: bold;
    position: relative;

    border-bottom: 1px solid #e5e5e5;
}


.layout-sub .cap-links {
    background-color: #fafbfd;
}


.cap-links a:last-of-type {
    border-bottom: none;
}

.cap-links a img {
    width: calc(48em / 18);
    height: calc(48em / 18);
    object-fit: contain;
    margin-right: calc(20em / 18);
}


.cap-links a::after {
    content: "";
    width: 12px;
    height: 12px;
    background: url("../images/global/icon_arr_right_thick.svg") center/cover no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: calc(32 * var(--rpx));
}

.cap-links a.not-link::after {
    content: unset;
}

.cap-links a:hover {
    /*color: #e1d1b0;*/
    background-color: rgba(249, 245, 237, 1);
}

/*.cap-links a:hover img{
    filter: url(#beige-overlay)
}
.cap-links a:hover::after{
    filter: url(#beige-overlay)
}*/

.caps .back-ctn {
    margin-top: calc(90 * var(--rpx-50));
    justify-content: center;
    display: none;
}

.caps.layout-sub .back-ctn {
    display: flex;
}

.caps .back-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.caps .back-arr {
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    border-radius: 50%;
    background: url("../images/global/icon_arr_left_white.svg") center/calc(22 * var(--rpx)) auto no-repeat var(--theme-navy);
    flex: 0 0 auto;
    margin-bottom: calc(14 * var(--rpx));
    transition: .2s;
}

.caps .back-link .back-text {
    font-size: 1rem;
    font-weight: bold;
    line-height: calc(24em / 16);
    color: #000;
    transition: .2s;
}

.caps .back-link:hover .back-arr {
    background-color: var(--theme-beige);
}

.caps .back-link:hover .back-text {
    color: var(--theme-beige)
}

.caps .cap-list-overall-title {
    display: none;
}

.caps.layout-sub .cap-list-overall-title {
    display: block;
}

.caps.layout-sub .cap-title {
    display: none;
}

.brick-list {
    display: flex;
    --gap: calc(50 * var(--rpx-50));
    --column-count: 3;
    flex-wrap: wrap;
    align-items: stretch;

    gap: var(--gap);
    --brick-color: rgba(230, 233, 243, .5);
    --brick-color-shift: rgba(230, 233, 243, .3);
}

@media (min-width: 751px) {

    .brick-list.vertical {
        flex-direction: column;
    }

    .brick-list.vertical .brick {
        width: calc((100% - var(--gap)) / 2);
        justify-content: stretch;
        flex: 1 1 auto;
        min-width: unset;
    }
}

.brick-list .brick {
    flex: 1;
    min-width: calc((100% - (var(--column-count) - 1) * var(--gap)) / var(--column-count));
    background-color: var(--brick-color);
    padding: calc(32 * var(--rpx-50)) calc(40 * var(--rpx-50))
}

.brick-list .brick:nth-of-type(2n) {
    background-color: var(--brick-color-shift);
}

.brick .icon {
    display: block;
    width: calc(90 * var(--rpx));
    height: calc(90 * var(--rpx));
    object-fit: contain;
    margin-bottom: calc(20 * var(--rpx));
}

.brick .title {
    font-weight: bold;
    font-size: calc(28 * var(--rpx));
    line-height: calc(30em / 28);
    margin-bottom: calc(8 * var(--rpx));
}

.brick-list.white .brick {
    background-color: #fff;
}

.brick-list .desc+.arr {
    margin-left: calc(-6em / 16);
    margin-top: 0;
    display: block;
    background-color: #fff;
}

.section-back .plx-hexagon {
    height: 110%;
    aspect-ratio: 1/1;
    width: auto;

    left: 50%;
    transform: translateX(-50%);
    right: 0;
    margin: auto;
    top: -5%;
    position: absolute;
}

section.hide-overflow {
    overflow: hidden;
}

.section-title.gap {
    margin-bottom: calc(67 * var(--rpx-50));
}

.section-title.center,
.section-title.centered {
    text-align: center;
}

section.headline-and-others {
    padding-top: calc(150 * var(--rpx-50));
    padding-bottom: calc(120 * var(--rpx-50));
}

.headline-and-others .section-title {
    text-align: center;
}

.headline-and-others .headline {
    margin-top: calc(67 * var(--rpx-50));
    background-color: #f5f7fc;
}

.swiper-others {
    margin-top: calc(50 * var(--rpx));
    --gap: calc(50 * var(--rpx-50));
}

.swiper-others .swiper-slide {
    width: calc((100% - 2 * var(--gap)) / 3);
    flex: 0 0 auto;
    margin-right: var(--gap);

    aspect-ratio: 500/280;
    position: relative;
    overflow: hidden;
}

.swiper-others .swiper-slide:last-of-type {
    margin-right: 0;
}

.swiper-others .swiper-slide .slide-back {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 210;
    transition: .3s;
}

.swiper-others .swiper-slide:hover .slide-back {
    transform: scale(1.05);
}

.swiper-others .swiper-slide::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
    transform: translateY(50%);
    transition: .3s;
    z-index: 215;
}

.swiper-others .swiper-slide:hover::after {
    transform: translateY(25%);
}

.swiper-others .swiper-slide .info {
    position: relative;
    z-index: 220;
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: flex-end;
    padding: calc(24 * var(--rpx)) calc(30 * var(--rpx));
    color: #fff;
}

.swiper-others .swiper-slide .title {
    font-weight: bold;
    font-size: calc(28 * var(--rpx));
    line-height: calc(30em / 28);
}

.discover-light {
    padding-top: calc(150 * var(--rpx-50));
    padding-bottom: calc(200 * var(--rpx-50));
    background-color: #fafbfd;
}

.discover-light .flex-item {
    background-color: #fff;
    padding: calc(36 * var(--rpx)) calc(30 * var(--rpx));

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    cursor: pointer;
}

.discover-light .flex-item:hover {
    color: var(--theme-navy);
}

.discover-light .icon {
    width: calc(90 * var(--rpx));
    height: calc(90 * var(--rpx));
    flex: 0 0 auto;
    margin-bottom: calc(18 * var(--rpx));
}

.discover-light .title {
    font-weight: bold;
    font-size: calc(28 * var(--rpx));
    line-height: calc(30em / 28);
    margin-bottom: calc(12 * var(--rpx));
}

.discover-light .flex-item::after {
    content: "";
    margin-top: calc(12 * var(--rpx));
    width: 12px;
    height: 11px;
    flex: 0 0 auto;
    background: url("../images/global/icon_arr_right.svg") center/contain no-repeat;
}

.news-list {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: calc(50 * var(--rpx-50));
    overflow: hidden;
}

.hover-shadow {
    transition: .4s cubic-bezier(0.15, 1, 0.336, 1);
}

.hover-shadow:hover {
    box-shadow: 0px 2px 8px 0px rgba(2, 27, 100, 0.2);
}

.lux.hover-shadow:hover,
.lux .hover-shadow:hover {
    box-shadow: 0px 2px 8px 0px rgba(39, 28, 51, 0.2);
}

a.news {
    flex: 1;
    background-color: #fafbfd;
    cursor: pointer;
    font-weight: lighter;
    max-width: 30%;
}

a.news .tags {
    width: 100%;
    overflow: hidden;
    flex-wrap: nowrap;
}

a.news:hover,
a.news:hover .title {
    color: var(--theme-navy);
}

.lux a.news {
    background-color: #fcf9f4;
}

a.news .cover {
    aspect-ratio: 500/280;
}

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

a.news .info {
    padding: calc(28 * var(--rpx-50));
}

a.news .category {
    font-size: 1rem;
    margin-bottom: calc(12 * var(--rpx));
}

a.news .title {
    font-size: calc(28 * var(--rpx));
    font-weight: bold;
    line-height: calc(30em / 28);
    margin-bottom: calc(12 * var(--rpx));
    color: #000;

    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
    /*height: calc(90em / 28);*/
    height: calc(92em / 28);
}

a.news .desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
    margin-bottom: calc(36 * var(--rpx-50));
    height: calc(90em / 18);
}

.tags {
    display: flex;
    flex-wrap: wrap;
    gap: calc(10 * var(--rpx));
    width: 100%;
    position: relative;
}

.tag {
    font-size: calc(14rem / 16);
    line-height: calc(34em / 14);
    padding: 0 1em;
    flex: 0 0 auto;
    color: #021b64;
    background-color: #e6e9f3;
    border-radius: calc(17em / 14);
}

a.news .tags .date {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    font-size: calc(14rem / 16);
    line-height: calc(34em / 14);
    background: linear-gradient(to right, rgba(250, 251, 253, 0) 0%, rgba(250, 251, 253, 1) 33%);
    padding-left: calc(50 * var(--rpx));
}

.news-list+.btn-ctn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: calc(90 * var(--rpx-50));
}

.btn-load-more {
    font-weight: bold;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.btn-load-more .icon-plus {
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    margin-right: calc(20 * var(--rpx));
    border-radius: 50%;
    background: var(--theme-beige);
    position: relative;
}

.btn-load-more .icon-plus::before {
    content: "";
    width: calc(21 * var(--rpx));
    height: calc(21 * var(--rpx));
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    background: url("../images/global/icon_plus.svg") center/contain no-repeat;
}

.btn-load-more:hover {
    color: var(--theme-navy);
}

.btn-load-more:hover .icon-plus {
    background-color: var(--theme-navy);
}

.btn-load-more:hover .icon-plus::before {
    filter: url(#white-overlay);
}

.foldable {}

.fold-item {
    border-top: 1px solid #e5e5e5;
}

.fold-item:last-of-type {
    border-bottom: 1px solid #e5e5e5;
}

.fold-title {
    font-family: var(--serif-font);
    font-weight: bold;
    font-size: calc(40rem / 16);
    padding-top: calc(20 * var(--rpx));
    padding-bottom: calc(20 * var(--rpx));
    display: flex;
    align-items: center;
    justify-content: space-between;
    line-height: 2em;
    cursor: pointer;
}

.fold-title:hover {
    color: var(--theme-navy);
}

.fold-title .btn-fold {
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    border-radius: 50%;
    background-color: var(--theme-lightskyblue);
    position: relative;
}

.btn-fold::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    filter: url(#navy-overlay);
    width: calc(21 * var(--rpx));
    height: calc(21 * var(--rpx));
    background: url("../images/global/icon_plus.svg") center/contain no-repeat;
}

.fold-title:hover .btn-fold {
    background-color: var(--theme-navy);
}

.fold-item.expanded .fold-title .btn-fold {
    background-color: var(--theme-navy);
}


.fold-title:hover .btn-fold::after,
.fold-item.expanded .fold-title .btn-fold::after {
    filter: url(#white-overlay);
}

.fold-item.expanded .fold-title .btn-fold::after {
    background: url("../images/global/icon_minus.svg");
}

.fold-content {
    overflow: hidden;
}

.fold-content-inner {
    padding-bottom: calc(120 * var(--rpx-50));
    padding-top: calc(16 * var(--rpx-50));
}

.btn-back {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: bold;
}

.btn-back .icon-back {
    content: "";
    width: calc(60 * var(--rpx));
    height: calc(60 * var(--rpx));
    border-radius: 50%;
    margin-bottom: calc(18 * var(--rpx));
    position: relative;
    background: var(--theme-navy);
}

.btn-back i::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: calc(22 * var(--rpx));
    height: calc(22 * var(--rpx));
    background: url("../images/global/icon_arr_left.svg") center/contain no-repeat;
    filter: url(#white-overlay)
}

.btn-back:hover {
    color: var(--theme-navy);
}


section.capabilities {
    padding-top: calc(120 * var(--rpx));
    padding-bottom: calc(180 * var(--rpx));
    overflow: hidden;
}

section.capabilities .section-title {
    margin-bottom: calc(60 * var(--rpx-50));
}

.capabilities .section-content {
    /*
    *720px at 960
    *480px at 600
    */
    height: clamp(640px, calc(-22.9167vw + 860px), 420px);
    display: flex;
    align-items: stretch;
}

.cap-left {
    background: #c8b993;
    /*
    *720px at 1920
    *360px at 960
    */
    width: clamp(360px, 37.500vw, 720px);
    flex: 0 0 auto;
    position: relative;
    overflow: hidden;
    color: #fff;
    margin-right: -1px;
}

.cap-back {
    position: absolute;
    width: 133.33%;
    height: auto;
    left: 16.67%;
    top: calc(-250 * var(--rpx));
    object-fit: contain;
    z-index: 201;
    will-change: transform;
}

.cap-info {
    position: absolute;
    top: calc(72vh / 10.8);
    left: calc((100vw - var(--wrapper-width)) / 2);
    /*
    *480px at 1920
    *300px at 960
    */
    width: clamp(300px, calc(18.750vw + 120px), 480px);

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    z-index: 210;
}

.cap-info .cap-title {
    font-size: calc(40 * var(--rpx));
    line-height: 1em;
    font-weight: bold;
    width: 100%;
    text-align: left;
    border-top: none;
    padding-top: 0;
    padding-bottom: 0;
}

.cap-info .cap-desc {
    margin-top: calc(24 * var(--rpx));
    width: 100%;
}

.cap-info .cap-desc a {
    display: inline-flex;
    align-items: center;
}

.cap-info .btn-ctn {
    margin-top: calc(24 * var(--rpx));
}

.cap-right {
    width: calc(100% - clamp(320px, calc(41.667vw - 80px), 720px));
    flex: 0 0 auto;
    position: relative;
    overflow: hidden;
}

.swiper-caps {
    --swiper-count: 3;
    /*
    *40px at 1920
    *20px at 960
    */
    --gap-width: 2.083vw;
    --slide-width: calc((100% - (var(--swiper-count) - 1) * var(--gap-width)) / (var(--swiper-count) + 1));
    overflow: visible;
    position: absolute;
    right: 0;
    top: 0;
    width: calc(100% - var(--slide-width));
    height: 50%;
}


@media (min-width: 1921px) {
    .cap-left {
        width: 33%;
    }

    .cap-right {
        width: 67%;
    }

    .cap-info {
        left: calc(100% - 540px);
    }
}

.swiper-caps .swiper-slide {
    width: calc((100% - (var(--swiper-count) - 1) * var(--gap-width)) / var(--swiper-count));
    flex: 0 0 auto;
    margin-right: var(--gap-width);
    cursor: pointer;
}

.swiper-caps .swiper-slide:last-of-type {
    margin-right: 1px;
}

.swiper-caps .swiper-slide-prev .info {
    display: none;
}

.swiper-caps .cover {
    height: 100%;
    width: 100%;
    transform-origin: right top;
    position: relative;
    z-index: 240;
    overflow: hidden;
}

/*.swiper-caps .swiper-slide:nth-last-of-type(1),
.swiper-caps .swiper-slide:nth-last-of-type(2) {
    pointer-events: none;
}*/

.swiper-caps .info {
    position: absolute;
    top: calc(100% + 20 * var(--rpx));
    left: 0;
    font-weight: lighter;
    font-size: calc(18 * var(--rpx));
    opacity: 1;
    transition: .3s;
    z-index: 230;
}

.swiper-caps .swiper-slide:not(.swiper-slide-active):hover .info {
    color: #011a65;
}

.swiper-caps img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}

.swiper-caps a.wfEditorMode {
    position: absolute;
    right: 0;
    top: 0;
}

.swiper-caps .swiper-slide:not(.swiper-slide-active):hover img {
    filter: brightness(.8);
    transform: scale(1.05);
}

.swiper-caps .swiper-slide-active {
    cursor: default;
}

.swiper-caps .swiper-slide-active .cover {
    transform: scale(2);
    transition: .3s;
}

.swiper-caps .swiper-slide-prev .cover {
    opacity: 0;
    transition: .3s;
}

.swiper-caps .swiper-slide-active .info {
    opacity: 0;
}

section.capabilities .swiper-nav {
    position: absolute;
    left: calc((100% - (var(--swiper-count) - 1) * var(--gap-width)) / var(--swiper-count) + var(--gap-width) - 12 * var(--rpx));
    top: calc(200% - 60 * var(--rpx));
}

section.capabilities .swiper-page {
    position: absolute;
    left: calc((100% - (var(--swiper-count) - 1) * var(--gap-width)) / var(--swiper-count) + var(--gap-width));
    top: calc(200% - 96 * var(--rpx));
}

.btn-more-rect {
    font-weight: bold;
    display: flex;
    align-items: center;
    padding-left: calc(40rem / 16);
    padding-right: calc(32rem / 16);
    border: 1px solid #eaeaea;
    cursor: pointer;
    transition: .4s cubic-bezier(0.15, 1, 0.336, 1);
    height: calc(80rem / 16);
}

.btn-more-rect .arr {
    margin-left: 1em;
}

.btn-more-rect:hover {
    background-color: #f6f7fc;
    box-shadow: 0px 2px 8px 0px rgba(2, 27, 100, 0.2);
    border-color: transparent;
}

.btn-more-rect.lux:hover {
    background-color: #fcf9f4;
    box-shadow: 0px 2px 8px 0px rgba(39, 28, 51, 0.2);
}

.btn-more-rect.lux .arr.dark {
    background-color: var(--theme-beige);
}

section.key {
    padding-top: calc(140 * var(--rpx-50));
    padding-bottom: calc(160 * var(--rpx-50));
    background-color: #e6e9f3;
}

section.key.lux {
    background-color: #fcf9f4;
}

section.key .brick-list {
    --brick-color: #fff;
    --brick-color-shift: #fff;
}

section.key .brick {
    background-color: #fff;
}


.brand-list {
    --gap: calc(25 * var(--rpx-50));
    --column: 5;
}

.brand-list .flex-item {
    height: calc(160 * var(--rpx));
    position: relative;
    overflow: hidden;
    background-color: #f6f7fc;
    transition: box-shadow .4s cubic-bezier(0.15, 1, 0.336, 1);
}

.brand-list.lux .flex-item {
    background-color: #fcf9f4;
}

.brand-list .flex-item .cover {
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0);
    transition: .4s cubic-bezier(0.15, 1, 0.336, 1);
}

.brand-list .flex-item .cover img {
    aspect-ratio: 1/1;
    height: 100%;
    width: auto;
    object-fit: contain;

    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    z-index: 230;
}

.brand-list .flex-item .name {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(40em / 16);
    font-weight: bold;
    color: var(--theme-navy);
    padding-left: calc(30rem / 16);
    padding-right: calc(50rem / 16);
    line-height: calc(40em / 16);
    background-color: #f6f7fc;
    transform: translateY(105%);
    z-index: 240;
    transition: .4s cubic-bezier(0.15, 1, 0.336, 1);
}


.brand-list.lux .flex-item .name {
    color: var(--theme-beige);
    background-color: #fcf9f4;
}

.brand-list .flex-item .name::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    height: 100%;
    aspect-ratio: 1/1;
    width: auto;
    background: url("../images/global/icon_arr_right_white.svg") center/30% auto no-repeat var(--theme-navy);
}

.brand-list .flex-item:hover {
    box-shadow: 0px 2px 8px 0px rgba(2, 27, 100, 0.2);
}

.brand-list.lux .flex-item:hover {
    box-shadow: 0px 2px 8px 0px rgba(39, 28, 51, 0.2);
}

.brand-list.lux .flex-item .name::after {
    background-color: var(--theme-beige);
}

.brand-list .flex-item:hover .cover {
    background-color: #fff;
    transform: translateY(calc(-20em / 16));
}

.brand-list .flex-item:hover .name {
    transform: none;
}

.dialog {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.dialog .btn-close {
    position: absolute;
    left: 100%;
    top: 0;
    width: calc(100 * var(--rpx));
    height: calc(100 * var(--rpx));
    background-color: var(--theme-navy);
    cursor: pointer;
}

.dialog .btn-close::after {
    content: "";
    width: 1rem;
    height: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    background: url("../images/global/icon_close.svg") center/contain no-repeat;
    filter: url(#white-overlay);
    transition: .4s cubic-bezier(0.15, 1, 0.336, 1)
}

.dialog .btn-close:hover::after {
    transform: scale(1.25);
}

.dialog-title {
    width: 100%;
    padding: calc(30 * var(--rpx)) calc(80 * var(--rpx));
    font-weight: bold;
    font-family: var(--serif-font);
    font-size: calc(40 * var(--rpx));
    background-color: #e6e9f3;
}

.dialog .brand-list {
    --column: 3;
}

.dialog-content {
    width: calc(100% - 80 * var(--rpx));

    padding: 0 calc(40 * var(--rpx));
    margin-top: calc(60 * var(--rpx));
    margin-bottom: calc(60 * var(--rpx));
    padding-bottom: calc(20 * var(--rpx));
    font-weight: lighter;
    font-size: calc(18 * var(--rpx));
    line-height: calc(30em / 18);
    max-height: calc(100vh - 300vh / 10.8 - calc(140 * var(--rpx)));
    overflow: auto;
}


.dialog-content::-webkit-scrollbar {
    width: 2px;
    background-color: #e5e5e5;
}

.dialog-content::-webkit-scrollbar-thumb {
    background-color: var(--theme-navy);
}

.dialog-content h3 {
    font-weight: bold;
    font-family: var(--sans-serif-font);
    font-size: calc(28 * var(--rpx));
    margin-bottom: calc(24 * var(--rpx));
    margin-top: calc(60 * var(--rpx));
}

.dialog-content h3:first-of-type {
    margin-top: 0;
}

.dialog-content p+p {
    margin-top: calc(30em / 18);
}

.dialog-content .link-list a {
    display: block;
}

.dialog-content .link-list a:hover {
    color: var(--theme-navy);
    font-weight: bold;
}

.dialog-content .link-list a .arr {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0;
    margin-top: calc(-2em / 18)
}

.dialog-content .link-list a .arr::before {
    content: "";
    filter: url(#navy-overlay);
}

.dialog-content ul {
    padding-left: 1em;
}

.dialog-content li {
    margin-bottom: calc(30em / 18);
}

.dialog-content li:last-of-type {
    margin-bottom: 0;
}

.dialog-layer {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 1000;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    transition: .4s cubic-bezier(0.15, 1, 0.336, 1);
}

.dialog-layer.active {
    opacity: 1;
    visibility: visible;
}

.dialog {
    visibility: hidden;
    opacity: 0;
    transform: scale(.96);
    width: clamp(720px, calc(25vw + 480px), 960px);
    transition: .8s cubic-bezier(0.15, 1, 0.336, 1);
}

.dialog-layer.active .dialog {
    visibility: visible;
    opacity: 1;
    transform: none;
}

.editor-link-mockup {
    height: 1.3em;
    line-height: 1.3em;
    margin: 0;
    padding: 0 0.5em;
    background: white;
    color: #99ccff;
    position: absolute;
    right: 0;
    top: 0;
    visibility: hidden;
    z-index: 999;
}

body.wfEditorMode .editor-link-mockup {
    visibility: visible;
}

.no-content-hint {
    padding-top: calc(60 * var(--rpx-50));
    text-align: center;
    font-size: 1.5rem;
    color: #999;
}

.proper-noun {
    white-space: nowrap;
}

.form-contact {
    --gap: calc(20 * var(--rpx));
    --column: 2;
}


.form-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.form-item>span {
    display: block;
    font-weight: bold;
    margin-bottom: .5em;
    width: 100%;
    line-height: 1.5em;
    min-height: 1.5em;
}

.form-item .hint {
    font-size: calc(14em / 16);
    line-height: calc(18em / 14);
    color: #666666;
}

.form-item.full-width {
    width: 100%;
}

.form-item.required span::after {
    content: "*";
    color: #f00;
}

.form-item input,
.form-item textarea,
.form-item select {
    display: block;
    width: 100%;
    border: 1px solid transparent;
    outline: none;
    background-color: #f6f7fc;
    line-height: calc(24em / 16);
    padding: calc(12em / 16) calc(20em / 16);
    border-radius: 0;
    appearance: none;
    position: relative;
}

.form-item input:focus,
.form-item textarea:focus,
.form-item select:focus {
    background-color: #fff;
    color: #333;
    border: 1px solid var(--theme-beige);
}

.form-item select {
    background: url("../images/global/icon_angle_down.svg") calc(100% - 20em / 16) center/calc(11em / 16) auto no-repeat #f6f7fc;
}

.form-item select:focus {
    background-image: url("../images/global/icon_angle_down_beige.svg");
}

.form-item select option {
    color: #333;
}


.dialog-layer {
    padding-top: calc(160 * var(--rpx-50));
    padding-bottom: calc(160 * var(--rpx-50));
    overflow: auto;
    justify-content: flex-start;
}

.upload-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: calc(20 * var(--rpx));
}

.upload-list>* {
    border-radius: calc(3 * var(--rpx));
}

.upload-item.proto {
    display: none;
}

.btn-upload {
    position: relative;
    background-color: #021b64;
    color: #fff;
    padding: calc(14 * var(--rpx));
    width: calc(160em / 16);
}

.btn-upload:hover {
    filter: brightness(1.2);
}

.btn-upload::after {
    content: "";
    width: calc(31 * var(--rpx));
    height: calc(37.68 * var(--rpx));
    position: absolute;
    right: calc(10 * var(--rpx));
    bottom: calc(10 * var(--rpx));
    background: url("../images/global/icon_upload.svg") center/contain no-repeat;
}

.form-item .btn-upload-input {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
}

.btn-submit {
    border-radius: calc(3 * var(--rpx));
    color: #fff;
    background-color: var(--theme-beige);
    border: none;
    justify-self: flex-end;
    align-self: flex-end;
    margin: auto 0 0 auto;
    font-size: 1rem;
}

.btn-submit.submitted .arr::before {
    background-image: url("../images/global/icon_tick.svg");
}

.btn-submit:hover {
    background-color: var(--theme-beige);
    filter: brightness(1.1);
}

.btn-submit.submitted {
    pointer-events: none;
    background-color: var(--theme-navy);
}

.captcha-ctn {
    display: flex;
    align-items: stretch;
    width: 100%;
    gap: calc(10 * var(--rpx));
}

.captcha-ctn input {
    flex: 1 1 auto;
}

.captcha-ctn img {
    flex: 0 0 auto;
}

.upload-item {
    aspect-ratio: 1/1;
    height: 100%;
    width: auto;
    flex: 0 0 auto;
    background: url("../images/join/file_upload_block.jpg") center/contain no-repeat;
    border-radius: 2px;
    position: relative;
    cursor: pointer;
}

.upload-item.proto {
    display: none;
}

.upload-item:hover {
    filter: brightness(1.05);
}

.upload-item .btn-delete {
    position: absolute;
    width: calc(22rem / 16);
    height: calc(22rem / 16);
    border-radius: 50%;
    background: url("../images/global/icon_close.svg") center/calc(8rem / 16) auto no-repeat #fff;
    right: 3px;
    top: 3px;
}

.dialog-form .loading-layer {
    position: absolute;
    width: 100%;
    height: 100%;
    visibility: hidden;
    opacity: 0;
}

.dialog-form.loading .loading-layer {
    visibility: visible;
    opacity: 1;
}

.dialog-form .errors {
    color: red;
    margin-bottom: calc(20 * var(--rpx));
}

.dialog-form .errors li {
    margin-bottom: 0;
}

.dialog-form .btn-close {
    top: calc(20 * var(--rpx));
    right: calc(20 * var(--rpx));
    left: unset;
    width: calc(40 * var(--rpx-75));
    height: calc(40 * var(--rpx-75));
    border-radius: 50%;
    background-color: #e6e9f3;
}

.dialog-form {
    padding: calc(24 * var(--rpx)) calc(60 * var(--rpx)) calc(80 * var(--rpx));
}

.dialog-form .dialog-title {
    background-color: #fff;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    border-bottom: 1px solid #e5e5e5;
}

.dialog-form .dialog-content {
    width: 100%;
    padding: 0;
    margin-top: calc(20 * var(--rpx));
    margin-bottom: 0;
    overflow: visible;
    font-size: 1rem;
    max-height: unset;
}

.dialog-form .btn-close::after {
    filter: url(#blue-overlay);
    width: calc(12em / 16);
    height: calc(12em / 16);
}

.dialog-form form {
    --gap: calc(20 * var(--rpx));
    --column: 2;
}

.wechar-qr-layer.viewer-backdrop {
    background-color: rgba(255, 255, 255, .8);
    backdrop-filter: brightness(1.1) saturate(1.2) blur(10px);
}

.no-result-hint {
    text-align: center;
    color: #999;
    font-size: calc(40 * var(--rpx));
}

@media (max-width: 960px) {
    .dialog-form {
        width: calc(100% - 60px);
    }
}

@media (max-width: 750px) {
    .dialog-form {
        width: calc(100% - 40 * var(--rpx));
        padding: calc(20 * var(--rpx));
    }

    .dialog-form .form {
        --column: 1;
    }

    .btn-more-rect {
        height: calc(50rem / 16);
    }
}

#smooth-content {
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent
}