* {
    box-sizing: border-box;
}
html {
    font-size: 16px;
}
html,body {
    margin: 0;
    padding: 0;
    min-width: 100%;
    min-height: 100%;
}
img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}
body {
    background: #0D0D0D;
    font-family: "Saira Semi Condensed", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #FFFFFFCC;
}
h1,h2,h3,p {
    margin: 0;
}
h1 {
    font-family: "Saira Extra Condensed", sans-serif;
    font-weight: 600;
    font-size: 3.5rem;
    line-height: 4.5rem;
    color: #fff;
}
h2 {
    font-family: "Saira Extra Condensed", sans-serif;
    font-weight: 600;
    font-size: 3rem;
    line-height: 3.625rem;
    margin-bottom: 2.5rem;
    color: #fff;
}
h3 {
    font-family: "Saira Extra Condensed", sans-serif;
    font-weight: 600;
    margin-bottom: 0;
    font-size: 1.5rem;
    line-height: 2.625rem;
    color: #fff;
}
p {
    font-size: 1.25rem;
    line-height: 2.25rem;
    margin-bottom: 2.5rem;
}
.section {
    background: #0D0D0D;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}
.section-inner {
    margin: 0 auto;
    min-width: 960px;
    max-width: 1440px;
}
.block-image {
    display: block;
    margin: 0 auto;
}
.hero-section > .section-inner > div:nth-child(1) {
    background: image-set(url(assets/img/img_hero.png), url(assets/img/img_hero_2x.png) 2x);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: contain;
    height: 50rem;
    text-align: center;
    padding-top: 5rem;
}
.hero-section > .section-inner > div:nth-child(1) > h1 {
    margin: 3rem auto 0 auto;
    width: 55%;
}
.gradient {
    background: linear-gradient(270deg, rgba(13, 13, 13, 0) 0%, rgba(0, 100, 156, 0.5) 100%);
}
.check-list {
    padding: 0;
    margin: 0;
    list-style: none;
    font-size: 1.125rem;
}
.check-list > li {
    background: url(assets/img/check.svg);
    background-repeat: no-repeat;
    background-position: left center;
    min-height: 32px;
    line-height: 2rem;
    padding-left: 3.5rem;
}
.details-section {
    background: linear-gradient(270deg, rgba(13, 13, 13, 0) 0%, rgba(0, 100, 156, 0.5) 100%);
}
.details-section > .section-inner {
    padding: 6rem 5rem 4rem;
}
.details-section > .section-inner > .check-list {
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 2rem 4rem;
    align-items: center;
    padding: 0 4rem;
}
.divider {
    border-top: 1px solid #FFFFFF33;
    margin: 4rem 0;
}
.details {
    display: flex;
    justify-content: space-between;
}
.quote {
    background: #fff;
    margin: 12.5rem 0;
}
.quote > .section-inner > div:nth-child(1) {
    width: 55%;
    margin: 0 auto;
    padding: 4rem 0;
    font-size: 1.5rem;
    text-align: center;
    line-height: 2.75rem;
    color: #333;
}
.section-1 > .section-inner > div:nth-child(1) {
    width: 55%;
    margin: 0 auto;
    padding: 20rem 0 4rem;
}
.section-2 > .section-inner {
    padding: 0 7.5rem 20rem;
    display: grid;
    grid-template: "a a" 50%
        "b b" 50%;
    align-items: center;
    gap: 12.5rem;
    gap: 2rem;
}
.section-3 > .section-inner {
    padding: 0;
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 2rem;
}
.section-3 > .section-inner > div:nth-child(1) {
    padding: 10rem 0 0 7.5rem;
}
.section-3 > .section-inner > div:nth-child(2) {
    align-self: self-end;
}
.section-4 {
    background: radial-gradient(600px 600px at center center, rgba(255, 255, 255, .1), transparent);
}
.section-4 > .section-inner > div:nth-child(1) {
    padding: 20rem 0 10rem;
    width: 55%;
    margin: 0 auto;
}
.section-4 > .section-inner > div:nth-child(3) {
    padding: 10rem 0;
    width: 55%;
    margin: 0 auto;
}
.section-5 {
    min-width: 960px;
    max-width: 1440px;
}
.section-5 > .section-inner {
    padding: 7.5rem;
    padding-top: 10rem;
    display: flex;
}
.section-5 > .section-inner > div:nth-child(1) {
    width: 50%;
}
.section-5 > .section-inner > div:nth-child(2) {
    width: 50%;
}
.section-tulisin {
    padding: 20rem 0;
}
.section-tulisin > .section-inner > div:nth-child(2) {
    margin-top: 7.5rem;
    display: flex;
    justify-content: end;
}
.section-tulisin > .section-inner > div:nth-child(2) > p {
    width: 50%;
    padding: 0 7.5rem 0 0;
}
.section-sovellukset {
    margin-bottom: 20rem;
}
.section-6 > .section-inner {
    padding: 0;
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: center;
    gap: 2rem;
}
.section-6 > .section-inner > div:nth-child(1) {
    align-self: self-end;
}
.section-6 > .section-inner > div:nth-child(2) {
    padding: 10rem 7.5rem 10rem 0;
}
.section-7 > .section-inner > div:nth-child(1) {
    padding: 0 0 10rem;
    width: 55%;
    margin: 0 auto;
}
.section-8 > .section-inner {
    padding-top: 25rem;
}
.section-8 > .section-inner > div:nth-child(1) {
    padding: 0 0 5rem;
    width: 55%;
    margin: 0 auto;
}
.section-9 {
    background: radial-gradient(800px 800px at center center, rgba(255, 255, 255, .15), transparent);
}
.section-9 > .section-inner {
    padding: 25rem 0;
}
.section-10 > .section-inner {
    padding: 0 0 25rem;
}
.section-11 > .section-inner {
    padding: 0;
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 2rem;
    align-items: center;
}
.section-11 > .section-inner > div:nth-child(1) {
    padding: 0 0 0 5rem;
}
.section-12 > .section-inner {
    padding: 2rem 5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media screen and (max-width: 1440px) {
    html {
        font-size: 14px;
    }
}
@media screen and (max-width: 1280px) {
    html {
        font-size: 12px;
    }
}
