/* Premium Selection — site v3. Тёмный графит + светлая бумага, красный акцент, крупная кинетическая типографика. */
:root{
  --ink:#0d0e11; --ink2:#15171c; --ink3:#1f2229; --paper:#f4f1ea; --paper2:#ebe7de; --red:#E41F26; --red2:#ff5a5f; --gold:#e0a63a;
  --fg:#f4f1ea; --fg2:rgba(244,241,234,.66); --fg3:rgba(244,241,234,.38); --line:rgba(244,241,234,.14);
  --disp:"Inter Tight","Manrope",system-ui,sans-serif; --text:"Manrope",system-ui,sans-serif;
  --maxw:1480px; --gut:clamp(18px,4vw,64px);
  --ease:cubic-bezier(.2,.8,.2,1); --ease2:cubic-bezier(.7,0,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{font-family:var(--text);background:var(--ink);color:var(--fg);line-height:1.5;font-size:clamp(15px,1.05vw,18px);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg,picture{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.skip{position:absolute;left:-999px;top:8px;background:var(--red);color:#fff;padding:8px 14px;z-index:1000}.skip:focus{left:8px}
.hp{position:absolute;left:-9999px;opacity:0}
[hidden]{display:none!important}
::selection{background:var(--red);color:#fff}

/* ---------- типографика ---------- */
.h1,.h2,.dhero__title,.hero__title,.nf__code{font-family:var(--disp);font-weight:300;letter-spacing:-.025em;line-height:.98;text-wrap:balance}
.h1 b,.h2 b,.dhero__title b,.h1 em,.h2 em,.dhero__title em{font-weight:800;letter-spacing:-.04em}
.h1{font-size:clamp(40px,6.5vw,104px)}.h1--s{font-size:clamp(32px,4.5vw,64px)}
.h2{font-size:clamp(30px,4.4vw,72px);max-width:18ch}
.h1 em,.h2 em,.hero__title em,.manifest__text em{font-style:normal;color:var(--red)}

.kicker{font-family:var(--disp);font-weight:400;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:22px}
.lead{font-size:clamp(17px,1.35vw,22px);line-height:1.5;color:var(--fg2);max-width:56ch}.lead--wide{max-width:70ch}
.num{font-family:var(--disp);font-size:12px;letter-spacing:.14em;color:var(--red)}
.hint{color:var(--fg3);font-size:14px;margin-top:14px}
.sec-head{padding-top:clamp(70px,10vw,150px);padding-bottom:clamp(30px,4vw,56px)}
.sec-head .lead{margin-top:22px}
/* разбитые заголовки: буквы/слова */
.sp-w,.sp-c{display:inline-block;will-change:transform,opacity}
.sp-l{display:block}

/* ---------- кнопки, ссылки ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;font-family:var(--disp);font-weight:500;font-size:13px;letter-spacing:.04em;position:relative;overflow:hidden;isolation:isolate;transition:color .4s var(--ease),transform .4s var(--ease)}
.btn--s{padding:11px 18px;font-size:12px}
.btn i{font-style:normal;transition:transform .4s var(--ease)}
@media (hover:hover){.btn:hover i{transform:translateX(5px)}}
.btn--red{background:var(--red);color:#fff;box-shadow:0 16px 40px -18px rgba(228,31,38,.8)}
.btn--red::before{content:"";position:absolute;inset:0;background:#fff;transform:translateY(101%);transition:transform .5s var(--ease2);z-index:-1;border-radius:inherit}
@media (hover:hover){.btn--red:hover{color:var(--ink)}}@media (hover:hover){.btn--red:hover::before{transform:translateY(0)}}
.btn--ghost{border:1px solid var(--line);color:var(--fg)}
.btn--ghost::before{content:"";position:absolute;inset:0;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease2);z-index:-1;border-radius:inherit}
@media (hover:hover){.btn--ghost:hover{color:var(--ink)}}@media (hover:hover){.btn--ghost:hover::before{transform:scaleX(1)}}
.link-big{display:inline-flex;gap:14px;align-items:center;font-family:var(--disp);font-size:clamp(16px,1.5vw,22px);margin-top:36px;position:relative}
.link-big::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:100%;background:var(--red);transform:scaleX(.25);transform-origin:left;transition:transform .6s var(--ease)}
@media (hover:hover){.link-big:hover::after{transform:scaleX(1)}}.link-big i{font-style:normal;transition:transform .4s}@media (hover:hover){.link-big:hover i{transform:translateX(8px)}}
/* строка-ссылка, раскрывается полосой при наведении */
.line-link{display:block;position:relative;font-family:var(--disp);font-weight:500;font-size:clamp(18px,1.9vw,30px);padding:12px 0;width:max-content;max-width:100%}
.line-link span{position:relative;z-index:1;transition:transform .5s var(--ease)}
.line-link::before{content:"";position:absolute;left:-12px;right:-12px;top:6px;bottom:6px;background:var(--red);border-radius:6px;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease2);z-index:0}
@media (hover:hover){.line-link:hover::before{transform:scaleX(1)}}@media (hover:hover){.line-link:hover span{transform:translateX(6px)}}
.line-link--s{font-size:16px}
.line-static{display:block;color:var(--fg2);margin-top:14px;line-height:1.6}

/* ---------- курсор-эмиттер ---------- */
.cursor{position:fixed;inset:0;pointer-events:none;z-index:900;display:none}
@media (pointer:fine){.cursor{display:block}}
.cursor canvas{position:absolute;inset:0;width:100%;height:100%}
.cursor__dot{position:absolute;left:0;top:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--red);mix-blend-mode:difference;transition:transform .25s var(--ease),background .25s;will-change:transform}
body.cur-link .cursor__dot{transform:scale(2.6);background:#fff}
body.cur-img .cursor__dot{transform:scale(6);background:#fff;opacity:.9}

/* ---------- кинетический переход между страницами ---------- */
.kt{position:fixed;inset:0;z-index:950;background:var(--red);color:var(--ink);visibility:hidden;clip-path:inset(0 0 100% 0);overflow:hidden;contain:strict}
.kt__type{position:absolute;left:50%;top:50%;width:160vmax;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:0;will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}
.kt__line{font-family:var(--disp);font-weight:900;font-size:clamp(60px,12vw,170px);line-height:.92;white-space:nowrap;text-transform:lowercase;will-change:transform;backface-visibility:hidden;contain:paint}
.kt__line:nth-child(2n){color:var(--paper)}
.type--bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:.06;display:flex;flex-direction:column;justify-content:space-around}
.type__line{font-family:var(--disp);font-weight:900;font-size:clamp(50px,9vw,150px);line-height:1;white-space:nowrap}

/* ---------- шапка ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:800;display:flex;align-items:center;justify-content:space-between;padding:18px var(--gut);transition:transform .5s var(--ease),background .4s,padding .4s}
.nav.hide{transform:translateY(-110%)}
.nav.stuck{padding-top:10px;padding-bottom:10px;background:rgba(13,14,17,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav__logo img{height:40px;width:auto}.nav__logo-c{display:none}
.nav__menu{display:flex;gap:30px;position:absolute;left:50%;transform:translateX(-50%)}
.nav__link{font-family:var(--disp);font-size:12px;letter-spacing:.08em;text-transform:uppercase;position:relative;overflow:hidden;display:block;padding:6px 0}
.nav__link span{display:block;transition:transform .5s var(--ease)}
.nav__link::after{content:attr(data-t);position:absolute;left:0;top:100%}
.nav__link span::before{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
@media (hover:hover){.nav__link:hover span::before{transform:scaleX(1);transform-origin:left}}
.nav__right{display:flex;align-items:center;gap:22px}
.nav__lang{display:flex;gap:10px;font-family:var(--disp);font-size:11px;letter-spacing:.06em}
.nav__lang a{opacity:.45;transition:opacity .3s}.nav__lang a.on{opacity:1}@media (hover:hover){.nav__lang a:hover{opacity:1}}
.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:7px;align-items:center}
.burger span{display:block;width:26px;height:2px;background:currentColor;transition:transform .4s var(--ease),opacity .3s}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}.burger[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
/* светлая тема шапки над светлыми секциями */
.nav.onred .nav__logo-w{filter:brightness(0) invert(1)}
.nav.light{color:var(--ink)}.nav.light .nav__logo-c{display:block}.nav.light .nav__logo-w{display:none}
.nav.light.stuck{background:rgba(244,241,234,.78)}
.nav.light .btn--ghost{border-color:rgba(13,14,17,.2)}
.mnav{position:fixed;inset:0;z-index:790;background:var(--ink);color:var(--fg);display:flex;align-items:center;clip-path:circle(0 at calc(100% - 40px) 40px);transition:clip-path .8s var(--ease2);visibility:hidden}
.mnav.open{clip-path:circle(150% at calc(100% - 40px) 40px);visibility:visible}
.mnav__in{padding:0 var(--gut);display:flex;flex-direction:column;gap:14px}
.mnav__in>a{font-family:var(--disp);font-size:clamp(28px,7vw,44px);font-weight:700}
.mnav__dirs{display:flex;flex-direction:column;gap:8px;margin-top:18px;color:var(--fg2)}
.mnav__lang{display:flex;gap:16px;margin-top:22px;font-family:var(--disp)}.mnav__lang a{opacity:.5}.mnav__lang a.on{opacity:1;color:var(--red)}

/* ---------- интро ---------- */
.intro{position:fixed;inset:0;z-index:940;background:var(--ink);overflow:hidden;color:var(--fg)}
html.reduce .intro,html:not(.js) .intro{display:none}
.intro__grid{position:absolute;inset:0}
.intro__item{position:absolute;left:0;top:0;width:12vw;aspect-ratio:3/4;overflow:hidden;border-radius:6px;opacity:0;clip-path:inset(100% 0 0 0);will-change:transform,clip-path,width,height}
.intro__item img{width:100%;height:100%;object-fit:cover;will-change:transform}
.intro__grid{perspective:1200px}
.intro__words{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;pointer-events:none;z-index:2;mix-blend-mode:luminosity}
.intro__word{grid-area:1/1;position:relative;font-family:var(--disp);font-weight:900;font-size:clamp(44px,9vw,150px);letter-spacing:-.03em;text-transform:lowercase;opacity:0;will-change:transform,opacity,filter;color:rgba(255,255,255,.72)}
/* если для слова есть готовая картинка (assets/img/intro/<lang>/<слово>.png) — показываем её вместо текста */
.intro__word.has-img{color:transparent;font-size:0}
.intro__word img{display:block;width:min(70vw,900px);height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5))}
.intro__tag{font-family:var(--disp);font-weight:400;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg3);padding-bottom:.35em}
.intro__count{position:absolute;right:var(--gut);bottom:22px;display:flex;align-items:baseline;gap:14px;font-family:var(--disp);font-weight:700;font-size:clamp(28px,4vw,56px);color:var(--red);font-variant-numeric:tabular-nums}

/* ---------- первый экран ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:140px 0 110px;overflow:hidden;isolation:isolate}
.hero__photo{position:absolute;right:-3%;top:-3%;bottom:-3%;width:68%;will-change:transform;z-index:0;pointer-events:none;opacity:0;-webkit-mask-image:linear-gradient(to left,#000 55%,transparent 100%);mask-image:linear-gradient(to left,#000 55%,transparent 100%)}
.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:brightness(.72) saturate(.75) contrast(1.05);will-change:transform}
.hero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,14,17,.9),rgba(13,14,17,0) 40%);z-index:3}
.hero__gl{position:absolute;inset:0;width:100%;height:100%;z-index:2;opacity:0;transition:opacity 1.2s}
.hero__tile{position:absolute;width:13%;aspect-ratio:3/4;border-radius:4px;overflow:hidden;opacity:0;will-change:transform,opacity}
.hero__tile img{width:100%;height:100%;object-fit:cover}
.hero__tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,14,17,.1),rgba(13,14,17,.65))}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(13,14,17,.55) 30%,rgba(13,14,17,0) 60%);pointer-events:none}
.hero__inner{position:relative;z-index:2;width:100%}
.hero__logo{width:min(100%,380px);margin-bottom:40px}
/* красное дыхание за логотипом на первом экране */
.hero__logo{position:relative}.hero__logo::before{content:"";position:absolute;left:38%;top:50%;width:clamp(220px,34vw,460px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.7);background:radial-gradient(circle,rgba(228,31,38,.42) 0%,rgba(228,31,38,.14) 38%,rgba(228,31,38,0) 70%);opacity:0;pointer-events:none;z-index:-1;animation:heroPulse 4.2s ease-in-out 1.6s infinite;will-change:transform,opacity}
@keyframes heroPulse{0%{transform:translate(-50%,-50%) scale(.7);opacity:0}40%{opacity:.8}75%{transform:translate(-50%,-50%) scale(1.15);opacity:0}100%{transform:translate(-50%,-50%) scale(1.15);opacity:0}}
html.reduce .hero__logo::before{display:none}
html.js .hero .logo-svg .lg-mark,html.js .hero .logo-svg .lg-word{opacity:0}
html.reduce .hero .logo-svg .lg-mark,html.reduce .hero .logo-svg .lg-word{opacity:1}
.logo-svg{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55)) drop-shadow(0 0 30px rgba(255,255,255,.06))}
.lg-sheen{opacity:0;mix-blend-mode:screen;pointer-events:none}
.lg-piece,.lg-letter{transform-box:fill-box}
.hero__title{font-size:clamp(44px,7.2vw,118px);font-weight:800;line-height:1;letter-spacing:-.04em;max-width:11ch}
.hero__title .ln:first-child i{font-weight:300;font-style:normal;letter-spacing:-.02em}
.hero__title .ln:last-child i{font-weight:500}
.hero__title .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.hero__title .ln>*{display:inline-block;font-style:normal}
.hero__title em{color:var(--red)}
.flip{position:relative;white-space:nowrap}
.flip__in{display:inline-block;white-space:nowrap}
.flip__in .fc{display:inline-block;will-change:transform,opacity,filter}
.hero__lead{margin-top:34px;font-size:clamp(16px,1.3vw,21px);line-height:1.55;color:var(--fg2);max-width:52ch}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px}
.ring{position:absolute;right:var(--gut);bottom:40px;width:clamp(120px,12vw,180px);aspect-ratio:1;z-index:3;display:grid;place-items:center}
.ring svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 18s linear infinite}
.ring text{font-family:var(--disp);font-size:13.5px;letter-spacing:.2em;fill:var(--fg2);text-transform:uppercase}
.ring__arrow{font-size:28px;color:var(--red)}
@keyframes spin{to{transform:rotate(360deg)}}
.hero__scroll{position:absolute;left:var(--gut);bottom:40px;z-index:3;font-family:var(--disp);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg3);display:flex;align-items:center;gap:12px}
.hero__scroll::after{content:"";width:60px;height:1px;background:var(--fg3);transform-origin:left;animation:scrollLine 2.2s var(--ease) infinite}
@keyframes scrollLine{0%{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}51%{transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}

/* ---------- бегущая типографика ---------- */
.rep{padding:34px 0;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rep__line[data-i="0"],.rep__line[data-i="2"]{display:none} /* контурные строки убраны: выглядели дёшево */
.rep__line{white-space:nowrap;width:max-content;font-family:var(--disp);font-weight:900;font-size:clamp(40px,7vw,120px);line-height:1;letter-spacing:-.03em;text-transform:lowercase;will-change:transform;display:flex}
.rep__line span{padding-right:.3em;-webkit-text-stroke:1px rgba(244,241,234,.5);color:transparent}
.rep__line[data-i="1"] span{color:var(--fg);-webkit-text-stroke:0}
.rep__line[data-i="1"] span:nth-child(2n){color:var(--red)}

/* ---------- факты: редакционный ряд, без коробок ---------- */
.facts{padding:clamp(40px,5vw,80px) 0 clamp(50px,6vw,90px);position:relative;border-top:1px solid var(--line);overflow:hidden}
.facts__fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.facts__grid{z-index:1}
.facts__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.fact{position:relative;padding:clamp(14px,2vw,32px) clamp(14px,2.6vw,44px);border-left:1px solid var(--line);text-align:center;display:flex;flex-direction:column;align-items:center}
/* пульсирующее свечение за цифрой */
.fact::before{content:"";position:absolute;left:50%;top:34%;width:clamp(150px,16vw,300px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.6);background:radial-gradient(circle,rgba(228,31,38,.38) 0%,rgba(228,31,38,.12) 38%,rgba(228,31,38,0) 70%);opacity:0;pointer-events:none;will-change:transform,opacity}
.facts.in .fact::before{animation:factPulse 3.6s ease-in-out infinite;animation-delay:calc(.4s + var(--i) * .6s)}
@keyframes factPulse{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}35%{opacity:.75}70%{transform:translate(-50%,-50%) scale(1.15);opacity:0}100%{transform:translate(-50%,-50%) scale(1.15);opacity:0}}
html.reduce .fact::before{display:none}
.fact:first-child{border-left:0}
.fact::after{content:"";position:absolute;left:-1px;top:0;width:1px;height:100%;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform 1.2s var(--ease) calc(.2s + var(--i) * .15s)}
.facts.in .fact:not(:first-child)::after{transform:scaleY(1)}
.fact b{display:block;white-space:nowrap;font-family:var(--disp);font-weight:300;font-size:clamp(64px,9vw,172px);line-height:.92;letter-spacing:-.05em;font-variant-numeric:tabular-nums;overflow:hidden;padding-bottom:.04em;margin-bottom:-.04em}
.fact b .d,.fact b .sfx{display:inline-block;transform:translateY(110%);transition:transform 1.3s var(--ease) calc(.1s + var(--i) * .15s)}
.facts.in .fact b .d,.facts.in .fact b .sfx{transform:none}
.fact b .sfx{color:var(--red);font-size:.48em;font-weight:400;vertical-align:top;position:relative;top:.06em;margin-left:.02em}
.fact__l{display:block;margin-top:clamp(14px,1.6vw,24px);font-size:clamp(12px,.95vw,15px);letter-spacing:.1em;text-transform:uppercase;color:var(--fg2);max-width:20ch;line-height:1.5;opacity:0;transform:translateY(10px);transition:opacity .9s var(--ease) calc(.6s + var(--i) * .15s),transform .9s var(--ease) calc(.6s + var(--i) * .15s)}
.facts.in .fact__l{opacity:1;transform:none}

.odo{display:inline-flex;overflow:hidden;height:1em;line-height:1}
.odo .d{display:inline-block;height:1em;overflow:hidden}
.odo .d i{display:block;font-style:normal;will-change:transform}
.odo .d i em{display:block;height:1em;line-height:1;font-style:normal}
html.reduce .fact{opacity:1;transform:none;filter:none}
html.reduce .facts__grid::before{transform:none}

/* ---------- манифест (светлая секция) ---------- */
.manifest{background:var(--paper);color:var(--ink);padding:clamp(90px,12vw,170px) 0}
.manifest .kicker{color:var(--red)}
/* «Кто мы»: полоса во всю ширину — фото раскрывается слева направо, тёмная панель выезжает справа, заголовок строками из-под маски */
.manifest{padding-top:0}
.mf{position:relative;height:min(62vh,600px);margin-bottom:clamp(36px,5vw,72px);overflow:hidden;background:var(--paper)}
.mf__layers{position:absolute;inset:0;will-change:transform}
.mf__layer{position:absolute;inset:0;clip-path:polygon(100% 0%,100% 0%,100% 100%,100% 100%);will-change:clip-path}
.mf__layer-img{position:absolute;inset:0;background-repeat:no-repeat;background-size:cover;background-position:68% 50%;will-change:transform,filter}
.mf__layer:last-child .mf__layer-img{right:44%;background-size:cover;background-repeat:no-repeat;background-position:40% 25%}
.mf__layer:last-child .mf__layer-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,14,17,0) 42%,rgba(13,14,17,.45) 68%,rgba(13,14,17,.9) 100%)}
html:not(.js) .mf__layer:last-child,html.reduce .mf__layer:last-child{clip-path:polygon(0 0,56% 0,56% 100%,0 100%)}
html.js:not(.reduce) .mf__title{opacity:0}
.mf__title{position:absolute;left:clamp(24px,3.4vw,56px);width:min(62%,760px);bottom:clamp(40px,4.2vw,68px);z-index:2;margin:0;color:#fff;font-family:var(--disp);font-weight:700;font-size:clamp(24px,2.9vw,52px);line-height:1.08;letter-spacing:-.03em;text-shadow:0 2px 20px rgba(0,0,0,.55),0 1px 2px rgba(0,0,0,.45)}
.mf__panel{position:absolute;top:0;bottom:0;right:0;width:44%;background:var(--paper);color:var(--ink);padding:clamp(40px,6vw,96px) clamp(40px,6vw,110px) clamp(40px,6vw,96px) clamp(36px,5vw,88px);display:flex;flex-direction:column;justify-content:center;z-index:3}
html.js:not(.reduce) .mf__panel>*{opacity:0}
.mf__kicker{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;font-family:var(--disp);font-weight:700;font-size:clamp(14px,1.1vw,18px);letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:clamp(28px,3.4vw,52px)}
.mf__kicker i{width:28px;height:2px;background:var(--red)}
@keyframes kick-pulse{0%{box-shadow:0 0 0 0 rgba(228,31,38,.55)}70%{box-shadow:0 0 0 16px rgba(228,31,38,0)}100%{box-shadow:0 0 0 0 rgba(228,31,38,0)}}
.mf__title .wd{display:inline-block;white-space:nowrap;will-change:transform,opacity}.mf__title i{font-weight:300;font-style:normal;letter-spacing:-.01em}.mf__title b{font-weight:800}
.mf__panel .manifest__text{font-family:var(--disp);font-weight:300;font-size:clamp(16px,1.25vw,22px);line-height:1.5;letter-spacing:0;max-width:44ch;color:rgba(13,14,17,.82)}
/* выделения в тексте (по мотивам Codrops OnScrollTextHighlight, вариант 13): «выделение курсором» — прозрачная плашка с маркерами по краям растёт слева направо, буквы вспыхивают */
.mf__panel .manifest__text em{font-weight:400;color:var(--ink);position:relative;display:inline-block;white-space:nowrap;--sel:0%}
.mf__panel .manifest__text em .hx__select{position:absolute;left:-1%;top:6%;height:100%;width:var(--sel);background:rgba(228,31,38,.14);pointer-events:none;opacity:0}
.mf__panel .manifest__text em .hx__select::before,.mf__panel .manifest__text em .hx__select::after{content:"";position:absolute;top:-.125em;left:-.075em;width:.155em;height:calc(100% + .1275em);background:url("data:image/svg+xml,%3Csvg width='9' height='88' viewBox='0 0 9 88' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4.5' cy='4.5' r='4.5' fill='%23E41F26'/%3E%3Cline x1='4.5' y1='8' x2='4.5' y2='88' stroke='%23E41F26'/%3E%3C/svg%3E") no-repeat 0 0;background-size:auto 100%}
.mf__panel .manifest__text em .hx__select::after{transform:scaleY(-1);left:auto;right:-.075em;top:auto;bottom:-.125em}
.mf__line{position:absolute;left:0;top:0;width:3px;height:100%;background:var(--red);transform:scaleY(0);transform-origin:top}
html.reduce .mf__panel>*,html:not(.js) .mf__panel>*{opacity:1}
.manifest__text .sw{display:inline-block;will-change:transform,opacity}.manifest__text .sc{display:inline-block}.manifest__text br{display:block;content:"";margin-top:.9em}.manifest__text i,.manifest__text em i{font-style:italic;color:var(--ink)}.manifest__text br{display:block;content:"";margin-top:.9em}
/* принципы (по мотивам Codrops LettersAnimationLayout): три фото по центру; при наведении буквы названия разлетаются вокруг фото;
   по клику фото уезжает влево, соседние уходят, справа собирается крупный заголовок и текст */
.panel{position:relative;display:grid;grid-template-areas:'item';margin:clamp(10px,2vw,30px) auto 0;width:100%;height:min(60vh,560px);align-items:center}
.panel__item{position:relative;grid-area:item;width:100%;display:grid;gap:10px clamp(24px,3vw,48px);grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:'image title' 'image subtitle';align-items:stretch;pointer-events:none}
.panel__item--open{z-index:5}
.panel__item-imgwrap{grid-area:image;position:relative;border-radius:8px;overflow:hidden;display:flex;align-self:center;width:fit-content;cursor:pointer;pointer-events:auto;will-change:transform,opacity;box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.panel__item-img{position:relative;width:clamp(170px,19vw,260px);max-width:none;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 50%;display:block;will-change:transform}
.panel__item:nth-child(3) .panel__item-img{aspect-ratio:5/6}
.panel__item:nth-child(3) .panel__item-img{object-position:50% 50%}
.panel__item-title{grid-area:title;align-self:start;margin:-.12em 0 0;font-family:var(--disp);font-size:clamp(36px,5.6vw,96px);line-height:.88;letter-spacing:-.04em;color:var(--ink)}
.panel__item-title span{display:inline-block;padding-bottom:.18em;will-change:transform,opacity;opacity:0}
.panel__item-title .ti{font-weight:300;font-style:normal}
.panel__item-title .tm{font-weight:400}
.panel__item-title .tb{font-weight:800;display:block;text-indent:8vw}
.panel__item-subtitle{grid-area:subtitle;justify-self:start;align-self:end;max-width:58ch;padding-bottom:2px}
.panel__item-subtitle>span{display:inline-block;position:relative;font-family:var(--disp);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);opacity:0}
.panel__item-name{position:relative;margin:8px 0 0;font-family:var(--disp);font-weight:500;font-size:clamp(18px,1.6vw,26px);letter-spacing:-.01em;opacity:0}
.panel__item-name .ch{display:inline-block;will-change:transform,opacity}
.panel__item-text{margin:12px 0 0;font-size:clamp(16px,1.2vw,20px);line-height:1.5;color:rgba(13,14,17,.75);opacity:0}
.panel__item--open{pointer-events:auto}
html.reduce .panel__item,html:not(.js) .panel__item{pointer-events:auto}
html.reduce .panel__item-title span,html.reduce .panel__item-subtitle>span,html.reduce .panel__item-name,html.reduce .panel__item-text{opacity:1}



/* ---------- направления ---------- */
.dirs{position:relative;padding-bottom:clamp(80px,10vw,140px)}
.dirs__list{border-top:1px solid var(--line)}
.dir-row{display:grid;grid-template-columns:70px 1.5fr 1fr 60px;align-items:center;gap:20px;padding:clamp(22px,2.6vw,38px) 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden;isolation:isolate;color:var(--fg)}
.dir-row__n{font-family:var(--disp);font-size:13px;color:var(--red);letter-spacing:.1em}
.dir-row__t{font-family:var(--disp);font-weight:400;font-size:clamp(20px,2.7vw,46px);letter-spacing:-.02em;line-height:1.1}
.dir-row__word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.05em;white-space:nowrap}
.dir-row__word .ch{display:inline-block;overflow:hidden;height:1.15em;vertical-align:top}
.dir-row__word .ch i{display:block;font-style:normal}
.dir-row__t{transition:color .5s ease,transform .7s cubic-bezier(.22,.61,.36,1);display:block}
.dir-row__tag{display:block;margin-top:8px;font-family:var(--disp);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85);opacity:0;transform:translateY(14px);transition:opacity .5s ease .15s,transform .7s cubic-bezier(.22,.61,.36,1) .1s}
@media (hover:hover){.dir-row:hover .dir-row__tag{opacity:1;transform:none}}
@media (hover:hover){.dir-row:hover .dir-row__t{color:#fff;transform:translateX(10px)}}
.dir-row__s{color:var(--fg2);font-size:14px;letter-spacing:.04em;justify-self:end;text-align:right;transition:color .3s}
.dir-row__a{font-size:26px;justify-self:end;display:inline-block;width:1em;height:1em;line-height:1;text-align:center;transform-origin:50% 50%;margin-right:6px;transition:transform .7s cubic-bezier(.22,.61,.36,1)}
@media (hover:hover){.dir-row:hover .dir-row__a{transform:translate(-2px,-2px) rotate(-45deg)}}
.dir-row__fill{position:absolute;inset:0;background:var(--red);transform:translateY(101%);transition:transform .8s cubic-bezier(.22,.61,.36,1);z-index:-1}
@media (hover:hover){.dir-row:hover .dir-row__fill{transform:translateY(0)}}
@media (hover:hover){.dir-row:hover .dir-row__s{color:rgba(255,255,255,.8)}}

/* ---------- работы: сетка с наведением ---------- */
.works{background:var(--ink2);padding-bottom:clamp(60px,8vw,110px)}
.hgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:0 10px}
.hgrid__item{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:4px;display:block;transform:translateY(60px);opacity:0}
.hgrid__item:nth-child(6n+2),.hgrid__item:nth-child(6n+5){margin-top:60px}
.hgrid__img{position:absolute;inset:0;clip-path:inset(0 0 0 0);will-change:clip-path}
.hgrid__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
@media (hover:hover){.hgrid__item:hover .hgrid__img img{transform:scale(1.08)}}
.hgrid__cap{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(0deg,rgba(13,14,17,.85),transparent);transform:translateY(100%);transition:transform .5s var(--ease)}
@media (hover:hover){.hgrid__item:hover .hgrid__cap{transform:translateY(0)}}
.hgrid__cap b{display:block;font-family:var(--disp);font-size:14px;font-weight:600;overflow:hidden}
.hgrid__cap b .ch{display:inline-block;transform:translateY(110%);transition:transform .5s var(--ease);transition-delay:calc(var(--k) * .025s)}
@media (hover:hover){.hgrid__item:hover .hgrid__cap b .ch{transform:translateY(0)}}
.hgrid__cap i{display:block;font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);margin-top:4px}
.works__more{display:flex;align-items:center;gap:24px;margin-top:50px}
.works__count{font-family:var(--disp);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3)}

/* ---------- клиенты: 3D-«шахматы» ---------- */
.clients{background:var(--paper);color:var(--ink);padding-bottom:clamp(80px,10vw,140px)}
.clients .kicker{color:var(--red)}
/* лента логотипов (по мотивам Codrops Unwoven): карточка — стопка горизонтальных нитей; в центре нити сомкнуты и карточка цельная,
   у краёв экрана нити разъезжаются с разной скоростью, колышутся и тают */
/* лента логотипов: светлая полоса между первым экраном и цифрами, логотипы в цвете без плашек;
   у краёв экрана логотип распадается на нити (по мотивам Codrops Unwoven), плюс мягкое затухание по краям */
.clients-strip{background:var(--paper);padding:0}
.loom{position:relative;overflow:hidden;padding:clamp(22px,2.6vw,40px) 0;margin:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.loom__track{display:flex;align-items:center;gap:clamp(44px,5vw,96px);width:max-content;will-change:transform;padding-left:clamp(22px,2.5vw,48px)}
.loom__card{position:relative;flex:0 0 auto;width:clamp(110px,11vw,170px);height:clamp(44px,4.4vw,68px);--t:0;--dir:1;display:grid;place-items:center;will-change:transform,opacity,filter;
  transform:translateX(calc(var(--t) * var(--dir) * 40px)) scale(calc(1 - var(--t) * .38));opacity:calc(1 - var(--t));filter:blur(calc(var(--t) * 5px))}
.loom__card>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center}
html.reduce .loom__card{transform:none;opacity:1;filter:none}


/* ---------- о группе: построение картинок ---------- */
.about-t{padding:clamp(90px,12vw,170px) 0;overflow:hidden}
.about-t__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,6vw,100px);align-items:center}
.about-t__pics{position:relative;height:clamp(420px,56vw,760px)}
.about-t__pic{position:absolute;left:50%;top:50%;width:46%;aspect-ratio:3/4;transform:translate(-50%,-50%);border-radius:6px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.8);will-change:transform}
.about-t__pic img{width:100%;height:100%;object-fit:cover}
.about-t__values{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.about-t__values li{padding:12px 0;border-bottom:1px solid var(--line);font-family:var(--disp);font-size:14px}

/* ---------- контакт ---------- */
/* контакты: слева крупный заголовок и карточки контактов, справа форма в два столбца */
.contact{background:var(--ink2);padding:clamp(90px,12vw,170px) 0;position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;right:-20%;top:-30%;width:70%;aspect-ratio:1;background:radial-gradient(circle,rgba(228,31,38,.16),transparent 60%);pointer-events:none}
.contact__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,7vw,120px);align-items:start;position:relative}
.contact__h{margin-bottom:clamp(18px,2vw,28px)}
.contact__cards{display:grid;gap:12px;margin-top:clamp(28px,3.4vw,48px)}
.ccard{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 16px;padding:clamp(16px,1.8vw,24px) clamp(18px,2vw,28px);border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);transition:background .5s ease,border-color .5s ease,transform .6s var(--ease);overflow:hidden}
.ccard::before{content:"";position:absolute;inset:0;background:var(--red);transform:translateX(-101%);transition:transform .6s cubic-bezier(.22,.61,.36,1);z-index:0}
.ccard>*{position:relative;z-index:1}
.ccard__k{grid-column:1;font-family:var(--disp);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg3);transition:color .4s}
.ccard__v{grid-column:1;font-family:var(--disp);font-weight:600;font-size:clamp(20px,1.9vw,30px);letter-spacing:-.02em;line-height:1.1;color:var(--fg)}
.ccard__v--s{font-weight:500;font-size:clamp(17px,1.3vw,21px)}
.ccard__s{grid-column:1;color:var(--fg2);font-size:14px;margin-top:2px}
.ccard__a{grid-column:2;grid-row:1/3;font-style:normal;font-size:26px;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:transform .6s var(--ease),border-color .4s,background .4s}
@media (hover:hover){a.ccard:hover::before{transform:none}}
@media (hover:hover){a.ccard:hover .ccard__k{color:rgba(255,255,255,.8)}}
@media (hover:hover){a.ccard:hover .ccard__a{transform:rotate(-45deg);border-color:#fff;background:#fff;color:var(--red)}}
.ccard--static{cursor:default}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;padding:clamp(26px,3.2vw,48px);background:var(--ink3);border-radius:20px;border:1px solid var(--line);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.form__head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:6px}
.form__t{font-family:var(--disp);font-weight:600;font-size:clamp(20px,1.6vw,26px);letter-spacing:-.02em}
.form__d{font-size:13px;color:var(--fg3)}
.field{display:grid;gap:8px}
.field--full{grid-column:1/-1}
.field span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg3)}
.field input,.field select{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font:inherit;color:var(--fg);outline:0;transition:border-color .3s,background .3s}
.field input:focus,.field select:focus{border-color:var(--red);background:rgba(255,255,255,.06)}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23f4f1ea' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.field select option{color:var(--ink)}
.field.invalid input{border-color:var(--red)}
.form__foot{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:6px}
.form__btn{justify-self:start}
.form__privacy{font-size:12px;color:var(--fg3);max-width:34ch;line-height:1.4}

/* ---------- подвал ---------- */
.footer{background:var(--ink);border-top:1px solid var(--line);overflow:hidden}
.footer__top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-top:80px;padding-bottom:50px}
.footer__logo{width:220px;height:auto;margin-bottom:18px}
.footer__brand p{color:var(--fg3);font-size:14px}
.footer__col h4{font-family:var(--disp);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg3);margin-bottom:16px;font-weight:400}
.footer__col a{display:block;padding:6px 0;color:var(--fg2);transition:color .3s,transform .3s}@media (hover:hover){.footer__col a:hover{color:var(--fg);transform:translateX(4px)}}
.footer__big{display:flex;justify-content:center;gap:0;padding:30px var(--gut) .22em;font-family:var(--disp);font-weight:900;font-size:clamp(44px,9.2vw,168px);line-height:1;letter-spacing:-.01em;color:rgba(244,241,234,.055);-webkit-text-stroke:0;user-select:none;white-space:nowrap}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:30px;padding-bottom:30px;font-size:13px;color:var(--fg3);border-top:1px solid var(--line)}
@media (hover:hover){.footer__contacts a:hover{color:var(--fg)}}
.totop{font-family:var(--disp);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg2)}@media (hover:hover){.totop:hover{color:var(--red)}}

/* ---------- внутренние страницы ---------- */
.phero{position:relative;padding:160px 0 clamp(40px,6vw,80px)}
.phero__photo{margin-top:clamp(40px,6vw,80px);height:clamp(260px,46vw,620px);overflow:hidden}
.phero__photo img{width:100%;height:100%;object-fit:cover;object-position:30% 50%;filter:saturate(.9) brightness(1.1)}
.lines{padding-top:20px;padding-bottom:60px}
.dir-row--c{grid-template-columns:70px 1.2fr 1fr 60px}
.mission{padding:40px 0 60px}
.mission__card{background:var(--paper);color:var(--ink);border-radius:16px;padding:clamp(30px,5vw,70px)}
.mission__text{font-family:var(--disp);font-size:clamp(22px,2.8vw,44px);font-weight:500;line-height:1.2;letter-spacing:-.02em;margin-top:14px;max-width:30ch}
.values__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:60px}
.value{background:var(--ink2);border:1px solid var(--line);border-radius:14px;padding:30px}
.value h3,.dserv__card h3,.dproc__list h3,.hist h3{font-family:var(--disp);font-weight:600;font-size:clamp(18px,1.5vw,24px);margin:16px 0 10px;line-height:1.15}
.value p,.dserv__card p,.dproc__list p,.hist p{color:var(--fg2)}
.history__list{display:grid;gap:14px;padding-bottom:80px}
.hist{display:grid;grid-template-columns:200px 1fr 160px;gap:30px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}
.hist__y{font-family:var(--disp);font-weight:900;font-size:clamp(36px,5vw,80px);line-height:1;color:var(--red);letter-spacing:-.03em}
.hist__pic{aspect-ratio:3/4;overflow:hidden;border-radius:6px}.hist__pic img{width:100%;height:100%;object-fit:cover}
.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-bottom:100px}
.team__card{aspect-ratio:4/5;overflow:hidden;border-radius:10px;background:var(--ink2)}
.team__card img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .6s,transform 1s var(--ease)}
@media (hover:hover){.team__card:hover img{filter:none;transform:scale(1.05)}}
.cta-band{background:var(--paper);color:var(--ink);padding:clamp(80px,10vw,150px) 0}
.cta-band .lead{color:rgba(13,14,17,.65);margin-top:20px}
.cta-band__btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.cta-band .btn--ghost{border-color:rgba(13,14,17,.25);color:var(--ink)}.cta-band .btn--ghost::before{background:var(--ink)}@media (hover:hover){.cta-band .btn--ghost:hover{color:var(--paper)}}
.docbody{padding-bottom:120px;max-width:80ch;color:var(--fg2);line-height:1.7}
.docbody h2,.docbody h3,.docbody h4{color:var(--fg);font-family:var(--disp);font-weight:600;margin:34px 0 12px;font-size:20px}
.docbody p{margin-bottom:12px}

/* страницы направлений */
.page-marketing-research main,.page-design main,.page-production main,.page-it main,.page-event main{position:relative}
.dhero{position:relative;z-index:1;background:var(--red);color:var(--ink);overflow:hidden}
.dhero .wrap{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:clamp(24px,4vw,60px);align-items:start;padding-top:clamp(110px,20vh,200px)}
.dhero__col{position:relative;z-index:2;padding-bottom:70px}
.dhero__back{display:inline-flex;align-items:center;height:24px;margin-bottom:clamp(50px,12vh,130px);color:#fff;transition:transform .5s var(--ease)}
.dhero__back i{position:relative;display:block;width:48px;height:1px;background:currentColor}
.dhero__back i::before{content:"";position:absolute;left:0;top:-5px;width:10px;height:10px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
@media (hover:hover){.dhero__back:hover{transform:translateX(-8px)}}
.dhero__n{display:block;font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:.04em;color:#fff}
.dhero__title{position:relative;z-index:2;margin:4px 0 0;width:max-content;max-width:min(90vw,9.6em);font-size:clamp(52px,8.4vw,164px);font-weight:800;letter-spacing:-.02em;line-height:1.04;text-transform:uppercase;color:var(--ink);overflow-wrap:normal;hyphens:none}
.dhero--it .dhero__title{font-size:clamp(44px,7.4vw,142px);max-width:min(90vw,10.2em)}
.dhero__tag{font-family:var(--text);font-weight:700;font-size:clamp(18px,1.55vw,26px);line-height:1.35;min-height:2.7em;max-width:30ch;margin:clamp(44px,9vh,100px) 0 0;color:#fff}
.dhero__intro{margin-top:clamp(28px,5vh,56px);max-width:36ch;font-size:clamp(16px,1.2vw,19px);line-height:1.5;color:rgba(255,255,255,.92)}
.dhero__intro .btn{margin-top:44px}
.pains{position:relative;z-index:1;padding:clamp(80px,10vw,150px) 0;background:var(--ink) url(../img/dirs/pains-bg.jpg) center/cover no-repeat;overflow:hidden}
.pains::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,14,17,.94) 0%,rgba(13,14,17,.82) 55%,rgba(13,14,17,.9) 100%)}
.pains>.wrap{position:relative;z-index:1}
.pains__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,7vw,120px);align-items:start}
.pains__aside .h2{font-size:clamp(32px,4.2vw,64px);line-height:1.02}
.pains__title,.pains__lead,.pains__item h3,.pains__item p{opacity:0;position:relative}
html.reduce .pains__title,html.reduce .pains__lead,html.reduce .pains__item h3,html.reduce .pains__item p{opacity:1}
.pains__lead{margin:30px 0 0;padding-left:22px;border-left:2px solid var(--red);font-family:var(--disp);font-weight:300;font-size:clamp(19px,1.8vw,28px);line-height:1.32;color:var(--fg);max-width:30ch}
.pains__lead em{font-style:normal;font-weight:800;color:var(--red);white-space:nowrap}
.pains__list{list-style:none;margin:0;padding:0}
.pains__item{padding:30px 0 34px;border-top:1px solid rgba(228,31,38,.65)}
.pains__item:last-child{border-bottom:1px solid rgba(228,31,38,.65)}
.pains__item h3{margin:0 0 12px;font-family:var(--disp);font-weight:800;font-size:clamp(18px,1.5vw,24px);letter-spacing:-.01em;line-height:1.1}
.pains__item p{margin:0;color:var(--fg2);font-size:clamp(15px,1.05vw,17px);line-height:1.55;max-width:50ch}
.who{position:relative;z-index:1;padding:clamp(80px,10vw,150px) 0;background:var(--red);color:#fff}
.who__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,7vw,120px);align-items:start}
.who__aside .h2{color:#fff;font-size:clamp(40px,5.4vw,84px)}
.who__tagline{margin:18px 0 0;font-family:var(--disp);font-weight:300;font-size:clamp(20px,2vw,32px);letter-spacing:-.01em;color:rgba(255,255,255,.9)}
.who__text p{margin:0;font-size:clamp(17px,1.3vw,22px);line-height:1.5;color:#fff}
.who__text p+p{margin-top:22px}
.who__text p:first-child{font-family:var(--disp);font-weight:500;font-size:clamp(20px,1.7vw,28px);line-height:1.3}
.sub{position:relative;z-index:1;padding:clamp(80px,10vw,150px) 0;background:var(--ink);color:var(--fg)}
.sub__title{max-width:18ch;opacity:0;position:relative}.sub__lead{opacity:0;position:relative}html.reduce .sub__title,html.reduce .sub__lead{opacity:1}
.sub__lead{margin:26px 0 0;max-width:60ch;font-size:clamp(16px,1.25vw,20px);line-height:1.55;color:var(--fg2)}
.sub__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(36px,4vw,60px)}
.sub__item{position:relative;overflow:hidden;isolation:isolate;padding:clamp(28px,3vw,48px);border:1px solid rgba(228,31,38,.55);border-radius:16px;transition:transform .6s var(--ease),border-color .4s}
.sub__item::before{content:"";position:absolute;inset:0;background:var(--red);transform:translateY(101%);transition:transform .6s var(--ease2);z-index:-1}
@media (hover:hover){.sub__item:hover{transform:translateY(-6px);border-color:var(--red)}}@media (hover:hover){.sub__item:hover::before{transform:translateY(0)}}
@media (hover:hover){.sub__item:hover .sub__n,.sub__item:hover p{color:#fff}}.sub__item h3 .ch{display:inline-block;will-change:transform,opacity}
.sub__n{display:block;font-family:var(--disp);font-weight:300;font-size:clamp(32px,3vw,52px);line-height:1;color:var(--red);margin-bottom:16px;transition:color .4s}
.sub__item h3{margin:0 0 12px;font-family:var(--disp);font-weight:800;font-size:clamp(20px,1.7vw,28px);letter-spacing:-.02em;line-height:1.1}
.sub__item p{margin:0;font-size:clamp(15px,1.05vw,17px);line-height:1.5;color:var(--fg2);transition:color .4s}
.sub__cta{margin-top:clamp(30px,3.5vw,50px)}
.btn--ink{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.75);padding:13px 22px;font-weight:500;letter-spacing:.06em;box-shadow:none}
/* ---- переключатель вариантов (временный, для выбора) ---- */
/* ---- Наши эксперты ---- */
.experts{position:relative;z-index:1;padding:clamp(80px,10vw,150px) 0;background:var(--ink);color:var(--fg);overflow:hidden}
.experts__head{position:relative}
.experts__title,.experts__lead{opacity:0;position:relative}html.reduce .experts__title,html.reduce .experts__lead{opacity:1}
.experts__lead{margin:22px 0 0;max-width:60ch;font-size:clamp(16px,1.2vw,19px);line-height:1.55;color:var(--fg2)}
.experts__cta{margin-top:clamp(40px,5vw,70px);display:flex;justify-content:center}
.xchips{display:inline-flex;flex-wrap:wrap;gap:6px}.xchips span{font-family:var(--disp);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border:1px solid rgba(244,241,234,.22);border-radius:999px;color:var(--fg2);white-space:nowrap}
.xbul{list-style:none;margin:0;padding:0}.xbul li{position:relative;padding:10px 0 10px 22px;font-size:clamp(15px,1.05vw,17px);line-height:1.5;color:var(--fg2);border-top:1px solid var(--line)}
.xbul li::before{content:"";position:absolute;left:0;top:1.05em;width:8px;height:8px;border-radius:50%;background:var(--red)}
/* v1 — досье-список */
.xl{list-style:none;margin:clamp(40px,5vw,70px) 0 0;padding:0;border-top:1px solid var(--line)}
.xl__item{border-bottom:1px solid var(--line);--xg:clamp(14px,2vw,30px);--phw:64px}
.xl__item.is-open{--phw:0px}
.xl__head{display:grid;grid-template-columns:48px var(--phw) minmax(0,1.3fr) auto 40px;gap:var(--xg);transition:grid-template-columns .55s var(--ease);align-items:center;width:100%;padding:18px 0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.xl__n{position:relative;width:10px;height:10px;border-radius:50%;background:var(--red);justify-self:center;opacity:.9;transition:transform .4s var(--ease)}.xl__item.is-open .xl__n{transform:scale(1.4)}@media (hover:hover){.xl__item:hover .xl__n{transform:scale(1.4)}}
.xl__ph{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--ink2);transition:opacity .4s var(--ease),transform .5s var(--ease),width .55s var(--ease)}
.xl__item.is-open .xl__ph{opacity:0;transform:scale(.5);width:0}.xl__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1);transition:filter .5s,transform .8s var(--ease)}
.xl__item.is-open .xl__ph img{filter:none;transform:scale(1.06)}@media (hover:hover){.xl__item:hover .xl__ph img{filter:none;transform:scale(1.06)}}
.xl__who{display:grid;gap:4px;min-width:0}.xl__name{font-family:var(--disp);font-weight:700;font-size:clamp(20px,1.9vw,30px);letter-spacing:-.02em;line-height:1.05;transition:color .3s}
.xl__role{font-size:14px;color:var(--fg2)}
.xl__item.is-open .xl__name{color:#fff}@media (hover:hover){.xl__item:hover .xl__name{color:#fff}}
.xl__a{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);transition:background .4s,border-color .4s,transform .5s var(--ease)}
.xl__a::before,.xl__a::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1px;background:currentColor;transform:translate(-50%,-50%)}.xl__a::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s}
.xl__item.is-open .xl__a{background:var(--red);border-color:var(--red);color:#fff;transform:rotate(180deg)}.xl__item.is-open .xl__a::after{transform:translate(-50%,-50%) rotate(0)}
.xl__body{height:0;overflow:hidden}
.xl__in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:clamp(20px,4vw,60px);padding:10px 0 34px calc(48px + 2 * var(--xg));align-items:start}
.xl__big{position:relative;aspect-ratio:4/5;max-width:360px;border-radius:14px;overflow:hidden;clip-path:polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);will-change:clip-path,filter}.xl__big img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;transform-origin:50% 30%}
.xl__item .xbul li{opacity:0;transform:translateY(10px)}
/* ---- страница «Кейсы» ---- */
.chero{position:relative;z-index:1;padding:clamp(140px,18vh,220px) 0 clamp(30px,4vw,60px)}
.chero__title{font-size:clamp(44px,7vw,120px);margin:14px 0 0}.chero__lead{margin-top:26px;max-width:62ch}
.cases{position:relative;z-index:1;padding:clamp(20px,3vw,40px) 0 clamp(80px,10vw,140px)}
.cases .wrap{position:relative}
.ctabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(40px,5vw,70px);padding-right:140px}
.ctab{font-family:var(--disp);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--fg2);cursor:pointer;transition:background .4s,color .4s,border-color .4s}
.ctab.on{background:var(--fg);color:var(--ink);border-color:var(--fg)}@media (hover:hover){.ctab:hover{background:var(--fg);color:var(--ink);border-color:var(--fg)}}
.cgroup{margin-bottom:clamp(60px,8vw,110px)}.cgroup.is-hidden{display:none}
.cgroup__name{font-family:var(--disp);font-weight:300;font-size:clamp(26px,3vw,44px);letter-spacing:-.02em;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.cgroup__link{margin:-8px 0 24px;display:inline-block}
.cgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.case{position:relative;border-radius:18px;overflow:hidden;background:var(--ink2);display:flex;flex-direction:column;transition:transform .6s var(--ease)}
.case.is-hidden{display:none}
@media (hover:hover){.case:hover{transform:translateY(-4px)}}
.case__media{position:relative;aspect-ratio:16/8;overflow:hidden}.case__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.75);transition:transform 1.2s var(--ease),filter .6s}
@media (hover:hover){.case:hover .case__media img{transform:scale(1.05);filter:saturate(.9) brightness(.85)}}
.case__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,14,17,0) 40%,rgba(21,23,28,.95) 100%)}
.case__n{position:absolute;left:22px;top:18px;font-family:var(--disp);font-weight:300;font-size:13px;letter-spacing:.14em;color:#fff;z-index:1}
.case__body{padding:6px 24px 24px;display:flex;flex-direction:column;gap:8px}
.case__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:-22px;position:relative;z-index:1}.case__tags span{font-family:var(--disp);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--red);color:#fff}
.case__client{margin:10px 0 0;font-family:var(--disp);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg3)}
.case__title{margin:0;font-family:var(--disp);font-weight:700;font-size:clamp(20px,1.7vw,27px);letter-spacing:-.02em;line-height:1.12}
.case__period{margin:0;font-size:13px;color:var(--fg3)}
.case__det{height:0;overflow:hidden}.case__in{padding-top:12px}
.case__in h4{margin:14px 0 6px;font-family:var(--disp);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.case__in p,.case__in li{margin:0;font-size:15px;line-height:1.5;color:var(--fg2)}.case__in ul{list-style:none;margin:0;padding:0}.case__in li{position:relative;padding:4px 0 4px 16px}.case__in li::before{content:"+";position:absolute;left:0;color:var(--red)}
.case__res{color:var(--fg)!important}
.case__more{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:8px;padding:0;border:0;background:none;color:var(--fg);font-family:var(--disp);font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.case__more i{position:relative;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);transition:transform .5s var(--ease),background .4s}
.case__more i::before,.case__more i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;background:currentColor;transform:translate(-50%,-50%)}.case__more i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s}
.case.is-open .case__more i{background:var(--red);border-color:var(--red);transform:rotate(180deg)}.case.is-open .case__more i::after{transform:translate(-50%,-50%) rotate(0)}
/* v2 — редакционные ряды */
.btn--ink::before{content:"";position:absolute;inset:0;background:#fff;transform:translateY(101%);transition:transform .5s var(--ease2);z-index:-1;border-radius:inherit}
@media (hover:hover){.btn--ink:hover{color:var(--ink);border-color:#fff}}@media (hover:hover){.btn--ink:hover::before{transform:translateY(0)}}
.dhero__img-wrap{position:relative;z-index:1;align-self:stretch;justify-self:start;width:min(44vw,600px);min-height:60vh;margin:-30px 0 -1px;border-radius:22px 22px 0 0;overflow:hidden;clip-path:inset(100% 0 0 0)}
.dhero__img{width:100%;height:100%;transform:scale(1.12);transform-origin:50% 100%}
.dhero__img img{width:100%;height:100%;object-fit:cover}
.dir-marketing-research .dhero__img img{object-position:90% 50%}
.dhero__img-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 58% 32% at 14% 36%,rgba(255,255,255,.62) 0%,rgba(255,255,255,.3) 45%,rgba(255,255,255,0) 100%);mix-blend-mode:screen}
.dhero__back,.dhero__n,.dhero__tag{opacity:0}
.dhero__intro p{opacity:0}.dhero__intro .btn{opacity:0}
.dhero__title,.dhero__tag,.dhero__intro p{position:relative}.rep-ghost{position:absolute;left:0;top:0;width:100%;pointer-events:none;will-change:transform,opacity}.rep-l{display:block}
.dserv{position:relative;z-index:1;background:var(--paper);color:var(--ink);padding-bottom:clamp(60px,8vw,110px)}
.dserv .kicker{color:var(--red)}
.dserv__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.dserv__grid--3{grid-template-columns:repeat(3,1fr)}
.dserv__card{position:relative;overflow:hidden;isolation:isolate;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.dserv__card::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease2);z-index:1}
.dserv__card::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 100% 0%,rgba(228,31,38,.1),transparent 70%);opacity:0;transition:opacity .6s;z-index:-1}
@media (hover:hover){.dserv__card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(13,14,17,.35)}}
@media (hover:hover){.dserv__card:hover::before{transform:scaleX(1)}}@media (hover:hover){.dserv__card:hover::after{opacity:1}}
.dserv__card .num{display:block;font-family:var(--disp);font-weight:300;font-size:clamp(40px,4vw,64px);line-height:1;color:rgba(13,14,17,.22);margin-bottom:14px;transition:color .5s}
@media (hover:hover){.dserv__card:hover .num{color:var(--red)}}
.dserv__card h3{font-weight:800;letter-spacing:-.02em;font-size:clamp(24px,2.1vw,36px);margin:0 0 14px;line-height:1.05}
.dserv__card{background:#fff;border-radius:18px;padding:clamp(28px,3.2vw,52px);color:var(--ink);min-height:clamp(300px,24vw,420px)}
.dserv__card p{color:rgba(13,14,17,.65)}
.dserv__body{display:grid}.dserv__body>p,.dserv__body>ul{grid-area:1/1}
.dserv__card p{margin:0;font-size:clamp(16px,1.15vw,19px);line-height:1.5;transition:opacity .45s var(--ease),transform .6s var(--ease)}
.dserv__card ul{list-style:none;margin:0;padding:0;opacity:0;pointer-events:none;transition:opacity .3s}
.dserv__card li{position:relative;padding:9px 0 9px 22px;font-family:var(--disp);font-size:clamp(12px,.95vw,15px);letter-spacing:.1em;text-transform:uppercase;line-height:1.35;border-top:1px solid rgba(244,241,234,.14);color:var(--paper);opacity:0;transform:translateX(16px);transition:opacity .45s var(--ease),transform .6s var(--ease);transition-delay:0s}
.dserv__card li::before{content:"+";position:absolute;left:0;top:8px;color:var(--red)}
.dserv__card{transition:transform .6s var(--ease),box-shadow .6s var(--ease),background .5s var(--ease),color .5s}
.dserv__card:focus-within,.dserv__card.is-open{background:var(--ink);color:var(--paper)}@media (hover:hover){.dserv__card:hover{background:var(--ink);color:var(--paper)}}
.dserv__card:focus-within h3,.dserv__card.is-open h3{color:var(--paper)}@media (hover:hover){.dserv__card:hover h3{color:var(--paper)}}
.dserv__card:focus-within .num,.dserv__card.is-open .num{color:var(--red)}@media (hover:hover){.dserv__card:hover .num{color:var(--red)}}
.dserv__card:focus-within p,.dserv__card.is-open p{opacity:0;transform:translateY(-10px);pointer-events:none}@media (hover:hover){.dserv__card:hover p{opacity:0;transform:translateY(-10px);pointer-events:none}}
.dserv__card:focus-within ul,.dserv__card.is-open ul{opacity:1;pointer-events:auto;transition-delay:.15s}@media (hover:hover){.dserv__card:hover ul{opacity:1;pointer-events:auto;transition-delay:.15s}}
.dserv__card:focus-within li,.dserv__card.is-open li{opacity:1;transform:none;transition-delay:calc(.12s + var(--i) * .07s)}@media (hover:hover){.dserv__card:hover li{opacity:1;transform:none;transition-delay:calc(.12s + var(--i) * .07s)}}
.dserv__card h3 .ch{display:inline-block;will-change:transform,opacity}
.chw{display:inline-block;white-space:nowrap}
.dworks{padding:14px 0;background:var(--paper);position:relative;z-index:1}
.dworks__row{display:flex;gap:14px;padding:0 var(--gut);will-change:transform}
.dworks__item{flex:0 0 clamp(180px,22vw,320px);aspect-ratio:3/4;overflow:hidden;border-radius:8px}
.dworks__item img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}@media (hover:hover){.dworks__item:hover img{transform:scale(1.06)}}
.dproc{position:relative;z-index:1;padding-bottom:clamp(60px,8vw,110px)}
.days{list-style:none;margin:0;padding:0}
.days__row{display:grid;grid-template-columns:110px minmax(0,1.4fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);padding:clamp(34px,4vw,56px) 0;border-top:1px solid var(--line);align-items:start}
.days__row:last-child{border-bottom:1px solid var(--line)}
.days__day{font-family:var(--disp);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);padding-top:.9em}
.days__main h3{margin:0 0 14px;font-family:var(--disp);font-weight:800;font-size:clamp(26px,3vw,48px);letter-spacing:-.03em;line-height:1}
.days__main p{margin:0;color:var(--fg2);font-size:clamp(15px,1.1vw,18px);line-height:1.55;max-width:52ch}
.days__got{position:relative;border-left:1px solid rgba(228,31,38,.35);padding-left:22px;padding-top:.6em}
.days__got::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .7s var(--ease2)}
@media (hover:hover){.days__row:hover .days__got::before{transform:scaleY(1)}}
@media (hover:hover){.days__row:hover .days__k{color:var(--red)}}
@media (hover:hover){.days__row.in:hover .days__got li{transform:translateX(10px);color:#fff;transition-delay:calc(var(--i) * .07s)}}
@media (hover:hover){.days__row:hover .days__got li::before{color:#fff;transform:rotate(90deg)}}
.days__got li::before{transition:color .3s,transform .5s var(--ease);transition-delay:inherit}
.days__k{transition:color .3s}
@media (hover:hover){.days__row:hover .days__main h3{color:#fff}}.days__main h3{transition:color .3s}
.days__k{display:block;font-family:var(--disp);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg3);margin-bottom:12px}
.days__got ul{list-style:none;margin:0;padding:0}
.days__got li{font-family:var(--disp);font-size:13px;letter-spacing:.08em;text-transform:uppercase;line-height:1.4;padding:5px 0 5px 18px;position:relative;color:var(--fg);opacity:0;transform:translateX(14px);transition:opacity .6s var(--ease),transform .7s var(--ease);transition-delay:calc(.25s + var(--i) * .09s)}
.days__got li::before{content:"+";position:absolute;left:0;top:5px;color:var(--red)}
.days__row.in .days__got li{opacity:1;transform:none}
.stats{position:relative;z-index:1;background:var(--red);color:#fff;padding:clamp(44px,5.5vw,80px) 0}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat__v{font-family:var(--disp);font-weight:800;line-height:1;letter-spacing:-.04em;display:inline-flex;align-items:flex-start;gap:4px}
.stat__pre{font-weight:300;font-size:clamp(18px,1.6vw,26px);letter-spacing:0;align-self:flex-start;margin-top:.25em;margin-right:4px}
.stat__n{font-size:clamp(48px,5.6vw,88px)}
.stat__pct{font-weight:300;font-size:clamp(20px,2vw,32px);margin-top:.15em}
.stat__l{margin-top:10px;font-family:var(--disp);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.stat__s{margin-top:6px;font-size:12px;color:rgba(255,255,255,.65)}
.ccard--direct{grid-template-columns:1fr auto;margin-top:clamp(24px,3vw,40px)}
.ccard__m{grid-column:1;font-family:var(--disp);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-top:10px;transition:color .4s}
@media (hover:hover){.ccard--direct:hover .ccard__m{color:#fff}}
.dproc__list{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.5vw,40px);list-style:none;margin:0;padding:0}
.dproc__list li{border-top:1px solid rgba(228,31,38,.6);padding-top:26px}
.dproc__list .num{display:block;font-family:var(--disp);font-weight:300;font-size:clamp(40px,4vw,64px);line-height:1;color:var(--red);margin-bottom:18px}
.dproc__list h3{margin:0 0 12px;font-family:var(--disp);font-weight:800;font-size:clamp(24px,2.1vw,34px);letter-spacing:-.02em;line-height:1.05}
.dproc__list p{margin:0;font-size:clamp(16px,1.15vw,19px);line-height:1.5;color:var(--fg2)}
.dnext{display:block;position:relative;height:clamp(360px,60vh,640px);overflow:hidden;isolation:isolate;color:var(--fg)}
.dnext__img{position:absolute;inset:0;z-index:0}
.lay{position:fixed;inset:0;z-index:961;pointer-events:none;background:var(--ink)}
.lay i{position:absolute;inset:0;background-size:cover;background-position:center;clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%);will-change:clip-path}
.dnext__img img{width:100%;height:100%;object-fit:cover;filter:brightness(.45) saturate(.8);transition:transform 1.2s var(--ease),filter 1s}
@media (hover:hover){.dnext:hover .dnext__img img{filter:brightness(.6)}}
.dnext__copy{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;gap:10px}
.dnext__n{font-family:var(--disp);font-weight:900;font-size:clamp(28px,4vw,56px);color:var(--red);line-height:1}
.dnext__t{font-family:var(--disp);font-weight:900;font-size:clamp(36px,7vw,120px);letter-spacing:-.03em;line-height:.95}
.dnext__a{font-size:40px;transition:transform .5s var(--ease)}@media (hover:hover){.dnext:hover .dnext__a{transform:translateX(16px)}}
.dnext.expanding{z-index:960}

/* страница работ */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.filter{display:inline-flex;gap:8px;align-items:center;padding:10px 16px;border:1px solid var(--line);border-radius:999px;font-family:var(--disp);font-size:12px;transition:background .3s,color .3s,border-color .3s}
.filter i{font-style:normal;color:var(--fg3)}
.filter.on{background:var(--fg);color:var(--ink);border-color:var(--fg)}@media (hover:hover){.filter:hover{background:var(--fg);color:var(--ink);border-color:var(--fg)}}.filter.on i{color:var(--red)}
.wgrid-wrap{padding:20px 10px 80px}
.wgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.wgrid__item{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:4px;display:block;text-align:left;opacity:0;transform:translateY(40px) scale(.96)}
.wgrid__item.out{display:none}
.wgrid__item img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
@media (hover:hover){.wgrid__item:hover img{transform:scale(1.07)}}
.wgrid__cap{position:absolute;left:0;right:0;bottom:0;padding:14px;background:linear-gradient(0deg,rgba(13,14,17,.85),transparent);opacity:0;transition:opacity .4s}
@media (hover:hover){.wgrid__item:hover .wgrid__cap{opacity:1}}
.wgrid__cap b{display:block;font-family:var(--disp);font-size:13px}.wgrid__cap i{font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3)}
.zoom{position:fixed;inset:0;z-index:930;background:rgba(13,14,17,.96);display:grid;place-items:center;visibility:hidden;opacity:0;transition:opacity .4s,visibility .4s}
.zoom.open{visibility:visible;opacity:1}
.zoom__img{width:min(90vw,calc(86vh * .75));aspect-ratio:3/4;border-radius:8px;overflow:hidden}
.zoom__img img{width:100%;height:100%;object-fit:cover}
.zoom__cap{position:absolute;left:var(--gut);bottom:28px;font-family:var(--disp);font-size:13px;color:var(--fg2)}
.zoom__close,.zoom__prev,.zoom__next{position:absolute;width:56px;height:56px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:22px;transition:background .3s,color .3s}
.zoom__close{right:24px;top:24px}.zoom__prev{left:24px;top:50%;transform:translateY(-50%)}.zoom__next{right:24px;top:50%;transform:translateY(-50%)}
@media (hover:hover){.zoom__close:hover,.zoom__prev:hover,.zoom__next:hover{background:var(--fg);color:var(--ink)}}

/* 404 */
.nfpage{position:relative;min-height:100svh;display:flex;align-items:center;padding:140px 0 80px;overflow:hidden}
.nf__bg{position:absolute;inset:0;opacity:.07;display:flex;flex-direction:column;justify-content:space-around;pointer-events:none}
.nf__bg .type__line{color:var(--red)}
.nf__code{font-size:clamp(100px,22vw,360px);font-weight:900;line-height:.9;letter-spacing:-.05em;color:var(--red)}
.nf__in{position:relative;z-index:1}.nf__in .lead{margin-top:20px}

/* ---------- появление ---------- */
html.js [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1.1s var(--ease);transition-delay:var(--d,0s)}
html.js [data-reveal].in{opacity:1;transform:none}
html.js [data-blur]{filter:blur(8px);opacity:0;transition:filter 1s var(--ease),opacity .8s}
html.js [data-blur].in{filter:blur(0);opacity:1}
html.reduce [data-reveal],html.reduce [data-blur]{opacity:1;transform:none;filter:none;transition:none}
html.reduce .hgrid__item,html.reduce .wgrid__item,html.reduce .hero__photo{opacity:1;transform:none}
html.reduce .dhero__img-wrap{clip-path:none}html.reduce .dhero__img{transform:none}html.reduce .dhero__back,html.reduce .dhero__n,html.reduce .dhero__tag,html.reduce .dhero__intro,html.reduce .dhero__intro p,html.reduce .dhero__intro .btn{opacity:1}
html.reduce .ring svg,html.reduce .hero__scroll::after{animation:none}

/* ---------- адаптив ---------- */
@media (max-width:1100px){
  .hgrid{grid-template-columns:repeat(4,1fr)}.wgrid{grid-template-columns:repeat(4,1fr)}
  .footer__top{grid-template-columns:1fr 1fr}.team__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:900px){
  .nav__menu,.nav__cta,.nav__lang{display:none}.burger{display:flex}
  .hero{padding:120px 0 90px}.hero__photo{width:100%;-webkit-mask-image:none;mask-image:none}.hero::before{background:linear-gradient(0deg,rgba(13,14,17,.95) 40%,rgba(13,14,17,.5))}
  .ring{display:none}
  .facts__grid{grid-template-columns:1fr 1fr}
  .panel{height:auto;min-height:0;margin-top:0}.panel__item{grid-template-columns:1fr;grid-template-areas:'image' 'title' 'subtitle';grid-template-rows:auto;gap:18px 0;align-items:start}.panel__item-title .tb{text-indent:0}.panel__item-imgwrap{width:100%;align-self:start}.panel__item-img{width:100%;aspect-ratio:16/10}.panel-head{padding-top:36px;padding-bottom:14px}.panel__item-subtitle{padding-bottom:28px}
  .mf{height:auto}.mf__layers{position:relative;height:72vw}.mf__layer:last-child{clip-path:none!important}.mf__layers{height:96vw}.mf__title{position:absolute;left:20px;right:20px;top:96vw;bottom:auto;width:auto;margin:0;transform:translateY(calc(-100% - 18px));color:#fff;font-size:clamp(26px,7.4vw,36px);line-height:1.08;z-index:2}.mf__layer:last-child .mf__layer-img{right:0;background-position:50% 30%}.mf__layer:last-child .mf__layer-img::after{background:linear-gradient(180deg,rgba(13,14,17,0) 35%,rgba(13,14,17,.55) 65%,rgba(13,14,17,.92) 100%)}.mf__panel{padding-top:24px}.mf{margin-bottom:0}.mf__panel{position:relative;width:auto;padding:36px 20px 44px}
  .dir-row{grid-template-columns:50px 1fr 40px;row-gap:6px}.dir-row__s{grid-column:2;justify-self:start;text-align:left}.dir-row__a{grid-row:1;grid-column:3}

  .hgrid{grid-template-columns:repeat(2,1fr)}.hgrid__item:nth-child(6n+2),.hgrid__item:nth-child(6n+5){margin-top:0}

  .about-t__grid,.contact__grid,.dserv__grid,.dserv__grid--3,.values__grid,.pains__grid,.who__grid,.cgrid{grid-template-columns:1fr}.xl__head{grid-template-columns:32px 52px minmax(0,1fr) 36px}.xl__head .xchips{display:none}.xl__in{grid-template-columns:1fr;padding-left:0}.ctabs{padding-right:0}.days__row{grid-template-columns:1fr;gap:14px}.days__day{padding-top:0}.days__got{padding-left:16px}.stats__grid{grid-template-columns:1fr 1fr;gap:28px 12px}.sub__grid{grid-template-columns:1fr}.dhero .wrap{grid-template-columns:1fr;padding-top:100px}.dhero__title{width:auto;max-width:none}.dhero__img-wrap{width:100%;max-width:520px;margin-top:30px;min-height:0;aspect-ratio:3/4;align-self:start}.dhero__col{padding-bottom:0}
  .about-t__pics{height:70vw}
  .hist{grid-template-columns:1fr;gap:12px}.hist__pic{display:none}
  .team__grid,.wgrid{grid-template-columns:repeat(2,1fr)}.dproc__list{grid-template-columns:1fr 1fr}
  .footer__top{grid-template-columns:1fr}.footer__big{font-size:14vw}
  .dir-row--c{grid-template-columns:50px 1fr 40px}
}
@media (max-width:560px){.form{grid-template-columns:1fr}.field--full{grid-column:auto}.form__head{flex-direction:column;gap:4px}.facts__grid{grid-template-columns:1fr;gap:6px}.fact{border-left:0;padding:22px 14px}.fact::after{display:none}.fact::before{top:36%;width:220px}.cgrid{grid-template-columns:1fr}.dproc__list{grid-template-columns:1fr}.hero__title{font-size:13vw}}

.dir .type--bg{display:none}
.rep-w{display:inline-block;white-space:nowrap}.dhero__intro p+p{margin-top:14px}
.dhero__title [class*="mask"],.h1 [class*="mask"],.h2 [class*="mask"]{padding:.16em .12em .18em .04em;margin:-.16em -.12em -.18em -.04em}
html[data-page="event"] .days__day{font-size:clamp(22px,2.2vw,34px);letter-spacing:-.01em;text-transform:none;font-weight:300;padding-top:.25em;white-space:nowrap}
html[data-page="event"] .dhero__img img{object-position:50% 0%}
/* О группе: отступ под заголовком, карточки «Кто мы», списки ценностей и этапов, иконки истории */
.phero .lead{margin-top:clamp(26px,3vw,44px)}
.sec-head--tight{padding-top:clamp(40px,6vw,90px)}
.who-cards__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.who-card{position:relative;overflow:hidden;isolation:isolate;background:var(--paper);color:var(--ink);border-radius:16px;padding:clamp(26px,3vw,44px);min-height:clamp(240px,20vw,320px);transition:transform .6s var(--ease),color .5s}
.who-card::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--red);transform:translateY(101%);transition:transform .6s var(--ease)}
.who-card::after{content:attr(data-n);position:absolute;right:18px;top:4px;font-family:var(--disp);font-weight:800;font-size:clamp(90px,9vw,150px);line-height:1;letter-spacing:-.05em;color:rgba(13,14,17,.06);transition:color .5s;pointer-events:none}
@media (hover:hover){.who-card:hover{transform:translateY(-8px);color:#fff}}@media (hover:hover){.who-card:hover::before{transform:translateY(0)}}@media (hover:hover){.who-card:hover::after{color:rgba(255,255,255,.14)}}
@media (hover:hover){.who-card:hover p,.who-card:hover .who-card__list li,.who-card:hover .num{color:#fff}}@media (hover:hover){.who-card:hover .who-card__list{border-top-color:rgba(255,255,255,.3)}}@media (hover:hover){.who-card:hover .who-card__list li::before{color:#fff}}
.who-card .num{position:relative}
html.reduce .who-card__list li{opacity:1;transform:none}
.who-card .num{color:var(--fg3)}
.who-card h3{font-family:var(--disp);font-weight:700;font-size:clamp(22px,2vw,32px);letter-spacing:-.02em;margin:14px 0 12px;line-height:1.1}
.who-card p{margin:0;font-size:clamp(16px,1.2vw,19px);line-height:1.5;color:rgba(13,14,17,.72)}
.value__list,.hist__stage ul{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line)}
.value__list li,.hist__stage li{position:relative;padding:5px 0 5px 18px;font-size:14px;color:var(--fg2)}
.value__list li::before,.hist__stage li::before{content:"+";position:absolute;left:0;top:5px;color:var(--red)}
.hist__k{display:block;margin-top:18px;font-family:var(--disp);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg3)}
.hist__stage ul{margin-top:14px;padding-top:0;border:0;display:flex;flex-wrap:wrap;gap:4px 22px}
.hist__ico{width:clamp(56px,6vw,96px);height:clamp(56px,6vw,96px);color:var(--red);justify-self:end;opacity:.9}
.hist__ico svg{width:100%;height:100%}
@media (max-width:900px){.who-cards__grid{grid-template-columns:1fr}.hist__ico{display:none}}
/* Мобильные: без горизонтальной прокрутки */
body{overflow-x:clip}
.manifest{overflow:hidden}
@media (max-width:900px){.footer__big{font-size:10.6vw;padding-left:0;padding-right:0;letter-spacing:0}}
@media (max-width:900px){.dserv__card{min-height:0}.who-card{min-height:0}}
@media (max-width:560px){.dhero__title{font-size:11.5vw;max-width:none}.dhero--it .dhero__title{font-size:11.5vw}.stats__grid{grid-template-columns:1fr 1fr;gap:28px 12px}}
.phero--about{min-height:92vh;display:flex;align-items:center;padding-top:140px;overflow:hidden;isolation:isolate}
.phero__bg{position:absolute;inset:0;z-index:-1}
.phero__bg img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;filter:brightness(.55) saturate(.85)}
.phero__bg::after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,rgba(13,14,17,.97) 0%,rgba(13,14,17,.9) 42%,rgba(13,14,17,.6) 72%,rgba(13,14,17,.35) 100%),linear-gradient(180deg,rgba(13,14,17,.6) 0%,rgba(13,14,17,0) 45%),linear-gradient(0deg,#0d0e11 0%,rgba(13,14,17,0) 30%)}
.phero__bg .hero__gl{z-index:2}
.phero__in{position:relative;z-index:1;width:100%}
.phero--about .lead{color:rgba(244,241,234,.86)}
.who-card__list{list-style:none;margin:18px 0 0;padding:14px 0 0;border-top:1px solid rgba(13,14,17,.12)}
.who-card__list li{position:relative;padding:5px 0 5px 18px;font-size:14px;color:rgba(13,14,17,.7)}
.who-card__list li::before{content:"+";position:absolute;left:0;top:5px;color:var(--red)}

/* О группе: манифест, живые принципы и история */
.amf{position:relative;z-index:1;background:var(--paper);color:var(--ink);padding:clamp(90px,12vw,180px) 0;overflow:hidden;isolation:isolate}
.amf__text{margin:0;max-width:24ch;font-family:var(--disp);font-weight:300;font-size:clamp(28px,4.2vw,66px);line-height:1.12;letter-spacing:-.03em}
.amf__text em{font-style:normal;font-weight:800;color:var(--red)}
.amf__text .sw{display:inline-block;white-space:nowrap}.amf__text .sc{display:inline-block;will-change:transform,opacity}
.value{position:relative;overflow:hidden;transition:transform .6s var(--ease),border-color .5s,background .5s}
.value::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
@media (hover:hover){.value:hover{transform:translateY(-6px);border-color:rgba(228,31,38,.6);background:var(--ink)}}@media (hover:hover){.value:hover::after{transform:scaleX(1)}}
@media (hover:hover){.value:hover .num{color:var(--red)}}
.value__list li{opacity:0;transform:translateX(-12px);transition:opacity .5s var(--ease),transform .6s var(--ease);transition-delay:calc(.2s + var(--i) * .1s)}
.value.is-in .value__list li{opacity:1;transform:none}
.hist{position:relative}.hist::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease)}
.hist.is-in::before{transform:scaleX(1)}
.hist__ico svg *{stroke-dasharray:160;stroke-dashoffset:160;transition:stroke-dashoffset 1.4s var(--ease) .3s}
.hist.is-in .hist__ico svg *{stroke-dashoffset:0}
.hist__stage li{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .6s var(--ease);transition-delay:calc(.4s + var(--i) * .12s)}
.hist.is-in .hist__stage li{opacity:1;transform:none}
@media (hover:hover){.hist:hover .hist__y{color:#fff;transition:color .4s}}
html.reduce .value__list li,html.reduce .hist__stage li{opacity:1;transform:none}html.reduce .hist__ico svg *{stroke-dashoffset:0}
.cta-band__lines{display:flex;flex-wrap:wrap;gap:10px 34px;margin-top:30px;font-family:var(--disp);font-size:clamp(16px,1.3vw,20px)}.cta-band__lines a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(13,14,17,.3)}@media (hover:hover){.cta-band__lines a:hover{border-color:var(--red);color:var(--red)}}

/* «Наш подход»: свёрнутые карточки, раскрытие по наведению/клику */
.who-card{display:flex;flex-direction:column;justify-content:center;min-height:clamp(200px,17vw,280px);cursor:pointer;opacity:0}
html.reduce .who-card{opacity:1}
.who-card h3{font-size:clamp(28px,2.6vw,44px);margin:12px 0 0;transition:transform .5s var(--ease)}
.who-card__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.who-card__body>div{overflow:hidden;min-height:0}
.who-card__body p{margin-top:16px}
.who-card.is-open .who-card__body{grid-template-rows:1fr}@media (hover:hover){.who-card:hover .who-card__body{grid-template-rows:1fr}}
.who-card.is-open{justify-content:flex-start;color:#fff}@media (hover:hover){.who-card:hover{justify-content:flex-start;color:#fff}}.who-card.is-open::before{transform:translateY(0)}.who-card.is-open::after{color:rgba(255,255,255,.14)}
.who-card.is-open p,.who-card.is-open .who-card__list li,.who-card.is-open .num{color:#fff}.who-card.is-open .who-card__list{border-top-color:rgba(255,255,255,.3)}.who-card.is-open .who-card__list li::before{color:#fff}
.who-card__list li{opacity:0;transform:translateX(-12px);transition:opacity .4s var(--ease) calc(.25s + var(--i) * .08s),transform .5s var(--ease) calc(.25s + var(--i) * .08s),color .4s}
.who-card.is-open .who-card__list li{opacity:1;transform:none}@media (hover:hover){.who-card:hover .who-card__list li{opacity:1;transform:none}}
/* Мобильные: манифест на главной — фото во всю ширину, заголовок виден всегда */
@media (max-width:900px){.mf{margin-bottom:0}.mf__layers{height:96vw}.mf__layer:last-child .mf__layer-img{right:0;background-size:cover;background-position:50% 30%}.mf__title{font-size:clamp(24px,7vw,34px);width:auto}.mf__title .wd{opacity:1!important;transform:none!important}.mf__panel{padding:32px 20px 44px}}
html.js .dhero__title{opacity:0}html.reduce .dhero__title{opacity:1}
/* до построения перехода страница скрыта — без мерцания */
html.lay-wait #nav,html.lay-wait main,html.lay-wait footer{visibility:hidden}html.lay-wait body{background:var(--ink) var(--lay-img,none) center/cover no-repeat}html.kt-wait #nav,html.kt-wait main,html.kt-wait footer{visibility:hidden}html.kt-wait body{background:var(--red)}
html.kt-wait .kt{visibility:visible;clip-path:inset(0 0 0% 0)}
/* манифест: знак на фоне, подпись-кикер, подпись-автограф, красная линия слева */
.amf__mark{position:absolute;right:-6vw;top:50%;width:clamp(320px,42vw,760px);transform:translateY(-50%) rotate(-8deg);opacity:.07;z-index:-1;pointer-events:none}.amf__mark svg{width:100%;height:auto;display:block}.amf__mark svg *{fill:var(--red)!important}
.amf__in{position:relative;padding-left:clamp(26px,3vw,48px)}.amf__in::before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:3px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform 1.2s var(--ease)}.amf.is-in .amf__in::before{transform:scaleY(1)}
.amf__kicker{display:inline-flex;align-items:center;gap:12px;margin-bottom:clamp(22px,3vw,40px);font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--red)}.amf__kicker i{width:28px;height:2px;background:var(--red)}
.amf__sign{display:block;margin-top:clamp(26px,3vw,44px);font-family:var(--disp);font-weight:300;font-size:clamp(16px,1.3vw,20px);letter-spacing:.02em;color:rgba(13,14,17,.55)}.amf__sign::before{content:"— "}
@media (max-width:900px){.amf__mark{width:70vw;right:-20vw;opacity:.06}}

/* Заголовок над карточками принципов на главной */
.panel-head{padding-bottom:clamp(16px,2.5vw,36px)}
.panel-head .kicker{margin-bottom:14px}

/* Главная: логотип в шапке скрыт на первом экране (там большой логотип) и появляется при прокрутке */
.home .nav__logo{opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.home .nav.logo-on .nav__logo{opacity:1;transform:none;pointer-events:auto}

/* Документы: подводка, списки и версия */
.doc__lead{margin-top:18px}
.doc__list{list-style:none;margin:0 0 14px;padding:0}
.doc__list li{position:relative;padding-left:22px;margin-bottom:6px}
.doc__list li::before{content:"+";position:absolute;left:0;top:0;color:var(--red);font-weight:700}
.doc__ver{margin-top:44px;color:var(--fg2);opacity:.7;font-size:14px}

/* Телефон: принципы без анимации, просто друг за другом */
@media (max-width:900px){.panel{display:block}.panel__item{position:static;margin-bottom:44px;pointer-events:auto}.panel__item:last-child{margin-bottom:0}.panel__item-title span,.panel__item-subtitle>span,.panel__item-text{opacity:1}.panel__item-name{display:none}.panel__item-imgwrap{box-shadow:none}}

/* Тач-экраны: без эффектов наведения у строк направлений (на телефоне «наведение» залипает после касания и мешает переходу) */
@media (hover:none),(max-width:900px){@media (hover:hover){.dir-row:hover .dir-row__fill{transform:translateY(101%)}}@media (hover:hover){.dir-row:hover .dir-row__t{color:inherit;transform:none}}@media (hover:hover){.dir-row:hover .dir-row__tag{opacity:0;transform:translateY(14px)}}@media (hover:hover){.dir-row:hover .dir-row__a{transform:none}}@media (hover:hover){.dir-row:hover .dir-row__s{color:var(--fg2)}}}

/* Мини-бриф в форме заявки */
.brief{grid-column:1/-1;display:grid;gap:18px 22px}
.brief__head{display:grid;gap:4px;padding-top:12px;border-top:1px solid var(--line)}
.brief__t{font-family:var(--disp);font-weight:600;font-size:clamp(17px,1.3vw,21px);letter-spacing:-.01em}
.brief__d{font-size:13px;color:var(--fg3);line-height:1.5}
.brief__set{display:grid;gap:18px;margin:0;padding:0;border:0;min-width:0}
.brief__set[hidden]{display:none}
.field textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font:inherit;color:var(--fg);outline:0;resize:vertical;min-height:84px;transition:border-color .3s,background .3s}
.field textarea:focus{border-color:var(--red);background:rgba(255,255,255,.06)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip i{display:inline-block;font-style:normal;font-size:14px;line-height:1.2;padding:9px 14px;border-radius:999px;border:1px solid var(--line);color:var(--fg2);background:rgba(255,255,255,.03);transition:background .25s,border-color .25s,color .25s,transform .25s}
@media (hover:hover){.chip:hover i{border-color:rgba(255,255,255,.35);color:var(--fg)}}
.chip input:checked+i{background:var(--red);border-color:var(--red);color:#fff}
.chip input:focus-visible+i{outline:2px solid var(--red);outline-offset:2px}
@media (max-width:560px){.chip i{font-size:13px;padding:8px 12px}}

/* Планшеты и ноутбуки: заголовок «Кто мы» не шире видимой части фото (56%), без лишней пустоты над принципами */
@media (min-width:901px){.mf__title{width:min(calc(56% - clamp(24px,3.4vw,56px) * 2),760px);font-size:clamp(24px,2.6vw,52px)}.panel{height:auto;padding:clamp(8px,1.6vw,32px) 0}}

/* Кнопки к офису: такси и карты */
.geo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.geo__btn{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;color:var(--fg);background:rgba(255,255,255,.03);transition:background .3s,border-color .3s,transform .3s}
.geo__btn svg{width:22px;height:22px;flex:none;color:var(--red);transition:color .3s}
.geo__btn span{display:grid;gap:2px;min-width:0}
.geo__btn b{font-family:var(--disp);font-weight:600;font-size:15px;letter-spacing:-.01em}
.geo__btn small{font-size:12px;color:var(--fg3);line-height:1.35}
@media (hover:hover){.geo__btn:hover{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.06)}}
.geo__btn--taxi{grid-column:1/-1;background:#fc3f1d;border-color:#fc3f1d;color:#fff}
.geo__btn--taxi svg{color:#fff}.geo__btn--taxi small{color:rgba(255,255,255,.8)}
@media (hover:hover){.geo__btn--taxi:hover{background:#e4351a;border-color:#e4351a}}
.contact__lines .geo{max-width:440px}
@media (max-width:560px){.geo{grid-template-columns:1fr}}

/* Китайская версия: шрифт с иероглифами, межстрочные и переносы без пробелов */
html[lang^="zh"]{--disp:"Inter Tight","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--text:"Manrope","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
html[lang^="zh"] body{line-height:1.7}
html[lang^="zh"] .h1,html[lang^="zh"] .h2,html[lang^="zh"] .dhero__title,html[lang^="zh"] .hero__title,html[lang^="zh"] .mf__title,html[lang^="zh"] .panel__item-title,html[lang^="zh"] .dnext__t{line-height:1.18;letter-spacing:0}
html[lang^="zh"] .kicker,html[lang^="zh"] .field span,html[lang^="zh"] .fact__l,html[lang^="zh"] .num{letter-spacing:.08em}
html[lang^="zh"] .wd,html[lang^="zh"] .chw,html[lang^="zh"] .mf__title .wd{white-space:normal}
html[lang^="zh"] p,html[lang^="zh"] li{line-break:strict;word-break:normal;overflow-wrap:anywhere}
.nav__lang a[lang="zh-Hans"],.mnav__lang a[lang="zh-Hans"]{letter-spacing:0}

.nb{white-space:nowrap;display:inline-block}

/* ---------- общая команда: блок на главной, полоса на направлениях, страница «Команда» ---------- */
.crew{position:relative;padding-bottom:clamp(80px,10vw,140px);border-top:1px solid var(--line)}
.crew__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px clamp(30px,5vw,90px);align-items:end}
.crew__lead{margin:0;max-width:44ch}
.crew__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,1.4vw,22px)}
.crew__card a{display:block;color:var(--fg)}
.crew__ph{position:relative;display:block;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--ink2);isolation:isolate}
.crew__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1);transition:filter .6s,transform 1s var(--ease)}
.crew__ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease2)}
.crew__card a:focus-visible .crew__ph img{filter:none;transform:scale(1.05)}@media (hover:hover){.crew__card a:hover .crew__ph img{filter:none;transform:scale(1.05)}}
.crew__card a:focus-visible .crew__ph::after{transform:scaleX(1)}@media (hover:hover){.crew__card a:hover .crew__ph::after{transform:scaleX(1)}}
.crew__name{display:block;margin-top:16px;font-family:var(--disp);font-weight:600;font-size:clamp(16px,1.25vw,20px);letter-spacing:-.01em;line-height:1.15;transition:color .3s}
@media (hover:hover){.crew__card a:hover .crew__name{color:#fff}}
.crew__role{display:block;margin-top:6px;font-size:13px;line-height:1.4;color:var(--fg2)}
.crew__cta{margin-top:clamp(36px,4vw,60px);display:flex;justify-content:center}

.dteam{position:relative;z-index:1;padding:clamp(70px,9vw,130px) 0;border-top:1px solid var(--line)}
.dteam__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px 40px;margin-bottom:clamp(30px,4vw,56px)}
.dteam__title{font-size:clamp(28px,3.6vw,58px);max-width:none}
.dteam__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));border-top:1px solid var(--line)}
.dteam__list li{border-bottom:1px solid var(--line)}
.dteam__p{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:center;padding:18px 18px 18px 0;color:var(--fg)}
.dteam__ph{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--ink2)}
.dteam__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1);transition:filter .5s,transform .8s var(--ease)}
.dteam__p:focus-visible .dteam__ph img{filter:none;transform:scale(1.08)}@media (hover:hover){.dteam__p:hover .dteam__ph img{filter:none;transform:scale(1.08)}}
.dteam__who{display:grid;gap:4px;min-width:0}
.dteam__name{font-family:var(--disp);font-weight:600;font-size:clamp(16px,1.2vw,19px);letter-spacing:-.01em;line-height:1.15;transition:color .3s}
@media (hover:hover){.dteam__p:hover .dteam__name{color:var(--red)}}
.dteam__role{font-size:13px;line-height:1.4;color:var(--fg2)}

.tjump{margin:clamp(30px,4vw,50px) 0 0;padding-right:0}
.tgroups{position:relative;z-index:1;padding-bottom:clamp(60px,8vw,120px)}
.tgroup{padding-top:clamp(50px,7vw,100px);scroll-margin-top:60px}
.tgroup__head{display:flex;align-items:baseline;gap:18px;padding-bottom:16px}
.tgroup__name{margin:0;font-family:var(--disp);font-weight:300;font-size:clamp(28px,3.4vw,52px);letter-spacing:-.02em;line-height:1.05}
.tgroup__count{margin-left:auto;font-family:var(--disp);font-size:12px;letter-spacing:.14em;color:var(--fg3)}
.tgroup .xl{margin-top:0}
.xl__item{scroll-margin-top:100px}

@media (max-width:1100px){.crew__grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}}
@media (max-width:900px){.crew__head{grid-template-columns:1fr}.dteam__list{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.crew__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}.crew__role{font-size:12px}.dteam__list{grid-template-columns:1fr}.dteam__p{grid-template-columns:56px minmax(0,1fr);gap:14px;padding:14px 0}.dteam__ph{width:56px;height:56px}.tgroup__head{gap:12px}}
/* шапка с пятью пунктами на узких ноутбуках: меньше промежутки; кнопка шапки прячется до 1100px (в узбекском, где она длиннее, — до 1150px) */
@media (min-width:901px) and (max-width:1280px){.nav__menu{gap:16px}}
@media (min-width:901px) and (max-width:1100px){.nav__cta{display:none}}
@media (min-width:901px) and (max-width:1150px){html[lang="uz"] .nav__cta{display:none}}

/* ---------- тач-устройства (планшеты и телефоны любой ширины) ---------- */
/* интро на тач-экранах: страница под ним не прокручивается */
html.intro-lock,html.intro-lock body{overflow:hidden}
html.touch .facts__fx,html.touch .cursor{display:none!important}
/* подпись направления видна сразу — наведения на тач-экране нет */
@media (hover:none){.dir-row__tag{opacity:1;transform:none;color:var(--fg2)}}html.touch .dir-row__tag{opacity:1;transform:none;color:var(--fg2)}
/* пальцу нужно место: зоны касания не меньше 44px */
@media (pointer:coarse){
  .nav__lang{gap:2px}.nav__lang a{display:inline-grid;place-items:center;min-width:34px;min-height:44px;padding:0 4px}
  .nav__link{padding:13px 0}
  .mnav__in>a{padding:4px 0}.mnav__dirs a{display:block;padding:8px 0}.mnav__lang a{display:inline-grid;place-items:center;min-width:44px;min-height:44px}
  .chip i{padding:13px 16px}.nav__logo{display:block;padding:2px 0}
  .ctab{min-height:44px}
  .case__more{min-height:44px}
  .footer__col a{padding:11px 0}.footer__contacts a{display:inline-block;padding:12px 0}.totop{min-height:44px;padding:0 4px}
  .dhero__back{height:44px}
  .xl__a{width:44px;height:44px}
}
/* если скрипты эффектов не загрузились (медленная сеть) — всё содержимое видно сразу */
html.reduce .days__got li,html.reduce .fact__l,html.reduce .fact b .d,html.reduce .fact b .sfx,html.reduce .xl__item.is-open .xbul li{opacity:1;transform:none}
html.nofx .hgrid__item,html.nofx .wgrid__item,html.nofx .who-card,html.nofx .dhero__title{opacity:1;transform:none}
/* планшеты в портретной ориентации (тач, до 1199px): вместо тесного меню из пяти пунктов — бургер с крупными пунктами */
@media (max-width:1199px){html.touch .nav__menu,html.touch .nav__cta,html.touch .nav__lang{display:none}html.touch .burger{display:flex}}
/* узбекская шапка длиннее: кнопка прячется до 1200px */
@media (min-width:901px) and (max-width:1200px){html[lang="uz"] .nav__cta{display:none}}
/* планшет в портретной ориентации: фото первого экрана во всю ширину (как на телефоне), эксперты — по три в ряд */
@media (min-width:901px) and (max-width:1199px) and (orientation:portrait){
  .hero__photo{width:100%;right:0;-webkit-mask-image:none;mask-image:none}.hero::before{background:linear-gradient(0deg,rgba(13,14,17,.95) 30%,rgba(13,14,17,.45))}
  .crew__grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}
}
/* высота экрана без скачков на телефонах и планшетах (адресная строка браузера) */
.phero--about{min-height:92svh}
.dhero__img-wrap{min-height:60svh}
@media (max-width:900px){.dhero__img-wrap{min-height:0}}
/* мобильное меню: на низких экранах (телефон боком) прокручивается, страница под ним стоит */
.mnav{align-items:flex-start;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.mnav__in{margin:auto 0;padding-top:84px;padding-bottom:32px}
body.menu-open{overflow:hidden}
@media (max-height:500px){.mnav__in{gap:6px}.mnav__in>a{font-size:clamp(22px,4.4vw,30px)}}
/* лента логотипов на тач-устройствах: без размытия (фильтр в каждом кадре тяжёл для планшета), остаётся сдвиг и затухание */
html.touch .loom__card{filter:none}
/* универсальные страховки для всех телефонов и планшетов */
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body,main{overflow-x:clip}}
h1,h2,h3,.h1,.h2{overflow-wrap:break-word}
@media (max-width:400px){h1,h2,h3,.h1,.h2,.case__title{hyphens:auto;-webkit-hyphens:auto}}
@media (pointer:coarse){
  .cta-band__lines a{display:inline-block;padding:10px 0}
  .footer__contacts a{display:inline-block;padding:12px 0}
  .totop{min-height:44px;padding:0 6px}
  .nav__link{padding:13px 0;min-width:44px;text-align:center}
}
/* телефон боком: меню в две колонки, чтобы всё помещалось без прокрутки */
@media (orientation:landscape) and (max-height:560px){
  .mnav__in{display:grid;grid-template-columns:auto 1fr;column-gap:48px;row-gap:0;align-content:center;padding-top:64px;padding-bottom:16px;width:100%}
  .mnav__in>a{grid-column:1;font-size:clamp(20px,3.4vw,26px);padding:6px 0}
  .mnav__dirs{grid-column:2;grid-row:1/5;margin-top:0;align-self:start}
  .mnav__lang{grid-column:2;grid-row:5;margin-top:0}
}
/* принципы списком (телефон, планшет вертикально): все три фото одной высоты */
@media (max-width:900px){.panel__item:nth-child(3) .panel__item-img{aspect-ratio:16/10}}
/* полоса «Над направлением работают»: на телефонах и планшетах не показываем — эксперты есть в меню и на своей странице */
html.touch .dteam{display:none}
@media (max-width:760px){.dteam{display:none}}

/* Запрос согласия на счётчики */
.consent{position:fixed;left:var(--gut);right:var(--gut);bottom:18px;z-index:1001;max-width:760px;margin-inline:auto;display:flex;align-items:center;gap:20px;padding:16px 20px;background:var(--ink3);color:var(--fg);border:1px solid var(--line);border-radius:14px;font-size:14px;line-height:1.45;box-shadow:0 18px 50px rgba(0,0,0,.45)}
.consent[hidden]{display:none}
.consent p{flex:1;min-width:0}
.consent a{text-decoration:underline;text-underline-offset:3px}
.consent__btns{display:flex;gap:8px;flex:none}
.consent__btn{min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--line);font-family:var(--disp);font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer}
.consent__btn--yes{background:var(--red);border-color:var(--red);color:#fff}
.consent__btn:focus-visible,.consent a:focus-visible,.footer__consent:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
@media (hover:hover){.consent__btn:not(.consent__btn--yes):hover{background:var(--line)}}
@media (max-width:640px){.consent{left:12px;right:12px;bottom:12px;flex-direction:column;align-items:stretch;gap:12px;padding:14px}.consent__btn{flex:1}}
.footer__consent{display:block;padding:6px 0;color:var(--fg2);text-align:left;cursor:pointer;transition:color .3s}
@media (hover:hover){.footer__consent:hover{color:var(--fg)}}
