/* ==========================================================
   CSS Cable — страница «О компании» (префикс .ab)
   ========================================================== */
.ab{--ab-navy:#07162a;--ab-navy-l:#0d2039;--ab-red:var(--c-accent,#d83c4e);--ab-red-d:#a8243c;--ab-red-l:#ed5a67;--ab-text:#d6deea;--ab-muted:#91a0b5;--ab-line:rgba(255,255,255,.12);--ab-shadow:0 24px 70px rgba(0,0,0,.24);--ab-r:30px;
	position:relative;font-family:var(--font);line-height:1.65;color:#fff;overflow:hidden}
.ab *,.ab *::before,.ab *::after{box-sizing:border-box}
.ab img,.elementor .ab img{display:block;width:100%;max-width:none}
.ab-wrap{width:min(calc(100% - 40px),1240px);margin-inline:auto;position:relative;z-index:2}
.ab-sec{padding:105px 0}
.ab-dark{background:var(--c-dark,#0e192b)}
.ab-dark::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 12%,rgba(216,60,78,.10),transparent 30%),radial-gradient(circle at 5% 70%,rgba(51,91,138,.12),transparent 30%)}
.ab-light{background:#f4f5f7;color:var(--ab-navy)}
.ab-light p,.ab-light .ab-text{color:#4f5c70}
.ab p{margin:0 0 1em;color:var(--ab-text)}
.ab-light p{color:#4f5c70}
.ab-text>*:last-child{margin-bottom:0}
.ab-text-lg,.ab-text-lg p{font-size:clamp(17px,1.6vw,20px)}
.ab-lead{max-width:790px;font-size:clamp(18px,2vw,23px);line-height:1.55;color:#fff!important}
.ab-light .ab-lead{color:#536074!important}
.ab-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px!important;color:var(--ab-red-l)!important;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.ab-eyebrow::before{content:"";width:35px;height:2px;background:currentColor}
.ab-light .ab-eyebrow{color:var(--ab-red)!important}
.ab-h{margin:0 0 24px;font-size:clamp(32px,4vw,58px);line-height:1.06;letter-spacing:-.03em;text-transform:uppercase;font-weight:800}
h1.ab-h{font-size:clamp(46px,7.5vw,105px);max-width:900px;margin-bottom:28px}

/* media */
.ab-media{position:relative;min-height:520px;overflow:hidden;border-radius:var(--ab-r);background:var(--ab-navy-l);box-shadow:var(--ab-shadow)}
.ab .ab-media img,.ab .ab-media video,.elementor .ab .ab-media img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;border-radius:0;object-fit:cover;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.ab-media:hover img{transform:scale(1.035)}
.ab-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(7,22,42,.75));z-index:1}
.ab-media__num{position:absolute;right:25px;bottom:20px;z-index:3;color:rgba(255,255,255,.8);font-size:12px;font-weight:800;letter-spacing:.15em}
.ab-media--mt{margin-top:45px}

/* hero */
.ab-hero{min-height:760px;display:flex;align-items:flex-end;padding:150px 0 100px;background:linear-gradient(90deg,rgba(7,22,42,.97) 0%,rgba(7,22,42,.86) 47%,rgba(7,22,42,.3) 100%),var(--ab-bg) center/cover no-repeat}
.ab-hero::after{content:"";position:absolute;right:-160px;bottom:-230px;width:570px;height:570px;border:95px solid rgba(216,60,78,.14);border-radius:50%}
.ab-hero__desc{max-width:850px;margin-bottom:50px!important}
.ab-hero__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;border-top:1px solid var(--ab-line);border-bottom:1px solid var(--ab-line)}
.ab-fact{min-height:130px;padding:27px 28px;border-right:1px solid var(--ab-line)}
.ab-fact:first-child{padding-left:0}.ab-fact:last-child{border-right:0}
.ab-fact strong{display:block;margin-bottom:7px;color:var(--ab-red-l);font-size:32px;line-height:1}
.ab-fact span{color:var(--ab-text);font-size:14px;line-height:1.4}

/* intro */
.ab-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.ab-intro__title{position:sticky;top:110px}
.ab-label{margin-top:35px;padding-left:25px;border-left:4px solid var(--ab-red);font-size:21px;font-weight:800}

/* timeline */
.ab-timeline{position:relative;display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:50px;margin-top:65px}
.ab-timeline::before{content:"";position:absolute;top:28px;left:8%;right:8%;height:1px;background:rgba(7,22,42,.22);transform-origin:left;transition:transform 1.8s cubic-bezier(.65,0,.35,1)}
.ab-tl-item{position:relative;z-index:1}
.ab-tl-item__dot{width:57px;height:57px;display:grid;place-items:center;margin-bottom:30px;border:9px solid #f4f5f7;border-radius:50%;background:var(--ab-red);box-shadow:0 0 0 1px rgba(7,22,42,.15)}
.ab-tl-item__dot::after{content:"";width:9px;height:9px;border-radius:50%;background:#fff}
.ab-tl-item__year{display:block;margin-bottom:12px;color:var(--ab-red);font-size:42px;font-weight:900;line-height:1}
.ab-tl-item p{max-width:350px;margin:0}
.ab-timeline__after{max-width:920px;margin-top:70px}

/* production */
.ab-production__grid{display:grid;grid-template-columns:1.03fr .97fr;gap:80px;align-items:center}
.ab-media--video{min-height:0;aspect-ratio:16/9}
.ab-media--video::after{background:linear-gradient(180deg,rgba(7,22,42,.08) 20%,rgba(7,22,42,.72) 100%)}
.ab-video-open{position:absolute;left:28px;bottom:25px;z-index:4;display:inline-flex;align-items:center;gap:13px;padding:10px 18px 10px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;background:rgba(7,22,42,.76);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font:600 13px var(--font);cursor:pointer;transition:background-color .4s,border-color .4s}
.ab-video-open:hover{border-color:var(--ab-red-l);background:var(--ab-red)}
.ab-video-open__ico{position:relative;width:42px;height:42px;flex-shrink:0;border-radius:50%;background:var(--ab-red);transition:background-color .4s}
.ab-video-open:hover .ab-video-open__ico{background:#fff}
.ab-video-open__ico::after{content:"";position:absolute;top:50%;left:54%;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #fff;transform:translate(-50%,-50%);transition:border-color .4s}
.ab-video-open:hover .ab-video-open__ico::after{border-left-color:var(--ab-red)}
.ab-plist{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:55px 0 0;padding:0;list-style:none}
.ab-plist li{position:relative;min-height:80px;display:flex;align-items:center;padding:18px 18px 18px 50px;border:1px solid var(--ab-line);border-radius:14px;color:var(--ab-text);background:rgba(255,255,255,.025);transition:border-color .5s,background-color .5s}
.ab-plist li:hover{border-color:rgba(237,90,103,.5);background:rgba(255,255,255,.05)}
.ab-plist li::before{content:"";position:absolute;left:20px;width:11px;height:11px;border:3px solid var(--ab-red-l);border-radius:50%}

/* numbers */
.ab-numbers{padding:75px 0;background:linear-gradient(115deg,var(--ab-red-d),var(--ab-red))}
.ab-numbers__grid{display:grid;grid-template-columns:repeat(var(--n,4),1fr)}
.ab-num{padding:10px 35px;border-right:1px solid rgba(255,255,255,.28)}
.ab-num:first-child{padding-left:0}.ab-num:last-child{border-right:0}
.ab-num strong{display:block;margin-bottom:12px;font-size:clamp(42px,5vw,75px);line-height:.95;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.ab-num span{display:block;max-width:200px;font-size:14px;line-height:1.4}

/* products */
.ab-pgrid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:55px}
.ab-pcard{position:relative;overflow:hidden;min-height:390px;padding:48px;border-radius:26px;color:#fff;background:var(--ab-navy);box-shadow:0 20px 50px rgba(7,22,42,.13);display:block;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.ab-pcard:nth-child(2n){background:linear-gradient(135deg,var(--ab-red-d),var(--ab-red))}
.ab-pcard::after{content:"";position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;border:50px solid rgba(255,255,255,.06);border-radius:50%;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.ab-pcard:hover::after{transform:scale(1.25)}
.ab-pcard__idx{display:block;margin-bottom:80px;color:rgba(255,255,255,.55);font-size:12px;font-weight:800;letter-spacing:.14em}
.ab-pcard h3{margin:0 0 15px;font-size:clamp(30px,3vw,45px);line-height:1.08;text-transform:uppercase;letter-spacing:-.03em}
.ab-pcard__codes{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.ab-pcard__codes span{padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:7px;font-size:13px;font-weight:700}
.ab-sgrid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}
.ab-scard{padding:32px;border:1px solid rgba(7,22,42,.1);border-radius:20px;background:#fff}
.ab-scard strong{display:block;margin-bottom:14px;color:var(--ab-red);font-size:30px}
.ab-scard p{margin:0}

/* advantages */
.ab-adv{display:grid;grid-template-columns:.95fr 1.05fr;gap:85px;align-items:center}
.ab-checks{display:grid;gap:14px;margin-top:35px}
.ab-check{position:relative;padding:22px 25px 22px 66px;border:1px solid var(--ab-line);border-radius:14px;color:var(--ab-text);background:rgba(255,255,255,.025)}
.ab-check::before{content:"✓";position:absolute;top:50%;left:22px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--ab-red);font-weight:900;transform:translateY(-50%)}

/* quality */
.ab-quality{background:linear-gradient(120deg,rgba(168,36,60,.97),rgba(216,60,78,.92)),var(--ab-bg) center/cover no-repeat}
.ab-quality::after{content:attr(data-mark);position:absolute;right:-20px;bottom:-70px;color:rgba(255,255,255,.07);font-size:clamp(100px,19vw,270px);font-weight:900;letter-spacing:-.08em;line-height:1;pointer-events:none}
.ab-quality .ab-eyebrow{color:#fff!important}
.ab-quality__text{color:rgba(255,255,255,.88)!important;font-size:18px;max-width:900px}
.ab-certs{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:15px;margin-top:45px}
.ab-cert{display:block;padding:24px;border:1px solid rgba(255,255,255,.25);border-radius:15px;background:rgba(7,22,42,.13);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);color:#fff;transition:background-color .5s}
a.ab-cert:hover{background:rgba(7,22,42,.28)}
.ab-cert strong{display:block;margin-bottom:6px;font-size:17px}
.ab-cert span{color:rgba(255,255,255,.75);font-size:13px}

/* projects */
.ab-projects{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}
.ab-projects__head{position:sticky;top:110px}
.ab-projects__before{margin-bottom:25px!important}
.ab-projects__after{margin:25px 0 0!important}
.ab-plist2{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.ab-plist2 li{position:relative;min-height:84px;display:flex;align-items:center;padding:20px 25px 20px 78px;border-radius:14px;background:#fff;box-shadow:0 8px 30px rgba(7,22,42,.06);color:var(--ab-navy);transition:transform .7s cubic-bezier(.16,1,.3,1),box-shadow .7s}
.ab-plist2 li:hover{transform:translate3d(6px,0,0);box-shadow:0 14px 34px rgba(7,22,42,.1)}
.ab-plist2 li b{position:absolute;left:24px;color:var(--ab-red);font-size:13px;font-weight:900}

/* team */
.ab-team{display:grid;grid-template-columns:1.05fr .95fr;gap:75px;align-items:center}
.ab-team__imgs{position:relative;min-height:610px}
.ab-team__imgs .ab-team__i1{position:absolute;top:0;left:0;width:75%;min-height:470px}
.ab-team__imgs .ab-team__i2{position:absolute;right:0;bottom:0;width:56%;min-height:310px;border:9px solid var(--c-dark,#0e192b);z-index:2}
.ab-team__count{display:inline-flex;align-items:baseline;gap:12px;margin:5px 0 25px}
.ab-team__count strong{color:var(--ab-red-l);font-size:76px;line-height:1;letter-spacing:-.07em}
.ab-team__count span{font-size:18px;font-weight:700}

/* final */
.ab-final{padding:110px 0;text-align:center;background:linear-gradient(rgba(7,22,42,.85),rgba(7,22,42,.94)),var(--ab-bg) center/cover no-repeat}
.ab-final__in{max-width:950px}
.ab-final .ab-h{font-size:clamp(32px,4.6vw,56px)}
.ab-final .ab-text p{max-width:850px;margin:0 auto 1em;font-size:18px}
.ab-final__btn{margin-top:36px!important}

/* ---------- responsive ---------- */
@media (max-width:1000px){
	.ab-hero{min-height:auto}
	.ab-intro,.ab-production__grid,.ab-adv,.ab-projects,.ab-team{grid-template-columns:1fr;gap:50px}
	.ab-intro__title,.ab-projects__head{position:static}
	.ab-numbers__grid{grid-template-columns:1fr 1fr;gap:45px 0}
	.ab-num:nth-child(2n){border-right:0}.ab-num:nth-child(2n+1){padding-left:0}
	.ab-pgrid{grid-template-columns:1fr}
	.ab-plist{grid-template-columns:1fr 1fr}
	.ab-team__imgs{min-height:570px}
}
@media (max-width:720px){
	.ab-wrap{width:min(calc(100% - 28px),1240px)}
	.ab-sec{padding:72px 0}
	.ab-hero{padding:110px 0 70px;background:linear-gradient(90deg,rgba(7,22,42,.97),rgba(7,22,42,.8)),var(--ab-bg) center/cover no-repeat}
	.ab-hero__facts{grid-template-columns:1fr}
	.ab-fact,.ab-fact:first-child{min-height:auto;padding:22px 0;border-right:0;border-bottom:1px solid var(--ab-line)}
	.ab-fact:last-child{border-bottom:0}
	.ab-timeline{grid-template-columns:1fr;gap:40px}
	.ab-timeline::before{top:0;bottom:0;left:28px;right:auto;width:1px;height:auto;transform-origin:top}
	.ab-tl-item{padding-left:78px}
	.ab-tl-item__dot{position:absolute;top:0;left:0}
	.ab-plist,.ab-sgrid,.ab-certs{grid-template-columns:1fr}
	.ab-numbers__grid{grid-template-columns:1fr;gap:0}
	.ab-num,.ab-num:nth-child(n){padding:30px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.28)}
	.ab-num:last-child{border-bottom:0}
	.ab-pcard{min-height:auto;padding:35px 25px}
	.ab-pcard__idx{margin-bottom:50px}
	.ab-media{min-height:390px}
	.ab-media--video{min-height:0;aspect-ratio:16/10}
	.ab-video-open{left:15px;bottom:15px;padding:8px 14px 8px 8px;font-size:12px}
	.ab-video-open__ico{width:36px;height:36px}
	.ab-media--video .ab-media__num{display:none}
	.ab-team__imgs{display:grid;min-height:0;gap:18px}
	.ab-team__imgs .ab-team__i1,.ab-team__imgs .ab-team__i2{position:relative;inset:auto;width:100%;min-height:390px;border:0}
}

/* ---------- motion (работает с anim.css / motion.js) ---------- */
.cssc-motion .ab-timeline:not(.in)::before{transform:scaleX(0)}
@media (max-width:720px){.cssc-motion .ab-timeline:not(.in)::before{transform:scaleY(0)}}
.cssc-motion .ab-media[data-a="reveal"]{transition:clip-path 1.6s cubic-bezier(.65,0,.35,1);transition-delay:var(--dl,0s)}
.cssc-motion .ab-media[data-a="reveal"]:not(.in){clip-path:inset(0 0 100% 0 round var(--ab-r))}
.cssc-motion .ab-media[data-a="reveal"].in{clip-path:inset(0 0 0 0 round var(--ab-r))}
.cssc-motion .ab-media[data-a="reveal"] img,.cssc-motion .ab-media[data-a="reveal"] video{transition:transform 2s cubic-bezier(.16,1,.3,1)}
.cssc-motion .ab-media[data-a="reveal"]:not(.in) img,.cssc-motion .ab-media[data-a="reveal"]:not(.in) video{transform:scale(1.2)}
.cssc-motion .ab-hero{background-attachment:scroll}
.elementor-editor-active .ab-media[data-a],.elementor-editor-active .ab-timeline::before{clip-path:none!important;transform:none!important}
