body {overflow: visible;}
:root {--g-def: 1.1rem; --h-header: 5rem; --scr-pt: 8rem; --w-logo: 9rem; --h-logo: 3.3rem; --maxw: 1600px; }

figure {margin: 0; }

.position-sticky {position: sticky;}

.topStart, .topEnd, .top-0 {top: 0;}

.w-100 {width: 100%; }
.hw-100 {height: 100% !important; width: 100% !important; }
.position-absolute {position: absolute; }
.position-relative, .img-align-top, .img-align-center, .img-align-bottom {position: relative;}

.op-0 {opacity: 0;}
.op-5 {opacity: 0.5;}
.z-1 {z-index: 1;}

.of-cover {object-fit: cover; }
.of-cover, .of-contain {object-position: center; }
.of-ob {object-position: bottom; }
.tcb-l {transition: 2s cubic-bezier(.165, .84, .44, 1); }

.d-grid {display: grid ; }
.gtc-6 {grid-template-columns: repeat(2, 6fr); }
.pc-center {place-content: center;}
.ac-center {align-content: center; }
.rg-2 {row-gap: min(var(--g-def) + 1.5vw, var(--g-def) * 1); }
.rg-3 {row-gap: min(var(--g-def) + 1.5vw, var(--g-def) * 2); }
.text-start {text-align: left !important; }
.lh-4 {line-height: 2; }
.ls-2 {letter-spacing: .1em; }

.pgy-4 {padding-bottom: calc(var(--g-def) * 3);padding-top: calc(var(--g-def) * 3);}
.pg-4 {padding: calc(var(--g-def) * 3);}
.pgb-5, .pgy-5, .pg-5 {padding-bottom: calc(var(--g-def) * 4);}
.pgt-5, .pgy-5, .pg-5 {padding-top: calc(var(--g-def) * 4);}
.pge-3, .pgx-3, .pg-3 {padding-right: calc(var(--g-def) * 2);}
.pgs-3, .pgx-3, .pg-3 {padding-left: calc(var(--g-def) * 2);}
.d-row-reverse {direction: rtl; }
[hidden], .ovxs::-webkit-scrollbar {display: none; }

.mx-n3 {margin-left: -1.64rem;margin-right: -1.64rem;}
.mr--3 {margin-left: -1.64rem;}
.order-first {order: -1 !important; }

/* base */
.fz-xxs{font-size:.85rem!important}
.fz-xs{font-size:1rem!important}
.fz-sm{font-size:1.2rem!important}
.fz-md{font-size:1.4rem!important}
.fz-lg{font-size:1.6rem!important}
.fz-xl{font-size:2rem!important}
.fz-xxl{font-size:2.8rem!important}
.fz-xxxl{font-size:3.8rem!important}
.fz-xxxxl{font-size:4.4rem!important}
.fz-xxxxxl{font-size:6.4rem!important}

@media (min-width: 576px) {
    :root {--g-def: 1.3rem; --fz: 1.6rem; --w-logo: 12rem; --h-logo: 4.3rem; }
    .ps-sm-5, .px-sm-5 {padding-left: calc(var(--g-def) * 3); }
    .pe-sm-5, .px-sm-5 {padding-right: calc(var(--g-def) * 3); }
    .fz-sm-xxs{font-size:.85rem!important}
    .fz-sm-xs{font-size:1rem!important}
    .fz-sm-sm{font-size:1.2rem!important}
    .fz-sm-md{font-size:1.4rem!important}
    .fz-sm-lg{font-size:1.6rem!important}
    .fz-sm-xl{font-size:2rem!important}
    .fz-sm-xxl{font-size:2.8rem!important}
    .fz-sm-xxxl{font-size:3.8rem!important}
    .fz-sm-xxxxl{font-size:4.4rem!important}
    .fz-sm-xxxxxl{font-size:6.4rem!important}
}

@media (min-width: 768px) {
    .pgb-md-6, .pgy-md-6, .pg-md-6 {padding-bottom: calc(var(--g-def) * 8); }
    .pgt-md-6, .pgy-md-6, .pg-md-6 {padding-top: calc(var(--g-def) * 8); }
    .fz-md-xxs{font-size:.85rem!important}
    .fz-md-xs{font-size:1rem!important}
    .fz-md-sm{font-size:1.2rem!important}
    .fz-md-md{font-size:1.4rem!important}
    .fz-md-lg{font-size:1.6rem!important}
    .fz-md-xl{font-size:2rem!important}
    .fz-md-xxl{font-size:2.8rem!important}
    .fz-md-xxxl{font-size:3.8rem!important}
    .fz-md-xxxxl{font-size:4.4rem!important}
    .fz-md-xxxxxl{font-size:6.4rem!important}
    .mx-md-n3 {margin-left: -1.64rem;margin-right: -1.64rem;}
}

@media (min-width: 992px) {
    :root {--g-def: 1.3rem; --glow-def: 1.1rem; --w-logo: 12rem; --h-logo: 4.3rem; }
    .position-lg-absolute {position: absolute;}
    .d-lg-none {display: none!important;}
    .d-lg-block {display: block!important;}
    .h-lg-100vh {height: 100vh; }
    .h-lg-90vh {height: 90vh; }
    .pt-lg-100vh {padding-top: 100vh; }
    .position-lg-sticky {position: sticky;}
    .pgb-lg-4, .pgy-lg-4, .pg-lg-4 {padding-bottom: calc(var(--g-def) * 3); }
    .pgt-lg-4, .pgy-lg-4, .pg-lg-4 {padding-top: calc(var(--g-def) * 3); }
    .fz-lg-xxs{font-size:.85rem!important}
    .fz-lg-xs{font-size:1rem!important}
    .fz-lg-sm{font-size:1.2rem!important}
    .fz-lg-md{font-size:1.4rem!important}
    .fz-lg-lg{font-size:1.6rem!important}
    .fz-lg-xl{font-size:2rem!important}
    .fz-lg-xxl{font-size:2.8rem!important}
    .fz-lg-xxxl{font-size:3.8rem!important}
    .fz-lg-xxxxl{font-size:4.4rem!important}
    .fz-lg-xxxxxl{font-size:6.4rem!important}
    .d-lg-grid {display: grid!important}
    .gtc-lg-0 {grid-template-columns: unset; }
    .gtc-lg-6 {grid-template-columns: repeat(2, 6fr); }
    .gtc-lg-3 {grid-template-columns:repeat(4, 3fr); }
    .mx-lg-n3 {margin-left: -1.64rem;margin-right: -1.64rem;}
}


@media (min-width: 1200px) {
    :root {--g-def: 1.35rem; --glow-def: 1.35rem; --w-logo: 13rem; --h-logo: 5rem; }
    .gtc-xl-0 {grid-template-columns: unset; }
    .gtc-xl-6 {grid-template-columns: repeat(2, 6fr); }
    .px-xl-6 {padding-left: calc(var(--g-def) * 5); padding-right: calc(var(--g-def) * 5); }
    .ps-xl-6, .px-xl-6 {padding-left: calc(var(--g-def) * 4); }
    .pe-xl-6, .px-xl-6 {padding-right: calc(var(--g-def) * 4); }
    .d-xl-block {display: block; }
    .fz-xl-xxs{font-size:.85rem!important}
    .fz-xl-xs{font-size:1rem!important}
    .fz-xl-sm{font-size:1.2rem!important}
    .fz-xl-md{font-size:1.4rem!important}
    .fz-xl-lg{font-size:1.6rem!important}
    .fz-xl-xl{font-size:2rem!important}
    .fz-xl-xxl{font-size:2.8rem!important}
    .fz-xl-xxxl{font-size:3.8rem!important}
    .fz-xl-xxxxl{font-size:4.4rem!important}
    .fz-xl-xxxxxl{font-size:6.4rem!important}
}

@media (min-width: 1400px) {
    .px-2xl-8 {padding-left: calc(var(--g-def) * 6); padding-right: calc(var(--g-def) * 6); }
    .fz-xxl-xxs{font-size:.85rem!important}
    .fz-xxl-xs{font-size:1rem!important}
    .fz-xxl-sm{font-size:1.2rem!important}
    .fz-xxl-md{font-size:1.4rem!important}
    .fz-xxl-lg{font-size:1.6rem!important}
    .fz-xxl-xl{font-size:2rem!important}
    .fz-xxl-xxl{font-size:2.8rem!important}
    .fz-xxl-xxxl{font-size:3.8rem!important}
    .fz-xxl-xxxxl{font-size:4.4rem!important}
    .fz-xxl-xxxxxl{font-size:6.4rem!important}
}

@media (min-width:1600px){
    .fz-xxxl-xxs{font-size:.85rem!important}
    .fz-xxxl-xs{font-size:1rem!important}
    .fz-xxxl-sm{font-size:1.2rem!important}
    .fz-xxxl-md{font-size:1.4rem!important}
    .fz-xxxl-lg{font-size:1.6rem!important}
    .fz-xxxl-xl{font-size:2rem!important}
    .fz-xxxl-xxl{font-size:2.8rem!important}
    .fz-xxxl-xxxl{font-size:3.8rem!important}
    .fz-xxxl-xxxxl{font-size:4.4rem!important}
    .fz-xxxl-xxxxxl{font-size:6.4rem!important}
}

