/*
 * Прототип CSS для новой главной страницы 3000K / «Тёплый свет».
 * Рабочий путь на сайте: /bitrix/templates/elektro_flat/homepage-redesign.css
 */
/* COMMON */
.home-redesign { --home-bg: #f6f4ef; --home-card: #ffffff; --home-text: #1f2328; --home-muted: #667085; --home-line: rgba(31, 35, 40, 0.12); --home-blue: #0077cc; --home-blue-dark: #005fa3; --home-warm: #d8b15f; --home-dark: #141922; --home-dark-soft: #202938; --home-radius: 24px; --home-shadow: 0 18px 60px rgba(17, 24, 39, 0.10); color: var(--home-text); }
.home-redesign, .home-redesign * { box-sizing: border-box; }
.home-redesign img { max-width: 100%; height: auto; display: block; }
.home-redesign a { color: inherit; }
.home-section, .home-hero { max-width: 1424px; margin: 0 auto; padding: 46px 18px; }
.home-eyebrow { margin-bottom: 12px; color: var(--home-blue); font-size: 13px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.home-section__head { max-width: 820px; margin-bottom: 28px; }
.home-section__head--row { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.home-section__head h2, .home-consult h2, .home-exclusive h2, .home-designers h2, .home-final h2, .home-reviews h2, .home-trust h2 { margin: 0 0 12px; color: #4f586f; font-family: 'Times New Roman', Times, Georgia, serif; font-size: clamp(36px, 3.4vw, 52px); font-weight: 500; line-height: 1.04; letter-spacing: -0.05em; }
.home-section__head p, .home-lead, .home-consult p, .home-exclusive p, .home-designers p, .home-final p, .home-reviews p { margin: 0; color: var(--home-muted); font-size: 17px; line-height: 1.65; }
.home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 24px; }
.home-actions--right { justify-content: flex-end; min-width: 320px; }
.home-btn, .home-link { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 18px; border-radius: 999px; font-weight: 800; line-height: 1.15; text-decoration: none; transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease; }
.home-btn:hover, .home-link:hover, .home-card:hover, .home-service:hover, .home-category:hover, .home-project:hover, .home-article:hover, .home-rating:hover { transform: translateY(-2px); }
.home-btn--primary { color: #fff; background: var(--home-blue); box-shadow: 0 14px 35px rgba(0, 119, 204, 0.22); }
.home-btn--primary:hover { background: var(--home-blue-dark); }
.home-btn--secondary, .home-btn--ghost { color: var(--home-text); background: #fff; border: 1px solid var(--home-line); }
.home-btn--ghost { white-space: nowrap; }
.home-btn--light { color: var(--home-dark); background: #fff; }
.home-btn--outline-light { color: #fff; border: 1px solid rgba(255, 255, 255, 0.35); }
.home-link { padding-left: 4px; color: var(--home-blue); }
/* HERO */
.home-redesign .home-hero { padding-top: 18px; padding-bottom: 42px; }
.home-redesign .home-hero__slider { position: relative; height: clamp(410px, 31vw, 445px); min-height: 0; overflow: hidden; border-radius: 32px; background: #121821; box-shadow: var(--home-shadow); }
.home-redesign .home-hero__slide { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(430px, 43%) minmax(0, 57%); opacity: 0; visibility: hidden; transition: opacity 0.45s ease, visibility 0.45s ease; }
.home-redesign .home-hero__slide.is-active { opacity: 1; visibility: visible; }
.home-redesign .home-hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 42px 42px 44px 58px; color: #fff; background: linear-gradient(135deg, #121821 0%, #171d27 100%); }
.home-redesign .home-hero__content .home-eyebrow { margin: 0 0 18px; color: #f6d27d; font-size: 12px; font-weight: 900; line-height: 1.25; letter-spacing: 0.12em; text-transform: uppercase; }
.home-redesign .home-hero__title { max-width: 520px; margin: 0; color: #f5f7ff; font-size: clamp(34px, 2.75vw, 42px); font-weight: 900; line-height: 1.08; letter-spacing: -0.045em; }
.home-redesign .home-hero__lead { max-width: 500px; margin: 18px 0 0; color: rgba(255, 255, 255, 0.84); font-size: 16px; font-weight: 500; line-height: 1.45; }
.home-redesign .home-hero .home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; }
.home-redesign .home-hero a { text-decoration: none !important; }
.home-redesign .home-hero .home-btn { min-height: 46px; padding: 14px 22px; border-radius: 999px; font-size: 14px; font-weight: 900; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
.home-redesign .home-hero .home-btn--primary { background: #0788dc; color: #fff; border: 1px solid #0788dc; }
.home-redesign .home-hero .home-btn--primary:hover { background: #0077c4; color: #fff; border-color: #0077c4; }
.home-redesign .home-hero .home-btn--secondary { background: rgba(255, 255, 255, 0.96); color: #151922; border: 1px solid rgba(255, 255, 255, 0.72); }
.home-redesign .home-hero .home-btn--secondary:hover { background: #ffffff; color: #151922; border-color: #ffffff; }
.home-redesign .home-hero .home-link { color: rgba(255, 255, 255, 0.92); font-size: 14px; font-weight: 900; line-height: 1; }
.home-redesign .home-hero .home-link:hover { color: #ffffff; }
.home-redesign .home-hero__media { position: relative; z-index: 1; min-width: 0; min-height: 0; height: 100%; overflow: hidden; }
.home-redesign .home-hero__media::before { content: ''; position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg, #121821 0%, rgba(18, 24, 33, 0.92) 8%, rgba(18, 24, 33, 0.42) 30%, rgba(18, 24, 33, 0.00) 62%); pointer-events: none; }
.home-redesign .home-hero__media picture { display: block; width: 100%; height: 100%; }
.home-redesign .home-hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.home-redesign .home-hero__controls { position: absolute; right: 34px; bottom: 26px; z-index: 4; display: flex; gap: 10px; }
.home-redesign .home-hero__dot { width: 32px; height: 5px; padding: 0; border: 0; border-radius: 99px; background: rgba(255, 255, 255, 0.34); cursor: pointer; }
.home-redesign .home-hero__dot.is-active { background: #fff; }
.home-redesign .home-hero__benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.home-redesign .home-hero__benefits span { padding: 13px 16px; border-radius: 18px; background: #fff; border: 1px solid var(--home-line); color: var(--home-muted); font-weight: 800; text-align: center; }

@media (max-width: 767px) {
    .home-redesign .home-hero { padding-top: 12px; padding-bottom: 24px; }
    .home-redesign .home-hero__slider { height: 540px; border-radius: 28px; background: #121821; overflow: hidden; }
    .home-redesign .home-hero__slide { display: block; }
    .home-redesign .home-hero__media { position: absolute; inset: 0; height: 100%; }
    .home-redesign .home-hero__media::before { display: none; content: none; background: none; }
    .home-redesign .home-hero__media picture { display: block; width: 100%; height: 100%; }
    .home-redesign .home-hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; filter: none; opacity: 1; }
    .home-redesign .home-hero__content { position: absolute; left: 18px; right: 18px; bottom: 18px; z-index: 3; justify-content: flex-end; align-items: flex-start; padding: 0; background: none; }
    .home-redesign .home-hero__content::before { display: none; content: none; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
    .home-redesign .home-hero__content .home-eyebrow { display: inline-block; margin: 0 0 10px; padding: 4px 8px; color: #f6d27d; background: rgba(8, 14, 24, 0.28); border-radius: 999px; font-size: 10px; font-weight: 900; line-height: 1.2; letter-spacing: 0.1em; text-transform: uppercase; }
    .home-redesign .home-hero__title { display: inline; max-width: 100%; margin: 0; color: #f5f7ff; font-size: 27px; font-weight: 900; line-height: 1.04; letter-spacing: -0.045em; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.28); box-shadow: none; }
    .home-redesign .home-hero__lead { display: inline; max-width: 100%; margin-top: 12px; color: rgba(255, 255, 255, 0.96); font-size: 14px; font-weight: 500; line-height: 1.34; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.24); box-shadow: none; }
    .home-redesign .home-hero__title-wrap { display: block; margin: 0 0 10px; }
    .home-redesign .home-hero__lead-wrap { display: block; margin: 12px 0 0; }
    .home-redesign .home-hero__title-wrap, .home-redesign .home-hero__lead-wrap { position: relative; }
    .home-redesign .home-hero__title-wrap::before { content: ''; position: absolute; inset: -8px -10px; z-index: -1; border-radius: 18px; background: radial-gradient(ellipse at left center, rgba(8, 14, 24, 0.54) 0%, rgba(8, 14, 24, 0.34) 52%, rgba(8, 14, 24, 0.00) 100%); }
    .home-redesign .home-hero__lead-wrap::before { content: ''; position: absolute; inset: -8px -10px; z-index: -1; border-radius: 18px; background: radial-gradient(ellipse at left center, rgba(8, 14, 24, 0.46) 0%, rgba(8, 14, 24, 0.24) 54%, rgba(8, 14, 24, 0.00) 100%); }
    .home-redesign .home-hero .home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
    .home-redesign .home-hero .home-btn, .home-redesign .home-hero .home-link { text-decoration: none !important; }
    .home-redesign .home-hero .home-btn { width: auto; min-width: 0; min-height: 42px; padding: 12px 18px; border-radius: 999px; font-size: 14px; font-weight: 900; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
    .home-redesign .home-hero .home-btn--primary { background: #0788dc; color: #fff; border: 1px solid #0788dc; }
    .home-redesign .home-hero .home-btn--secondary { background: rgba(255, 255, 255, 0.96); color: #151922; border: 1px solid rgba(255, 255, 255, 0.78); }
    .home-redesign .home-hero .home-link { display: inline-block; min-height: 24px; padding: 4px 8px; color: rgba(255, 255, 255, 0.96); background: rgba(8, 14, 24, 0.20); border-radius: 999px; font-size: 14px; font-weight: 900; line-height: 1; }
    .home-redesign .home-hero__controls { top: 18px; left: 18px; right: auto; bottom: auto; z-index: 4; display: flex; gap: 8px; }
    .home-redesign .home-hero__dot { width: 26px; height: 5px; background: rgba(255, 255, 255, 0.60); }
    .home-redesign .home-hero__dot.is-active { background: #ffffff; }
    .home-redesign .home-hero__benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
    .home-redesign .home-hero__benefits span { padding: 10px 8px; border-radius: 14px; font-size: 12px; line-height: 1.2; }
}

@media (max-width: 420px) {
    .home-redesign .home-hero__slider { height: 510px; border-radius: 24px; }
    .home-redesign .home-hero__content { left: 16px; right: 16px; bottom: 16px; padding: 0; }
    .home-redesign .home-hero__title { font-size: 24px; }
    .home-redesign .home-hero__lead { margin-top: 10px; font-size: 13px; line-height: 1.32; }
    .home-redesign .home-hero__title-wrap { margin: 0 0 10px; }
    .home-redesign .home-hero__lead-wrap { margin: 10px 0 0; }
    .home-redesign .home-hero__title-wrap::before { inset: -7px -9px; border-radius: 16px; }
    .home-redesign .home-hero__lead-wrap::before { inset: -7px -9px; border-radius: 16px; }
    .home-redesign .home-hero .home-actions { gap: 8px; margin-top: 14px; }
    .home-redesign .home-hero .home-btn { min-height: 40px; padding: 11px 16px; font-size: 13px; }
    .home-redesign .home-hero .home-link { font-size: 13px; }
    .home-redesign .home-hero__controls { top: 16px; left: 16px; }
}

/* GRIDS / CARDS */
.home-grid { display: grid; gap: 18px; }
.home-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.home-grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.home-grid--catalog { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-card, .home-service, .home-category, .home-article, .home-trust-card { position: relative; overflow: hidden; border: 1px solid var(--home-line); border-radius: var(--home-radius); background: var(--home-card); box-shadow: 0 10px 35px rgba(17, 24, 39, 0.05); text-decoration: none; transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease; }
.home-card:hover, .home-service:hover, .home-category:hover, .home-article:hover { border-color: rgba(0, 119, 204, 0.25); box-shadow: var(--home-shadow); }
.home-card { min-height: 230px; padding: 24px; }
.home-card__icon { display: inline-grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border-radius: 16px; background: #eef6fc; font-size: 24px; }
.home-card h3, .home-service h3, .home-category span, .home-project h3, .home-article h3, .home-trust-card h3, .home-banner h3, .home-designers__cards h3 { margin: 0 0 10px; font-size: 21px; line-height: 1.18; letter-spacing: -0.02em; }
.home-card p, .home-service p, .home-category small, .home-project span, .home-article p, .home-trust-card p, .home-banner p, .home-designers__cards p { margin: 0; color: var(--home-muted); line-height: 1.55; }
.home-card__more, .home-service span, .home-card__label, .home-article span { display: inline-block; margin-top: 18px; color: var(--home-blue); font-weight: 900; }
.home-card__label, .home-article span { margin: 0 0 12px; color: var(--home-warm); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }


/* QUICK PATHS */
.home-redesign .home-intents { position: relative; isolation: isolate; margin-top: 34px; padding: 54px 52px 60px; border: 1px solid rgba(31, 35, 40, 0.06); border-radius: 34px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(252, 250, 246, 0.96) 100%); box-shadow: 0 18px 50px rgba(17, 24, 39, 0.06); }
.home-redesign .home-intents::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: radial-gradient(circle at 86% 20%, rgba(0, 119, 204, 0.05) 0%, rgba(0, 119, 204, 0) 36%), radial-gradient(circle at 14% 78%, rgba(216, 177, 95, 0.07) 0%, rgba(216, 177, 95, 0) 40%); pointer-events: none; }
.home-redesign .home-intents__head { max-width: 860px; margin-bottom: 36px; }
.home-redesign .home-intents .home-eyebrow { position: relative; margin: 0 0 20px; color: #b48935; font-size: 13px; font-weight: 900; letter-spacing: 0.16em; text-transform: uppercase; }
.home-redesign .home-intents .home-eyebrow::after { content: ''; display: block; width: 48px; height: 2px; margin-top: 14px; border-radius: 99px; background: #c49a45; }
.home-redesign .home-intents #home-intents-title { margin: 0 0 18px; color: #4f586f; font-family: 'Times New Roman', Times, Georgia, serif; font-size: clamp(36px, 3.4vw, 52px); font-weight: 500; line-height: 1.04; letter-spacing: -0.05em; }
.home-redesign .home-intents .home-section__head p { max-width: 760px; margin: 0; color: #4f586f; font-size: 18px; line-height: 1.62; }
.home-redesign .home-intents__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.home-redesign .home-intent-card { position: relative; display: flex; flex-direction: column; min-height: 430px; padding: 34px 28px 26px; border: 1px solid rgba(195, 167, 107, 0.20); border-radius: 24px; color: #263041; background: linear-gradient(180deg, rgba(255, 253, 248, 0.96) 0%, rgba(255, 255, 255, 0.88) 100%); box-shadow: 0 12px 30px rgba(17, 24, 39, 0.045); text-align: center; text-decoration: none !important; overflow: hidden; transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease; }
.home-redesign .home-intent-card::before { content: ''; position: absolute; left: 50%; top: 30px; width: 132px; height: 132px; margin-left: -66px; border-radius: 50%; background: radial-gradient(circle, rgba(216, 177, 95, 0.12) 0%, rgba(216, 177, 95, 0.055) 52%, rgba(216, 177, 95, 0) 73%); pointer-events: none; }
.home-redesign .home-intent-card:hover { transform: translateY(-4px); border-color: rgba(0, 119, 204, 0.22); background: #ffffff; box-shadow: 0 20px 46px rgba(17, 24, 39, 0.085); }
.home-redesign .home-intent-card--accent { border-color: rgba(0, 119, 204, 0.24); background: linear-gradient(180deg, rgba(246, 251, 255, 0.98) 0%, rgba(235, 247, 255, 0.82) 100%); box-shadow: 0 16px 38px rgba(0, 119, 204, 0.10); }
.home-redesign .home-intent-card--accent::before { background: radial-gradient(circle, rgba(0, 119, 204, 0.11) 0%, rgba(0, 119, 204, 0.05) 52%, rgba(0, 119, 204, 0) 73%); }
.home-redesign .home-intent-card__icon { position: relative; z-index: 1; display: grid; place-items: center; width: 136px; height: 136px; margin: 0 auto 18px; color: #b48935; }
.home-redesign .home-intent-card__icon svg { display: block; width: 92px; height: 92px; fill: none; stroke: currentColor; stroke-width: 2.05; stroke-linecap: round; stroke-linejoin: round; }
.home-redesign .home-intent-card--selection .home-intent-card__icon { color: #b48935; }
.home-redesign .home-intent-card--stock .home-intent-card__icon { color: #b48935; }
.home-redesign .home-intent-card--partner .home-intent-card__icon { color: #b48935; }
.home-redesign .home-intent-card h3 { position: relative; z-index: 1; margin: 0 auto; max-width: 260px; color: #263041; font-family: Georgia, 'Times New Roman', serif; font-size: 26px; font-weight: 500; line-height: 1.02; letter-spacing: -0.035em; }
.home-redesign .home-intent-card__divider { display: block; width: 42px; height: 2px; margin: 22px auto 24px; border-radius: 99px; background: #c49a45; }
.home-redesign .home-intent-card p { margin: 0; color: #596579; font-size: 15px; line-height: 1.58; text-align: left; }
.home-redesign .home-intent-card__more { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 28px; color: #263041; font-size: 15px; font-weight: 800; line-height: 1.2; text-align: left; text-decoration: none !important; }
.home-redesign .home-intent-card__more::after { content: '→'; color: #b48935; font-size: 28px; font-weight: 400; line-height: 1; transition: transform 0.18s ease, color 0.18s ease; }
.home-redesign .home-intent-card--accent .home-intent-card__more { color: var(--home-blue); }
.home-redesign .home-intent-card--accent .home-intent-card__more::after { color: var(--home-blue); }
.home-redesign .home-intent-card:hover .home-intent-card__more::after { transform: translateX(4px); color: var(--home-blue); }
@media (max-width: 1180px) { .home-redesign .home-intents { padding: 44px 34px 48px; } .home-redesign .home-intents__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-redesign .home-intent-card { min-height: 370px; } }
@media (max-width: 640px) { .home-redesign .home-intents { margin-top: 24px; padding: 30px 18px 28px; border-radius: 26px; } .home-redesign .home-intents__head { margin-bottom: 24px; } .home-redesign .home-intents #home-intents-title { font-size: 36px; line-height: 1.04; } .home-redesign .home-intents .home-section__head p { font-size: 16px; line-height: 1.55; } .home-redesign .home-intents__grid { grid-template-columns: 1fr; gap: 14px; } .home-redesign .home-intent-card { min-height: auto; padding: 24px 22px 22px; border-radius: 22px; } .home-redesign .home-intent-card__icon { width: 104px; height: 104px; margin-bottom: 14px; } .home-redesign .home-intent-card__icon svg { width: 74px; height: 74px; } .home-redesign .home-intent-card h3 { font-size: 25px; } .home-redesign .home-intent-card__divider { margin: 18px auto 18px; } .home-redesign .home-intent-card p { text-align: center; } .home-redesign .home-intent-card__more { padding-top: 22px; } }


/* SERVICES */
.home-redesign .home-services { padding-top: 46px; padding-bottom: 54px; }
.home-redesign .home-services .home-section__head { margin-bottom: 28px; }
.home-redesign .home-services .home-section__head--row { align-items: flex-end; }
.home-redesign .home-services__all { position: relative; isolation: isolate; flex: 0 0 auto; min-height: 52px; padding: 14px 26px; border: 1px solid rgba(0, 119, 204, 0.22); border-radius: 999px; color: var(--home-blue); background: linear-gradient(135deg, #ffffff 0%, #f6fbff 100%); box-shadow: 0 0 0 8px rgba(0, 119, 204, 0.035), 0 16px 38px rgba(0, 119, 204, 0.14); text-decoration: none !important; overflow: visible; }
.home-redesign .home-services__all::before { content: ''; position: absolute; inset: -18px 0; z-index: -1; border-radius: 999px; background: radial-gradient(circle, rgba(0, 119, 204, 0.18) 0%, rgba(0, 119, 204, 0.08) 36%, rgba(0, 119, 204, 0) 68%); opacity: 0.9; pointer-events: none; }
.home-redesign .home-services__all:hover { color: #ffffff; background: linear-gradient(135deg, var(--home-blue) 0%, var(--home-blue-dark) 100%); border-color: rgba(0, 119, 204, 0.60); box-shadow: 0 0 0 8px rgba(0, 119, 204, 0.055), 0 18px 46px rgba(0, 119, 204, 0.22); text-decoration: none !important; }
.home-redesign .home-services__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.home-redesign .home-services .home-service { display: flex; flex-direction: column; min-height: 390px; overflow: hidden; border: 1px solid var(--home-line); border-radius: 26px; background: #ffffff; box-shadow: 0 10px 34px rgba(17, 24, 39, 0.055); text-decoration: none !important; transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease; }
.home-redesign .home-services .home-service:hover { transform: translateY(-3px); border-color: rgba(0, 119, 204, 0.24); box-shadow: 0 18px 54px rgba(17, 24, 39, 0.105); text-decoration: none !important; }
.home-redesign .home-services .home-service img { width: 100%; height: 184px; object-fit: cover; object-position: center center; }
.home-redesign .home-services .home-service__body { display: flex; flex: 1; flex-direction: column; min-height: 0; padding: 24px 24px 22px; }
.home-redesign .home-services .home-service h3 { margin: 0 0 14px; color: #4f586f; font-size: 21px; font-weight: 800; line-height: 1.18; letter-spacing: -0.02em; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: rgba(31, 35, 40, 0.78); transition: color 0.18s ease, text-decoration-color 0.18s ease; }
.home-redesign .home-services .home-service:hover h3 { color: var(--home-blue); text-decoration-color: transparent; }
.home-redesign .home-services .home-service p { margin: 0; color: var(--home-muted); font-size: 16px; line-height: 1.55; text-decoration: none !important; }
.home-redesign .home-services .home-service__more { display: inline-flex; align-items: center; justify-content: center; width: max-content; min-height: 36px; margin-top: auto; padding: 9px 14px; border: 1px solid rgba(0, 119, 204, 0.12); border-radius: 999px; color: var(--home-blue); background: #f3f9ff; font-size: 15px; font-weight: 900; line-height: 1.15; text-decoration: none !important; transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease; }
.home-redesign .home-services .home-service:hover .home-service__more { color: #ffffff; background: var(--home-blue); border-color: var(--home-blue); text-decoration: none !important; }
@media (max-width: 1120px) {
    .home-redesign .home-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
    .home-redesign .home-services .home-section__head--row { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: start; }
    .home-redesign .home-services__all { width: max-content; }
}
@media (max-width: 640px) {
    .home-redesign .home-services { padding-top: 34px; padding-bottom: 44px; }
    .home-redesign .home-services__grid { grid-template-columns: 1fr; gap: 16px; }
    .home-redesign .home-services__all { width: 100%; }
    .home-redesign .home-services .home-service { min-height: auto; border-radius: 24px; }
    .home-redesign .home-services .home-service img { height: 190px; }
    .home-redesign .home-services .home-service__body { padding: 22px; }
}
/* CONSULT */
.home-consult { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 0.82fr); gap: 38px; align-items: center; margin-top: 28px; border-radius: calc(var(--home-radius) + 8px); background: linear-gradient(135deg, #f8fbff 0%, #fff 48%, #fff8ea 100%); box-shadow: 0 16px 50px rgba(17, 24, 39, 0.07); }
.home-consult__text, .home-consult__form { min-width: 0; }
.home-checklist { display: grid; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.home-checklist li { position: relative; padding-left: 28px; color: var(--home-text); line-height: 1.5; }
.home-checklist li::before { content: '✓'; position: absolute; left: 0; top: 0; color: var(--home-blue); font-weight: 900; }
.home-form { padding: 26px; border: 1px solid var(--home-line); border-radius: var(--home-radius); background: #fff; box-shadow: var(--home-shadow); }
.home-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.home-form label { display: grid; gap: 7px; margin-bottom: 14px; color: var(--home-text); font-weight: 800; }
.home-form input[type='text'], .home-form input[type='tel'], .home-form textarea { width: 100%; min-height: 48px; padding: 13px 14px; border: 1px solid rgba(31, 35, 40, 0.16); border-radius: 14px; outline: none; font: inherit; font-weight: 500; background: #fbfcfd; }
.home-form textarea { resize: vertical; }
.home-form input:focus, .home-form textarea:focus { border-color: rgba(0, 119, 204, 0.6); box-shadow: 0 0 0 3px rgba(0, 119, 204, 0.08); }
.home-file { position: relative; cursor: pointer; }
.home-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.home-file span { display: block; padding: 14px; border: 1px dashed rgba(0, 119, 204, 0.45); border-radius: 14px; color: var(--home-blue); background: #f4faff; text-align: center; }
.home-agree { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 10px !important; font-size: 13px; font-weight: 500 !important; line-height: 1.45; }
.home-agree input { margin-top: 3px; }
.home-agree a { color: var(--home-blue); }
.home-form__submit { width: 100%; border: 0; cursor: pointer; font: inherit; }
.home-form__note, .home-form__result { margin-top: 12px; color: var(--home-muted); font-size: 13px; line-height: 1.45; text-align: center; }
/* DIRECTIONS */
.home-banner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.home-banner { overflow: hidden; border-radius: calc(var(--home-radius) + 4px); background: var(--home-dark); color: #fff; box-shadow: var(--home-shadow); }
.home-banner img { width: 100%; height: 250px; object-fit: cover; opacity: 0.85; }
.home-banner__content { padding: 30px; }
.home-banner .home-eyebrow { color: #f6d27d; }
.home-banner h3 { font-size: clamp(27px, 3vw, 40px); }
.home-banner p, .home-banner li { color: rgba(255, 255, 255, 0.78); }
.home-banner ul { display: grid; gap: 7px; margin: 20px 0 0; padding-left: 20px; }

/* EXCLUSIVE */
.home-redesign .home-exclusive { position: relative; isolation: isolate; overflow: hidden; margin-top: 30px; padding: 56px 48px 42px; border: 1px solid rgba(195, 167, 107, 0.24); border-radius: 34px; color: #2f3744; background: radial-gradient(circle at 8% 18%, rgba(216, 177, 95, 0.10) 0%, rgba(216, 177, 95, 0.04) 28%, rgba(216, 177, 95, 0) 55%), radial-gradient(circle at 92% 12%, rgba(0, 119, 204, 0.08) 0%, rgba(0, 119, 204, 0.03) 34%, rgba(0, 119, 204, 0) 62%), linear-gradient(135deg, #fbf7ef 0%, #fffdf8 45%, #f8f1e5 100%); box-shadow: 0 20px 58px rgba(17, 24, 39, 0.07); }
.home-redesign .home-exclusive::before { content: ''; position: absolute; left: -34px; top: 20px; width: 190px; height: 440px; background: radial-gradient(ellipse at center, rgba(195, 167, 107, 0.11) 0%, rgba(195, 167, 107, 0.04) 42%, rgba(195, 167, 107, 0) 68%); transform: rotate(-8deg); pointer-events: none; }
.home-redesign .home-exclusive::after { content: ''; position: absolute; left: 48px; right: 48px; bottom: 112px; height: 1px; background: linear-gradient(90deg, rgba(195, 167, 107, 0.26), rgba(195, 167, 107, 0.10) 46%, rgba(195, 167, 107, 0.26)); pointer-events: none; }
.home-redesign .home-exclusive__content { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(560px, 1.14fr); gap: 56px; align-items: center; }
.home-redesign .home-exclusive__left { min-width: 0; }
.home-redesign .home-exclusive__eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 28px; color: #b48935; font-size: 13px; font-weight: 900; line-height: 1.1; letter-spacing: 0.20em; text-transform: uppercase; }
.home-redesign .home-exclusive__spark { display: inline-grid; place-items: center; width: 18px; height: 18px; color: #c79a3b; font-size: 17px; line-height: 1; }
.home-redesign .home-exclusive h2 { max-width: 640px; margin: 0; color: #4f586f; font-family: 'Times New Roman', Times, Georgia, serif; font-size: clamp(36px, 3.4vw, 52px); font-weight: 500; line-height: 1.04; letter-spacing: -0.05em; }
.home-redesign .home-exclusive__line { width: 54px; height: 3px; margin: 32px 0 34px; border-radius: 999px; background: #c49a45; }
.home-redesign .home-exclusive__lead { max-width: 610px; margin: 0; color: #445064; font-size: 19px; font-weight: 400; line-height: 1.72; }
.home-redesign .home-exclusive__sublead { max-width: 610px; margin: 26px 0 0; color: #69758c; font-size: 16px; font-weight: 500; line-height: 1.55; }
.home-redesign .home-exclusive__sections { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px 18px; }
.home-redesign .home-exclusive__section { grid-column: span 3; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 196px; padding: 22px 16px 20px; border: 1px solid rgba(195, 167, 107, 0.28); border-radius: 20px; color: #3c4558; background: linear-gradient(180deg, rgba(255, 253, 248, 0.92) 0%, rgba(255, 248, 235, 0.74) 100%); box-shadow: 0 12px 28px rgba(17, 24, 39, 0.045); text-align: center; text-decoration: none !important; transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease; }
.home-redesign .home-exclusive__section:nth-child(n+5) { grid-column: span 4; min-height: 162px; }
.home-redesign .home-exclusive__section--blue { border-color: rgba(0, 119, 204, 0.18); background: linear-gradient(180deg, rgba(248, 252, 255, 0.95) 0%, rgba(237, 247, 255, 0.70) 100%); }
.home-redesign .home-exclusive__section--wide { grid-column: span 4; min-height: 162px; }
.home-redesign .home-exclusive__section:hover { transform: translateY(-3px); border-color: rgba(0, 119, 204, 0.26); background: #ffffff; box-shadow: 0 18px 42px rgba(17, 24, 39, 0.08); text-decoration: none !important; }
.home-redesign .home-exclusive__icon { display: grid; place-items: center; width: 66px; height: 66px; margin: 0 0 14px; color: #b48935; }
.home-redesign .home-exclusive__icon svg { display: block; width: 64px; height: 64px; fill: none; stroke: currentColor; stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
.home-redesign .home-exclusive__label { display: block; min-height: 48px; color: #3f4656; font-size: 18px; font-weight: 500; line-height: 1.32; }
.home-redesign .home-exclusive__section:nth-child(n+5) .home-exclusive__label { min-height: 0; }
.home-redesign .home-exclusive__count { display: inline-flex; align-items: center; justify-content: center; min-width: 62px; min-height: 34px; margin-top: 15px; padding: 7px 14px; border: 1px solid rgba(195, 167, 107, 0.20); border-radius: 999px; color: #2f3744; background: rgba(255, 245, 224, 0.72); font-size: 16px; font-weight: 600; line-height: 1; }
.home-redesign .home-exclusive__section--blue .home-exclusive__count { border-color: rgba(0, 119, 204, 0.13); background: rgba(234, 246, 255, 0.82); }
.home-redesign .home-exclusive__section:hover .home-exclusive__count { color: #ffffff; background: var(--home-blue); border-color: var(--home-blue); }
.home-redesign .home-exclusive__brandline { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(15, minmax(0, 1fr)); gap: 0; margin-top: 50px; padding-top: 26px; border-top: 1px solid rgba(195, 167, 107, 0.26); }
.home-redesign .home-exclusive__brandline::before { content: '✦'; position: absolute; left: 50%; top: -12px; width: 30px; height: 24px; margin-left: -15px; color: #c49a45; background: #fbf7ef; font-size: 16px; line-height: 24px; text-align: center; }
.home-redesign .home-exclusive__brandline span { display: grid; gap: 5px; min-width: 0; padding: 0 10px; border-right: 1px solid rgba(195, 167, 107, 0.22); color: #6b7280; text-align: center; }
.home-redesign .home-exclusive__brandline span:last-child { border-right: 0; }
.home-redesign .home-exclusive__brandline strong { overflow: hidden; color: #5d6576; font-size: 12px; font-weight: 600; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.home-redesign .home-exclusive__brandline em { overflow: hidden; color: #8a93a4; font-size: 11px; font-style: normal; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1240px) { .home-redesign .home-exclusive__content { grid-template-columns: 1fr; gap: 36px; } .home-redesign .home-exclusive__sections { grid-template-columns: repeat(12, minmax(0, 1fr)); } .home-redesign .home-exclusive__brandline { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px 0; } .home-redesign .home-exclusive__brandline span:nth-child(5n) { border-right: 0; } }
@media (max-width: 920px) { .home-redesign .home-exclusive { padding: 38px 28px 34px; } .home-redesign .home-exclusive::after { left: 28px; right: 28px; bottom: 128px; } .home-redesign .home-exclusive h2 { font-size: clamp(36px, 3.4vw, 52px); } .home-redesign .home-exclusive__sections { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-redesign .home-exclusive__section, .home-redesign .home-exclusive__section:nth-child(n+5), .home-redesign .home-exclusive__section--wide { grid-column: span 1; min-height: 168px; } .home-redesign .home-exclusive__brandline { grid-template-columns: repeat(3, minmax(0, 1fr)); } .home-redesign .home-exclusive__brandline span:nth-child(5n) { border-right: 1px solid rgba(195, 167, 107, 0.22); } .home-redesign .home-exclusive__brandline span:nth-child(3n) { border-right: 0; } }
@media (max-width: 640px) { .home-redesign .home-exclusive { margin-top: 22px; padding: 30px 18px 26px; border-radius: 26px; } .home-redesign .home-exclusive::before { left: -90px; top: -20px; opacity: 0.75; } .home-redesign .home-exclusive::after { content: none; } .home-redesign .home-exclusive__eyebrow { margin-bottom: 18px; font-size: 12px; letter-spacing: 0.14em; } .home-redesign .home-exclusive h2 { font-size: 36px; line-height: 1.04; } .home-redesign .home-exclusive__line { margin: 24px 0 24px; } .home-redesign .home-exclusive__lead { font-size: 17px; line-height: 1.62; } .home-redesign .home-exclusive__sublead { margin-top: 18px; font-size: 15px; } .home-redesign .home-exclusive__content { gap: 26px; } .home-redesign .home-exclusive__sections { grid-template-columns: 1fr; gap: 12px; } .home-redesign .home-exclusive__section, .home-redesign .home-exclusive__section:nth-child(n+5), .home-redesign .home-exclusive__section--wide { min-height: 94px; display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 12px; align-items: center; justify-content: stretch; padding: 14px; text-align: left; } .home-redesign .home-exclusive__icon { width: 54px; height: 54px; margin: 0; } .home-redesign .home-exclusive__icon svg { width: 50px; height: 50px; } .home-redesign .home-exclusive__label { min-height: 0; font-size: 17px; font-weight: 700; } .home-redesign .home-exclusive__count { min-width: 54px; margin: 0; font-size: 15px; } .home-redesign .home-exclusive__brandline { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 0; margin-top: 28px; padding-top: 22px; } .home-redesign .home-exclusive__brandline span { padding: 0 8px; } .home-redesign .home-exclusive__brandline span:nth-child(3n) { border-right: 1px solid rgba(195, 167, 107, 0.22); } .home-redesign .home-exclusive__brandline span:nth-child(2n) { border-right: 0; } }


/* CATALOG */
.home-category { display: block; min-height: 138px; padding: 22px; }
.home-category span { display: block; }
.home-category small { display: block; font-size: 14px; }
/* PROJECTS */
.home-redesign .home-projects { padding-top: 46px; padding-bottom: 58px; }
.home-redesign .home-projects .home-section__head { max-width: none; margin-bottom: 22px; }
.home-redesign .home-projects .home-section__head--row { display: block; }
.home-redesign .home-projects__tabs { display: flex; flex-wrap: nowrap; gap: 10px; margin: 0 0 20px; overflow-x: auto; padding: 4px 4px 10px; scrollbar-width: none; scroll-behavior: smooth; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.home-redesign .home-projects__tabs::-webkit-scrollbar { display: none; }
.home-redesign .home-projects__tabs button { flex: 0 0 auto; min-height: 40px; padding: 9px 17px; border: 1px solid rgba(0, 119, 204, 0.12); border-radius: 999px; color: var(--home-blue); background: #f3f9ff; font: inherit; font-size: 15px; font-weight: 900; line-height: 1.15; white-space: nowrap; cursor: pointer; scroll-snap-align: center; transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease; }
.home-redesign .home-projects__tabs button:hover, .home-redesign .home-projects__tabs button.is-active { color: #ffffff; background: var(--home-blue); border-color: var(--home-blue); box-shadow: 0 12px 28px rgba(0, 119, 204, 0.18); }
.home-redesign .home-project-carousel { position: relative; }
.home-redesign .home-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; overflow: visible; padding: 0; }
.home-redesign .home-project-grid::-webkit-scrollbar { display: none; }
.home-redesign .home-project[hidden] { display: none !important; }
.home-redesign .home-project { position: relative; min-height: 330px; overflow: hidden; border-radius: var(--home-radius); background: var(--home-dark); color: #fff; text-decoration: none !important; box-shadow: 0 10px 35px rgba(17, 24, 39, 0.08); transition: transform 0.18s ease, box-shadow 0.18s ease; }
.home-redesign .home-project:hover { transform: translateY(-3px); box-shadow: 0 18px 54px rgba(17, 24, 39, 0.16); text-decoration: none !important; }
.home-redesign .home-project__image { position: relative; display: block; width: 100%; height: 230px; margin: 0; padding: 0; overflow: hidden; }
.home-redesign .home-project__image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 25, 34, 0) 50%, rgba(20, 25, 34, 0.42) 100%); opacity: 0; transition: opacity 0.18s ease; pointer-events: none; }
.home-redesign .home-project img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1); transition: transform 0.32s ease; }
.home-redesign .home-project:hover img { transform: scale(1.04); }
.home-redesign .home-project:hover .home-project__image::after { opacity: 1; }
.home-redesign .home-project__watch { position: absolute; right: 16px; top: 16px; z-index: 2; display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 8px 15px; border: 1px solid rgba(0, 119, 204, 0.12); border-radius: 999px; color: rgba(0, 119, 204, 0.82); background: rgba(255, 255, 255, 0.88); box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.18), 0 12px 28px rgba(0, 119, 204, 0.12); font-size: 14px; font-weight: 900; line-height: 1.1; opacity: 0; transform: translateY(-6px); transition: opacity 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease; }
.home-redesign .home-project:hover .home-project__watch { opacity: 1; transform: translateY(0); background: rgba(255, 255, 255, 0.94); box-shadow: 0 0 0 10px rgba(0, 119, 204, 0.045), 0 14px 34px rgba(0, 119, 204, 0.16); }
.home-redesign .home-project__label { display: block; margin-top: 18px; padding-inline: 20px; color: #f6d27d; font-size: 12px; font-weight: 900; line-height: 1.25; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none !important; }
.home-redesign .home-project h3 { display: block; margin: 8px 0 22px; padding-inline: 20px; color: #fff; font-size: 21px; font-weight: 800; line-height: 1.18; letter-spacing: -0.02em; text-decoration: none !important; }
.home-redesign .home-project-nav { display: none !important; }
.home-redesign .home-projects__footer { display: flex; justify-content: center; margin-top: 26px; }
.home-redesign .home-projects__big-link { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 58px; padding: 16px 32px; border-radius: 999px; color: #ffffff !important; background: linear-gradient(135deg, var(--home-blue) 0%, var(--home-blue-dark) 100%); box-shadow: 0 0 0 10px rgba(0, 119, 204, 0.055), 0 22px 54px rgba(0, 119, 204, 0.28); font-size: 17px; font-weight: 900; line-height: 1.1; text-decoration: none !important; transition: transform 0.18s ease, box-shadow 0.18s ease; }
.home-redesign .home-projects__big-link::before { content: ''; position: absolute; inset: -24px 0; z-index: -1; border-radius: 999px; background: radial-gradient(circle, rgba(0, 119, 204, 0.22) 0%, rgba(0, 119, 204, 0.10) 36%, rgba(0, 119, 204, 0) 70%); pointer-events: none; }
.home-redesign .home-projects__big-link:hover { transform: translateY(-2px); box-shadow: 0 0 0 10px rgba(0, 119, 204, 0.075), 0 26px 64px rgba(0, 119, 204, 0.34); text-decoration: none !important; }
.home-redesign .home-projects__big-link span, .home-redesign .home-projects__big-link strong { color: inherit; text-decoration: none !important; }
.home-redesign .home-projects__big-link strong { font-weight: 900; }
@media (max-width: 767px) { .home-redesign .home-projects { padding-top: 34px; padding-bottom: 48px; } .home-redesign .home-projects__tabs { margin-bottom: 16px; padding-inline: 4px; } .home-redesign .home-project-grid { display: flex; gap: 16px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 0 0 12px; scrollbar-width: none; touch-action: pan-x; -webkit-overflow-scrolling: touch; } .home-redesign .home-project-grid::-webkit-scrollbar { display: none; } .home-redesign .home-project { flex: 0 0 86%; min-height: auto; border-radius: 24px; scroll-snap-align: start; } .home-redesign .home-project__image { height: 210px; } .home-redesign .home-project__watch { top: 14px; right: 14px; min-height: 34px; padding: 8px 13px; font-size: 13px; opacity: 0.86; transform: none; background: rgba(255, 255, 255, 0.82); box-shadow: 0 0 0 8px rgba(0, 119, 204, 0.035), 0 12px 26px rgba(0, 119, 204, 0.12); } .home-redesign .home-project:hover .home-project__watch { opacity: 0.92; transform: none; background: rgba(255, 255, 255, 0.90); } .home-redesign .home-projects__big-link { width: 100%; flex-wrap: wrap; padding: 15px 20px; text-align: center; } }
/* PROMOTIONS */
.home-redesign .home-promotions { position: relative; isolation: isolate; margin: 10px auto 18px; padding: 26px 46px 34px; border: 0; border-radius: 0; background: linear-gradient(90deg, rgba(232,244,255,0.90) 0%, rgba(247,249,252,0.96) 46%, rgba(255,248,235,0.90) 100%); box-shadow: none; overflow: hidden; }
.home-redesign .home-promotions::before { content: ''; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.18) 16%, rgba(255,255,255,0.10) 84%, rgba(255,255,255,0.66) 100%); pointer-events: none; }
.home-redesign .home-promotions::after { content: none; }
.home-redesign .home-promotions .home-section__head { position: relative; z-index: 2; margin: 0 0 22px; }
.home-redesign .home-promotions .home-section__head--row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: end; }
.home-redesign .home-promotions .home-eyebrow { margin: 0 0 12px; color: #0077cc; }
.home-redesign .home-promotions #home-promotions-title { margin: 0 0 14px; color: #4f586f; font-family: 'Times New Roman', Times, Georgia, serif; font-size: clamp(36px, 3.4vw, 52px) !important; font-weight: 500; line-height: 1.04 !important; letter-spacing: -0.05em !important; }
.home-redesign .home-promotions .home-section__head p { margin: 0; max-width: 980px; color: #667085; font-size: 17px; line-height: 1.55; }
.home-redesign .home-promotions .home-btn--ghost { display: inline-flex; align-items: center; justify-content: center; min-height: 62px; padding: 0 28px; border: 1px solid rgba(0,119,204,0.14); border-radius: 999px; color: var(--home-blue); background: rgba(232,244,255,0.94); box-shadow: 0 10px 26px rgba(0,119,204,0.10), inset 0 0 0 1px rgba(255,255,255,0.56); text-decoration: none !important; }
.home-redesign .home-promotions .home-btn--ghost:hover { color: #0069b7; background: #dff0ff; box-shadow: 0 14px 28px rgba(0,119,204,0.14), inset 0 0 0 1px rgba(255,255,255,0.72); text-decoration: none !important; }
.home-redesign .home-promotions .home-grid--3 { position: relative; z-index: 2; gap: 22px; }
.home-redesign .home-promotions .home-card--promo { position: relative; min-height: 418px; padding: 34px 34px 90px; border: 1px solid rgba(0,119,204,0.12); border-radius: 30px; background: rgba(255,255,255,0.76); box-shadow: 0 12px 34px rgba(17,24,39,0.045); color: #4f586f; text-decoration: none !important; overflow: hidden; transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease; }
.home-redesign .home-promotions .home-card--promo:nth-child(1) { background: linear-gradient(180deg, rgba(241,248,255,0.96) 0%, rgba(255,255,255,0.88) 100%); border-color: rgba(0,119,204,0.16); }
.home-redesign .home-promotions .home-card--promo:nth-child(2) { background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,250,241,0.88) 100%); border-color: rgba(208,174,99,0.18); }
.home-redesign .home-promotions .home-card--promo:nth-child(3) { background: linear-gradient(180deg, rgba(255,250,241,0.95) 0%, rgba(255,246,227,0.90) 100%); border-color: rgba(216,177,95,0.22); }
.home-redesign .home-promotions .home-card--promo::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at top right, rgba(0,119,204,0.08) 0%, rgba(0,119,204,0.00) 44%), radial-gradient(circle at bottom left, rgba(216,177,95,0.06) 0%, rgba(216,177,95,0.00) 42%); pointer-events: none; }
.home-redesign .home-promotions .home-card__label { display: inline-flex; align-items: center; min-height: 38px; margin: 0 0 22px; padding: 0 14px; border: 1px solid rgba(0,119,204,0.10); border-radius: 999px; background: rgba(232,244,255,0.94); color: #0077cc; font-size: 14px; font-weight: 800; line-height: 1; text-transform: none; letter-spacing: 0; }
.home-redesign .home-promotions .home-card--promo:nth-child(2) .home-card__label, .home-redesign .home-promotions .home-card--promo:nth-child(3) .home-card__label { background: rgba(255,246,224,0.96); border-color: rgba(216,177,95,0.18); color: #9f7a28; }
.home-redesign .home-promotions .home-card--promo h3 { margin: 0 0 20px; color: #4f586f; font-size: 25px; font-weight: 800; line-height: 1.16; letter-spacing: -0.03em; text-decoration: none !important; transition: color 0.18s ease; }
.home-redesign .home-promotions .home-card--promo p { margin: 0; color: #667085; font-size: 16px; line-height: 1.58; text-decoration: none !important; }
.home-redesign .home-promotions .home-card__more { position: absolute; left: 34px; bottom: 30px; display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 18px; border: 1px solid rgba(0,119,204,0.14); border-radius: 999px; background: rgba(232,244,255,0.94); color: var(--home-blue); font-size: 16px; font-weight: 800; text-decoration: none !important; }
.home-redesign .home-promotions .home-card--promo::after { content: '→'; position: absolute; right: 28px; bottom: 24px; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(0,119,204,0.14); border-radius: 50%; background: rgba(232,244,255,0.94); color: #49a8ea; box-shadow: 0 8px 20px rgba(0,119,204,0.08); font-size: 26px; line-height: 1; }
.home-redesign .home-promotions .home-card--promo:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(17,24,39,0.08); }
.home-redesign .home-promotions .home-card--promo:hover h3 { color: var(--home-blue); }
.home-redesign .home-promotions .home-card--promo:hover .home-card__more { background: var(--home-blue); border-color: var(--home-blue); color: #fff; }
.home-redesign .home-promotions .home-card--promo:hover::after { background: var(--home-blue); border-color: var(--home-blue); color: #fff; }
.home-redesign .home-promotions + .home-brands { padding-top: 28px; }

@media (max-width: 920px) { .home-redesign .home-promotions { margin: 8px auto 14px; padding: 22px 28px 28px; } .home-redesign .home-promotions .home-section__head--row { grid-template-columns: 1fr; align-items: start; } .home-redesign .home-promotions #home-promotions-title { font-size: 36px !important; } .home-redesign .home-promotions .home-btn--ghost { min-height: 58px; } .home-redesign .home-promotions .home-grid--3 { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .home-redesign .home-promotions { margin: 6px auto 12px; padding: 20px 18px 24px; } .home-redesign .home-promotions #home-promotions-title { font-size: 36px !important; line-height: 1.04 !important; } .home-redesign .home-promotions .home-section__head p { font-size: 16px; } .home-redesign .home-promotions .home-card--promo { min-height: auto; padding: 26px 22px 84px; border-radius: 24px; } .home-redesign .home-promotions .home-card--promo h3 { font-size: 22px; } .home-redesign .home-promotions .home-card__more { left: 22px; bottom: 22px; } .home-redesign .home-promotions .home-card--promo::after { right: 20px; bottom: 18px; width: 44px; height: 44px; font-size: 24px; } }

/* BRANDS */
.home-redesign .home-brands { position: relative; overflow: hidden; padding-top: 34px; padding-bottom: 54px; }
.home-redesign .home-brands .home-section__head { max-width: none; margin-bottom: 28px; }
.home-redesign .home-brands .home-section__head--row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end; }
.home-redesign .home-brands .home-section__head--row > div { min-width: 0; }
.home-redesign .home-brands .home-btn--ghost { justify-self: end; max-width: 100%; min-height: 52px; padding: 14px 26px; color: var(--home-blue); background: #eef8ff; border-color: rgba(0, 119, 204, 0.18); box-shadow: 0 0 0 8px rgba(0, 119, 204, 0.035), 0 12px 30px rgba(0, 119, 204, 0.10); text-decoration: none !important; white-space: nowrap; }
.home-redesign .home-brands .home-btn--ghost:hover { color: #ffffff; background: var(--home-blue); border-color: var(--home-blue); box-shadow: 0 0 0 10px rgba(0, 119, 204, 0.06), 0 18px 42px rgba(0, 119, 204, 0.20); text-decoration: none !important; }
.home-redesign .home-brands .home-brand-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }
.home-redesign .home-brands .home-brand-grid a { display: grid; place-items: center; min-width: 0; min-height: 92px; padding: 14px; border: 1px solid var(--home-line); border-radius: 18px; background: #fff; text-decoration: none !important; transition: transform 0.18s ease, box-shadow 0.18s ease; }
.home-redesign .home-brands .home-brand-grid a:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(17, 24, 39, 0.08); }
.home-redesign .home-brands .home-brand-grid img { max-width: 100%; max-height: 46px; object-fit: contain; filter: grayscale(1); opacity: 0.86; }
.home-redesign .home-brands .home-brand-grid a:hover img { filter: none; opacity: 1; }
.home-redesign .home-brands .home-brand-grid span { max-width: 100%; color: #4f586f; font-size: 13px; font-weight: 800; line-height: 1.2; text-align: center; word-break: break-word; }

@media (max-width: 1120px) { .home-redesign .home-brands .home-brand-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 920px) { .home-redesign .home-brands .home-section__head--row { grid-template-columns: 1fr; gap: 18px; align-items: start; } .home-redesign .home-brands .home-btn--ghost { justify-self: start; width: max-content; max-width: 100%; } }
@media (max-width: 640px) { .home-redesign .home-brands { padding-top: 30px; padding-bottom: 44px; } .home-redesign .home-brands .home-section__head { margin-bottom: 24px; } .home-redesign .home-brands .home-section__head--row { gap: 16px; } .home-redesign .home-brands .home-btn--ghost { width: 100%; min-height: 52px; padding: 13px 18px; white-space: normal; } .home-redesign .home-brands .home-brand-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .home-redesign .home-brands .home-brand-grid a { min-height: 70px; padding: 8px; border-radius: 14px; } .home-redesign .home-brands .home-brand-grid img { max-height: 34px; } .home-redesign .home-brands .home-brand-grid span { font-size: 12px; } }
/* DESIGNERS */
.home-redesign .home-designers { position: relative; display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr); gap: 24px; align-items: center; width: 100%; max-width: 100%; min-width: 0; overflow: hidden; overflow-x: clip; touch-action: pan-y; padding: 40px; border: 1px solid rgba(0, 119, 204, 0.10); border-radius: calc(var(--home-radius) + 8px); background: linear-gradient(135deg, #eef7ff 0%, #f7fbff 52%, #fff8ea 100%); box-shadow: 0 16px 50px rgba(17, 24, 39, 0.07); }
.home-redesign .home-designers::before { content: ''; position: absolute; right: -120px; top: -150px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 119, 204, 0.18) 0%, rgba(0, 119, 204, 0.08) 42%, rgba(0, 119, 204, 0) 70%); pointer-events: none; }
.home-redesign .home-designers__content { position: relative; z-index: 1; min-width: 0; max-width: 100%; }
.home-redesign .home-designers .home-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; max-width: 100%; margin-top: 26px; }
.home-redesign .home-designers .home-btn { width: auto; min-height: 48px; max-width: 100%; padding: 13px 22px; border-radius: 999px; font-size: 15px; font-weight: 900; line-height: 1.15; text-decoration: none !important; }
.home-redesign .home-designers .home-btn--primary { color: var(--home-blue) !important; background: linear-gradient(135deg, #ffffff 0%, #eef8ff 100%); border: 1px solid rgba(0, 119, 204, 0.22); box-shadow: 0 0 0 8px rgba(0, 119, 204, 0.035), 0 14px 34px rgba(0, 119, 204, 0.14); }
.home-redesign .home-designers .home-btn--primary:hover { color: #ffffff !important; background: linear-gradient(135deg, var(--home-blue) 0%, var(--home-blue-dark) 100%); border-color: rgba(0, 119, 204, 0.65); box-shadow: 0 0 0 10px rgba(0, 119, 204, 0.055), 0 18px 46px rgba(0, 119, 204, 0.24); text-decoration: none !important; }
.home-redesign .home-designers .home-btn--secondary { color: #334155 !important; background: rgba(255, 255, 255, 0.82); border: 1px solid rgba(31, 35, 40, 0.10); box-shadow: 0 10px 28px rgba(17, 24, 39, 0.055); }
.home-redesign .home-designers .home-btn--secondary:hover { color: var(--home-blue) !important; background: #ffffff; border-color: rgba(0, 119, 204, 0.22); box-shadow: 0 14px 36px rgba(17, 24, 39, 0.08); text-decoration: none !important; }
.home-redesign .home-designers__cards { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; min-width: 0; max-width: 100%; }
.home-redesign .home-designers__cards div { min-width: 0; min-height: 150px; padding: 22px; border: 1px solid rgba(31, 35, 40, 0.10); border-radius: 20px; background: rgba(255, 255, 255, 0.86); box-shadow: 0 10px 28px rgba(17, 24, 39, 0.045); }
.home-redesign .home-designers__cards h3 { color: #273142; }
.home-redesign .home-designers__cards p { color: var(--home-muted); }
@supports not (overflow: clip) { .home-redesign .home-designers { overflow-x: hidden; } }
@media (max-width: 920px) { .home-redesign .home-designers { grid-template-columns: 1fr; padding: 30px; } .home-redesign .home-designers::before { right: -120px; top: -160px; width: 300px; height: 300px; } }
@media (max-width: 640px) { .home-redesign .home-designers { max-width: 100%; overflow: hidden; overflow-x: clip; touch-action: pan-y; padding: 24px; border-radius: 26px; } .home-redesign .home-designers::before { right: -90px; top: -120px; width: 240px; height: 240px; } .home-redesign .home-designers .home-actions { display: grid; grid-template-columns: 1fr; gap: 10px; max-width: 100%; overflow: visible; } .home-redesign .home-designers .home-btn { width: 100%; min-height: 46px; padding: 13px 18px; } .home-redesign .home-designers .home-btn--primary { box-shadow: 0 0 0 6px rgba(0, 119, 204, 0.035), 0 12px 30px rgba(0, 119, 204, 0.12); } .home-redesign .home-designers__cards { grid-template-columns: 1fr; gap: 12px; } .home-redesign .home-designers__cards div { min-height: auto; padding: 20px; border-radius: 18px; } }


/* NEWS / ARTICLES */
.home-article { display: block; min-height: 220px; padding: 22px; }
/* TRUST */
.home-trust-card { min-height: 190px; padding: 20px; }
/* REVIEWS */
.home-reviews { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, 0.72fr); gap: 28px; align-items: center; }
.home-reviews__content { max-width: 760px; }
.home-rating { position: relative; isolation: isolate; display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 12px 18px; align-items: center; width: 100%; min-height: 168px; padding: 26px 26px 24px; border: 1px solid rgba(0, 119, 204, 0.16); border-radius: 28px; background: linear-gradient(180deg, #ffffff 0%, #f6fbff 100%); box-shadow: 0 0 0 10px rgba(0, 119, 204, 0.035), 0 18px 44px rgba(17, 24, 39, 0.08); text-decoration: none !important; overflow: hidden; transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease; }
.home-rating::before { content: ''; position: absolute; inset: auto -40px -46px auto; width: 190px; height: 190px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 119, 204, 0.12) 0%, rgba(0, 119, 204, 0.05) 36%, rgba(0, 119, 204, 0) 72%); z-index: -1; pointer-events: none; }
.home-rating::after { content: '★★★★★'; position: absolute; right: 24px; top: 22px; color: #f6c453; font-size: 15px; letter-spacing: 0.18em; font-weight: 900; }
.home-rating:hover { transform: translateY(-3px); border-color: rgba(0, 119, 204, 0.24); background: linear-gradient(180deg, #ffffff 0%, #eef8ff 100%); box-shadow: 0 0 0 12px rgba(0, 119, 204, 0.045), 0 24px 52px rgba(0, 119, 204, 0.12); text-decoration: none !important; }
.home-rating img { grid-row: 1 / span 2; width: 96px; max-width: 96px; margin: 0; filter: none; }
.home-rating strong { position: relative; display: block; align-self: end; margin: 0; color: #0a78c8; font-size: 46px; font-weight: 900; line-height: 0.96; letter-spacing: -0.05em; }
.home-rating strong::after { content: 'Рейтинг в Яндекс.Картах'; display: block; margin-top: 10px; color: #7a8798; font-size: 12px; font-weight: 800; line-height: 1.25; letter-spacing: 0.08em; text-transform: uppercase; }
.home-rating span { display: block; align-self: start; max-width: 250px; color: #344054; font-size: 17px; font-weight: 800; line-height: 1.35; text-decoration: none !important; }
.home-rating span::after { content: 'Открыть отзывы →'; display: block; margin-top: 10px; color: var(--home-blue); font-size: 14px; font-weight: 900; line-height: 1.2; }
@media (max-width: 920px) { .home-reviews { grid-template-columns: 1fr; gap: 20px; } .home-reviews__content { max-width: none; } .home-rating { max-width: 430px; } }
@media (max-width: 640px) { .home-reviews { gap: 16px; } .home-rating { grid-template-columns: 92px minmax(0, 1fr); width: 100%; min-height: 0; padding: 22px 18px 20px; border-radius: 24px; box-shadow: 0 0 0 8px rgba(0, 119, 204, 0.03), 0 16px 36px rgba(17, 24, 39, 0.08); text-align: left; } .home-rating::after { right: 18px; top: 16px; font-size: 13px; letter-spacing: 0.12em; } .home-rating img { grid-row: 1 / span 2; width: 84px; max-width: 84px; margin: 0; } .home-rating strong { font-size: 42px; } .home-rating strong::after { margin-top: 8px; font-size: 11px; } .home-rating span { max-width: none; font-size: 16px; } .home-rating span::after { margin-top: 8px; font-size: 13px; } }



/* общие media-запросы для всей главной */
@media (max-width: 1120px) {
    .home-grid--5, .home-grid--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .home-brand-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 920px) {
    .home-section, .home-hero { padding-inline: 14px; }
    .home-section__head--row, .home-consult, .home-exclusive, .home-designers, .home-reviews, .home-final { grid-template-columns: 1fr; }
    .home-section__head--row { align-items: flex-start; }
    .home-actions--right { justify-content: flex-start; min-width: 0; }
    .home-hero__slider { min-height: 690px; }
    .home-hero__slide { grid-template-columns: 1fr; }
    .home-hero__media { position: absolute; inset: 0; min-height: 100%; opacity: 0.42; }
    .home-hero__media::before { background: rgba(20, 25, 34, 0.72); }
    .home-hero__content { min-height: 690px; padding-bottom: 76px; }
    .home-hero__benefits, .home-grid--4, .home-grid--catalog, .home-project-grid, .home-banner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .home-section, .home-hero { padding-block: 34px; }
    .home-hero { padding-top: 12px; }
    .home-hero__slider, .home-hero__content { min-height: 640px; }
    .home-hero__content { padding: 28px 22px 72px; }
    .home-hero__controls { left: 22px; bottom: 22px; }
    .home-actions, .home-form__row, .home-grid--3, .home-grid--4, .home-grid--5, .home-grid--6, .home-grid--catalog, .home-banner-grid, .home-project-grid, .home-brand-grid, .home-designers__cards, .home-exclusive__categories, .home-hero__benefits { grid-template-columns: 1fr; }
    .home-actions { display: grid; }
    .home-btn, .home-link { width: 100%; justify-content: center; }
    .home-card, .home-service, .home-category, .home-article, .home-trust-card { min-height: auto; }
    .home-form { padding: 18px; }
    .home-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-rating { grid-template-columns: 1fr; text-align: center; }
    .home-rating img { grid-row: auto; margin-inline: auto; }
}


/* NEWS SOFT GRADIENT FIX */
.home-redesign .home-news { padding-top: 46px; padding-bottom: 54px; }
.home-redesign .home-news .home-section__head { margin-bottom: 28px; }
.home-redesign .home-news .home-section__head--row { align-items: flex-end; }
.home-redesign .home-news .home-btn--ghost { position: relative; isolation: isolate; flex: 0 0 auto; min-height: 52px; padding: 14px 26px; border: 1px solid rgba(0, 119, 204, 0.20); border-radius: 999px; color: var(--home-blue); background: linear-gradient(135deg, #ffffff 0%, #f3faff 100%); box-shadow: 0 0 0 8px rgba(0, 119, 204, 0.035), 0 14px 34px rgba(0, 119, 204, 0.12); text-decoration: none !important; overflow: visible; }
.home-redesign .home-news .home-btn--ghost::before { content: ''; position: absolute; inset: -18px 0; z-index: -1; border-radius: 999px; background: radial-gradient(circle, rgba(0, 119, 204, 0.16) 0%, rgba(0, 119, 204, 0.07) 38%, rgba(0, 119, 204, 0) 70%); opacity: 0.9; pointer-events: none; }
.home-redesign .home-news .home-btn--ghost:hover { color: #ffffff; background: linear-gradient(135deg, var(--home-blue) 0%, var(--home-blue-dark) 100%); border-color: rgba(0, 119, 204, 0.55); box-shadow: 0 0 0 8px rgba(0, 119, 204, 0.055), 0 18px 44px rgba(0, 119, 204, 0.20); text-decoration: none !important; }
.home-redesign .home-news .home-grid--3 { gap: 22px; }
.home-redesign .home-news .home-article { position: relative; isolation: isolate; display: block; min-height: 238px; padding: 26px 58px 56px 26px; border: 1px solid transparent; border-radius: 26px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, #ffffff 62%, rgba(248, 252, 255, 0.96) 100%) padding-box, linear-gradient(135deg, rgba(0, 119, 204, 0.32), rgba(0, 119, 204, 0.10)) border-box; box-shadow: 0 12px 34px rgba(17, 24, 39, 0.055); color: var(--home-text); text-decoration: none !important; overflow: hidden; transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease; }
.home-redesign .home-news .home-article:nth-child(2) { background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, #ffffff 62%, rgba(255, 252, 244, 0.96) 100%) padding-box, linear-gradient(135deg, rgba(0, 119, 204, 0.22), rgba(216, 177, 95, 0.28)) border-box; }
.home-redesign .home-news .home-article:nth-child(3) { background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, #ffffff 62%, rgba(255, 250, 238, 0.96) 100%) padding-box, linear-gradient(135deg, rgba(216, 177, 95, 0.34), rgba(0, 119, 204, 0.10)) border-box; }
.home-redesign .home-news .home-article::before { content: ''; position: absolute; top: -72px; right: -70px; z-index: 0; width: 190px; height: 190px; border-radius: 999px; background: radial-gradient(circle, rgba(0, 119, 204, 0.13) 0%, rgba(0, 119, 204, 0.055) 46%, rgba(0, 119, 204, 0) 72%); opacity: 0.95; pointer-events: none; transition: opacity 0.18s ease, transform 0.18s ease; }
.home-redesign .home-news .home-article:nth-child(2)::before { background: radial-gradient(circle, rgba(0, 119, 204, 0.09) 0%, rgba(216, 177, 95, 0.09) 46%, rgba(216, 177, 95, 0) 72%); }
.home-redesign .home-news .home-article:nth-child(3)::before { background: radial-gradient(circle, rgba(216, 177, 95, 0.15) 0%, rgba(216, 177, 95, 0.07) 46%, rgba(216, 177, 95, 0) 72%); }
.home-redesign .home-news .home-article::after { content: '→'; position: absolute; right: 24px; bottom: 22px; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid rgba(0, 119, 204, 0.14); border-radius: 999px; color: rgba(0, 119, 204, 0.72); background: rgba(243, 249, 255, 0.94); box-shadow: 0 0 0 7px rgba(0, 119, 204, 0.025); font-size: 20px; font-weight: 900; line-height: 1; transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease; }
.home-redesign .home-news .home-article > * { position: relative; z-index: 1; }
.home-redesign .home-news .home-article span { display: inline-flex; align-items: center; width: max-content; max-width: 100%; min-height: 28px; margin: 0 0 14px; padding: 6px 10px; border: 1px solid rgba(0, 119, 204, 0.10); border-radius: 999px; color: var(--home-blue); background: #f3f9ff; font-size: 12px; font-weight: 900; line-height: 1.1; letter-spacing: 0.04em; text-transform: none; text-decoration: none !important; }
.home-redesign .home-news .home-article:nth-child(2) span { color: #7d6630; background: #fff8ea; border-color: rgba(216, 177, 95, 0.20); }
.home-redesign .home-news .home-article:nth-child(3) span { color: #80662b; background: #fff7e2; border-color: rgba(216, 177, 95, 0.24); }
.home-redesign .home-news .home-article h3 { margin: 0 0 14px; color: #4f586f; font-size: 21px; font-weight: 800; line-height: 1.18; letter-spacing: -0.02em; text-decoration: none !important; transition: color 0.18s ease; }
.home-redesign .home-news .home-article p { margin: 0; color: var(--home-muted); font-size: 16px; line-height: 1.55; text-decoration: none !important; }
.home-redesign .home-news .home-article:hover { transform: translateY(-3px); box-shadow: 0 18px 54px rgba(17, 24, 39, 0.105); text-decoration: none !important; }
.home-redesign .home-news .home-article:hover::before { opacity: 1; transform: scale(1.06); }
.home-redesign .home-news .home-article:hover::after { color: #ffffff; background: var(--home-blue); border-color: var(--home-blue); transform: translateX(2px); box-shadow: 0 0 0 8px rgba(0, 119, 204, 0.055), 0 12px 26px rgba(0, 119, 204, 0.18); }
.home-redesign .home-news .home-article:hover h3 { color: var(--home-blue); }
@media (max-width: 920px) { .home-redesign .home-news .home-section__head--row { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: start; } .home-redesign .home-news .home-btn--ghost { width: max-content; } }
@media (max-width: 640px) { .home-redesign .home-news { padding-top: 34px; padding-bottom: 44px; } .home-redesign .home-news .home-grid--3 { gap: 16px; } .home-redesign .home-news .home-btn--ghost { width: 100%; } .home-redesign .home-news .home-article { min-height: auto; padding: 22px 54px 54px 22px; border-radius: 24px; } .home-redesign .home-news .home-article h3 { font-size: 21px; } .home-redesign .home-news .home-article p { font-size: 16px; } .home-redesign .home-news .home-article::after { right: 20px; bottom: 20px; } }

/* FINAL CTA — FULL CLEAN REPLACEMENT */
.home-redesign .home-final { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 430px; gap: 32px; align-items: center; overflow: hidden; margin-top: 8px; margin-bottom: 28px; padding: 30px 34px; border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 30px; color: #ffffff; background: radial-gradient(circle at 12% 18%, rgba(0, 119, 204, 0.22) 0%, rgba(0, 119, 204, 0.08) 30%, rgba(0, 119, 204, 0) 58%), radial-gradient(circle at 88% 16%, rgba(243, 207, 118, 0.12) 0%, rgba(243, 207, 118, 0.05) 24%, rgba(243, 207, 118, 0) 44%), linear-gradient(135deg, #101822 0%, #122234 46%, #17202b 100%); box-shadow: 0 20px 52px rgba(8, 15, 27, 0.14); }
.home-redesign .home-final::before, .home-redesign .home-final::after { content: none; }
.home-redesign .home-final .home-eyebrow { color: #f3cf76; }
.home-redesign .home-final__text { max-width: 620px; }
.home-redesign .home-final h2 { max-width: 580px; margin: 0 0 16px; color: #f7fbff; font-family: 'Times New Roman', Times, Georgia, serif; font-size: clamp(36px, 3.4vw, 52px); font-weight: 500; line-height: 1.04; letter-spacing: -0.05em; }
.home-redesign .home-final p { max-width: 590px; margin: 0; color: rgba(234, 242, 250, 0.82); }
.home-redesign .home-final__actions { margin-top: 24px; }
.home-redesign .home-final__secondary { display: none !important; }
.home-redesign .home-final__primary { min-width: 230px; }
.home-redesign .home-final .home-btn--primary { color: #ffffff; background: linear-gradient(135deg, #1692e5 0%, #0077cc 100%); border: 1px solid rgba(255, 255, 255, 0.10); box-shadow: 0 0 0 6px rgba(0, 119, 204, 0.08), 0 14px 30px rgba(0, 119, 204, 0.18); }
.home-redesign .home-final .home-btn--primary:hover { color: #ffffff; background: linear-gradient(135deg, #28a0ee 0%, #0a82d5 100%); box-shadow: 0 0 0 8px rgba(0, 119, 204, 0.10), 0 18px 38px rgba(0, 119, 204, 0.22); }

.home-redesign .home-final__contacts { justify-self: end; width: 100%; max-width: 430px; margin-left: auto; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.home-redesign .home-final__contacts-head { display: grid; gap: 4px; margin: 0 0 14px; padding: 0 2px; }
.home-redesign .home-final__contacts-head span { color: #f3cf76; font-size: 12px; font-weight: 900; line-height: 1.2; letter-spacing: 0.10em; text-transform: uppercase; }
.home-redesign .home-final__contacts-head strong { color: #ffffff; font-size: 21px; font-weight: 900; line-height: 1.14; letter-spacing: -0.02em; }

.home-redesign .home-final__contacts-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.home-redesign .home-final__contact { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; align-items: center; min-height: 82px; padding: 12px 16px 12px 12px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 20px; color: #ffffff; background: linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.08)); box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08); text-decoration: none !important; transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease; }
.home-redesign .home-final__contact:hover { transform: translateY(-1px); border-color: rgba(255, 255, 255, 0.18); background: linear-gradient(135deg, rgba(255, 255, 255, 0.17), rgba(255, 255, 255, 0.10)); box-shadow: 0 14px 34px rgba(0, 0, 0, 0.10); }
.home-redesign .home-final__contact-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; font-size: 26px; font-weight: 900; line-height: 1; color: #ffffff; background: linear-gradient(135deg, #2a9ceb 0%, #1081d1 100%); box-shadow: 0 0 0 5px rgba(42, 156, 235, 0.10); }
.home-redesign .home-final__contact--mail .home-final__contact-icon { color: #17202b; background: linear-gradient(135deg, #f3d57f 0%, #dfbc62 100%); box-shadow: 0 0 0 5px rgba(243, 213, 127, 0.10); }
.home-redesign .home-final__contact-text { display: block; min-width: 0; }
.home-redesign .home-final__contact-text em { display: block; margin-bottom: 4px; color: rgba(236, 243, 251, 0.62); font-size: 11px; font-style: normal; font-weight: 900; line-height: 1.15; letter-spacing: 0.08em; text-transform: uppercase; }
.home-redesign .home-final__contact-text strong { display: block; overflow: hidden; color: #ffffff; font-size: 19px; font-weight: 900; line-height: 1.18; text-overflow: ellipsis; white-space: nowrap; }

.home-redesign .home-final__hours { display: flex; align-items: center; justify-content: flex-start; min-height: 58px; margin-top: 12px; padding: 0 16px; border: 1px solid rgba(243, 207, 118, 0.14); border-radius: 18px; color: rgba(255, 255, 255, 0.86); background: linear-gradient(135deg, rgba(243, 207, 118, 0.08), rgba(255, 255, 255, 0.05)); }
.home-redesign .home-final__hours span { display: none; }
.home-redesign .home-final__hours strong { color: rgba(255, 255, 255, 0.88); font-size: 16px; font-weight: 800; line-height: 1.2; }

@media (max-width: 1100px) {
    .home-redesign .home-final { grid-template-columns: 1fr; gap: 20px; }
    .home-redesign .home-final__contacts { justify-self: stretch; max-width: none; margin-left: 0; }
}
@media (max-width: 640px) {
    .home-redesign .home-final { gap: 16px; padding: 24px 16px; border-radius: 24px; }
    .home-redesign .home-final__contacts-head strong { font-size: 19px; }
    .home-redesign .home-final__contact { min-height: 76px; padding: 10px 14px 10px 10px; border-radius: 18px; }
    .home-redesign .home-final__contact-icon { width: 52px; height: 52px; font-size: 24px; border-radius: 16px; }
    .home-redesign .home-final__contact-text strong { font-size: 17px; white-space: normal; }
    .home-redesign .home-final__hours { min-height: 54px; padding: 0 14px; border-radius: 16px; }
    .home-redesign .home-final__hours strong { font-size: 15px; }
}
/* HOME FOOTER WIDTH + SPACING FIX */
.home-redesign .home-final { margin-bottom: 10px; }
.already_seen { width: 100%; max-width: 1234px; margin: 0 auto; padding: 10px 24px 8px; box-sizing: border-box; overflow: hidden; background: #f4f6fb; }
.already_seen .center_inner { display: block; width: 100%; max-width: 100%; margin: 0 auto; padding: 0; box-sizing: border-box; }
footer { width: 100%; max-width: 1234px; margin: 0 auto; padding: 0; box-sizing: border-box; background: transparent; }
footer .footer-bottom { display: block !important; width: 100%; max-width: 1234px; margin: 0 auto; padding: 8px 30px 54px; box-sizing: border-box; background: #eef1f9; color: #7d8498; font-size: 13px; line-height: 1.45; min-height: 0 !important; }
footer .footer-bottom a { color: #4f6f9f; font-weight: 700; }
footer .footer-bottom__blocks { display: none !important; }
footer .foot_panel_all { max-width: none; width: 100%; left: 0; right: 0; }
@media (max-width: 1234px) { .already_seen { max-width: 100%; } footer { max-width: 100%; } footer .footer-bottom { max-width: 100%; } }
@media (max-width: 640px) { .home-redesign .home-final { margin-bottom: 8px; } .already_seen { padding: 8px 14px 6px; } footer .footer-bottom { padding: 8px 16px 72px; font-size: 12px; line-height: 1.45; } }

.home-redesign .home-hero__benefits span { display:flex; align-items:center; justify-content:center; gap:12px; min-height:56px; padding:13px 16px; border-radius:18px; background:#fff; border:1px solid var(--home-line); color:var(--home-muted); font-weight:800; text-align:center; box-shadow:0 12px 30px rgba(15,23,42,.04); }
.home-redesign .home-hero__benefits span::before { content:""; display:block; flex:0 0 25px; width:25px; height:25px; background:#687385; opacity:.95; transition:background .2s ease, opacity .2s ease, transform .2s ease; -webkit-mask-repeat:no-repeat; -webkit-mask-position:center; -webkit-mask-size:contain; mask-repeat:no-repeat; mask-position:center; mask-size:contain; }
.home-redesign .home-hero__benefits span:nth-child(1)::before { -webkit-mask-image:url("/include/home/images/icons/hero-benefit-lighting-design.svg"); mask-image:url("/include/home/images/icons/hero-benefit-lighting-design.svg"); }
.home-redesign .home-hero__benefits span:nth-child(2)::before { -webkit-mask-image:url("/include/home/images/icons/hero-benefit-showroom-stock.svg"); mask-image:url("/include/home/images/icons/hero-benefit-showroom-stock.svg"); }
.home-redesign .home-hero__benefits span:nth-child(3)::before { -webkit-mask-image:url("/include/home/images/icons/hero-benefit-plan-selection.svg"); mask-image:url("/include/home/images/icons/hero-benefit-plan-selection.svg"); }
.home-redesign .home-hero__benefits span:nth-child(4)::before { -webkit-mask-image:url("/include/home/images/icons/hero-benefit-supply-support.svg"); mask-image:url("/include/home/images/icons/hero-benefit-supply-support.svg"); }
.home-redesign .home-hero__benefits span:hover::before { background:#0877c9; opacity:1; transform:translateY(-1px); }

@media (max-width:640px) {
    .home-redesign .home-hero__benefits span { justify-content:flex-start; gap:9px; min-height:52px; text-align:left; }
    .home-redesign .home-hero__benefits span::before { flex-basis:21px; width:21px; height:21px; }
}

.home-redesign .home-final__contact--telegram .home-final__contact-icon { font-size:0; line-height:0; background-color:transparent; background-image:url("/bitrix/templates/elektro_flat/images/header-icons/telegram.svg"); background-repeat:no-repeat; background-position:center; background-size:44px 44px; box-shadow:none; }
.home-redesign .home-final__contact--max .home-final__contact-icon { font-size:0; line-height:0; background-color:transparent; background-image:url("/bitrix/templates/elektro_flat/images/header-icons/max.svg"); background-repeat:no-repeat; background-position:center; background-size:44px 44px; box-shadow:none; }

@media (max-width:640px) {
    .home-redesign .home-final__contact--telegram .home-final__contact-icon { background-size:40px 40px; }
    .home-redesign .home-final__contact--max .home-final__contact-icon { background-size:40px 40px; }
}

.home-redesign .home-final__contact--mail { position:relative; cursor:copy; user-select:none; -webkit-user-select:none; }
.home-redesign .home-final__contact--mail .home-final__contact-text, .home-redesign .home-final__contact--mail .home-final__contact-text * { user-select:none; -webkit-user-select:none; }
.home-redesign .home-final__copy-popup { position:absolute; left:auto; right:16px; bottom:auto; top:50%; z-index:30; display:block; padding:7px 11px; border-radius:999px; background:#111827; font-family:"Helvetica Neue", Arial, sans-serif; font-size:12px; line-height:1; font-weight:800; color:#fff; white-space:nowrap; opacity:0; visibility:hidden; pointer-events:none; box-shadow:0 10px 24px rgba(15,23,42,.22); transform:translateY(-50%) translateX(8px); transition:opacity .18s ease, visibility .18s ease, transform .18s ease; }
.home-redesign .home-final__copy-popup::after { display:none; }
.home-redesign .home-final__contact--mail.is-copied .home-final__copy-popup { opacity:1; visibility:visible; transform:translateY(-50%) translateX(0); }

@media (max-width:640px) {
    .home-redesign .home-final__copy-popup { right:12px; top:12px; transform:translateX(8px); }
    .home-redesign .home-final__contact--mail.is-copied .home-final__copy-popup { transform:translateX(0); }
}n .home-final__contact--mail.is-copied .home-final__copy-popup { opacity:1; visibility:visible; transform:translateY(0); }
 