/* Reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	-webkit-margin-after: 0px;
	-webkit-margin-before: 0px;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
strong, b { font-weight: 700; }
i { font-style: italic; }
* { -webkit-margin-before: 0; -webkit-margin-after: 0; box-sizing: border-box; }
.clear { display: block; clear: both; }
textarea, label, input, select { cursor: pointer; }
img { width: auto; height: auto; max-width: 100%; }
sup { vertical-align: super; font-size: smaller; }

@font-face {
    font-family: 'msc';
    src: url('../fonts/msc/msc.eot?36074904');
    src: url('../fonts/msc/msc.eot?36074904#iefix') format('embedded-opentype'),
         url('../fonts/msc/msc.woff2?36074904') format('woff2'),
         url('../fonts/msc/msc.woff?36074904') format('woff'),
         url('../fonts/msc/msc.ttf?36074904') format('truetype'),
         url('../fonts/msc/msc.svg?36074904#msc') format('svg');
    font-weight: normal;
    font-style: normal;
}
[class^="icon-"]:before, [class*=" icon-"]:before { font-family: "msc"; font-style: normal; font-weight: normal; text-decoration: inherit; width: 1em; text-align: center; font-variant: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.icon-youtube-play:before { content: '\f16a'; }
.icon-instagram-1:before { content: '\f16d'; }
.icon-facebook-squared:before { content: '\f308'; }
.email:before { content: ' '; display: inline-block; background: url( '../images/icons/email.webp' ) no-repeat center/contain; width: 25px; height: 19px; }
.phone:before { content: ' '; display: inline-block; background: url( '../images/icons/phone.webp' ) no-repeat center/contain; width: 18px; height: 18px; }
.mark:before { content: ' '; display: inline-block; background: url( '../images/icons/mark.webp' ) no-repeat center/contain; width: 18px; height: 23px; }

/* General */
body { font-family: 'Muli', 'Arial', sans-serif; background: #eef9ff; padding: 0; }
.container { margin: auto; width: 1200px; max-width: 94%; }
#page > div { box-sizing: border-box; }
input[type="text"], input[type="tel"], input[type="date"], input[type="email"], textarea, select { letter-spacing: .75px; font: 10.5pt/1.1 'Open Sans', 'Arial', sans-serif; padding: 10px 15px; border: 0; background: #f6ebe7; }
button, [type="submit"] { text-decoration: none; cursor: pointer; padding: 10px 35px; border: 0; font: 700 12pt/1.2 'Open Sans', 'Arial', sans-serif; transition: all .4s }
h2 { font-weight: 700; font-family: 'Montserrat', sans-serif; font-size: clamp( 19pt, 4.5vw, 39pt ); color: #015184; text-transform: none; letter-spacing: 0; margin: 0; }
h3 { font-weight: 700; text-align: left; color: #562e2d; max-width: 100%; margin: 0; text-transform: none; letter-spacing: 0; }
.animate { opacity: 0; }
.animate.slide-up { animation: slide-up 1s forwards; }
@keyframes slide-up { 0% { opacity: 0; transform: translateY( 20px ); } 100% { opacity: 1; transform: translateY( 0 ); } }
.slide-up.small-delay { animation-delay: .4s; }
.slide-up.medium-delay { animation-delay: .8s; }
.slide-up.large-delay { animation-delay: 1.2s; }
.slide-up.very-large-delay { animation-delay: 1.6s; }
picture { display: block; cursor: pointer; }
picture img { width: 100%; }

/* Sign Up */
#sign-up { position: relative; }
#sign-up > div { background: url( '../images/bg/sign-up.webp' ) no-repeat center/cover; width: 1111px; max-width: 100%; height: 707px; margin: 140px 0 100px; padding: 50px 20px 20px 50px; border-radius: 25px; }
#sign-up section { position: absolute; right: 0; bottom: 0; background: #fff; width: 640px; max-width: 100%; border-radius: 25px; box-sizing: border-box; padding: 80px 40px; margin: 0 0 -88px auto; box-shadow: 0 0 10px #09365233; }
#sign-up h2 { font-weight: 700; font-size: clamp( 17pt, 5vw, 33pt ); line-height: 1.3; color: #fff; margin: 0 0 43px; }
#sign-up h3 { color: #015184; margin: 0 0 34px; font: 400 clamp( 15pt, 4vw, 29pt )/1.1 'Muli', sans-serif; }
#sign-up h3 b { font-weight: 600; font-size: larger; font-style: italic; }
#sign-up form { display: inline-block; vertical-align: top; }
#sign-up form div { float: left; width: 48%; margin: 0 20px 22px 0; }
#sign-up form div:nth-of-type( even ) { margin: 0; }
#sign-up label { display: block; font-size: 10pt; color: #444142; margin: 0 0 7px; }
#sign-up input, #sign-up select { border: 2px solid #ccc; background: 0; border-radius: 0; width: 100%; height: 34px; padding: 5px 15px; }
#sign-up button { font: 8pt 'Muli', 'Arial', sans-serif; background: #015184; color: #fff; letter-spacing: 3px; border-radius: 0; padding: 13px 15px; margin: 13px 0 0; width: 48%; }
#sign-up button:hover, #promotion button:hover { background: #014168; color: #fff; }
#sign-up small { display: block; color: #5d1b3e; font: 500 clamp( 12pt, 2.5vw, 18pt ) 'Muli', 'Arial', sans-serif; margin: 25px 0 0; }

/* How */
#how { padding: 132px 0 42px; }
#how h2 { margin: 0 0 32px; }
#how section { display: flex; gap: 12px; }
#how div { border-radius: 25px; }
#how div:first-of-type { background: url( '../images/bg/how.webp' ) no-repeat center/cover; padding: 38px 45px 75px; width: 70%; max-width: 796px; }
#how div:last-of-type { background: linear-gradient( 337deg, #fff 0%, #d4eeff 70% ); padding: 26px 30px; max-width: 30%; }
#how h3 { color: #fff; font: 700 clamp( 15pt, 3vw, 25pt )/1.1 'Muli', 'Arial', sans-serif; margin: 0 0 23px; }
#how p { color: #fff; font-size: clamp( 12pt, 2.5vw, 17pt ); text-align: justify; line-height: 1.3; }
#how p:has( span ) { color: #0e486e; font: 200 clamp( 12pt, 2.5vw, 16pt ) 'Montserrat', 'Arial', sans-serif; }
#how b { font-weight: 700; }

/* What */
#before-after-slider { width: max-content; max-width: 100%; position: relative; overflow: hidden; border-radius: 25px; box-shadow: 0 0 10px #09365240; }
#after-image { display: block; background: #fff; }
#before-image { position: absolute; height: 100%; width: 50%; top: 0; left: 0; overflow: hidden; z-index: 2; background: #fff; }
#resizer { position: absolute; display: flex; align-items: center; z-index: 5; top: 0; left: 50%; height: 100%; width: 3px; background: #5c1327; -ms-touch-action: pan-y; touch-action: pan-y; }
#resizer:after { background: #fff; content: '\276E '' \276F'; display: flex; justify-content: center; align-items: center; color: #0e486e; border: 3px solid #5c1327; position: absolute; font-size: 12pt; margin:  0 0 0 -25px; width: 45px; height: 45px; border-radius: 50%; }
#what { padding: 0 0 114px; }
#what h2 { font: 600 clamp( 17pt, 5vw, 32pt ) 'Muli', 'Arial', sans-serif; margin: 0 0 14px; }
#what section { display: flex; justify-content: center; gap: 30px 27px; }
#what img { width: 100%; max-width: max-content; }
#what section > div:first-of-type { position: relative; z-index: 0; font-size: 0; }
#what section > div { width: 50%; }
#what h3 { position: relative; color: #5d1b3e; font: 700 clamp( 15pt, 4vw, 26pt )/1 'Muli', 'Arial', sans-serif; cursor: pointer; padding: 14px 0; }
#what h3:after { content: ' '; position: absolute; top: 50%; right: 0; transform: translateY( -50% ); transition: all .3s ease-in-out; display: block; background: url( '../images/icons/arrow.webp' ) no-repeat center/contain; width: clamp( 20px, 6vw, 26px ); aspect-ratio: 1; }
#what p { color: #3f3f3f; font-size: clamp( 12pt, 2.5vw, 17pt ); line-height: 1.2; text-align: justify; }
#what p span { color: #0e486e; }
#what ul { border-left: 1px solid #163950; }
#what li { position: relative; border-bottom: 2px solid #e9e6e4; margin: 0 0 0 29px; }
#what li:before { content: ' '; position: absolute; left: -32px; top: 0; display: block; width: 6px; height: 0; background: #5d1b3e; border-radius: 3px; transition: all .5s ease-in-out; }
#what li.active:before { height: 100%; }
#what li div { display: none; overflow: hidden; padding: 0 0 90px; }
#what li.active h3:after { transform: translateY( -50% ) rotate( 180deg ); }
#what li:nth-of-type( 2 ) div { padding: 0 0 38px; }

/* Benefits */
#benefits { background: url( '../images/bg/benefits.webp' ) no-repeat right top; padding: 47px 0 158px; }
#benefits h2 { margin: 0 0 43px; }
#benefits ul { display: flex; flex-wrap: wrap; gap: 10px 22px; width: 100%; max-width: 1070px; }
#benefits li:not( :last-of-type ) { width: calc( ( 100% - 22px ) / 2 ); max-width: 384px; min-height: 165px; position: relative; font-size: clamp( 12pt, 2.5vw, 19pt ); color: #a0bccf; padding: 29px 23px; border-radius: 25px; transition: all .5s ease-in-out; }
#benefits li:not( :last-of-type ) span { display: block; font: 700 clamp( 16pt, 2.5vw, 27pt )/1 'Montserrat', sans-serif; margin: 0 0 12px; }
#benefits li:not( :last-of-type ):hover { background: #fff; color: #0e486e; box-shadow: 0 0 70px #0f374f26; }
#benefits li:last-of-type { position: relative; width: clamp( 566px, 39vw, 660px ); max-width: 100%; display: flex; align-items: center; color: #5c1327; font-style: italic; font-weight: 600; font-size: clamp( 12pt, 2.5vw, 19pt ); line-height: 1.4; }
#benefits li:last-of-type:before { content: ' '; position: absolute; top: 29px; left: 0; display: block; width: 48px; height: 3px; border-radius: 3px; background: #5c1327; }

/* Who */
#who { padding: 0 0 145px; }
#who section { position: relative; display: grid; grid-template-columns: repeat( 2, 1fr ); }
#who section:before { content: ' '; position: absolute; bottom: 0; left: 50%; transform: translateX( -50% ); display: block; background: url( '../images/icons/who-man.webp' ) no-repeat center; width: 329px; height: 486px; max-width: 100%; z-index: 0; }
#who div { display: flex; align-items: center; background: #0e486e; border-top-left-radius: 25px; border-bottom-left-radius: 25px; height: 423px; }
#who div:last-of-type { justify-content: flex-end; background: #5d1b3e; border-radius: 0; border-top-right-radius: 25px; border-bottom-right-radius: 25px; }
#who h2 { margin: 0 0 40px; }
#who em { font-style: normal; font-weight: 700; font-size: clamp( 12pt, 2.5vw, 19pt ); display: block; margin: 0 0 20px; color: #0e486e; }
#who ul { width: 241px; max-width: 100%; margin: 0 0 0 107px; }
#who li { position: relative; color: #fff; margin: 0 0 50px; padding: 0 0 5px; font: clamp( 12pt, 2.5vw, 14pt )/1.2 'Muli', 'Arial', sans-serif; }
#who li:after { content: ' '; position: absolute; bottom: -27px; left: 0; display: block; background: url( '../images/icons/hr-left.webp' ) no-repeat top left/contain; width: 328px; height: 27px; }
#who li:last-of-type { margin: 0; padding: 0 56px 5px 0; }
#who div:last-of-type ul { margin: 0 95px 0 0; }
#who div:last-of-type li:after { background-image: url( '../images/icons/hr-right.webp' ); width: 325px; left: auto; right: 0; }

/* Targets */
#targets { padding: 0 0 167px; }
#targets h2 { margin: 0 0 140px; }
#targets ul { display: flex; flex-wrap: nowrap; gap: 28px; }
#targets li { width: calc( ( 100% - 84px ) / 4 ); display: flex; padding: 71px 0 0; }
#targets li div { position: relative; font-size: clamp( 12pt, 1.5vw, 15pt ); text-align: center; color: #333; background: #fff; border-radius: 20px; box-shadow: 0 0 23px #09365233; box-sizing: border-box; width: 100%; }
#targets b { display: block; margin: 0 0 10px; font: 700 clamp( 13pt, 2.5vw, 19pt )/1 'Montserrat', sans-serif; color: #0e486e; }
#targets img { display: block; margin: -90px auto 17px; }
#targets li p { padding: 0 22px 22px; color: #562e2d; line-height: 1.3; }
#targets li:nth-of-type( even ) { align-items: flex-start; padding: 0; }

/* Why */
#why { background: url( '../images/bg/why.webp' ) no-repeat top center/cover; padding: 98px 0 0; height: 645px; }
#why .container { height: 100%; }
#why section { position: relative; width: 675px; max-width: 100%; height: 100%; }
#why h2 { margin: 0 0 53px; }
#why li { display: flex; flex-wrap: nowrap; align-items: center; gap: 23px; color: #5d1b3e; font-weight: 700; font-size: clamp( 13pt, 2.5vw, 25.5pt ); margin: 0 0 28px; }
#why li:last-of-type { margin: 0; }
#why li:before { content: ' '; flex: none; display: block; background: url( '../images/icons/zero.webp' ) no-repeat center/contain; width: clamp( 70px, 10vw, 100px ); aspect-ratio: 1; }
#why li:nth-of-type( 2 ):before { background-image: url( '../images/icons/non.webp' ); }
#why li:nth-of-type( 3 ):before { background-image: url( '../images/icons/30.webp' ); }
#why #second-list li:before { background-image: url( '../images/icons/fast.webp' ); }
#why #second-list li:last-of-type:before { background-image: url( '../images/icons/powerful.webp' ); }
#why-controls { position: absolute; right: 15px; bottom: 0; display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; }
#why-controls div { display: flex; align-items: center; justify-content: center; background: #d4eeff; color: #5d1b3e; width: clamp( 40px, 10vw, 54px ); aspect-ratio: 1; max-width: 100%; cursor: pointer; transition: all .3s; }
#why-controls div ~ div { background: #5d1b3e; color: #d4eeff; }
#why-controls div:hover { color: #fff; background: #d4eeff; }

/* Promotion */
#promotion { padding: 158px 0; }
#promotion section { display: flex; align-items: center; gap: 53px; }
#promotion figure { flex: none; width: clamp( 300px, 40vw, 500px ); max-width: 100%; }
#promotion em { display: block; font-style: normal; font-size: clamp( 12pt, 2.5vw, 15pt ); color: #452f36; margin: 0 0 15px; }
#promotion h2 { font-size: clamp( 22pt, 5vw, 55pt ); line-height: 1; margin: 0 0 20px; }
#promotion h2 span { font: inherit; color: #5d1b3e; }
#promotion p { font-size: clamp( 13pt, 2.5vw, 17pt ); margin: 0 0 22px; color: #452f36; }
#promotion p span { display: inline-block; text-indent: -9999px; background: url( '../images/icons/confidence.webp' ) no-repeat left center/contain; width: clamp( 125px, 14vw, 174px ); aspect-ratio: 3.346; vertical-align: middle; }
#promotion button { display: block; background: #0e486e; border-radius: 15px; border: 0; font-size: clamp( 13pt, 2.5vw, 20pt ); text-align: left; color: #fff; padding: 18px 19px; width: 100%; transition: all .3s; }
#promotion small { display: block; color: #fff; font: 300 clamp( 12pt, 1.5vw, 14pt ) 'Muli', 'Arial', sans-serif; }
#promotion button:hover { background: #09304b; transform: translateY( -10px ); }

/* Footer */
footer { background: #fff; padding: 80px 0; }
footer section { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 30px; }
footer svg { margin: 0 0 25px; }
footer p, footer li, footer a { font-size: 12pt; color: #562e2d; text-decoration: none; transition: all .4s; }
footer section div:first-of-type { flex: 0 308px; border-right: 1px solid #f2b9ad; }
footer section div:first-of-type ul { display: flex; flex-wrap: nowrap; gap: 13px; }
footer section div:first-of-type i { color: #004770; font-size: 27pt; transition: all .4s; }
footer li { display: flex; flex-wrap: nowrap; align-items: center; margin: 0 0 12px; }
footer li:before { margin: 0 15px 0 0; }
footer section div:not( :first-of-type ) li:has( a ) a { display: flex; flex-wrap: nowrap; align-items: center; width: 100%; gap: 10px }
footer section div:not( :first-of-type ) li:has( a ) a:before { flex: 0 25px; }
footer h3 { font: 20pt/1 'Muli', 'Arial', sans-serif; color: #005087; margin: 0 0 15px; }
footer a:hover, footer section div:first-of-type a:hover i { color: #2477ad; }

@media (max-width: 1100px) {
    #who section:before { display: none; }
    #who li:after { background: #fff; height: 1px; max-width: 100%; bottom: 0; }
    #who ul, #who div:last-of-type ul { margin: 0; }
    #who div:nth-of-type( n ) { justify-content: center; }

    #targets ul { flex-wrap: wrap; gap: 80px 28px; justify-content: center; }
    #targets li { width: calc( ( 100% - 56px ) / 3 ); }
}

@media (max-width: 1050px) {
    footer section { justify-content: center; }
}

@media (max-width: 1040px) {
    #sign-up > div { margin: 57px 0 15px; }

    #benefits { background: 0; padding: 35px 0 60px; }
    #benefits h2 { text-align: center; }
    #benefits ul { justify-content: center; gap: 22px; }
    #benefits li:not( :last-of-type ) { background: #fff; color: #0e486e; box-shadow: 0 0 70px #0f374f26; }
    #benefits li:last-of-type { text-align: center; padding: 20px 0 0; }
    #benefits li:last-of-type:before { top: 0; left: 50%; transform: translateX( -50% ); }

    #targets { padding: 0 0 94px; }

    #promotion { padding: 74px 40px; }

    #locations h2 { margin: 0 0 27px; }
}

@media (max-width: 980px) {
    #who { padding: 0 0 80px; }
    #who h2 { margin: 0 0 25px; }

    #locations h2 { margin: 0 0 50px; }
}

@media (max-width: 900px) {
    #how h3 br { display: none; }
}

@media (max-width: 800px) {
    #sign-up h2 { text-align: center; }
    #sign-up section { width: 550px; position: static; margin: auto; padding: 60px 20px; }
    #sign-up > div { padding: 30px 20px; height: auto; }
    #sign-up small br { display: none; }

    #how h2 { text-align: center; }
    #how { padding: 47px 0; }
    #how section { flex-direction: column; }
    #how div:nth-of-type( n ) { width: 100%; max-width: 100%; padding: 30px; }

    #what h2 { text-align: center; }
    #what section { flex-direction: column; width: 550px; max-width: 100%; margin: auto; }
    #what section > div { width: 100%; }
    #what li div { padding: 0 0 40px; }

    #what, #targets { padding: 0 0 80px; }

    #why { height: auto; padding: 50px 0 0; }
    #why section { padding: 0 0 50px; }

    #promotion section { flex-direction: column; width: 500px; max-width: 100%; margin: auto; }
}

@media (max-width: 700px) {
    #who div { height: auto; padding: 40px 20px; }

    #what li { margin: 0 0 0 19px; }
    #what li:before { left: -22px; }

    #targets h2 { text-align: center; }
    #targets ul { gap: 110px 20px; }
    #targets li { width: calc( ( 100% - 20px ) / 2 ); }
    #targets li:nth-of-type( n ) { padding: 0; }
}

@media (max-width: 645px) {
    footer section { flex-direction: column; }
    footer section div:first-of-type { flex: auto; border: 0; border-bottom: 1px solid #f2b9ad; }
}

@media (max-width: 616px) {
    #sign-up h2, #sign-up h3 { margin: 0 0 25px; }
    #sign-up section { width: 400px; padding: 40px 20px; }
    #sign-up form { display: block; }
    #sign-up form div:nth-of-type( n ) { float: none; width: 100%; margin: 0 auto 18px; }
    #sign-up > div { padding: 30px 12px; }
    #sign-up button { margin: 7px 0 0; width: 55%; }
}

@media (max-width: 600px) {
    #who h2 { margin: 0 0 20px; }
    #who h2, #who em { text-align: center; }
    #who section { grid-template-columns: auto; width: 450px; max-width: 100%; margin: auto; border-radius: 20px; overflow: hidden; }
    #who div:nth-of-type( n ) { border-radius: 0; }
    #who li { margin: 0 0 30px; }
}

@media (max-width: 550px) {
    #how { padding: 40px 0 20px; }

    #targets h2 { margin: 0 0 120px; }
    #targets li p { padding: 0 15px 15px; }

    #who, #what, #benefits, #targets { padding: 25px 0 40px; }

    #benefits ul { gap: 10px; }
    #benefits li:not( :last-of-type ) { padding: 20px 15px; }
    #benefits li:last-of-type { margin: 20px 0 0; }

    #why { background: #fafbfa; }
    #why h2 { margin: 0 0 25px; }
    #why li:not( :last-of-type ) { margin: 0 0 15px; }

    #promotion { padding: 50px 0 40px; }
    #promotion section { gap: 30px; }
}

@media (max-width: 480px) {
    footer { padding: 50px 0; }
}