@font-face {
  font-family: 'Gotham Pro';
  src: url('../fonts/GothamPro/GOTHAMPRO.woff2') format('woff2'),
       url('../fonts/GothamPro/GOTHAMPRO.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-stretch: 100%;
  font-display: swap;
}

@font-face {
  font-family: 'Gotham Pro';
  src: url('../fonts/GothamPro/GOTHAMPRO-BLACK.woff2') format('woff2'),
       url('../fonts/GothamPro/GOTHAMPRO-BLACK.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-stretch: 100%;
  font-display: swap;
}

@font-face {
  font-family: 'Gotham Pro';
  src: url('../fonts/GothamPro/GOTHAMPRO-LIGHT.woff2') format('woff2'),
       url('../fonts/GothamPro/GOTHAMPRO-LIGHT.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-stretch: 100%;
  font-display: swap;
}

@font-face {
  font-family: 'Gotham Pro';
  src: url('../fonts/GothamPro/GOTHAMPRO-MEDIUM.woff2') format('woff2'),
       url('../fonts/GothamPro/GOTHAMPRO-MEDIUM.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-stretch: 100%;
  font-display: swap;
}

@font-face {
  font-family: 'Gotham Pro';
  src: url('../fonts/GothamPro/GOTHAMPRONARROW-BOLD.woff2') format('woff2'),
       url('../fonts/GothamPro/GOTHAMPRONARROW-BOLD.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-stretch: 100%;
  font-display: swap;
}


*, *::before, *::after {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}
img, picture {
    max-width: 100%;
    display: block;
}

.form-honeypot {
    position: absolute;
    left: -9999px;
    display: none;
}

.sinoby-timer[data-sinoby-reserve="sinoby-a7gasm"] {
    display: block;
    min-height: 96px;
}

#cookies_popup {
    position: fixed;
    bottom: 12px;
    width: 65%;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    justify-content: space-between;
    align-items: center;
    background: inherit;
    padding: 20px;
    border-radius: 20px;
    z-index: 9999;
    box-shadow: 4px 4px 8px 0 rgba(34, 60, 80, 0.2);
}

#cookies_popup .text a {
    color: inherit;
    text-decoration: underline;
}

#cookies_popup .text p {
    margin: 0;
}

#cookies_popup .btn {
    width: 190px;
    flex-shrink: 0;
    margin-left: 15px;
    cursor: pointer;
}

@media (max-width: 767px) {
    .sinoby-timer[data-sinoby-reserve="sinoby-a7gasm"] {
        min-height: 80px;
    }

    #cookies_popup {
        flex-direction: column;
    }

    #cookies_popup .btn {
        margin-left: 0;
        margin-top: 15px;
        width: 100%;
    }
}
h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;
}
address {
    font-style: normal;
}
ul, ol {
  list-style: none;
}
:focus {
    outline: 0;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
blockquote, q {
    quotes: none;
}
q:before, q:after {
    content: '';
}
a, ins {
    text-decoration: none;
    color: inherit;
}
sub, sup {
    vertical-align: baseline;
    position: relative;
    font-size: .8em;
}
sup {
    top: -5px;
}
sub {
    bottom: -2px;
}
pre {
    font: inherit;
}

:root {
    --page-width: 1920px;
    --container: 1660px;
    --font-size: 16px;
    --font-weight: 400;
    --font-size-title: 52px;
    --font-size-subtitle: 28px;
    --font-size-description: 20px;
    --font-size-comment: 18px;
    --color-black: #131313;
    --color-white: #ffffff;
    --color-gray: #D9D9D9;
    --btn-color-hover-primary: #F2F2F2;
    --btn-color-hover-secondary: #D9D9D9;
    --input-place-primary: #D9D9D9;
    --input-place-secondary: #131313;
    --input-color-primary: #ffffff;
    --input-color-secondary: #131313;
    --btn-radius: 12px;
    --block-radius: 32px;
    --block-radius-secondary: 24px;
    --block-radius-trinity: 20px;
    --btn-height: 56px;
    --transition-primary: 0.25s ease;
    --transition-secondary: 0.45s ease;
}
body {
    font-family: "Gotham Pro", Arial, sans-serif;
    font-size: var(--font-size);
    color: var(--color-white);
    background: var(--color-black);
    position: relative;
    font-weight: 400;
    padding: 0px;
    overflow-x: hidden;
    max-width: var(--page-width);
    margin: 0 auto;
}
.compensate-for-scrollbar {
    margin: 0 auto !important;
    overflow: auto !important;
}
.fancybox-button svg {
    pointer-events: none;
}
.form-title {color: inherit;font-size: 20px;padding: 0px;margin: 0px;text-align: center;padding-bottom: 20px;}
.form-title span {
    display: block;
    white-space: nowrap;
}
input, button, textarea, select {
    font: inherit;
    outline: none;
    color: var(--input-color-primary);
    width: 100%;
    margin: 0;
    border: 1px solid var(--input-color-primary);
    box-shadow: none;
    padding: 5px 15px;
    background: transparent;
    height: var(--btn-height);
    border-radius: var(--btn-radius);
}

input::-moz-placeholder { color: var(--input-place-primary); }
input::-webkit-input-placeholder { color: var(--input-place-primary); }
input:-ms-input-placeholder { color: var(--input-place-primary); }
input::placeholder { color: var(--input-place-primary); }

button {
    cursor: pointer;
}
select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
    background-image: url(../img/select__arrow-ico.svg);
    background-repeat: no-repeat;
    background-position: 90% 50%;
    display: block;
    padding-left: 15px;
    padding-right: 35px;
}
.select::-ms-expand {
    display: none;
}
.select option {
    font-weight: normal;
    background: var(--color-white);
    color: var(--color-black);
}
form .form-group-wrapper {
    display: flex;
    gap: 10px;
    width: 100%;
    justify-content: space-between;
}

form .form-group-wrapper .form-group {
    width: 100%;
}
form .form-group {
    margin-bottom: 10px;
    position: relative;
}
.form-group_wide {width: 100%;}
.form-group_thin {/* width: 49%; */}
form .form-group .btn {
    width: 100%;
}
/*
 * Формы: .form_dark — на тёмном фоне, .form_light — на белом.
 * Поле телефона, кнопка на всю ширину и согласие с круглым переключателем.
 */
.form_dark .form-group,
.form_light .form-group {
    margin-bottom: 16px;
}
.form_dark input.form-control,
.form_light input.form-control {
    padding: 0 16px;
}
.form_dark .btn,
.form_light .btn {
    width: 100%;
}
.form_dark .agree-field,
.form_light .agree-field {
    display: block;
    font-size: 10px;
    line-height: 12px;
    padding-left: 22px;
    text-align: left;
}
.form_dark .agree-field span,
.form_light .agree-field span {
    top: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: transparent;
}

.form_dark {
    color: var(--color-white);
}
.form_dark input.form-control {
    color: var(--color-white);
    border-color: rgba(157, 157, 157, .24);
    background: rgba(250, 251, 255, .12);
    backdrop-filter: blur(32px);
    -webkit-backdrop-filter: blur(32px);
}
.form_dark input.form-control::placeholder {
    color: var(--color-gray);
}
.form_dark .agree-field span {
    border: 1px solid var(--color-white);
}
.form_dark .agree-field input:checked + span {
    background: radial-gradient(circle, var(--color-white) 0 4px, transparent 4.5px);
}

.form_light {
    color: var(--color-black);
}
.form_light input.form-control {
    color: var(--color-black);
    border-color: #E6E6E6;
    background: #F7F7F7;
}
.form_light input.form-control::placeholder {
    color: var(--color-black);
}
.form_light .agree-field span {
    border: 1px solid var(--color-black);
}
.form_light .agree-field input:checked + span {
    background: radial-gradient(circle, var(--color-black) 0 4px, transparent 4.5px);
}
.has-danger input,
.has-danger select,
.has-danger textarea {
	border-width:2px;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c86461;
}
#form_popup { display:none; }
.popup-container {width: 520px;max-width:100%;padding: 5px 29px;overflow: hidden !important;position: relative;box-sizing: border-box;background: var(--color-black) !important;text-align: center;padding-bottom: 30px;border-radius: 8px;}
.alert.fancybox-content {
    overflow: hidden;
    background: inherit;
}

.alert {
    font-size: 20px;
}
.not-agree button {
    background-color: #cccccc !important;
    cursor: auto !important;
    color: var(--color-white) !important;
}
.agree-field {
    font-size: 12px;
    line-height: 100%;
    position: relative;
    display: inline-block;
    padding-left: 20px;
    top: 0px;
}
.agree-field a {
    color: inherit;
    text-decoration: underline;
}
.agree-field input {
    position: absolute;
    top: -1px;
    left: 0px;
    margin: -0px;
    height: auto;
    width: auto;
    opacity: 0;
}
.agree-field span {
    position: absolute;
    top: -3px;
    left: 0px;
    margin: -0px;
    height: 16px;
    width: 16px;
    border: 1px solid var(--color-black);
    border-radius: 4px;
    background-color: var(--color-black);
}
.agree-field input:checked + span {
    background: url(../img/input__checked.svg) 50% no-repeat var(--color-black);
}

@media only screen and (min-width: 768px) {
  .reveal {
    opacity: 0;
    transform: translateY(40px);
    transition-property: all;
    transition-timing-function: ease-out;
  }
  .reveal.reveal-visible {
    opacity: 1;
    transform: translateY(0px);
  }
  .reveal-fast {
    transition-duration: 0.5s;
  }
  .reveal-normal {
    transition-duration: 0.6s;
  }
  .reveal-slow {
    transition-duration: 0.9s;
  }
  .reveal-slowest {
    transition-duration: 1.2s;
  }
  .reveal-delay-0 {
    transition-delay: 0s;
  }
  .reveal-delay-1 {
    transition-delay: 0.15s;
  }
  .reveal-delay-2 {
    transition-delay: 0.5s;
  }
  .reveal-delay-3 {
    transition-delay: 0.45s;
  }
  .reveal-delay-4 {
    transition-delay: 0.6s;
  }
  .reveal-delay-5 {
    transition-delay: 0.75s;
  }
  .reveal-delay-6 {
    transition-delay: 0.9s;
  }
  .reveal-delay-7 {
    transition-delay: 1.05s;
  }
}
/* направления появления при скролле: слева, справа, снизу (вместе с .reveal) */
.reveal.reveal-left {
    transform: translateX(-120px);
}
.reveal.reveal-right {
    transform: translateX(120px);
}
.reveal.reveal-bottom {
    transform: translateY(120px);
}
.reveal.reveal-left.reveal-visible,
.reveal.reveal-right.reveal-visible,
.reveal.reveal-bottom.reveal-visible {
    transform: none;
}
/* на мобильных анимация появления отключена (скрипт не следит за .reveal) — без сдвига */
@media only screen and (max-width: 767px) {
    .reveal.reveal-left,
    .reveal.reveal-right,
    .reveal.reveal-bottom {
        transform: none;
    }
}

.main {
    padding-top: 0 !important;
}
section {
    margin-top: 120px;
}
.container {
    width: 100%;
    max-width: var(--container);
    padding: 0 30px;
    margin: 0 auto;
}
/* заголовок секции: по умолчанию чёрный (на белом фоне), .title_white — на тёмном */
.title {
    font-size: var(--font-size-title);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    color: var(--color-black);
}
.title_white {
    color: var(--color-white);
}
.subtitle {
    font-size: var(--font-size-subtitle);
    font-weight: 400;
    color: var(--color-black);
}
.subtitle_white {
    color: var(--color-white);
}
.description {
    font-size: var(--font-size-description);
    font-weight: 500;
    color: var(--color-black);
}
.description_white {
    color: var(--color-white);
}
.comment {
    font-size: var(--font-size-comment);
    font-weight: 400;
    color: var(--color-black);
}
.comment_white {
    color: var(--color-white);
}
.logo-block {
    display: flex;
    align-items: center;
    gap: 25px;
}
.logo_2 {
}
.addr-wrapper {
    display: flex;
    align-items: center;
    gap: 65px;
}
.addr {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
}
.phone {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
}
.clock {
    display: flex;
    align-items: center;
    gap: 12px;
}
.play-btn {
    position: relative;
}
.play-btn:before {
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    background: url(../img/play__ico.svg) 50% no-repeat #FFFFFF66;
    backdrop-filter: blur(4px);
    border-radius: var(--btn-radius);
    position: absolute;
    top: calc(50% - 24px);
    left: calc(50% - 24px);
}
.runrow {
    width: 100%;
}
.runrow__track {
    display: flex;
    width: max-content;
    animation: runrow 30s linear infinite;
}
.runrow__column {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
@keyframes runrow {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}
/*
 * Кнопки: базовый .btn + один цветовой модификатор.
 * .btn_dark — чёрная (на белом), .btn_white — белая (на тёмном и сером), .btn_gray — серая.
 * Размеры и отступы задают блоки, цвета и ховеры — только эти классы.
 */
.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: var(--btn-height);
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: var(--btn-radius);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-primary), border-color var(--transition-primary), color var(--transition-primary);
}
.btn span {
    display: inline-block;
    width: fit-content;
}
.btn_dark {
    background-color: var(--color-black);
    border-color: var(--color-black);
    color: var(--color-white);
}
.btn_dark:hover {
    background-color: #333333;
    border-color: #333333;
}
.btn_white {
    background-color: var(--color-white);
    border-color: var(--color-white);
    color: var(--color-black);
}
.btn_white:hover {
    background-color: var(--color-gray);
    border-color: var(--color-gray);
}
.btn_gray {
    background-color: var(--color-gray);
    border-color: var(--color-gray);
    color: var(--color-black);
}
.btn_gray:hover {
    background-color: var(--color-white);
    border-color: var(--color-white);
}

.header .mob-menu-btn {
    display: none;
}
/* шапка: строка с логотипами (88px) + строка меню (67px), герб по центру поверх обеих */
.header {
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    right: 0;
    max-width: var(--page-width);
    margin: 0 auto;
    color: var(--color-white);
    border-radius: 0 0 32px 32px;
    box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
}
.header__main {
    background: var(--color-black);
    border-bottom: 1px solid #484848;
}
.header__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    height: 88px;
}
.header__logos {
    display: flex;
    align-items: center;
    gap: 33px;
    flex-shrink: 0;
}
.header__logo_porsche {
    width: 392px;
}
.header__logo_rolf {
    width: 168px;
}
.header__logos-sep {
    width: 1px;
    height: 20px;
    background: var(--color-white);
}
.header__centerlogo {
    position: absolute;
    z-index: 2;
    top: 29px;
    left: 50%;
    width: 79px;
    transform: translateX(-50%);
}
.header__info {
    display: flex;
    align-items: center;
    gap: 24px;
    font-size: 14px;
    white-space: nowrap;
}
.header__btn {
    width: 192px;
}
.header__menu {
    background: var(--color-black);
    border-radius: 0 0 32px 32px;
}
.header__menu-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 67px;
}
.header__menu-column {
    display: flex;
    align-items: center;
    gap: 20px;
}
.header__menu-column_models {
    text-transform: uppercase;
}
.header__menu-item {
    font-size: 20px;
    white-space: nowrap;
    transition: opacity var(--transition-primary);
}
.header__menu-item:hover {
    opacity: .7;
}

/* первый экран начинается под шапкой, плашка с заголовком — на 22px ниже шапки */
.intro {
    position: relative;
    isolation: isolate;
    margin: 0;
    overflow: hidden;
    border-radius: 0 0 32px 32px;
}
.intro__content {
    position: absolute;
    z-index: 1;
    left: 0;
    width: 100%;
    top: 177px;
}

.intro__bg {
    width: 1920px;
    position: relative;
    z-index: -1;
    left: 50%;
    transform: translateX(-50%);
}

.intro__title-block {
    position: relative;
    isolation: isolate;
    width: 1238px;
    max-width: 100%;
    margin: 0 auto;
    padding: 18px 40px 39px;
    text-align: center;
    color: var(--color-white);
}
/* полупрозрачная плашка с вырезом снизу по центру под кнопку */
.intro__title-block:before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    border-radius: var(--block-radius-secondary);
    background: rgba(19, 19, 19, .64);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='351' height='26' viewBox='0 0 351 26'%3E%3Cpath d='M0 26C7.18 26 13 20.18 13 13C13 5.82 18.82 0 26 0H325C332.18 0 338 5.82 338 13C338 20.18 343.82 26 351 26Z'/%3E%3C/svg%3E") 50% 100% / 351px 26px no-repeat, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='351' height='26' viewBox='0 0 351 26'%3E%3Cpath d='M0 26C7.18 26 13 20.18 13 13C13 5.82 18.82 0 26 0H325C332.18 0 338 5.82 338 13C338 20.18 343.82 26 351 26Z'/%3E%3C/svg%3E") 50% 100% / 351px 26px no-repeat, linear-gradient(#000 0 0);
    mask-composite: exclude;
}
.intro__subtitle {
    font-size: 28px;
    font-weight: 400;
    text-transform: uppercase;
}
.intro__title {
    font-size: 40px;
    font-weight: 400;
    line-height: 62px;
    text-transform: uppercase;
}
.intro__title b {
    font-weight: 700;
}
.intro__description {
    font-size: 20px;
}
.intro__benefits {
    display: flex;
    gap: 24px;
    align-items: center;
    margin-top: 12px;
}
.intro__benefits-item {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 18px;
}
/* кнопка стоит в вырезе плашки: на 10px ниже его верха, на 40px ниже плашки */
.intro__btn {
    position: absolute;
    left: 50%;
    bottom: -40px;
    width: 285px;
    transform: translateX(-50%);
}

.marquee {
    overflow: hidden;
    white-space: nowrap;
    background: var(--btn-bg-primary);
    color: var(--color-white);
    font-weight: 600;
    text-transform: uppercase;
    padding: 14px 0;
}
.marquee__track {
    gap: 24px;
}
.marquee__content {
    gap: 24px;
}
.marquee__text {
    padding-left: 24px;
    position: relative;
}
.marquee__text:before {
    content: "";
    position: absolute;
    left: 0;
    top: calc(50% - 4px);
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-white);
}
.marquee__content span {
    margin-right: 40px;
}

/* белая карточка (909px) с таймером и формой + фото (659px) */
.timer {
    margin-top: 64px;
}
.timer__content {
    display: flex;
    align-items: stretch;
    gap: 32px;
}
.timer__card {
    flex: 1 1 909px;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 32px;
    background: var(--color-white);
    border-radius: var(--block-radius-secondary);
    color: var(--color-black);
}
.timer__main {
    flex: 0 1 495px;
    min-width: 0;
}
.timer__title {
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
}
.timer__timer {
    margin-top: 12px;
}
.timer__form {
    flex: 0 0 321px;
}
.timer__image {
    flex: 0 1 659px;
    min-width: 0;
    border-radius: var(--block-radius-secondary);
    overflow: hidden;
}
.timer__image picture,
.timer__image img {
    width: 100%;
    height: 100%;
}
.timer__image img {
    object-fit: cover;
}

.models__menu {
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
}
.models__menu-item {
    width: 100%;
    position: relative;
    transition: all var(--transition-primary);
}
.models__menu-item:hover {
    transform: translateY(-10%);
}
.models__menu-img {background: var(--color-white);display: block;border-radius: 12px;padding: 9px 7px;display: flex;justify-content: center;margin-bottom: 8px;}
.models__menu-text {
    width: 100%;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    display: block;
}

.models__menu-type {
    color: #757575;
    font-size: 14px;
    font-weight: 500;
}

.model-card__header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.model-card__price {
	display: inline-flex;
	align-items: center;
	height: 44px;
	background: linear-gradient(90deg, #E0ECF9 75.51%, #FFFFFF 100%);
	border-radius: var(--btn-radius);
	width: 100%;
}
.model-card__price-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	background: #171717;
    border-radius: var(--btn-radius);
}
.model-card__price-ico img {
	display: block;
	width: 20px;
	height: 20px;
}
.model-card__price-text {
	padding: 5px 16px;
	font-size: 19px;
	font-weight: 600;
	color: #252525;
	position: relative;
	z-index: 1;
}
.model-card__images {flex: 1;min-width: 0;}

.model-card {
    position: relative;
    margin-top: 80px;
    display: flex;
    align-items: stretch;
    gap: 44px;
    padding: 52px;
    border-radius: var(--block-radius-trinity);
    background: url(../img/car__bg.svg) 50% 50% / cover no-repeat #F2F2F2;
    color: var(--color-black);
}
.model-card__body {
background-size: cover;
position: relative;
border-radius: 8px;
background: transparent;
background-size: 102%;
padding: 42px;
width: 100%;
max-width: 1268px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.model-card__title {
    margin: 0;
    font-size: 64px;
    font-weight: 400;
    line-height: 1;
    color: var(--color-black);
}
.model-card__title b {
    font-weight: 800;
}
.model-card__spec {
display: flex;
gap: 16px;
margin-top: -136px;
}
.model-card__spec-item {padding: 8px 20px;background: #00000099;border-radius: 4px;backdrop-filter: blur(10px);display: flex;align-items: center;gap: 12px;font-size: 24px;pointer-events: none;}
.model-card__spec-prime {
    transition: all var(--transition-secondary);
}
.model-card__spec-hover {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: all var(--transition-secondary);
}
.model-card__spec-item:hover .model-card__spec-prime {
    opacity: 0;
}
.model-card__spec-item:hover .model-card__spec-hover {
    opacity: 1;
}
.model-card__car-wrapper {display: flex;flex-direction: column;align-items: center;gap: 10px;position: relative;z-index: 1;}

/* «353 л.с • 3.0 л. • Бензин» с линией снизу */
.model-card__techs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid #C4C4C4;
}
.model-card__techs-value {
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.2;
    white-space: nowrap;
}
.model-card__techs-value + .model-card__techs-value:before {
    content: "";
    width: 5px;
    height: 5px;
    margin: 0 28px;
    border-radius: 50%;
    background: currentColor;
}

.model-card__colors-item_active {
transform: scale(1.15);
}
.model-card__info {flex: 0 0 38%;min-width: 0;display: flex;flex-direction: column;align-items: flex-start;gap: 48px;}
.model-card__benefits {display: flex;flex-direction: column;gap: 12px;position: relative;width: 100%;}
.model-card__benefits li {width: 100%;}
.model-card__benefit-link {display: flex;align-items: center;gap: 20px;font-size: 24px;font-weight: 400;line-height: 1.2;}
.model-card__benefit-link b {font-weight: 700;}
/* иконка в сером «плитке» с градиентом */
.model-card__benefit-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 10px;
    background: linear-gradient(180deg, #E6E6E6 0%, #BFBFBF 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
}
.model-card__benefit-icon img {
    width: 28px;
    height: 28px;
}
.model-card__benefit-prime {
    transition: all var(--transition-secondary);
}
.model-card__benefit-hover {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: all var(--transition-secondary);
}
.model-card__benefit:hover .model-card__benefit-prime {
    opacity: 0;
}
.model-card__benefit:hover .model-card__benefit-hover {
    opacity: 1;
}

.model-card__gallery {
  display: flex;
  align-items: stretch;
  gap: 20px;
}
.model-card__gallery-main {
  flex: 1;
  min-width: 0;
  margin: 0;
  aspect-ratio: 860 / 580;
  border-radius: var(--block-radius-trinity);
  overflow: hidden;
}
.model-card__gallery-main-slide a,
.model-card__gallery-main-slide picture {
  display: block;
  width: 100%;
  height: 100%;
}
.model-card__gallery-main-slide img,
.model-card__gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* ховер на большом фото: затемнение и лупа «увеличить» — фото открывается в fancybox */
.model-card__gallery-main-slide a {
  position: relative;
}
.model-card__gallery-main-slide a:after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='91' height='91' viewBox='0 0 91 91'%3E%3Cg fill='%23F2F2F2' opacity='.8'%3E%3Cpath d='M89.9582 84.9303L64.2841 59.2563C75.9815 45.0242 75.1856 23.8971 61.8934 10.605C47.7531 -3.53534 24.7452 -3.53534 10.6048 10.605C-3.53558 24.7454 -3.53558 47.7533 10.6048 61.8937C23.8933 75.1821 45.0177 75.9867 59.256 64.2844L84.9301 89.9584C86.3186 91.3469 88.5696 91.3469 89.958 89.9584C91.3467 88.5698 91.3467 86.3188 89.9582 84.9303ZM56.8655 56.8656C45.4976 68.2334 27.0008 68.2333 15.6329 56.8656C4.265 45.4977 4.265 27.0008 15.6329 15.633C27.0004 4.2656 45.4972 4.26471 56.8655 15.633C68.2334 27.0008 68.2334 45.4977 56.8655 56.8656Z'/%3E%3Cpath transform='translate(15.286 15.286)' d='M38.3714 17.408H24.5188V3.5554C24.5188 1.59179 22.927 0 20.9634 0C18.9998 0 17.408 1.59179 17.408 3.5554V17.408H3.5554C1.59179 17.408 0 18.9998 0 20.9634C0 22.927 1.59179 24.5188 3.5554 24.5188H17.408V38.3714C17.408 40.335 18.9998 41.9268 20.9634 41.9268C22.927 41.9268 24.5188 40.335 24.5188 38.3714V24.5188H38.3714C40.335 24.5188 41.9268 22.927 41.9268 20.9634C41.9268 18.9998 40.335 17.408 38.3714 17.408Z'/%3E%3C/g%3E%3C/svg%3E") 50% 50% / 91px 91px no-repeat rgba(19, 19, 19, .4);
  opacity: 0;
  transition: opacity var(--transition-primary);
  pointer-events: none;
}
.model-card__gallery-main-slide a:hover:after {
  opacity: 1;
}
/* высоту ряда задаёт большое фото, колонка миниатюр подстраивается под неё */
.model-card__gallery-thumbs-wrap {
  position: relative;
  flex: 0 0 224px;
  display: flex;
  justify-content: flex-end;
  max-height: 446px;
}
.model-card__gallery_single .model-card__gallery-thumbs-wrap {
  display: none;
}
.model-card__gallery-thumbs {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 26px;
  margin: 0;
}
.model-card__gallery-thumb {
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  opacity: .6;
  transition: opacity var(--transition-primary);
}
.model-card__gallery-thumb:hover,
.model-card__gallery-thumb.swiper-slide-thumb-active {
  opacity: 1;
}
.model-card__gallery-thumb picture {
  height: 100%;
}
.model-card__gallery-thumb.play-btn:before {
  width: 32px;
  height: 32px;
  top: calc(50% - 16px);
  left: calc(50% - 16px);
  z-index: 1;
}
.model-card__gallery-scrollbar.swiper-scrollbar {
  position: static;
  flex: 0 0 2px;
  width: 2px;
  height: auto;
  background: var(--color-gray);
}
.model-card__gallery-scrollbar .swiper-scrollbar-drag {
  background: var(--color-black);
}
.model-card__gallery-scrollbar.swiper-scrollbar-lock {
  display: none;
}
.model-card__car-img {
  width: 100%;
  height: auto;
  display: block;
}
.model-card__colors {
  display: flex;
  gap: 10px;
}
.model-card__colors-item {
  width: 24px;
  height: 24px;
  border-radius: var(--btn-radius);
  cursor: pointer;
  transition: width var(--transition-secondary);
  flex-shrink: 0;
  position: relative;
}
.model-card__colors-item_active {
    width: 80px;
}
.model-card__buttons {
  display: flex;
  gap: 12px;
  width: 100%;
  margin-top: auto;
}
.model-card__buttons .btn {
  flex: 1;
}

.complects {
    padding: 120px 0 240px;
    background: var(--color-white);
    color: var(--color-black);
    border-radius: var(--block-radius);
}
.complects__filters {
    display: flex;
    gap: 32px;
    margin-top: 60px;
}
.complects__filter {
    flex: 1;
    min-width: 0;
}
.complects__select {
    width: 100%;
    height: 56px;
    padding: 0 48px 0 20px;
    border: 1px solid #F2F2F2;
    border-radius: var(--btn-radius);
    color: var(--color-black);
    cursor: pointer;
    background: url("data:image/svg+xml,%3Csvg width='11' height='6' viewBox='0 0 11 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 0.5L5.5 5.5L10.5 0.5' stroke='%23131313' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 20px center / 11px 6px no-repeat #F2F2F2;
}
.complects__select:disabled {
    cursor: default;
    color: #8A8A8A;
}
.complects__select option {
    color: var(--color-black);
}

.complects__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    margin-top: 40px;
}
/* серая карточка начинается ниже: верх картинки «выступает» над ней */
.complect {
    min-width: 0;
    position: relative;
    margin-top: 132px;
    padding: 0 20px 20px;
    background: #F2F2F2;
    border-radius: var(--block-radius-secondary);
}
.complect.is-hidden {
    display: none;
}
.complect__image {
    position: relative;
    height: 214px;
    margin-top: -132px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 0 16px;
    background: var(--color-white);
    border: 1px solid var(--color-gray);
    border-radius: 16px;
    overflow: hidden;
}
.complect__image-name {
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 96%;
    pointer-events: none;
}
.complect__image-car {
    position: relative;
    width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center bottom;
}
.complect__body {
    padding-top: 20px;
}
.complect__header {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    column-gap: 8px;
    font-size: 24px;
    line-height: 1;
    color: var(--color-black);
}
.complect__model {
    font-weight: 700;
}
.complect__badge {
    font-weight: 400;
}
.complect__chars {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 20px;
}
.complect__char {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.complect__char-sep {
    flex: 0 0 1px;
    background: var(--color-gray);
}
.complect__char-label {
    font-size: 16px;
    line-height: 1;
    white-space: nowrap;
}
.complect__char-value {
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}
.complect__buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 20px;
}
.complect__btn {
    width: 100%;
}


/* верх картинки кредита заходит на белую секцию модификаций на 120px */
.credit {
    position: relative;
    z-index: 1;
    margin-top: -120px;
}
/* выше контактов: фото руля заходит на их белую секцию */
.tradein {
    position: relative;
    z-index: 1;
}
/* картинка и текст в строку; порядок задаёт разметка (у кредита картинка слева) */
.block-prof__block {
    display: flex;
    align-items: center;
    gap: 120px;
    position: relative;
    color: var(--color-white);
}
.block-prof__bg {
    position: relative;
    flex: 0 1 890px;
    min-width: 0;
    border-radius: var(--block-radius-secondary);
    overflow: hidden;
}
.block-prof__bg:after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 75% 75% at 50% 45%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .57) 100%);
    pointer-events: none;
}
.block-prof__bg img {
    width: 100%;
    height: auto;
}
.block-prof__main {
    flex: 0 1 474px;
    min-width: 0;
}
/*
 * текст кредита по центру тёмной части: верхние 120px блока закрывает белая секция модификаций,
 * поэтому отступаем их и центрируем в остатке — длинный текст растит блок вниз, а не заезжает на белое
 */
.block-prof__block_credit .block-prof__main {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 120px 0 0;
}
.block-prof__title {
    font-size: 52px;
    font-weight: 700;
    line-height: 1;
    color: var(--color-white);
}
.block-prof__comment {
    margin-top: 32px;
    font-size: 24px;
    line-height: 1.3;
}
.block-prof__form {
    margin-top: 32px;
}


/*
 * Трейд-ин (макет 1600px): текст слева, фото салона справа (820px),
 * фото руля (869px) снизу заходит на фото салона на 219px.
 * Отступы в % от ширины, чтобы раскладка масштабировалась вместе с картинками.
 */
.block-prof__block_tradein {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0;
}
.block-prof__block_tradein .block-prof__main {
    flex: 0 1 540px;
    margin: 60px 0 0 7.5%;
}
.tradein__bg_main {
    flex: 0 0 51.25%;
    margin-left: auto;
}
.tradein__bg_main:after {
    background: radial-gradient(ellipse 75% 75% at 50% 45%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .38) 100%);
}
.tradein__bg_second {
    flex: 0 0 54.31%;
    margin-top: -13.69%;
    z-index: 1;
}
.tradein__bg_second:after {
    display: none;
}




.about {
}

.about__container {
    position: relative;
    padding-bottom: 40px !important;
}

.about__title {
}

.about__content {display: flex;justify-content: space-between;gap: 24px;margin-top: 40px;}

.about__item {width: 100%;position: relative;}

.about__item-text {position: absolute;left: 32px;top: 32px;width: calc(100% - 64px);}

.about__item-title {font-size: 26px;font-weight: 700;padding-bottom: 16px;}

.about__item-description {
}

.about__item-bg {
}

.about__item-bg picture {
}

.about__item-bg source {
}

.about__item-bg img {border-radius: var(--block-radius);}


.about__pag {display: flex;justify-content: center;}
.about__pag .swiper-pagination-bullet {
    width: 9%;
    height: 6px;
    background: #E1E1E1;
    opacity: 1;
    border-radius: 10px;
    transition: all var(--transition-secondary);
}
.about__pag .swiper-pagination-bullet-active {
    /* width: 160px; */
    background: var(--color-red);
}
.about__slider-arrows {
    position: absolute;
    left: -4%;
    top: 45%;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    width: 108%;
}
.about__slider-arrow {
    position: static !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 6px;
    border: 1px solid #BDBDBD;
    background: url(../img/arrow__reviews_prev.svg) 50% no-repeat #fff;
}
.about__slider-arrow:after {
    display: none;
}
.about__slider-arrow-next {
    transform: rotate(180deg);
}

.about__slider-arrow:hover {
    background: url(../img/arrow__reviews_prev_hover.svg) 50% no-repeat #781826;
    border-color: #781826;
}

.complects__footer {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 44px;
}
.complects__more {
    display: flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: var(--color-black);
    line-height: 20px;
}
.complects__more[hidden] {
    display: none;
}
.complects__more:after {
    content: "";
    width: 12px;
    height: 6px;
    background: url("data:image/svg+xml,%3Csvg width='11' height='6' viewBox='0 0 11 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 0.5L5.5 5.5L10.5 0.5' stroke='%23131313' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 50% / contain no-repeat;
}

@media (max-width: 768px) {

    .timer__card {
        padding: 25px 15px;
        gap: 20px;
    }
    .timer__title {
        font-size: 5vw;
    }

    .models {
    overflow: hidden;
}
    .models__container {}
    .models__title {}
    .models__menu {
    margin-top: 28px;
    /* display: none; */
    gap: 0;
    justify-content: flex-start;
    overflow: scroll;
}
    .models__menu-item {
    flex-direction: column;
    align-items: center;
    padding: 2vw 1vw;
    width: 200px;
    min-width: 158px;
}
    .models__menu-img {
    position: static;
}
    .models__menu-text {
    padding: 1vw 0vw;
    /* text-align: center; */
    font-size: 16px;
}

.models__menu-type {
    /* text-align: center; */
    width: 100%;
    display: block;
    font-size: 14px;
}
    .models__content {}

    /* --- About --- */
    .about__content {
        flex-wrap: wrap;
        gap: 16px;
        margin-top: 24px;
    }

    .about__container {
        padding-bottom: 25px !important;
    }

    .about__item {
        width: calc(50% - 8px); /* Ð”Ð²Ð° ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° Ð² Ñ€ÑÐ´ */
        /* min-height: 200px; */
    }

    .about__item-text {
        left: 16px;
        top: 16px;
        width: calc(100% - 32px);
    }

    .about__item-title {
        font-size: 18px;
        padding-bottom: 8px;
    }

    .about__item-description {
        font-size: 12px;
        line-height: 1.4;
    }


    .about__slider-wrapper {
    padding-bottom: 30px;
    }

    .about__slider-arrows {
        bottom: -7px;
        top: unset;
    }

    .about__pag .swiper-pagination-bullet {
        width: 3%;
    }

    .about__pag {
        justify-content: center;
    }

    .about__pag .swiper-pagination-bullet-active {
        width: 6%;
    }

    .marquee {}
    .marquee__track {}
    .marquee__content {}
    .marquee__text {}
    
}

.reviews {
    position: relative;
    padding: 60px 0;
}
.reviews__container {
    /* position: relative; */
}
.reviews__header-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.reviews__header {
    display: flex;
    align-items: center;
    gap: 40px;
}
.reviews__header-about-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 24px;
    line-height: 1;
}
.reviews__header-about-rating-stars {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: -3px;
}
.reviews__header-about-desc {
    font-size: 14px;
    text-transform: uppercase;
    color: #979493;
    margin-top: 4px;
}
.reviews__rating-ico {
    width: auto;
}
.reviews__content {
    margin-top: 40px;
    position: relative;
}
.reviews__slider-wrapper {
    padding-bottom: 60px;
}
.reviews__rating {
    display: flex;
    gap: 5.2px;
}
.reviews__slider-item {
    background: var(--color-white);
    padding: 32px;
    border-radius: var(--block-radius);
    height: 404px !important;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}
.reviews__item-header {
    display: flex;
    justify-content: space-between;
    font-size: 20px;
    flex-shrink: 0;
    font-weight: 700;
}
.reviews__description {
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    overflow: auto;
    height: 75%;
}
.reviews__text {
    font-size: 18px;
    height: 100%;
    overflow-y: auto !important;
    padding-right: 12px;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
}
.reviews__bottom {
    color: #6B6F71;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
}
.reviews__text::-webkit-scrollbar {
    width: 3px;
}
.reviews__text::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}
.reviews__text::-webkit-scrollbar-thumb {
    background: #ffffff;
    border-radius: 4px;
}
.reviews__text {
    scrollbar-width: thin;
    scrollbar-color: var(--color-red) #1C1C1B1A;
}
.reviews__pag {display: flex;justify-content: center;}
.reviews__pag .swiper-pagination-bullet {
    width: 9%;
    height: 6px;
    background: #E1E1E1;
    opacity: 1;
    border-radius: 10px;
    transition: all var(--transition-secondary);
}
.reviews__pag .swiper-pagination-bullet-active {
    /* width: 160px; */
    background: var(--color-red);
}
.reviews__slider-arrows {
    position: absolute;
    left: -4%;
    top: 45%;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    width: 108%;
}
.reviews__slider-arrow {
    position: static !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 6px;
    border: 1px solid #BDBDBD;
    background: url(../img/arrow__reviews_prev.svg) 50% no-repeat #fff;
    z-index: 0 !important;
}
.reviews__slider-arrow:after {
    display: none;
}
.reviews__slider-arrow-next {
    transform: rotate(180deg);
}

.reviews__slider-arrow:hover {
    background: url(../img/arrow__reviews_prev_hover.svg) 50% no-repeat #781826;
    border-color: #781826;
}

.reviews__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
}

/* верх секции заходит под фото руля из трейд-ина (120px) */
.contacts {
    position: relative;
    margin-top: -120px;
    padding: 240px 0 100px;
    background: var(--color-white);
    color: var(--color-black);
    border-radius: var(--block-radius);
}
.contacts__title {
    font-size: 52px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}
.contacts__content {
    display: flex;
    align-items: stretch;
    gap: 32px;
    margin-top: 60px;
}
.contacts__column {
    flex: 0 0 530px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.contacts__card {
    border-radius: var(--block-radius-secondary);
    overflow: hidden;
    background: var(--color-black);
}
.contacts__image img {
    width: 100%;
    height: auto;
}
.contacts__info {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 32px;
    color: var(--color-white);
}
.contacts__item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.contacts__label {
    font-size: 16px;
    line-height: 1.2;
    color: var(--color-gray);
}
.contacts__value {
    font-size: 24px;
    line-height: 1.2;
}
.contacts__callback {
    padding: 32px;
    border-radius: var(--block-radius-secondary);
    background: var(--color-black);
    color: var(--color-white);
}
.contacts__callback-title {
    font-size: 44px;
    font-weight: 700;
    line-height: 1;
}
.contacts__callback-text {
    margin-top: 12px;
    font-size: 24px;
    line-height: 1.3;
}
.contacts__btn {
    width: 100%;
    margin-top: 32px;
}
.contacts__map {
    flex: 1;
    min-width: 0;
    border-radius: var(--block-radius-secondary);
    overflow: hidden;
    background: #2B3040;
}
.contacts #map1 {
    width: 100%;
    height: 100%;
    min-height: 859px;
}
/* тёмная тема карты, как в макете: инвертируем только подложку, метка остаётся белой */
.contacts #map1 [class*="ground-pane"] {
    filter: invert(1) hue-rotate(180deg) brightness(.9) contrast(.9);
}


.footer {
    padding: 36px 0;
    font-size: 16px;
    background: var(--color-black);
    color: var(--color-white);
}
.footer__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}
/* PORSCHE | РОЛЬФ */
.footer__logos {
    display: flex;
    align-items: center;
    gap: 33px;
    flex-shrink: 0;
}
.footer__logo_porsche {
    width: 305px;
}
.footer__logo_rolf {
    width: 131px;
}
.footer__logos-sep {
    width: 1px;
    height: 20px;
    background: var(--color-white);
}
.footer__links {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.footer__link {
    line-height: 1;
    transition: opacity var(--transition-primary);
}
.footer__link:hover {
    opacity: .7;
}
.footer__madein {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    white-space: nowrap;
}
.footer__disclamer {font-size:14px;display: none;text-align: left;padding-top: 35px;}

@media only screen and (max-width: 1600px) {
.header__logos {
    gap: 24px;
}
.header__logo_porsche {
    width: 300px;
}
.header__logo_rolf {
    width: 129px;
}
.header__info {
    gap: 16px;
}
.model-card__body {
    max-width: 100%;
}
.model-card {
    padding: 40px;
    gap: 32px;
}
.model-card__title {
    font-size: 52px;
}
.model-card__techs-value,
.model-card__benefit-link {
    font-size: 20px;
}
.model-card__techs-value + .model-card__techs-value:before {
    margin: 0 18px;
}
.model-card__benefit-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
}
.model-card__benefit-icon img {
    width: 24px;
    height: 24px;
}
.model-card__gallery-thumbs-wrap {
    flex-basis: 160px;
}
.block-prof__block_tradein .block-prof__main {
    margin-top: 0;
}
/* колонка уже макетной — ручные переносы дают рваные строки */
.block-prof__comment br {
    display: none;
}
.model-card__gallery-thumbs {
    right: 16px;
}
}
@media only screen and (max-width: 1456px) {
.logo-block {
    gap: 12px;
}
.intro__description {
    font-size: 22px;
}
.intro__benefits {
    gap: 10px;
}
.model-card__info {
    /* max-width: 39%; */
}

.model-card__images {
    /* max-width: 58%; */
}
}
@media only screen and (max-width: 1366px) {
    .container {
        max-width: 1082px;
        padding: 0 15px;
    }
.header__logos {
    gap: 20px;
}
.header__logo_porsche {
    width: 240px;
}
.header__logo_rolf {
    width: 103px;
}
.header__addr {
    display: none;
}
.header__menu-column {
    gap: 16px;
}
.header__menu-item {
    font-size: 16px;
}
.intro__subtitle {
    font-size: 30px;
}
.intro__title {
    font-size: 32px;
    line-height: 50px;
}
/* карточке таймера с формой нужно ~910px — фото не помещается */
.timer__image {
    display: none;
}
.intro__description {
    font-size: 17px;
}
.intro__benefits {
    flex-direction: column;
    align-items: flex-start;
}
.model-card__car-wrapper {
}

/*
 * карточка в одну колонку: название → фото → преимущества → кнопки.
 * .model-card__info «растворяется», и его дети встают в общий поток карточки
 */
.model-card {
    flex-direction: column;
}
.model-card__info {
    display: contents;
}
.model-card__header {
    order: 1;
}
.model-card__images {
    order: 2;
    width: 100%;
}
.model-card__benefits {
    order: 3;
}
.model-card__buttons {
    order: 4;
}
/* фото на всю ширину, миниатюры лентой под ним в своих пропорциях (без обрезки) */
.model-card__gallery {
    flex-direction: column;
    gap: 12px;
}
.model-card__gallery-main {
    flex: none;
    width: 100%;
}
.model-card__gallery-thumbs-wrap {
    flex-basis: auto;
    width: 100%;
    max-height: none;
}
.model-card__gallery-thumbs {
    position: relative;
    right: auto;
    width: 100%;
}
.model-card__gallery-thumb {
    aspect-ratio: 244 / 168;
}
.model-card__gallery-scrollbar.swiper-scrollbar {
    display: none;
}
.complects__filters,
.complects__cards {
    gap: 20px;
}
.block-prof__block {
    gap: 48px;
}
.block-prof__title {
    font-size: 44px;
}
.block-prof__comment {
    margin-top: 24px;
    font-size: 20px;
}
.tradein__bg_second {
    margin-top: -8%;
}
.complect__header {
    font-size: 20px;
}
.complect__char-label {
    font-size: 14px;
}
.complect__char-value {
    font-size: 20px;
}
.contacts__column {
    flex-basis: 420px;
}
.contacts__value {
    font-size: 20px;
}
.contacts__callback-title {
    font-size: 36px;
}
.contacts__callback-text {
    font-size: 20px;
}
/* в узкой колонке ручной перенос даёт рваную строку */
.contacts__callback-text br {
    display: none;
}
.footer__content {
    flex-wrap: wrap;
    gap: 24px 40px;
}
.footer__logos {
    width: 100%;
}
}
@media only screen and (max-width: 1112px) {
    .container {
        max-width: 930px;
    }
.header__menu-column {
    gap: 12px;
}
.header__menu-item {
    font-size: 14px;
}
.intro__title {
    font-size: 26px;
    line-height: 42px;
}
/* форма переносится под таймер */
.timer__card {
    flex-wrap: wrap;
}
.timer__main,
.timer__form {
    flex: 1 1 100%;
}
/* таймер в одну колонку центрируется виджетом — заголовок по центру вместе с ним */
.timer__title {
    text-align: center;
}
/* контакты в столбик: карточки сверху, карта под ними */
.contacts__content {
    flex-direction: column;
}
.contacts__column {
    flex-basis: auto;
}
.complects__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media only screen and (max-width: 960px) {
    .container {
        max-width: 738px;
    }
    /* герб не помещается между логотипами и меню */
    .header__centerlogo {
        display: none;
    }
    .header__logo_porsche {
        width: 200px;
    }
    .header__logo_rolf {
        width: 86px;
    }
    .header__btn {
        width: 170px;
    }
    .block-prof__block {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
    }
    .block-prof__bg,
    .block-prof__main {
        flex: none;
        width: 100%;
    }
    .block-prof__block_credit .block-prof__main {
        padding-top: 0;
    }
    .block-prof__block_tradein {
        gap: 16px;
    }
    /* в колонке базовый flex-basis 540px стал бы высотой текста — сбрасываем */
    .block-prof__block_tradein .block-prof__main {
        flex: none;
        margin: 0 0 16px;
    }
    .tradein__bg_main,
    .tradein__bg_second {
        margin: 0;
    }
}
@media only screen and (max-width: 767px) {
    .container {
        max-width: 610px;
        padding: 0 15px;
    }

.main {
    margin-top: 0px !important;
    padding-top: 0 !important;
}
    .fancybox-type-image {width: 100% !important;margin: 0px !important;left: 0px !important;}
	.fancybox-close {right: 9px !important;top: 9px !important;}
	.fancybox-inner {width: 100% !important;margin: 0px !important;padding: 0px !important;}
	.fancybox-wrap {margin:0px !important;width: 100% !important;left: 0px !important;top: 20px !important;}
	.fancybox-type-image .fancybox-close {top: -8px !important;}
	.simple_slider .btn_left {display:none !important;}
	.simple_slider .btn_right {display:none !important;}
	.popup-container {width:100%;}
    .title {
        font-size: 8vw;
    }

.addr {
    font-size: 5vw;
}

.addr-ico, .phone-ico, .clock-ico {
    width: 9vw;
    height: 9vw;
    min-width: 9vw;
}

.phone {
    font-size: 5vw !important;
}

.clock {
    font-size: 5vw;
}

.description {
    font-size: 4vw !important;
}
    section {
        margin-top: 50px !important;
    }
    .header .mob-menu-btn {
        display: block;
        position: relative;
        flex-shrink: 0;
        width: 30px;
        height: 22px;
        z-index: 1;
        order: 2;
    }
    .header .mob-menu-btn span {
        position: absolute;
        display: block;
        width: 30px;
        height: 3px;
        background: var(--color-white);
        transition: all .2s linear;
    }
    .header .mob-menu-btn span:nth-child(1) {
        top: 0;
    }
    .header .mob-menu-btn span:nth-child(2) {
        top: calc(50% - 1px);
        opacity: 1;
    }
    .header .mob-menu-btn span:nth-child(3) {
        bottom: 0;
    }
    .header .mob-menu-btn.active span:nth-child(1) {
        transform-origin: top right;
        transform: rotate(-45deg);
        top: -1px;
    }
    .header .mob-menu-btn.active span:nth-child(2) {
        opacity: 0;
    }
    .header .mob-menu-btn.active span:nth-child(3) {
        transform-origin: bottom right;
        transform: rotate(45deg);
        bottom: -1px;
    }
    /*
     * мобильная шапка: логотипы слева, телефон и бургер справа; меню выезжает справа.
     * размеры в vw, чтобы логотипы и телефон помещались в строку на любой ширине
     */
    .header {
        border-radius: 0 0 20px 20px;
    }
    .header__main {
        border-bottom: 0;
        border-radius: 0 0 20px 20px;
    }
    .header__content {
        height: auto;
        padding: 14px 0;
        gap: 4vw;
    }
    .header__logos {
        flex: 0 1 auto;
        min-width: 0;
        gap: 3vw;
    }
    .header__logo_porsche {
        width: 26vw;
    }
    .header__logo_rolf {
        width: 11vw;
    }
    .header__info {
        margin-left: auto;
        font-size: 3vw;
    }
    .header__logos-sep {
        height: 3vw;
    }
    .header__addr,
    .header__btn {
        display: none;
    }
    .header__menu {
        position: fixed;
        left: 100%;
        width: 100%;
        padding: 24px 0;
        border-radius: 0 0 20px 20px;
        background: rgba(19, 19, 19, .97);
        transition: left .2s linear;
        z-index: 10;
    }
    .header__menu.active {
        left: 0;
    }
    .header__menu-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        height: auto;
    }
    .header__menu-column {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .header__menu-item {
        font-size: 18px;
    }
    /* плашка сразу под шапкой (~50px), чтобы не закрывать машины внизу картинки */
    .intro__content {
        top: calc(50px + 3vw);
    }

.intro__bg {
    width: 100%;
}

.intro {
    margin-top: 0 !important;
    border-radius: 0 0 20px 20px;
}
    /* на мобильных кнопка в потоке под текстом, вырез не нужен */
    .intro__title-block {
        padding: 3vw 4vw 4vw;
    }
    .intro__title-block:before {
        border-radius: 16px;
        -webkit-mask: none;
        mask: none;
    }
    .intro__subtitle {font-size: 5vw;}
    .intro__title {
        font-size: 4.4vw;
        line-height: 1.3;
    }
    .intro__btn {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        width: 60%;
        height: 44px;
        margin: 3vw auto 0;
    }
    .intro__description {
        font-size: 4.8vw;
    }
    .intro__benefits {
        flex-direction: row;
        margin-top: 1vw;
    }
    .best-offer__content {
        position: static;
    }
    .best-offer__title {
        font-size: 5vw;
    }
    .best-offer__description {
        font-size: 4vw;
    }
    .best-offer__form {
        flex-direction: column;
    }
    .best-offer__form .form-group {
        width: 100% !important;
    }
    .best-offer__bg {
        margin-top: 20px;
    }
    .best-offer__bg picture {
        min-width: unset;
        width: 100%;
    }
    .model-card {
        margin-top: 30px;
        gap: 20px;
        padding: 20px 15px;
        background-position: 30% 50%;
    }
    .models__title {
        margin-bottom: 0;
    }
    .model-card__title {
        font-size: 10vw;
    }
    .model-card__techs-value,
    .model-card__benefit-link {
        font-size: 4.2vw;
    }
    .model-card__techs-value + .model-card__techs-value:before {
        width: 4px;
        height: 4px;
        margin: 0 3vw;
    }
    .model-card__benefit-link {
        gap: 12px;
    }
    .model-card__benefit-icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
        border-radius: 8px;
    }
    .model-card__benefit-icon img {
        width: 22px;
        height: 22px;
    }
    .model-card__gallery {
        gap: 8px;
    }
    .model-card__gallery-main {
        border-radius: 12px;
    }
    .model-card__gallery-thumb {
        border-radius: 8px;
    }
    .model-card__buttons {
        flex-direction: column;
        gap: 10px;
    }
    .model-card__buttons .btn {
        flex: none;
        width: 100%;
    }
    .complects {
        padding: 50px 0;
    }
    .complects__filters {
        flex-direction: column;
        gap: 10px;
        margin-top: 24px;
    }
    .complects__cards {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 10px;
    }
    .complect {
        margin-top: 110px;
        padding: 0 15px 15px;
    }
    .complect__image {
        height: auto;
        aspect-ratio: 472 / 214;
        margin-top: -110px;
        padding-bottom: 12px;
    }
    .complect__body {
        padding-top: 16px;
    }
    .complect__header {
        font-size: 5vw;
    }
    .complect__chars {
        gap: 3vw;
        margin-top: 16px;
    }
    .complect__char {
        gap: 2vw;
    }
    .complect__char-label {
        font-size: 3.5vw;
    }
    .complect__char-value {
        font-size: 5vw;
    }
    .complect__buttons {
        margin-top: 16px;
    }
    .complects__footer {
        margin-top: 30px;
    }
    .complects {
        padding-bottom: 110px;
    }
    .credit {
        margin-top: -60px !important;
    }
    .block-prof__block {
        gap: 24px;
    }
    .block-prof__bg {
        border-radius: 12px;
    }
    .block-prof__title {
        font-size: 8vw;
    }
    .block-prof__comment {
        margin-top: 16px;
        font-size: 4.5vw;
    }
    .block-prof__comment br {
        display: none;
    }
    .block-prof__form {
        margin-top: 20px;
    }
    .block-prof__form .form-group {
        margin-bottom: 10px;
    }
    .reviews {
        padding: 32px 0;
        padding-bottom: 50px;
    }
    .reviews__header-wrapper {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .reviews__header-about-rating {
        font-size: 16px;
    }
    .reviews__header-about-rating-stars img {
        width: 12px;
    }
    .reviews__header-about-desc {
        font-size: 12px;
    }
    .reviews__rating-ico {
    }
    .reviews__content {
        margin-top: 24px;
    }

.reviews__slider-wrapper {
    padding-bottom: 30px;
}

.reviews__slider-arrows {
    bottom: -20px;
    top: unset;
    justify-content: center;
    gap: 45%;
}

.reviews__pag .swiper-pagination-bullet {
    width: 3%;
}

.reviews__pag {
    justify-content: center;
    bottom: -8px !important;
}

.reviews__pag .swiper-pagination-bullet-active {
    width: 6%;
}
    .reviews__slider-item {
        padding: 20px 15px;
        min-height: unset;
        height: auto !important;
    }
    .reviews__item-header {
        font-size: 16px;
    }

.reviews__rating {
    width: 25%;
}
    .reviews__description {
        height: 100px;
    }
    .reviews__text {
        font-size: 14px;
    }
    .reviews__bg {
        height: 100%;
        opacity: .45;
    }
    .reviews__bg picture {
        height: 100%;
    }
    .reviews__bg img {
        object-fit: cover;
        height: 100%;
        width: auto;
    }
    .contacts {
        margin-top: -60px !important;
        padding: 110px 0 50px;
    }
    .contacts__title {
        font-size: 8vw;
    }
    .contacts__content {
        margin-top: 24px;
        gap: 16px;
    }
    .contacts__column {
        gap: 16px;
    }
    .contacts__info,
    .contacts__callback {
        padding: 20px 15px;
    }
    .contacts__info {
        gap: 16px;
    }
    .contacts__label {
        font-size: 14px;
    }
    .contacts__value {
        font-size: 4.5vw;
    }
    .contacts__callback-title {
        font-size: 7vw;
    }
    .contacts__callback-text {
        font-size: 4.2vw;
    }
    .contacts__callback-text br {
        display: none;
    }
    .contacts__btn {
        margin-top: 20px;
    }
    .contacts #map1 {
        min-height: 380px;
    }
    .footer {
        margin-top: 0;
        padding: 30px 0;
        font-size: 14px;
    }
    .footer__content {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .footer__logos {
        gap: 5vw;
    }
    .footer__logo_porsche {
        width: 52vw;
    }
    .footer__logo_rolf {
        width: 22vw;
    }
    .footer__logos-sep {
        height: 4vw;
    }
}
