:root {
    --yawhite: #fff;
    --yablack: #000;
    --yagray: #ECECEC;
    --yayellow: #D5B267;

    --yavioletlingradient: linear-gradient(right, #6741FF, #552A84);
    --yavioletgradient: radial-gradient(
    circle at center, 
    #964AEA 0%, 
    #4724C2 48%, 
    #1A1139 100%
  );

    --yadarkgray: #1A1A1A;

    --yaradius-8: 8px;
    --yaradius-12: 12px;

    --yathin: 1px;

    --yatextminus: 14px;
    --yatextminusminus: 12px;
}

/* color */
.c-yawhite {color: var(--yawhite) !important;transition: .2s;}
.c-yablack {color: var(--yablack) !important;transition: .2s;}
.c-yagray {color: var(--yagray) !important;transition: .2s;}
.c-yayellow {color: var(--yayellow) !important;transition: .2s;}
.c-yadarkgray {color: var(--yadarkgray) !important;transition: .2s;}

/* :hover color */
.c-h-yawhite:hover {color: var(--yawhite) !important;transition: .2s;}
.c-h-yablack:hover {color: var(--yablack) !important;transition: .2s;}
.c-h-yagray:hover {color: var(--yagray) !important;transition: .2s;}
.c-h-yayellow:hover {color: var(--yayellow) !important;transition: .2s;}

/* background-color */
.bg-yawhite {background-color: var(--yawhite);transition: .2s;}
.bg-yablack {background-color: var(--yablack);transition: .2s;}
.bg-yagray {background-color: var(--yagray);transition: .2s;}
.bg-yayellow {background-color: var(--yayellow);transition: .2s;}
.bg-yadarkgray {background-color: var(--yadarkgray);transition: .2s;}
.bg-yavioletlingradient {background-color: var(--yavioletlingradient);transition: .2s;}
.bg-yavioletgradient {background-color: var(--yavioletgradient);transition: .2s;}

.bg-yawhite-opacity-20 {background-color: rgba(255,255,255,.2);}

/* :hover background-color */
.bg-h-yawhite:hover {background-color: var(--yawhite);transition: .2s;}
.bg-h-yablack:hover {background-color: var(--yablack);transition: .2s;}
.bg-h-yagray:hover {background-color: var(--yagray);transition: .2s;}
.bg-h-yayellow:hover {background-color: var(--yayellow);transition: .2s;}
.bg-h-yadarkgray:hover {background-color: var(--yadarkgray);transition: .2s;}

/* :active background-color */
.bg-a-yawhite:active {background-color: var(--yawhite);transition: .2s;}
.bg-a-yablack:active {background-color: var(--yablack);transition: .2s;}
.bg-a-yagray:active {background-color: var(--yagray);transition: .2s;}
.bg-a-yayellow:active {background-color: var(--yayellow);transition: .2s;}
.bg-a-yadarkgray:active {background-color: var(--yadarkgray);transition: .2s;}

/* border */
.b-yawhite {border: var(--yawhite) 1px solid;transition: .2s;}
.b-yablack {border: var(--yablack) 1px solid;transition: .2s;}
.b-yagray {border: var(--yagray) 1px solid;transition: .2s;}
.b-yayellow {border: var(--yayellow) 1px solid;transition: .2s;}
.b-yadarkgray {border: var(--yadarkgray) 1px solid;transition: .2s;}

/* :hover border */
.b-h-yawhite:hover {border: var(--yawhite) 1px solid;transition: .2s;}
.b-h-yablack:hover {border: var(--yablack) 1px solid;transition: .2s;}
.b-h-yagray:hover {border: var(--yagray) 1px solid;transition: .2s;}
.b-h-yayellow:hover {border: var(--yayellow) 1px solid;transition: .2s;}
.b-h-yadarkgray:hover {border: var(--yadarkgray) 1px solid;transition: .2s;}

/* border-top */
.b-t-yawhite {border-top: var(--yawhite) 1px solid;transition: .2s;}
.b-t-yablack {border-top: var(--yablack) 1px solid;transition: .2s;}
.b-t-yagray {border-top: var(--yagray) 1px solid;transition: .2s;}
.b-t-yayellow {border-top: var(--yayellow) 1px solid;transition: .2s;}
.b-t-yadarkgray {border-top: var(--yadarkgray) 1px solid;transition: .2s;}

/* border-right */
.b-r-yawhite {border-right: var(--yawhite) 1px solid;transition: .2s;}
.b-r-yablack {border-right: var(--yablack) 1px solid;transition: .2s;}
.b-r-yagray {border-right: var(--yagray) 1px solid;transition: .2s;}
.b-r-yayellow {border-right: var(--yayellow) 1px solid;transition: .2s;}
.b-r-yadarkgray {border-right: var(--yadarkgray) 1px solid;transition: .2s;}

/* border-bottom */
.b-b-yawhite {border-bottom: var(--yawhite) 1px solid;transition: .2s;}
.b-b-yablack {border-bottom: var(--yablack) 1px solid;transition: .2s;}
.b-b-yagray {border-bottom: var(--yagray) 1px solid;transition: .2s;}
.b-b-yayellow {border-bottom: var(--yayellow) 1px solid;transition: .2s;}
.b-b-yadarkgray {border-bottom: var(--yadarkgray) 1px solid;transition: .2s;}

/* border-left */
.b-l-yawhite {border-left: var(--yawhite) 1px solid;transition: .2s;}
.b-l-yablack {border-left: var(--yablack) 1px solid;transition: .2s;}
.b-l-yagray {border-left: var(--yagray) 1px solid;transition: .2s;}
.b-l-yayellow {border-left: var(--yayellow) 1px solid;transition: .2s;}
.b-l-yadarkgray {border-left: var(--yadarkgray) 1px solid;transition: .2s;}

/* :hover border-top */
.b-t-h-yawhite:hover {border-top: var(--yawhite) 1px solid;transition: .2s;}
.b-t-h-yablack:hover {border-top: var(--yablack) 1px solid;transition: .2s;}
.b-t-h-yagray:hover {border-top: var(--yagray) 1px solid;transition: .2s;}
.b-t-h-yayellow:hover {border-top: var(--yayellow) 1px solid;transition: .2s;}
.b-t-h-yadarkgray:hover {border-top: var(--yadarkgray) 1px solid;transition: .2s;}

/* :hover border-right */
.b-r-h-yawhite:hover {border-right: var(--yawhite) 1px solid;transition: .2s;}
.b-r-h-yablack:hover {border-right: var(--yablack) 1px solid;transition: .2s;}
.b-r-h-yagray:hover {border-right: var(--yagray) 1px solid;transition: .2s;}
.b-r-h-yayellow:hover {border-right: var(--yayellow) 1px solid;transition: .2s;}
.b-r-h-yadarkgray:hover {border-right: var(--yadarkgray) 1px solid;transition: .2s;}

/* :hover border-bottom */
.b-b-h-yawhite:hover {border-bottom: var(--yawhite) 1px solid;transition: .2s;}
.b-b-h-yablack:hover {border-bottom: var(--yablack) 1px solid;transition: .2s;}
.b-b-h-yagray:hover {border-bottom: var(--yagray) 1px solid;transition: .2s;}
.b-b-h-yayellow:hover {border-bottom: var(--yayellow) 1px solid;transition: .2s;}
.b-b-h-yadarkgray:hover {border-bottom: var(--yadarkgray) 1px solid;transition: .2s;}

/* :hover border-left */
.b-l-h-yawhite:hover {border-left: var(--yawhite) 1px solid;transition: .2s;}
.b-l-h-yablack:hover {border-left: var(--yablack) 1px solid;transition: .2s;}
.b-l-h-yagray:hover {border-left: var(--yagray) 1px solid;transition: .2s;}
.b-l-h-yayellow:hover {border-left: var(--yayellow) 1px solid;transition: .2s;}
.b-l-h-yadarkgray:hover {border-left: var(--yadarkgray) 1px solid;transition: .2s;}

/* border-radius */
.b-radius-yaradius-8 {border-radius: var(--yaradius-8);transition: .2s;}
.b-radius-yaradius-12 {border-radius: var(--yaradius-12);transition: .2s;}

/* border-radius-circle */
.b-radius-circle {border-radius: 50%;transition: .2s;}

/* border 2px */
.border-2, .border-2:hover {border-width: 2px;}

/* width */
.w-thin {width: var(--yathin);}

/* font-size */
.text-minus {font-size: var(--yatextminus);}
.text-minus-minus {font-size: var(--yatextminusminus);}

/* line-height */
.line-height-1 {line-height: 1;}
.line-height-1-2 {line-height: 1.2;}

/* blur */
.bg-blur {backdrop-filter: blur(1px);}

.cursor-pointer {cursor: pointer;}
.w-15 {width: 15% !important;}
.position-lg-absolute {position: absolute;}

.opacity-50 {opacity: .5;}

body {
    font-family: 'Geist';
    font-weight: normal;
    font-style: normal;
    color: var(--yablack);
}

h1, .h1 {font-size: 36px;}
a, a:hover, a:visited, a:focus {color: var(--yayellow);}

.alert {display: none;}
input.form-control {
    height: 48px;
    font-size: 16px;
}

input.form-control:focus {
    border-color: var(--yayellow);
    outline: 0;
    box-shadow: none;
}
input.form-control.black {
    background-color: var(--yablack);
    color: var(--yawhite);    
}
input.form-control.black::placeholder {
    color: var(--yawhite);    
}

.form-check-input:checked {
    background-color: var(--yayellow);
    border-color: var(--yayellow);
}
.form-check-input:focus {
    border-color: var(--yayellow);
    outline: 0;
    box-shadow: none;
}
.checkbox, .control-label, .form-control-feedback, .help-block, .radio, label {
    font-size: 12px;
}

.button-small {
    height: 40px;
    font-size: 12px;
}
.button {
    height: 48px;
    font-size: 16px;
}
.button-lg {
    height: 56px;
    font-size: 16px;
}
.button-big {
    height: 60px;
    font-size: 18px;
}



.logo-title {font-size: 27px;}
.logo-text {font-size: 10px;}

/* 
.page-banner {
    height: 620px;
    background: url(../images/banner-06-2026.jpg) no-repeat center center;
    background-size: cover;
} */

.page-banner {
      position: relative;
      z-index: 1;                    
      display: block !important;      
      height: 600px !important;       
      min-height: 600px !important;
      max-height: 600px !important;
      border-radius: 20px !important; 
      overflow: hidden !important;   
    }

    .page-banner::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image:url(../images/banner.jpg); 
      background-size: cover;
      background-position: center;
      z-index: -1 !important; 
      border-radius: 20px !important; 
      transform-origin: center center; 
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      transition: transform 4.5s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .page-banner.start-timeline-animation::before {
      transform: scale(1.08);
    } 

    .banner-content-row {
      position: absolute !important;
      top: 48px;     
      bottom: 48px;  
      left: 48px;    
      right: 48px;   
      margin: 0 !important;
    } 

    .pulse-indicator {
      position: absolute;
      margin-top: 10px;
      left: -20px;
      transform: translateY(-50%);
      width: 37px;                      
      height: 37px;
      background-color: #6741FF;        
      border-radius: 50%;
      box-shadow: 0 0 14px rgba(103, 65, 255, 0.8);
      z-index: 10;
      display: flex;                    
      align-items: center;
      justify-content: center;
    }
    
    .pulse-indicator::after {
      content: '';
      width: 11px;
      height: 11px;
      background-color: #ffffff;        
      border-radius: 50%;
      animation: innerPulse 2s ease-in-out infinite; 
    }
    
    @keyframes innerPulse {
      0%, 100% { transform: scale(0.6); opacity: 0.6; }
      50% { transform: scale(1.2); opacity: 1; }
    }

    .block-card {
      position: absolute;
      top: 0; 
      left: 36px;
      width: max-content; 
      max-width: calc(100% - 46px);
      background: #6741FF;
      padding: 10px 20px;
      border: 2px solid #6741FF;
      opacity: 0;
      border-radius: 10px;
      transition: 
        transform 0.85s cubic-bezier(0.16, 1, 0.3, 1), 
        opacity 0.5s ease;
    }

    #card-1, #card-2, #card-3 {
      font-size: 36px;
      line-height: 1.1;
    }

    #card-1 {
      background: transparent !important;
      border: 2px solid rgba(255, 255, 255, 1);
    }

    #card-4 {
      background: rgba(255, 255, 255, 0.01) !important; 
      backdrop-filter: blur(12px);                      
      -webkit-backdrop-filter: blur(12px);
      border-color: rgba(255, 255, 255, 1);
      border-radius: 20px;
      padding: 19px 20px;  
    }

    .btn-pulse-active {
      animation: pulseBorder 2.5s ease-in-out infinite;
    }

    .btn-pulse-active span {
      animation: pulseText 2.5s ease-in-out infinite;
    }

    @keyframes pulseBorder {
      0%, 100% { border-color: rgba(255, 255, 255, 0.6); }
      50% { border-color: rgba(255, 255, 255, 0.1); }
    }

    @keyframes pulseText {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.35; }
    }


    @media (max-width: 767.98px) {
      .page-banner {
        height: 520px !important; 
        min-height: 520px !important;
        max-height: 520px !important;
      }


      .banner-content-row {
        top: 32px;
        bottom: 32px;
        left: 16px;
        right: 16px;
      }

      .page-banner::before {
        background-image: url(../images/banner-m.jpg) no-repeat center center; ; 
        transition: none;
        transform: none !important;
        border-radius: 20px !important; 
        z-index: -1 !important; 
      }
    
      #card-1, #card-2, #card-3 {
        animation: mobileSubtleShake 4s ease-in-out infinite;
        font-size: 18px;
      }
      #card-4 {      
        font-size: 18px;
      }
      .pulse-indicator {
        width: 30px;
        height: 30px;
        left: 0;
      }
    }

    @keyframes mobileSubtleShake {
      0%, 85%, 100% { margin-left: 0; margin-right: 0; }
      87%, 93%, 99% { margin-left: -2px; margin-right: 2px; }
      90%, 96% { margin-left: 2px; margin-right: -2px; }
    }

.page-banner-title {font-size: 56px;}
.page-banner-subtitle {font-size: 56px; line-height: 1.1;}
.page-banner-text {font-size: 36px; font-weight: 500;}
.page-banner .button-title {font-size: 30px;}
.page-banner .button-big {
    backdrop-filter: blur(5px);
}
.page-banner-plate {max-width: 659px;}





.best-offer .best-offer-title {font-size: 38px;}


.futures-card {padding: 40px 15px;}
.futures-card .futures-card-content .futures-card-content-text-title {font-size: 20px;}


.model-card .model-card-title {font-size: 110px; font-weight: 250;}
.adamas .model-card .model-card-title {font-size: 80px; line-height: 80px;}
.model-card .model-card-subtitle {font-size: 28px;}
.adamas .model-card .model-card-subtitle {margin-bottom: 90px;}
.model-card .model-card-price {font-size: 48px;}

.model-color-name {font-size: 24px;}

.model-color {
    width: 50px;
    height: 50px;
}
.model-color.active {border: var(--yayellow) 2px solid;}
.model-specs-items {
    display: grid; 
    grid-template-columns: 1fr 0.25fr 1fr 0.25fr 1fr 0.25fr 1fr; 
    gap: 0px 0px; 
}
.model-specs-sep-inner {width: 3px;}
.model-specs-item-text {font-size: 18px;}
.model-specs-item-value {font-size: 48px;}

.model-futures-items {
    /* display: grid;
    grid-template-columns: 1fr repeat(2, 0.5fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 16px;
    grid-row-gap: 16px; */
    height: 470px;
}
.model-futures-items .second {height: 100%;}
.model-futures-item-card  {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 102.7%;
    height: 470px;
}
.model-futures-item-card-title {font-size: 36px; width: 50%;}
.model-futures-item-card-subtitle {font-size: 18px; width: 50%;}
.model-futures-item-card-sep {height: 3px;}
.model-futures-item-card-text {width: 50%;}


.model-futures-card-value {font-size: 42px;}
.model-futures-card-title {font-size: 24px;}
.model-futures-card-text {font-size: 14px;}


.quiz-card-title {font-size: 36px;}
.quiz-card-text {font-size: 18px;}
.quiz-card .button-big {width: 75%;}

#yandex-map {height: 578px;}
.contacts-card {top: calc(50% - 220px); right: -50px; z-index: 1;}
.contacts-card-title {font-size: 32px;}
.contacts-card-phone {font-size: 24px;}
.contacts-card-route {font-size: 18px;}
.contacts-card .button-lg {width: 50%;}

.cis-card-warranty {font-size: 10px;}
.cis-card-count {
    font-size: 8px;
    padding: 2px 6px;
}
.cis-card-count span {font-size: 12px;}
.cis-card-title {font-size: 18px;}
.cis-card-price {font-size: 10px;}
.cis-card-price span {font-size: 18px;}


.model-premium-card-title {font-size: 36px; width: 100%;}
.model-premium-card-sep {height: 3px;}
.model-premium-card-text {width: 100%;}

.remodal-overlay {
    background: rgba(0, 0, 0, .4);

}

.remodal {
    border-radius: 12px;
}

.remodal-close,
.remodal-close:before {
    top: 10px;
    left: unset;
    right: 10px;
}

.cookie {display: none;}

.swiper-nav {
    width: 91px;
    height: 91px;
    top: calc(50% - 45.5px);
    z-index: 1;
}
.swiper-next {right: -91px;}
.swiper-prev {left: -91px;}



/* ADAPTIVE */
@media (max-width: 1399.98px) {
}

@media (max-width: 1365.98px) {
}

@media (max-width: 1199.98px) {
}

@media (max-width: 991.98px) {
    .position-lg-absolute {position: initial;}
}

@media (max-width: 768.98px) {
    h1, .h1 {font-size: 24px;}
    .logo {width: 115px; height: auto;}
    .logo-title {font-size: 19px;}
    .logo-text {font-size: 10px;}
    /* .page-banner {
        height: 476px;
        background-image: url(../images/banner-m-06-2026.jpg);
    } */
    .page-banner-title {font-size: 26px;}
    .page-banner-subtitle {font-size: 26px;}
    .page-banner-text {font-size: 24px;}
    .page-banner .button-title {font-size: 22px;}

    .page-banner-plate {width: 340px;}

    .best-offer .best-offer-title {font-size: 24px;}

    .color-nav {transform: rotate(-90deg);}

    .model-specs-items {
        display: grid;
        grid-template-columns: 1fr 0.25fr 1fr;
        grid-template-rows: repeat(2, 1fr);
        grid-column-gap: 0px;
        grid-row-gap: 0px;
    }
    .model-specs-item-text {font-size: 14px;}
    .model-specs-item-value {font-size: 32px;}
    .model-futures-items {height: unset;}
    .model-futures-item-card {height: 330px;}
    .model-futures-items .second {height: unset;}
    .model-futures-item-card-title {font-size: 24px; width: 100%;}
    .model-futures-item-card-subtitle {font-size: 18px; width: 100%;}
    .model-futures-item-card-text {font-size: 14px; width: 100%;}

    .model-premium-card-title {font-size: 24px; width: 100%;}
    .model-premium-card-text {font-size:14px; width: 100%;}
        
    .model-futures-item-card.second {height: 140px !important; }
    .contacts-card .button-lg {width: 100%;}
    .quiz-card-title {font-size: 24px;}
    .quiz-card-text {font-size: 16px;}
    .quiz-card .button-big {width: 100%;}
    
}

@media (max-width: 575.98px) {
}

@media (max-width: 479.98px) {
    .model-card .model-card-title {font-size: 105px; font-weight: 250;}
    .adamas .model-card .model-card-title {font-size: 68px; line-height: 75px;}
    .adamas .model-card .model-card-subtitle {margin-bottom: 20px;}
    .model-card .model-card-subtitle {font-size: 28px;}
    .model-card .model-card-price {font-size: 46px;}
}

@media (max-width: 407.98px) {
}

@media (max-width: 404.98px) {
    .model-card .model-card-title {font-size: 90px; font-weight: 250;}
    .model-card .model-card-subtitle {font-size: 26px;}
    .model-card .model-card-price {font-size: 41px;}
}

@media (max-width: 379.98px) {
    .logo {width: 105px; height: auto;}
    .page-banner-title {font-size: 22px;}
    .page-banner-subtitle {font-size: 22px;}
    .page-banner-text {font-size: 22px;}

    .model-card .model-card-title {font-size: 90px; font-weight: 250;}
    .model-card .model-card-subtitle {font-size: 25px;}
    .model-card .model-card-price {font-size: 39px;}
}

@media (max-width: 339.98px) {
    .logo {width: 75px; height: auto;}

    .model-card .model-card-title {font-size: 75px; font-weight: 250;}
    .model-card .model-card-subtitle {font-size: 22px;}
    .model-card .model-card-price {font-size: 33px;}
}