* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #080808;
    color: #ffffff;
    font-family: Arial, sans-serif;
}

button,
a {
    font: inherit;
}

button {
    color: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

.header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    height: 80px;
    background: rgba(8, 8, 8, 0.92);
    border-bottom: 1px solid #242424;
    backdrop-filter: blur(15px);
}

.header-container {
    width: calc(100% - 80px);
    max-width: 1400px;
    height: 100%;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-logo {
    display: flex;
    align-items: center;
    height: 45px;
}

.header-logo img {
    filter: brightness(0) invert(1);
}

.header-logo img {
    display: block;
    max-width: 220px;
    height: 100%;
    object-fit: contain;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.language-button,
.theme-button {
    height: 46px;
    background: #111111;
    border: 1px solid #292929;
    border-radius: 5px;
    cursor: pointer;
    border-color: #76b900;

    transition: 0.2s ease;
}

.language-button:hover,
.theme-button:hover {
    background: #181818;
    border-color: #76b900;
    box-shadow: inset 0 0 0 1px rgba(118,185,0,.5);
}

.language-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 15px;
}

.language-button i {
    font-size: 18px;
}

.language-button span {
    font-size: 14px;
    font-weight: 600;
}

.theme-button {
    width: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.theme-button i {
    font-size: 20px;
}

.contact-button {
    font-family: "Oswald", sans-serif;
    height: 46px;
    padding: 0 21px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    background: #76b900;
    border: 1px solid #76b900;
    border-radius: 5px;

    color: #080808;
    font-size: 16px;
    font-weight: 700;

    transition: 0.2s ease;
}

.contact-button:hover {
    background: #8bd300;
    border-color: #8bd300;
    box-shadow: 0 0 25px rgba(118, 185, 0, 0.25);
}

.contact-button img {
    width: 16px;
    height: 16px;
    filter: brightness(0);
    transition: .2s;
}

/* Светлая тема */

body.light-theme {
    background: #f5f5f5;
    color: #111111;
}

body.light-theme .header {
    background: rgba(255, 255, 255, 0.92);
    border-bottom-color: #dddddd;
}

body.light-theme .language-button,
body.light-theme .theme-button {
    background: #ffffff;
    border-color: #d7d7d7;
}

/* Телефон */

@media (max-width: 700px) {
    .header {
        height: 68px;
    }

    .header-container {
        width: calc(100% - 28px);
    }

    .header-logo {
        height: 36px;
    }

    .header-logo img {
        max-width: 145px;
    }

    .language-button {
        padding: 0 11px;
    }

    .language-button .ri-global-line {
        display: none;
    }

    .contact-button {
        width: 46px;
        padding: 0;
    }

    .contact-button span {
        display: none;
    }
}

@media (max-width: 430px) {
    .language-button {
        display: none;
    }
}











* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #080808;
    color: #ffffff;
    font-family: Arial, sans-serif;
}

button,
a {
    font: inherit;
}

button {
    color: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

.header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    height: 80px;
    background: rgba(8, 8, 8, 0.92);
    border-bottom: 1px solid #242424;
    backdrop-filter: blur(15px);
}

.header-container {
    width: calc(100% - 80px);
    max-width: 1400px;
    height: 100%;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-logo {
    display: flex;
    align-items: center;
    height: 45px;
}

.header-logo img {
    filter: brightness(0) invert(1);
}

.header-logo img {
    display: block;
    max-width: 220px;
    height: 100%;
    object-fit: contain;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.language-button,
.theme-button {
    height: 46px;
    background: #111111;
    border: 1px solid #292929;
    border-radius: 5px;
    cursor: pointer;
    border-color: #76b900;

    transition: 0.2s ease;
}

.language-button:hover,
.theme-button:hover {
    background: #181818;
    border-color: #76b900;
    box-shadow: inset 0 0 0 1px rgba(118,185,0,.5);
}

.language-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 15px;
}

.language-button i {
    font-size: 18px;
}

.language-button span {
    font-size: 14px;
    font-weight: 600;
}

.theme-button {
    width: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.theme-button i {
    font-size: 20px;
}

.contact-button {
    font-family: "Oswald", sans-serif;
    height: 46px;
    padding: 0 21px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    background: #76b900;
    border: 1px solid #76b900;
    border-radius: 5px;

    color: #080808;
    font-size: 16px;
    font-weight: 700;

    transition: 0.2s ease;
}

.contact-button:hover {
    background: #8bd300;
    border-color: #8bd300;
    box-shadow: 0 0 25px rgba(118, 185, 0, 0.25);
}

.contact-button img {
    width: 16px;
    height: 16px;
    filter: brightness(0);
    transition: .2s;
}

/* Светлая тема */

body.light-theme {
    background: #f5f5f5;
    color: #111111;
}

body.light-theme .header {
    background: rgba(255, 255, 255, 0.92);
    border-bottom-color: #dddddd;
}

body.light-theme .language-button,
body.light-theme .theme-button {
    background: #ffffff;
    border-color: #d7d7d7;
}

/* Телефон */

@media (max-width: 700px) {
    .header {
        height: 68px;
    }

    .header-container {
        width: calc(100% - 28px);
    }

    .header-logo {
        height: 36px;
    }

    .header-logo img {
        max-width: 145px;
    }

    .language-button {
        padding: 0 11px;
    }

    .language-button .ri-global-line {
        display: none;
    }

    .contact-button {
        width: 46px;
        padding: 0;
    }

    .contact-button span {
        display: none;
    }
}

@media (max-width: 430px) {
    .language-button {
        display: none;
    }
}



.contact-menu{
    position:relative;
}

.contact-button{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;

    min-height:42px;
    padding:0 18px;

    color:#080808;

    font-family:inherit;
    font-size:14px;
    font-weight:700;

    background:#76b900;

    border:1px solid #76b900;
    border-radius:10px;

    cursor:pointer;

    transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.contact-button:hover{
    background:#86cf00;
    border-color:#86cf00;

    box-shadow:0 0 22px rgba(118,185,0,.22);
}

.contact-arrow{
    font-size:18px;

    transition:transform .2s ease;
}

.contact-menu.is-open .contact-arrow{
    transform:rotate(180deg);
}

/* Выпадающий блок */

.contact-dropdown{
    position:absolute;
    z-index:100;

    top:calc(100% + 12px);
    right:0;

    width:270px;
    padding:8px;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    background:rgba(13,13,13,.98);

    border:1px solid #2a2a2a;
    border-radius:16px;

    box-shadow:0 20px 55px rgba(0,0,0,.45);

    transform:translateY(-6px);

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

.contact-menu.is-open .contact-dropdown{
    opacity:1;
    visibility:visible;
    pointer-events:auto;

    transform:translateY(0);
}

/* Стрелка сверху */

.contact-dropdown::before{
    content:"";

    position:absolute;

    top:-6px;
    right:23px;

    width:11px;
    height:11px;

    background:#0d0d0d;

    border-top:1px solid #2a2a2a;
    border-left:1px solid #2a2a2a;

    transform:rotate(45deg);
}

/* Пункты */

.contact-dropdown-item{
    position:relative;
    z-index:1;

    display:flex;
    align-items:center;
    gap:12px;

    padding:12px;

    color:#ffffff;
    text-decoration:none;

    border:1px solid transparent;
    border-radius:11px;

    transition:
        background .2s ease,
        border-color .2s ease;
}

.contact-dropdown-item:hover{
    background:#181818;
    border-color:#303030;
}

.contact-dropdown-item + .contact-dropdown-item{
    margin-top:5px;
}

.contact-dropdown-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:40px;
    height:40px;

    flex-shrink:0;

    color:#76b900;

    font-size:20px;

    background:rgba(118,185,0,.1);

    border:1px solid rgba(118,185,0,.2);
    border-radius:10px;
}

.contact-dropdown-text{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.contact-dropdown-text small{
    color:#888888;

    font-size:11px;
    font-weight:500;
}

.contact-dropdown-text strong{
    color:#ffffff;

    font-size:14px;
    font-weight:600;
}

.contact-dropdown-whatsapp .contact-dropdown-icon{
    color:#76b900;
}

/* Телефон */

@media(max-width:600px){

    .contact-button{
        min-height:40px;
        padding:0 13px;
    }

    .contact-button span{
        display:none;
    }

    .contact-arrow{
        display:none;
    }

    .contact-button::before{
        content:"\EEB2";

        font-family:"remixicon";
        font-size:20px;
    }

    .contact-dropdown{
        position:fixed;

        top:72px;
        right:14px;
        left:14px;

        width:auto;
    }

    .contact-dropdown::before{
        display:none;
    }
}





















.hero{
    position:relative;
    min-height:calc(100vh - 80px);
    padding:30px 24px;
    overflow:hidden;
    background:#080808;
}

.hero-container{
    position:relative;
    width:100%;
    max-width:1400px;
    height:100%;
    margin:auto;
    text-align:center;
    z-index:2;
}

.hero-logo,
.hero h1,
.hero-work,
.hero-cards{
    position:relative;
    z-index:5;
}

.hero-logo{
    width:190px;
    display:block;
    margin:0 auto 18px;
    filter:brightness(0) invert(1);
}

.hero h1{
    margin:0;
    color:#fff;
    font-size:clamp(42px,4vw,58px);
    font-weight:800;
    line-height:1;
    letter-spacing:-2px;
}

.hero h1 span{
    display:block;
    margin-top:8px;
    color:#76b900;
}

.hero-work{
    margin-top:15px;
    color:#bdbdbd;
    font-size:17px;
}

.hero-work span{
    color:#76b900;
    font-weight:700;
    margin-right:6px;
}

/* ---------- БОЛЬШОЕ ФОТО ---------- */

.hero-image{
    position:absolute;
    top:60%;
    left:50%;
    transform:translate(-50%,-50%);
    width:100%;
    pointer-events:none;
    z-index:1;
}

.hero-image img{
    display:block;
    width:100%;
    max-width:1350px;
    margin:auto;
    object-fit:contain;
}

/* ---------- КАРТОЧКИ ---------- */

.hero-cards{
    margin-top:360px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.hero-card{
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px 20px;
    background:rgba(16,16,16,.94);
    border:1px solid #2d2d2d;
    border-radius:18px;
    transition:.25s;
    backdrop-filter:blur(12px);
}

.hero-card:hover{
    border-color:#76b900;
    background:#151515;
}

.hero-icon{
    flex:0 0 52px;
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #76b900;
    border-radius:14px;
    color:#76b900;
    font-size:26px;
}

.hero-card h3{
    margin:0 0 5px;
    color:#fff;
    font-size:17px;
    text-align:left;
}

.hero-card p{
    margin:0;
    color:#989898;
    font-size:13px;
    text-align:left;
}

@media(max-width:1000px){

.hero{
    min-height:auto;
    padding:40px 18px;
}

.hero-logo{
    width:170px;
}

.hero h1{
    font-size:42px;
}

.hero-image{
    position:relative;
    top:auto;
    left:auto;
    transform:none;
    margin:20px 0;
}

.hero-image img{
    max-width:100%;
}

.hero-cards{
    margin-top:0;
    grid-template-columns:1fr;
}

}

.hero{
    position:relative;
    min-height:calc(100vh - 80px);
    padding:30px 24px;
    overflow:hidden;
    background:#080808;

    isolation:isolate;
}

/* Тонкая технологичная сетка */

.hero::before{
    content:"";

    position:absolute;
    inset:0;
    z-index:0;

    pointer-events:none;

    background-image:
        linear-gradient(
            rgba(255,255,255,.07) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:72px 72px;

    opacity:.9;

    mask-image:linear-gradient(
        to bottom,
        rgba(0,0,0,1),
        rgba(0,0,0,.65) 65%,
        transparent 100%
    );

    -webkit-mask-image:linear-gradient(
        to bottom,
        rgba(0,0,0,1),
        rgba(0,0,0,.65) 65%,
        transparent 100%
    );
}

/* Диагональные фирменные линии */

.hero::after{
    content:"";

    position:absolute;
    z-index:0;

    top:-70px;
    right:-40px;

    width:620px;
    height:470px;

    pointer-events:none;

    background:
        linear-gradient(
            128deg,
            transparent 0 37%,
            rgba(118,185,0,.55) 37% 37.45%,
            transparent 37.45% 44%,
            rgba(255,255,255,.16) 44% 44.3%,
            transparent 44.3% 51%,
            rgba(118,185,0,.32) 51% 51.4%,
            transparent 51.4% 58%,
            rgba(118,185,0,.13) 58% 58.3%,
            transparent 58.3%
        );

    opacity:.95;

    mask-image:linear-gradient(
        to bottom,
        #000 0%,
        #000 58%,
        transparent 92%
    );

    -webkit-mask-image:linear-gradient(
        to bottom,
        #000 0%,
        #000 58%,
        transparent 92%
    );
}

.hero-decor-line{
    height:1px;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(118,185,0,.95),
        rgba(118,185,0,.38),
        transparent
    );

    box-shadow:0 0 10px rgba(118,185,0,.18);
}












.services{
    padding:70px 20px;
    background:#080808;
}

.section-title{
    text-align:center;
    margin-bottom:35px;
}

.section-title span{
    color:#76b900;
    font-size:11px;
    letter-spacing:3px;
    font-weight:700;
}

.section-title h2{
    margin-top:8px;
    font-size:38px;
    color:#fff;
}

.section-title p{
    margin-top:8px;
    color:#8e8e8e;
    font-size:15px;
}

.services-grid{
    max-width:1250px;
    margin:auto;
    display:grid;
    grid-template-columns:1.8fr 1fr 1fr;
    gap:16px;
}

.service-card{
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:24px;
    border-radius:18px;
    background:#111111;
    border:1px solid #2c2c2c;

    transition:
        border-color .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}

.service-card:hover{
    border-color:#76b900;
    background:#131313;
    box-shadow:
        inset 0 0 0 1px rgba(118,185,0,.10),
        0 0 28px rgba(118,185,0,.10);
}

.service-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(
        circle at top right,
        rgba(118,185,0,.15),
        transparent 45%
    );
    opacity:0;
    transition:opacity .3s ease;
    pointer-events:none;
}

.service-card:hover::before{
    opacity:1;
}

.service-card > *{
    position:relative;
    z-index:3;
}

.service-card > i:first-child{
    font-size:42px;
    color:#76b900;
}

.service-card h3{
    margin-top:18px;
    color:#fff;
    font-size:22px;
    line-height:1.2;
}

.service-card p{
    margin-top:8px;
    color:#909090;
    font-size:14px;
    line-height:1.5;
}

.service-arrow{
    position:absolute;
    top:22px;
    right:22px;
    color:#fff;
    font-size:22px;

    transition:
        color .3s ease,
        opacity .3s ease;
}

.service-card:hover .service-arrow{
    color:#76b900;
}

/* Большая карточка ноутбука */

.service-large{
    grid-row:span 2;
    min-height:390px;
    justify-content:flex-end;
    border-color:rgba(118,185,0,.55);

    background:
        radial-gradient(
            circle at 78% 68%,
            rgba(118,185,0,.14),
            transparent 52%
        ),
        linear-gradient(
            145deg,
            rgba(118,185,0,.08),
            transparent 45%
        ),
        #111111;

    box-shadow:
        inset 0 0 0 1px rgba(118,185,0,.07),
        0 0 30px rgba(118,185,0,.08);
}

.service-large::before{
    opacity:1;
    background:radial-gradient(
        circle at 82% 22%,
        rgba(118,185,0,.12),
        transparent 48%
    );
}

.service-large::after{
    content:"";
    position:absolute;
    right:-130px;
    bottom:-160px;
    width:500px;
    height:500px;
    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(118,185,0,.42),
        rgba(118,185,0,.14) 42%,
        transparent 72%
    );

    filter:blur(18px);
    pointer-events:none;
    z-index:1;

    transition:
        opacity .35s ease,
        filter .35s ease;
}

/* Ноутбук постоянно яркий */

.service-large img{
    position:absolute;
    right:-55px;
    bottom:-15px;
    width:112%;
    max-width:630px;
    object-fit:contain;
    pointer-events:none;
    z-index:2;

    transform:
        scale(1.07)
        rotate(-1deg);

    filter:
        brightness(1.12)
        saturate(1.16)
        drop-shadow(0 0 24px rgba(118,185,0,.46))
        drop-shadow(0 0 68px rgba(118,185,0,.28));

    transition:
        transform .4s ease,
        filter .4s ease;
}

/* Hover большой карточки без поднятия */

.service-large:hover{
    border-color:#76b900;

    background:
        radial-gradient(
            circle at 78% 68%,
            rgba(118,185,0,.19),
            transparent 52%
        ),
        linear-gradient(
            145deg,
            rgba(118,185,0,.11),
            transparent 45%
        ),
        #121212;

    box-shadow:
        inset 0 0 0 1px rgba(118,185,0,.14),
        0 0 45px rgba(118,185,0,.15);
}

.service-large:hover::before{
    opacity:1;
}

.service-large:hover::after{
    filter:blur(14px);
}

.service-large:hover img{
    transform:
        scale(1.1)
        rotate(-1.5deg);

    filter:
        brightness(1.18)
        saturate(1.22)
        drop-shadow(0 0 34px rgba(118,185,0,.62))
        drop-shadow(0 0 92px rgba(118,185,0,.38));
}

@media(max-width:1000px){

    .services{
        padding:55px 18px;
    }

    .services-grid{
        grid-template-columns:1fr;
    }

    .service-large{
        min-height:320px;
    }

    .service-large img{
        right:-35px;
        width:78%;
    }

    .section-title h2{
        font-size:32px;
    }
}

@media(max-width:600px){

    .services{
        padding:45px 14px;
    }

    .section-title{
        margin-bottom:28px;
    }

    .section-title h2{
        font-size:28px;
    }

    .section-title p{
        font-size:14px;
    }

    .service-card{
        padding:20px;
        border-radius:15px;
    }

    .service-large{
        min-height:300px;
    }

    .service-large img{
        right:-75px;
        bottom:-5px;
        width:125%;
    }

    .service-card h3{
        font-size:20px;
    }

    .service-card > i:first-child{
        font-size:38px;
    }
}




















.contact{
    padding:80px 20px;
    background:#080808;
}

.contact-title{
    text-align:center;
    margin-bottom:40px;
}

.contact-title span{
    color:#76b900;
    font-size:12px;
    font-weight:700;
    letter-spacing:3px;
}

.contact-title h2{
    margin-top:10px;
    font-size:40px;
    color:#fff;
}

.contact-title p{
    max-width:600px;
    margin:12px auto 0;
    color:#8b8b8b;
    line-height:1.6;
}

.contact-grid{

    max-width:1200px;
    margin:auto;

    display:grid;
    grid-template-columns:1fr 1fr 1.3fr;

    gap:18px;

}

.contact-card{

    display:flex;
    align-items:center;
    gap:20px;

    padding:28px;

    text-decoration:none;

    background:#111111;

    border:1px solid #2c2c2c;

    border-radius:20px;

    transition:
        border-color .3s,
        box-shadow .3s,
        background .3s;

}

.contact-card:hover{

    border-color:#76b900;

    background:#141414;

    box-shadow:
        inset 0 0 0 1px rgba(118,185,0,.10),
        0 0 30px rgba(118,185,0,.08);

}

.contact-card i{

    font-size:34px;

    color:#76b900;

    flex-shrink:0;

}

.contact-card small{

    color:#8b8b8b;

    display:block;

    margin-bottom:8px;

    font-size:13px;

}

.contact-card h3{

    color:#fff;

    font-size:22px;

    font-weight:600;

}

.contact-card p{

    margin-top:8px;

    color:#8b8b8b;

    font-size:14px;

}

.whatsapp{

    background:
        radial-gradient(circle at right,
        rgba(118,185,0,.10),
        transparent 60%),
        #111111;

}

.whatsapp:hover{

    background:
        radial-gradient(circle at right,
        rgba(118,185,0,.18),
        transparent 60%),
        #141414;

}

.whatsapp i{

    font-size:42px;

}

@media(max-width:950px){

.contact-grid{

    grid-template-columns:1fr;

}

.contact-card{

    padding:24px;

}

.contact-title h2{

    font-size:34px;

}

}













.agreement-section {
    padding: 90px 20px;
    background: #080808;
}

.agreement-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 520px;
    gap: 40px;
    align-items: center;
}

.agreement-content {
    max-width: 620px;
}

.agreement-label {
    display: block;
    margin-bottom: 14px;

    color: #76b900;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
}

.agreement-title {
    margin: 0;

    color: #ffffff;

    font-family: "Oswald", sans-serif;
    font-size: clamp(56px, 7vw, 92px);
    font-weight: 500;
    line-height: 0.92;
    letter-spacing: -3px;
    text-transform: uppercase;
}

.agreement-text {
    max-width: 520px;
    margin-top: 26px;

    color: #8f8f8f;

    font-size: 16px;
    line-height: 1.75;
}

.agreement-visual {
    position: relative;
    overflow: hidden;

    height: 520px;

    background: #101010;

    border: 1px solid #242424;
    border-radius: 22px;
}

.agreement-visual img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
    filter: grayscale(100%) brightness(0.7) contrast(1.05);
}

.agreement-line {
    position: absolute;
    left: 0;
    top: 0;

    width: 4px;
    height: 100%;

    background: #76b900;
}

.agreement-steps {
    grid-column: 1 / -1;

    margin-top: 22px;
    padding-top: 24px;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;

    border-top: 1px solid #242424;
}

.agreement-step {
    padding-top: 6px;
}

.agreement-step span {
    display: block;
    margin-bottom: 8px;

    color: #76b900;

    font-family: "Oswald", sans-serif;
    font-size: 38px;
    line-height: 1;
}

.agreement-step p {
    margin: 0;

    color: #d6d6d6;

    font-size: 15px;
    font-weight: 500;
}

/* Планшет */

@media (max-width: 1000px) {
    .agreement-container {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .agreement-content {
        max-width: 100%;
    }

    .agreement-visual {
        height: 420px;
    }

    .agreement-steps {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Телефон */

@media (max-width: 650px) {
    .agreement-section {
        padding: 65px 14px;
    }

    .agreement-title {
        font-size: 52px;
        letter-spacing: -2px;
    }

    .agreement-text {
        margin-top: 18px;
        font-size: 14px;
    }

    .agreement-visual {
        height: 300px;
        border-radius: 18px;
    }

    .agreement-steps {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .agreement-step span {
        font-size: 24px;
    }

    .agreement-step p {
        font-size: 14px;
    }
}















.partners-section{
    padding:75px 20px;

    background:#080808;

    border-top:1px solid #202020;
}

.partners-container{
    width:100%;
    max-width:1240px;

    margin:0 auto;
}

.partners-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;

    margin-bottom:34px;
}

.partners-heading span{
    color:#76b900;

    font-size:11px;
    font-weight:700;
    letter-spacing:3px;
}

.partners-heading h2{
    margin:0;

    color:#ffffff;

    font-family:"Oswald",sans-serif;
    font-size:clamp(32px,4vw,46px);
    font-weight:500;
    line-height:1;
    letter-spacing:-1px;
}

.partners-logos{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));

    border-top:1px solid #292929;
    border-bottom:1px solid #292929;
}

.partner-logo{
    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;

    min-height:170px;
    padding:32px;

    border-right:1px solid #292929;
}

.partner-logo:last-child{
    border-right:0;
}

.partner-logo::after{
    content:"";

    position:absolute;

    right:22px;
    bottom:18px;

    width:5px;
    height:5px;

    background:#333333;
    border-radius:50%;

    transition:
        background .2s ease,
        box-shadow .2s ease;
}

.partner-logo:hover::after{
    background:#76b900;

    box-shadow:0 0 12px rgba(118,185,0,.55);
}

.partner-logo img{
    display:block;

    width:auto;
    max-width:180px;
    max-height:72px;

    object-fit:contain;

    opacity:.62;

    filter:grayscale(1) brightness(1.6);

    transition:
        opacity .25s ease,
        filter .25s ease;
}

.partner-logo:hover img{
    opacity:1;

    filter:grayscale(0) brightness(1);
}

@media(max-width:700px){

    .partners-section{
        padding:55px 14px;
    }

    .partners-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;

        margin-bottom:25px;
    }

    .partners-logos{
        grid-template-columns:1fr;
    }

    .partner-logo{
        min-height:130px;

        border-right:0;
        border-bottom:1px solid #292929;
    }

    .partner-logo:last-child{
        border-bottom:0;
    }

    .partner-logo img{
        max-width:165px;
        max-height:65px;
    }
}



















/* ============================================================
   AGGREGATOR MAP — ФИНАЛЬНАЯ ВЕРСИЯ
   ОДИНАКОВЫЕ МАРКЕРЫ И БАЛУНЫ
============================================================ */


/* ============================================================
   СЕКЦИЯ
============================================================ */

.map-section{
    padding:65px 20px;
    background:#080808;
}

.map-heading{
    width:100%;
    max-width:1180px;

    margin:0 auto 28px;
}

.map-heading > span{
    display:block;

    margin-bottom:10px;

    color:#76b900;

    font-size:11px;
    font-weight:700;
    letter-spacing:3px;
}

.map-heading h2{
    margin:0;

    color:#ffffff;

    font-size:clamp(32px,4vw,46px);
    font-weight:600;
    line-height:1.05;
    letter-spacing:-1.5px;
}

.map-heading p{
    max-width:680px;

    margin:14px 0 0;

    color:#929292;

    font-size:15px;
    line-height:1.65;
}


/* ============================================================
   ОБЁРТКА КАРТЫ
============================================================ */

.map-wrapper{
    position:relative;

    width:100%;
    max-width:1180px;
    height:480px;

    margin:0 auto;

    overflow:hidden;

    background:#111111;

    border:1px solid #292929;
    border-radius:22px;
}

#aggregator-map{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    background:#111111;
}

#aggregator-map .ymaps-2-1-79-ground-pane{
    filter:
        grayscale(.78)
        brightness(.82)
        contrast(1.06);
}


/* ============================================================
   ИНФОРМАЦИОННЫЙ БЛОК
============================================================ */

.map-info{
    position:absolute;
    z-index:10;

    top:50%;
    left:28px;

    width:300px;

    padding:22px;

    transform:translateY(-50%);

    background:rgba(12,12,12,.97);

    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;

    box-shadow:0 18px 50px rgba(0,0,0,.42);
}

.map-info::before{
    content:"";

    position:absolute;

    top:22px;
    left:0;

    width:3px;
    height:40px;

    background:#76b900;

    border-radius:0 4px 4px 0;

    box-shadow:0 0 16px rgba(118,185,0,.4);
}

.map-info-label{
    margin-bottom:13px;

    color:#76b900;

    font-size:10px;
    font-weight:800;
    letter-spacing:3px;
}

.map-info h3{
    margin:0;

    color:#ffffff;

    font-size:26px;
    font-weight:600;
    line-height:1.08;
    letter-spacing:-1px;
}

.map-info > p{
    margin:10px 0 0;

    color:#999999;

    font-size:13px;
    line-height:1.55;
}


/* ============================================================
   ЛЕГЕНДА
============================================================ */

.map-legend{
    display:flex;
    flex-direction:column;
    gap:11px;

    margin-top:16px;
    padding-top:16px;

    border-top:1px solid #292929;
}

.map-legend > div{
    display:flex;
    align-items:center;
    gap:10px;
}

.map-legend-dot{
    display:block;

    width:10px;
    height:10px;

    flex-shrink:0;

    border-radius:50%;
}

.map-legend-aggregator{
    background:#76b900;

    box-shadow:
        0 0 10px rgba(118,185,0,.6);
}

.map-legend-partner{
    background:#ffffff;

    border:2px solid #76b900;
}

.map-legend > div > div{
    display:flex;
    flex-direction:column;
    gap:1px;
}

.map-legend strong{
    color:#ffffff;

    font-size:12px;
    font-weight:600;
}

.map-legend small{
    color:#777777;

    font-size:9px;
}


/* ============================================================
   ОСОБЕННОСТИ
============================================================ */

.map-features{
    display:flex;
    flex-direction:column;
    gap:8px;

    margin-top:15px;
    padding-top:15px;

    border-top:1px solid #292929;
}

.map-features div{
    display:flex;
    align-items:center;
    gap:9px;

    color:#dedede;

    font-size:12px;
}

.map-features div > span{
    width:6px;
    height:6px;

    flex-shrink:0;

    background:#76b900;
    border-radius:50%;

    box-shadow:
        0 0 8px rgba(118,185,0,.75),
        0 0 15px rgba(118,185,0,.3);
}


/* ============================================================
   WHATSAPP
============================================================ */

.map-whatsapp{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    width:100%;

    margin-top:17px;
    padding:12px 14px;

    color:#080808;

    font-size:13px;
    font-weight:700;
    text-decoration:none;

    background:#76b900;

    border:1px solid #76b900;
    border-radius:10px;

    transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.map-whatsapp:hover{
    background:#86cf00;
    border-color:#86cf00;

    box-shadow:
        0 0 24px rgba(118,185,0,.23);
}

.map-whatsapp i{
    font-size:18px;
}


/* ============================================================
   ВСЕ МАРКЕРЫ — ОДИНАКОВЫЙ РАЗМЕР
============================================================ */

#aggregator-map .map-service-marker,
#aggregator-map .map-service-marker--aggregator,
#aggregator-map .map-service-marker--nbn,
#aggregator-map .map-service-marker--smart,
#aggregator-map .map-service-marker--mobdok,
#aggregator-map .map-service-marker--partner{
    position:relative;

    width:54px !important;
    height:54px !important;

    cursor:pointer;

    transform:none !important;
    transform-origin:center center;
}


/* Пульсация одинаковая */

#aggregator-map .map-service-marker__pulse,
#aggregator-map
.map-service-marker--aggregator
.map-service-marker__pulse,
#aggregator-map
.map-service-marker--nbn
.map-service-marker__pulse,
#aggregator-map
.map-service-marker--smart
.map-service-marker__pulse,
#aggregator-map
.map-service-marker--mobdok
.map-service-marker__pulse{
    position:absolute;

    inset:0 !important;

    width:54px !important;
    height:54px !important;

    border:1px solid rgba(118,185,0,.65);
    border-radius:50% !important;

    animation:map-marker-pulse 2.2s ease-out infinite;
}


/* Корпус одинаковый */

#aggregator-map .map-service-marker__body,
#aggregator-map
.map-service-marker--aggregator
.map-service-marker__body,
#aggregator-map
.map-service-marker--nbn
.map-service-marker__body,
#aggregator-map
.map-service-marker--smart
.map-service-marker__body,
#aggregator-map
.map-service-marker--mobdok
.map-service-marker__body,
#aggregator-map
.map-service-marker--partner
.map-service-marker__body{
    position:absolute;

    top:4px !important;
    right:4px !important;
    bottom:4px !important;
    left:4px !important;

    display:flex;
    align-items:center;
    justify-content:center;

    width:46px !important;
    height:46px !important;

    padding:0 !important;

    overflow:hidden;

    background:#0d0d0d;

    border:2px solid #76b900;
    border-radius:50% !important;

    box-shadow:
        0 0 0 2px rgba(0,0,0,.52),
        0 0 15px rgba(118,185,0,.42);

    box-sizing:border-box;
}


/* Партнёрские круги */

#aggregator-map
.map-service-marker--nbn
.map-service-marker__body,

#aggregator-map
.map-service-marker--smart
.map-service-marker__body,

#aggregator-map
.map-service-marker--mobdok
.map-service-marker__body{
    background:#ffffff;
}


/* Общие настройки логотипов */

#aggregator-map .map-service-marker__image{
    display:block;

    width:100%;
    height:100%;

    max-width:none;

    padding:0;

    object-fit:contain;
    object-position:center;

    user-select:none;
    pointer-events:none;
}


/*
 * Логотип Aggregator имеет пустое пространство
 * внутри исходной картинки, поэтому увеличиваем его.
 */

#aggregator-map
.map-service-marker--aggregator
.map-service-marker__logo{
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

#aggregator-map
.map-service-marker--aggregator
.map-service-marker__image{
    width:200% !important;
    height:200% !important;

    object-fit:contain;
    object-position:center center;

    position:absolute;
    top:58%;
    left:49%;

    transform:translate(-50%, -50%) scale(1.15) !important;
}


/* NBN — крупнее внутри круга */

#aggregator-map
.map-service-marker--nbn
.map-service-marker__image{
    width:100% !important;
    height:100% !important;

    transform:scale(1.22) !important;
}


/* Smart Service */

#aggregator-map
.map-service-marker--smart
.map-service-marker__image{
    width:100% !important;
    height:100% !important;

    transform:scale(1.18) !important;
}


/* Mob Dok */

#aggregator-map
.map-service-marker--mobdok
.map-service-marker__image{
    width:100% !important;
    height:100% !important;

    transform:scale(1.12) !important;
}


/* Анимация */

@keyframes map-marker-pulse{
    0%{
        opacity:.75;
        transform:scale(.78);
    }

    100%{
        opacity:0;
        transform:scale(1.24);
    }
}


/* ============================================================
   ПОДСКАЗКА
============================================================ */

.aggregator-hint{
    min-width:190px;

    padding:11px 13px;

    color:#ffffff;

    font-family:Arial,sans-serif;

    background:#111111;

    border:1px solid #303030;
    border-radius:10px;

    box-shadow:
        0 12px 35px rgba(0,0,0,.48);
}

.aggregator-hint strong{
    display:block;

    margin-bottom:4px;

    color:#76b900;

    font-size:13px;
    font-weight:700;
}

.aggregator-hint span{
    display:block;

    color:#d0d0d0;

    font-size:12px;
}


/* ============================================================
   ОДИНАКОВЫЕ БАЛУНЫ
============================================================ */

#aggregator-map
.ymaps-2-1-79-balloon__layout,

#aggregator-map
.ymaps-2-1-79-balloon__content{
    color:#ffffff;
    background:#111111;
}

#aggregator-map
.ymaps-2-1-79-balloon__layout{
    overflow:hidden;

    border-radius:15px;
}

#aggregator-map
.ymaps-2-1-79-balloon__content{
    width:260px !important;
    max-width:260px !important;

    margin-right:0 !important;
    padding:16px 18px !important;

    font-family:Arial,sans-serif;

    box-sizing:border-box;
}

#aggregator-map
.ymaps-2-1-79-balloon__content > ymaps{
    width:100% !important;
    max-width:100% !important;
}

#aggregator-map
.ymaps-2-1-79-balloon__tail::after{
    background:#111111;
}

#aggregator-map
.ymaps-2-1-79-balloon__close-button{
    width:36px;
    height:36px;

    filter:invert(1);

    opacity:.78;
}


/* Внутренний балун */

.map-balloon{
    width:224px !important;
    min-width:224px !important;
    max-width:224px !important;

    color:#ffffff;

    box-sizing:border-box;
}


/* Верх балуна */

.map-balloon-brand{
    display:flex;
    align-items:center;
    gap:11px;

    min-width:0;

    padding-bottom:13px;

    border-bottom:1px solid #292929;
}

.map-balloon-brand-text{
    display:flex;
    flex-direction:column;
    gap:3px;

    min-width:0;
}


/* Фото у всех одинакового размера */

.map-balloon-brand-logo,
.map-balloon-brand-logo--aggregator,
.map-balloon-brand-logo--nbn,
.map-balloon-brand-logo--smart,
.map-balloon-brand-logo--mobdok{
    display:flex;
    align-items:center;
    justify-content:center;

    width:48px !important;
    height:48px !important;

    flex:0 0 48px !important;

    padding:0;

    overflow:hidden;

    background:#101010;

    border:1px solid #76b900;
    border-radius:50% !important;
}


/* Белый фон партнёров */

.map-balloon-brand-logo--nbn,
.map-balloon-brand-logo--smart,
.map-balloon-brand-logo--mobdok{
    background:#ffffff;
    border-color:#76b900;
}


/* Общая картинка */

.map-balloon-brand-logo img{
    display:block;

    width:100%;
    height:100%;

    max-width:none;

    padding:0;

    object-fit:contain;
    object-position:center;

    user-select:none;
}


/* Aggregator в балуне */

.map-balloon-brand-logo--aggregator img{
    transform:scale(1.45);
}


/* Партнёры немного крупнее */

.map-balloon-brand-logo--nbn img{
    transform:scale(1.22);
}

.map-balloon-brand-logo--smart img{
    transform:scale(1.18);
}

.map-balloon-brand-logo--mobdok img{
    transform:scale(1.12);
}


/* Название */

.map-balloon-brand strong{
    display:block;

    max-width:100%;

    color:#ffffff;

    font-size:14px;
    font-weight:600;
    line-height:1.25;

    overflow-wrap:anywhere;
}

.map-balloon-brand small{
    display:block;

    max-width:100%;

    color:#76b900;

    font-size:9px;
    line-height:1.35;

    overflow-wrap:anywhere;
}


/* Адрес */

.map-balloon-address{
    padding-top:13px;
}

.map-balloon-address > span{
    display:block;

    margin-bottom:5px;

    color:#707070;

    font-size:8px;
    font-weight:700;
    letter-spacing:2px;
}

.map-balloon-address h4{
    margin:0;

    color:#ffffff;

    font-size:15px;
    font-weight:600;
    line-height:1.3;
}

.map-balloon-address p{
    margin:5px 0 0;

    color:#999999;

    font-size:11px;
    line-height:1.45;
}


/* ============================================================
   ЭЛЕМЕНТЫ ЯНДЕКСА
============================================================ */

#aggregator-map
.ymaps-2-1-79-controls__control{
    opacity:.85;
}

#aggregator-map
.ymaps-2-1-79-copyrights-pane{
    opacity:.48;
}


/* ============================================================
   ОШИБКА ЗАГРУЗКИ
============================================================ */

.map-load-error{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:9px;

    width:100%;
    height:100%;
    min-height:300px;

    padding:30px;

    color:#ffffff;
    text-align:center;

    background:#111111;
}

.map-load-error i{
    color:#76b900;

    font-size:34px;
}

.map-load-error strong{
    font-size:16px;
}

.map-load-error p{
    max-width:420px;

    margin:0;

    color:#888888;

    font-size:12px;
    line-height:1.6;
}


/* ============================================================
   ПЛАНШЕТ
============================================================ */

@media(max-width:900px){

    .map-wrapper{
        height:460px;
    }

    .map-info{
        left:20px;

        width:285px;
        padding:20px;
    }

    .map-info h3{
        font-size:24px;
    }
}


/* ============================================================
   ТЕЛЕФОН
============================================================ */

@media(max-width:700px){

    .map-section{
        padding:50px 14px;
    }

    .map-heading{
        margin-bottom:23px;
    }

    .map-heading h2{
        font-size:32px;
    }

    .map-heading p{
        font-size:14px;
    }

    .map-wrapper{
        display:flex;
        flex-direction:column;

        height:auto;

        overflow:visible;

        background:transparent;

        border:0;
        border-radius:0;
    }

    #aggregator-map{
        position:relative;
        inset:auto;

        width:100%;
        height:360px;

        overflow:hidden;

        border:1px solid #292929;
        border-radius:18px;
    }

    #aggregator-map
    .ymaps-2-1-79-ground-pane{
        filter:
            grayscale(.74)
            brightness(.86)
            contrast(1.04);
    }

    .map-info{
        position:relative;

        top:auto;
        left:auto;

        width:100%;

        margin-top:12px;
        padding:20px;

        transform:none;

        background:#111111;

        border-color:#292929;
        border-radius:18px;

        box-shadow:none;
    }

    .map-info h3{
        font-size:25px;
    }


    /*
     * На телефоне все маркеры тоже одинаковые.
     * Уменьшение совсем небольшое.
     */

    #aggregator-map .map-service-marker{
        transform:scale(.92) !important;
        transform-origin:center center;
    }


    /* Подсказка при наведении на телефоне не нужна */

    #aggregator-map .aggregator-hint{
        display:none !important;
    }


    /* Балун на телефоне */

    #aggregator-map
    .ymaps-2-1-79-balloon__content{
        width:auto !important;
        max-width:calc(100vw - 52px) !important;

        padding:14px 15px !important;
    }

    .map-balloon{
        width:min(220px,calc(100vw - 86px)) !important;
        min-width:0 !important;
        max-width:220px !important;
    }

    .map-balloon-brand-logo,
    .map-balloon-brand-logo--aggregator,
    .map-balloon-brand-logo--nbn,
    .map-balloon-brand-logo--smart,
    .map-balloon-brand-logo--mobdok{
        width:44px !important;
        height:44px !important;

        flex-basis:44px !important;
    }

    .map-balloon-brand strong{
        font-size:13px;
    }

    .map-balloon-address h4{
        font-size:14px;
    }
}


/* ============================================================
   МАЛЕНЬКИЕ ТЕЛЕФОНЫ
============================================================ */

@media(max-width:450px){

    #aggregator-map{
        height:325px;
    }

    .map-heading h2{
        font-size:30px;
    }

    .map-info{
        padding:18px;
    }

    .map-whatsapp{
        padding:13px;
    }

    #aggregator-map .map-service-marker{
        transform:scale(.88) !important;
    }
}


/* ============================================================
   СВЕТЛАЯ ТЕМА
============================================================ */

body.light-theme .map-section{
    background:#f5f7fa;
}

body.light-theme .map-heading h2{
    color:#111111;
}

body.light-theme .map-heading p{
    color:#626b75;
}

body.light-theme .map-wrapper{
    background:#ffffff;

    border-color:#dfe5eb;
}

body.light-theme
#aggregator-map
.ymaps-2-1-79-ground-pane{
    filter:
        grayscale(.22)
        brightness(1.02)
        contrast(1.01);
}

body.light-theme .map-info{
    background:rgba(255,255,255,.96);

    border-color:#dde4eb;

    box-shadow:
        0 18px 45px rgba(15,23,42,.10);
}

body.light-theme .map-info h3,
body.light-theme .map-legend strong{
    color:#111111;
}

body.light-theme .map-info > p,
body.light-theme .map-legend small{
    color:#626b75;
}

body.light-theme .map-legend,
body.light-theme .map-features{
    border-color:#e3e8ee;
}

body.light-theme .map-features div{
    color:#2b3138;
}

body.light-theme .aggregator-hint{
    color:#111111;

    background:#ffffff;

    border-color:#dfe5eb;

    box-shadow:
        0 12px 35px rgba(15,23,42,.14);
}

body.light-theme .aggregator-hint span{
    color:#626b75;
}

body.light-theme
#aggregator-map
.ymaps-2-1-79-balloon__layout,

body.light-theme
#aggregator-map
.ymaps-2-1-79-balloon__content{
    color:#111111;
    background:#ffffff;
}

body.light-theme
#aggregator-map
.ymaps-2-1-79-balloon__tail::after{
    background:#ffffff;
}

body.light-theme
#aggregator-map
.ymaps-2-1-79-balloon__close-button{
    filter:none;
}

body.light-theme .map-balloon{
    color:#111111;
}

body.light-theme .map-balloon-brand{
    border-color:#e3e8ee;
}

body.light-theme .map-balloon-brand strong,
body.light-theme .map-balloon-address h4{
    color:#111111;
}

body.light-theme .map-balloon-address p{
    color:#626b75;
}

body.light-theme .map-load-error{
    color:#111111;
    background:#ffffff;
}

body.light-theme .map-load-error p{
    color:#626b75;
}


/* ============================================================
   БЕЗ HOVER
============================================================ */

@media(hover:none) and (pointer:coarse){

    .map-whatsapp:hover{
        background:#76b900;
        border-color:#76b900;
        box-shadow:none;
    }
}


/* ============================================================
   УМЕНЬШЕННАЯ АНИМАЦИЯ
============================================================ */

@media(prefers-reduced-motion:reduce){

    #aggregator-map
    .map-service-marker__pulse{
        animation:none;
        opacity:0;
    }
}


























.reviews-section {
    padding: 90px 20px;

    background:
        linear-gradient(
            90deg,
            rgba(118, 185, 0, 0.025) 1px,
            transparent 1px
        ),
        #0a0a0a;

    background-size: 80px 100%;
    border-top: 1px solid #202020;
}

.reviews-container {
    width: 100%;
    max-width: 1240px;

    margin: 0 auto;
}

/* Заголовок */

.reviews-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    align-items: end;
    gap: 60px;

    margin-bottom: 38px;
}

.reviews-label {
    display: block;

    margin-bottom: 12px;

    color: #76b900;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
}

.reviews-heading h2 {
    max-width: 800px;

    margin: 0;

    color: #ffffff;

    font-family: "Oswald", sans-serif;
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -2px;
}

/* Блок рейтинга */

.reviews-rating {
    padding-left: 26px;

    border-left: 1px solid #303030;
}

.reviews-source {
    display: flex;
    align-items: center;
    gap: 11px;
}

.reviews-source-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    color: #ffffff;

    font-size: 20px;

    background: #5abf2a;
    border-radius: 10px;
}

.reviews-source > div {
    display: flex;
    flex-direction: column;
}

.reviews-source small {
    color: #858585;

    font-size: 11px;
}

.reviews-source strong {
    color: #ffffff;

    font-size: 18px;
    font-weight: 700;
}

.reviews-rating-value {
    display: flex;
    align-items: center;
    gap: 15px;

    margin-top: 19px;
}

.reviews-rating-value > strong {
    color: #ffffff;

    font-family: "Oswald", sans-serif;
    font-size: 50px;
    font-weight: 500;
    line-height: 1;
}

.reviews-rating-value > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.reviews-stars {
    display: flex;
    align-items: center;
    gap: 3px;

    color: #76b900;
    font-size: 15px;
}

.reviews-rating-value span {
    color: #777777;

    font-size: 11px;
}

/* Сетка */

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

/* Отзыв */

.review-card {
    position: relative;

    min-height: 260px;
    padding: 27px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    overflow: hidden;

    background: #111111;

    border: 1px solid #292929;
    border-radius: 18px;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.review-card::after {
    content: "“";

    position: absolute;

    right: 20px;
    bottom: -42px;

    color: rgba(118, 185, 0, 0.06);

    font-family: Georgia, serif;
    font-size: 190px;
    line-height: 1;

    pointer-events: none;
}

.review-card:hover {
    background: #141414;
    border-color: rgba(118, 185, 0, 0.65);

    box-shadow:
        inset 0 0 0 1px rgba(118, 185, 0, 0.05),
        0 0 28px rgba(118, 185, 0, 0.07);
}

.review-card-main {
    background:
        linear-gradient(
            135deg,
            rgba(118, 185, 0, 0.1),
            transparent 48%
        ),
        #111111;

    border-color: rgba(118, 185, 0, 0.55);
}

/* Верх карточки */

.review-card-top {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.review-author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.review-avatar {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    flex-shrink: 0;

    color: #76b900;

    font-family: "Oswald", sans-serif;
    font-size: 15px;
    font-weight: 600;

    background: #191919;

    border: 1px solid #343434;
    border-radius: 50%;
}

.review-author h3 {
    margin: 0;

    color: #ffffff;

    font-size: 15px;
    font-weight: 600;
}

.review-author div > span {
    display: flex;
    align-items: center;
    gap: 5px;

    margin-top: 5px;

    color: #787878;

    font-size: 10px;
}

.review-author div > span i {
    color: #76b900;
}

/* Текст */

.review-card blockquote {
    position: relative;
    z-index: 2;

    max-width: 530px;
    margin: 31px 0;

    color: #d8d8d8;

    font-size: 17px;
    font-style: normal;
    line-height: 1.65;
}

/* Нижняя строка */

.review-card-bottom {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding-top: 17px;

    border-top: 1px solid #292929;
}

.review-card-bottom span:first-child {
    color: #8c8c8c;

    font-size: 11px;
    letter-spacing: 0.3px;
}

.review-card-bottom span:last-child {
    color: #5abf2a;

    font-size: 12px;
    font-weight: 700;
}

/* Низ секции */

.reviews-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    margin-top: 24px;
    padding-top: 24px;

    border-top: 1px solid #242424;
}

.reviews-footer p {
    max-width: 600px;
    margin: 0;

    color: #777777;

    font-size: 12px;
    line-height: 1.6;
}

.reviews-link {
    display: flex;
    align-items: center;
    gap: 9px;

    flex-shrink: 0;

    color: #ffffff;

    font-size: 13px;
    font-weight: 600;

    border-bottom: 1px solid #76b900;

    transition: color 0.2s ease;
}

.reviews-link:hover {
    color: #76b900;
}

.reviews-link i {
    color: #76b900;
    font-size: 17px;
}

/* Планшет */

@media (max-width: 900px) {

    .reviews-heading {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .reviews-rating {
        display: flex;
        align-items: center;
        justify-content: space-between;

        padding: 20px 0 0;

        border-top: 1px solid #292929;
        border-left: none;
    }

    .reviews-rating-value {
        margin-top: 0;
    }
}

/* Телефон */

@media (max-width: 650px) {

    .reviews-section {
        padding: 65px 14px;
        background-size: 45px 100%;
    }

    .reviews-heading h2 {
        font-size: 40px;
        letter-spacing: -1.4px;
    }

    .reviews-rating {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .reviews-grid {
        grid-template-columns: 1fr;
    }

    .review-card {
        min-height: 240px;
        padding: 22px;

        border-radius: 16px;
    }

    .review-card-top {
        flex-direction: column;
        gap: 13px;
    }

    .review-card blockquote {
        margin: 25px 0;

        font-size: 15px;
    }

    .reviews-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }
}






















/* ============================================================
   AGGREGATOR — ФИНАЛЬНЫЙ FOOTER
   ВСТАВИТЬ В САМЫЙ НИЗ style.css
============================================================ */

.footer{
    position:relative;

    padding:52px 20px 24px;

    overflow:hidden;

    background:#050505;

    border-top:1px solid #242424;
}

.footer::before{
    content:"";

    position:absolute;

    top:0;
    left:50%;

    width:min(900px,78%);
    height:1px;

    transform:translateX(-50%);

    background:linear-gradient(
        90deg,
        transparent,
        rgba(118,185,0,.85),
        transparent
    );
}

.footer-container{
    position:relative;
    z-index:2;

    width:100%;
    max-width:1240px;

    margin:0 auto;
}


/* ============================================================
   ВЕРХ FOOTER
============================================================ */

.footer-main{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:50px;

    padding-bottom:34px;
}

.footer-brand{
    min-width:0;
}

.footer-logo{
    display:inline-flex;
    align-items:center;
}

.footer-logo img{
    display:block;

    width:220px;
    max-width:100%;
    height:auto;

    object-fit:contain;

    filter:brightness(0) invert(1);
}

.footer-description{
    max-width:390px;

    margin:18px 0 0;

    color:#777777;

    font-size:13px;
    line-height:1.65;
}


/* ============================================================
   КОНТАКТЫ FOOTER
============================================================ */

.footer-contacts{
    display:grid;
    grid-template-columns:repeat(3,minmax(150px,1fr));
    gap:10px;

    width:min(700px,100%);
}

.footer-contacts a{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;

    min-width:0;
    min-height:72px;

    padding:14px 15px;

    color:#ffffff;
    text-decoration:none;

    background:#0c0c0c;

    border:1px solid #222222;
    border-radius:12px;

    transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.footer-contacts a:hover{
    background:#101010;
    border-color:rgba(118,185,0,.55);

    box-shadow:
        inset 0 0 0 1px rgba(118,185,0,.06),
        0 0 20px rgba(118,185,0,.06);
}

.footer-contact-label{
    color:#666666;

    font-size:9px;
    font-weight:700;
    line-height:1.3;

    letter-spacing:.8px;
    text-transform:uppercase;
}

.footer-contacts strong{
    min-width:0;

    color:#ffffff;

    font-size:13px;
    font-weight:600;
    line-height:1.35;

    overflow-wrap:anywhere;
}

.footer-whatsapp strong{
    color:#76b900;
}


/* ============================================================
   ЮРИДИЧЕСКИЙ БЛОК
============================================================ */

.footer-legal-panel{
    padding:24px;

    background:#090909;

    border:1px solid #222222;
    border-radius:16px;
}

.footer-legal-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;

    margin-bottom:19px;
    padding-bottom:17px;

    border-bottom:1px solid #222222;
}

.footer-legal-heading span{
    color:#76b900;

    font-size:10px;
    font-weight:800;
    letter-spacing:2.6px;
}

.footer-legal-heading p{
    margin:0;

    color:#666666;

    font-size:11px;
}

.footer-legal-grid{
    display:grid;
    grid-template-columns:
        minmax(170px,.9fr)
        minmax(140px,.7fr)
        minmax(190px,1fr)
        minmax(230px,1.25fr);

    gap:0;
}

.footer-legal-item{
    min-width:0;
    min-height:75px;

    padding:5px 20px;

    border-right:1px solid #222222;
}

.footer-legal-item:first-child{
    padding-left:0;
}

.footer-legal-item:last-child{
    padding-right:0;
    border-right:0;
}

.footer-legal-label{
    display:block;

    margin-bottom:8px;

    color:#626262;

    font-size:9px;
    font-weight:700;
    line-height:1.35;

    letter-spacing:.8px;
    text-transform:uppercase;
}

.footer-legal-value{
    display:block;

    color:#d5d5d5;

    font-size:12px;
    font-weight:600;
    line-height:1.55;

    overflow-wrap:anywhere;
}

.footer-address-placeholder{
    color:#76b900;
}


/* ============================================================
   ГАРАНТИЯ
============================================================ */

.footer-guarantee{
    display:flex;
    align-items:center;
    gap:12px;

    margin-top:14px;
    padding:15px 18px;

    background:#0a0a0a;

    border:1px solid #202020;
    border-left:3px solid #76b900;
    border-radius:11px;
}

.footer-guarantee i{
    flex-shrink:0;

    color:#76b900;
    font-size:20px;
}

.footer-guarantee p{
    margin:0;

    color:#919191;

    font-size:11px;
    line-height:1.55;
}


/* ============================================================
   НИЖНЯЯ СТРОКА
============================================================ */

.footer-bottom{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:25px;

    margin-top:23px;
    padding-top:20px;

    border-top:1px solid #1d1d1d;
}

.footer-bottom > p{
    margin:0;

    color:#555555;

    font-size:10px;
    line-height:1.5;
}

.footer-bottom > p:nth-child(2){
    text-align:center;
}

.footer-bottom-links{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:17px;
}

.footer-bottom-links a{
    color:#707070;

    font-size:10px;
    line-height:1.5;
    text-decoration:none;

    transition:color .2s ease;
}

.footer-bottom-links a:hover{
    color:#76b900;
}


/* ============================================================
   ПЛАНШЕТ
============================================================ */

@media(max-width:1000px){

    .footer-main{
        flex-direction:column;
        gap:28px;
    }

    .footer-contacts{
        width:100%;
    }

    .footer-legal-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .footer-legal-item{
        padding:16px;

        border-right:1px solid #222222;
        border-bottom:1px solid #222222;
    }

    .footer-legal-item:first-child{
        padding-left:16px;
    }

    .footer-legal-item:last-child{
        padding-right:16px;
    }

    .footer-legal-item:nth-child(2n){
        border-right:0;
    }

    .footer-legal-item:nth-last-child(-n+2){
        border-bottom:0;
    }

    .footer-bottom{
        grid-template-columns:1fr 1fr;
    }

    .footer-bottom > p:nth-child(2){
        text-align:right;
    }

    .footer-bottom-links{
        grid-column:1 / -1;
        justify-content:flex-start;
    }
}


/* ============================================================
   ТЕЛЕФОН
============================================================ */

@media(max-width:700px){

    .footer{
        padding:
            44px
            max(15px,env(safe-area-inset-right))
            max(24px,env(safe-area-inset-bottom))
            max(15px,env(safe-area-inset-left));
    }

    .footer-main{
        gap:25px;
        padding-bottom:28px;
    }

    .footer-logo img{
        width:185px;
    }

    .footer-description{
        max-width:100%;

        margin-top:15px;

        font-size:12px;
    }

    .footer-contacts{
        grid-template-columns:1fr;
        gap:8px;
    }

    .footer-contacts a{
        min-height:65px;
    }

    .footer-legal-panel{
        padding:18px;
        border-radius:14px;
    }

    .footer-legal-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }

    .footer-legal-grid{
        grid-template-columns:1fr;
    }

    .footer-legal-item,
    .footer-legal-item:first-child,
    .footer-legal-item:last-child{
        min-height:auto;

        padding:14px 0;

        border-right:0;
        border-bottom:1px solid #222222;
    }

    .footer-legal-item:nth-last-child(-n+2){
        border-bottom:1px solid #222222;
    }

    .footer-legal-item:last-child{
        border-bottom:0;
    }

    .footer-guarantee{
        align-items:flex-start;

        padding:14px;
    }

    .footer-bottom{
        grid-template-columns:1fr;
        gap:8px;
    }

    .footer-bottom > p:nth-child(2){
        text-align:left;
    }

    .footer-bottom-links{
        grid-column:auto;

        align-items:flex-start;
        flex-direction:column;
        gap:7px;

        margin-top:7px;
    }
}


/* ============================================================
   ОЧЕНЬ МАЛЕНЬКИЕ ЭКРАНЫ
============================================================ */

@media(max-width:380px){

    .footer{
        padding-right:12px;
        padding-left:12px;
    }

    .footer-logo img{
        width:165px;
    }

    .footer-legal-panel{
        padding:15px;
    }

    .footer-contacts strong{
        font-size:12px;
    }
}


/* ============================================================
   УСТРОЙСТВА БЕЗ HOVER
============================================================ */

@media(hover:none) and (pointer:coarse){

    .footer-contacts a:hover{
        background:#0c0c0c;
        border-color:#222222;
        box-shadow:none;
    }

    .footer-bottom-links a:hover{
        color:#707070;
    }
}
























/* ============================================================
   AGGREGATOR — ФИНАЛЬНАЯ АДАПТАЦИЯ
   ВСТАВИТЬ В САМЫЙ НИЗ style.css
============================================================ */


/* ============================================================
   1. БАЗОВАЯ ЗАЩИТА ОТ ВЫЛЕЗАНИЯ ЗА ЭКРАН
============================================================ */

html{
    width:100%;
    max-width:100%;
    overflow-x:clip;
    scroll-behavior:smooth;
    -webkit-text-size-adjust:100%;
}

body{
    width:100%;
    min-width:280px;
    max-width:100%;
    overflow-x:hidden;
}

main,
header,
footer,
section,
div,
article,
a,
button{
    min-width:0;
}

img,
svg,
video,
canvas,
iframe{
    display:block;
    max-width:100%;
}

button,
a{
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
}

h1,
h2,
h3,
p,
span,
strong,
small,
blockquote{
    overflow-wrap:break-word;
    word-break:normal;
}

.container,
.header-container,
.hero-container,
.services-grid,
.contact-grid,
.agreement-container,
.partners-container,
.map-heading,
.map-wrapper,
.reviews-container,
.footer-container{
    width:100%;
    max-width:1240px;
    margin-left:auto;
    margin-right:auto;
}


/* ============================================================
   2. ПЛАНШЕТЫ И НЕБОЛЬШИЕ НОУТБУКИ
   769–1024 PX
============================================================ */

@media (max-width:1024px){

    /* Общие отступы */

    .services,
    .contact,
    .agreement-section,
    .partners-section,
    .map-section,
    .reviews-section{
        padding-left:24px;
        padding-right:24px;
    }


    /* ---------------- HEADER ---------------- */

    .header{
        height:72px;
    }

    .header-container{
        width:calc(100% - 40px);
    }

    .header-logo{
        height:38px;
    }

    .header-logo img{
        max-width:180px;
    }

    .language-button,
    .theme-button,
    .contact-button{
        height:44px;
        min-height:44px;
    }


    /* ---------------- HERO ---------------- */

    .hero{
        min-height:auto;
        padding:42px 24px 34px;
    }

    .hero-container{
        height:auto;
    }

    .hero-logo{
        width:165px;
        margin-bottom:16px;
    }

    .hero h1{
        font-size:clamp(42px,7vw,60px);
        line-height:.98;
    }

    .hero-image{
        position:relative;
        top:auto;
        left:auto;

        width:100%;
        margin:26px auto 10px;

        transform:none;
    }

    .hero-image img{
        width:100%;
        max-width:100%;
    }

    .hero-cards{
        margin-top:0;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:12px;
    }

    .hero-card{
        padding:16px;
        gap:13px;
        border-radius:15px;
    }

    .hero-icon{
        width:46px;
        height:46px;
        flex-basis:46px;
        font-size:22px;
    }

    .hero-card h3{
        font-size:15px;
    }

    .hero-card p{
        font-size:12px;
    }

    .hero::after{
        right:-210px;
        top:-100px;
        opacity:.55;
    }


    /* ---------------- SERVICES ---------------- */

    .services-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .service-large{
        grid-column:1 / -1;
        grid-row:auto;
        min-height:340px;
    }

    .service-card{
        min-height:210px;
    }

    .service-large img{
        right:-25px;
        width:72%;
    }


    /* ---------------- CONTACT ---------------- */

    .contact-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .contact-card.whatsapp{
        grid-column:1 / -1;
    }


    /* ---------------- AGREEMENT ---------------- */

    .agreement-container{
        grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);
        gap:30px;
    }

    .agreement-title{
        font-size:clamp(54px,8vw,76px);
    }

    .agreement-visual{
        height:430px;
    }


    /* ---------------- PARTNERS ---------------- */

    .partner-logo{
        min-height:140px;
        padding:25px;
    }


    /* ---------------- MAP ---------------- */

    .map-wrapper{
        height:520px;
    }

    .map-info{
        left:20px;
        width:290px;
        padding:21px;
    }

    .map-info h3{
        font-size:24px;
    }


    /* ---------------- REVIEWS ---------------- */

    .reviews-heading{
        grid-template-columns:minmax(0,1fr) 290px;
        gap:35px;
    }

    .review-card{
        padding:23px;
    }
}


/* ============================================================
   3. ОСНОВНАЯ МОБИЛЬНАЯ ВЕРСИЯ
   ДО 768 PX
============================================================ */

@media (max-width:768px){

    /* ---------------- ОБЩЕЕ ---------------- */

    body{
        font-size:15px;
    }

    .services,
    .contact,
    .agreement-section,
    .partners-section,
    .map-section,
    .reviews-section{
        padding-top:58px;
        padding-bottom:58px;

        padding-left:max(16px,env(safe-area-inset-left));
        padding-right:max(16px,env(safe-area-inset-right));
    }

    .section-title,
    .contact-title,
    .map-heading{
        text-align:left;
    }

    .section-title,
    .contact-title{
        margin-bottom:27px;
    }

    .section-title h2,
    .contact-title h2,
    .map-heading h2,
    .partners-heading h2{
        font-size:clamp(29px,8vw,38px);
        line-height:1.05;
        letter-spacing:-1px;
    }

    .section-title p,
    .contact-title p,
    .map-heading p{
        margin-left:0;
        margin-right:0;

        font-size:14px;
        line-height:1.6;
    }


    /* ========================================================
       HEADER
    ======================================================== */

    .header{
        top:0;

        height:64px;

        padding-left:max(12px,env(safe-area-inset-left));
        padding-right:max(12px,env(safe-area-inset-right));

        background:rgba(8,8,8,.97);
    }

    .header-container{
        width:100%;
        height:64px;
        gap:10px;
    }

    .header-logo{
        width:auto;
        height:31px;
        flex:1 1 auto;
        overflow:hidden;
    }

    .header-logo img{
        width:auto;
        height:100%;
        max-width:155px;
        object-fit:contain;
        object-position:left center;
    }

    .header-actions{
        flex:0 0 auto;
        gap:7px;
    }

    .language-button,
    .theme-button,
    .contact-button{
        height:40px;
        min-height:40px;
        border-radius:9px;
    }

    .language-button{
        padding:0 10px;
        gap:5px;
    }

    .language-button .ri-global-line{
        display:none;
    }

    .language-button span{
        font-size:12px;
    }

    .language-button .ri-arrow-down-s-line{
        font-size:16px;
    }

    .theme-button{
        width:40px;
    }

    .theme-button i{
        font-size:19px;
    }

    .contact-button{
        width:40px;
        min-width:40px;
        padding:0;
    }

    .contact-button span,
    .contact-button .contact-arrow{
        display:none;
    }

    .contact-button::before{
        content:"\EEB2";

        font-family:"remixicon";
        font-size:19px;
        line-height:1;
    }


    /* Выпадающее меню контактов */

    .contact-dropdown{
        position:fixed;
        z-index:5000;

        top:72px;
        right:max(12px,env(safe-area-inset-right));
        left:max(12px,env(safe-area-inset-left));

        width:auto;
        max-width:none;
        max-height:calc(100dvh - 88px);

        padding:8px;
        overflow-y:auto;
        overscroll-behavior:contain;

        border-radius:16px;

        transform:translateY(-5px);
    }

    .contact-menu.is-open .contact-dropdown{
        transform:none;
    }

    .contact-dropdown::before{
        display:none;
    }

    .contact-dropdown-item{
        min-height:62px;
        padding:10px;
    }

    .contact-dropdown-icon{
        width:40px;
        height:40px;
    }


    /* ========================================================
       HERO
    ======================================================== */

    .hero{
        min-height:auto;
        padding:
            38px
            max(14px,env(safe-area-inset-right))
            28px
            max(14px,env(safe-area-inset-left));

        overflow:hidden;
    }

    .hero-container{
        width:100%;
        height:auto;
    }

    .hero-logo{
        width:138px;
        margin:0 auto 15px;
    }

    .hero h1{
        max-width:100%;
        margin:0 auto;

        font-size:clamp(37px,11vw,52px);
        line-height:.97;
        letter-spacing:-1.5px;
    }

    .hero h1 span{
        margin-top:7px;
    }

    .hero-work{
        display:flex;
        align-items:center;
        justify-content:center;
        flex-wrap:wrap;
        gap:5px;

        margin-top:14px;

        font-size:14px;
        line-height:1.4;
    }

    .hero-work span{
        margin-right:0;
    }

    .hero-image{
        position:relative;
        top:auto;
        left:auto;

        width:112%;
        max-width:none;

        margin:24px -6% 12px;

        transform:none;
    }

    .hero-image img{
        width:100%;
        max-width:none;
        object-fit:contain;
    }

    .hero-image::after{
        width:88%;
    }

    .hero-cards{
        display:grid;
        grid-template-columns:1fr;

        width:100%;
        margin-top:0;
        gap:10px;
    }

    .hero-card{
        display:grid;
        grid-template-columns:46px minmax(0,1fr);
        grid-template-rows:auto auto;
        column-gap:13px;
        row-gap:2px;

        width:100%;
        min-height:78px;

        padding:14px 15px;

        border-radius:14px;
    }

    .hero-icon{
        grid-row:1 / 3;

        width:46px;
        height:46px;
        flex-basis:46px;

        border-radius:11px;
        font-size:22px;
    }

    .hero-card h3{
        align-self:end;

        margin:0;

        font-size:15px;
        line-height:1.25;
    }

    .hero-card p{
        align-self:start;

        margin:0;

        font-size:12px;
        line-height:1.35;
    }

    .hero::before{
        background-size:42px 42px;
        opacity:.55;
    }

    .hero::after{
        width:410px;
        height:330px;

        top:-110px;
        right:-230px;

        opacity:.45;
    }

    .hero-decor-point,
    .hero-decor-line{
        display:none;
    }


    /* ========================================================
       SERVICES
    ======================================================== */

    .services-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;

        width:100%;
    }

    .service-card,
    .service-large{
        grid-column:auto;
        grid-row:auto;

        width:100%;
        min-height:185px;

        padding:20px;

        border-radius:16px;
    }

    .service-large{
        min-height:300px;
    }

    .service-card > i:first-child{
        font-size:36px;
    }

    .service-card h3{
        max-width:82%;
        margin-top:17px;

        font-size:20px;
        line-height:1.2;
    }

    .service-card p{
        max-width:75%;

        font-size:13px;
        line-height:1.5;
    }

    .service-arrow{
        top:18px;
        right:18px;

        font-size:20px;
    }

    .service-large img{
        right:-38px;
        bottom:-8px;

        width:100%;
        max-width:none;

        opacity:.75;

        transform:none;
    }

    .service-large::after{
        right:-210px;
        bottom:-210px;

        opacity:.55;
    }


    /* ========================================================
       CONTACT
    ======================================================== */

    .contact-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:11px;

        width:100%;
    }

    .contact-card,
    .contact-card.whatsapp{
        grid-column:auto;

        width:100%;
        min-height:98px;

        padding:19px;

        gap:15px;

        border-radius:16px;
    }

    .contact-card i{
        width:40px;
        flex:0 0 40px;

        font-size:30px;
        text-align:center;
    }

    .contact-card > div{
        min-width:0;
        max-width:100%;
    }

    .contact-card small{
        margin-bottom:5px;
        font-size:11px;
    }

    .contact-card h3{
        max-width:100%;

        font-size:clamp(17px,5vw,21px);
        line-height:1.25;

        overflow-wrap:anywhere;
    }

    .contact-card p{
        font-size:12px;
        line-height:1.45;
    }


    /* ========================================================
       AGREEMENT
    ======================================================== */

    .agreement-container{
        display:grid;
        grid-template-columns:1fr;
        gap:24px;

        width:100%;
    }

    .agreement-content{
        max-width:100%;
    }

    .agreement-title{
        max-width:100%;

        font-size:clamp(43px,13vw,66px);
        line-height:.94;
        letter-spacing:-1.8px;
    }

    .agreement-text{
        max-width:100%;
        margin-top:18px;

        font-size:14px;
        line-height:1.65;
    }

    .agreement-visual{
        width:100%;
        height:clamp(250px,72vw,390px);

        border-radius:17px;
    }

    .agreement-steps{
        grid-column:auto;

        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:0;

        margin-top:2px;
        padding-top:0;

        border:1px solid #272727;
        border-radius:15px;
        overflow:hidden;
    }

    .agreement-step{
        min-height:100px;
        padding:17px;

        border-right:1px solid #272727;
        border-bottom:1px solid #272727;
    }

    .agreement-step:nth-child(2n){
        border-right:0;
    }

    .agreement-step:nth-last-child(-n+2){
        border-bottom:0;
    }

    .agreement-step span{
        margin-bottom:7px;

        font-size:27px;
    }

    .agreement-step p{
        font-size:13px;
    }


    /* ========================================================
       PARTNERS
    ======================================================== */

    .partners-heading{
        display:block;
        margin-bottom:23px;
    }

    .partners-logos{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));

        width:100%;

        border:1px solid #292929;
        border-radius:15px;
        overflow:hidden;
    }

    .partner-logo{
        min-height:105px;
        padding:15px 10px;

        border-right:1px solid #292929;
        border-bottom:0;
    }

    .partner-logo:last-child{
        border-right:0;
    }

    .partner-logo::after{
        right:10px;
        bottom:10px;
    }

    .partner-logo img{
        width:auto;
        max-width:92%;
        max-height:50px;

        opacity:.85;
    }


    /* ========================================================
       MAP
    ======================================================== */

    .map-heading{
        margin-bottom:24px;
    }

    .map-wrapper{
        display:flex;
        flex-direction:column;

        width:100%;
        height:auto;

        overflow:visible;

        background:transparent;

        border:0;
        border-radius:0;
    }

    #aggregator-map{
        position:relative;
        inset:auto;
        order:1;

        width:100%;
        height:clamp(340px,92vw,470px);

        overflow:hidden;

        background:#111111;

        border:1px solid #292929;
        border-radius:17px;
    }

    .map-info{
        position:relative;
        z-index:5;

        top:auto;
        left:auto;
        order:2;

        width:100%;
        max-width:none;

        margin-top:12px;
        padding:20px;

        transform:none;

        background:#101010;

        border:1px solid #292929;
        border-radius:17px;

        box-shadow:none;
    }

    .map-info::before{
        top:20px;
        height:36px;
    }

    .map-info-label{
        margin-bottom:12px;
    }

    .map-info h3{
        font-size:25px;
        line-height:1.1;
    }

    .map-info > p{
        max-width:100%;

        font-size:13px;
        line-height:1.55;
    }

    .map-legend{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;

        margin-top:16px;
        padding-top:16px;
    }

    .map-legend > div{
        min-width:0;
    }

    .map-features{
        gap:9px;
    }

    .map-features div{
        font-size:12px;
        line-height:1.4;
    }

    .map-whatsapp{
        min-height:46px;
        margin-top:17px;
    }


    /* Уменьшение визуального размера маркеров,
       зона нажатия при этом остаётся удобной */

    #aggregator-map .map-service-marker{
        transform:scale(.86);
        transform-origin:50% 100%;
    }


    /* Не показываем hover-подсказку на телефоне */

    #aggregator-map .aggregator-hint{
        display:none !important;
    }


    /* ---------------- БАЛУН ЯНДЕКС-КАРТ ---------------- */

    #aggregator-map [class*="balloon__layout"]{
        max-width:calc(100vw - 38px) !important;

        overflow:hidden !important;

        background:#111111 !important;

        border-radius:15px !important;
    }

    #aggregator-map [class*="balloon__content"]{
        width:auto !important;
        min-width:0 !important;
        max-width:calc(100vw - 55px) !important;

        margin-right:0 !important;
        padding:14px 15px !important;

        overflow:hidden !important;

        background:#111111 !important;
    }

    #aggregator-map [class*="balloon__content"] > ymaps{
        width:auto !important;
        max-width:100% !important;
    }

    #aggregator-map [class*="balloon__close-button"]{
        width:38px !important;
        height:38px !important;

        opacity:.85;
    }

    #aggregator-map [class*="balloon__tail"]::after{
        background:#111111 !important;
    }

    .map-balloon{
        width:min(235px,calc(100vw - 92px));
        min-width:0 !important;
        max-width:100% !important;
    }

    .map-balloon-brand{
        align-items:center;
        gap:10px;

        width:100%;
        min-width:0;
    }

    .map-balloon-brand-logo{
        width:44px;
        height:44px;
        flex:0 0 44px;

        border-radius:9px;
    }

    .map-balloon-brand > div{
        min-width:0;
        max-width:calc(100% - 54px);
    }

    .map-balloon-brand strong{
        display:block;

        max-width:100%;

        font-size:13px;
        line-height:1.25;

        overflow-wrap:anywhere;
    }

    .map-balloon-brand small{
        display:block;

        font-size:9px;
        line-height:1.3;
    }

    .map-balloon-address{
        padding-top:12px;
    }

    .map-balloon-address h4{
        font-size:14px;
        line-height:1.3;
    }

    .map-balloon-address p{
        font-size:11px;
        line-height:1.45;
    }

    #aggregator-map [class*="zoom"]{
        transform:scale(.9);
        transform-origin:left top;
    }


    /* ========================================================
       REVIEWS
    ======================================================== */

    .reviews-heading{
        display:grid;
        grid-template-columns:1fr;
        gap:22px;

        margin-bottom:27px;
    }

    .reviews-heading h2{
        font-size:clamp(34px,10vw,47px);
        line-height:1.02;
        letter-spacing:-1.4px;
    }

    .reviews-rating{
        display:grid;
        grid-template-columns:1fr auto;
        align-items:center;
        gap:15px;

        width:100%;

        padding:17px 0 0;

        border-top:1px solid #292929;
        border-left:0;
    }

    .reviews-rating-value{
        margin-top:0;
    }

    .reviews-rating-value > strong{
        font-size:42px;
    }

    .reviews-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:11px;
    }

    .review-card{
        width:100%;
        min-height:auto;

        padding:20px;

        border-radius:15px;
    }

    .review-card-top{
        align-items:flex-start;
        gap:12px;
    }

    .review-author{
        min-width:0;
    }

    .review-author > div{
        min-width:0;
    }

    .review-author h3{
        max-width:100%;

        font-size:14px;

        overflow-wrap:anywhere;
    }

    .review-avatar{
        width:40px;
        height:40px;
        flex-basis:40px;
    }

    .review-stars{
        flex-shrink:0;

        font-size:12px;
    }

    .review-card blockquote{
        max-width:100%;
        margin:24px 0;

        font-size:14px;
        line-height:1.6;
    }

    .review-card-bottom{
        gap:12px;
    }

    .reviews-footer{
        align-items:flex-start;
        flex-direction:column;
        gap:15px;

        margin-top:20px;
        padding-top:20px;
    }

    .reviews-link{
        max-width:100%;

        font-size:12px;
        line-height:1.4;
    }


    /* ========================================================
       FOOTER
    ======================================================== */

    .footer{
        padding:
            34px
            max(16px,env(safe-area-inset-right))
            max(22px,env(safe-area-inset-bottom))
            max(16px,env(safe-area-inset-left));
    }

    .footer-main{
        align-items:flex-start;
        flex-direction:column;
        gap:22px;

        padding-bottom:25px;
    }

    .footer-logo img{
        width:175px;
    }

    .footer-contacts{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;

        width:100%;
    }

    .footer-contacts a{
        max-width:100%;

        font-size:14px;

        overflow-wrap:anywhere;
    }

    .footer-bottom{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;

        padding-top:18px;
    }

    .footer-bottom p:nth-child(2){
        text-align:left;
    }

    .footer-bottom a{
        justify-self:start;
    }
}


/* ============================================================
   4. НЕБОЛЬШИЕ ТЕЛЕФОНЫ
   ДО 520 PX
============================================================ */

@media (max-width:520px){

    /* Header */

    .header-logo img{
        max-width:128px;
    }

    .language-button{
        display:none;
    }

    .header-actions{
        gap:6px;
    }


    /* Hero */

    .hero{
        padding-top:32px;
    }

    .hero-logo{
        width:120px;
    }

    .hero h1{
        font-size:clamp(34px,11.5vw,45px);
    }

    .hero-work{
        font-size:13px;
    }

    .hero-image{
        width:122%;
        margin-right:-11%;
        margin-left:-11%;
    }

    .hero-card{
        min-height:74px;
        padding:13px;
    }


    /* Services */

    .service-card,
    .service-large{
        padding:18px;
    }

    .service-card{
        min-height:170px;
    }

    .service-large{
        min-height:275px;
    }

    .service-card h3{
        font-size:18px;
    }

    .service-card p{
        max-width:82%;
        font-size:12px;
    }

    .service-large img{
        right:-48px;
        width:112%;
    }


    /* Contact */

    .contact-card{
        min-height:91px;
        padding:17px;
    }

    .contact-card h3{
        font-size:17px;
    }


    /* Agreement */

    .agreement-title{
        font-size:clamp(40px,13.5vw,56px);
    }

    .agreement-visual{
        height:270px;
    }

    .agreement-step{
        min-height:92px;
        padding:14px;
    }


    /* Partners */

    .partners-logos{
        grid-template-columns:1fr;
    }

    .partner-logo{
        min-height:95px;

        border-right:0;
        border-bottom:1px solid #292929;
    }

    .partner-logo:last-child{
        border-bottom:0;
    }

    .partner-logo img{
        max-width:155px;
        max-height:50px;
    }


    /* Map */

    #aggregator-map{
        height:360px;
    }

    .map-info{
        padding:18px;
    }

    .map-info h3{
        font-size:23px;
    }

    .map-legend{
        grid-template-columns:1fr;
    }

    .map-whatsapp{
        width:100%;
    }

    #aggregator-map .map-service-marker{
        transform:scale(.79);
    }

    .map-balloon{
        width:min(210px,calc(100vw - 82px));
    }


    /* Reviews */

    .reviews-rating{
        grid-template-columns:1fr;
    }

    .reviews-rating-value{
        justify-content:flex-start;
    }

    .review-card-top{
        flex-direction:column;
    }

    .review-stars{
        order:2;
    }

    .review-card blockquote{
        margin:19px 0;
    }


    /* Footer */

    .footer-logo img{
        width:160px;
    }
}


/* ============================================================
   5. ОЧЕНЬ МАЛЕНЬКИЕ ЭКРАНЫ
   280–380 PX
============================================================ */

@media (max-width:380px){

    .services,
    .contact,
    .agreement-section,
    .partners-section,
    .map-section,
    .reviews-section{
        padding-left:12px;
        padding-right:12px;
    }

    .header{
        padding-left:9px;
        padding-right:9px;
    }

    .header-logo img{
        max-width:112px;
    }

    .theme-button,
    .contact-button{
        width:38px;
        min-width:38px;
        height:38px;
        min-height:38px;
    }

    .hero{
        padding-right:12px;
        padding-left:12px;
    }

    .hero h1{
        font-size:34px;
    }

    .hero-logo{
        width:108px;
    }

    .hero-image{
        width:130%;
        margin-right:-15%;
        margin-left:-15%;
    }

    .hero-card{
        grid-template-columns:41px minmax(0,1fr);
        min-height:70px;
        padding:11px;
    }

    .hero-icon{
        width:41px;
        height:41px;
        flex-basis:41px;
        font-size:19px;
    }

    .service-card,
    .service-large{
        padding:16px;
    }

    .service-card h3{
        max-width:78%;
        font-size:17px;
    }

    .service-card p{
        max-width:88%;
    }

    .contact-card{
        padding:15px;
        gap:12px;
    }

    .contact-card i{
        width:34px;
        flex-basis:34px;
        font-size:26px;
    }

    .agreement-title{
        font-size:38px;
    }

    .agreement-visual{
        height:235px;
    }

    .agreement-steps{
        grid-template-columns:1fr;
    }

    .agreement-step{
        min-height:auto;

        border-right:0;
        border-bottom:1px solid #272727;
    }

    .agreement-step:nth-last-child(-n+2){
        border-bottom:1px solid #272727;
    }

    .agreement-step:last-child{
        border-bottom:0;
    }

    #aggregator-map{
        height:325px;
    }

    .map-info{
        padding:16px;
    }

    .map-balloon{
        width:min(190px,calc(100vw - 76px));
    }

    .map-balloon-brand-logo{
        width:38px;
        height:38px;
        flex-basis:38px;
    }

    .map-balloon-brand > div{
        max-width:calc(100% - 48px);
    }

    .review-card{
        padding:17px;
    }

    .reviews-heading h2{
        font-size:32px;
    }
}


/* ============================================================
   6. ТЕЛЕФОН В ГОРИЗОНТАЛЬНОМ РЕЖИМЕ
============================================================ */

@media
(max-width:950px)
and (orientation:landscape)
and (max-height:520px){

    .header{
        position:relative;
    }

    .hero{
        padding-top:25px;
    }

    .hero-image{
        width:82%;
        margin:15px auto;
    }

    .hero-cards{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .hero-card{
        display:flex;
        min-height:76px;
    }

    .hero-card p{
        display:none;
    }

    #aggregator-map{
        height:360px;
    }

    .contact-dropdown{
        top:10px;
        max-height:calc(100dvh - 20px);
    }
}


/* ============================================================
   7. УСТРОЙСТВА БЕЗ HOVER
============================================================ */

@media (hover:none) and (pointer:coarse){

    .service-card:hover,
    .service-large:hover,
    .contact-card:hover,
    .review-card:hover,
    .partner-logo:hover,
    .contact-button:hover,
    .map-whatsapp:hover{
        box-shadow:none;
    }

    .service-card:hover{
        background:#111111;
        border-color:#2c2c2c;
    }

    .service-large:hover{
        border-color:rgba(118,185,0,.55);
    }

    .partner-logo img{
        opacity:1;
        filter:none;
    }

    .contact-dropdown-item{
        min-height:58px;
    }
}


/* ============================================================
   8. УМЕНЬШЕННАЯ АНИМАЦИЯ
============================================================ */

@media (prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
}








/* Шапка всегда закреплена сверху */

.header{
    position:fixed !important;
    top:0;
    right:0;
    left:0;

    width:100%;
    z-index:9999;
}

/* Компенсация высоты закреплённой шапки */

body{
    padding-top:80px;
}

@media(max-width:1024px){
    body{
        padding-top:72px;
    }
}

@media(max-width:768px){
    .header{
        height:64px;
    }

    body{
        padding-top:64px;
    }
}
























<body class="light-theme">

/* ============================================================
   AGGREGATOR — СВЕТЛАЯ ТЕМА
   ВСТАВИТЬ В САМЫЙ НИЗ style.css
============================================================ */

body.light-theme{
    background:#f5f7fa;
    color:#111111;
}


/* ============================================================
   ОБЩЕЕ
============================================================ */

body.light-theme .hero,
body.light-theme .services,
body.light-theme .contact,
body.light-theme .agreement-section,
body.light-theme .partners-section,
body.light-theme .map-section,
body.light-theme .reviews-section{
    background:#f5f7fa;
}

body.light-theme .section-title span,
body.light-theme .contact-title span,
body.light-theme .map-heading span,
body.light-theme .agreement-label,
body.light-theme .reviews-label,
body.light-theme .footer-legal-heading span{
    color:#76b900;
}

body.light-theme .section-title h2,
body.light-theme .contact-title h2,
body.light-theme .map-heading h2,
body.light-theme .partners-heading h2,
body.light-theme .reviews-heading h2,
body.light-theme .agreement-title,
body.light-theme .hero h1{
    color:#111111;
}

body.light-theme .section-title p,
body.light-theme .contact-title p,
body.light-theme .map-heading p,
body.light-theme .agreement-text,
body.light-theme .footer-description{
    color:#5f6670;
}


/* ============================================================
   HEADER
============================================================ */

body.light-theme .header{
    background:rgba(255,255,255,.92);
    border-bottom:1px solid #e4e8ee;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:0 8px 30px rgba(15,23,42,.04);
}

body.light-theme .header.header-scrolled{
    background:rgba(255,255,255,.98);
    border-bottom-color:#d9e0e8;
    box-shadow:0 14px 40px rgba(15,23,42,.08);
}

body.light-theme .header-logo img,
body.light-theme .hero-logo,
body.light-theme .footer-logo img{
    filter:none;
}

body.light-theme .language-button,
body.light-theme .theme-button{
    background:#ffffff;
    color:#111111;
    border:1px solid #dde3ea;
    box-shadow:0 4px 16px rgba(15,23,42,.04);
}

body.light-theme .language-button:hover,
body.light-theme .theme-button:hover{
    background:#f8fafc;
    border-color:#76b900;
    box-shadow:0 8px 22px rgba(118,185,0,.10);
}

body.light-theme .contact-button{
    background:#76b900;
    color:#ffffff;
    border-color:#76b900;
    box-shadow:0 10px 24px rgba(118,185,0,.18);
}

body.light-theme .contact-button:hover{
    background:#84c900;
    border-color:#84c900;
    box-shadow:0 12px 26px rgba(118,185,0,.24);
}

body.light-theme .contact-dropdown{
    background:#ffffff;
    border:1px solid #e4e8ee;
    box-shadow:0 20px 60px rgba(15,23,42,.10);
}

body.light-theme .contact-dropdown-item{
    background:#ffffff;
    border:1px solid transparent;
}

body.light-theme .contact-dropdown-item:hover{
    background:#f8fafc;
    border-color:#e3e8ef;
}

body.light-theme .contact-dropdown-icon{
    background:rgba(118,185,0,.08);
    color:#76b900;
    border:1px solid rgba(118,185,0,.16);
}

body.light-theme .contact-dropdown-text small{
    color:#6b7280;
}

body.light-theme .contact-dropdown-text strong{
    color:#111111;
}


/* ============================================================
   HERO
============================================================ */

body.light-theme .hero{
    background:
        radial-gradient(circle at top right, rgba(118,185,0,.08), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f5f7fa 100%);
}

body.light-theme .hero::before{
    background-image:
        linear-gradient(rgba(17,17,17,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(17,17,17,.045) 1px, transparent 1px);
}

body.light-theme .hero-work{
    color:#5f6670;
}

body.light-theme .hero-work span{
    color:#76b900;
}

body.light-theme .hero-card{
    background:rgba(255,255,255,.92);
    border:1px solid #e2e8f0;
    box-shadow:0 14px 35px rgba(15,23,42,.06);
    backdrop-filter:none;
}

body.light-theme .hero-card:hover{
    background:#ffffff;
    border-color:#76b900;
    box-shadow:0 18px 38px rgba(118,185,0,.10);
}

body.light-theme .hero-icon{
    border-color:#76b900;
    background:rgba(118,185,0,.05);
    color:#76b900;
}

body.light-theme .hero-card h3{
    color:#111111;
}

body.light-theme .hero-card p{
    color:#636b75;
}


/* ============================================================
   SERVICES
============================================================ */

body.light-theme .service-card{
    background:#ffffff;
    border:1px solid #e2e8f0;
    box-shadow:0 12px 34px rgba(15,23,42,.05);
}

body.light-theme .service-card:hover{
    background:#ffffff;
    border-color:#76b900;
    box-shadow:0 16px 40px rgba(118,185,0,.10);
}

body.light-theme .service-card::before{
    background:radial-gradient(
        circle at top right,
        rgba(118,185,0,.12),
        transparent 46%
    );
}

body.light-theme .service-card > i:first-child{
    color:#76b900;
}

body.light-theme .service-card h3{
    color:#111111;
}

body.light-theme .service-card p{
    color:#616975;
}

body.light-theme .service-arrow{
    color:#111111;
}


/* ============================================================
   CONTACT
============================================================ */

body.light-theme .contact-card{
    background:#ffffff;
    border:1px solid #e2e8f0;
    box-shadow:0 12px 34px rgba(15,23,42,.05);
}

body.light-theme .contact-card:hover{
    border-color:#76b900;
    box-shadow:0 16px 38px rgba(118,185,0,.10);
}

body.light-theme .contact-card i{
    color:#76b900;
}

body.light-theme .contact-card small{
    color:#6b7280;
}

body.light-theme .contact-card h3{
    color:#111111;
}

body.light-theme .contact-card p{
    color:#636b75;
}


/* ============================================================
   AGREEMENT
============================================================ */

body.light-theme .agreement-visual{
    border:1px solid #e2e8f0;
    box-shadow:0 18px 44px rgba(15,23,42,.08);
}

body.light-theme .agreement-line{
    background:linear-gradient(
        180deg,
        rgba(118,185,0,.85),
        rgba(118,185,0,.15)
    );
}

body.light-theme .agreement-steps{
    border-color:#dfe6ee;
    background:#ffffff;
    box-shadow:0 12px 30px rgba(15,23,42,.05);
}

body.light-theme .agreement-step{
    border-color:#e6ebf1;
    background:#ffffff;
}

body.light-theme .agreement-step span{
    color:#76b900;
}

body.light-theme .agreement-step p{
    color:#111111;
}


/* ============================================================
   PARTNERS
============================================================ */

body.light-theme .partner-logo{
    background:#ffffff;
    border-color:#e2e8f0;
    box-shadow:0 12px 30px rgba(15,23,42,.04);
}

body.light-theme .partner-logo:hover{
    border-color:#76b900;
    box-shadow:0 16px 36px rgba(118,185,0,.10);
}

body.light-theme .partner-logo img{
    opacity:.9;
    filter:none;
}


/* ============================================================
   MAP
============================================================ */

body.light-theme .map-wrapper{
    background:#ffffff;
    border:1px solid #e2e8f0;
    box-shadow:0 18px 42px rgba(15,23,42,.06);
}

body.light-theme #aggregator-map{
    filter:grayscale(.08) brightness(1.02) contrast(1.02);
}

body.light-theme .map-wrapper::after{
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.92) 0%,
            rgba(255,255,255,.64) 34%,
            rgba(255,255,255,.14) 62%,
            transparent 100%
        );
}

body.light-theme .map-info{
    background:rgba(255,255,255,.94);
    border:1px solid #e2e8f0;
    box-shadow:0 18px 45px rgba(15,23,42,.08);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

body.light-theme .map-info h3{
    color:#111111;
}

body.light-theme .map-info > p{
    color:#626b75;
}

body.light-theme .map-features{
    border-top:1px solid #e7edf3;
}

body.light-theme .map-features div{
    color:#2b3138;
}

body.light-theme .map-features span,
body.light-theme .map-legend-dot{
    background:#76b900;
    box-shadow:none;
}

body.light-theme .map-legend strong{
    color:#111111;
}

body.light-theme .map-legend small{
    color:#6b7280;
}

body.light-theme .map-whatsapp{
    background:#76b900;
    color:#ffffff;
    border-color:#76b900;
    box-shadow:0 10px 24px rgba(118,185,0,.18);
}

body.light-theme .map-whatsapp:hover{
    background:#84c900;
    border-color:#84c900;
}

body.light-theme .map-balloon{
    background:#ffffff;
    color:#111111;
}

body.light-theme .map-balloon-brand strong,
body.light-theme .map-balloon-address h4{
    color:#111111;
}

body.light-theme .map-balloon-brand small,
body.light-theme .map-balloon-address p{
    color:#636b75;
}

body.light-theme .map-balloon-address{
    border-top:1px solid #edf1f5;
}


/* ============================================================
   REVIEWS
============================================================ */

body.light-theme .reviews-rating{
    border-color:#e3e8ef;
}

body.light-theme .reviews-source-icon{
    background:rgba(118,185,0,.08);
    color:#76b900;
    border:1px solid rgba(118,185,0,.14);
}

body.light-theme .reviews-source small{
    color:#6b7280;
}

body.light-theme .reviews-source strong,
body.light-theme .reviews-rating-value strong{
    color:#111111;
}

body.light-theme .reviews-rating-value span{
    color:#636b75;
}

body.light-theme .reviews-stars,
body.light-theme .review-stars{
    color:#76b900;
}

body.light-theme .review-card{
    background:#ffffff;
    border:1px solid #e2e8f0;
    box-shadow:0 14px 36px rgba(15,23,42,.05);
}

body.light-theme .review-card:hover{
    border-color:#76b900;
    box-shadow:0 18px 40px rgba(118,185,0,.10);
}

body.light-theme .review-avatar{
    background:rgba(118,185,0,.08);
    color:#76b900;
    border:1px solid rgba(118,185,0,.15);
}

body.light-theme .review-author h3,
body.light-theme .review-card blockquote{
    color:#111111;
}

body.light-theme .review-author span,
body.light-theme .review-card-bottom,
body.light-theme .reviews-footer p{
    color:#636b75;
}

body.light-theme .reviews-footer{
    border-top:1px solid #e5eaf0;
}

body.light-theme .reviews-link{
    color:#111111;
}

body.light-theme .reviews-link:hover{
    color:#76b900;
}


/* ============================================================
   FOOTER
============================================================ */

body.light-theme .footer{
    background:#ffffff;
    border-top:1px solid #e2e8f0;
}

body.light-theme .footer::before{
    background:linear-gradient(
        90deg,
        transparent,
        rgba(118,185,0,.65),
        transparent
    );
}

body.light-theme .footer-logo img{
    filter:none;
}

body.light-theme .footer-description{
    color:#636b75;
}

body.light-theme .footer-contacts a{
    background:#ffffff;
    border-color:#e2e8f0;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
}

body.light-theme .footer-contacts a:hover{
    background:#f9fbfc;
    border-color:#76b900;
    box-shadow:0 14px 28px rgba(118,185,0,.08);
}

body.light-theme .footer-contact-label,
body.light-theme .footer-legal-label,
body.light-theme .footer-bottom > p,
body.light-theme .footer-bottom-links a,
body.light-theme .footer-legal-heading p{
    color:#6b7280;
}

body.light-theme .footer-contacts strong,
body.light-theme .footer-legal-value{
    color:#111111;
}

body.light-theme .footer-whatsapp strong,
body.light-theme .footer-legal-heading span,
body.light-theme .footer-address-placeholder{
    color:#76b900;
}

body.light-theme .footer-legal-panel{
    background:#ffffff;
    border-color:#e2e8f0;
    box-shadow:0 14px 34px rgba(15,23,42,.05);
}

body.light-theme .footer-legal-heading{
    border-bottom:1px solid #e8edf2;
}

body.light-theme .footer-legal-item{
    border-color:#edf1f5;
}

body.light-theme .footer-guarantee{
    background:#ffffff;
    border-color:#e2e8f0;
    box-shadow:0 10px 28px rgba(15,23,42,.04);
}

body.light-theme .footer-guarantee p{
    color:#5f6670;
}

body.light-theme .footer-bottom{
    border-top:1px solid #e7edf3;
}

body.light-theme .footer-bottom-links a:hover{
    color:#76b900;
}


/* ============================================================
   МОБИЛЬНАЯ БЕЛАЯ ТЕМА
============================================================ */

@media(max-width:768px){

    body.light-theme .contact-dropdown{
        background:#ffffff;
    }

    body.light-theme .map-wrapper{
        background:transparent;
        box-shadow:none;
        border:0;
    }

    body.light-theme #aggregator-map{
        border:1px solid #e2e8f0;
        box-shadow:0 12px 28px rgba(15,23,42,.06);
    }

    body.light-theme .map-wrapper::after{
        display:none;
    }

    body.light-theme .map-info{
        background:#ffffff;
        box-shadow:0 12px 26px rgba(15,23,42,.06);
    }
}


/* ============================================================
   УСТРОЙСТВА БЕЗ HOVER
============================================================ */

@media(hover:none) and (pointer:coarse){

    body.light-theme .language-button:hover,
    body.light-theme .theme-button:hover,
    body.light-theme .service-card:hover,
    body.light-theme .hero-card:hover,
    body.light-theme .contact-card:hover,
    body.light-theme .partner-logo:hover,
    body.light-theme .review-card:hover,
    body.light-theme .footer-contacts a:hover{
        box-shadow:inherit;
    }
}














































/* ============================================================
   AGGREGATOR — СТРАНИЦА ПОЛИТИКИ КОНФИДЕНЦИАЛЬНОСТИ
============================================================ */

.privacy-page{
    min-height:100vh;
    background:#080808;
}

.privacy-container{
    width:100%;
    max-width:1240px;
    margin:0 auto;
}


/* ============================================================
   КНОПКА В ШАПКЕ
============================================================ */

.privacy-header-back{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    min-height:42px;
    padding:0 16px;

    color:#080808;

    font-size:13px;
    font-weight:700;

    background:#76b900;

    border:1px solid #76b900;
    border-radius:10px;

    transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.privacy-header-back:hover{
    background:#86cf00;
    border-color:#86cf00;

    box-shadow:0 0 22px rgba(118,185,0,.22);
}

.privacy-header-back i{
    font-size:17px;
}


/* ============================================================
   HERO
============================================================ */

.privacy-hero{
    position:relative;

    padding:80px 24px 70px;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 84% 20%,
            rgba(118,185,0,.12),
            transparent 30%
        ),
        #080808;

    border-bottom:1px solid #242424;

    isolation:isolate;
}

.privacy-hero-grid{
    position:absolute;
    inset:0;
    z-index:0;

    pointer-events:none;

    background-image:
        linear-gradient(
            rgba(255,255,255,.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.045) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    mask-image:linear-gradient(
        to bottom,
        #000,
        transparent
    );

    -webkit-mask-image:linear-gradient(
        to bottom,
        #000,
        transparent
    );
}

.privacy-hero .privacy-container{
    position:relative;
    z-index:2;
}

.privacy-breadcrumbs{
    display:flex;
    align-items:center;
    gap:8px;

    margin-bottom:44px;

    color:#707070;

    font-size:11px;
}

.privacy-breadcrumbs a{
    color:#a0a0a0;

    transition:color .2s ease;
}

.privacy-breadcrumbs a:hover{
    color:#76b900;
}

.privacy-breadcrumbs i{
    color:#76b900;
}

.privacy-hero-content{
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    align-items:end;
    gap:70px;
}

.privacy-label{
    display:block;

    margin-bottom:17px;

    color:#76b900;

    font-size:11px;
    font-weight:800;
    letter-spacing:3px;
}

.privacy-hero h1{
    max-width:850px;
    margin:0;

    color:#ffffff;

    font-family:"Oswald",sans-serif;
    font-size:clamp(58px,8vw,105px);
    font-weight:500;
    line-height:.9;
    letter-spacing:-4px;
    text-transform:uppercase;
}

.privacy-hero-description{
    max-width:660px;

    margin:30px 0 0;

    color:#969696;

    font-size:16px;
    line-height:1.7;
}

.privacy-hero-meta{
    display:flex;
    flex-direction:column;

    border-top:1px solid #2a2a2a;
}

.privacy-hero-meta > div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    padding:14px 0;

    border-bottom:1px solid #2a2a2a;
}

.privacy-hero-meta span{
    color:#656565;

    font-size:9px;
    font-weight:700;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.privacy-hero-meta strong{
    color:#d6d6d6;

    font-size:11px;
    font-weight:600;
    text-align:right;
}


/* ============================================================
   ОСНОВНАЯ ЧАСТЬ
============================================================ */

.privacy-content-section{
    padding:70px 24px 100px;
    background:#080808;
}

.privacy-layout{
    display:grid;
    grid-template-columns:245px minmax(0,1fr);
    align-items:start;
    gap:70px;
}


/* ============================================================
   НАВИГАЦИЯ
============================================================ */

.privacy-navigation{
    position:sticky;
    top:105px;
}

.privacy-navigation-inner{
    padding:20px;

    background:#0d0d0d;

    border:1px solid #242424;
    border-radius:16px;
}

.privacy-navigation-title{
    display:block;

    margin-bottom:14px;
    padding-bottom:13px;

    color:#76b900;

    font-size:10px;
    font-weight:800;
    letter-spacing:2px;

    border-bottom:1px solid #252525;
}

.privacy-navigation nav{
    display:flex;
    flex-direction:column;
}

.privacy-navigation a{
    padding:8px 0;

    color:#777777;

    font-size:11px;
    line-height:1.4;

    transition:
        color .2s ease,
        padding-left .2s ease;
}

.privacy-navigation a:hover{
    padding-left:5px;
    color:#ffffff;
}


/* ============================================================
   ДОКУМЕНТ
============================================================ */

.privacy-document{
    min-width:0;
}

.privacy-intro{
    display:flex;
    align-items:flex-start;
    gap:15px;

    margin-bottom:22px;
    padding:20px;

    background:
        linear-gradient(
            120deg,
            rgba(118,185,0,.09),
            transparent 50%
        ),
        #0d0d0d;

    border:1px solid rgba(118,185,0,.32);
    border-radius:15px;
}

.privacy-intro i{
    flex-shrink:0;

    color:#76b900;

    font-size:24px;
}

.privacy-intro p{
    margin:0;

    color:#c6c6c6;

    font-size:13px;
    line-height:1.65;
}

.privacy-block{
    position:relative;

    margin-top:14px;
    padding:34px;

    scroll-margin-top:110px;

    background:#0d0d0d;

    border:1px solid #242424;
    border-radius:18px;
}

.privacy-block-number{
    position:absolute;

    top:28px;
    right:30px;

    color:rgba(118,185,0,.18);

    font-family:"Oswald",sans-serif;
    font-size:36px;
    font-weight:500;
    line-height:1;
}

.privacy-block h2{
    max-width:80%;

    margin:0 0 20px;

    color:#ffffff;

    font-family:"Oswald",sans-serif;
    font-size:30px;
    font-weight:500;
    line-height:1.15;
    letter-spacing:-.5px;
}

.privacy-block p{
    margin:13px 0 0;

    color:#a2a2a2;

    font-size:14px;
    line-height:1.75;
}

.privacy-block p:first-of-type{
    margin-top:0;
}

.privacy-block ul{
    display:flex;
    flex-direction:column;
    gap:10px;

    margin:17px 0 0;
    padding:0;

    list-style:none;
}

.privacy-block li{
    position:relative;

    padding-left:21px;

    color:#b4b4b4;

    font-size:14px;
    line-height:1.65;
}

.privacy-block li::before{
    content:"";

    position:absolute;

    top:.7em;
    left:0;

    width:6px;
    height:6px;

    background:#76b900;
    border-radius:50%;

    box-shadow:0 0 8px rgba(118,185,0,.5);
}


/* ============================================================
   КАРТОЧКА КОМПАНИИ
============================================================ */

.privacy-company-card{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));

    margin-top:22px;

    border:1px solid #292929;
    border-radius:14px;

    overflow:hidden;
}

.privacy-company-card > div{
    display:flex;
    flex-direction:column;
    gap:7px;

    min-height:90px;
    padding:20px;

    border-right:1px solid #292929;
    border-bottom:1px solid #292929;
}

.privacy-company-card > div:nth-child(2n){
    border-right:0;
}

.privacy-company-card > div:nth-last-child(-n+2){
    border-bottom:0;
}

.privacy-company-card span{
    color:#666666;

    font-size:9px;
    font-weight:700;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.privacy-company-card strong{
    color:#e2e2e2;

    font-size:13px;
    font-weight:600;
    line-height:1.5;
}


/* ============================================================
   СПИСКИ С ИКОНКАМИ
============================================================ */

.privacy-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;

    margin-top:22px;
}

.privacy-list > div{
    display:flex;
    align-items:flex-start;
    gap:13px;

    padding:18px;

    background:#101010;

    border:1px solid #272727;
    border-radius:13px;
}

.privacy-list i{
    display:flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    flex:0 0 38px;

    color:#76b900;

    font-size:19px;

    background:rgba(118,185,0,.08);

    border:1px solid rgba(118,185,0,.18);
    border-radius:9px;
}

.privacy-list p{
    margin:0;

    color:#8d8d8d;

    font-size:12px;
    line-height:1.6;
}

.privacy-list strong{
    display:block;

    margin-bottom:4px;

    color:#e2e2e2;

    font-size:13px;
}


/* ============================================================
   ПРЕДУПРЕЖДЕНИЕ
============================================================ */

.privacy-warning{
    display:flex;
    align-items:flex-start;
    gap:12px;

    margin-top:18px;
    padding:16px;

    background:rgba(118,185,0,.045);

    border:1px solid rgba(118,185,0,.22);
    border-left:3px solid #76b900;
    border-radius:11px;
}

.privacy-warning i{
    flex-shrink:0;

    color:#76b900;
    font-size:20px;
}

.privacy-warning p{
    margin:0;

    color:#a7a7a7;

    font-size:12px;
}


/* ============================================================
   СТОРОННИЕ СЕРВИСЫ
============================================================ */

.privacy-services{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;

    margin-top:22px;
}

.privacy-services > div{
    display:flex;
    align-items:center;
    gap:13px;

    padding:16px;

    background:#101010;

    border:1px solid #272727;
    border-radius:12px;
}

.privacy-services i{
    display:flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    flex:0 0 38px;

    color:#76b900;

    font-size:20px;

    background:rgba(118,185,0,.08);

    border-radius:9px;
}

.privacy-services div > div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.privacy-services strong{
    color:#ffffff;

    font-size:13px;
}

.privacy-services span{
    color:#777777;

    font-size:10px;
    line-height:1.4;
}


/* ============================================================
   КОД
============================================================ */

.privacy-code{
    display:inline-flex;

    margin-top:15px;
    padding:10px 13px;

    color:#76b900;

    font-size:12px;

    background:#080808;

    border:1px solid #292929;
    border-radius:8px;
}


/* ============================================================
   КОНТАКТЫ
============================================================ */

.privacy-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;

    margin-top:23px;
}

.privacy-contact-grid a{
    display:flex;
    align-items:center;
    gap:13px;

    min-height:75px;
    padding:16px;

    color:#ffffff;

    background:#101010;

    border:1px solid #292929;
    border-radius:13px;

    transition:
        border-color .2s ease,
        background .2s ease;
}

.privacy-contact-grid a:hover{
    background:#121212;
    border-color:#76b900;
}

.privacy-contact-grid i{
    display:flex;
    align-items:center;
    justify-content:center;

    width:40px;
    height:40px;

    flex:0 0 40px;

    color:#76b900;

    font-size:20px;

    background:rgba(118,185,0,.08);

    border:1px solid rgba(118,185,0,.18);
    border-radius:10px;
}

.privacy-contact-grid span{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.privacy-contact-grid small{
    color:#686868;

    font-size:9px;
    font-weight:700;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.privacy-contact-grid strong{
    color:#ffffff;

    font-size:13px;
    font-weight:600;
}

.privacy-operator-address{
    display:flex;
    align-items:center;
    gap:13px;

    margin-top:10px;
    padding:16px;

    background:#101010;

    border:1px solid #292929;
    border-radius:13px;
}

.privacy-operator-address > i{
    display:flex;
    align-items:center;
    justify-content:center;

    width:40px;
    height:40px;

    flex:0 0 40px;

    color:#76b900;

    font-size:20px;

    background:rgba(118,185,0,.08);
    border-radius:10px;
}

.privacy-operator-address div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.privacy-operator-address small{
    color:#686868;

    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
}

.privacy-operator-address strong{
    color:#d7d7d7;

    font-size:12px;
    line-height:1.5;
}

.privacy-document-footer{
    display:flex;
    align-items:center;
    gap:11px;

    margin-top:18px;
    padding:17px 19px;

    color:#8e8e8e;

    border-top:1px solid #242424;
}

.privacy-document-footer i{
    color:#76b900;
    font-size:20px;
}

.privacy-document-footer p{
    margin:0;

    font-size:11px;
    line-height:1.5;
}


/* ============================================================
   ПЛАНШЕТ
============================================================ */

@media(max-width:1000px){

    .privacy-hero-content{
        grid-template-columns:1fr;
        gap:40px;
    }

    .privacy-hero-meta{
        max-width:600px;
    }

    .privacy-layout{
        grid-template-columns:1fr;
        gap:30px;
    }

    .privacy-navigation{
        position:relative;
        top:auto;
    }

    .privacy-navigation nav{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:5px 20px;
    }
}


/* ============================================================
   ТЕЛЕФОН
============================================================ */

@media(max-width:700px){

    .privacy-header-back{
        width:40px;
        min-width:40px;
        height:40px;
        min-height:40px;

        padding:0;
    }

    .privacy-header-back span{
        display:none;
    }

    .privacy-hero{
        padding:
            48px
            max(16px,env(safe-area-inset-right))
            48px
            max(16px,env(safe-area-inset-left));
    }

    .privacy-breadcrumbs{
        margin-bottom:32px;
    }

    .privacy-hero h1{
        font-size:clamp(46px,15vw,68px);
        line-height:.92;
        letter-spacing:-2px;
    }

    .privacy-hero-description{
        margin-top:23px;

        font-size:14px;
    }

    .privacy-content-section{
        padding:
            45px
            max(14px,env(safe-area-inset-right))
            65px
            max(14px,env(safe-area-inset-left));
    }

    .privacy-navigation-inner{
        padding:17px;
    }

    .privacy-navigation nav{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .privacy-block{
        padding:25px 20px;
        border-radius:15px;
    }

    .privacy-block-number{
        top:22px;
        right:20px;

        font-size:29px;
    }

    .privacy-block h2{
        font-size:25px;
    }

    .privacy-block p,
    .privacy-block li{
        font-size:13px;
    }

    .privacy-company-card,
    .privacy-list,
    .privacy-services,
    .privacy-contact-grid{
        grid-template-columns:1fr;
    }

    .privacy-company-card > div,
    .privacy-company-card > div:nth-child(2n),
    .privacy-company-card > div:nth-last-child(-n+2){
        min-height:auto;

        border-right:0;
        border-bottom:1px solid #292929;
    }

    .privacy-company-card > div:last-child{
        border-bottom:0;
    }
}


/* ============================================================
   МАЛЕНЬКИЙ ТЕЛЕФОН
============================================================ */

@media(max-width:430px){

    .privacy-navigation nav{
        grid-template-columns:1fr;
    }

    .privacy-hero-meta > div{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }

    .privacy-hero-meta strong{
        text-align:left;
    }

    .privacy-block{
        padding:23px 17px;
    }

    .privacy-block h2{
        max-width:78%;

        font-size:23px;
    }
}


/* ============================================================
   СВЕТЛАЯ ТЕМА
============================================================ */

body.light-theme .privacy-page,
body.light-theme .privacy-content-section{
    background:#f5f7fa;
}

body.light-theme .privacy-hero{
    background:
        radial-gradient(
            circle at 84% 20%,
            rgba(118,185,0,.10),
            transparent 30%
        ),
        #ffffff;

    border-color:#e2e8f0;
}

body.light-theme .privacy-hero-grid{
    background-image:
        linear-gradient(
            rgba(15,23,42,.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(15,23,42,.045) 1px,
            transparent 1px
        );
}

body.light-theme .privacy-hero h1,
body.light-theme .privacy-block h2{
    color:#111111;
}

body.light-theme .privacy-hero-description,
body.light-theme .privacy-block p,
body.light-theme .privacy-block li{
    color:#5f6670;
}

body.light-theme .privacy-breadcrumbs{
    color:#7b8490;
}

body.light-theme .privacy-breadcrumbs a{
    color:#59616b;
}

body.light-theme .privacy-hero-meta{
    border-color:#dfe5eb;
}

body.light-theme .privacy-hero-meta > div{
    border-color:#dfe5eb;
}

body.light-theme .privacy-hero-meta span{
    color:#7b8490;
}

body.light-theme .privacy-hero-meta strong{
    color:#20252b;
}

body.light-theme .privacy-navigation-inner,
body.light-theme .privacy-block,
body.light-theme .privacy-intro{
    background:#ffffff;

    border-color:#e1e7ed;

    box-shadow:0 10px 30px rgba(15,23,42,.04);
}

body.light-theme .privacy-navigation-title,
body.light-theme .privacy-navigation a{
    border-color:#e5eaf0;
}

body.light-theme .privacy-navigation a{
    color:#66707b;
}

body.light-theme .privacy-navigation a:hover{
    color:#111111;
}

body.light-theme .privacy-intro p{
    color:#444c55;
}

body.light-theme .privacy-company-card,
body.light-theme .privacy-company-card > div,
body.light-theme .privacy-list > div,
body.light-theme .privacy-services > div,
body.light-theme .privacy-contact-grid a,
body.light-theme .privacy-operator-address{
    background:#f9fafb;
    border-color:#e2e7ec;
}

body.light-theme .privacy-company-card strong,
body.light-theme .privacy-list strong,
body.light-theme .privacy-services strong,
body.light-theme .privacy-contact-grid strong,
body.light-theme .privacy-operator-address strong{
    color:#111111;
}

body.light-theme .privacy-list p,
body.light-theme .privacy-services span{
    color:#65707a;
}

body.light-theme .privacy-warning{
    background:rgba(118,185,0,.05);
}

body.light-theme .privacy-warning p{
    color:#4f5963;
}

body.light-theme .privacy-code{
    color:#568800;

    background:#f3f5f7;
    border-color:#dfe5eb;
}

body.light-theme .privacy-document-footer{
    color:#6c7580;
    border-color:#e1e7ed;
}


/* ============================================================
   БЕЗ HOVER
============================================================ */

@media(hover:none) and (pointer:coarse){

    .privacy-header-back:hover{
        background:#76b900;
        border-color:#76b900;
        box-shadow:none;
    }

    .privacy-contact-grid a:hover{
        background:#101010;
        border-color:#292929;
    }

    body.light-theme .privacy-contact-grid a:hover{
        background:#f9fafb;
        border-color:#e2e7ec;
    }
}










/* ============================================================
   COOKIE / PRIVACY BANNER
============================================================ */

.cookie-banner{
    position:fixed;
    z-index:15000;

    right:22px;
    bottom:22px;
    left:22px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;

    width:calc(100% - 44px);
    max-width:1160px;

    margin:0 auto;
    padding:18px;

    background:rgba(12,12,12,.98);

    border:1px solid #292929;
    border-radius:16px;

    box-shadow:
        0 24px 70px rgba(0,0,0,.52),
        0 0 25px rgba(118,185,0,.05);

    opacity:0;
    visibility:hidden;
    transform:translateY(24px);

    transition:
        opacity .28s ease,
        visibility .28s ease,
        transform .28s ease;
}

.cookie-banner[hidden]{
    display:none;
}

.cookie-banner.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.cookie-banner.is-closing{
    opacity:0;
    visibility:hidden;
    transform:translateY(18px);
}


/* Левая часть */

.cookie-banner__content{
    display:flex;
    align-items:center;
    gap:14px;

    min-width:0;
}

.cookie-banner__icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:46px;
    height:46px;

    flex:0 0 46px;

    color:#76b900;

    font-size:22px;

    background:rgba(118,185,0,.08);

    border:1px solid rgba(118,185,0,.2);
    border-radius:12px;
}

.cookie-banner__text{
    min-width:0;
}

.cookie-banner__text strong{
    display:block;

    margin-bottom:5px;

    color:#ffffff;

    font-size:14px;
    font-weight:700;
}

.cookie-banner__text p{
    max-width:650px;

    margin:0;

    color:#8d8d8d;

    font-size:12px;
    line-height:1.55;
}


/* Кнопки */

.cookie-banner__actions{
    display:flex;
    align-items:center;
    gap:9px;

    flex:0 0 auto;
}

.cookie-banner__policy,
.cookie-banner__accept{
    display:flex;
    align-items:center;
    justify-content:center;

    min-height:42px;
    padding:0 16px;

    font-size:12px;
    font-weight:700;
    line-height:1.2;
    text-align:center;
    text-decoration:none;

    border-radius:9px;

    cursor:pointer;

    transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.cookie-banner__policy{
    color:#d4d4d4;

    background:#151515;

    border:1px solid #303030;
}

.cookie-banner__policy:hover{
    color:#ffffff;

    background:#1a1a1a;
    border-color:#76b900;
}

.cookie-banner__accept{
    color:#080808;

    background:#76b900;

    border:1px solid #76b900;
}

.cookie-banner__accept:hover{
    background:#86cf00;
    border-color:#86cf00;

    box-shadow:0 0 22px rgba(118,185,0,.22);
}


/* ============================================================
   СВЕТЛАЯ ТЕМА
============================================================ */

body.light-theme .cookie-banner{
    background:rgba(255,255,255,.98);

    border-color:#dfe5eb;

    box-shadow:
        0 22px 60px rgba(15,23,42,.16),
        0 0 22px rgba(118,185,0,.04);
}

body.light-theme .cookie-banner__text strong{
    color:#111111;
}

body.light-theme .cookie-banner__text p{
    color:#626b75;
}

body.light-theme .cookie-banner__policy{
    color:#313840;

    background:#f4f6f8;
    border-color:#dce2e8;
}

body.light-theme .cookie-banner__policy:hover{
    color:#111111;

    background:#ffffff;
    border-color:#76b900;
}


/* ============================================================
   ПЛАНШЕТ
============================================================ */

@media(max-width:850px){

    .cookie-banner{
        align-items:stretch;
        flex-direction:column;
        gap:16px;

        max-width:620px;
    }

    .cookie-banner__actions{
        justify-content:flex-end;
    }
}


/* ============================================================
   ТЕЛЕФОН
============================================================ */

@media(max-width:600px){

    .cookie-banner{
        right:12px;
        bottom:max(12px,env(safe-area-inset-bottom));
        left:12px;

        width:calc(100% - 24px);

        padding:15px;

        border-radius:15px;
    }

    .cookie-banner__content{
        align-items:flex-start;
    }

    .cookie-banner__icon{
        width:40px;
        height:40px;

        flex-basis:40px;

        font-size:20px;
        border-radius:10px;
    }

    .cookie-banner__text strong{
        font-size:13px;
    }

    .cookie-banner__text p{
        font-size:11px;
        line-height:1.5;
    }

    .cookie-banner__actions{
        display:grid;
        grid-template-columns:1fr 1fr;

        width:100%;
    }

    .cookie-banner__policy,
    .cookie-banner__accept{
        width:100%;
        min-height:44px;

        padding:0 12px;

        font-size:11px;
    }
}


/* ============================================================
   ОЧЕНЬ МАЛЕНЬКИЙ ТЕЛЕФОН
============================================================ */

@media(max-width:380px){

    .cookie-banner{
        right:8px;
        left:8px;

        width:calc(100% - 16px);
    }

    .cookie-banner__actions{
        grid-template-columns:1fr;
    }
}


/* ============================================================
   БЕЗ HOVER
============================================================ */

@media(hover:none) and (pointer:coarse){

    .cookie-banner__policy:hover{
        color:#d4d4d4;
        background:#151515;
        border-color:#303030;
    }

    .cookie-banner__accept:hover{
        background:#76b900;
        border-color:#76b900;
        box-shadow:none;
    }

    body.light-theme .cookie-banner__policy:hover{
        color:#313840;
        background:#f4f6f8;
        border-color:#dce2e8;
    }
}