/* ==========================================================================
   Vinyl Jam — base
   ========================================================================== */

:root{
    --lime:#CAFF33;
    --dark:#0a0a0a;
    --dark-2:#111111;
    --light:#f2f2f0;
    --white:#ffffff;
    --gray:#8a8a8a;
    --border-d:rgba(255,255,255,.12);
    --border-l:rgba(10,10,10,.12);
    --ff-head:'Barlow Condensed',sans-serif;
    --ff-body:'Inter',sans-serif;
    --wmax:1320px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
    margin:0;
    background:var(--light);
    color:var(--dark);
    font-family:var(--ff-body);
    font-size:15px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,p{margin:0;}
button,input,select,textarea{font-family:var(--ff-body);font-size:15px;color:inherit;}
button{cursor:pointer;}
* { border-radius:0!important; }

.w{
    width:100%;
    max-width:var(--wmax);
    margin:0 auto;
    padding:0 20px;
}

.eyebrow{
    font-family:var(--ff-head);
    font-size:13px;
    font-weight:500;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--dark);
    opacity:.55;
    margin-bottom:10px;
}
.tt{
    font-family:var(--ff-head);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.01em;
    font-size:34px;
    line-height:1.05;
}
.sec-h{margin-bottom:36px;}

.ba,.bo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-family:var(--ff-head);
    font-weight:600;
    font-size:13px;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:13px 22px;
    border:1px solid transparent;
    transition:background .2s ease,color .2s ease,border-color .2s ease;
    white-space:nowrap;
}
.ba{background:var(--lime);color:var(--dark);}
.ba:hover{background:var(--dark);color:var(--lime);border-color:var(--lime);}
.bo{background:transparent;border-color:var(--border-d);color:var(--white);}
.bo:hover{background:var(--white);color:var(--dark);border-color:var(--white);}
.ba-lg,.bo-lg{padding:17px 30px;font-size:14px;}

.soc{
    font-family:var(--ff-head);
    font-size:12px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    text-decoration:underline;
    text-decoration-color:var(--border-d);
    text-underline-offset:3px;
}

/* ==========================================================================
   Header
   ========================================================================== */

#site-header{
    position:sticky;
    top:0;
    z-index:100;
    background:var(--dark);
    border-bottom:1px solid var(--border-d);
}
.hd{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:76px;
    gap:24px;
}
.logo,.footer-logo{display:flex;align-items:center;}

.main-nav{display:none;flex:1;}
.main-nav ul{display:flex;align-items:center;gap:28px;justify-content:center;}
.main-nav a{
    font-family:var(--ff-head);
    font-size:14px;
    font-weight:500;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--white);
    opacity:.75;
    transition:opacity .2s ease,color .2s ease;
}
.main-nav a:hover{opacity:1;color:var(--lime);}

.hr{display:flex;align-items:center;gap:16px;}
.haddr{
    display:none;
    align-items:center;
    gap:8px;
    color:var(--white);
    opacity:.65;
    font-size:12px;
    line-height:1.2;
}
.haddr svg{flex-shrink:0;color:var(--lime);}

.hmsng-wrap{display:flex;align-items:center;gap:10px;}
.hmsng{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border:1px solid var(--border-d);
    color:var(--white);
    transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.hmsng:hover{background:var(--lime);color:var(--dark);border-color:var(--lime);}

.hp{
    display:none;
    align-items:center;
    gap:6px;
    color:var(--white);
    font-family:var(--ff-head);
    font-size:14px;
    font-weight:600;
    letter-spacing:.02em;
}
.hp svg{color:var(--lime);}

#site-header .ba{padding:11px 18px;font-size:12px;}

.hbtn{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:34px;
    height:34px;
    background:transparent;
    border:1px solid var(--border-d);
    padding:0 8px;
}
.hbtn span{display:block;width:100%;height:1px;background:var(--white);}

/* ==========================================================================
   Hero
   ========================================================================== */

.hero{
    position:relative;
    min-height:600px;
    max-height:600px;
    height:600px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding-top:0;
    padding-bottom:0;
    overflow:hidden;
    background:#0a0a0a;
}
.hero-v{position:absolute;inset:0;z-index:0;}
.hero-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    z-index:0;
}
.hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(
        to bottom,
        rgba(0,0,0,.55) 0%,
        rgba(0,0,0,.45) 40%,
        rgba(0,0,0,.72) 75%,
        rgba(0,0,0,.88) 100%
    );
}
.hero-in{
    position:relative;
    z-index:1;
    padding-top:110px;
    padding-bottom:110px;
}
.hero-tag{
    display:inline-block;
    font-family:var(--ff-head);
    font-size:13px;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--lime);
    border:1px solid rgba(202,255,51,.4);
    padding:6px 14px;
    margin-bottom:22px;
}
.hero-h1{
    font-family:var(--ff-head);
    font-weight:700;
    text-transform:uppercase;
    color:var(--white);
    font-size:44px;
    line-height:1.02;
    letter-spacing:.01em;
    max-width:820px;
}
.hero-sub{
    color:rgba(255,255,255,.72);
    font-size:16px;
    line-height:1.6;
    max-width:520px;
    margin-top:22px;
}
.hero-btns{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:34px;
}
.hero-scroll{
    position:absolute;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    z-index:1;
    color:var(--lime);
    opacity:.8;
    animation:bounce 2.2s ease-in-out infinite;
}
@keyframes bounce{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}

/* ==========================================================================
   Marquee
   ========================================================================== */

.mq{
    background:var(--lime);
    overflow:hidden;
    white-space:nowrap;
    border-bottom:1px solid var(--dark);
}
.mq-track{
    display:inline-flex;
    align-items:center;
    animation:mq-scroll 28s linear infinite;
}
.mq-item{
    font-family:var(--ff-head);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.02em;
    font-size:20px;
    color:var(--dark);
    padding:14px 28px;
}
.mq-item::after{content:'✦';margin-left:28px;opacity:.5;}
@keyframes mq-scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
}

/* ==========================================================================
   Counters
   ========================================================================== */

.cnt{background:var(--dark);padding:56px 0;}
.cnt-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:32px 20px;
}
.cnt-item{text-align:center;border-left:1px solid var(--border-d);padding-left:20px;}
.cnt-item:nth-child(odd){border-left:none;}
.cnt-num{
    font-family:var(--ff-head);
    font-weight:700;
    color:var(--lime);
    font-size:44px;
    line-height:1;
}
.cnt-num span{font-size:22px;margin-left:2px;}
.cnt-lbl{
    margin-top:8px;
    color:rgba(255,255,255,.6);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
}

/* ==========================================================================
   Services
   ========================================================================== */

.sv{background:var(--light);padding:80px 0;}
.sv-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:1px;
    background:var(--border-l);
    border:1px solid var(--border-l);
}
.sv-card{
    background:var(--light);
    padding:32px 28px;
    display:flex;
    flex-direction:column;
    transition:background .25s ease,color .25s ease;
}
.sv-card:hover{background:var(--dark);color:var(--white);}
.sv-card:hover .sv-n{color:var(--lime);opacity:1;}
.sv-card:hover .sv-a{color:var(--lime);}
.sv-n{
    font-family:var(--ff-head);
    font-size:14px;
    opacity:.4;
    margin-bottom:18px;
}
.sv-t{
    font-family:var(--ff-head);
    font-weight:700;
    text-transform:uppercase;
    font-size:20px;
    line-height:1.15;
}
.sv-d{
    margin-top:12px;
    font-size:14px;
    line-height:1.55;
    opacity:.7;
    flex-grow:1;
}
.sv-p{
    margin-top:20px;
    font-family:var(--ff-head);
    font-weight:600;
    font-size:16px;
    letter-spacing:.02em;
}
.sv-a{
    margin-top:14px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:600;
    opacity:.8;
}

/* ==========================================================================
   Portfolio
   ========================================================================== */

.pf{background:var(--dark);padding:80px 0;}
.pf .eyebrow{color:var(--white);}
.pf .tt{color:var(--white);}
.pf-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}
.pf-item{
    position:relative;
    min-height:280px;
    background:linear-gradient(135deg,#1c1c1c 0%,#050505 100%);
    overflow:hidden;
    display:flex;
    align-items:flex-end;
}
.pf-c1{background:linear-gradient(135deg,#2a2a2a 0%,#0a0a0a 100%);}
.pf-c2{background:linear-gradient(135deg,#1f2418 0%,#0a0a0a 100%);}
.pf-c3{background:linear-gradient(135deg,#241f1a 0%,#0a0a0a 100%);}
.pf-c4{background:linear-gradient(135deg,#181c24 0%,#0a0a0a 100%);}
.pf-c5{background:linear-gradient(135deg,#1a1a1a 0%,#0a0a0a 100%);}
.pf-item::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.85) 100%);
}
.pf-ov{position:relative;z-index:1;padding:22px;}
.pf-cat{
    font-family:var(--ff-head);
    font-size:12px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--lime);
    margin-bottom:6px;
}
.pf-t{
    font-family:var(--ff-head);
    font-weight:700;
    text-transform:uppercase;
    font-size:20px;
    color:var(--white);
}

/* ==========================================================================
   About
   ========================================================================== */

.ab{background:var(--light);padding:80px 0;}
.ab-media{
    background:var(--dark);
    min-height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px;
}
.ab-badge{text-align:center;}
.ab-badge-n{
    font-family:var(--ff-head);
    font-weight:700;
    font-size:64px;
    color:var(--lime);
    line-height:1;
}
.ab-badge-t{
    margin-top:10px;
    font-family:var(--ff-head);
    text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--white);
    font-size:15px;
}
.ab-side{margin-top:48px;}
.ab-list{display:flex;flex-direction:column;}
.ab-item{
    display:flex;
    align-items:baseline;
    gap:18px;
    padding:18px 0;
    border-top:1px solid var(--border-l);
}
.ab-item:last-child{border-bottom:1px solid var(--border-l);}
.ab-num{
    font-family:var(--ff-head);
    font-weight:700;
    font-size:14px;
    opacity:.4;
    flex-shrink:0;
}
.ab-tx{font-size:15px;line-height:1.5;}

/* ==========================================================================
   Process
   ========================================================================== */

.pr{background:var(--dark);padding:80px 0;}
.pr .eyebrow{color:var(--white);}
.pr .tt{color:var(--white);}
.pr-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:1px;
    background:var(--border-d);
    border:1px solid var(--border-d);
}
.pr-step{background:var(--dark);padding:32px 28px;}
.pr-n{
    font-family:var(--ff-head);
    font-weight:700;
    font-size:32px;
    color:var(--lime);
    line-height:1;
}
.pr-t{
    margin-top:16px;
    font-family:var(--ff-head);
    font-weight:700;
    text-transform:uppercase;
    font-size:19px;
    color:var(--white);
}
.pr-d{
    margin-top:10px;
    font-size:14px;
    line-height:1.55;
    color:rgba(255,255,255,.65);
}

/* ==========================================================================
   Partners / materials
   ========================================================================== */

.pt{background:var(--light);padding:48px 0;border-top:1px solid var(--border-l);border-bottom:1px solid var(--border-l);}
.pt-lbl{
    font-family:var(--ff-head);
    font-size:12px;
    letter-spacing:.1em;
    text-transform:uppercase;
    opacity:.5;
    margin-bottom:22px;
    text-align:center;
}
.pt-track{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:36px 48px;
}
.pt-item{
    font-family:var(--ff-head);
    font-weight:700;
    font-size:22px;
    text-transform:uppercase;
    letter-spacing:.02em;
    opacity:.45;
    transition:opacity .2s ease;
}
.pt-item:hover{opacity:1;}

/* ==========================================================================
   Booking form
   ========================================================================== */

.bk{background:var(--dark);padding:80px 0;}
.bk .eyebrow{color:var(--white);}
.bk .tt{color:var(--white);}
.bk-txt{color:rgba(255,255,255,.65);font-size:15px;line-height:1.6;max-width:420px;margin-top:-16px;}
.bk-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:48px;
}
.bk-contacts{
    display:flex;
    flex-direction:column;
    margin-top:32px;
}
.bk-c-item{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:16px 0;
    border-top:1px solid var(--border-d);
    color:var(--white);
}
.bk-c-item:last-child{border-bottom:1px solid var(--border-d);}
.bk-c-lbl{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:rgba(255,255,255,.45);
}
.bk-c-val{font-family:var(--ff-head);font-size:17px;font-weight:500;display:flex;gap:14px;}

.bk-form{display:flex;flex-direction:column;gap:18px;align-self:start;}
.fld{display:flex;flex-direction:column;gap:8px;}
.fld label{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:rgba(255,255,255,.5);
}
.fld input,.fld select,.fld textarea{
    background:transparent;
    border:1px solid var(--border-d);
    color:var(--white);
    padding:13px 14px;
    outline:none;
    transition:border-color .2s ease;
    resize:vertical;
}
.fld input::placeholder,.fld textarea::placeholder{color:rgba(255,255,255,.35);}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--lime);}
.fld select{appearance:none;}

.bk-submit{width:100%;margin-top:6px;}

/* ==========================================================================
   Footer
   ========================================================================== */

#site-footer{background:var(--dark-2);padding:64px 0 0;border-top:1px solid var(--border-d);}
.ftg{
    display:grid;
    grid-template-columns:1fr;
    gap:40px;
    padding-bottom:48px;
}
.fttg{
    margin-top:18px;
    color:rgba(255,255,255,.6);
    font-size:14px;
    line-height:1.55;
}
.ftsc{display:flex;gap:18px;margin-top:20px;}
.ftsc .soc{color:var(--white);}
.ftct{
    font-family:var(--ff-head);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:13px;
    color:var(--white);
    margin-bottom:18px;
}
.ftl{display:flex;flex-direction:column;gap:12px;}
.ftl a,.ftl span{color:rgba(255,255,255,.6);font-size:14px;transition:color .2s ease;}
.ftl a:hover{color:var(--lime);}
.ftb{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:22px 0;
    border-top:1px solid var(--border-d);
}
.ftcp{color:rgba(255,255,255,.45);font-size:13px;}
.ftpp{color:rgba(255,255,255,.45);font-size:13px;text-decoration:underline;text-decoration-color:var(--border-d);}

/* ==========================================================================
   Breakpoints
   ========================================================================== */

@media (min-width:768px){
    .hero-h1{font-size:60px;}
    .cnt-grid{grid-template-columns:repeat(4,1fr);}
    .cnt-item{border-left:1px solid var(--border-d);}
    .cnt-item:first-child{border-left:none;}
    .sv-grid{grid-template-columns:repeat(2,1fr);}
    .pf-grid{grid-template-columns:repeat(2,1fr);}
    .pf-item--big{grid-column:span 2;min-height:360px;}
    .ab-grid{grid-template-columns:1fr;}
    .ab-side{margin-top:56px;}
    .pr-grid{grid-template-columns:repeat(2,1fr);}
    .ftg{grid-template-columns:repeat(2,1fr);}
    .bk-grid{grid-template-columns:repeat(2,1fr);}
    .ftb{flex-direction:row;justify-content:space-between;align-items:center;}
}

@media (min-width:1024px){
    .w{padding:0 40px;}
    .main-nav{display:flex;}
    .haddr{
        display:flex;
        flex-direction:column;
        gap:2px;
        font-size:13px;
    }
    .haddr-line1{color:var(--white);font-size:13px;}
    .haddr-line2{color:var(--gray);font-size:11px;}
    .hp{display:flex;}
    .hbtn{display:none;}
    .hero-h1{font-size:76px;}
    .tt{font-size:44px;}
    .sv-grid{grid-template-columns:repeat(3,1fr);}
    .pf-grid{grid-template-columns:repeat(4,1fr);}
    .pf-item--big{grid-column:span 2;grid-row:span 2;min-height:100%;}
    .ab-grid{grid-template-columns:.85fr 1fr;gap:64px;align-items:center;}
    .ab-side{margin-top:0;}
    .ab-media{min-height:460px;}
    .pr-grid{grid-template-columns:repeat(4,1fr);}
    .ftg{grid-template-columns:1.4fr 1fr 1fr 1fr;}
    .bk-grid{grid-template-columns:.9fr 1fr;gap:80px;}
}

@media (min-width:1440px){
    .hero-h1{font-size:88px;}
    .cnt{padding:72px 0;}
    .cnt-num{font-size:52px;}
    .sv,.pf,.ab,.pr,.bk{padding:110px 0;}
}

/* ==========================================================================
   Services page — mini-hero
   ========================================================================== */

.mhero{background:var(--dark);padding:56px 0 48px;}
.bc{
    display:flex;
    align-items:center;
    gap:10px;
    font-family:var(--ff-head);
    font-size:12px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    margin-bottom:18px;
}
.bc a{color:rgba(255,255,255,.55);transition:color .2s ease;}
.bc a:hover{color:var(--lime);}
.bc-sep{color:rgba(255,255,255,.3);}
.bc-cur{color:var(--white);}
.mhero-h1{
    font-family:var(--ff-head);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.01em;
    color:var(--white);
    font-size:40px;
    line-height:1.05;
}

/* ==========================================================================
   Services page (LEGACY, orphaned /services.php only — не путать с новой
   архитектурой /services/ на bitrix:news, у неё свои .svc-grid/.svc-card
   ниже). Переименовано в -old, чтобы не конфликтовать по имени классов.
   ========================================================================== */

.svc{background:var(--light);padding:64px 0 80px;}
.svc-grid-old{
    display:grid;
    grid-template-columns:1fr;
    gap:1px;
    background:var(--border-l);
    border:1px solid var(--border-l);
}
.svc-card-old{
    background:var(--light);
    padding:32px 28px;
    display:flex;
    flex-direction:column;
    transition:background .25s ease,color .25s ease;
}
.svc-card-old:hover{background:var(--dark);color:var(--white);}
.svc-card-old:hover .svc-n{color:var(--lime);opacity:1;}
.svc-card-old:hover .svc-btn{background:var(--lime);color:var(--dark);border-color:var(--lime);}
.svc-n{
    font-family:var(--ff-head);
    font-size:14px;
    opacity:.4;
    margin-bottom:18px;
}
.svc-t{
    font-family:var(--ff-head);
    font-weight:700;
    text-transform:uppercase;
    font-size:20px;
    line-height:1.15;
}
.svc-d{
    margin-top:12px;
    font-size:14px;
    line-height:1.55;
    opacity:.7;
    flex-grow:1;
}
.svc-p{
    margin-top:20px;
    font-family:var(--ff-head);
    font-weight:600;
    font-size:16px;
    letter-spacing:.02em;
}
.svc-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:18px;
    padding:12px 20px;
    font-family:var(--ff-head);
    font-weight:600;
    font-size:12px;
    letter-spacing:.06em;
    text-transform:uppercase;
    border:1px solid var(--border-l);
    transition:background .2s ease,color .2s ease,border-color .2s ease;
    align-self:flex-start;
}

/* ==========================================================================
   Services page — trust block
   ========================================================================== */

.trust{background:var(--dark);padding:56px 0;border-top:1px solid var(--border-d);}
.trust-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:32px;
}
.trust-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:14px;
}
.trust-ic{color:var(--lime);}
.trust-t{
    font-family:var(--ff-head);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:15px;
    color:var(--white);
}

/* ==========================================================================
   Services page — CTA booking
   ========================================================================== */

.cta{background:var(--dark);padding:80px 0;}
.cta .eyebrow{color:var(--white);text-align:center;}
.cta .tt{color:var(--white);text-align:center;}
.cta-in{display:flex;flex-direction:column;align-items:center;}
.cta-in .sec-h{text-align:center;}
.cta-form{
    display:flex;
    flex-direction:column;
    gap:18px;
    width:100%;
    max-width:420px;
}
.cta-submit{width:100%;margin-top:6px;}

/* ==========================================================================
   Services page — breakpoints
   ========================================================================== */

@media (min-width:768px){
    .mhero-h1{font-size:52px;}
    .svc-grid-old{grid-template-columns:repeat(2,1fr);}
    .trust-grid{grid-template-columns:repeat(3,1fr);}
}

@media (min-width:1024px){
    .mhero{padding:72px 0 64px;}
    .mhero-h1{font-size:60px;}
    .svc-grid-old{grid-template-columns:repeat(3,1fr);}
    .trust-grid{grid-template-columns:repeat(3,1fr);gap:48px;}
}

/* ==========================================================================
   Services /services/{section}/ — карточки услуг раздела (тёмная тема,
   актуальная архитектура на bitrix:news + news.list/services-section).
   Раньше эти стили лежали в components/bitrix/news/services/style.css, но
   header.php не вызывает $APPLICATION->ShowCSS() — ни один компонентный
   style.css на сайте не подключается ни на одной странице. Поэтому стили
   живут здесь, в единственном реально загружаемом файле.
   ========================================================================== */

.svc-accent{color:#CAFF33;}

.svc-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    border:1px solid #2a2a2a;
}
.svc-card{
    background:#161616;
    padding:32px 28px;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border-right:1px solid #2a2a2a;
    border-bottom:1px solid #2a2a2a;
    transition:background .25s;
    text-decoration:none;
}
.svc-card::before{
    content:'';
    position:absolute;
    left:0;top:0;bottom:0;
    width:2px;
    background:#CAFF33;
    transform:scaleY(0);
    transform-origin:bottom;
    transition:transform .3s;
}
.svc-card:hover{background:#1a1a1a;}
.svc-card:hover::before{transform:scaleY(1);}
.svc-card__num{
    font-family:'Barlow Condensed',sans-serif;
    font-size:11px;
    letter-spacing:.1em;
    color:#555555;
    margin-bottom:16px;
    display:block;
}
.svc-card__title{
    font-family:'Barlow Condensed',sans-serif;
    font-size:20px;
    font-weight:400;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:#ffffff;
    margin-bottom:10px;
    line-height:1.15;
}
.svc-card__desc{
    font-size:13px;
    color:#888888;
    line-height:1.65;
    margin-bottom:20px;
    flex:1;
}
.svc-card__price{
    font-family:'Barlow Condensed',sans-serif;
    font-size:14px;
    letter-spacing:.06em;
    color:#CAFF33;
    margin-bottom:16px;
    font-weight:500;
}
.svc-card__link{
    font-family:'Barlow Condensed',sans-serif;
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#555555;
    text-decoration:none;
    transition:color .2s;
    margin-top:auto;
}
.svc-card:hover .svc-card__link{color:#CAFF33;}

.svc-breadnav{
    background:#111111;
    border-bottom:1px solid #2a2a2a;
    padding:14px 0;
}
.svc-breadnav__back{
    font-family:'Barlow Condensed',sans-serif;
    font-size:12px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#555555;
    text-decoration:none;
    transition:color .2s;
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.svc-breadnav__back:hover{color:#CAFF33;}

.svc-empty{
    text-align:center;
    padding:80px 0;
    font-family:'Barlow Condensed',sans-serif;
    font-size:16px;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#555555;
}

.svc-cta-section{
    background:#0a0a0a;
    padding:80px 0;
    border-top:1px solid #2a2a2a;
}
.svc-cta-inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:72px;
    align-items:center;
}
.svc-cta-eyebrow{
    font-family:'Barlow Condensed',sans-serif;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#888888;
    margin-bottom:16px;
}
.svc-cta-title{
    font-family:'Barlow Condensed',sans-serif;
    font-size:clamp(40px,5vw,64px);
    font-weight:400;
    line-height:.92;
    letter-spacing:.02em;
    text-transform:uppercase;
    color:#ffffff;
}
.svc-cta-title em{font-style:normal;color:#CAFF33;}
.svc-cta-contacts{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.svc-cta-phone{
    font-family:'Barlow Condensed',sans-serif;
    font-size:24px;
    font-weight:500;
    color:#ffffff;
    text-decoration:none;
    transition:color .2s;
}
.svc-cta-phone:hover{color:#CAFF33;}
.svc-cta-tg{
    font-family:'Barlow Condensed',sans-serif;
    font-size:13px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#CAFF33;
    text-decoration:none;
}
.svc-cta-btn{
    display:inline-flex;
    align-items:center;
    background:#CAFF33;
    color:#0a0a0a;
    font-family:'Barlow Condensed',sans-serif;
    font-size:13px;
    font-weight:500;
    letter-spacing:.14em;
    text-transform:uppercase;
    padding:16px 28px;
    text-decoration:none;
    transition:background .2s;
    width:fit-content;
}
.svc-cta-btn:hover{background:#a8d900;}

@media (max-width:1024px){
    .svc-cta-inner{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:768px){
    .svc-grid{grid-template-columns:1fr;}
}

/* ===== ДЕТАЛЬНАЯ СТРАНИЦА УСЛУГИ ===== */
.svc-d-hero {
    position: relative;
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: #0a0a0a center/cover no-repeat;
    overflow: hidden;
}
.svc-d-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.45) 0%,
        rgba(0,0,0,.55) 40%,
        rgba(0,0,0,.85) 100%
    );
    z-index: 1;
    pointer-events: none;
}
.svc-d-hero__content {
    position: relative;
    z-index: 2;
    padding-top: 120px;
    padding-bottom: 60px;
}
.svc-d-back {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #555;
    text-decoration: none;
    display: inline-block;
    margin-bottom: 16px;
    transition: color .2s;
}
.svc-d-back:hover { color: #CAFF33; }
.svc-d-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(36px, 5.5vw, 72px);
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 16px;
}
.svc-d-price {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 24px;
    color: #CAFF33;
    margin-bottom: 28px;
}
.svc-d-hero__btns {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.svc-d-btn {
    display: inline-flex;
    align-items: center;
    background: #CAFF33;
    color: #0a0a0a;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 16px 28px;
    text-decoration: none;
    transition: background .2s;
    border-radius: 0;
}
.svc-d-btn:hover { background: #a8d900; }
.svc-d-btn-ghost {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #ffffff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,.2);
    padding-bottom: 2px;
    transition: border-color .2s, color .2s;
}
.svc-d-btn-ghost:hover { border-color: #CAFF33; color: #CAFF33; }

/* META */
.svc-d-meta {
    background: #111111;
    border-bottom: 1px solid #2a2a2a;
}
.svc-d-meta__grid {
    display: flex;
    flex-wrap: wrap;
    border-right: 1px solid #2a2a2a;
}
.svc-d-meta__item {
    flex: 1;
    min-width: 160px;
    padding: 20px 28px;
    border-left: 1px solid #2a2a2a;
}
.svc-d-meta__label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #555;
    margin-bottom: 4px;
}
.svc-d-meta__val {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 16px;
    letter-spacing: .04em;
    color: #ffffff;
}
.svc-d-meta__val--accent { color: #CAFF33; }

/* BODY */
.svc-d-body {
    background: #111111;
    padding: 60px 0 80px;
}
.svc-d-body__grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 60px;
    align-items: start;
}
.svc-d-lead {
    font-size: 18px;
    color: #cccccc;
    line-height: 1.75;
    margin-bottom: 32px;
    border-left: 2px solid #CAFF33;
    padding-left: 20px;
}
.svc-d-text {
    font-size: 15px;
    color: #888888;
    line-height: 1.8;
}
.svc-d-text h2 {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #ffffff;
    margin: 36px 0 12px;
}
.svc-d-text p { margin-bottom: 16px; }
.svc-d-text ul { padding-left: 20px; margin-bottom: 16px; }
.svc-d-text li { margin-bottom: 8px; }

/* SIDEBAR */
.svc-d-sidebar {
    position: sticky;
    top: 84px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.svc-d-cta-box {
    background: #161616;
    border: 1px solid #CAFF33;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.svc-d-cta-box__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 20px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #ffffff;
}
.svc-d-cta-box__sub {
    font-size: 13px;
    color: #888;
    margin-bottom: 4px;
}
.svc-d-cta-box__price {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 28px;
    color: #CAFF33;
}
.svc-d-cta-box__btn {
    display: block;
    text-align: center;
    background: #CAFF33;
    color: #0a0a0a;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 16px;
    text-decoration: none;
    transition: background .2s;
    margin-top: 4px;
}
.svc-d-cta-box__btn:hover { background: #a8d900; }
.svc-d-cta-box__phone {
    display: block;
    text-align: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 18px;
    color: #ffffff;
    text-decoration: none;
    transition: color .2s;
}
.svc-d-cta-box__phone:hover { color: #CAFF33; }
.svc-d-cta-box__wa,
.svc-d-cta-box__tg {
    display: block;
    text-align: center;
    border: 1px solid #2a2a2a;
    color: #888;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 12px;
    text-decoration: none;
    transition: all .2s;
}
.svc-d-cta-box__wa:hover,
.svc-d-cta-box__tg:hover { border-color: #CAFF33; color: #CAFF33; }

/* RELATED */
.svc-d-related {
    background: #161616;
    border: 1px solid #2a2a2a;
    padding: 24px;
}
.svc-d-related__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 14px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #555;
    margin-bottom: 16px;
}
.svc-d-related__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #2a2a2a;
    text-decoration: none;
    color: #888;
    font-size: 13px;
    transition: color .2s;
}
.svc-d-related__item:last-of-type { border-bottom: none; }
.svc-d-related__item:hover { color: #CAFF33; }
.svc-d-related__all {
    display: block;
    margin-top: 14px;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #CAFF33;
    text-decoration: none;
}

/* PORTFOLIO */
.svc-d-portfolio {
    background: #0a0a0a;
    padding: 60px 0 80px;
    border-top: 1px solid #2a2a2a;
}
.svc-d-portfolio__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
}
.svc-d-portfolio__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #ffffff;
}
.svc-d-portfolio__all {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #CAFF33;
    text-decoration: none;
}
.svc-d-portfolio__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
}
.svc-d-pf-card {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/3;
    text-decoration: none;
}
.svc-d-pf-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s;
}
.svc-d-pf-card:hover img { transform: scale(1.04); }
.svc-d-pf-card__empty { width: 100%; height: 100%; background: #1a1a1a; }
.svc-d-pf-card__name {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 12px 16px;
    background: linear-gradient(to top, rgba(0,0,0,.7), transparent);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 14px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #ffffff;
}
.svc-d-portfolio__empty {
    color: #555;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 14px;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 40px 0;
}

/* FINAL CTA */
.svc-d-final-cta {
    background: #111111;
    padding: 80px 0;
    border-top: 1px solid #2a2a2a;
}
.svc-d-final-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}
.svc-d-final-cta__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(36px, 5vw, 60px);
    font-weight: 400;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: #ffffff;
    line-height: .92;
}
.svc-d-final-cta__btns {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.svc-d-final-cta__phone {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 20px;
    color: #ffffff;
    text-decoration: none;
    transition: color .2s;
}
.svc-d-final-cta__phone:hover { color: #CAFF33; }

/* АДАПТИВ */
@media (max-width: 1024px) {
    .svc-d-body__grid { grid-template-columns: 1fr; }
    .svc-d-sidebar { position: static; }
    .svc-d-portfolio__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .svc-d-portfolio__grid { grid-template-columns: 1fr; }
    .svc-d-final-cta__inner { flex-direction: column; align-items: flex-start; }
    .svc-d-meta__grid { flex-direction: column; }
}
/* ===== /ДЕТАЛЬНАЯ СТРАНИЦА УСЛУГИ ===== */

/* ==========================================================================
   Homepage — "Why us" grid (3x2)
   ========================================================================== */

.why{background:var(--dark);padding:80px 0;}
.why .eyebrow{color:var(--white);}
.why .tt{color:var(--white);}
.why-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:1px;
    background:var(--border-d);
    border:1px solid var(--border-d);
}
.why-item{
    background:var(--dark);
    padding:32px 28px;
    display:flex;
    flex-direction:column;
    gap:14px;
    transition:background .25s ease;
}
.why-item:hover{background:var(--dark-2);}
.why-n{
    font-family:var(--ff-head);
    font-weight:700;
    font-size:28px;
    color:var(--lime);
    line-height:1;
}
.why-t{
    font-family:var(--ff-head);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.02em;
    font-size:19px;
    color:var(--white);
}

@media (min-width:768px){
    .why-grid{grid-template-columns:repeat(2,1fr);}
}

@media (min-width:1024px){
    .why-grid{grid-template-columns:repeat(3,1fr);}
}

/* ==========================================================================
   main.feedback component form
   ========================================================================== */

.bk-form-wrap{width:100%;}
.mfb-form{
    display:flex;
    flex-direction:column;
    gap:18px;
}
.mfb-err{
    color:#ff6b6b;
    font-size:14px;
    line-height:1.5;
    margin-bottom:18px;
}
.mfb-ok{
    font-family:var(--ff-head);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.03em;
    color:var(--lime);
    font-size:18px;
    line-height:1.4;
    padding:24px 0;
}
.mfb-submit{width:100%;margin-top:6px;}

/* ========== HERO ========== */
.hgr {
    position: absolute;
    inset: 0;
    opacity: .04;
    background-image:
        linear-gradient(#2a2a2a 1px, transparent 1px),
        linear-gradient(90deg, #2a2a2a 1px, transparent 1px);
    background-size: 80px 80px;
    z-index: 2;
}
.hjam {
    position: absolute;
    right: -2%;
    bottom: -6%;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(200px, 28vw, 380px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.02em;
    text-transform: uppercase;
    color: rgba(255,255,255,.018);
    user-select: none;
    pointer-events: none;
    z-index: 2;
}
.hc {
    position: relative;
    z-index: 3;
    padding-top: 20px;
    padding-bottom: 0;
}
.hmt {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.chmp {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(202,255,51,.3);
    padding: 8px 16px;
    background: rgba(202,255,51,.06);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #CAFF33;
}
.eb {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #555555;
}
.hh {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 400;
    font-size: clamp(56px, 9vw, 120px);
    line-height: .92;
    letter-spacing: .02em;
    text-transform: uppercase;
    margin-bottom: 24px;
    color: #ffffff;
}
.hh .l2 { color: #CAFF33; }
.hh .l3 { opacity: .5; }
.hbt {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.hca {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}
.hsb {
    font-size: 14px;
    color: #888888;
    max-width: 260px;
    line-height: 1.75;
    border-left: 2px solid #CAFF33;
    padding-left: 16px;
}
.scr {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #555555;
}
.scrl {
    width: 1px;
    height: 44px;
    background: linear-gradient(to bottom, #555555, transparent);
    animation: sp 2s ease-in-out infinite;
}
@keyframes sp {
    0%, 100% { opacity: .4; }
    50%       { opacity: 1; }
}
@media (max-width: 768px) {
    .hero { padding-bottom: 48px; }
    .hmt  { margin-bottom: 16px; gap: 12px; }
    .hbt  { flex-direction: column; align-items: flex-start; gap: 16px; }
    .hsb  { max-width: 100%; }
    .scr  { display: none; }
    .hjam { display: none; }
}

/* ========== HERO SLIDER ========== */
.hero-slider { position: relative; }

.hero-slide {
    display: none;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 600px;
    max-height: 600px;
    height: 600px;
    padding-top: 0;
    padding-bottom: 40px;
    position: relative;
    overflow: hidden;
}
.hero-slide.active { display: flex; }

/* Навигация слайдера */
.hero-nav {
    position: absolute;
    bottom: 40px;
    right: var(--pd, 80px);
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 0;
    border: 1px solid rgba(255,255,255,.15);
}
.hero-nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: rgba(10,10,10,.6);
    backdrop-filter: blur(8px);
    border: none;
    color: #ffffff;
    cursor: pointer;
    transition: background .2s, color .2s;
    border-radius: 0;
}
.hero-nav-btn:hover {
    background: #CAFF33;
    color: #0a0a0a;
}
.hero-counter {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 16px;
    height: 44px;
    background: rgba(10,10,10,.6);
    backdrop-filter: blur(8px);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    letter-spacing: .1em;
    color: #ffffff;
    border-left: 1px solid rgba(255,255,255,.1);
    border-right: 1px solid rgba(255,255,255,.1);
}
.hero-current { color: #CAFF33; font-weight: 500; }
.hero-sep     { color: rgba(255,255,255,.3); }
.hero-total   { color: rgba(255,255,255,.5); }

/* Анимация смены слайдов */
.hero-slide { animation: none; }
.hero-slide.active { animation: heroFadeIn .6s ease forwards; }
@keyframes heroFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@media (max-width: 768px) {
    .hero-nav { bottom: 24px; right: 24px; }
    .hero-slide { padding-bottom: 40px; }
}

/* ========== PAGE HERO ========== */
.page-hero {
    padding: 120px 0 60px;
    background: #111111;
    border-bottom: 1px solid #2a2a2a;
}
.page-hero--dark { background: #0a0a0a; }
.page-hero__title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(40px, 6vw, 72px);
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #ffffff;
    margin: 16px 0 12px;
    line-height: 1;
}
.page-hero__sub {
    font-size: 14px;
    color: #888888;
    letter-spacing: .04em;
}

/* BREADCRUMB */
.breadcrumb {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #555555;
}
.breadcrumb a { color: #555555; transition: color .2s; }
.breadcrumb a:hover { color: #CAFF33; }

/* SERVICES PAGE GRID */
.svc-section { background: #111111; padding: 60px 0 80px; }
.svg {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    border: 1px solid #2a2a2a;
}

/* TRUST SECTION (страница услуг) — scoped через .trust-section,
   т.к. .trust-grid/.trust-item уже заняты тёмной секцией .trust на старой странице */
.trust-section {
    background: #f2f2f0;
    padding: 60px 0;
    border-top: 1px solid #d0d0cc;
}
.trust-section .trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-right: 1px solid #d0d0cc;
    gap: 0;
}
.trust-section .trust-item {
    display: block;
    padding: 36px 32px;
    border-left: 1px solid #d0d0cc;
    text-align: left;
}
.trust-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(44px, 5vw, 64px);
    font-weight: 400;
    line-height: 1;
    color: #0a0a0a;
    margin-bottom: 6px;
}
.trust-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #333;
    margin-bottom: 8px;
}
.trust-text { font-size: 13px; color: #666; line-height: 1.6; }

/* АДАПТИВ — страница услуг */
@media (max-width: 1024px) {
    .svg { grid-template-columns: repeat(2, 1fr); }
    .trust-section .trust-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .svg { grid-template-columns: 1fr; }
    .trust-section .trust-grid { grid-template-columns: 1fr; }
    .page-hero { padding: 100px 0 40px; }
}

/* ========== SERVICE CARDS (главная) ========== */
.sc {
    background: #161616;
    padding: 32px 28px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #2a2a2a;
    border-bottom: 1px solid #2a2a2a;
    transition: background .25s;
}
.sc::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 2px;
    background: #CAFF33;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .3s;
}
.sc:hover { background: #1a1a1a; }
.sc:hover::before { transform: scaleY(1); }
.scn {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    letter-spacing: .1em;
    color: #555;
    margin-bottom: 20px;
    display: block;
}
.sct {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 21px;
    font-weight: 400;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 8px;
    line-height: 1.1;
}
.scd {
    font-size: 13px;
    color: #888;
    line-height: 1.65;
    margin-bottom: 20px;
    flex: 1;
}
.scp {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    letter-spacing: .06em;
    color: #CAFF33;
    margin-bottom: 16px;
}
.sca {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #555;
    text-decoration: none;
    transition: color .2s;
}
.sc:hover .sca { color: #CAFF33; }

/* ===== СТРАНИЦА О НАС ===== */
.ab-accent { color:#CAFF33; }
.ab-eyebrow {
    font-family:'Barlow Condensed',sans-serif;
    font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#888;margin-bottom:16px;
}

/* HERO */
.ab-hero {
    position:relative;min-height:50vh;display:flex;flex-direction:column;
    justify-content:flex-end;background:#0a0a0a;overflow:hidden;padding-bottom:48px;
}
.ab-hero__overlay {
    position:absolute;inset:0;
    background:radial-gradient(ellipse 80% 60% at 20% 50%,rgba(202,255,51,.04) 0%,transparent 70%);
}
.ab-hero__content { position:relative;z-index:2;padding-top:120px; }
.ab-hero__title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(48px,8vw,96px);
    font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#fff;
    line-height:1;margin:16px 0 10px;
}
.ab-hero__sub { font-size:14px;color:#888;letter-spacing:.04em; }

/* ГЛАВНЫЙ ФАКТ */
.ab-main-fact { background:#111;padding:80px 0; }
.ab-main-fact__inner {
    display:grid;grid-template-columns:1fr 340px;gap:80px;align-items:center;
}
.ab-main-fact__title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(32px,4.5vw,52px);
    font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#fff;
    line-height:1;margin-bottom:24px;
}
.ab-main-fact__text { font-size:15px;color:#888;line-height:1.8;margin-bottom:16px; }
.ab-trophy-block {
    background:#161616;border:1px solid #2a2a2a;padding:40px 32px;text-align:center;
    border-top:2px solid #CAFF33;
}
.ab-trophy-icon { font-size:48px;margin-bottom:16px; }
.ab-trophy-title {
    font-family:'Barlow Condensed',sans-serif;font-size:22px;letter-spacing:.06em;
    text-transform:uppercase;color:#fff;margin-bottom:4px;
}
.ab-trophy-sub { font-size:13px;color:#888;margin-bottom:16px; }
.ab-trophy-place {
    font-family:'Barlow Condensed',sans-serif;font-size:18px;
    letter-spacing:.06em;color:#CAFF33;margin-bottom:16px;
}
.ab-trophy-line { height:1px;background:#2a2a2a;margin-bottom:16px; }
.ab-trophy-desc { font-size:13px;color:#666;line-height:1.6; }

/* STATS */
.ab-stats { background:#f2f2f0; }
.ab-stats__grid { display:grid;grid-template-columns:repeat(4,1fr);border-right:1px solid #d0d0cc; }
.ab-stat { padding:40px 32px;border-left:1px solid #d0d0cc; }
.ab-stat__num {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(44px,5.5vw,68px);
    font-weight:400;line-height:1;color:#0a0a0a;margin-bottom:4px;
}
.ab-stat__num sup { font-size:.4em;vertical-align:super; }
.ab-stat__num--accent { color:#CAFF33 !important; }
.ab-stat__label {
    font-family:'Barlow Condensed',sans-serif;font-size:11px;
    letter-spacing:.14em;text-transform:uppercase;color:#666;margin-bottom:2px;
}
.ab-stat__sub { font-size:12px;color:#999; }

/* WHY */
.ab-why { background:#f2f2f0;padding:80px 0; }
.ab-section-head { margin-bottom:48px; }
.ab-section-title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(32px,4.5vw,52px);
    font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#0a0a0a;line-height:1;
}
.ab-why__grid {
    display:grid;grid-template-columns:repeat(3,1fr);
    border-left:1px solid #d0d0cc;
}
.ab-why-item { padding:32px;border-right:1px solid #d0d0cc;border-bottom:1px solid #d0d0cc; }
.ab-why-item__num {
    font-family:'Barlow Condensed',sans-serif;font-size:11px;
    letter-spacing:.1em;color:#aaa;margin-bottom:16px;display:block;
}
.ab-why-item__title {
    font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:400;
    letter-spacing:.04em;text-transform:uppercase;color:#0a0a0a;
    margin-bottom:10px;line-height:1.2;
}
.ab-why-item__text { font-size:13px;color:#666;line-height:1.65; }

/* PROCESS */
.ab-process { background:#111;padding:80px 0; }
.ab-process .ab-section-title { color:#fff; }
.ab-process__steps {
    display:grid;grid-template-columns:repeat(4,1fr);
    border:1px solid #2a2a2a;margin-top:40px;
}
.ab-step { padding:32px 24px;border-right:1px solid #2a2a2a;position:relative; }
.ab-step:last-child { border-right:none; }
.ab-step__num {
    font-family:'Barlow Condensed',sans-serif;font-size:44px;font-weight:300;
    color:rgba(202,255,51,.12);line-height:1;margin-bottom:14px;display:block;
}
.ab-step__title {
    font-family:'Barlow Condensed',sans-serif;font-size:17px;letter-spacing:.05em;
    text-transform:uppercase;color:#fff;margin-bottom:10px;
}
.ab-step__text { font-size:13px;color:#888;line-height:1.65; }
.ab-step__arr {
    position:absolute;top:50%;right:-11px;transform:translateY(-50%);
    font-size:14px;color:#CAFF33;z-index:2;
}

/* PARTNERS */
.ab-partners { background:#0a0a0a;padding:56px 0;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a; }
.ab-partners__inner { text-align:center; }
.ab-partners__brands {
    display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:40px;
}
.ab-brand {
    font-family:'Barlow Condensed',sans-serif;font-size:18px;letter-spacing:.06em;
    text-transform:uppercase;color:#555;transition:color .2s;
}
.ab-brand:hover { color:#CAFF33; }

/* CTA */
.ab-cta { background:#111;padding:80px 0; }
.ab-cta__inner {
    display:flex;align-items:center;justify-content:space-between;gap:60px;flex-wrap:wrap;
}
.ab-cta__title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(32px,4.5vw,52px);
    font-weight:400;letter-spacing:.02em;text-transform:uppercase;color:#fff;line-height:1;
}
.ab-cta__right { display:flex;flex-direction:column;align-items:flex-start;gap:14px; }
.ab-cta__btn {
    display:inline-flex;align-items:center;background:#CAFF33;color:#0a0a0a;
    font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:500;
    letter-spacing:.14em;text-transform:uppercase;padding:16px 28px;
    text-decoration:none;transition:background .2s;
}
.ab-cta__btn:hover { background:#a8d900; }
.ab-cta__phone {
    font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:500;
    color:#fff;text-decoration:none;transition:color .2s;
}
.ab-cta__phone:hover { color:#CAFF33; }
.ab-cta__tg {
    font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.1em;
    text-transform:uppercase;color:#CAFF33;text-decoration:none;
}

/* АДАПТИВ */
@media (max-width:1024px) {
    .ab-main-fact__inner { grid-template-columns:1fr;gap:40px; }
    .ab-main-fact__right { max-width:340px; }
    .ab-stats__grid { grid-template-columns:repeat(2,1fr); }
    .ab-why__grid { grid-template-columns:repeat(2,1fr); }
    .ab-process__steps { grid-template-columns:repeat(2,1fr); }
    .ab-step { border-bottom:1px solid #2a2a2a; }
    .ab-step__arr { display:none; }
    .ab-cta__inner { flex-direction:column;align-items:flex-start;gap:32px; }
    .ab-cta__right { align-items:flex-start; }
}
@media (max-width:768px) {
    .ab-hero { padding-bottom:32px; }
    .ab-stats__grid { grid-template-columns:1fr; }
    .ab-why__grid { grid-template-columns:1fr; }
    .ab-process__steps { grid-template-columns:1fr; }
    .ab-partners__brands { gap:24px; }
    .ab-brand { font-size:15px; }
}
/* ===== /СТРАНИЦА О НАС ===== */

/* ===== СТРАНИЦА КОНТАКТЫ ===== */
.ct-accent { color:#CAFF33; }

/* HERO */
.ct-hero {
    position:relative;min-height:40vh;display:flex;flex-direction:column;
    justify-content:flex-end;background:#0a0a0a;overflow:hidden;padding-bottom:48px;
}
.ct-hero__overlay {
    position:absolute;inset:0;
    background:radial-gradient(ellipse 80% 60% at 80% 50%,rgba(202,255,51,.04) 0%,transparent 70%);
}
.ct-hero__content { position:relative;z-index:2;padding-top:120px; }
.ct-hero__title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(48px,8vw,96px);
    font-weight:400;letter-spacing:.04em;text-transform:uppercase;
    color:#fff;line-height:1;margin:16px 0 10px;
}
.ct-hero__sub { font-size:14px;color:#888;letter-spacing:.04em; }

/* MAIN GRID */
.ct-main { background:#111;padding:72px 0 80px; }
.ct-main__grid { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start; }

/* INFO */
.ct-info { display:flex;flex-direction:column;gap:36px; }
.ct-info__block { border-bottom:1px solid #2a2a2a;padding-bottom:28px; }
.ct-info__block:last-child { border-bottom:none; }
.ct-info__label {
    font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.14em;
    text-transform:uppercase;color:#555;margin-bottom:8px;
}
.ct-info__val { font-size:16px;color:#fff;line-height:1.4; }
.ct-info__val--big {
    font-family:'Barlow Condensed',sans-serif;font-size:22px;
    letter-spacing:.04em;color:#fff;
}
.ct-info__sub { font-size:13px;color:#555;margin-top:4px; }
.ct-info__phone {
    font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:500;
    color:#fff;text-decoration:none;transition:color .2s;letter-spacing:.02em;
    display:inline-block;margin-top:4px;
}
.ct-info__phone:hover { color:#CAFF33; }

/* MESSENGERS */
.ct-messengers { display:flex;gap:10px;margin-top:8px;flex-wrap:wrap; }
.ct-messenger {
    display:inline-flex;align-items:center;gap:8px;
    font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.1em;
    text-transform:uppercase;padding:12px 20px;text-decoration:none;
    border:1px solid #2a2a2a;transition:all .2s;color:#888;
}
.ct-messenger:hover { border-color:#CAFF33;color:#CAFF33; }
.ct-messenger--tg:hover { color:#29b6f6;border-color:#29b6f6; }
.ct-messenger--wa:hover { color:#25d366;border-color:#25d366; }

/* ФОРМА */
.ct-form-block {
    background:#161616;border:1px solid #CAFF33;
    padding:28px;margin-top:8px;
}
.ct-form-title {
    font-family:'Barlow Condensed',sans-serif;font-size:22px;
    letter-spacing:.04em;text-transform:uppercase;color:#fff;margin-bottom:4px;
}
.ct-form-sub { font-size:13px;color:#888;margin-bottom:20px; }
.ct-form { display:flex;flex-direction:column;gap:0; }
.ct-form__row { display:grid;grid-template-columns:1fr 1fr;gap:1px; }
.ct-form__field { border-bottom:1px solid #2a2a2a; }
.ct-form__input {
    width:100%;background:transparent;border:none;color:#fff;
    font-family:'Inter',sans-serif;font-size:14px;padding:16px 0;
    outline:none;border-radius:0;
}
.ct-form__input::placeholder { color:#555; }
.ct-form__select option { background:#161616; }
.ct-form__textarea { resize:vertical;min-height:80px; }
.ct-form__btn {
    background:#CAFF33;border:none;color:#0a0a0a;
    font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:500;
    letter-spacing:.14em;text-transform:uppercase;padding:18px;
    cursor:pointer;width:100%;transition:background .2s;margin-top:16px;border-radius:0;
}
.ct-form__btn:hover { background:#a8d900; }
.ct-form__note { font-size:11px;color:#555;text-align:center;margin-top:10px; }
.ct-form-success {
    background:rgba(202,255,51,.08);border:1px solid rgba(202,255,51,.3);
    color:#CAFF33;padding:20px;font-family:'Barlow Condensed',sans-serif;
    font-size:16px;letter-spacing:.06em;text-align:center;
}
.ct-form-error { color:#ff4444;font-size:13px;margin-top:8px; }

/* КАРТА */
.ct-map-col { position:sticky;top:84px; }
.ct-map {
    width:100%;height:480px;background:#1a1a1a;
    border:1px solid #2a2a2a;
}
.ct-map-note {
    display:flex;align-items:center;gap:8px;
    padding:14px 0;font-size:13px;color:#888;border-top:1px solid #2a2a2a;
    margin-top:0;
}
.ct-map-note svg { color:#CAFF33;flex-shrink:0; }

/* КАК ДОБРАТЬСЯ */
.ct-how { background:#f2f2f0;padding:60px 0; }
.ct-how__grid {
    display:grid;grid-template-columns:repeat(3,1fr);
    border-left:1px solid #d0d0cc;
}
.ct-how-item { padding:32px;border-right:1px solid #d0d0cc; }
.ct-how-item__icon { font-size:28px;margin-bottom:16px; }
.ct-how-item__title {
    font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:400;
    letter-spacing:.04em;text-transform:uppercase;color:#0a0a0a;margin-bottom:10px;
}
.ct-how-item__text { font-size:13px;color:#666;line-height:1.65; }

/* АДАПТИВ */
@media (max-width:1024px) {
    .ct-main__grid { grid-template-columns:1fr;gap:40px; }
    .ct-map-col { position:static; }
    .ct-map { height:320px; }
    .ct-how__grid { grid-template-columns:1fr; }
    .ct-how-item { border-right:none;border-bottom:1px solid #d0d0cc; }
}
@media (max-width:768px) {
    .ct-form__row { grid-template-columns:1fr; }
    .ct-info__phone { font-size:24px; }
}
/* ===== /СТРАНИЦА КОНТАКТЫ ===== */

/* ===== СТРАНИЦА ПРОЦЕСС РАБОТЫ =====
   Префикс pw- (не pr-) — .pr-grid/.pr-step/.pr-n/.pr-t/.pr-d уже заняты
   секцией "Как мы работаем" на главной странице (index.php, #process),
   переиспользование pr- сломало бы её вёрстку. */
.pw-accent { color:#CAFF33; }

/* HERO */
.pw-hero {
    position:relative;min-height:40vh;display:flex;flex-direction:column;
    justify-content:flex-end;background:#0a0a0a;overflow:hidden;padding-bottom:48px;
}
.pw-hero__overlay {
    position:absolute;inset:0;
    background:radial-gradient(ellipse 60% 80% at 90% 30%,rgba(202,255,51,.04) 0%,transparent 70%);
}
.pw-hero__content { position:relative;z-index:2;padding-top:120px; }
.pw-hero__title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(40px,7vw,88px);
    font-weight:400;letter-spacing:.04em;text-transform:uppercase;
    color:#fff;line-height:1;margin:16px 0 10px;
}
.pw-hero__sub { font-size:14px;color:#888;letter-spacing:.04em; }

/* STEPS */
.pw-steps { background:#111;padding:80px 0; }
.pw-steps__list { display:flex;flex-direction:column;gap:0; }
.pw-step {
    display:grid;grid-template-columns:120px 1fr;gap:0;
    padding:48px 0;border-bottom:1px solid #2a2a2a;
}
.pw-step--last { border-bottom:none; }
.pw-step__left { display:flex;flex-direction:column;align-items:center;padding-top:4px; }
.pw-step__num {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(48px,6vw,72px);
    font-weight:300;color:rgba(202,255,51,.2);line-height:1;flex-shrink:0;
}
.pw-step__line {
    width:1px;flex:1;background:linear-gradient(to bottom,#2a2a2a,transparent);
    margin-top:16px;min-height:40px;
}
.pw-step__right { padding-left:40px;padding-bottom:8px; }
.pw-step__tag {
    font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.14em;
    text-transform:uppercase;color:#CAFF33;margin-bottom:8px;
}
.pw-step__title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(24px,3.5vw,40px);
    font-weight:400;letter-spacing:.04em;text-transform:uppercase;
    color:#fff;line-height:1;margin-bottom:20px;
}
.pw-step__text { margin-bottom:20px; }
.pw-step__text p { font-size:15px;color:#888;line-height:1.8;margin-bottom:12px; }
.pw-step__features { display:flex;flex-wrap:wrap;gap:10px;margin-top:16px; }
.pw-feature {
    font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.08em;
    text-transform:uppercase;color:#CAFF33;background:rgba(202,255,51,.06);
    border:1px solid rgba(202,255,51,.2);padding:6px 14px;
}
.pw-step__contacts { display:flex;flex-wrap:wrap;gap:12px;margin-top:16px; }
.pw-contact-link {
    display:inline-flex;align-items:center;gap:8px;
    font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.08em;
    text-transform:uppercase;color:#888;text-decoration:none;
    border:1px solid #2a2a2a;padding:10px 18px;transition:all .2s;
}
.pw-contact-link:hover { border-color:#CAFF33;color:#CAFF33; }

/* ГАРАНТИИ */
.pw-guarantee { background:#f2f2f0;padding:80px 0; }
.pw-g-head { margin-bottom:48px; }
.pw-g-title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(32px,4.5vw,52px);
    font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#0a0a0a;line-height:1;
}
.pw-g-sub { font-size:14px;color:#666;margin-top:10px; }
.pw-g-grid {
    display:grid;grid-template-columns:repeat(3,1fr);border-right:1px solid #d0d0cc;
}
.pw-g-item { padding:36px 32px;border-left:1px solid #d0d0cc; }
.pw-g-num {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(44px,5vw,64px);
    font-weight:400;line-height:1;color:#CAFF33;margin-bottom:8px;
}
.pw-g-label {
    font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.1em;
    text-transform:uppercase;color:#333;margin-bottom:10px;
}
.pw-g-text { font-size:13px;color:#666;line-height:1.65; }

/* FAQ */
.pw-faq { background:#111;padding:80px 0; }
.pw-faq__grid { display:grid;grid-template-columns:280px 1fr;gap:80px;align-items:start; }
.pw-faq__title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(32px,4vw,48px);
    font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#fff;line-height:1;
    position:sticky;top:84px;
}
.pw-faq-item { border-bottom:1px solid #2a2a2a; }
.pw-faq-q {
    width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
    background:transparent;border:none;color:#fff;font-size:16px;font-family:'Inter',sans-serif;
    padding:20px 0;cursor:pointer;text-align:left;transition:color .2s;
}
.pw-faq-q:hover { color:#CAFF33; }
.pw-faq-icon {
    font-size:24px;color:#CAFF33;flex-shrink:0;
    font-family:'Barlow Condensed',sans-serif;font-weight:300;transition:transform .3s;
}
.pw-faq-a {
    max-height:0;overflow:hidden;transition:max-height .4s ease;
    font-size:14px;color:#888;line-height:1.75;
}
.pw-faq-item.active .pw-faq-a { padding-bottom:20px; }

/* CTA */
.pw-cta { background:#0a0a0a;padding:96px 0;border-top:1px solid #2a2a2a; }
.pw-cta__inner { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center; }
.pw-cta__eye {
    font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.18em;
    text-transform:uppercase;color:#888;margin-bottom:16px;
}
.pw-cta__title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(40px,5.5vw,72px);
    font-weight:400;line-height:.92;letter-spacing:.02em;text-transform:uppercase;color:#fff;
}
.pw-cta__right { display:flex;flex-direction:column;gap:12px; }
.pw-cta__btn {
    display:inline-flex;align-items:center;background:#CAFF33;color:#0a0a0a;
    font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:500;
    letter-spacing:.14em;text-transform:uppercase;padding:18px 32px;
    text-decoration:none;transition:background .2s;width:fit-content;border-radius:0;
}
.pw-cta__btn:hover { background:#a8d900; }
.pw-cta__phone {
    font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:500;
    color:#fff;text-decoration:none;transition:color .2s;
}
.pw-cta__phone:hover { color:#CAFF33; }
.pw-cta__tg {
    font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.1em;
    text-transform:uppercase;color:#CAFF33;text-decoration:none;
}

/* АДАПТИВ */
@media (max-width:1024px) {
    .pw-step { grid-template-columns:80px 1fr; }
    .pw-step__right { padding-left:24px; }
    .pw-g-grid { grid-template-columns:1fr; border-right:none; }
    .pw-g-item { border-right:1px solid #d0d0cc; }
    .pw-faq__grid { grid-template-columns:1fr; gap:40px; }
    .pw-faq__title { position:static; }
    .pw-cta__inner { grid-template-columns:1fr; gap:40px; }
}
@media (max-width:768px) {
    .pw-step { grid-template-columns:60px 1fr; }
    .pw-step__right { padding-left:16px; }
    .pw-g-grid { grid-template-columns:1fr; }
    .pw-g-item { border-right:none;border-bottom:1px solid #d0d0cc; }
}
/* ===== /СТРАНИЦА ПРОЦЕСС РАБОТЫ ===== */

/* ===== 404 СТРАНИЦА ===== */
.e404-section {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0a0a0a;
    overflow: hidden;
}
.e404-bg-text {
    position: absolute;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(200px, 35vw, 480px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.02em;
    color: rgba(255,255,255,.018);
    user-select: none;
    pointer-events: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}
.e404-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 120px 0 80px;
}
.e404-code {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(80px, 15vw, 160px);
    font-weight: 700;
    line-height: 1;
    color: #CAFF33;
    letter-spacing: -.02em;
    margin-bottom: 16px;
    opacity: .15;
}
.e404-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: clamp(36px, 6vw, 80px);
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 16px;
}
.e404-accent { color: #CAFF33; }
.e404-sub {
    font-size: 16px;
    color: #888;
    margin-bottom: 48px;
    letter-spacing: .02em;
}
.e404-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 48px;
}
.e404-btn {
    display: inline-flex;
    align-items: center;
    background: #CAFF33;
    color: #0a0a0a;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 16px 28px;
    text-decoration: none;
    transition: background .2s;
    border-radius: 0;
}
.e404-btn:hover { background: #a8d900; }
.e404-btn-ghost {
    display: inline-flex;
    align-items: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #888;
    text-decoration: none;
    border: 1px solid #2a2a2a;
    padding: 16px 28px;
    transition: all .2s;
}
.e404-btn-ghost:hover { border-color: #CAFF33; color: #CAFF33; }
.e404-contacts { margin-top: 8px; }
.e404-contacts__label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #555;
    margin-bottom: 10px;
}
.e404-contacts__phone {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 24px;
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    transition: color .2s;
    display: inline-block;
}
.e404-contacts__phone:hover { color: #CAFF33; }
@media (max-width: 768px) {
    .e404-btns { flex-direction: column; align-items: center; }
}
/* ===== /404 СТРАНИЦА ===== */

/* ===== FIX: Мобильная версия услуг ===== */
@media (max-width: 1024px) {
    .svc-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .svg      { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
    .svc-grid { grid-template-columns: 1fr !important; }
    .svg      { grid-template-columns: 1fr !important; }
    .svc-card { min-height: unset; }
    .svc-card__title { font-size: 18px; }
    .svc-cat-card { min-height: 200px; }
    .svc-cats-grid { grid-template-columns: 1fr !important; }
}
/* ===== /FIX: Мобильная версия услуг ===== */

/* ===== ГЛАВНАЯ: НОВЫЕ СЕКЦИИ ===== */
.hm-accent { color:#CAFF33; }
.hm-eyebrow {
    font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.18em;
    text-transform:uppercase;color:#888;margin-bottom:16px;
}
.hm-section-head {
    display:flex;align-items:baseline;justify-content:space-between;
    gap:40px;margin-bottom:48px;
}
.hm-section-title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(32px,4.5vw,52px);
    font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#fff;line-height:1;
}
.hm-section-link {
    font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.1em;
    text-transform:uppercase;color:#CAFF33;text-decoration:none;white-space:nowrap;
}

/* О НАС */
.home-about { background:#f2f2f0;padding:80px 0; }
.home-about__head {
    display:flex;align-items:flex-start;justify-content:space-between;
    gap:40px;margin-bottom:48px;border-bottom:1px solid #d0d0cc;padding-bottom:40px;
    flex-wrap:wrap;
}
.home-about__title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(28px,4vw,48px);
    font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#0a0a0a;line-height:1;
}
.home-about__link {
    font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.1em;
    text-transform:uppercase;color:#0a0a0a;text-decoration:none;
    border-bottom:1px solid #0a0a0a;padding-bottom:2px;white-space:nowrap;
    transition:color .2s,border-color .2s;flex-shrink:0;align-self:flex-end;
}
.home-about__link:hover { color:#CAFF33;border-color:#CAFF33; }
.home-about__grid {
    display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #d0d0cc;
}
.home-about-item { padding:28px;border-right:1px solid #d0d0cc;border-bottom:1px solid #d0d0cc; }
.home-about-item__num {
    font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.1em;
    color:#aaa;margin-bottom:12px;display:block;
}
.home-about-item__title {
    font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:400;
    letter-spacing:.04em;text-transform:uppercase;color:#0a0a0a;margin-bottom:8px;line-height:1.2;
}
.home-about-item__text { font-size:13px;color:#666;line-height:1.65; }

/* ПРОЦЕСС */
.home-process { background:#111;padding:80px 0; }
.home-process__steps {
    display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #2a2a2a;
}
.home-step { padding:32px 24px;border-right:1px solid #2a2a2a;position:relative; }
.home-step:last-child { border-right:none; }
.home-step__num {
    font-family:'Barlow Condensed',sans-serif;font-size:44px;font-weight:300;
    color:rgba(202,255,51,.12);line-height:1;margin-bottom:14px;display:block;
}
.home-step__title {
    font-family:'Barlow Condensed',sans-serif;font-size:17px;letter-spacing:.05em;
    text-transform:uppercase;color:#fff;margin-bottom:10px;
}
.home-step__text { font-size:13px;color:#888;line-height:1.65; }
.home-step__arr {
    position:absolute;top:50%;right:-11px;transform:translateY(-50%);
    font-size:14px;color:#CAFF33;z-index:2;
}

/* ПАРТНЁРЫ */
.home-partners {
    background:#0a0a0a;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;padding:28px 0;
}
.home-partners__inner { display:flex;align-items:center;gap:48px;flex-wrap:wrap; }
.home-partners__label {
    font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.14em;
    text-transform:uppercase;color:#555;flex-shrink:0;
}
.home-partners__brands { display:flex;align-items:center;gap:40px;flex-wrap:wrap; }
.home-brand {
    font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:500;
    letter-spacing:.08em;text-transform:uppercase;color:#555;transition:color .2s;
}
.home-brand:hover { color:#888; }

/* CTA ФОРМА */
.home-cta { background:#0a0a0a;padding:96px 0;border-top:1px solid #2a2a2a; }
.home-cta__inner { display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start; }
.home-cta__title {
    font-family:'Barlow Condensed',sans-serif;font-size:clamp(44px,6.5vw,82px);
    font-weight:400;line-height:.92;letter-spacing:.02em;text-transform:uppercase;color:#fff;
    margin-bottom:32px;
}
.home-cta__title em { font-style:normal;color:#CAFF33; }
.home-cta__contacts { display:flex;flex-direction:column;gap:14px; }
.home-cta__contact {
    display:flex;align-items:center;gap:12px;
    font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:.03em;color:#888;
}
.home-cta__contact-dot { width:4px;height:4px;background:#CAFF33;flex-shrink:0; }
.home-cta__phone { color:#fff;text-decoration:none;font-weight:500;transition:color .2s; }
.home-cta__phone:hover { color:#CAFF33; }
.home-cta__tg { color:#CAFF33;text-decoration:none; }

/* АДАПТИВ */
@media (max-width:1024px) {
    .home-about__grid { grid-template-columns:repeat(2,1fr); }
    .home-process__steps { grid-template-columns:repeat(2,1fr); }
    .home-step:nth-child(2) { border-right:none; }
    .home-step:nth-child(1),.home-step:nth-child(2) { border-bottom:1px solid #2a2a2a; }
    .home-cta__inner { grid-template-columns:1fr; gap:40px; }
}
@media (max-width:640px) {
    .home-about__grid { grid-template-columns:1fr; }
    .home-process__steps { grid-template-columns:1fr; }
    .home-step { border-right:none;border-bottom:1px solid #2a2a2a; }
    .home-step__arr { display:none; }
    .home-about__head { flex-direction:column; }
}
/* ===== /ГЛАВНАЯ: НОВЫЕ СЕКЦИИ ===== */

/* ===== МЕНЮ ЧЕРЕЗ bitrix:menu =====
   .main-nav a{...} (уже в файле) стилизует любой <a> внутри .main-nav по тегу —
   типографика/цвет наследуются автоматически. Тут нужно только выделение
   активного пункта. var(--sv)/var(--wh) из задачи не существуют в :root
   (есть --white, --gray) — используем реальные переменные. */
.nav-link--active { opacity:1; color:var(--lime); }
/* ===== /МЕНЮ ===== */

/* ===== ПОЛИТИКА КОНФИДЕНЦИАЛЬНОСТИ ===== */
.priv-hero { background:#0a0a0a;padding:120px 0 48px;border-bottom:1px solid #2a2a2a; }
.priv-title { font-family:'Barlow Condensed',sans-serif;font-size:clamp(28px,5vw,56px);font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#fff;line-height:1;margin-top:16px; }
.priv-body { background:#111;padding:60px 0 80px; }
.priv-content { max-width:800px; }
.priv-content h2 { font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin:36px 0 12px; }
.priv-content p { font-size:15px;color:#888;line-height:1.8;margin-bottom:14px; }
.priv-content ul { padding-left:20px;margin-bottom:14px; }
.priv-content li { font-size:15px;color:#888;line-height:1.8;margin-bottom:6px; }
.priv-content a { color:#CAFF33;text-decoration:none; }
.priv-content a:hover { text-decoration:underline; }
/* ===== /ПОЛИТИКА КОНФИДЕНЦИАЛЬНОСТИ ===== */

/* ===== ПОРТФОЛИО НА ГЛАВНОЙ ===== */
.home-portfolio { background:#0a0a0a;padding:80px 0; }
.home-pf-grid { display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:300px 240px;gap:2px;margin-bottom:32px; }
.home-pf-card { position:relative;overflow:hidden;display:block;text-decoration:none; }
.home-pf-card--lg { grid-row:1/3; }
.home-pf-card__img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s; }
.home-pf-card:hover .home-pf-card__img { transform:scale(1.04); }
.home-pf-card__empty { width:100%;height:100%;background:#1a1a1a; }
.home-pf-card__over {
    position:absolute;inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 55%);
    display:flex;flex-direction:column;justify-content:flex-end;padding:20px;
    opacity:0;transition:opacity .3s;
}
.home-pf-card:hover .home-pf-card__over { opacity:1; }
.home-pf-card__car { font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#CAFF33;margin-bottom:4px; }
.home-pf-card__name { font-family:'Barlow Condensed',sans-serif;font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:#fff; }
.home-pf-card__arrow { font-size:18px;color:#CAFF33;margin-top:8px; }
.home-pf-footer { text-align:right; }
.home-pf-all { font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#CAFF33;text-decoration:none; }
@media (max-width:1024px) {
    .home-pf-grid { grid-template-columns:1fr 1fr;grid-template-rows:auto; }
    .home-pf-card--lg { grid-row:auto;grid-column:span 2; }
    .home-pf-card { aspect-ratio:4/3; }
    .home-pf-card__over { opacity:1; }
}
@media (max-width:640px) {
    .home-pf-grid { grid-template-columns:1fr; }
    .home-pf-card--lg { grid-column:span 1; }
}
/* ===== /ПОРТФОЛИО НА ГЛАВНОЙ ===== */

/* ===== Название услуги как ссылка (тизер услуг на главной, класс .sct) =====
   Задача 6 указывала класс .svc-card__title — он используется в другом
   шаблоне (news.list/services-section, страница /services/{раздел}/), а не
   в news.list/services/template.php (тизер на главной), который явно назван
   в самой задаче как редактируемый файл. Применил к реальному классу .sct. */
/* color:inherit убран: .sc (карточка-обёртка) не задаёт color явно, поэтому
   inherit тянулся до цвета текста страницы (не белого) — а так как это
   правило идёт ПОЗЖЕ .sct в файле, при равной специфичности побеждал inherit,
   а не белый из .sct. Без color тут побеждает .sct{color:#ffffff}. */
.sct-link { display:block;text-decoration:none;transition:color .2s; }
.sct-link:hover { color:#CAFF33; }

/* FIX: Услуги на главной — тёмный фон и белый текст.
   Задача указывала класс .home-svc-section — такого класса на странице нет
   вообще (реальная обёртка секции услуг — <section class="sv" id="services">,
   .sv{background:var(--light)} = #f2f2f0). Белый .hm-section-title (задуман
   для тёмных секций вроде портфолио/о нас) на светлом фоне .sv и есть причина
   нечитаемости — воспроизводится на всех шириных экрана, не только мобильных.
   Правлю реальный класс .sv. */
.sv {
    background: #111111 !important;
}
.sv .hm-eyebrow {
    color: #888888 !important;
}
.sv .hm-section-title {
    color: #ffffff !important;
}
.sv .hm-section-link {
    color: #CAFF33 !important;
}
/* ===== /Название услуги как ссылка ===== */

/* ===== МОБИЛЬНОЕ МЕНЮ ===== */
.mobile-nav-overlay {
    display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:199;
}
.mobile-nav-overlay.active { display:block; }
.mobile-nav {
    position:fixed;top:0;right:-100%;width:300px;max-width:85vw;height:100vh;
    background:#111;z-index:200;transition:right .3s ease;
    display:flex;flex-direction:column;padding:24px;overflow-y:auto;
    border-left:1px solid #2a2a2a;
}
.mobile-nav.active { right:0; }
.mobile-nav__head {
    display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;
}
.mobile-nav__logo img { height:32px; }
.mobile-nav__close {
    background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px 8px;
}
.mobile-nav__links {
    display:flex;flex-direction:column;gap:0;margin-bottom:40px;
}
.mobile-nav__links a {
    font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:400;
    letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none;
    padding:14px 0;border-bottom:1px solid #2a2a2a;transition:color .2s;
}
.mobile-nav__links a:hover { color:#CAFF33; }
.mobile-nav__contacts {
    display:flex;flex-direction:column;gap:12px;margin-top:auto;
}
.mobile-nav__contacts a {
    font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:.08em;
    text-transform:uppercase;color:#888;text-decoration:none;transition:color .2s;
}
.mobile-nav__contacts a:first-child { font-size:18px;color:#fff; }
.mobile-nav__contacts a:hover { color:#CAFF33; }
/* Анимация бургера в X — .hbtn у неё изначально не было, а JS уже
   переключает класс .active на кнопке. */
.hbtn { position:relative; }
.hbtn span { transition:transform .25s ease,opacity .2s ease; }
.hbtn.active span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.hbtn.active span:nth-child(2) { opacity:0; }
.hbtn.active span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
/* ===== /МОБИЛЬНОЕ МЕНЮ ===== */

/* ===== FIX: лишний отступ после портфолио на главной =====
   .home-pf-footer уже не имел своего padding-top/margin-top (был бы noop) —
   реальный избыток из-за .home-portfolio{padding:80px 0} (низ) СВЕРХУ
   .home-pf-grid{margin-bottom:32px} плюс .home-about{padding:80px 0} (верх)
   следующей секции — суммарно 160px пустоты между блоками. */
.home-portfolio { padding-bottom: 48px; }
/* ===== /FIX отступ портфолио ===== */

/* FIX: лишний отступ между услугами и портфолио на главной.
   Задача указывала класс .home-svc-section — такого класса нет (та же
   ошибка, что уже встречалась ранее); реальная секция услуг — .sv{padding:80px 0}.
   .sv (низ 80px) + .home-portfolio (верх 80px) = 160px пустоты между блоками. */
.sv { padding-bottom: 48px; }

/* ===== REVIEWS: ОБЩИЕ ===== */
.rv-accent { color:#CAFF33; }
.rv-stars { display:flex;gap:2px; }
.rv-star { font-size:16px;color:#2a2a2a; }
.rv-star--on { color:#CAFF33; }

/* БЛОК НА ГЛАВНОЙ */
.rv-section { background:#111;padding:80px 0; }
.rv-head { display:flex;align-items:baseline;justify-content:space-between;gap:40px;margin-bottom:48px;flex-wrap:wrap; }
.rv-title { font-family:'Barlow Condensed',sans-serif;font-size:clamp(32px,4.5vw,52px);font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#fff;line-height:1; }
.rv-slider { overflow:hidden;margin:0 -8px; }
.rv-track { display:flex;gap:24px;transition:transform .4s ease;padding:0 8px 8px; }
.rv-card { flex:0 0 calc(33.333% - 16px);background:#161616;border:1px solid #2a2a2a;padding:28px;display:flex;flex-direction:column;gap:16px;transition:border-color .2s; }
.rv-card:hover { border-color:#CAFF33; }
.rv-card__top { display:flex;justify-content:space-between;align-items:center; }
.rv-card__source { font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#555; }
.rv-card__text { font-size:14px;color:#ccc;line-height:1.7;flex:1;font-style:italic; }
.rv-card__footer { border-top:1px solid #2a2a2a;padding-top:14px; }
.rv-card__author { font-family:'Barlow Condensed',sans-serif;font-size:16px;letter-spacing:.04em;color:#fff;text-transform:uppercase; }
.rv-card__car { font-size:13px;color:#CAFF33;margin-top:2px; }
.rv-card__service { font-size:12px;color:#555;margin-top:4px; }
.rv-nav { display:flex;align-items:center;justify-content:center;gap:16px;margin-top:32px; }
.rv-btn { width:44px;height:44px;background:transparent;border:1px solid #2a2a2a;color:#fff;font-size:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;border-radius:0; }
.rv-btn:hover:not(:disabled) { border-color:#CAFF33;color:#CAFF33; }
.rv-btn:disabled { opacity:.3;cursor:default; }
.rv-dots { display:flex;gap:8px;align-items:center; }
.rv-dot { width:6px;height:6px;background:#2a2a2a;border:none;cursor:pointer;transition:all .2s;padding:0;border-radius:0; }
.rv-dot--active { background:#CAFF33;width:20px; }

/* СТРАНИЦА ОТЗЫВОВ */
.rv-hero { background:#0a0a0a;padding:120px 0 48px;border-bottom:1px solid #2a2a2a; }
.rv-hero__content { padding-top:0; }
.rv-hero__title { font-family:'Barlow Condensed',sans-serif;font-size:clamp(36px,6vw,72px);font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#fff;line-height:1;margin:16px 0 20px; }
.rv-hero__meta { display:flex;align-items:center;gap:16px; }
.rv-hero__stars { font-size:22px;color:#CAFF33;letter-spacing:2px; }
.rv-hero__score { font-family:'Barlow Condensed',sans-serif;font-size:18px;color:#888; }
.rv-page-section { background:#111;padding:60px 0 80px; }
.rvp-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid #2a2a2a; }
.rvp-card { background:#161616;padding:28px;display:flex;flex-direction:column;gap:16px;border-right:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;transition:border-color .2s; }
.rvp-card:hover { border-color:#CAFF33; }
.rvp-card__top { display:flex;justify-content:space-between;align-items:center; }
.rvp-source { font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#555; }
.rvp-text { font-size:14px;color:#ccc;line-height:1.7;flex:1;font-style:italic; }
.rvp-footer { border-top:1px solid #2a2a2a;padding-top:14px; }
.rvp-author { font-family:'Barlow Condensed',sans-serif;font-size:16px;letter-spacing:.04em;color:#fff;text-transform:uppercase; }
.rvp-car { font-size:13px;color:#CAFF33;margin-top:2px; }
.rvp-service { font-size:12px;color:#555;margin-top:4px; }
.rv-page-cta { background:#0a0a0a;padding:80px 0;border-top:1px solid #2a2a2a; }
.rv-page-cta__inner { display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:32px; }
.rv-page-cta__title { font-family:'Barlow Condensed',sans-serif;font-size:clamp(32px,4.5vw,52px);font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:#fff;line-height:1; }
.rv-page-cta__btn { display:inline-flex;align-items:center;background:#CAFF33;color:#0a0a0a;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:18px 32px;text-decoration:none;transition:background .2s;border-radius:0; }
.rv-page-cta__btn:hover { background:#a8d900; }

@media (max-width:1024px) {
    .rv-card { flex:0 0 calc(50% - 12px); }
    .rvp-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
    .rv-card { flex:0 0 100%; }
    .rvp-grid { grid-template-columns:1fr; }
    .rv-page-cta__inner { flex-direction:column; }
    .rv-head { flex-direction:column;gap:16px; }
}


/* ===== ДО/ПОСЛЕ: img-comparison-slider ===== */
.ba-section { background:#0a0a0a; padding:80px 0; }
.ba-head { margin-bottom:40px; }
.ba-title {
    font-family:'Barlow Condensed',sans-serif;
    font-size:clamp(32px,4.5vw,52px);
    font-weight:400;letter-spacing:.04em;text-transform:uppercase;
    color:#fff;line-height:1;
}

/* Слайдер-обёртка */
.ba-outer { overflow:hidden; }
.ba-track {
    display:flex;
    transition:transform .5s ease;
}
.ba-slide { min-width:100%; }

/* img-comparison-slider кастомизация */
.ba-ics {
    width:100%;
    aspect-ratio:16/7;
    display:block;
    --divider-width: 2px;
    --divider-color: #CAFF33;
    --default-handle-opacity: 1;
    --default-handle-color: #CAFF33;
    --default-handle-width: 48px;
}
.ba-ics img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.ba-fig {
    margin:0;
    padding:0;
    position:relative;
    height:100%;
}
.ba-fig__label {
    position:absolute;
    bottom:16px;
    font-family:'Barlow Condensed',sans-serif;
    font-size:12px;letter-spacing:.14em;text-transform:uppercase;
    padding:6px 14px;pointer-events:none;z-index:10;
}
.ba-fig__label--before { left:16px;background:#CAFF33;color:#0a0a0a; }
.ba-fig__label--after  { right:16px;background:rgba(0,0,0,.65);color:#fff;border:1px solid rgba(255,255,255,.2); }

/* Подпись */
.ba-caption {
    background:#111;padding:14px 20px;
    display:flex;align-items:center;gap:10px;
}
.ba-caption__name {
    font-family:'Barlow Condensed',sans-serif;
    font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:#fff;
}
.ba-caption__sep  { color:#555; }
.ba-caption__service { font-size:13px;color:#888; }

/* Навигация */
.ba-nav-row {
    display:flex;align-items:center;justify-content:center;
    gap:16px;margin-top:20px;
}
.ba-nav-btn {
    width:44px;height:44px;background:transparent;
    border:1px solid #2a2a2a;color:#fff;font-size:18px;
    cursor:pointer;transition:all .2s;
    display:flex;align-items:center;justify-content:center;
    border-radius:0;
}
.ba-nav-btn:hover { border-color:#CAFF33;color:#CAFF33; }
.ba-dots { display:flex;gap:8px;align-items:center; }
.ba-dot {
    width:6px;height:6px;background:#2a2a2a;
    border:none;cursor:pointer;transition:all .2s;padding:0;
    border-radius:0;
}
.ba-dot--active { background:#CAFF33;width:20px; }

/* Адаптив */
@media (max-width:768px) {
    .ba-ics { aspect-ratio:4/3; }
}
/* ===== /ДО/ПОСЛЕ ===== */

/* FIX: пустое пространство после блока До/После на главной.
   Задача предлагала .ba-section{padding-bottom:0} + .ba-nav-row{margin-bottom:0}
   — второе no-op (margin-bottom у .ba-nav-row не задан вообще, только margin-top).
   Реальная причина — тройное накладывание отступов на границе секций:
   .ba-section (низ 80px) + .pf (верх 80px) + .home-portfolio (верх 80px) = 240px,
   та же ошибка, что уже чинилась для services->portfolio и portfolio->about.
   .pf — просто пустая обёртка-секция без своего контента (реальный контент
   и его отступ дают .home-portfolio внутри), поэтому её верхний padding убираем
   целиком, а не до 48px: единственный настоящий зазор остаётся от .home-portfolio. */
.ba-section { padding-bottom: 0; }
.pf { padding-top: 0; }
