

/* Start:/local/templates/.default/css/hero-cta.css?177607749836117*/
/* ========================================
   Hero CTA Section
   ======================================== */
.hero-cta-section {
    background: #0f0c09;
    padding: 80px 0;
    border-top: 1px solid rgba(188,148,94,.2);
    border-bottom: 1px solid rgba(188,148,94,.2);
    position: relative;
    overflow: hidden;
}
.hero-cta-section::after {
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 55%;
    height: 100%;
    background: repeating-linear-gradient(
        -55deg,
        transparent,
        transparent 20px,
        rgba(188,148,94,.02) 20px,
        rgba(188,148,94,.02) 21px
    );
    pointer-events: none;
}

/* ---- Scroll animations ---- */
.hero-cta-left,
.hero-cta-feature {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .65s ease, transform .65s ease;
}
.hero-cta-left {
    transform: translateX(-28px);
}
.hero-cta-left.hca-visible,
.hero-cta-feature.hca-visible {
    opacity: 1;
    transform: translate(0);
}

/* ---- Tagline ---- */
.hero-cta-tagline {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 11px;
    letter-spacing: 5px;
    color: #bc945e;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 22px;
}
.hero-cta-tagline::before {
    content: '';
    display: block;
    width: 36px;
    height: 1px;
    background: #bc945e;
    flex-shrink: 0;
}

/* ---- Title ---- */
.hero-cta-title {
    font-size: 44px;
    font-weight: 800;
    color: #fff;
    line-height: 1.12;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin: 0 0 20px;
}
.hero-cta-title em {
    font-style: normal;
    color: #bc945e;
}

/* ---- Divider ---- */
.hero-cta-divider {
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, #bc945e, transparent);
    margin-bottom: 24px;
}

/* ---- Description ---- */
.hero-cta-desc {
    font-size: 15px;
    line-height: 1.75;
    color: #888;
    margin-bottom: 32px;
    max-width: 500px;
}

/* ---- Primary button ---- */
.hero-cta-buttons {
    margin-bottom: 28px;
}
.hero-cta-btn-primary {
    display: inline-block;
    padding: 14px 42px;
    background: #bc945e;
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-decoration: none !important;
    border: 1px solid #bc945e;
    transition: background .28s, color .28s;
    cursor: pointer;
}
.hero-cta-btn-primary:hover {
    background: transparent;
    color: #bc945e !important;
}

/* ---- Catalog links block ---- */
.hero-cta-catalog {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.hero-cta-catalog-label {
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #555;
    white-space: nowrap;
}
.hero-cta-catalog-links {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.hero-cta-catalog-link {
    display: inline-block;
    padding: 7px 16px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #aaa !important;
    text-decoration: none !important;
    border: 1px solid rgba(255,255,255,.12);
    transition: border-color .25s, color .25s, background .25s;
}
.hero-cta-catalog-link i {
    margin-right: 4px;
    font-size: 10px;
    transition: transform .25s;
}
.hero-cta-catalog-link:hover {
    border-color: #bc945e;
    color: #bc945e !important;
    background: rgba(188,148,94,.05);
}
.hero-cta-catalog-link:hover i {
    transform: translateX(3px);
}

/* ---- Features column ---- */
.hero-cta-features {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding-left: 30px;
    border-left: 1px solid rgba(188,148,94,.12);
}
.hero-cta-feature {
    padding: 20px 16px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    border-bottom: 1px solid rgba(255,255,255,.04);
    border-left: 2px solid transparent;
    transition: border-left-color .3s, background .3s, opacity .65s ease, transform .65s ease;
    cursor: default;
}
.hero-cta-feature:last-child { border-bottom: none; }
.hero-cta-feature:hover {
    border-left-color: #bc945e;
    background: rgba(188,148,94,.04);
}

/* Icon wrap — animated circle */
.hero-cta-feature-icon-wrap {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border: 1px solid rgba(188,148,94,.3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #bc945e;
    font-size: 16px;
    transition: background .3s, border-color .3s, transform .3s;
    margin-top: 2px;
}
.hero-cta-feature:hover .hero-cta-feature-icon-wrap {
    background: #bc945e;
    border-color: #bc945e;
    color: #fff;
    transform: scale(1.08);
}

.hero-cta-feature-title {
    font-size: 13px;
    font-weight: 700;
    color: #e0d5c5;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 6px;
    transition: color .25s;
}
.hero-cta-feature:hover .hero-cta-feature-title { color: #bc945e; }
.hero-cta-feature-text {
    font-size: 13px;
    color: #666;
    line-height: 1.65;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
    .hero-cta-title { font-size: 32px; }
    .hero-cta-section { padding: 60px 0; }
    .hero-cta-features {
        padding-left: 0;
        border-left: none;
        border-top: 1px solid rgba(188,148,94,.12);
        margin-top: 44px;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .hero-cta-feature {
        flex: 1 1 200px;
        border-bottom: none;
        border-right: 1px solid rgba(255,255,255,.04);
    }
    .hero-cta-feature:last-child { border-right: none; }
}
@media (max-width: 767px) {
    .hero-cta-title { font-size: 26px; }
    .hero-cta-section { padding: 50px 0; }
    .hero-cta-section::after { display: none; }
    .hero-cta-catalog { flex-direction: column; align-items: flex-start; gap: 10px; }
    .hero-cta-features { flex-direction: column; }
    .hero-cta-feature { border-right: none; border-bottom: 1px solid rgba(255,255,255,.04); }
    .hero-cta-feature:last-child { border-bottom: none; }
}

/* ========================================
   Catalog CTA Strip — Premium
   ======================================== */

/* Full-viewport break-out */
.catalog-cta-strip {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    margin-top: 50px;
    margin-bottom: 50px;
    background: #080604;
    overflow: hidden;
    padding: 0;
    box-sizing: border-box;
}

/* Diagonal texture */
.catalog-cta-strip::after {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
        -55deg,
        transparent 0, transparent 18px,
        rgba(188,148,94,.012) 18px, rgba(188,148,94,.012) 19px
    );
    pointer-events: none;
    z-index: 0;
}

/* Warm glow top-right */
.ccs-glow {
    position: absolute;
    top: -120px; right: -80px;
    width: 560px; height: 560px;
    background: radial-gradient(ellipse, rgba(188,148,94,.09) 0%, transparent 62%);
    pointer-events: none;
    z-index: 0;
}

/* Gradient border — top */
.ccs-border-top {
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(188,148,94,.18) 15%,
        rgba(188,148,94,.65) 50%,
        rgba(188,148,94,.18) 85%,
        transparent 100%
    );
    position: relative;
    z-index: 2;
}
/* Gradient border — bottom */
.ccs-border-bottom {
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(188,148,94,.12) 20%,
        rgba(188,148,94,.38) 50%,
        rgba(188,148,94,.12) 80%,
        transparent 100%
    );
    position: relative;
    z-index: 2;
}

/* Inner flex */
.ccs-inner {
    display: flex;
    align-items: stretch;
    position: relative;
    z-index: 1;
    min-height: 220px;
}

/* ---- Left content ---- */
.ccs-left {
    flex: 1 1 0;
    padding: 52px 56px 52px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid rgba(188,148,94,.1);
}

/* Tag / label */
.ccs-tag {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 9.5px;
    letter-spacing: 4.5px;
    color: #bc945e;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 20px;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .5s ease, transform .5s ease;
}
.ccs-tag::before {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background: #bc945e;
    flex-shrink: 0;
    transition: width .75s cubic-bezier(.22,1,.36,1);
}
.catalog-cta-strip.ccs-visible .ccs-tag {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .15s;
}
.catalog-cta-strip.ccs-visible .ccs-tag::before { width: 32px; }

/* Heading */
.ccs-heading {
    font-size: 30px;
    font-weight: 800;
    color: #ece4d8;
    text-transform: uppercase;
    letter-spacing: .5px;
    line-height: 1.22;
    margin: 0 0 36px;
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .6s ease, transform .6s ease;
    transition-delay: .28s;
}
.ccs-heading em { font-style: normal; color: #bc945e; }
.catalog-cta-strip.ccs-visible .ccs-heading {
    opacity: 1;
    transform: translateY(0);
}

/* Features line */
.ccs-features-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px;
    font-size: 10px;
    letter-spacing: 2px;
    color: #5a5248;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .55s ease, transform .55s ease;
    transition-delay: .38s;
}
.catalog-cta-strip.ccs-visible .ccs-features-line {
    opacity: 1;
    transform: translateY(0);
}
.ccs-dot {
    display: inline-block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(188,148,94,.35);
    flex-shrink: 0;
}

/* Stats row */
.ccs-stats {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .6s ease, transform .6s ease;
    transition-delay: .55s;
}
.catalog-cta-strip.ccs-visible .ccs-stats {
    opacity: 1;
    transform: translateY(0);
}
.ccs-stat {
    display: flex;
    flex-direction: column;
    padding-right: 32px;
}
.ccs-stat-num-wrap {
    display: flex;
    align-items: baseline;
    gap: 2px;
    line-height: 1;
}
.ccs-stat-num {
    font-size: 40px;
    font-weight: 800;
    color: #bc945e;
    letter-spacing: -2px;
    font-variant-numeric: tabular-nums;
}
.ccs-stat-suffix {
    font-size: 22px;
    font-weight: 700;
    color: rgba(188,148,94,.65);
    line-height: 1;
    letter-spacing: 0;
}
.ccs-stat-label {
    font-size: 9px;
    letter-spacing: 3px;
    color: #46413c;
    text-transform: uppercase;
    margin-top: 7px;
}
.ccs-stat-sep {
    width: 1px;
    height: 44px;
    background: rgba(188,148,94,.13);
    margin: 0 32px 0 0;
    align-self: center;
    flex-shrink: 0;
}

/* ---- Right panel ---- */
.ccs-right {
    flex-shrink: 0;
    width: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 44px 44px 44px 52px;
    opacity: 0;
    transform: translateX(26px);
    transition: opacity .65s ease, transform .65s ease;
    transition-delay: .32s;
}
.catalog-cta-strip.ccs-visible .ccs-right {
    opacity: 1;
    transform: translateX(0);
}

/* The framed panel */
.ccs-panel {
    position: relative;
    padding: 30px 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
    width: 100%;
}
/* Corner brackets — TL + BR via ::before ::after */
.ccs-panel::before,
.ccs-panel::after {
    content: '';
    position: absolute;
    width: 22px; height: 22px;
    border-color: rgba(188,148,94,.35);
    border-style: solid;
    transition: width .35s, height .35s, border-color .3s;
}
.ccs-panel::before { top: 0; left: 0;  border-width: 1px 0 0 1px; }
.ccs-panel::after  { bottom: 0; right: 0; border-width: 0 1px 1px 0; }
/* TR + BL via child spans */
.ccs-corner-tr,
.ccs-corner-bl {
    position: absolute;
    width: 22px; height: 22px;
    border-color: rgba(188,148,94,.35);
    border-style: solid;
    pointer-events: none;
    transition: width .35s, height .35s, border-color .3s;
}
.ccs-corner-tr { top: 0; right: 0; border-width: 1px 1px 0 0; }
.ccs-corner-bl { bottom: 0; left: 0; border-width: 0 0 1px 1px; }
/* Expand corners on hover */
.ccs-panel:hover::before,
.ccs-panel:hover::after { width: 30px; height: 30px; border-color: rgba(188,148,94,.7); }
.ccs-panel:hover .ccs-corner-tr,
.ccs-panel:hover .ccs-corner-bl { width: 30px; height: 30px; border-color: rgba(188,148,94,.7); }

.ccs-panel-text {
    font-size: 10px;
    color: #4a4540;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    margin: 0;
}

/* CTA button */
.ccs-btn {
    display: block;
    width: 100%;
    padding: 16px 24px;
    background: #bc945e;
    color: #fff !important;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 3.5px;
    text-transform: uppercase;
    text-decoration: none !important;
    text-align: center;
    border: 1px solid #bc945e;
    position: relative;
    overflow: hidden;
    transition: background .3s, color .3s, box-shadow .3s;
    cursor: pointer;
    /* Pulse animation */
    animation: ccsPulse 3s ease-out infinite;
}
/* Shimmer sweep */
.ccs-btn::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 55%;
    height: 100%;
    background: linear-gradient(
        105deg,
        transparent 25%,
        rgba(255,255,255,.22) 50%,
        transparent 75%
    );
    transition: left .55s ease;
    pointer-events: none;
}
.ccs-btn:hover::before { left: 160%; }
.ccs-btn:hover {
    background: transparent;
    color: #bc945e !important;
    box-shadow: none;
    animation: none;
}
@keyframes ccsPulse {
    0%   { box-shadow: 0 0 0 0   rgba(188,148,94,.4); }
    65%  { box-shadow: 0 0 0 11px rgba(188,148,94,0); }
    100% { box-shadow: 0 0 0 0   rgba(188,148,94,0); }
}

.ccs-panel-note {
    font-size: 9.5px;
    color: #352f28;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* ---- Responsive ---- */
@media (max-width: 1199px) {
    .ccs-right { width: 300px; padding: 40px 32px 40px 44px; }
    .ccs-heading { font-size: 26px; }
}
@media (max-width: 991px) {
    .ccs-heading { font-size: 22px; }
    .ccs-stat-num { font-size: 32px; }
    .ccs-right { width: 260px; padding: 36px 24px 36px 36px; }
    .ccs-left { padding: 44px 36px 44px 0; }
}
@media (max-width: 767px) {
    .catalog-cta-strip { margin-top: 28px; margin-bottom: 28px; }
    .ccs-inner { flex-direction: column; }
    .ccs-left {
        padding: 44px 0 36px;
        border-right: none;
        border-bottom: 1px solid rgba(188,148,94,.1);
    }
    .ccs-right { width: 100%; padding: 36px 0 44px; }
    .ccs-heading { font-size: 20px; }
    .ccs-stat-num { font-size: 30px; }
    .ccs-stat-sep { height: 36px; }
    .ccs-btn { width: 100%; }
    .ccs-glow { display: none; }
    .ccs-features-line { font-size: 9px; gap: 8px; }
}

/* ========================================
   Steps Section — Этапы работы (light, premium)
   ======================================== */
.steps-section {
    background:
        radial-gradient(circle, rgba(191,113,44,.052) 1.5px, transparent 1.5px),
        linear-gradient(160deg, #faf8f5 0%, #f1ebe3 55%, #e9dfd2 100%);
    background-size: 32px 32px, auto;
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(188,148,94,.22);
    border-bottom: 1px solid rgba(188,148,94,.22);
}

/* Warm radial glow — top left */
.steps-section::before {
    content: '';
    position: absolute;
    top: -100px; left: -80px;
    width: 520px; height: 520px;
    background: radial-gradient(ellipse, rgba(191,113,44,.08) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}
/* Secondary glow — bottom right */
.steps-section::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -60px;
    width: 400px; height: 400px;
    background: radial-gradient(ellipse, rgba(188,148,94,.055) 0%, transparent 65%);
    pointer-events: none;
    z-index: 0;
}

/* ---- Header ---- */
.steps-hd {
    text-align: center;
    margin-bottom: 56px;
    position: relative;
    z-index: 1;
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .65s ease, transform .65s ease;
}
.steps-section.sts-visible .steps-hd { opacity: 1; transform: translateY(0); }

.steps-hd-tag {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    font-size: 10px;
    letter-spacing: 5px;
    color: #bc945e;
    text-transform: uppercase;
    font-weight: 600;
    margin: 0 0 14px;
}
.steps-hd-tag::before,
.steps-hd-tag::after {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background: linear-gradient(90deg, #bf712c, #bc945e);
    flex-shrink: 0;
    transition: width .8s cubic-bezier(.22,1,.36,1);
    transition-delay: .2s;
}
.steps-section.sts-visible .steps-hd-tag::before,
.steps-section.sts-visible .steps-hd-tag::after { width: 32px; }

.steps-hd-title {
    font-size: 42px;
    font-weight: 800;
    color: #1a1714;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1.1;
    margin: 0 0 18px;
}
.steps-hd-title em { font-style: normal; color: #bf712c; }

.steps-hd-line {
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #bf712c, #bc945e, transparent);
    margin: 0 auto;
    transition: width .9s cubic-bezier(.22,1,.36,1);
    transition-delay: .38s;
}
.steps-section.sts-visible .steps-hd-line { width: 64px; }

/* ---- Steps track ---- */
.steps-track {
    display: grid;
    grid-template-columns: 1fr 36px 1fr 36px 1fr;
    align-items: stretch;
    gap: 0;
    position: relative;
    z-index: 1;
}

/* ---- Arrow connector — draws in ---- */
.step-connector {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #bf712c;
    font-size: 18px;
    position: relative;
    top: -18px;
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left;
    transition: opacity .4s ease, transform .55s cubic-bezier(.22,1,.36,1);
}
.steps-section.sts-visible .step-connector { opacity: 1; transform: scaleX(1); }
/* Stagger per position — select by :nth-child within .steps-track */
.steps-track > .step-connector:nth-child(2) { transition-delay: .44s; }
.steps-track > .step-connector:nth-child(4) { transition-delay: .60s; }

/* ---- Bridge between rows ---- */
.steps-bridge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
    position: relative;
    z-index: 1;
}
.steps-bridge::before,
.steps-bridge::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(188,148,94,.28);
    max-width: 40%;
    transform: scaleX(0);
    transition: transform .7s cubic-bezier(.22,1,.36,1);
    transition-delay: .6s;
}
.steps-bridge::before { transform-origin: right; }
.steps-bridge::after  { transform-origin: left; }
.steps-section.sts-visible .steps-bridge::before,
.steps-section.sts-visible .steps-bridge::after { transform: scaleX(1); }

.steps-bridge-icon {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(188,148,94,.55);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #bf712c;
    font-size: 12px;
    margin: 0 14px;
    flex-shrink: 0;
    opacity: 0;
    transform: scale(0);
    transition: opacity .45s, transform .5s cubic-bezier(.34,1.56,.64,1);
    transition-delay: .65s;
}
.steps-section.sts-visible .steps-bridge-icon {
    opacity: 1;
    transform: scale(1);
}
@keyframes bridgePulse {
    0%,100% { transform: scale(1) translateY(0); }
    50%      { transform: scale(1.12) translateY(3px); }
}
/* pulse kicks in after pop completes */
.steps-section.sts-visible .steps-bridge-icon {
    animation: bridgePulse 2s ease-in-out infinite;
    animation-delay: 1.2s;
}

/* ---- Step card ---- */
.step-item {
    position: relative;
    padding: 30px 24px 28px;
    border: 1px solid rgba(188,148,94,.2);
    background: #fff;
    box-shadow: 0 2px 18px rgba(0,0,0,.055);
    overflow: hidden;
    cursor: default;
    z-index: 1;
    opacity: 0;
    transform: translateY(48px) scale(.95);
    transition:
        opacity .65s ease,
        transform .7s cubic-bezier(.22,1,.36,1),
        border-color .28s,
        box-shadow .28s;
}
.step-item.si-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.step-item:hover {
    border-color: rgba(188,148,94,.55);
    box-shadow: 0 14px 48px rgba(188,148,94,.18);
    transform: translateY(-6px) scale(1);
    transition:
        border-color .22s,
        box-shadow .25s,
        transform .25s ease;
}

/* One-time shimmer sweep on reveal */
@keyframes stpShimmer {
    0%   { left: -100%; }
    100% { left: 170%; }
}
.step-item::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
        105deg,
        transparent 20%,
        rgba(255,255,255,.55) 50%,
        transparent 80%
    );
    pointer-events: none;
    z-index: 10;
}
.step-item.si-visible::before {
    animation: stpShimmer 1s ease forwards;
    animation-delay: .3s;
}

/* Big background number */
.step-n {
    position: absolute;
    bottom: -18px;
    right: 6px;
    font-size: 104px;
    font-weight: 900;
    color: rgba(191,113,44,.06);
    line-height: 1;
    letter-spacing: -4px;
    pointer-events: none;
    user-select: none;
    opacity: 0;
    transform: scale(1.5) translateX(14px);
    transition: opacity .85s ease, transform .85s ease;
    transition-delay: .45s;
}
.step-item.si-visible .step-n {
    opacity: 1;
    transform: scale(1) translateX(0);
}

/* Small badge — spin in */
.step-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1px solid rgba(191,113,44,.45);
    border-radius: 50%;
    font-size: 9.5px;
    font-weight: 700;
    color: #bf712c;
    letter-spacing: .5px;
    margin-bottom: 14px;
    opacity: 0;
    transform: rotate(-180deg) scale(.4);
    transition: opacity .45s ease, transform .52s cubic-bezier(.34,1.56,.64,1);
    transition-delay: .18s;
}
.step-item.si-visible .step-badge {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

/* Icon circle — spring pop */
.step-icon-wrap {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(188,148,94,.28);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #bc945e;
    font-size: 17px;
    margin-bottom: 18px;
    opacity: 0;
    transform: scale(0);
    transition:
        opacity .5s cubic-bezier(.34,1.56,.64,1),
        transform .5s cubic-bezier(.34,1.56,.64,1),
        background .28s, border-color .28s, color .28s;
    transition-delay: .24s;
}
.step-item.si-visible .step-icon-wrap {
    opacity: 1;
    transform: scale(1);
}
.step-item:hover .step-icon-wrap {
    background: #bc945e;
    border-color: #bc945e;
    color: #fff;
    transform: scale(1.08);
    transition-delay: 0s;
}

.step-title {
    font-size: 11.5px;
    font-weight: 700;
    color: #1a1714;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 10px;
    line-height: 1.4;
    transition: color .25s;
}
.step-item:hover .step-title { color: #bf712c; }

.step-desc {
    font-size: 12.5px;
    color: #7a6f65;
    line-height: 1.72;
    margin: 0;
}

/* Left accent bar on hover — gradient draw */
.step-item::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg, #bf712c 0%, #bc945e 100%);
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .38s cubic-bezier(.22,1,.36,1);
}
.step-item:hover::after { transform: scaleY(1); }

/* ---- Responsive ---- */
@media (max-width: 991px) {
    .steps-hd-title { font-size: 32px; }
    .steps-track { grid-template-columns: 1fr 28px 1fr 28px 1fr; }
    .step-title { font-size: 11px; }
    .steps-section::after { display: none; }
}
@media (max-width: 767px) {
    .steps-hd-title { font-size: 26px; }
    .steps-track { grid-template-columns: 1fr; }
    .step-connector { display: none; }
    .step-item { margin-bottom: 8px; }
    .steps-bridge { padding: 10px 0; }
    .steps-bridge::before,
    .steps-bridge::after { max-width: 30%; }
}

/* ========================================
   Reviews Section — Отзывы
   ======================================== */
.reviews-section {
    background: #080604;
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(188,148,94,.15);
    border-bottom: 1px solid rgba(188,148,94,.15);
}
/* Diagonal texture */
.reviews-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
        -55deg,
        transparent 0, transparent 18px,
        rgba(188,148,94,.011) 18px, rgba(188,148,94,.011) 19px
    );
    pointer-events: none;
    z-index: 0;
}

/* ---- Left column ---- */
.reviews-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 20px;
    padding-bottom: 20px;
    position: relative;
    z-index: 1;
    opacity: 0;
    transform: translateX(-28px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1);
}
.reviews-section.rvs-visible .reviews-left {
    opacity: 1;
    transform: translateX(0);
}

.reviews-tag {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 9.5px;
    letter-spacing: 4.5px;
    color: #bc945e;
    text-transform: uppercase;
    font-weight: 600;
    margin: 0 0 20px;
}
.reviews-tag::before {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background: linear-gradient(90deg, #bf712c, #bc945e);
    flex-shrink: 0;
    transition: width .8s cubic-bezier(.22,1,.36,1);
    transition-delay: .25s;
}
.reviews-section.rvs-visible .reviews-tag::before { width: 32px; }

.reviews-title {
    font-size: 40px;
    font-weight: 800;
    color: #ece4d8;
    text-transform: uppercase;
    letter-spacing: .5px;
    line-height: 1.15;
    margin: 0 0 22px;
}
.reviews-title em { font-style: normal; color: #bf712c; }

.reviews-divider {
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #bf712c, #bc945e, transparent);
    margin-bottom: 24px;
    transition: width .85s cubic-bezier(.22,1,.36,1);
    transition-delay: .3s;
}
.reviews-section.rvs-visible .reviews-divider { width: 56px; }

.reviews-desc {
    font-size: 14px;
    color: #6a625a;
    line-height: 1.75;
    margin: 0 0 30px;
    max-width: 400px;
}

/* Stars row */
.reviews-stars {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 28px;
}
.reviews-stars .fa {
    font-size: 18px;
    color: #bf712c;
}
.reviews-stars-label {
    font-size: 10px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #4a4540;
    margin-left: 10px;
}

/* Yandex badge */
.reviews-badge {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border: 1px solid rgba(188,148,94,.12);
    background: rgba(188,148,94,.03);
    max-width: 340px;
    transition: border-color .25s, background .25s;
}
.reviews-badge:hover {
    border-color: rgba(188,148,94,.28);
    background: rgba(188,148,94,.06);
}
.reviews-badge-icon {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(188,148,94,.3);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #bf712c;
    font-size: 15px;
    flex-shrink: 0;
}
.reviews-badge-body {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.reviews-badge-title {
    font-size: 12px;
    font-weight: 700;
    color: #d4c8b8;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.reviews-badge-sub {
    font-size: 10.5px;
    color: #4a4540;
    line-height: 1.4;
}

/* ---- Right column (widget) ---- */
.reviews-right {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding-top: 10px;
    padding-bottom: 10px;
    opacity: 0;
    transform: translateX(28px);
    transition: opacity .75s ease, transform .75s cubic-bezier(.22,1,.36,1);
    transition-delay: .15s;
}
.reviews-section.rvs-visible .reviews-right {
    opacity: 1;
    transform: translateX(0);
}

/* Glow behind widget */
.reviews-glow {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    width: 600px; height: 500px;
    background: radial-gradient(ellipse, rgba(191,113,44,.07) 0%, transparent 62%);
    pointer-events: none;
    z-index: 0;
}

/* Decorative frame with corner brackets */
.reviews-widget-frame {
    position: relative;
    z-index: 1;
    padding: 14px;
}
/* TL + BR corners */
.reviews-widget-frame::before,
.reviews-widget-frame::after {
    content: '';
    position: absolute;
    width: 26px; height: 26px;
    border-color: rgba(188,148,94,.38);
    border-style: solid;
    transition: width .35s, height .35s, border-color .3s;
    pointer-events: none;
}
.reviews-widget-frame::before { top: 0; left: 0; border-width: 1px 0 0 1px; }
.reviews-widget-frame::after  { bottom: 0; right: 0; border-width: 0 1px 1px 0; }
/* TR + BL corners via spans */
.rwf-tr, .rwf-bl {
    position: absolute;
    width: 26px; height: 26px;
    border-color: rgba(188,148,94,.38);
    border-style: solid;
    pointer-events: none;
    transition: width .35s, height .35s, border-color .3s;
}
.rwf-tr { top: 0; right: 0; border-width: 1px 1px 0 0; }
.rwf-bl { bottom: 0; left: 0; border-width: 0 0 1px 1px; }

/* Expand corners on frame hover */
.reviews-widget-frame:hover::before,
.reviews-widget-frame:hover::after { width: 38px; height: 38px; border-color: rgba(188,148,94,.7); }
.reviews-widget-frame:hover .rwf-tr,
.reviews-widget-frame:hover .rwf-bl { width: 38px; height: 38px; border-color: rgba(188,148,94,.7); }

/* Scaler wrapper — desktop: ~1/1.3 scale */
.reviews-widget-scaler {
    display: block;
    width: 560px;
    height: 800px;
    overflow: hidden;
    border-radius: 4px;
    transform: scale(0.769);
    transform-origin: top center;
    margin-bottom: calc(800px * (0.769 - 1)); /* -184.8px: compensate layout height */
}

/* ---- Responsive ---- */
@media (max-width: 1199px) {
    .reviews-title { font-size: 34px; }
}
@media (max-width: 991px) {
    .reviews-right { justify-content: center; }
    .reviews-title { font-size: 28px; }
    .reviews-desc { max-width: 100%; }
}
@media (max-width: 767px) {
    .reviews-left { padding-bottom: 36px; }
    .reviews-right { justify-content: center; }
    .reviews-title { font-size: 26px; }
    /* Scale down further for narrow screens */
    .reviews-widget-scaler {
        transform: scale(.48);
        transform-origin: top left;
        margin-bottom: calc(800px * (.48 - 1)); /* -416px */
    }
}

/* ========================================
   Catalog card — price & order button
   ======================================== */

/* ---- Doors catalog (.item-main cards) ---- */
.item-main__bottom {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 4px;
}
.item-main__price {
    font-size: 13px;
    font-weight: 700;
    color: #bc945e;
    letter-spacing: .5px;
    margin: 0;
    line-height: 1;
}
.item-main__price span {
    font-size: 11px;
    font-weight: 400;
    color: rgba(188,148,94,.7);
}
.item-main__order-btn {
    display: inline-flex;
    align-items: center;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #bc945e !important;
    text-decoration: none !important;
    border: 1px solid rgba(188,148,94,.35);
    padding: 6px 14px;
    margin: 0;
    line-height: 1;
    transition: border-color .25s, background .25s, color .25s;
    cursor: pointer;
}
.item-main__order-btn:hover {
    border-color: #bc945e;
    background: rgba(188,148,94,.08);
    color: #bc945e !important;
}

/* ---- Furniture catalog (.single-shop-item cards) ---- */
.shop-item-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px;
}
.shop-item-btns .cart-button {
    margin-top: 0 !important;
}
.shop-item-price {
    font-size: 14px;
    font-weight: 700;
    color: #bc945e;
    margin: 6px 0 10px;
    letter-spacing: .3px;
    display: block;
}
/* override style.css rule that forces all .meta span to display:block */
.shop-item-price span {
    display: inline !important;
    font-size: 12px;
    font-weight: 400;
    color: rgba(188,148,94,.7);
}
.shop-item-order-btn {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #bc945e !important;
    text-decoration: none !important;
    border: 1px solid rgba(188,148,94,.35);
    padding: 7px 16px;
    margin: 6px 0 10px;
    transition: border-color .25s, background .25s;
    cursor: pointer;
}
.shop-item-order-btn:hover {
    border-color: #bc945e;
    background: rgba(188,148,94,.07);
}

/* ========================================
   Hero Modal
   ======================================== */
#heroModal .modal-content {
    background: #1a1612;
    border: 1px solid rgba(188,148,94,.35);
    border-radius: 2px;
    box-shadow: 0 30px 80px rgba(0,0,0,.8);
}
#heroModal .modal-header {
    border-bottom: 1px solid rgba(188,148,94,.15);
    padding: 24px 30px 18px;
}
#heroModal .modal-title {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}
#heroModal .modal-label {
    display: block;
    font-size: 10px;
    letter-spacing: 4px;
    color: #bc945e;
    text-transform: uppercase;
    margin-bottom: 6px;
}
#heroModal .modal-header .close {
    color: #777;
    opacity: 1;
    text-shadow: none;
    font-size: 24px;
}
#heroModal .modal-header .close:hover { color: #bc945e; }
#heroModal .modal-body { padding: 26px 30px 30px; }
#heroModal .form-group { margin-bottom: 14px; }
#heroModal .form-control {
    background: #231e17;
    border: 1px solid rgba(188,148,94,.2);
    color: #ddd;
    border-radius: 2px;
    height: 44px;
    font-size: 14px;
    transition: border-color .2s;
}
#heroModal .form-control:focus {
    border-color: #bc945e;
    background: #2a2318;
    box-shadow: none;
    color: #fff;
}
#heroModal textarea.form-control { height: auto; }
#heroModal .form-control::-webkit-input-placeholder { color: #555; }
#heroModal .form-control::-moz-placeholder { color: #555; }
#heroModal .btn-hero-submit {
    width: 100%;
    padding: 13px;
    background: #bc945e;
    color: #fff;
    border: none;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    transition: background .25s;
    border-radius: 2px;
    margin-top: 6px;
    cursor: pointer;
}
#heroModal .btn-hero-submit:hover { background: #a07840; }
.hero-result {
    display: none;
    padding: 11px 14px;
    border-radius: 2px;
    font-size: 13px;
    text-align: center;
    margin-bottom: 14px;
}
.hero-result.success {
    background: rgba(188,148,94,.1);
    color: #bc945e;
    border: 1px solid rgba(188,148,94,.35);
    display: block;
}
.hero-result.error {
    background: rgba(180,60,60,.1);
    color: #e88;
    border: 1px solid rgba(180,60,60,.35);
    display: block;
}

/* ========================================
   CLS fix — reserve space for RevSlider banner
   so the layout does not shift when JS initialises the slider
   ======================================== */
.bannercontainer {
    min-height: 480px;
}
@media (min-width: 992px) {
    .bannercontainer { min-height: 560px; }
}
@media (max-width: 767px) {
    .bannercontainer { min-height: 260px; }
}

/* End */


/* Start:/local/templates/.default/js/plugins/fancybox/jquery.fancybox.css?16807593754895*/
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
	padding: 0;
	margin: 0;
	border: 0;
	outline: none;
	vertical-align: top;
}

.fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 8020;
}

.fancybox-skin {
	position: relative;
	background: #f9f9f9;
	color: #444;
	text-shadow: none;
	-webkit-border-radius: 4px;
	   -moz-border-radius: 4px;
	        border-radius: 4px;
}

.fancybox-opened {
	z-index: 8030;
}

.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
	position: relative;
}

.fancybox-inner {
	overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
	-webkit-overflow-scrolling: touch;
}

.fancybox-error {
	color: #444;
	font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	margin: 0;
	padding: 15px;
	white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
	display: block;
	width: 100%;
	height: 100%;
}

.fancybox-image {
	max-width: 100%;
	max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
	background-image: url('/local/templates/.default/js/plugins/fancybox/fancybox_sprite.png');
}

#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -22px;
	margin-left: -22px;
	background-position: 0 -108px;
	opacity: 0.8;
	cursor: pointer;
	z-index: 8060;
}

#fancybox-loading div {
	width: 44px;
	height: 44px;
	background: url('/local/templates/.default/js/plugins/fancybox/fancybox_loading.gif') center center no-repeat;
}

.fancybox-close {
	position: absolute;
	top: -18px;
	right: -18px;
	width: 36px;
	height: 36px;
	cursor: pointer;
	z-index: 8040;
}

.fancybox-nav {
	position: absolute;
	top: 0;
	width: 40%;
	height: 100%;
	cursor: pointer;
	text-decoration: none;
	background: transparent url('/local/templates/.default/js/plugins/fancybox/blank.gif'); /* helps IE */
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	z-index: 8040;
}

.fancybox-prev {
	left: 0;
}

.fancybox-next {
	right: 0;
}

.fancybox-nav span {
	position: absolute;
	top: 50%;
	width: 36px;
	height: 34px;
	margin-top: -18px;
	cursor: pointer;
	z-index: 8040;
	visibility: hidden;
}

.fancybox-prev span {
	left: 10px;
	background-position: 0 -36px;
}

.fancybox-next span {
	right: 10px;
	background-position: 0 -72px;
}

.fancybox-nav:hover span {
	visibility: visible;
}

.fancybox-tmp {
	position: absolute;
	top: -99999px;
	left: -99999px;
	visibility: hidden;
	max-width: 99999px;
	max-height: 99999px;
	overflow: visible !important;
}

/* Overlay helper */

.fancybox-lock {
    overflow: hidden !important;
    width: auto;
}

.fancybox-lock body {
    overflow: hidden !important;
}

.fancybox-lock-test {
    overflow-y: hidden !important;
}

.fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	display: none;
	z-index: 8010;
	background: url('/local/templates/.default/js/plugins/fancybox/fancybox_overlay.png');
}

.fancybox-overlay-fixed {
	position: fixed;
	bottom: 0;
	right: 0;
}

.fancybox-lock .fancybox-overlay {
	overflow: auto;
	overflow-y: scroll;
}

/* Title helper */

.fancybox-title {
	visibility: hidden;
	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	position: relative;
	text-shadow: none;
	z-index: 8050;
}

.fancybox-opened .fancybox-title {
	visibility: visible;
}

.fancybox-title-float-wrap {
	position: absolute;
	bottom: 0;
	right: 50%;
	margin-bottom: -35px;
	z-index: 8050;
	text-align: center;
}

.fancybox-title-float-wrap .child {
	display: inline-block;
	margin-right: -100%;
	padding: 2px 20px;
	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
	background: rgba(0, 0, 0, 0.8);
	-webkit-border-radius: 15px;
	   -moz-border-radius: 15px;
	        border-radius: 15px;
	text-shadow: 0 1px 2px #222;
	color: #FFF;
	font-weight: bold;
	line-height: 24px;
	white-space: nowrap;
}

.fancybox-title-outside-wrap {
	position: relative;
	margin-top: 10px;
	color: #fff;
}

.fancybox-title-inside-wrap {
	padding-top: 10px;
}

.fancybox-title-over-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
	padding: 10px;
	background: #000;
	background: rgba(0, 0, 0, .8);
}

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
	   only screen and (min--moz-device-pixel-ratio: 1.5),
	   only screen and (min-device-pixel-ratio: 1.5){

	#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
		background-image: url('/local/templates/.default/js/plugins/fancybox/fancybox_sprite@2x.png');
		background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
	}

	#fancybox-loading div {
		background-image: url('/local/templates/.default/js/plugins/fancybox/fancybox_loading@2x.gif');
		background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
	}
}
/* End */
/* /local/templates/.default/css/hero-cta.css?177607749836117 */
/* /local/templates/.default/js/plugins/fancybox/jquery.fancybox.css?16807593754895 */
