.h-hero__title h1, .p-hero h1 {
    letter-spacing: -.04em;
    line-height: .9
}

::selection {
    color: #666;

}
::-moz-selection {
    color: #666;
}

#particles-js canvas {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
}

/* Animation when the socials button is clicked */
@keyframes socialsAnimation {
    0%, 100% { transform: translateX(0); }
    50% {
        transform: translateX(-20px);
        -webkit-filter: invert(100%);
    }
}

.socialsAnimation {
    animation: socialsAnimation 0.6s ease-in-out;
}


button, hr, input {
    overflow: visible
}

progress, sub, sup {
    vertical-align: baseline
}

details, main {
    display: block
}

*, ::after, ::before, legend {
    padding: 0;
    box-sizing: border-box
}

body, html, sub, sup {
    position: relative
}

.c-image-wrapper, .dropdown__body, body, html, main {
    overflow: hidden
}

#viewport, textarea {
    overflow: auto
}

#viewport, .button__icon svg, .text-hidden {
    backface-visibility: hidden
}

.button__icon svg, .button__icon__bg {
    transition: transform .2s cubic-bezier(.5, .7, .4, 1)
}

.h-hero__title h1 {
    font-size: 10em;
    font-family: "Lexend", sans-serif;
    font-weight: 300;
}

.p-hero h1 {
    font-size: 8.068em
}

.cta h3, .p-next__link, .project .project__title {
    font-size: 5.37em;
    line-height: 1;
    letter-spacing: -.03em
}

.legal h1, .p-hero__year, .p-info h2, .process__title h2, .project .project__year, .services__header h2, .services__item span {
    font-size: 3.58em;
    line-height: 1.1;
    letter-spacing: -.02em;
    opacity: 0.7;
}

.p-web h2, .projects__footer h3, .projects__header h3 {
    font-size: 2.39em;
    line-height: 1;
    letter-spacing: -.01em
}

.p-web h2, .projects__footer h3, .projects__header p {
    opacity: 0.7;
}

.dropdown__header p, .dropdown__header span, .legal h3, .process__list .dropdown__header h3, .process__list .dropdown__header span, .services__item h2 {
    font-size: 1.59em;
    line-height: 1;
    letter-spacing: 0
}

.button span, .c-testimonial__author--name, .h-hero span, .p-info__list li p, .p-info__list li span, .p-next span, .projects__header span, header .nav a, header .nav span, p {
    font-size: 1.0626em;
    line-height: 1.5;
    letter-spacing: 0
}

.c-testimonial__author--position, .footer a, .footer span, .footer__back, .footer__legal a, .h-hero__social li span, .nav__theme__text, .p-web span {
    font-size: 1.2em;
    line-height: 1.5;
    letter-spacing: 0;
}

hr {
    box-sizing: content-box;
    height: 0
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline dotted
}

button, input {
}

button, select {
    text-transform: none
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

[type=checkbox], [type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

h1 {
    font-size: 2em
}

code, kbd, pre, samp {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent;
    text-decoration: none
}

b, strong {
    font-weight: bolder
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
    outline: ButtonText dotted 1px
}

fieldset {
    padding: .35em .75em .625em
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

body, h1, h2, h3, h4, h5, h6, html {
    font-family: "PP Mori", sans-serif
}

summary {
    display: list-item
}

[hidden], template {
    display: none
}

ul {
    list-style: none
}

*, ::after, ::before {
    margin: 0
}

body, html {
    font-size: 1.1111111111111112vw;
    color: #111414;
    background-color: #efefef;
    letter-spacing: 0
}

@media screen and (min-width: 1920px) {
    body {
        font-size: 21.33px
    }
}

@media screen and (max-width: 991px) {
    body {
        font-size: 11.01px
    }
}

.wrapper {
    max-width: 90em;
    padding: 0 2.5em;
    margin: 0 auto
}

@media screen and (min-width: 1600px) {
    .wrapper {
        max-width: 85em
    }
}

#viewport {
    width: 100%;
    height: 100%;
    position: fixed;
    transform: translateZ(0)
}

body.dark-mode #viewport {
    color: #efefef;
    background-color: #111414
}

.text-hidden {
    display: block;
    visibility: hidden;
    height: 0
}

.cursor, .progress {
    display: none
}

body.dark-mode #awwwards svg path {
    fill: #efefef
}

body.dark-mode #awwwards svg g path {
    fill: #111414
}

@font-face {
    font-family: "PP Mori";
    src: url(../fonts/PPMori-Regular.woff) format("woff"), url(../fonts/PPMori-Regular.woff2) format("woff2");
    font-weight: 400;
    font-display: swap
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
    margin: 0
}

@media screen and (max-width: 990px) {
    .wrapper {
        padding: 0 20px
    }

    p {
        font-size: 15px
    }
}

@media (any-pointer: fine) {
    .cursor {
        position: fixed;
        top: 0;
        left: 0;
        display: block;
        pointer-events: none
    }

    .cursor__inner {
        fill: red;
        stroke: none;
        stroke-width: 1px;
        opacity: .7
    }
}

.progress {
    position: fixed;
    top: 50%;
    left: 50%;
    font-size: 3vw;
    visibility: hidden;
    width: 50px;
    height: 50px;
    background: red;
    z-index: 100
}

.button {
    display: inline-flex;
    align-items: center;
    padding: .25em .25em .25em 1.25em;
    background-color: #111414;
    color: #efefef;
    column-gap: 1em;
    border-radius: 100px
}

.button__icon__bg, .dark-mode .button {
    background-color: #efefef
}

.button span {
    margin-top: 2px
}

@media screen and (max-width: 990px) {
    .button {
        padding: 8px 8px 8px 16px
    }

    .button span {
        font-size: 15px
    }

    header .nav a, header .nav span {
        font-size: 13px
    }
}

.button__icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.5em;
    height: 2.5em;
    content: "";
    border-radius: 50%
}

.button__icon__bg {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    transform: scale(.2)
}

.button__icon svg {
    width: 1.5em;
    height: 1.5em;
    opacity: 0;
    mix-blend-mode: difference
}

.button:hover .button__icon__bg {
    transform: scale(1)
}

.button:hover svg {
    opacity: 1;
    backface-visibility: visible
}

.dark-mode .button__icon__bg, .text-link::before {
    background-color: #111414
}

.dark-mode .button span {
    color: #111414
}

.text-link {
    padding: .25em 0;
    position: relative
}

.text-link::before {
    content: "";
    display: block;
    position: absolute;
    bottom: .25em;
    left: 0;
    width: 100%;
    height: 1px;
    z-index: 2;
    will-change: transform, color;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition: -webkit-transform .35s;
    transition: -webkit-transform .35s;
    transition: transform .35s;
    transition: transform .35s, -webkit-transform .35s;
    -webkit-transition-timing-function: cubic-bezier(.25, .46, .45, .94);
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

.c-image-wrapper__cover, .dark-mode .text-link::before {
    background-color: #efefef
}

.text-link:hover:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease
}

.dropdown, .dropdown__body, .dropdown__body__content, .dropdown__icon path {
    transition: .4s cubic-bezier(.5, .7, .4, 1)
}

.c-image-wrapper {
    position: relative;
    width: 100%
}

.c-image-wrapper.cc-16-9 {
    padding-top: 56.25%
}

.c-image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 10
}

.c-image-wrapper__cover {
    position: absolute;
    top: -20%;
    left: -20%;
    right: 0;
    height: 140%;
    width: 140%;
    z-index: 20;
    transform: rotate(-10deg)
}

.with-parallax img {
    width: 100%;
    height: 120%;
    top: -20%
}

.p-mockup .p-mockup-full:not(:last-child) {
    margin-bottom: 20px
}

.p-mockup .p-mockup-full img {
    width: 100%
}

.dark-mode .c-image-wrapper__cover {
    background-color: #111414
}

.dropdown {
    position: relative;
    max-width: 56.25em
}

.dropdown__header {
    padding: 2em 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer
}

.dropdown__header__content {
    display: flex
}

.dropdown__header span {
    margin-right: .75em
}

.dropdown__icon {
    position: relative;
    color: #111414;
    width: 1em;
    height: 1em
}

.dropdown__body {
    height: 0
}

.dropdown__body__content {
    padding-bottom: 2em;
    opacity: 0
}

.dropdown__divider {
    display: block;
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(17, 20, 20, .1)
}

.dropdown.cc-open .dropdown__body__content {
    opacity: 1
}

.dropdown.cc-open .dropdown__icon path:nth-of-type(2) {
    opacity: 0
}

.dark-mode .dropdown__icon {
    color: #efefef
}

.dark-mode .dropdown__divider {
    background-color: rgba(239, 239, 239, .1)
}

header {
    padding: 1.25em 0;
    z-index: 999999;
    color: #111414
}

header .nav {
    display: grid;
    grid-template-columns:5fr 6fr 1fr;
    grid-column-gap: 1.5em
}

@media screen and (max-width: 766px) {
    header .nav {
        display: flex;
        justify-content: space-between;
        align-items: flex-start
    }
}

header .nav.cc-project {
    grid-template-columns:8fr 3fr 1fr
}

header .nav a, header .nav span {
    color: #111414;
    justify-self: flex-start
}

@media screen and (max-width: 767px) {
    header .nav__logo {
        display: none
    }
}

header .nav__links {
    display: flex;
    grid-column-gap: 2.5em
}

@media screen and (max-width: 439px) {
    header .nav__links {
        flex-direction: column
    }
}

header .nav__next {
    opacity: .4
}

@media screen and (max-width: 374px) {
    header .nav__next {
        display: none
    }
}

.dark-mode header, .dark-mode header a, .dark-mode header span {
    color: #efefef
}

.nav__theme {
    display: inline-flex;
    cursor: pointer;
    margin-left: auto;
    align-items: center
}

.nav__theme__icon {
    width: 1.25em;
    height: 1.25em
}

.nav__theme__text {
    margin-left: .5em;
    margin-top: 2px
}

@media screen and (max-width: 990px) {
    .nav__theme__text {
        font-size: 13px
    }
}

#toggleTheme, .light-mode .nav__theme__icon .cc-moon, .nav__theme__icon .cc-moon {
    display: none
}

.dark-mode .nav__theme__icon .cc-moon, .light-mode .nav__theme__icon .cc-sun {
    display: block
}

.dark-mode .nav__theme__icon .cc-sun {
    display: none
}

.c-testimonial {
    padding: 5em 0
}

.c-testimonial__wrapper {
    max-width: 946px
}

.c-testimonial__text {
    font-size: 30px
}

.c-testimonial__author {
    display: flex;
    align-items: center;
    margin-top: 40px
}

.c-testimonial__author img {
    width: 3.75em;
    height: 3.75em
}

.c-testimonial__author--box {
    margin-left: 1em
}

.c-testimonial__author--name {
    display: block
}

.c-testimonial__author--position {
    opacity: .5
}

.cta {
    padding-top: 10em;
    padding-bottom: 4em
}

.cta .wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.cta__content {
    position: relative;
    max-width: 56.25em;
    width: 100%
}

.cta__image, .cta__image::after {
    position: absolute;
    border-radius: 50%
}

@media screen and (max-width: 839px) {
    .cta .wrapper {
        flex-direction: column;
        align-items: flex-start
    }

    .cta__content {
        margin-bottom: 2em
    }
}

.cta__image {
    width: 6em;
    height: 6em;
    top: -1em
}

@media screen and (max-width: 669px) {
    .cta__image {
        width: 5em;
        height: 5em
    }
}

.cta__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 50%
}

.cta__image::after {
    display: block;
    top: .25em;
    right: .25em;
    content: "";
    width: 1.25em;
    height: 1.25em;
    background-color: #a0c000;
    z-index: 90;
    border: .125em solid #efefef
}

.cta h3, .h-hero, .h-hero__sub, .project, .services__item {
    position: relative
}

.cta h3 {
    text-indent: 1.25em
}

@media screen and (max-width: 669px) {
    .cta h3 {
        font-size: 3.58em;
        text-indent: 1.5em;
        line-height: 1.1
    }
}

.dark-mode .cta__image::after {
    border-color: #111414
}

.footer #footerYear {
    margin-right: 4px
}

.footer__grid {
    display: grid;
    grid-template-columns:5fr 6fr 1fr;
    padding: 2em 0;
    border-top: 1px solid rgba(17, 20, 20, .1)
}

@media screen and (max-width: 990px) {
    .footer__grid {
        grid-template-columns:1fr
    }

    .footer span, .footer__back {
        font-size: 13px
    }
}

.h-hero__top, .projects__header {
    grid-template-columns:8fr 4fr;
    grid-column-gap: 1.25em
}

@media screen and (max-width: 566px) {
    .footer__grid {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap
    }
}

.footer__links {
    display: flex;
    column-gap: 1.25em
}

@media screen and (max-width: 990px) {
    .footer__links {
        order: 0;
        justify-self: flex-start;
        margin-bottom: 10px;
        margin-top: 10px
    }

    .footer__legal a {
        font-size: 13px
    }
}

@media screen and (max-width: 374px) {
    .footer__links {
        flex-direction: column
    }
}

.footer__legal {
    cursor: pointer;
    margin-left: auto;
    margin-top: 10px
}

.footer__legal a {
    margin-left: auto;
    color: #111414
}

@media screen and (max-width: 990px) {
    .footer__legal {
        order: 2;
        margin-left: unset
    }

    .footer a {
        font-size: 13px
    }
}

.h-hero__title h1, .p-hero h1 {
    margin-left: -10px
}

.footer a {
    color: #111414
}

.dark-mode .footer__grid {
    border-color: rgba(239, 239, 239, .1)
}

.dark-mode .footer a {
    color: #efefef
}

.h-hero {
    padding-top: 10em;
    /*padding-bottom: 7.5em*/
}

.h-hero__top {
    display: grid;
    align-items: flex-end;
    margin-bottom: 5em
}

@media screen and (max-width: 990px) {
    .h-hero__top {
        display: flex;
        align-items: flex-start;
        flex-direction: column
    }

    .h-hero__title h1 {
        font-size: 18vw
    }
}

.h-hero__bottom {
    display: grid;
    grid-template-columns: 10fr 2fr;
    grid-column-gap: 1.25em;
    text-align: justify;
    text-justify: inter-word;
}

.h-hero__title h1 span {
    line-height: .9
}

.h-hero__sub {
    top: -2.7em;
    max-width: 14em
}

@media screen and (max-width: 990px) {
    .h-hero__sub {
        top: unset;
        max-width: 25em;
        margin-top: 2em;
        opacity: .6
    }
}

.h-hero__text {
    max-width: 48em;
    justify-content: center;
}

.h-hero__text p {
    font-size: 1.5em;
    line-height: 1.5;
    margin-bottom: 1em
}

@media screen and (max-width: 819px) {
    .h-hero__bottom {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
    }

    .h-hero__social {
        display: grid;
        font-size: 1.5em;
        margin-top: 3em;
    }
}

.h-hero__social li {
    margin-bottom: .5em;
}

.h-hero__social li:nth-of-type(1) {
    padding-bottom: .5em;
    border-bottom: 1px solid rgba(17, 20, 20, .1);
    margin-bottom: 0.5em;
    opacity: 0.7
}

.h-hero__social li a {
    color: #111414
}

.dark-mode .h-hero__social li:nth-of-type(1) {
    border-color: rgba(239, 239, 239, .1)
}

.services {
    padding: 6.25em 0
}

.services__header {
    padding-bottom: 3.75em
}

@media screen and (max-width: 566px) {
    .h-hero__title h1 {
        margin-left: -5px
    }

    .h-hero__text p {
        font-size: 20px;
        line-height: 1.4
    }

    .services__header h2 {
        max-width: 8em
    }
}

.services__list {
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-column-gap: 1.25em
}

.services__item {
    padding-left: 2em
}

.services__item::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 100%;
    background-color: rgba(17, 20, 20, .1);
    left: 0;
    top: 0;
    bottom: 0
}

.services__item span {
    display: block;
    margin-bottom: 80px;
    opacity: .1
}

@media screen and (max-width: 767px) {
    .footer__copy {
        order: 1
    }

    .services__list {
        grid-template-columns:1fr
    }

    .services__item {
        padding-top: 2em;
        padding-bottom: 2em;
        padding-left: 0
    }

    .services__item::before {
        top: auto;
        height: 1px;
        width: 100%
    }

    .services__item span {
        margin-bottom: 40px
    }
}

.services__item h2 {
    margin-bottom: .5em
}

.services__item p {
    max-width: 17em
}

.dark-mode .services__item::before {
    background-color: rgba(239, 239, 239, .1)
}

.dark-mode .services__item span {
    opacity: .2
}

.projects {
    padding: 6.25em 0
}

.projects__header {
    display: grid;
    align-items: flex-end;
    padding-bottom: 1.25em
}

@media screen and (max-width: 990px) {
    .projects__header {
        grid-template-columns:6fr auto
    }
}

.projects__header div {
    display: flex
}

.projects__header div span {
    opacity: 0.7;
}

.projects__header span {
    margin-left: 4px
}

@media screen and (max-width: 566px) {
    .projects__header p {
        display: none
    }
}

.projects__footer {
    padding-top: 3em
}

.projects__footer h3 {
    margin-bottom: 12px
}

.projects__footer a {
    color: inherit
}

.project {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    color: #111414;
    padding: 3em 0;
    border-bottom: 1px solid rgba(17, 20, 20, .1);
    cursor: pointer
}

.project__card, .project__image {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    left: 0
}

.project:first-child {
    border-top: 1px solid rgba(17, 20, 20, .1)
}

.dark-mode .process ul li, .dark-mode .project {
    border-color: rgba(239, 239, 239, .1)
}

.project .project__title {
    pointer-events: none
}

.project .project__info {
    pointer-events: none
}

@media screen and (max-width: 767px) {
    .services__item p {
        max-width: 22em
    }

    .project .project__title {
        font-size: 3.58em;
        line-height: 1.1;
        letter-spacing: -.02em
    }

    .project .project__year {
        font-size: 2.39em;
        line-height: 1;
        letter-spacing: -.01em
    }
}

.project__image {
    top: -10%;
    width: 41.87em;
    height: 27.87em
}

.project__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0
}

.project.cc-active .project__image img {
    opacity: 1
}

.project__card {
    top: 0;
    width: 25em;
    height: 18em
}

.project__card__image, .project__card__inner {
    height: 100%;
    position: relative;
    width: 100%
}

.project__card__image {
    background-size: cover;
    background-position: 50% 50%;
    opacity: 0
}

.dark-mode .project {
    color: #efefef
}

.process {
    padding: 6.25em 0
}

.process__grid {
    display: grid;
    grid-template-columns:1fr 1fr;
    grid-column-gap: 1.25em
}

.process__grid--col:nth-of-type(1) {
    max-width: 34.68em
}

@media screen and (max-width: 990px) {
    .process__grid {
        grid-template-columns:1fr
    }

    .process__grid--col:nth-of-type(1) {
        margin-bottom: 40px;
        max-width: 38em
    }
}

.process__title {
    padding-bottom: 2em
}

.process p {
    max-width: 31.87em
}

.process__list .dropdown__header {
    display: grid;
    grid-template-columns:1fr 1.25em;
    grid-column-gap: 1.25em;
    padding: 2em 0
}

.process__list .dropdown__header__content {
    display: grid;
    grid-template-columns:3.75em 1fr
}

.process__list .dropdown__header h3, .process__list .dropdown__header span {
    pointer-events: none
}

.process__list .dropdown__header span {
    margin-right: 0
}

.process__list .dropdown__body__content {
    padding-left: 3.75em
}

.process__list .dropdown__body__content p {
    max-width: 31.25em
}

.legal .wrapper, .p-info__text {
    max-width: 56.25em
}

.p-hero {
    padding-top: 15em;
    padding-bottom: 1.25em
}

.p-hero .wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-end
}

.p-hero__content {
    display: flex;
    flex-direction: column;
    grid-gap: 1.25em
}

.p-hero h1 {
    opacity: 0;
    transform: translateY(20px)
}

.p-hero span {
    opacity: 0
}

.p-hero__year {
    transform: translateY(20px)
}

@media screen and (max-width: 767px) {
    .p-hero {
        padding-top: 10em
    }

    .p-hero h1 {
        font-size: 3.58em;
        line-height: 1.1;
        letter-spacing: -.02em
    }

    .p-hero__year {
        font-size: 2.39em;
        line-height: 1;
        letter-spacing: -.01em
    }
}

.p-hero-image, .p-hero-image .c-image-wrapper {
    position: relative
}

.p-hero-image .c-image-wrapper:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 56.25%
}

.p-hero-image .c-image-wrapper > .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

@media screen and (max-width: 767px) {
    .p-hero-image .c-image-wrapper {
        position: relative
    }

    .p-hero-image .c-image-wrapper:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 75%
    }

    .p-hero-image .c-image-wrapper > .content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }
}

.p-info {
    padding: 7.5em 0
}

.p-info__text p {
    font-size: 2.02em;
    line-height: 1.5
}

@media screen and (min-width: 1600px) {
    .p-info__text {
        max-width: 48em
    }
}

.p-info__list {
    margin-bottom: 2em;
    max-width: 41.875em;
    margin-top: 3.75em
}

.p-info__list li {
    display: grid;
    grid-template-columns:2fr 4fr;
    grid-column-gap: 1.5em;
    padding: 1.25em 0;
    border-bottom: 1px solid rgba(17, 20, 20, .1)
}

.dark-mode .p-info li {
    border-color: rgba(239, 239, 239, .1)
}

.p-web {
    padding: 7.5em 0
}

.p-web span {
    display: block;
    margin-bottom: 1.25em
}

.p-web__title {
    display: block;
    margin-bottom: 2em;
    max-width: 44em
}

@media screen and (min-width: 1600px) {
    .p-web__title {
        max-width: 36em
    }
}

.p-web__text {
    max-width: 48em
}

.p-mockup .c-image-wrapper {
    background-color: rgba(17, 20, 20, .1);
    position: relative
}

.dark-mode .p-mockup .c-image-wrapper {
    background-color: rgba(239, 239, 239, .1)
}

.p-mockup .c-image-wrapper:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 56.25%
}

.p-mockup .c-image-wrapper > .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

@media screen and (max-width: 767px) {
    .p-mockup .c-image-wrapper {
        position: relative
    }

    .p-mockup .c-image-wrapper:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 75%
    }

    .p-mockup .c-image-wrapper > .content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }
}

.p-next {
    padding-top: 7.5em;
    padding-bottom: 1.25em
}

.p-next__grid {
    display: grid;
    grid-template-columns:5fr 7fr;
    align-items: flex-end
}

.p-next span {
    opacity: .4
}

@media screen and (max-width: 767px) {
    .p-next__grid {
        grid-template-columns:1fr
    }

    .p-next span {
        margin-bottom: 1.25em
    }

    .p-next__link {
        font-size: 3.58em;
        line-height: 1.1;
        letter-spacing: -.02em
    }
}

.p-next__link {
    color: #111414;
    filter: blur(4px);
    -webkit-transition: -webkit-filter 250ms cubic-bezier(.5, .7, .4, 1);
    padding: 10px;
    margin-bottom: -10px;
    margin-left: -13px
}

.p-next__link:hover {
    filter: blur(0)
}

.dark-mode .p-next__link, .dark-mode span {
    color: #efefef
}

.legal {
    padding-top: 15em;
    padding-bottom: 1.25em
}

@media screen and (max-width: 767px) {
    .legal {
        padding-top: 10em
    }
}

@media screen and (min-width: 1600px) {
    .p-web__text {
        max-width: 40em
    }

    .legal .wrapper {
        max-width: 48em
    }
}

.legal h1 {
    padding-bottom: 1em
}

.legal h3 {
    margin-bottom: .5em
}

.legal__item {
    margin-bottom: 2em
}

.legal__item a {
    color: #111414
}