/* ------------------------------------------------------------------------------
  1.  Global
      1.1 Reset styles
      1.2 Fonts
      1.3 General
  2.  Header
  3.  Main
      3.1 Home page
      3.2 Blog page

-------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------
  1. Global
-------------------------------------------------------------------------------*/
/* 1.1 Reset styles */
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, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
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;
}

b, strong {
    font-weight: 700;
}

i {
    font-style: italic;
}

/* 1.2 Fonts */
/* This stylesheet generated by Transfonter (https://transfonter.org) on August 21, 2017 1:40 PM */
@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-Medium.eot");
    src: local("HelveticaNeueCyr-Medium"), url("../fonts/HelveticaNeueCyr-Mediumd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-Medium.woff") format("woff"), url("../fonts/HelveticaNeueCyr-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-Heavy.eot");
    src: local("HelveticaNeueCyr-Heavy"), url("../fonts/HelveticaNeueCyr-Heavyd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-Heavy.woff") format("woff"), url("../fonts/HelveticaNeueCyr-Heavy.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-HeavyItalic.eot");
    src: local("HelveticaNeueCyr-HeavyItalic"), url("../fonts/HelveticaNeueCyr-HeavyItalicd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-HeavyItalic.woff") format("woff"), url("../fonts/HelveticaNeueCyr-HeavyItalic.ttf") format("truetype");
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-Black.eot");
    src: local("HelveticaNeueCyr-Black"), url("../fonts/HelveticaNeueCyr-Blackd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-Black.woff") format("woff"), url("../fonts/HelveticaNeueCyr-Black.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-UltraLightItalic.eot");
    src: local("HelveticaNeueCyr-UltraLightItalic"), url("../fonts/HelveticaNeueCyr-UltraLightItalicd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-UltraLightItalic.woff") format("woff"), url("../fonts/HelveticaNeueCyr-UltraLightItalic.ttf") format("truetype");
    font-weight: 200;
    font-style: italic;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-BlackItalic.eot");
    src: local("HelveticaNeueCyr-BlackItalic"), url("../fonts/HelveticaNeueCyr-BlackItalicd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-BlackItalic.woff") format("woff"), url("../fonts/HelveticaNeueCyr-BlackItalic.ttf") format("truetype");
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-ThinItalic.eot");
    src: local("HelveticaNeueCyr-ThinItalic"), url("../fonts/HelveticaNeueCyr-ThinItalicd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-ThinItalic.woff") format("woff"), url("../fonts/HelveticaNeueCyr-ThinItalic.ttf") format("truetype");
    font-weight: 100;
    font-style: italic;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-MediumItalic.eot");
    src: local("HelveticaNeueCyr-MediumItalic"), url("../fonts/HelveticaNeueCyr-MediumItalicd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-MediumItalic.woff") format("woff"), url("../fonts/HelveticaNeueCyr-MediumItalic.ttf") format("truetype");
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-LightItalic.eot");
    src: local("HelveticaNeueCyr-LightItalic"), url("../fonts/HelveticaNeueCyr-LightItalicd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-LightItalic.woff") format("woff"), url("../fonts/HelveticaNeueCyr-LightItalic.ttf") format("truetype");
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-UltraLight.eot");
    src: local("HelveticaNeueCyr-UltraLight"), url("../fonts/HelveticaNeueCyr-UltraLightd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-UltraLight.woff") format("woff"), url("../fonts/HelveticaNeueCyr-UltraLight.ttf") format("truetype");
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-BoldItalic.eot");
    src: local("HelveticaNeueCyr-BoldItalic"), url("../fonts/HelveticaNeueCyr-BoldItalicd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-BoldItalic.woff") format("woff"), url("../fonts/HelveticaNeueCyr-BoldItalic.ttf") format("truetype");
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-Italic.eot");
    src: local("HelveticaNeueCyr-Italic"), url("../fonts/HelveticaNeueCyr-Italicd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-Italic.woff") format("woff"), url("../fonts/HelveticaNeueCyr-Italic.ttf") format("truetype");
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-Roman.eot");
    src: local("HelveticaNeueCyr-Roman"), url("../fonts/HelveticaNeueCyr-Romand41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-Roman.woff") format("woff"), url("../fonts/HelveticaNeueCyr-Roman.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-Bold.eot");
    src: local("HelveticaNeueCyr-Bold"), url("../fonts/HelveticaNeueCyr-Boldd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-Bold.woff") format("woff"), url("../fonts/HelveticaNeueCyr-Bold.ttf") format("truetype");
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-Light.eot");
    src: local("HelveticaNeueCyr-Light"), url("../fonts/HelveticaNeueCyr-Lightd41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-Light.woff") format("woff"), url("../fonts/HelveticaNeueCyr-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'HelveticaNeueCyr';
    src: url("../fonts/HelveticaNeueCyr-Thin.eot");
    src: local("HelveticaNeueCyr-Thin"), url("../fonts/HelveticaNeueCyr-Thind41d.eot?#iefix") format("embedded-opentype"), url("../fonts/HelveticaNeueCyr-Thin.woff") format("woff"), url("../fonts/HelveticaNeueCyr-Thin.ttf") format("truetype");
    font-weight: 100;
    font-style: normal;
}

/* 1.3 General */
html,
body {
    max-width: 100%;
    height: 100%;
}

html {
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    font-size: 16px;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    -webkit-locale: auto;
    font-family: "HelveticaNeueCyr", sans-serif;
    color: #E2DCC8;
    background: #1C1C1C;
    background: -webkit-gradient(linear, left top, right top, from(#241f1f), color-stop(32%, #241f1f), to(#4a4746));
    background: linear-gradient(to right, #241f1f 0%, #241f1f 32%, #4a4746 100%);
}

input, button {
    -webkit-appearance: none;
}

a {
    text-decoration: none;
    color: #E2DCC8;
}

    a:hover {
        color: #B66449;
    }

ol,
ul,
nav {
    list-style: none;
}

.lista ol,
.lista ul {
    list-style: square;
    margin-left: 50px;
}

img {
    display: block;
}

*:focus {
    outline: none;
}

*, :after, :before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
}

body::-webkit-scrollbar {
    width: 5px;
    background: #E2DCC8;
}

body::-webkit-scrollbar-thumb {
    background: #B66449;
}

.main {
    width: 100%;
    min-height: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .main--home {
        opacity: 1 !important;
    }
}

.noise {
    z-index: -1;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    opacity: .15;
}

.noise--inner {
    width: 100%;
    height: 100%;
    position: absolute;
}

.btn {
    border: none;
    color: #E2DCC8;
    cursor: pointer;
    display: inline-block;
    border-radius: 70px;
    background: #B66449;
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
    font-size: 0.9375vw;
    line-height: 130%;
    text-transform: uppercase;
    text-align: center;
    padding: 0.72917vw 3.125vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .btn {
        border-radius: 13.33333vw;
        font-size: 4.8vw;
        padding: 3.73333vw 16vw;
    }
}

.btn:hover {
    background: #E2DCC8;
    color: #B66449;
}

.btn svg {
    max-width: 1.875vw;
    max-height: 0.83333vw;
    display: block;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .btn svg {
        max-width: 9.6vw;
        max-height: 4.26667vw;
    }
}

.btn--arrow {
    padding: 1.35417vw 1.875vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .btn--arrow {
        padding: 6.93333vw 9.6vw;
    }
}

.btn--invert {
    background: transparent;
    border: 1px solid #E2DCC8;
}

.h1 {
    font-weight: 500;
    font-size: 3.95833vw;
    line-height: 0.91;
    text-transform: uppercase;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .h1 {
        font-size: 11.73333vw;
    }
}

.small {
    font-size: 0.78125vw;
    line-height: 130%;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .small {
        font-size: 4vw;
    }
}

.input-file input {
    display: none;
}

.input-file span {
    cursor: pointer;
    text-decoration: underline;
}

/*-------------------------------------------------------------------------------
  2. Header
-------------------------------------------------------------------------------*/
.header {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid rgba(230, 227, 217, 0.3);
    height: 4.63542vw;
    left: 0;
    position: fixed;
    top: 0;
    z-index: 2;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .header {
        height: 18.66667vw;
        background: #1C1C1C;
        background: #241f1f;
        z-index: 100;
    }
}

.header__left {
    width: 36.927vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-right: 1px solid rgba(230, 227, 217, 0.3);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .header__left {
        width: 60%;
        border-right: 0;
    }
}

.header__right {
    width: calc(100% - 36.927vw);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-right: 1.66667vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .header__right {
        width: 40%;
        padding-right: 5.33333vw;
    }
}

.header__letter {
    width: 4.27083vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.97917vw;
    text-align: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-right: 1px solid rgba(230, 227, 217, 0.3);
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .header__letter {
        width: auto;
        padding-left: 5.33333vw;
        font-size: 7.46667vw;
        padding-right: 5.33333vw;
    }
}

.header__socials {
    padding: 0 1.66667vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .header__socials {
        padding: 0 5.33333vw;
    }
}

.header__socials a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 0.98958vw;
    height: 1.04167vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .header__socials a {
        width: 5.33333vw;
        height: 5.33333vw;
    }
}

.header__socials a + a {
    margin-left: 1.66667vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .header__socials a + a {
        margin-left: 5.33333vw;
    }
}

.header__socials a svg {
    display: block;
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center center;
    object-position: center center;
}

.header__menu {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .header__menu {
        display: none;
    }
}

.header__menu li {
    display: block;
    padding: 0 1.66667vw;
    text-transform: uppercase;
}

    .header__menu li a {
        font-size: 0.72917vw;
        line-height: 140%;
        display: block;
    }

    .header__menu li.active a {
        color: #B66449;
    }

.header__menu.blocked li a {
    cursor: default;
    pointer-events: none;
}

.header__phone {
    text-align: right;
}

    .header__phone a {
        font-size: 0.78125vw;
        line-height: 130%;
        display: block;
    }

@media screen and (max-width: 768px) and (orientation: portrait) {
    .header__phone a {
        font-size: 4vw;
        text-align: right;
    }
}

/*-------------------------------------------------------------------------------
  3. Main
-------------------------------------------------------------------------------*/
/* 3.1 Home page */
.scroll {
    z-index: 1;
    position: fixed;
    width: 100%;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .scroll {
        position: static;
        padding-top: 18.66667vw;
    }
}

.page-title,
.sticky-title {
    overflow: hidden;
    width: 4.27083vw;
    height: 100%;
    position: fixed;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    z-index: 20;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    border-right: 1px solid rgba(230, 227, 217, 0.3);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .page-title,
    .sticky-title {
        width: 100%;
        height: 13.33333vw;
        position: sticky;
        top: 18.66667vw;
        -webkit-transform: none;
        transform: none;
        border-right: 0;
        border-bottom: 1px solid rgba(230, 227, 217, 0.3);
    }
}

.page-title.show,
.sticky-title.show {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.page-title .number, .page-title .title,
.sticky-title .number,
.sticky-title .title {
    display: block;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.page-title ul,
.sticky-title ul {
    text-transform: uppercase;
    width: 100vh;
    font-size: 1.97917vw;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 4.27083vw;
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    -webkit-transform: rotate(-90deg) translateY(100%) translateX(4.63542vw);
    transform: rotate(-90deg) translateY(100%) translateX(4.63542vw);
    white-space: nowrap;
    z-index: 1;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .page-title ul,
    .sticky-title ul {
        width: 100%;
        font-size: 5.33333vw;
        position: static;
        height: 100%;
        -webkit-transform: none;
        transform: none;
    }
}

.page-title ul li,
.sticky-title ul li {
    position: absolute;
    padding: 0 6.66667vw 0 1.82292vw;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    left: 0;
    width: 100%;
    top: 0;
    height: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .page-title ul li,
    .sticky-title ul li {
        padding: 0 5.33333vw;
    }
}

.page-title {
    background: #1C1C1C;
    background: #241f1f;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .page-title {
        display: none;
    }
}

.page-title ul li:not(:first-child) {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

.sticky-title {
    -webkit-transform: translateX(0) !important;
    transform: translateX(0) !important;
    letter-spacing: 0.02em;
    border-left: 1px solid rgba(230, 227, 217, 0.3);
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .sticky-title {
        border-left: 0;
        border-top: 1px solid rgba(230, 227, 217, 0.3);
        background: #1C1C1C;
        background: #241f1f;
    }
}

.sticky-title ul {
    -webkit-transform: rotate(-90deg) translateY(100%) translateX(0) !important;
    transform: rotate(-90deg) translateY(100%) translateX(0) !important;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .sticky-title ul {
        -webkit-transform: none !important;
        transform: none !important;
    }
}

.sticky-title span {
    display: inline-block;
}

.home-page {
    height: 100vh;
    top: 0;
    left: 0;
    padding-top: 4.63542vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page {
        height: auto;
        position: static;
        padding-top: 0;
        display: block;
    }
}

.home-page .scrollable {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .scrollable {
        display: block;
        height: auto;
    }
}

.home-page .scrollable > * {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.home-page section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    height: 100%;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page section {
        display: block;
        height: auto;
    }
}

.home-page .content {
    width: 100vw;
    height: 100%;
    padding-left: 4.27083vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content {
        display: block;
        width: 100%;
        height: auto;
        padding-left: 0;
    }
}

.home-page .content__bg {
    position: absolute;
    z-index: -2;
    width: calc(100% - 4.27083vw);
    height: 100%;
    background-size: cover;
    right: 0;
    top: 0;
    pointer-events: none;
    opacity: 0.5;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__bg {
        width: 100%;
    }
}

.home-page .content__bg::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.31)), to(rgba(0, 0, 0, 0.31)));
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.31), rgba(0, 0, 0, 0.31));
    display: block;
}

.home-page .content__left {
    width: calc(36.927vw - 4.27083vw);
    border-right: 1px solid rgba(230, 227, 217, 0.3);
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1.14583vw 2.08333vw 1.14583vw 1.14583vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    overflow: hidden;
}

.consultation-page__left .project-showcase__intro {
    width: 100%;
    min-width: 0;
}

@media screen and (min-width: 769px) and (max-width: 1199px) {

    .consultation-page__left {
        overflow: visible !important;
    }

        .consultation-page__left .project-showcase__intro {
            width: 100% !important;
            min-width: 0;
        }

        .consultation-page__left .content__title {
            width: 100%;
        }

        .consultation-page__left .content__menu {
            width: auto;
        }
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__left {
        width: 100%;
        border-right: 0;
        border-bottom: 1px solid rgba(230, 227, 217, 0.3);
        padding: 5.33333vw;
    }
}

.home-page .content__right {
    width: calc(100% - (36.927vw - 4.27083vw));
    padding: 1.14583vw 1.14583vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__right {
        width: 100%;
        padding: 5.33333vw;
    }
}

.home-page .content__title > * {
    position: relative;
}

.home-page .content__description {
    margin-top: 2.5vw;
    max-width: 19.79167vw;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__description {
        max-width: 100%;
        margin-top: 8vw;
    }
}

.home-page .content__description + .content__btn-block {
    margin-top: 5.46875vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__description + .content__btn-block {
        margin-top: 10.66667vw;
    }
}

.home-page .content__btn-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: 3.90625vw;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__btn-block {
        margin-top: 10.66667vw;
    }
}

.home-page .content__btn-label {
    margin-right: 1.40625vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__btn-label {
        margin-right: 7.2vw;
    }
}

.home-page .content__btn-btn {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.home-page .content__menu {
    list-style: none;
    margin-top: 6.82292vw;
    margin-left: -1.14583vw;
    margin-right: -2.08333vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__menu {
        margin-top: 2.60417vw;
        margin-left: -5.33333vw;
        margin-right: -5.33333vw;
    }
}

.home-page .content__menu li {
    font-size: 1.14583vw;
    line-height: 160%;
    text-transform: uppercase;
    border-top: 1px solid #E2DCC8;
    border-bottom: 1px solid #E2DCC8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    opacity: 0.5;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__menu li {
        font-size: 4.26667vw;
        opacity: 1;
    }
}

.home-page .content__menu li + li {
    margin-top: -1px;
}

.home-page .content__menu li > span {
    color: inherit;
    padding: 0.46875vw 2.70833vw 0.46875vw 1.14583vw;
    display: block;
    width: 100%;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__menu li > span {
        padding: 2.4vw 10.66667vw 2.4vw 5.33333vw;
    }
}

.home-page .content__menu li > a {
    color: inherit;
    padding: 0.46875vw 2.70833vw 0.46875vw 1.14583vw;
    display: block;
    width: 100%;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__menu li > a {
        padding: 2.4vw 8.53333vw 2.4vw 5.33333vw;
    }

        .home-page .content__menu li > a:not(.noicon)::after {
            content: "";
            position: absolute;
            right: 0.83333vw;
            top: 50%;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
            width: 0.98958vw;
            height: 0.98958vw;
            background: url(../img/arrow-link.svg) center center no-repeat;
            background-size: contain;
            pointer-events: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }
}

@media screen and (max-width: 768px) and (orientation: portrait) and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__menu li > a:not(.noicon)::after {
        right: 4.26667vw;
        width: 4.26667vw;
        height: 4.26667vw;
    }
}

.home-page .content__menu li:hover {
    opacity: 0.8;
}

.home-page .content__menu li.active {
    opacity: 1;
}

    .home-page .content__menu li.active a:not(.noicon)::after {
        content: "";
        position: absolute;
        right: 0.83333vw;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 0.98958vw;
        height: 0.98958vw;
        background: url(../img/arrow-link.svg) center center no-repeat;
        background-size: contain;
        pointer-events: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__menu li.active a:not(.noicon)::after {
        right: 4.26667vw;
        width: 4.26667vw;
        height: 4.26667vw;
    }
}

.home-page .content__subtitle {
    font-weight: 500;
    font-size: 2.08333vw;
    line-height: 120%;
    max-width: 26.77083vw;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__subtitle {
        font-size: 8.53333vw;
        max-width: 100%;
    }
}

.home-page .content__subtitle span {
    color: #B66449;
}

.home-page .content__awards {
    margin-left: -1.14583vw;
    margin-right: -1.14583vw;
    height: -webkit-fill-available;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__awards {
        margin-left: -5.33333vw;
        margin-right: -5.33333vw;
        margin-top: 5.33333vw;
        display: block;
        height: auto;
    }
}

.home-page .content__award {
    min-height: 16.19048vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 2.09524vh 3.85417vw;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__award {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 4vw 5.33333vw;
        min-height: 0;
    }
}

.home-page .content__award + .content__award {
    border-top: 1px solid rgba(226, 220, 200, 0.3);
}

.home-page .content__award-img {
    width: 4.42708vw;
    height: 4.42708vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-preferred-size: 4.42708vw;
    flex-basis: 4.42708vw;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 3.80208vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__award-img {
        width: 13.33333vw;
        height: 13.33333vw;
        -ms-flex-preferred-size: 13.33333vw;
        flex-basis: 13.33333vw;
        margin-right: 9.33333vw;
    }
}

.home-page .content__award-img img {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
}

.home-page .content__award-title {
    width: 16.14583vw;
    margin-right: 3.02083vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__award-title {
        width: calc(100% - 23vw);
        margin-right: 0;
    }
}

.home-page .content__award-title p {
    font-size: 1.14583vw;
    line-height: 130%;
    text-transform: uppercase;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__award-title p {
        font-size: 4.53333vw;
    }
}

.home-page .content__award-title span {
    opacity: 0.5;
}

.home-page .content__award-text {
    width: 20.3125vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__award-text {
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-top: 4vw;
        padding-left: 22.13333vw;
    }
}

.home-page .content__contacts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__contacts {
        display: block;
        margin-top: 10.66667vw;
    }
}

.home-page .content__brief {
    width: 16.71875vw;
    margin-right: 10.05208vw;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__brief {
        width: 100%;
        margin-right: 0;
    }
}

.home-page .content__brief-title {
    font-size: 0.9375vw;
    line-height: 1.82292vw;
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    text-transform: uppercase;
    color: inherit;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__brief-title {
        font-size: 4.8vw;
        line-height: 9.33333vw;
    }
}

.home-page .content__brief-text {
    margin-top: 1.25vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__brief-text {
        margin-top: 5.33333vw;
    }
}

.home-page .content__brief-text label, .home-page .content__brief-text span, .home-page .content__brief-text a {
    color: #B66449;
}

.home-page .content__form {
    width: 25.78125vw;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__form {
        width: 100%;
        margin-top: 3.125vw;
    }
}

.home-page .content__form-placeholder {
    height: 100%;
    width: 100%;
    font-size: 0.9375vw;
    line-height: 2.60417vw;
    opacity: 0.5;
    text-transform: uppercase;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: block;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    position: absolute;
    top: 0;
    left: 0;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__form-placeholder {
        font-size: 4.8vw;
        line-height: 13.33333vw;
    }
}

.home-page .content__form-input {
    height: 2.60417vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    display: block;
    width: 100%;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__form-input {
        height: 13.33333vw;
    }
}

.home-page .content__form-input + .content__form-input {
    margin-top: 2.91667vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__form-input + .content__form-input {
        margin-top: 5.33333vw;
    }
}

.home-page .content__form-input input {
    background: transparent;
    height: 100%;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    outline: none;
    color: inherit;
    border: none;
    border-bottom: 1px solid #E2DCC8;
    font-size: 0.9375vw;
    line-height: 1.82292vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__form-input input {
        font-size: 4.8vw;
        line-height: 9.33333vw;
    }
}

.home-page .content__form-input input.valid, .home-page .content__form-input input:focus {
    outline: none;
}

    .home-page .content__form-input input.valid + .content__form-placeholder, .home-page .content__form-input input:focus + .content__form-placeholder {
        font-size: 0.67708vw;
        line-height: 0.67708vw;
        top: -0.3125vw;
    }

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__form-input input.valid + .content__form-placeholder, .home-page .content__form-input input:focus + .content__form-placeholder {
        font-size: 3.46667vw;
        line-height: 3.46667vw;
        top: -1.6vw;
    }
}

.home-page .content__form-btn {
    margin-top: 4.0625vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__form-btn {
        margin-top: 8vw;
    }
}

.home-page .content__slider {
    margin-left: 17.65625vw;
    padding-left: 10.41667vw;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 21.33333vh;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__slider {
        margin-left: 0;
        padding-left: 13.33333vw;
        margin-top: 16vw;
    }
}

.home-page .content__slider::before {
    content: "";
    display: block;
    width: 5.26042vw;
    height: 4.53125vw;
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    background: url("../img/q.png") left top no-repeat;
    background-size: contain;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__slider::before {
        width: 12vw;
        height: 8vw;
    }
}

.home-page .content__slider-name {
    margin-top: 4.66667vh;
    font-size: 1.14583vw;
    line-height: 1.59;
    text-transform: uppercase;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__slider-name {
        margin-top: 8vw;
        font-size: 4.8vw;
    }
}

.home-page .content__slider-staff {
    margin-top: 0.41667vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home-page .content__slider-staff {
        margin-top: 2.13333vw;
    }
}

.slides {
    position: relative;
    width: 30.20833vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .slides {
        width: 100%;
    }
}

.slides__container {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 32.38095vh;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .slides__container {
        height: 66.66667vw;
    }
}

.slides__inner {
    position: relative;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

.slides__controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 1.5625vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .slides__controls {
        margin-top: 5.33333vw;
    }
}

.slides__btn--prev {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}

.slides__btn + .slides__btn {
    margin-left: 1.82292vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .slides__btn + .slides__btn {
        margin-left: 5.33333vw;
    }
}

.slides .slide {
    position: absolute;
    height: 100%;
    width: 100%;
    display: block;
}

.home__circles {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home__circles {
        position: relative;
        height: 80vw;
    }
}

.home__circles-lines {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

    .home__circles-lines div {
        width: 1px;
        height: 0;
        background: rgba(230, 227, 217, 0.3);
        opacity: 0;
    }

        .home__circles-lines div:first-child, .home__circles-lines div:last-child {
            opacity: 0;
        }

.home__circle {
    width: 31.66667vw;
    height: 31.71875vw;
    border-radius: 50%;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    z-index: 2;
    background: rgba(19, 19, 19, 0.4);
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home__circle {
        width: 74.66667vw;
        height: 74.66667vw;
    }
}

.home__circle-img {
    width: 100%;
    height: 100%;
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
}

.home__circle-text {
    font-size: 1.14583vw;
    line-height: 130%;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home__circle-text {
        font-size: 4.8vw;
    }
}

.home__circle-text a {
    text-decoration: underline;
    color: inherit;
}

    .home__circle-text a:hover {
        color: inherit;
        text-decoration: none;
    }

.home__circle--left {
    left: 250%;
    -webkit-transform: translateY(-50%) translateX(-95%);
    transform: translateY(-50%) translateX(-95%);
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home__circle--left {
        left: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
}

.home__circle--right {
    z-index: 3;
    right: 250%;
    -webkit-transform: translateY(-50%) translateX(95%);
    transform: translateY(-50%) translateX(95%);
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home__circle--right {
        right: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
}

.home__numbers {
    margin-top: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home__numbers {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-top: 1.5625vw;
    }
}

.home__number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home__number {
        width: 50%;
    }
}

.home__number-digital {
    font-size: 3.85417vw;
    line-height: 140%;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home__number-digital {
        font-size: 13.33333vw;
    }
}

.home__number-text {
    margin-left: 1.35417vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .home__number-text {
        margin-left: 5.33333vw;
    }
}

.projects__blocks {
    height: 100%;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .projects__blocks {
        display: none;
    }
}

.projects__block {
    height: auto;
    overflow: visible;
    display: none;
}

    .projects__block + .projects__block {
        padding-top: 2.60417vw;
    }

    .projects__block img {
        width: 100%;
        display: block;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s;
    }

    .projects__block a {
        display: block;
        width: 100%;
        overflow: hidden;
    }

        .projects__block a img:hover {
            -webkit-transform: scale(1.1);
            transform: scale(1.1);
        }

    .projects__block.active {
        display: block;
    }

.testimonials__clients {
    margin-top: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .testimonials__clients {
        margin-top: 13.33333vw;
    }
}

.testimonials__client {
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 11.42857vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0.26042vw 0;
    padding: 0 0.26042vw;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .testimonials__client {
        height: 21.33333vw;
        margin: 1.33333vw 0;
        padding: 0 1.33333vw;
    }
}

.testimonials__client img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}

.news__blocks {
    height: 100%;
    overflow: hidden;
    padding-right: 1.5625vw;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .news__blocks {
        display: none;
    }
}

.news__block {
    height: auto;
    overflow: visible;
    display: none;
}

    .news__block + .news__block {
        padding-top: 5.20833vw;
    }

    .news__block img {
        width: 100%;
        display: block;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s;
    }

    .news__block a {
        display: block;
        width: 100%;
        overflow: hidden;
    }

        .news__block a img:hover {
            -webkit-transform: scale(1.1);
            transform: scale(1.1);
        }

.news__block-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 2.86458vw;
}

.news__block-date {
    width: 19.79167vw;
    opacity: 0.6;
}

.news__block-text {
    width: 20.3125vw;
}

.news__block-number {
    font-weight: 500;
    font-size: 2.08333vw;
    line-height: 1;
}

.news__block.active {
    display: block;
}

.contacts__copyright {
    margin-top: auto;
    position: relative;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .contacts__copyright {
        margin-top: 8vw;
    }
}

.contacts__form {
    margin-top: 7.61905vh;
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    .contacts__form {
        margin-top: 13.33333vw;
    }
}

/*# sourceMappingURL=maps/main.css.map */


.experience-summary {
    padding: 3.2rem 4rem 4rem;
    border-top: 1px solid rgba(238, 232, 213, 0.16);
}

.experience-summary__intro {
    max-width: 820px;
    margin-bottom: 2rem;
}

    .experience-summary__intro span {
        display: inline-block;
        margin-bottom: 0.7rem;
        color: #c96f4d;
        font-size: 0.76rem;
        text-transform: uppercase;
        letter-spacing: 0.16em;
    }

    .experience-summary__intro h2 {
        margin: 0 0 1rem;
        color: #eee8d5;
        font-size: clamp(1.8rem, 2.7vw, 3.8rem);
        line-height: 0.95;
        font-weight: 500;
        letter-spacing: -0.045em;
        text-transform: uppercase;
    }

    .experience-summary__intro p {
        max-width: 760px;
        margin: 0;
        color: rgba(238, 232, 213, 0.72);
        font-size: 0.95rem;
        line-height: 1.55;
    }

.experience-summary__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(238, 232, 213, 0.14);
    border-left: 1px solid rgba(238, 232, 213, 0.14);
}

.experience-summary__card {
    min-height: 180px;
    padding: 1.45rem;
    border-right: 1px solid rgba(238, 232, 213, 0.14);
    border-bottom: 1px solid rgba(238, 232, 213, 0.14);
    background: rgba(255, 255, 255, 0.018);
}

    .experience-summary__card span {
        display: block;
        margin-bottom: 1.4rem;
        color: rgba(238, 232, 213, 0.36);
        font-size: 0.8rem;
        letter-spacing: 0.14em;
    }

    .experience-summary__card h3 {
        margin: 0 0 0.8rem;
        color: #eee8d5;
        font-size: 1.05rem;
        line-height: 1.15;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: -0.025em;
    }

    .experience-summary__card p {
        margin: 0;
        color: rgba(238, 232, 213, 0.66);
        font-size: 0.88rem;
        line-height: 1.45;
    }

    .experience-summary__card:hover {
        background: rgba(201, 111, 77, 0.07);
    }

@media (max-width: 1100px) {
    .experience-summary {
        padding: 2.5rem 2rem 3rem;
    }

    .experience-summary__cards {
        grid-template-columns: 1fr;
    }
}

.consultation-menu {
    cursor: pointer;
}
/* =============================================================================
   RESPONSIVE LAYER - Giuseppe Saffioti
   -----------------------------------------------------------------------------
   Obiettivi:
   - desktop originale invariato oltre 1200px
   - nessun testo microscopico nelle larghezze intermedie
   - header realmente adattivo
   - nessun overflow orizzontale
   - menu sempre utilizzabile senza hamburger/JavaScript
   - barra verticale conservata su tablet e trasformata in fascia orizzontale
     su smartphone
   - contenuti a due colonne trasformati in una colonna su smartphone
   ============================================================================= */

/* ---------------------------------------------------------------------------
   Protezioni generali
   --------------------------------------------------------------------------- */

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

img,
video,
svg,
canvas {
    max-width: 100%;
}

.header nav,
.header ul,
.header__menu {
    margin-left: 0;
}

.btn {
    font-size: clamp(14px, 0.9375vw, 18px);
}

.h1 {
    font-size: clamp(48px, 3.95833vw, 76px);
}

.small {
    font-size: clamp(14px, 0.78125vw, 16px);
}

.header__menu li a {
    font-size: clamp(12px, 0.72917vw, 14px);
}

.header__phone a {
    font-size: clamp(13px, 0.78125vw, 15px);
    white-space: nowrap;
}

.header__socials a {
    width: auto;
    height: auto;
    min-width: 0;
    font-size: clamp(11px, 0.78vw, 14px);
    white-space: nowrap;
}

.page-title ul,
.sticky-title ul {
    font-size: clamp(22px, 1.97917vw, 38px);
}

.home-page .content__menu li {
    font-size: clamp(14px, 1.14583vw, 22px);
}

.home-page .content__subtitle {
    font-size: clamp(24px, 2.08333vw, 40px);
}

.home-page .content__award-title p {
    font-size: clamp(14px, 1.14583vw, 18px);
}

.home-page .content__slider-name {
    font-size: clamp(14px, 1.14583vw, 18px);
}

.home__circle-text {
    font-size: clamp(14px, 1.14583vw, 18px);
}


/* ===========================================================================
   TABLET / NOTEBOOK STRETTO
   769px - 1199px

   L'header passa a due fasce:
   - prima fascia: logo/social a sinistra, telefono a destra
   - seconda fascia: navigazione completa
   La sidebar rimane verticale.
   =========================================================================== */

@media screen and (min-width: 769px) and (max-width: 1199px) {

    :root {
        --responsive-header-height: 112px;
        --responsive-header-top: 64px;
        --responsive-nav-height: 48px;
        --responsive-sidebar-width: 68px;
    }

    .header {
        height: var(--responsive-header-height) !important;
        min-height: var(--responsive-header-height);
        flex-wrap: nowrap;
        background: #241f1f;
        z-index: 1000;
    }

    .header__left {
        width: 48% !important;
        height: var(--responsive-header-top);
        border-right: 1px solid rgba(230, 227, 217, 0.3);
        flex: 0 0 48%;
    }

    .header__right {
        width: 52% !important;
        height: var(--responsive-header-top);
        flex: 0 0 52%;
        padding: 0 20px !important;
        justify-content: flex-end !important;
        position: static;
    }

    .header__letter {
        width: var(--responsive-sidebar-width) !important;
        min-width: var(--responsive-sidebar-width);
        padding: 0 14px !important;
        font-size: 26px !important;
    }

    .header__socials {
        padding: 0 18px !important;
        gap: 18px;
    }

        .header__socials a {
            width: auto !important;
            height: auto !important;
            font-size: 13px !important;
        }

            .header__socials a + a {
                margin-left: 0 !important;
            }

    /*
       Il nav viene posizionato rispetto all'header fixed, non rispetto
       a header__right. In questo modo usa tutta la larghezza disponibile.
    */
    .header__right nav {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: var(--responsive-nav-height);
        margin: 0 !important;
        border-top: 1px solid rgba(230, 227, 217, 0.22);
        background: #241f1f;
    }

    .header__menu {
        display: flex !important;
        width: 100%;
        height: 100%;
        margin: 0 !important;
        padding: 0 14px;
        align-items: center;
        justify-content: center;
        gap: clamp(8px, 1.3vw, 20px);
        flex-wrap: nowrap;
    }

        .header__menu li {
            flex: 0 1 auto;
            padding: 0 !important;
            white-space: nowrap;
        }

            .header__menu li a {
                font-size: 12px !important;
                line-height: 1.2;
            }

    .header__phone {
        margin-left: auto;
    }

        .header__phone a {
            font-size: 14px !important;
        }

    .home-page {
        padding-top: var(--responsive-header-height) !important;
    }

    .scroll {
        padding-top: var(--responsive-header-height);
    }

    .page-title,
    .sticky-title {
        width: var(--responsive-sidebar-width) !important;
    }

        .page-title ul,
        .sticky-title ul {
            height: var(--responsive-sidebar-width) !important;
            font-size: clamp(22px, 2.4vw, 30px) !important;
        }

    .home-page .content {
        width: 100%;
        padding-left: var(--responsive-sidebar-width) !important;
    }

    @media screen and (min-width: 769px) and (max-width: 1199px) {

        /*
       Agiamo solo sulle due colonne principali.
       Non su eventuali content__left/content__right annidati.
    */
        .home-page .content > .content__left {
            width: 48% !important;
            min-width: 0;
            padding: 28px 32px !important;
            overflow: visible !important;
        }

        .home-page .content > .content__right {
            width: 52% !important;
            min-width: 0;
            padding: 28px 32px !important;
            overflow: visible !important;
        }

        /*
       Un eventuale content__left interno non deve ricevere
       nuovamente la larghezza del 48%.
    */
        .home-page .content__left .content__left {
            width: 100% !important;
            max-width: 100%;
            padding: 0 !important;
            border-right: 0 !important;
            overflow: visible !important;
        }

        .home-page .content__right .content__right {
            width: 100% !important;
            max-width: 100%;
            padding: 0 !important;
            overflow: visible !important;
        }

        .home-page .content__title {
            width: 100%;
            max-width: 100%;
            min-width: 0;
        }

            .home-page .content__title .h1 {
                max-width: 100%;
                font-size: clamp(40px, 4.8vw, 55px) !important;
                line-height: 0.96 !important;
                letter-spacing: -0.025em;
            }
    }

    .h1 {
        font-size: clamp(46px, 5.7vw, 66px) !important;
        line-height: 0.94;
    }

    .small {
        font-size: 15px !important;
        line-height: 1.45;
    }

    .home-page .content__description {
        max-width: 100% !important;
        margin-top: 28px !important;
    }

        .home-page .content__description + .content__btn-block {
            margin-top: 34px !important;
        }

    .home-page .content__btn-block {
        margin-top: 34px !important;
    }

    .home-page .content__menu {
        margin-top: 36px !important;
    }

        .home-page .content__menu li {
            font-size: 15px !important;
        }

            .home-page .content__menu li > span,
            .home-page .content__menu li > a {
                padding: 10px 22px 10px 16px !important;
            }

    .home-page .content__award {
        min-height: 150px;
        padding: 24px 28px !important;
    }

    .home-page .content__award-title {
        width: min(220px, 34%) !important;
        margin-right: 28px !important;
    }

        .home-page .content__award-title p {
            font-size: 15px !important;
        }

    .home-page .content__award-text {
        width: auto !important;
        flex: 1 1 auto;
        font-size: 14px;
        line-height: 1.45;
    }
}


/* ===========================================================================
   SMARTPHONE / TABLET PICCOLO
   <= 768px

   Niente miniaturizzazione del desktop:
   - header a due livelli
   - nav 3 x 2, sempre leggibile e senza scroll orizzontale
   - sticky title orizzontale
   - contenuti impilati
   =========================================================================== */

@media screen and (max-width: 768px) {

    :root {
        --responsive-mobile-top: 68px;
        --responsive-mobile-nav: 88px;
        --responsive-mobile-header: 156px;
        --responsive-mobile-titlebar: 46px;
        --responsive-mobile-pad: clamp(20px, 6vw, 32px);
    }

    html,
    body {
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    body {
        font-size: 16px;
    }

    .header {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        width: 100% !important;
        height: var(--responsive-mobile-header) !important;
        min-height: var(--responsive-mobile-header);
        display: flex !important;
        flex-wrap: nowrap;
        align-items: flex-start;
        background: #241f1f !important;
        border-bottom: 1px solid rgba(230, 227, 217, 0.3);
        z-index: 1000 !important;
    }

    .header__left {
        width: auto !important;
        height: var(--responsive-mobile-top);
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        border-right: 1px solid rgba(230, 227, 217, 0.22) !important;
    }

    .header__right {
        width: auto !important;
        height: var(--responsive-mobile-top);
        flex: 0 0 auto;
        min-width: 0;
        display: flex !important;
        align-items: center;
        justify-content: flex-end !important;
        padding: 0 14px !important;
        position: static;
    }

    .header__letter {
        width: 64px !important;
        min-width: 64px;
        height: var(--responsive-mobile-top);
        padding: 0 12px !important;
        font-size: 24px !important;
        border-right: 1px solid rgba(230, 227, 217, 0.3);
    }

    .header__socials {
        min-width: 0;
        height: var(--responsive-mobile-top);
        padding: 0 14px !important;
        gap: 14px;
        overflow: hidden;
    }

        .header__socials a {
            width: auto !important;
            height: auto !important;
            min-width: 0;
            margin: 0 !important;
            font-size: clamp(11px, 3vw, 13px) !important;
            line-height: 1;
            white-space: nowrap;
        }

            .header__socials a + a {
                margin-left: 0 !important;
            }

    .header__phone {
        min-width: 0;
    }

        .header__phone a {
            font-size: clamp(11px, 3vw, 14px) !important;
            line-height: 1.2;
            white-space: nowrap;
            text-align: right;
        }

    .header__right nav {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100% !important;
        height: var(--responsive-mobile-nav);
        margin: 0 !important;
        border-top: 1px solid rgba(230, 227, 217, 0.26);
        background: #241f1f;
        overflow: hidden;
    }

    .header__menu {
        width: 100% !important;
        height: 100%;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-rows: repeat(2, 1fr);
        gap: 0;
        align-items: stretch;
    }

        .header__menu li {
            min-width: 0;
            padding: 0 !important;
            margin: 0 !important;
            display: flex !important;
            align-items: center;
            justify-content: center;
            border-right: 1px solid rgba(230, 227, 217, 0.12);
            border-bottom: 1px solid rgba(230, 227, 217, 0.12);
            text-align: center;
            white-space: normal;
        }

            .header__menu li:nth-child(3n) {
                border-right: 0;
            }

            .header__menu li a {
                width: 100%;
                padding: 10px 5px;
                display: flex !important;
                align-items: center;
                justify-content: center;
                font-size: clamp(11px, 3vw, 13px) !important;
                line-height: 1.12 !important;
                white-space: normal;
            }

    /*
       Contenitore principale: parte dopo l'header fixed.
    */
    .home-page {
        width: 100% !important;
        height: auto !important;
        min-height: 100vh;
        padding-top: var(--responsive-mobile-header) !important;
        display: block !important;
        position: static !important;
    }

    .scroll {
        position: static !important;
        width: 100% !important;
        padding-top: var(--responsive-mobile-header) !important;
    }

    /*
       La vecchia sidebar verticale diventa una barra orizzontale.
       Rimane visibile l'identità della sezione ma non consuma 60px
       di larghezza utile su un telefono.
    */
    .page-title,
    .sticky-title {
        position: sticky !important;
        top: var(--responsive-mobile-header) !important;
        left: 0 !important;
        width: 100% !important;
        height: var(--responsive-mobile-titlebar) !important;
        min-height: var(--responsive-mobile-titlebar);
        transform: none !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-top: 0 !important;
        border-bottom: 1px solid rgba(230, 227, 217, 0.3) !important;
        background: #241f1f !important;
        z-index: 80;
        overflow: hidden;
    }

    .page-title {
        display: block !important;
    }

        .page-title ul,
        .sticky-title ul {
            position: static !important;
            width: 100% !important;
            height: 100% !important;
            transform: none !important;
            font-size: clamp(14px, 4vw, 18px) !important;
            line-height: 1;
            white-space: nowrap;
        }

            .page-title ul li,
            .sticky-title ul li {
                position: absolute !important;
                inset: 0;
                width: 100%;
                height: 100%;
                padding: 0 var(--responsive-mobile-pad) !important;
                display: flex !important;
                align-items: center;
                justify-content: space-between;
                overflow: hidden;
            }

    .home-page section {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        display: block !important;
    }

    .home-page .content {
        width: 100% !important;
        height: auto !important;
        min-height: 0;
        display: block !important;
        padding-left: 0 !important;
    }

    .home-page .content__bg {
        width: 100% !important;
    }

    .home-page .content__left,
    .home-page .content__right {
        width: 100% !important;
        min-width: 0;
        height: auto !important;
        padding: var(--responsive-mobile-pad) !important;
        overflow: visible !important;
    }

        .home-page .content__left .content__left,
        .home-page .content__right .content__right {
            width: 100% !important;
            padding: 0 !important;
            border: 0 !important;
        }

    .home-page .content__left {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(230, 227, 217, 0.3);
    }

    .h1 {
        max-width: 100%;
        font-size: clamp(40px, 11.2vw, 58px) !important;
        line-height: 0.96 !important;
        letter-spacing: -0.035em;
        overflow-wrap: normal;
        word-break: normal;
    }

    .small {
        font-size: clamp(15px, 4.2vw, 17px) !important;
        line-height: 1.5 !important;
    }

    .btn {
        min-height: 48px;
        padding: 13px 28px !important;
        border-radius: 999px !important;
        font-size: 15px !important;
        line-height: 1.2 !important;
    }

    .home-page .content__description {
        width: 100%;
        max-width: 100% !important;
        margin-top: 24px !important;
    }

        .home-page .content__description + .content__btn-block,
        .home-page .content__btn-block {
            margin-top: 28px !important;
        }

    .home-page .content__btn-block {
        width: 100%;
        justify-content: flex-end;
    }

    .home-page .content__menu {
        width: auto;
        margin: 28px calc(-1 * var(--responsive-mobile-pad)) 0 !important;
    }

        .home-page .content__menu li {
            width: 100%;
            font-size: clamp(14px, 4vw, 17px) !important;
            line-height: 1.35 !important;
        }

            .home-page .content__menu li > span,
            .home-page .content__menu li > a {
                padding: 13px var(--responsive-mobile-pad) !important;
            }

    .home-page .content__subtitle {
        width: 100%;
        max-width: 100% !important;
        font-size: clamp(28px, 8vw, 38px) !important;
        line-height: 1.08;
    }

    /* Esperienze / righe tipo award: diventano schede verticali leggibili. */
    .home-page .content__awards {
        width: auto;
        height: auto !important;
        margin: 0 calc(-1 * var(--responsive-mobile-pad)) !important;
        display: block !important;
    }

    .home-page .content__award {
        width: 100%;
        min-height: 0 !important;
        padding: 28px var(--responsive-mobile-pad) !important;
        display: block !important;
    }

    .home-page .content__award-img {
        display: none !important;
    }

    .home-page .content__award-title {
        width: 100% !important;
        margin: 0 !important;
    }

        .home-page .content__award-title p {
            font-size: clamp(17px, 4.7vw, 21px) !important;
            line-height: 1.15 !important;
        }

        .home-page .content__award-title span {
            display: block;
            margin-bottom: 8px;
            font-size: 13px;
        }

    .home-page .content__award-text {
        width: 100% !important;
        margin-top: 16px !important;
        padding-left: 0 !important;
        font-size: clamp(14px, 4vw, 16px);
        line-height: 1.5;
    }

    /* Form e contatti */
    .home-page .content__contacts {
        display: block !important;
        margin-top: 28px !important;
    }

    .home-page .content__brief,
    .home-page .content__form {
        width: 100% !important;
        margin-right: 0 !important;
    }

    .home-page .content__form {
        margin-top: 28px !important;
    }

    .home-page .content__brief-title,
    .home-page .content__form-placeholder,
    .home-page .content__form-input input {
        font-size: 16px !important;
    }

    .home-page .content__form-input {
        height: 52px !important;
    }

        .home-page .content__form-input + .content__form-input {
            margin-top: 20px !important;
        }

        .home-page .content__form-input input.valid + .content__form-placeholder,
        .home-page .content__form-input input:focus + .content__form-placeholder {
            font-size: 12px !important;
            line-height: 1 !important;
            top: -4px !important;
        }

    /* Vecchi elementi a cerchio: se presenti, niente dimensioni fuori viewport. */
    .home__circles {
        width: 100% !important;
        height: auto !important;
        min-height: 0;
        overflow: hidden;
    }

    .home__circle {
        width: min(78vw, 430px) !important;
        height: min(78vw, 430px) !important;
    }

    /* Summary Esperienze aggiunto successivamente al template. */
    .experience-summary {
        padding: 32px var(--responsive-mobile-pad) 40px !important;
    }

    .experience-summary__cards {
        grid-template-columns: 1fr !important;
    }

    .experience-summary__card {
        min-height: 0;
        padding: 22px !important;
    }
}


/* ===========================================================================
   TELEFONI PICCOLI
   =========================================================================== */

@media screen and (max-width: 480px) {

    :root {
        --responsive-mobile-top: 64px;
        --responsive-mobile-nav: 84px;
        --responsive-mobile-header: 148px;
        --responsive-mobile-titlebar: 44px;
        --responsive-mobile-pad: 20px;
    }

    .header__letter {
        width: 56px !important;
        min-width: 56px;
        padding: 0 9px !important;
        font-size: 22px !important;
    }

    .header__socials {
        padding: 0 9px !important;
        gap: 9px;
    }

        .header__socials a {
            font-size: 10.5px !important;
        }

    .header__right {
        padding: 0 9px !important;
    }

    .header__phone a {
        font-size: 11px !important;
    }

    .header__menu li a {
        padding: 8px 3px;
        font-size: 10.5px !important;
    }

    .h1 {
        font-size: clamp(38px, 11.5vw, 50px) !important;
    }

    .small {
        font-size: 15px !important;
    }

    .home-page .content__btn-block {
        justify-content: stretch;
    }

    .home-page .content__btn-btn {
        width: 100%;
    }

    .btn {
        width: 100%;
    }
}


/* ===========================================================================
   ORIZZONTALE SU TELEFONO / SCHERMI BASSI

   Le vecchie media query erano limitate a orientation: portrait.
   Questa regola impedisce di tornare accidentalmente al layout desktop
   su un telefono ruotato.
   =========================================================================== */

@media screen and (max-width: 900px) and (orientation: landscape) {

    .header__menu li a {
        font-size: 11px !important;
    }

    .h1 {
        font-size: clamp(40px, 6.2vw, 56px) !important;
    }

    .small {
        font-size: 15px !important;
    }
}

.contact-honeypot {
    position: absolute !important;
    left: -10000px !important;
    top: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}