/* ===========================================================================
   DJIGIT — тема «Light Technology».
   Язык утверждён на прототипе /design-concept-2 (вариант E): холодный серый
   как среда, плоские белые панели с хайрлайнами, моно-лейблы, кнопки с
   оранжевыми угловыми засечками. Тёмных плоскостей нет: navy — только текст,
   тонкие линии и заливка кнопок.
   ---------------------------------------------------------------------------
   .dj-*  — система сайта      .mk-*  — продуктовые мокапы (container queries)
   ========================================================================= */

/* --- 1. БРЕНД-ТОКЕНЫ (из theme.json djigit-emran, без изменений) ---------- */
:root {
	--orange:      #FF5A2C;
	--orange-deep: #EC4A1F;
	--navy:        #1F2544;
	--bg:          #EEF1F6;
	--paper:       #FFFFFF;
	--muted:       #6B7383;
	--soft:        #F4F6FA;
	--peach:       #FFE7DE;
	--line:        #E3E7EF;

	/* производные светлые оттенки той же гаммы */
	--paper-warm:  #FCFCFD;
	--peach-soft:  #FFF1EB;
	--ink:         #12162B;   /* только для текста */
	--line-strong: #CBD2DF;

	--head: "Montserrat", system-ui, sans-serif;
	--body: "Open Sans", system-ui, -apple-system, sans-serif;
	--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;

	--ease:     cubic-bezier(.22, 1, .36, 1);
	--ease-out: cubic-bezier(.16, 1, .3, 1);

	--pad: clamp(1.25rem, 4.5vw, 4.5rem);
	--maxw: 1440px;
}

/* --- 2. RESET ------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--navy); font-family: var(--body); font-size: 16px; line-height: 1.6; overflow-x: hidden; }
h1, h2, h3, h4 { font-family: var(--head); font-weight: 800; margin: 0; letter-spacing: -.03em; line-height: 1.02; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
ul { margin: 0; padding: 0; list-style: none; }
input, select, textarea { font: inherit; color: inherit; }
::selection { background: var(--orange); color: #fff; }
:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }

/* --- 3. УТИЛИТЫ И МОУШН-АРХИТЕКТУРА -------------------------------------- */
.dj-num { font-variant-numeric: tabular-nums lining-nums; font-feature-settings: "tnum" 1; }

[data-reveal] { opacity: 0; transform: translate3d(0, 26px, 0); transition: opacity .9s var(--ease-out), transform .9s var(--ease-out); transition-delay: var(--d, 0ms); will-change: opacity, transform; }
[data-reveal].is-in { opacity: 1; transform: none; }
[data-reveal="mask"] { opacity: 1; transform: none; transition: none; display: block; overflow: hidden; padding-bottom: .14em; margin-bottom: -.14em; }
[data-reveal="mask"] > * { display: block; transform: translate3d(0, 130%, 0); transition: transform 1.05s var(--ease-out); transition-delay: var(--d, 0ms); will-change: transform; }
[data-reveal="mask"].is-in > * { transform: none; }
[data-reveal="scale"] { opacity: 0; transform: scale(.965) translate3d(0, 30px, 0); }
[data-reveal="scale"].is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	[data-reveal], [data-reveal] > * { opacity: 1 !important; transform: none !important; transition: none !important; }
	.dj-ticker__track { animation: none !important; }
}

/* ===========================================================================
   4. ОБЩИЙ СВЕТЛЫЙ КАРКАС (.v-*) — то, что одинаково во всех трёх вариантах
   ========================================================================= */
.dj-wrap { max-width: var(--maxw); margin: 0 auto; padding-inline: var(--pad); }

/* кнопки — стиль концепции B (бордер + оранжевые угловые засечки) */
.dj-btn { position: relative; display: inline-flex; align-items: center; gap: .6rem; font-family: var(--head); font-weight: 700; font-size: .82rem; line-height: 1.2; padding: .78rem 1.35rem; border: 1px solid var(--navy); color: var(--navy); background: transparent; transition: background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); white-space: nowrap; }
.dj-btn::before, .dj-btn::after { content: ""; position: absolute; width: 6px; height: 6px; border: 1px solid var(--orange); transition: opacity .3s var(--ease); }
.dj-btn::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.dj-btn::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }
.dj-btn:hover { background: var(--navy); color: #fff; }
.dj-btn:hover::before, .dj-btn:hover::after { opacity: 0; }
.dj-btn--solid { background: var(--orange); border-color: var(--orange); color: #fff; }
.dj-btn--solid::before, .dj-btn--solid::after { border-color: rgba(255,255,255,.85); }
.dj-btn--solid:hover { background: var(--orange-deep); border-color: var(--orange-deep); color: #fff; }
.dj-btn--lg { font-size: .95rem; padding: 1.05rem 1.9rem; }
.dj-btn svg { width: 15px; height: 15px; }

/* лейблы */
.dj-lbl { font-family: var(--head); font-weight: 700; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--orange); }
.dj-lbl--muted { color: var(--muted); }
.dj-mono { font-family: var(--mono); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }

/* текстовая ссылка со стрелкой в круге (из A) */
.dj-link { display: inline-flex; align-items: center; gap: .8rem; font-family: var(--head); font-weight: 800; font-size: .82rem; letter-spacing: .11em; text-transform: uppercase; color: var(--navy); white-space: nowrap; }
.dj-link i { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--navy); display: grid; place-items: center; transition: background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease), transform .35s var(--ease); }
.dj-link i svg { width: 15px; height: 15px; }
.dj-link:hover { color: var(--orange); }
.dj-link:hover i { background: var(--orange); border-color: var(--orange); color: #fff; transform: rotate(-45deg); }

/* пламя из логотипа — единственный декоративный знак бренда */
.dj-flame path { fill: var(--orange); }

/* колоночные направляющие */
.dj-rules { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.dj-rules__in { max-width: var(--maxw); height: 100%; margin: 0 auto; padding-inline: var(--pad); display: grid; grid-template-columns: repeat(12, 1fr); }
.dj-rules__in span { border-left: 1px solid rgba(31,37,68,.055); }
.dj-rules__in span:last-child { border-right: 1px solid rgba(31,37,68,.055); }
@media (max-width: 900px) { .dj-rules__in { grid-template-columns: repeat(4, 1fr); } }

/* ===========================================================================
   6. ПРОДУКТОВЫЕ МОКАПЫ — переиспользованы из первого раунда без изменений
   ========================================================================= */
.mk { --mk-bg: #fff; --mk-ink: #1F2544; --mk-line: #E9ECF3; --mk-dim: #8A91A1; --mk-soft: #F5F7FA; }
/* ---- browser frame ----------------------------------------------------
   Все размеры внутри мокапов заданы в cqw: интерфейс одинаково корректно
   читается и в hero на 1140px, и в превью на 340px.                      */
.mk-browser { container-type: inline-size; background: var(--mk-bg); border-radius: 10px; overflow: hidden; box-shadow: 0 2px 4px rgba(20,24,48,.04), 0 12px 28px -12px rgba(20,24,48,.18), 0 60px 90px -50px rgba(20,24,48,.45); }
.mk-browser__bar { display: flex; align-items: center; gap: .86cqw; padding: .94cqw 1.25cqw; background: #F7F8FB; border-bottom: 1px solid var(--mk-line); }
.mk-browser__dot { width: .88cqw; height: .88cqw; border-radius: 50%; background: #DCE0E9; flex: 0 0 auto; }
.mk-browser__url { margin-left: .94cqw; flex: 1; height: 1.96cqw; border-radius: .49cqw; background: #fff; border: 1px solid var(--mk-line); display: flex; align-items: center; padding: 0 .94cqw; font-family: var(--mono); font-size: .91cqw; color: var(--mk-dim); }
.mk-browser__body { display: flex; min-height: 0; }

/* ---- app shell ---- */
.mk-side { width: 21%; background: #FAFBFD; border-right: 1px solid var(--mk-line); padding: 1.33cqw 1.1cqw; display: flex; flex-direction: column; gap: .66cqw; }
.mk-side__brand { display: flex; align-items: center; gap: .63cqw; margin-bottom: 1.1cqw; padding: 0 .39cqw; }
.mk-side__logo { width: 1.57cqw; height: 1.57cqw; border-radius: .39cqw; background: var(--orange); flex: 0 0 auto; }
.mk-side__name { font-family: var(--head); font-weight: 800; font-size: .97cqw; letter-spacing: -.01em; color: var(--mk-ink); }
.mk-nav { display: flex; align-items: center; gap: .71cqw; padding: .53cqw .63cqw; border-radius: .49cqw; font-size: .91cqw; color: var(--mk-dim); font-weight: 600; }
.mk-nav i { width: 1.08cqw; height: 1.08cqw; border-radius: .29cqw; background: #E4E8F0; flex: 0 0 auto; display: block; }
.mk-nav.is-on { background: rgba(255,90,44,.09); color: var(--orange); }
.mk-nav.is-on i { background: var(--orange); }

.mk-main { flex: 1; padding: 1.41cqw 1.57cqw 1.73cqw; min-width: 0; }
.mk-top { display: flex; align-items: center; justify-content: space-between; gap: 1.57cqw; margin-bottom: 1.33cqw; }
.mk-top__t { font-family: var(--head); font-weight: 800; font-size: 1.22cqw; color: var(--mk-ink); }
.mk-top__sub { font-size: .86cqw; color: var(--mk-dim); margin-top: .19cqw; }
.mk-chiprow { display: flex; gap: .47cqw; }
.mk-chip { font-size: .82cqw; font-weight: 700; color: var(--mk-dim); border: 1px solid var(--mk-line); border-radius: .39cqw; padding: .31cqw .66cqw; white-space: nowrap; }
.mk-chip.is-on { background: var(--mk-ink); border-color: var(--mk-ink); color: #fff; }
.mk-chip.is-orange { background: var(--orange); border-color: var(--orange); color: #fff; }

.mk-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: .78cqw; margin-bottom: 1.1cqw; }
.mk-kpi { border: 1px solid var(--mk-line); border-radius: .69cqw; padding: .75cqw .86cqw; }
.mk-kpi__l { font-size: .78cqw; color: var(--mk-dim); letter-spacing: .04em; text-transform: uppercase; }
.mk-kpi__n { font-family: var(--head); font-weight: 800; font-size: 1.49cqw; color: var(--mk-ink); line-height: 1.1; margin-top: .19cqw; font-variant-numeric: tabular-nums; }
.mk-kpi__d { font-size: .75cqw; color: #21A67A; font-weight: 700; }
.mk-kpi__d.dn { color: var(--orange); }

.mk-panels { display: grid; grid-template-columns: 1.45fr 1fr; gap: .78cqw; }
.mk-panel { border: 1px solid var(--mk-line); border-radius: .69cqw; padding: .86cqw .94cqw; min-width: 0; }
.mk-panel__h { display: flex; align-items: center; justify-content: space-between; font-size: .86cqw; font-weight: 700; color: var(--mk-ink); margin-bottom: .78cqw; }
.mk-panel__h span:last-child { color: var(--mk-dim); font-weight: 600; font-size: .78cqw; }

/* график */
.mk-chart { width: 100%; height: auto; display: block; }
.mk-chart .grid { stroke: var(--mk-line); stroke-width: .5; }
.mk-chart .area { fill: rgba(255,90,44,.12); }
.mk-chart .line { fill: none; stroke: var(--orange); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* строки-задачи / смены */
.mk-row { display: flex; align-items: center; gap: .71cqw; padding: .5cqw 0; border-bottom: 1px solid var(--mk-line); }
.mk-row:last-child { border-bottom: 0; }
.mk-av { width: 1.47cqw; height: 1.47cqw; border-radius: 50%; background: #DEE3EC; flex: 0 0 auto; display: grid; place-items: center; font-size: .66cqw; font-weight: 800; color: #6B7383; font-family: var(--head); }
.mk-av.o { background: var(--peach); color: var(--orange); }
.mk-av.n { background: var(--navy); color: #fff; }
.mk-row__t { font-size: .86cqw; color: var(--mk-ink); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mk-row__m { font-size: .75cqw; color: var(--mk-dim); margin-left: auto; white-space: nowrap; }
.mk-state { font-size: .72cqw; font-weight: 800; padding: .16cqw .47cqw; border-radius: .29cqw; background: var(--mk-soft); color: var(--mk-dim); white-space: nowrap; }
.mk-state.ok { background: rgba(33,166,122,.12); color: #21A67A; }
.mk-state.go { background: rgba(255,90,44,.12); color: var(--orange); }

/* таймлайн смен */
.mk-tl { display: flex; flex-direction: column; gap: .47cqw; }
.mk-tl__row { display: flex; align-items: center; gap: .55cqw; }
.mk-tl__n { font-size: .75cqw; color: var(--mk-dim); width: 3.33cqw; flex: 0 0 auto; }
.mk-tl__bar { flex: 1; height: .78cqw; border-radius: .29cqw; background: var(--mk-soft); position: relative; overflow: hidden; }
.mk-tl__fill { position: absolute; top: 0; bottom: 0; border-radius: .29cqw; background: var(--navy); opacity: .82; }
.mk-tl__fill.o { background: var(--orange); }

/* шахматка номерного фонда */
.mk-cal { display: grid; grid-template-columns: repeat(16, 1fr); gap: .2cqw; }
.mk-cal i { display: block; height: .88cqw; border-radius: .2cqw; background: var(--mk-soft); }
.mk-cal i.b { background: rgba(31,37,68,.55); }
.mk-cal i.o { background: var(--orange); }
.mk-cal i.h { background: rgba(31,37,68,.25); }
.mk--dark .mk-cal i.b { background: rgba(255,255,255,.4); }
.mk--dark .mk-cal i.h { background: rgba(255,255,255,.18); }
.mk-legend { display: flex; gap: .94cqw; margin-top: .71cqw; font-size: .71cqw; color: var(--mk-dim); }
.mk-legend span { display: inline-flex; align-items: center; gap: .3cqw; }
.mk-legend i { width: .59cqw; height: .59cqw; border-radius: .2cqw; display: block; }

/* ---- phone frame ---- */
.mk-phone { container-type: inline-size; width: 100%; max-width: 260px; aspect-ratio: 9 / 19; background: #0C0F1B; border-radius: 30px; padding: 6px; box-shadow: 0 3px 6px rgba(20,24,48,.10), 0 22px 40px -18px rgba(20,24,48,.42), 0 60px 90px -55px rgba(20,24,48,.6); }
.mk-phone__screen { position: relative; width: 100%; height: 100%; border-radius: 9.2cqw; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.mk-phone__island { position: absolute; top: 2.7cqw; left: 50%; transform: translateX(-50%); width: 32%; height: 4.6cqw; border-radius: 999px; background: #0C0F1B; z-index: 4; }
.mk-scr { padding: 9.2cqw 4.3cqw 3.4cqw; flex: 1; display: flex; flex-direction: column; gap: 2.8cqw; min-height: 0; }
.mk-scr__t { font-family: var(--head); font-weight: 800; font-size: 4.55cqw; color: var(--mk-ink); letter-spacing: -.02em; }
.mk-scr__s { font-size: 3.1cqw; color: var(--mk-dim); }
.mk-hero-img { border-radius: 3.5cqw; height: 30%; background: linear-gradient(150deg, #2C3352 0%, #4A3B4E 55%, #7A4A34 100%); position: relative; overflow: hidden; flex: 0 0 auto; }
.mk-hero-img::after { content: ""; position: absolute; inset: auto 0 0 0; height: 55%; background: linear-gradient(to top, rgba(12,15,27,.65), transparent); }
.mk-hero-img__cap { position: absolute; left: 3.1cqw; bottom: 2.8cqw; z-index: 2; color: #fff; font-family: var(--head); font-weight: 800; font-size: 3.6cqw; }
.mk-hero-img__pill { position: absolute; right: 2.8cqw; top: 2.8cqw; z-index: 2; background: rgba(255,255,255,.92); color: #1F2544; font-size: 2.7cqw; font-weight: 800; padding: 1cqw 2.1cqw; border-radius: 999px; }
.mk-item { display: flex; align-items: center; gap: 2.8cqw; padding: 2.3cqw; border: 1px solid var(--mk-line); border-radius: 3.1cqw; }
.mk-item__ph { width: 10cqw; height: 10cqw; border-radius: 2.3cqw; background: linear-gradient(135deg, #E9EDF4, #D9DEE9); flex: 0 0 auto; }
.mk-item__ph.o { background: linear-gradient(135deg, #FFD9CB, #FFB79C); }
.mk-item__t { font-size: 3.2cqw; font-weight: 700; color: var(--mk-ink); }
.mk-item__s { font-size: 2.7cqw; color: var(--mk-dim); }
.mk-item__p { margin-left: auto; font-family: var(--head); font-weight: 800; font-size: 3.4cqw; color: var(--mk-ink); white-space: nowrap; }
.mk-cta { margin-top: auto; background: var(--orange); color: #fff; border-radius: 3.1cqw; text-align: center; padding: 2.8cqw; font-family: var(--head); font-weight: 800; font-size: 3.45cqw; }
.mk-tabbar { display: flex; justify-content: space-around; padding: 2.5cqw 0 3.4cqw; border-top: 1px solid var(--mk-line); flex: 0 0 auto; }
.mk-tabbar i { width: 5cqw; height: 5cqw; border-radius: 1.5cqw; background: #E4E8F0; display: block; }
.mk-tabbar i.is-on { background: var(--orange); }
/* элементы, общие с браузерным мокапом, — в масштабе телефона */
.mk-phone .mk-chip { font-size: 3.1cqw; padding: 1.2cqw 2.3cqw; border-radius: 1.5cqw; }
.mk-phone .mk-chiprow { gap: 1.9cqw; }
.mk-phone .mk-tl { gap: 1.9cqw; }
.mk-phone .mk-tl__row { gap: 2.2cqw; }
.mk-phone .mk-tl__n { font-size: 2.8cqw; width: 13cqw; }
.mk-phone .mk-tl__bar { height: 3cqw; border-radius: 1.2cqw; }
.mk-phone .mk-tl__fill { border-radius: 1.2cqw; }

/* ---- плавающий фрагмент интерфейса ---- */
.mk-frag { container-type: inline-size; background: #fff; border-radius: 10px; padding: .9rem 1rem; box-shadow: 0 2px 4px rgba(20,24,48,.05), 0 18px 40px -16px rgba(20,24,48,.3); border: 1px solid rgba(227,231,239,.9); }
.mk-frag__l { font-size: 4.4cqw; color: #8A91A1; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; }
.mk-frag__n { font-family: var(--head); font-weight: 800; font-size: 10.8cqw; color: #1F2544; line-height: 1.1; margin-top: 1cqw; font-variant-numeric: tabular-nums; }
/* ===========================================================================
   7. VARIANT D · EDITORIAL PAPER
   Белая бумага, обнажённая сетка, максимум типографики, ноль карточек и теней.
   Оранжевый — тонкими линиями, подчёркиваниями и одним крупным словом.
   ========================================================================= */
.vd { background: var(--paper); color: var(--navy); position: relative; }
.vd section { position: relative; z-index: 1; }

/* --- header --- */
.vd-head { position: sticky; top: 0; z-index: 60; background: rgba(255,255,255,.9); backdrop-filter: blur(12px) saturate(150%); border-bottom: 1px solid var(--line); }
.vd-head__in { max-width: var(--maxw); margin: 0 auto; padding: 1.05rem var(--pad); display: flex; align-items: center; gap: 2rem; }
.vd-head__logo svg { height: 26px; width: 80px; color: var(--navy); }
.vd-nav { display: flex; gap: 2.1rem; margin-left: auto; }
.vd-nav a { font-family: var(--head); font-weight: 600; font-size: .74rem; letter-spacing: .13em; text-transform: uppercase; position: relative; padding-block: .3rem; }
.vd-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--orange); transition: right .45s var(--ease-out); }
.vd-nav a:hover::after { right: 0; }
@media (max-width: 1000px) { .vd-nav { display: none; } }

/* --- hero (композиция концепции A) --- */
.vd-hero { padding-block: clamp(2.5rem, 4vw, 5rem) clamp(2rem, 3vw, 3.5rem); }
.vd-hero__meta { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; align-items: end; padding-bottom: clamp(1.5rem, 3vw, 3rem); }
.vd-hero__meta > *:nth-child(1) { grid-column: 1 / 5; }
.vd-hero__meta > *:nth-child(2) { grid-column: 6 / 10; }
.vd-hero__meta > *:nth-child(3) { grid-column: 11 / 13; text-align: right; }
.vd-display { font-family: var(--head); font-weight: 800; letter-spacing: -.045em; line-height: .86; font-size: clamp(3rem, .4rem + 12.2vw, 12.5rem); }
.vd-display > span { display: block; }
.vd-l2 { margin-left: 8.33%; }
.vd-l3-outer { margin-left: 16.66%; }
.vd-l3 { display: flex !important; align-items: baseline; gap: clamp(.6rem, 1.6vw, 1.6rem); }
.vd-l3 .vd-rule { flex: 1; height: 1px; background: var(--navy); opacity: .25; }
.vd-flame { height: .74em; width: auto; align-self: center; }
.vd-hero__bottom { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.5rem; margin-top: clamp(2rem, 4vw, 3.75rem); align-items: start; }
.vd-hero__scroll { grid-column: 1 / 4; font-family: var(--head); font-weight: 700; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); display: flex; align-items: center; gap: .7rem; }
.vd-hero__scroll i { width: 34px; height: 1px; background: var(--muted); display: block; animation: vd-slide 2.4s var(--ease) infinite; }
@keyframes vd-slide { 0%,100% { transform: scaleX(.4); transform-origin: left; } 50% { transform: scaleX(1); transform-origin: left; } }
.vd-hero__lead { grid-column: 6 / 11; font-size: clamp(1.05rem, .95rem + .55vw, 1.32rem); line-height: 1.6; color: #3B4256; max-width: 46ch; }
.vd-hero__cta { grid-column: 11 / 13; justify-self: end; }
@media (max-width: 900px) {
	.vd-hero__meta > *:nth-child(1), .vd-hero__meta > *:nth-child(2) { grid-column: 1 / 13; }
	.vd-hero__meta > *:nth-child(3) { display: none; }
	.vd-l2, .vd-l3-outer { margin-left: 0; }
	.vd-hero__scroll { display: none; }
	.vd-hero__lead { grid-column: 1 / 13; }
	.vd-hero__cta { grid-column: 1 / 13; justify-self: start; margin-top: 1.5rem; }
}

/* полнокадровая полоса с продуктом */
.vd-band { position: relative; z-index: 1; margin-top: clamp(2rem, 4vw, 4rem); background: var(--bg); overflow: hidden; height: clamp(260px, 38vw, 540px); border-block: 1px solid var(--line); }
.vd-band__mock { position: absolute; left: 50%; top: 14%; width: min(1180px, 88vw); transform: translateX(-50%); }
.vd-band::after { content: ""; position: absolute; inset: auto 0 0 0; height: 46%; background: linear-gradient(to top, var(--bg) 24%, rgba(238,241,246,0)); z-index: 2; pointer-events: none; }
.vd-band__cap { position: absolute; left: var(--pad); bottom: 1.1rem; z-index: 3; font-family: var(--head); font-weight: 700; font-size: .7rem; letter-spacing: .17em; text-transform: uppercase; color: var(--muted); }
.vd-band__cap b { color: var(--navy); }

/* --- цифры (композиция концепции A) --- */
.vd-metrics { padding-block: clamp(3.5rem, 7vw, 7.5rem); }
.vd-metrics__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.5rem 1rem; align-items: start; }
.vd-metric { border-top: 1px solid var(--navy); padding-top: 1.1rem; }
.vd-metric:nth-child(1) { grid-column: 1 / 4; }
.vd-metric:nth-child(2) { grid-column: 5 / 8; margin-top: clamp(1.5rem, 4vw, 4.5rem); }
.vd-metric:nth-child(3) { grid-column: 9 / 12; margin-top: clamp(3rem, 8vw, 9rem); }
.vd-metric__n { font-family: var(--head); font-weight: 800; font-size: clamp(3.2rem, 1rem + 7.6vw, 8rem); line-height: .84; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.vd-metric__n em { font-style: normal; color: var(--orange); }
.vd-metric__l { margin-top: .9rem; font-size: .92rem; color: var(--muted); max-width: 24ch; }
.vd-metrics__note { grid-column: 9 / 13; margin-top: 2rem; font-size: .9rem; color: var(--muted); }
@media (max-width: 900px) {
	.vd-metric:nth-child(1), .vd-metric:nth-child(2), .vd-metric:nth-child(3) { grid-column: 1 / 13; margin-top: 0; }
	.vd-metrics__note { grid-column: 1 / 13; }
}

/* --- заголовок секции --- */
.vd-sechead { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; align-items: baseline; padding-bottom: clamp(2rem, 4vw, 3.5rem); border-bottom: 1px solid var(--line); }
.vd-sechead__idx { grid-column: 1 / 2; font-family: var(--head); font-weight: 700; font-size: .72rem; letter-spacing: .12em; color: var(--orange); }
.vd-sechead__t { grid-column: 2 / 9; font-size: clamp(1.9rem, 1rem + 3.4vw, 4.2rem); letter-spacing: -.035em; }
.vd-sechead__d { grid-column: 9 / 13; font-size: .95rem; color: var(--muted); max-width: 34ch; }
@media (max-width: 900px) { .vd-sechead > * { grid-column: 1 / 13 !important; } .vd-sechead__t { margin-top: .6rem; } .vd-sechead__d { margin-top: 1rem; } }

/* --- компетенции (матрица концепции B, светлая) --- */
.vd-comp { padding-block: clamp(3rem, 6vw, 6rem); }
.vd-tabs { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid var(--navy); margin-top: clamp(2rem, 4vw, 3rem); }
.vd-tab { padding: 1.25rem 1rem 1.15rem; text-align: left; border-right: 1px solid var(--line); position: relative; transition: background .35s var(--ease); }
.vd-tab:last-child { border-right: 0; }
.vd-tab__n { display: block; font-family: var(--mono); font-size: .62rem; letter-spacing: .12em; color: var(--muted); margin-bottom: .55rem; transition: color .3s var(--ease); }
.vd-tab__t { display: block; font-family: var(--head); font-weight: 700; font-size: .95rem; color: var(--muted); line-height: 1.2; letter-spacing: -.01em; transition: color .3s var(--ease); }
.vd-tab::after { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease-out); }
.vd-tab:hover { background: var(--soft); }
.vd-tab:hover .vd-tab__t { color: var(--navy); }
.vd-tab.is-on .vd-tab__t { color: var(--navy); }
.vd-tab.is-on .vd-tab__n { color: var(--orange); }
.vd-tab.is-on::after { transform: scaleX(1); }
@media (max-width: 1000px) { .vd-tabs { grid-template-columns: repeat(3, 1fr); } .vd-tab:nth-child(3n) { border-right: 0; } .vd-tab:nth-child(-n+3) { border-bottom: 1px solid var(--line); } }
@media (max-width: 620px) { .vd-tabs { grid-template-columns: repeat(2, 1fr); } .vd-tab:nth-child(3n) { border-right: 1px solid var(--line); } .vd-tab:nth-child(2n) { border-right: 0; } .vd-tab:nth-child(-n+4) { border-bottom: 1px solid var(--line); } }

.vd-panels { border-top: 1px solid var(--line); }
.vd-panel { display: none; grid-template-columns: repeat(12, 1fr); gap: clamp(1.5rem, 3vw, 3rem); padding-top: clamp(2rem, 4vw, 3.25rem); align-items: start; }
.vd-panel.is-on { display: grid; animation: dj-fade .55s var(--ease-out); }
@keyframes dj-fade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.vd-panel__txt { grid-column: 1 / 6; }
.vd-panel__txt h3 { font-size: clamp(1.5rem, 1rem + 1.8vw, 2.4rem); margin-bottom: .9rem; letter-spacing: -.03em; }
.vd-panel__txt p { color: var(--muted); font-size: .97rem; line-height: 1.7; }
.vd-panel__list { margin-top: 1.5rem; }
.vd-panel__list li { display: flex; gap: .8rem; align-items: baseline; padding: .65rem 0; border-top: 1px solid var(--line); font-size: .9rem; }
.vd-panel__list li::before { content: ""; width: 5px; height: 5px; background: var(--orange); flex: 0 0 auto; }
.vd-panel__vis { grid-column: 7 / 13; }
.vd-panel__vis--phone { display: flex; justify-content: center; }
.vd-panel__vis--phone > * { width: 100%; max-width: 252px; }
@media (max-width: 900px) { .vd-panel__txt, .vd-panel__vis { grid-column: 1 / 13; } }

/* --- избранные работы (sticky-сторителлинг концепции C, editorial-подача) - */
.vd-work { padding-block: clamp(3rem, 6vw, 6rem); }
.vd-story { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; margin-top: clamp(2rem, 4vw, 3.5rem); }
.vd-story__aside { position: sticky; top: 20vh; align-self: start; }
.vd-story__slot { position: relative; min-height: 320px; }
.vd-story__card { position: absolute; inset: 0; opacity: 0; transform: translateY(18px); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); pointer-events: none; }
.vd-story__card.is-on { opacity: 1; transform: none; pointer-events: auto; }
.vd-story__idx { font-family: var(--head); font-weight: 700; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--orange); }
.vd-story__card h3 { font-size: clamp(2rem, 1.2rem + 3vw, 3.8rem); letter-spacing: -.042em; margin: .9rem 0 1rem; }
.vd-story__card p { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 40ch; }
.vd-story__facts { margin-top: 1.75rem; border-top: 1px solid var(--navy); }
.vd-story__facts div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.vd-story__facts b { font-family: var(--head); font-weight: 800; font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.vd-story__facts span { font-size: .85rem; color: var(--muted); }
.vd-story__prog { margin-top: 1.75rem; display: flex; gap: .4rem; }
.vd-story__prog i { display: block; width: 38px; height: 2px; background: var(--line); transition: background .4s var(--ease); }
.vd-story__prog i.is-on { background: var(--orange); }
.vd-story__scenes { display: flex; flex-direction: column; gap: clamp(3rem, 7vw, 7rem); }
.vd-scene { padding: clamp(1.25rem, 2.4vw, 2.5rem); display: grid; place-items: center; min-height: clamp(300px, 30vw, 460px); border: 1px solid var(--line); border-radius: 4px; }
.vd-scene--a { background: var(--soft); }
.vd-scene--b { background: var(--bg); }
.vd-scene--c { background: var(--peach-soft); }
.vd-scene__mock { width: 100%; }
.vd-scene__phones { width: 100%; display: flex; gap: clamp(.8rem, 2vw, 2rem); align-items: center; justify-content: center; }
.vd-scene__phones > * { flex: 0 1 220px; max-width: 220px; }
.vd-scene__phones > *:first-child { margin-top: clamp(1rem, 3vw, 2.5rem); }
@media (max-width: 900px) {
	.vd-story { grid-template-columns: 1fr; }
	.vd-story__aside { position: static; }
	.vd-story__slot { min-height: 0; }
	.vd-story__card { position: static; opacity: 1; transform: none; display: none; }
	.vd-story__card.is-on { display: block; }
	.vd-story__scenes { margin-top: 2rem; }
}

/* --- услуги (горизонтальный разворот концепции C, editorial-панели) ------ */
.vd-serv { padding-block: clamp(3rem, 6vw, 6rem); overflow: hidden; }
.vd-serv__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; flex-wrap: wrap; padding-bottom: clamp(1.75rem, 3vw, 2.75rem); }
.vd-serv__head h2 { font-size: clamp(1.9rem, 1rem + 3.4vw, 4.2rem); letter-spacing: -.035em; max-width: 20ch; }
.dj-arrows { display: flex; gap: .5rem; }
.dj-arrow { width: 46px; height: 46px; border: 1px solid var(--navy); display: grid; place-items: center; transition: background .3s var(--ease), color .3s var(--ease), opacity .3s var(--ease); }
.dj-arrow:hover { background: var(--navy); color: #fff; }
.dj-arrow:disabled { opacity: .3; cursor: default; }
.dj-arrow:disabled:hover { background: transparent; color: inherit; }
.dj-arrow svg { width: 16px; height: 16px; }
.dj-rail { display: flex; gap: 1.25rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .5rem; padding-inline: var(--pad); margin-inline: calc(var(--pad) * -1); }
.dj-rail::-webkit-scrollbar { display: none; }
.vd-card { scroll-snap-align: start; flex: 0 0 clamp(260px, 30vw, 400px); background: var(--paper); border: 1px solid var(--line); border-radius: 4px; padding: clamp(1.5rem, 2.5vw, 2.25rem); display: flex; flex-direction: column; min-height: clamp(340px, 34vw, 430px); transition: border-color .4s var(--ease), background .4s var(--ease); }
.vd-card:hover { border-color: var(--navy); background: var(--soft); }
.vd-card__n { font-family: var(--mono); font-size: .68rem; letter-spacing: .14em; color: var(--orange); }
.vd-card h3 { font-family: var(--head); font-weight: 800; font-size: clamp(1.3rem, 1rem + 1vw, 1.8rem); letter-spacing: -.03em; margin: .9rem 0 .75rem; }
.vd-card p { color: var(--muted); font-size: .92rem; line-height: 1.6; }
.vd-card__vis { margin-top: auto; padding-top: 1.5rem; }
.vd-card__meta { margin-top: 1.1rem; padding-top: .9rem; border-top: 1px solid var(--line); font-size: .78rem; color: var(--muted); display: flex; justify-content: space-between; gap: 1rem; }

/* мини-визуалы услуг */
.dj-vis { height: 92px; background: var(--soft); position: relative; overflow: hidden; border-radius: 3px; }
.dj-vis--bars { display: flex; align-items: flex-end; gap: 6px; padding: 12px; }
.dj-vis--bars i { flex: 1; background: #DDE3ED; display: block; }
.dj-vis--bars i:nth-child(1) { height: 34%; } .dj-vis--bars i:nth-child(2) { height: 55%; }
.dj-vis--bars i:nth-child(3) { height: 76%; background: var(--orange); } .dj-vis--bars i:nth-child(4) { height: 46%; }
.dj-vis--bars i:nth-child(5) { height: 64%; } .dj-vis--bars i:nth-child(6) { height: 88%; }
.dj-vis--stack { padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.dj-vis--stack i { height: 9px; background: #DDE3ED; display: block; }
.dj-vis--stack i:nth-child(1) { width: 78%; } .dj-vis--stack i:nth-child(2) { width: 54%; background: var(--orange); }
.dj-vis--stack i:nth-child(3) { width: 88%; } .dj-vis--stack i:nth-child(4) { width: 40%; }
.dj-vis--screens { display: flex; align-items: center; justify-content: center; gap: 8px; }
.dj-vis--screens i { display: block; border: 1.5px solid #D5DBE6; }
.dj-vis--screens i:nth-child(1) { width: 22px; height: 40px; }
.dj-vis--screens i:nth-child(2) { width: 58px; height: 52px; border-color: var(--orange); }
.dj-vis--screens i:nth-child(3) { width: 30px; height: 34px; }
.dj-vis--flow { display: flex; align-items: center; justify-content: space-between; padding: 0 16px; }
.dj-vis--flow::before { content: ""; position: absolute; left: 16px; right: 16px; top: 50%; height: 1.5px; background: #E1E6EF; }
.dj-vis--flow i { width: 26px; height: 26px; border: 1.5px solid #D5DBE6; display: block; position: relative; z-index: 1; background-color: var(--soft); }
.dj-vis--flow i.o { border-color: var(--orange); background-color: rgba(255,90,44,.1); }
.dj-vis--dots { display: grid; grid-template-columns: repeat(8, 1fr); gap: 7px; padding: 16px; place-items: center; }
.dj-vis--dots i { width: 7px; height: 7px; background: #DDE3ED; display: block; }
.dj-vis--dots i:nth-child(3n) { background: #C9D1DE; }
.dj-vis--dots i:nth-child(7), .dj-vis--dots i:nth-child(12), .dj-vis--dots i:nth-child(19) { background: var(--orange); }
.dj-vis--steps { display: flex; align-items: center; gap: 6px; padding: 0 14px; }
.dj-vis--steps i { flex: 1; height: 4px; background: #DDE3ED; display: block; position: relative; }
.dj-vis--steps i.o { background: var(--orange); }
.dj-vis--steps i::after { content: ""; position: absolute; left: 0; top: -6px; width: 8px; height: 8px; border-radius: 50%; background: inherit; }

/* --- финальный блок (концепция C, светлый) ------------------------------ */
.vd-cta { padding-block: clamp(4rem, 9vw, 9rem) clamp(2.5rem, 4vw, 4rem); overflow: hidden; }
.vd-cta__flame { position: absolute; right: -4%; top: 46%; transform: translateY(-50%); height: 130%; width: auto; opacity: .07; pointer-events: none; z-index: 0; }
.vd-cta > .dj-wrap { position: relative; z-index: 1; }
.vd-cta h2 { font-family: var(--head); font-weight: 800; font-size: clamp(2.4rem, .7rem + 7.6vw, 7.6rem); line-height: .96; letter-spacing: -.045em; }
.vd-cta h2 em { font-style: normal; color: var(--orange); display: block; margin-left: 8.33%; margin-top: .1em; }
.vd-cta__sub { margin-top: clamp(1.5rem, 3vw, 2.5rem); display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.5rem; align-items: end; }
.vd-cta__sub p { grid-column: 1 / 6; color: var(--muted); font-size: 1.02rem; }
.vd-cta__sub div { grid-column: 7 / 13; display: flex; gap: .9rem; flex-wrap: wrap; justify-self: end; }
@media (max-width: 900px) { .vd-cta h2 em { margin-left: 0; } .vd-cta__sub > * { grid-column: 1 / 13 !important; justify-self: start !important; } }

/* ===========================================================================
   8. ФОРМА СВЯЗИ — общая структура (.dj-form*), визуал задаётся в каждом варианте
   ========================================================================= */
.dj-form { display: grid; gap: clamp(.85rem, 1.5vw, 1.15rem); }
.dj-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(.85rem, 1.5vw, 1.15rem); }
@media (max-width: 640px) { .dj-form__row { grid-template-columns: 1fr; } }
.dj-field { position: relative; display: block; }
.dj-field__lbl { display: block; font-family: var(--head); font-weight: 700; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: .38rem; transition: color .25s var(--ease); }
.dj-field.is-error .dj-field__lbl { color: #D93025; }
.dj-field input, .dj-field textarea, .dj-field select { width: 100%; font-family: var(--body); font-size: 1.02rem; color: var(--navy); transition: border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease); }
.dj-field input::placeholder, .dj-field textarea::placeholder { color: #A6ADBB; }
.dj-field textarea { resize: vertical; min-height: 64px; }
.dj-field__err { display: block; min-height: 0; margin-top: .3rem; font-size: .8rem; color: #D93025; }

.dj-choice { display: flex; flex-wrap: wrap; gap: .5rem; }
.dj-choice button { font-family: var(--head); font-weight: 600; font-size: .85rem; padding: .55rem .95rem; border: 1px solid var(--line-strong); color: var(--muted); transition: color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease); }
.dj-choice button:hover { color: var(--navy); border-color: var(--navy); }
.dj-choice button.is-on { background: var(--navy); border-color: var(--navy); color: #fff; }

.dj-consent { display: flex; gap: .8rem; align-items: flex-start; font-size: .85rem; color: var(--muted); line-height: 1.5; cursor: pointer; }
.dj-consent input { position: absolute; opacity: 0; width: 0; height: 0; }
.dj-consent__box { flex: 0 0 auto; width: 20px; height: 20px; border: 1px solid var(--line-strong); display: grid; place-items: center; margin-top: .1rem; transition: background .25s var(--ease), border-color .25s var(--ease); }
.dj-consent__box svg { width: 12px; height: 12px; color: #fff; opacity: 0; transform: scale(.6); transition: opacity .2s var(--ease), transform .25s var(--ease-out); }
.dj-consent input:checked + .dj-consent__box { background: var(--orange); border-color: var(--orange); }
.dj-consent input:checked + .dj-consent__box svg { opacity: 1; transform: none; }
.dj-consent input:focus-visible + .dj-consent__box { outline: 2px solid var(--orange); outline-offset: 2px; }
.dj-field.is-error .dj-consent__box { border-color: #D93025; }
.dj-consent a { color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }

.dj-form__actions { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.dj-form__status { font-size: .88rem; color: var(--muted); }
.dj-form__status.is-ok { color: #1B8F62; font-weight: 600; }
.dj-form.is-sent .dj-form__row, .dj-form.is-sent .dj-field, .dj-form.is-sent .dj-choice { opacity: .45; pointer-events: none; }
.dj-form.is-sent .dj-form__actions button { opacity: .45; pointer-events: none; }

/* --- форма варианта D: поля-подчёркивания, ноль боксов ------------------- */
.vd-form { padding-block: clamp(3rem, 6vw, 6rem); border-top: 1px solid var(--line); }
.vd-form__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.vd-form__aside { grid-column: 1 / 5; position: sticky; top: 18vh; }
.vd-form__aside h2 { font-size: clamp(1.8rem, 1.1rem + 2.6vw, 3.2rem); letter-spacing: -.035em; margin: 1rem 0 1rem; }
.vd-form__aside p { color: var(--muted); font-size: .97rem; max-width: 34ch; }
.vd-contacts { margin-top: 2rem; border-top: 1px solid var(--navy); }
.vd-contacts a, .vd-contacts div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.vd-contacts span { font-family: var(--head); font-weight: 700; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.vd-contacts b { font-family: var(--head); font-weight: 700; font-size: 1rem; transition: color .25s var(--ease); }
.vd-contacts a:hover b { color: var(--orange); }
.vd-trust { margin-top: 1.75rem; display: grid; gap: .55rem; }
.vd-trust li { position: relative; padding-left: 1.4rem; font-size: .87rem; color: var(--muted); }
.vd-trust li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 1px; background: var(--orange); }
.vd-form__body { grid-column: 6 / 13; }
@media (max-width: 980px) { .vd-form__aside, .vd-form__body { grid-column: 1 / 13; position: static; } .vd-form__body { margin-top: 2.5rem; } }

.vd .dj-field input, .vd .dj-field textarea { border: 0; border-bottom: 1px solid var(--line-strong); background: transparent; padding: .65rem 0; border-radius: 0; }
.vd .dj-field input:focus, .vd .dj-field textarea:focus { outline: none; border-bottom-color: var(--orange); }
.vd .dj-field.is-error input, .vd .dj-field.is-error textarea { border-bottom-color: #D93025; }
.vd .dj-choice button { border-radius: 0; }

/* --- подвал варианта D --------------------------------------------------- */
.vd-foot { border-top: 1px solid var(--navy); padding-block: 1.75rem 2.5rem; }
.vd-foot__in { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.vd-foot svg { height: 24px; width: 74px; color: var(--navy); }
.vd-foot span, .vd-foot a { font-size: .84rem; color: var(--muted); }
.vd-foot a:hover { color: var(--orange); }

/* --- автономная панель интерфейса вне браузерного фрейма ------------------ */
.dj-frag { container-type: inline-size; }
.dj-frag .mk-panel { padding: 2.4cqw 2.8cqw; border-radius: 3px; }
.dj-frag .mk-panel + .mk-panel { margin-top: 2cqw; }
.dj-frag .mk-panel__h { font-size: 2.4cqw; margin-bottom: 2.2cqw; }
.dj-frag .mk-panel__h span:last-child { font-size: 2.2cqw; }
.dj-frag .mk-row { gap: 2cqw; padding: 1.5cqw 0; }
.dj-frag .mk-row__t { font-size: 2.4cqw; }
.dj-frag .mk-row__m { font-size: 2.1cqw; }
.dj-frag .mk-state { font-size: 2cqw; padding: .5cqw 1.3cqw; border-radius: .8cqw; }
.dj-frag .mk-av { width: 4.2cqw; height: 4.2cqw; font-size: 1.9cqw; }
.dj-frag .mk-tl { gap: 1.4cqw; }
.dj-frag .mk-tl__row { gap: 1.6cqw; }
.dj-frag .mk-tl__n { font-size: 2.1cqw; width: 9.5cqw; }
.dj-frag .mk-tl__bar { height: 2.4cqw; border-radius: .9cqw; }
.dj-frag .mk-tl__fill { border-radius: .9cqw; }

/* ===========================================================================
   8. ФОРМА СВЯЗИ — общая структура (.dj-form*), визуал задаётся в каждом варианте
   ========================================================================= */
.dj-form { display: grid; gap: clamp(1.25rem, 2.2vw, 1.75rem); }
.dj-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.25rem, 2.2vw, 1.75rem); }
@media (max-width: 640px) { .dj-form__row { grid-template-columns: 1fr; } }
.dj-field { position: relative; display: block; }
.dj-field__lbl { display: block; font-family: var(--head); font-weight: 700; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: .55rem; transition: color .25s var(--ease); }
.dj-field.is-error .dj-field__lbl { color: #D93025; }
.dj-field input, .dj-field textarea, .dj-field select { width: 100%; font-family: var(--body); font-size: 1.02rem; color: var(--navy); transition: border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease); }
.dj-field input::placeholder, .dj-field textarea::placeholder { color: #A6ADBB; }
.dj-field textarea { resize: vertical; min-height: 92px; }
.dj-field__err { display: block; min-height: 1.15em; margin-top: .4rem; font-size: .8rem; color: #D93025; }

.dj-choice { display: flex; flex-wrap: wrap; gap: .5rem; }
.dj-choice button { font-family: var(--head); font-weight: 600; font-size: .85rem; padding: .55rem .95rem; border: 1px solid var(--line-strong); color: var(--muted); transition: color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease); }
.dj-choice button:hover { color: var(--navy); border-color: var(--navy); }
.dj-choice button.is-on { background: var(--navy); border-color: var(--navy); color: #fff; }

.dj-consent { display: flex; gap: .8rem; align-items: flex-start; font-size: .85rem; color: var(--muted); line-height: 1.5; cursor: pointer; }
.dj-consent input { position: absolute; opacity: 0; width: 0; height: 0; }
.dj-consent__box { flex: 0 0 auto; width: 20px; height: 20px; border: 1px solid var(--line-strong); display: grid; place-items: center; margin-top: .1rem; transition: background .25s var(--ease), border-color .25s var(--ease); }
.dj-consent__box svg { width: 12px; height: 12px; color: #fff; opacity: 0; transform: scale(.6); transition: opacity .2s var(--ease), transform .25s var(--ease-out); }
.dj-consent input:checked + .dj-consent__box { background: var(--orange); border-color: var(--orange); }
.dj-consent input:checked + .dj-consent__box svg { opacity: 1; transform: none; }
.dj-consent input:focus-visible + .dj-consent__box { outline: 2px solid var(--orange); outline-offset: 2px; }
.dj-field.is-error .dj-consent__box { border-color: #D93025; }
.dj-consent a { color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }

.dj-form__actions { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.dj-form__status { font-size: .88rem; color: var(--muted); }
.dj-form__status.is-ok { color: #1B8F62; font-weight: 600; }
.dj-form.is-sent .dj-form__row, .dj-form.is-sent .dj-field, .dj-form.is-sent .dj-choice { opacity: .45; pointer-events: none; }
.dj-form.is-sent .dj-form__actions button { opacity: .45; pointer-events: none; }

/* --- автономная панель интерфейса вне браузерного фрейма ------------------ */
.dj-frag { container-type: inline-size; }
.dj-frag .mk-panel { padding: 2.4cqw 2.8cqw; border-radius: 3px; }
.dj-frag .mk-panel + .mk-panel { margin-top: 2cqw; }
.dj-frag .mk-panel__h { font-size: 2.4cqw; margin-bottom: 2.2cqw; }
.dj-frag .mk-panel__h span:last-child { font-size: 2.2cqw; }
.dj-frag .mk-row { gap: 2cqw; padding: 1.5cqw 0; }
.dj-frag .mk-row__t { font-size: 2.4cqw; }
.dj-frag .mk-row__m { font-size: 2.1cqw; }
.dj-frag .mk-state { font-size: 2cqw; padding: .5cqw 1.3cqw; border-radius: .8cqw; }
.dj-frag .mk-av { width: 4.2cqw; height: 4.2cqw; font-size: 1.9cqw; }
.dj-frag .mk-tl { gap: 1.4cqw; }
.dj-frag .mk-tl__row { gap: 1.6cqw; }
.dj-frag .mk-tl__n { font-size: 2.1cqw; width: 9.5cqw; }
.dj-frag .mk-tl__bar { height: 2.4cqw; border-radius: .9cqw; }
.dj-frag .mk-tl__fill { border-radius: .9cqw; }

/* мини-визуалы услуг */
.dj-vis { height: 92px; background: var(--soft); position: relative; overflow: hidden; border-radius: 3px; }
.dj-vis--bars { display: flex; align-items: flex-end; gap: 6px; padding: 12px; }
.dj-vis--bars i { flex: 1; background: #DDE3ED; display: block; }
.dj-vis--bars i:nth-child(1) { height: 34%; } .dj-vis--bars i:nth-child(2) { height: 55%; }
.dj-vis--bars i:nth-child(3) { height: 76%; background: var(--orange); } .dj-vis--bars i:nth-child(4) { height: 46%; }
.dj-vis--bars i:nth-child(5) { height: 64%; } .dj-vis--bars i:nth-child(6) { height: 88%; }
.dj-vis--stack { padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.dj-vis--stack i { height: 9px; background: #DDE3ED; display: block; }
.dj-vis--stack i:nth-child(1) { width: 78%; } .dj-vis--stack i:nth-child(2) { width: 54%; background: var(--orange); }
.dj-vis--stack i:nth-child(3) { width: 88%; } .dj-vis--stack i:nth-child(4) { width: 40%; }
.dj-vis--screens { display: flex; align-items: center; justify-content: center; gap: 8px; }
.dj-vis--screens i { display: block; border: 1.5px solid #D5DBE6; }
.dj-vis--screens i:nth-child(1) { width: 22px; height: 40px; }
.dj-vis--screens i:nth-child(2) { width: 58px; height: 52px; border-color: var(--orange); }
.dj-vis--screens i:nth-child(3) { width: 30px; height: 34px; }
.dj-vis--flow { display: flex; align-items: center; justify-content: space-between; padding: 0 16px; }
.dj-vis--flow::before { content: ""; position: absolute; left: 16px; right: 16px; top: 50%; height: 1.5px; background: #E1E6EF; }
.dj-vis--flow i { width: 26px; height: 26px; border: 1.5px solid #D5DBE6; display: block; position: relative; z-index: 1; background-color: var(--soft); }
.dj-vis--flow i.o { border-color: var(--orange); background-color: rgba(255,90,44,.1); }
.dj-vis--dots { display: grid; grid-template-columns: repeat(8, 1fr); gap: 7px; padding: 16px; place-items: center; }
.dj-vis--dots i { width: 7px; height: 7px; background: #DDE3ED; display: block; }
.dj-vis--dots i:nth-child(3n) { background: #C9D1DE; }
.dj-vis--dots i:nth-child(7), .dj-vis--dots i:nth-child(12), .dj-vis--dots i:nth-child(19) { background: var(--orange); }
.dj-vis--steps { display: flex; align-items: center; gap: 6px; padding: 0 14px; }
.dj-vis--steps i { flex: 1; height: 4px; background: #DDE3ED; display: block; position: relative; }
.dj-vis--steps i.o { background: var(--orange); }
.dj-vis--steps i::after { content: ""; position: absolute; left: 0; top: -6px; width: 8px; height: 8px; border-radius: 50%; background: inherit; }

/* ===========================================================================
   9. VARIANT E · LIGHT TECHNOLOGY
   Инженерная система при дневном свете: холодный серый как среда, белые
   ПЛОСКИЕ панели с хайрлайнами, технические направляющие, моно-лейблы.
   ========================================================================= */
.dj-page { background: var(--bg); color: var(--navy); position: relative; }
.dj-page section { position: relative; }
.dj-panel { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }

/* --- header --- */
/* sticky живёт на обёртке template-part: внутри неё <header> ограничен
   собственной высотой и «прилипать» не может */
.dj-head-wrap { position: sticky; top: 0; z-index: 60; }
/* WordPress adds a 24px block gap between top-level template parts. The
   header and main are one continuous shell, so that generated gap must not
   become a visible strip. */
.wp-site-blocks > .dj-head-wrap + main { margin-block-start: 0; }
.wp-site-blocks > main + .wp-block-template-part { margin-block-start: 0; }
/* The home page starts with inert <template> nodes for coded product mocks;
   they make Gutenberg treat the visible hero as a later flow child. */
#content > .dj-hero { margin-block-start: 0; }
.dj-head { position: relative; background: rgba(255,255,255,.88); backdrop-filter: blur(14px) saturate(150%); border-bottom: 1px solid var(--line); }
.dj-head-wrap.is-stuck .dj-head { box-shadow: 0 12px 28px -22px rgba(31,37,68,.5); }
.dj-head__in { max-width: var(--maxw); margin: 0 auto; padding: .82rem var(--pad); display: flex; align-items: center; gap: 2rem; }
.dj-head__logo svg { height: 26px; width: 80px; color: var(--navy); }
.dj-nav { display: flex; gap: 1.75rem; margin-left: auto; }
.dj-nav a { display: inline-flex; align-items: baseline; gap: .42rem; font-family: var(--head); font-weight: 600; font-size: .8rem; color: var(--muted); transition: color .3s var(--ease); }
.dj-nav a b { font-family: var(--mono); font-weight: 400; font-size: .6rem; color: var(--line-strong); transition: color .3s var(--ease); }
.dj-nav a:hover { color: var(--navy); }
.dj-nav a:hover b { color: var(--orange); }
.dj-nav__group { position: relative; display: flex; align-items: center; }
.dj-nav__mega { position: absolute; top: calc(100% + 1.15rem); left: -1.1rem; width: 420px; padding: .7rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--navy); border: 1px solid var(--navy); box-shadow: 0 24px 55px -32px rgba(18,22,43,.65); opacity: 0; transform: translateY(-8px); pointer-events: none; transition: opacity .2s var(--ease), transform .25s var(--ease-out); z-index: 70; }
.dj-nav__mega::before { content: ""; position: absolute; left: 0; right: 0; top: -1.2rem; height: 1.2rem; }
.dj-nav__group:hover .dj-nav__mega, .dj-nav__group:focus-within .dj-nav__mega { opacity: 1; transform: none; pointer-events: auto; }
.dj-nav .dj-nav__mega a { min-height: 48px; padding: .75rem .85rem; align-items: center; background: var(--paper); color: var(--navy); font-size: .82rem; }
.dj-nav .dj-nav__mega a:hover { background: var(--soft); color: var(--orange); }
.dj-nav .dj-nav__mega span { color: var(--orange); font: 400 .58rem/1 var(--mono); letter-spacing: .08em; }
@media (max-width: 1040px) { .dj-nav { display: none; } }

/* --- технические направляющие --- */
.dj-grid { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden;
	/* направляющие растворяются книзу — конструкция читается, но не лезет в глаза */
	-webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.9) 0%, rgba(0,0,0,.55) 45%, transparent 88%);
	mask-image: linear-gradient(to bottom, rgba(0,0,0,.9) 0%, rgba(0,0,0,.55) 45%, transparent 88%); }
.dj-grid__cols { max-width: var(--maxw); height: 100%; margin: 0 auto; padding-inline: var(--pad); display: grid; grid-template-columns: repeat(12, 1fr); }
.dj-grid__cols span { border-left: 1px solid rgba(31,37,68,.028); }
.dj-grid__cols span:last-child { border-right: 1px solid rgba(31,37,68,.028); }
@media (max-width: 900px) { .dj-grid__cols { grid-template-columns: repeat(4, 1fr); } }

/* --- hero --- */
.dj-hero { padding-top: clamp(2.25rem, 4vw, 4rem); overflow: hidden; background: linear-gradient(180deg, var(--paper) 0%, var(--bg) 62%); }
.dj-hero__in { position: relative; z-index: 2; }
.dj-hero__top { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-bottom: clamp(1.25rem, 2.5vw, 2.25rem); }
.dj-hero h1 { font-size: clamp(2.4rem, 1rem + 4.8vw, 5.6rem); line-height: .95; letter-spacing: -.05em; }
.dj-hero h1 em { font-style: normal; color: var(--orange); }
.dj-thin { font-weight: 500; letter-spacing: -.03em; color: #9AA2B1; }
.dj-hero__sub { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1.25rem; margin-top: clamp(1.75rem, 3vw, 2.75rem); align-items: start; }
.dj-hero__sub p { grid-column: 1 / 6; color: var(--muted); font-size: clamp(.98rem, .92rem + .25vw, 1.1rem); line-height: 1.65; }
.dj-hero__acts { grid-column: 7 / 11; display: flex; gap: .8rem; flex-wrap: wrap; }
@media (max-width: 900px) { .dj-hero__sub p, .dj-hero__acts { grid-column: 1 / 13; } }

/* слоистая композиция продуктов, срезанная кромкой */
.dj-stage { position: relative; z-index: 2; margin-top: clamp(2.25rem, 4vw, 3.5rem); height: clamp(280px, 38vw, 500px); perspective: 1800px; }
.dj-stage__browser { position: absolute; left: 50%; top: 0; width: min(1020px, 82vw); transform: translateX(-50%) rotateX(6deg); transform-origin: 50% 0; }
.dj-stage__phone { position: absolute; left: 1.5%; bottom: -14%; width: clamp(110px, 13vw, 186px); z-index: 3; }
.dj-stage__frag { position: absolute; right: 3%; top: 20%; width: clamp(150px, 17vw, 224px); z-index: 3; }
@media (max-width: 760px) { .dj-stage__phone, .dj-stage__frag { display: none; } .dj-stage { height: clamp(220px, 46vw, 320px); } .dj-stage__browser { width: 94vw; } }

/* --- тикер стека --- */
.dj-ticker { position: relative; z-index: 3; border-block: 1px solid var(--line); background: var(--paper); overflow: hidden; padding-block: .9rem; }
.dj-ticker__track { display: flex; gap: 3rem; width: max-content; animation: dj-marquee 38s linear infinite; }
.dj-ticker__track span { font-family: var(--mono); font-size: .78rem; letter-spacing: .1em; color: var(--muted); white-space: nowrap; }
.dj-ticker__track span b { color: var(--orange); font-weight: 400; }
@keyframes dj-marquee { to { transform: translateX(-50%); } }

/* --- телеметрия (цифры) --- */
.dj-tele { padding-block: clamp(3rem, 6vw, 5.5rem); }
.dj-tele__head { display: flex; align-items: baseline; justify-content: space-between; gap: 2rem; flex-wrap: wrap; padding-bottom: 1.75rem; }
.dj-tele__head p { color: var(--muted); font-size: .95rem; max-width: 46ch; }
.dj-tele__grid { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.dj-tele__cell { padding: clamp(1.5rem, 2.6vw, 2.5rem); border-right: 1px solid var(--line); position: relative; }
.dj-tele__cell:last-child { border-right: 0; }
.dj-tele__cell::before { content: ""; position: absolute; top: 0; left: 0; width: 26px; height: 2px; background: var(--orange); }
.dj-tele__n { font-family: var(--head); font-weight: 800; font-size: clamp(2.25rem, 1.2rem + 2.7vw, 4.2rem); line-height: .9; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.dj-tele__l { margin-top: .7rem; font-size: .9rem; color: var(--navy); }
.dj-tele__k { margin-top: .5rem; font-family: var(--mono); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
@media (max-width: 900px) { .dj-tele__grid { grid-template-columns: repeat(2, 1fr); } .dj-tele__cell:nth-child(2) { border-right: 0; } .dj-tele__cell:nth-child(-n+2) { border-bottom: 1px solid var(--line); } }
@media (max-width: 520px) { .dj-tele__grid { grid-template-columns: 1fr; } .dj-tele__cell { border-right: 0; border-bottom: 1px solid var(--line); } .dj-tele__cell:last-child { border-bottom: 0; } }

/* --- заголовок секции --- */
.dj-sechead { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; flex-wrap: wrap; padding-bottom: clamp(1.75rem, 3vw, 2.75rem); }
.dj-sechead h2 { font-size: clamp(1.8rem, 1.1rem + 2.3vw, 3.35rem); letter-spacing: -.038em; max-width: 22ch; margin-top: .9rem; }
.dj-sechead p { color: var(--muted); font-size: .95rem; max-width: 36ch; }

/* --- компетенции --- */
.dj-comp { padding-block: clamp(3rem, 6vw, 6rem); }
.dj-tabs { display: grid; grid-template-columns: repeat(6, 1fr); background: var(--paper); border: 1px solid var(--line); border-radius: 6px 6px 0 0; }
.dj-tab { padding: 1.15rem 1rem; text-align: left; border-right: 1px solid var(--line); position: relative; background: var(--soft); transition: background .35s var(--ease); }
.dj-tab:last-child { border-right: 0; }
.dj-tab__n { display: block; font-family: var(--mono); font-size: .6rem; letter-spacing: .12em; color: var(--line-strong); margin-bottom: .5rem; transition: color .3s var(--ease); }
.dj-tab__t { display: block; font-family: var(--head); font-weight: 700; font-size: .92rem; color: var(--muted); line-height: 1.2; transition: color .3s var(--ease); }
.dj-tab::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease-out); }
.dj-tab:hover { background: var(--paper); }
.dj-tab:hover .dj-tab__t { color: var(--navy); }
.dj-tab.is-on { background: var(--paper); }
.dj-tab.is-on .dj-tab__t { color: var(--navy); }
.dj-tab.is-on .dj-tab__n { color: var(--orange); }
.dj-tab.is-on::after { transform: scaleX(1); }
@media (max-width: 1000px) { .dj-tabs { grid-template-columns: repeat(3, 1fr); } .dj-tab:nth-child(3n) { border-right: 0; } .dj-tab:nth-child(-n+3) { border-bottom: 1px solid var(--line); } }
@media (max-width: 620px) { .dj-tabs { grid-template-columns: repeat(2, 1fr); } .dj-tab:nth-child(3n) { border-right: 1px solid var(--line); } .dj-tab:nth-child(2n) { border-right: 0; } .dj-tab:nth-child(-n+4) { border-bottom: 1px solid var(--line); } }

.dj-panels { background: var(--paper); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 6px 6px; min-height: 340px; }
.dj-panel { display: none; grid-template-columns: repeat(12, 1fr); gap: clamp(1.5rem, 3vw, 3rem); padding: clamp(1.5rem, 3vw, 2.75rem); align-items: center; }
.dj-panel.is-on { display: grid; animation: dj-fade .55s var(--ease-out); }
.dj-panel__txt { grid-column: 1 / 6; }
.dj-panel__txt h3 { font-size: clamp(1.4rem, 1rem + 1.6vw, 2.2rem); margin-bottom: .85rem; }
.dj-panel__txt p { color: var(--muted); font-size: .95rem; line-height: 1.65; }
.dj-panel__list { margin-top: 1.5rem; }
.dj-panel__list li { display: flex; gap: .7rem; align-items: baseline; padding: .5rem 0; border-top: 1px solid var(--line); font-size: .88rem; }
.dj-panel__list li::before { content: ""; width: 5px; height: 5px; background: var(--orange); flex: 0 0 auto; }
.dj-panel__vis { grid-column: 7 / 13; }
.dj-panel__vis--phone { display: flex; justify-content: center; }
.dj-panel__vis--phone > * { width: 100%; max-width: 252px; }
.dj-panel__vis .dj-frag .mk-panel { background: var(--soft); border-color: var(--line); }
@media (max-width: 900px) { .dj-panel__txt, .dj-panel__vis { grid-column: 1 / 13; } }

/* --- E: собственный характер движения — прибор не выезжает, а включается - */
.dj-page [data-reveal] { transform: none; transition-duration: .6s; }
.ve [data-reveal="scale"] { transform: scale(.99); }

/* --- E: тональный якорь — одна ячейка приборной шкалы залита акцентом ---- */
.dj-tele__cell.is-anchor { background: var(--orange); color: #fff; }
.dj-tele__cell.is-anchor::before { background: rgba(255,255,255,.9); }
.dj-tele__cell.is-anchor .dj-tele__l { color: #fff; }
.dj-tele__cell.is-anchor .dj-tele__k { color: rgba(255,255,255,.72); }

/* --- E: чередование среды и плоскости во всю ширину ---------------------- */
.dj-band-paper { background: var(--paper); }
.dj-band-bg { background: var(--bg); }

/* --- E: мокап как чертёж — обмерная линия над сценой -------------------- */
.dj-scene::after { content: ""; position: absolute; left: 1.1rem; right: 1.1rem; top: 2.1rem; height: 5px; border-left: 1px solid var(--line-strong); border-right: 1px solid var(--line-strong); border-top: 1px solid var(--line-strong); opacity: .55; }
.dj-scene__mock, .dj-scene__phones { position: relative; z-index: 1; }

/* --- избранные работы --- */
.dj-work { padding-block: clamp(3rem, 6vw, 6rem); }
.dj-story { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.dj-story__aside { position: sticky; top: 20vh; align-self: start; }
.dj-story__slot { position: relative; min-height: 340px; }
.dj-story__card { position: absolute; inset: 0; opacity: 0; transform: translateY(18px); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); pointer-events: none; }
.dj-story__card.is-on { opacity: 1; transform: none; pointer-events: auto; }
.dj-story__idx { font-family: var(--mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--orange); }
.dj-story__card h3 { font-size: clamp(1.85rem, 1.2rem + 2.25vw, 3.1rem); letter-spacing: -.042em; margin: .9rem 0 1rem; }
.dj-story__card p { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 40ch; }
.dj-story__tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1.25rem; }
.dj-story__tags span { font-family: var(--mono); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; padding: .3rem .6rem; border: 1px solid var(--line-strong); color: var(--muted); }
.dj-story__facts { margin-top: 1.5rem; background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
.dj-story__facts div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .7rem 1rem; border-bottom: 1px solid var(--line); }
.dj-story__facts div:last-child { border-bottom: 0; }
.dj-story__facts b { font-family: var(--head); font-weight: 800; font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.dj-story__facts span { font-family: var(--mono); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.dj-story__more { display: inline-flex; align-items: center; gap: .65rem; margin-top: 1.1rem; color: var(--navy); font: 800 .7rem var(--head); letter-spacing: .12em; text-transform: uppercase; }.dj-story__more span { color: var(--orange); font-size: 1rem; transition: transform .25s var(--ease); }.dj-story__more:hover { color: var(--orange); }.dj-story__more:hover span { transform: translateX(4px); }
.dj-story__prog { margin-top: 1.5rem; display: flex; gap: .4rem; }
.dj-story__prog i { display: block; width: 38px; height: 2px; background: var(--line-strong); transition: background .4s var(--ease); }
.dj-story__prog i.is-on { background: var(--orange); }
.dj-story__scenes { display: flex; flex-direction: column; gap: clamp(2.5rem, 6vw, 6rem); }
.dj-scene { padding: clamp(1.25rem, 2.4vw, 2.5rem); display: grid; place-items: center; min-height: clamp(300px, 30vw, 460px); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; position: relative; }
.dj-scene::before { content: attr(data-cap); position: absolute; top: .9rem; left: 1.1rem; font-family: var(--mono); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--line-strong); }
.dj-scene__mock { width: 100%; }
.dj-scene__phones { width: 100%; display: flex; gap: clamp(.8rem, 2vw, 2rem); align-items: center; justify-content: center; }
.dj-scene__phones > * { flex: 0 1 220px; max-width: 220px; }
.dj-scene__phones > *:first-child { margin-top: clamp(1rem, 3vw, 2.5rem); }
@media (max-width: 900px) {
	.dj-story { grid-template-columns: 1fr; }
	.dj-story__aside { position: static; }
	.dj-story__slot { min-height: 0; }
	.dj-story__card { position: static; opacity: 1; transform: none; display: none; }
	.dj-story__card.is-on { display: block; }
	.dj-story__scenes { margin-top: 2rem; }
}

/* --- услуги --- */
.dj-serv { padding-block: clamp(3rem, 6vw, 6rem); overflow: hidden; }
.dj-card { scroll-snap-align: start; flex: 0 0 clamp(260px, 30vw, 400px); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: clamp(1.5rem, 2.5vw, 2.25rem); display: flex; flex-direction: column; min-height: clamp(340px, 34vw, 430px); transition: border-color .4s var(--ease), transform .5s var(--ease-out); }
.dj-card:hover { border-color: var(--line-strong); transform: translateY(-4px); }
.dj-card__n { font-family: var(--mono); font-size: .66rem; letter-spacing: .14em; color: var(--orange); }
.dj-card h3 { font-family: var(--head); font-weight: 800; font-size: clamp(1.25rem, 1rem + 1vw, 1.7rem); letter-spacing: -.03em; margin: .9rem 0 .75rem; }
.dj-card p { color: var(--muted); font-size: .92rem; line-height: 1.6; }
.dj-card__vis { margin-top: auto; padding-top: 1.5rem; }
.dj-card__meta { margin-top: 1.1rem; padding-top: .9rem; border-top: 1px solid var(--line); font-family: var(--mono); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); display: flex; justify-content: space-between; gap: 1rem; }

/* --- финальный блок --- */
.dj-cta { padding-block: clamp(3.5rem, 7vw, 7rem); overflow: hidden; }
.dj-cta__in { position: relative; z-index: 2; background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: clamp(2rem, 4.5vw, 4.5rem); display: grid; grid-template-columns: repeat(12, 1fr); gap: 2rem; align-items: end; }
.dj-cta__l { grid-column: 1 / 8; }
.dj-cta h2 { font-size: clamp(1.9rem, 1rem + 3.25vw, 4rem); line-height: .98; letter-spacing: -.042em; margin: 1rem 0 1.5rem; }
.dj-cta h2 em { font-style: normal; color: var(--orange); }
.dj-cta__acts { display: flex; gap: .8rem; flex-wrap: wrap; }
.dj-cta__r { grid-column: 9 / 13; }
.dj-cta__r div { padding: .8rem 0; border-top: 1px solid var(--line); }
.dj-cta__r span { display: block; font-family: var(--mono); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: .25rem; }
.dj-cta__r a, .dj-cta__r b { font-family: var(--head); font-weight: 700; font-size: 1.02rem; }
.dj-cta__r a:hover { color: var(--orange); }
@media (max-width: 900px) { .dj-cta__l, .dj-cta__r { grid-column: 1 / 13; } }

/* --- форма: «инженерная заявка» ----------------------------------------- */
.dj-form { padding-block: clamp(1.5rem, 3vw, 2.75rem) clamp(2.5rem, 5vw, 4.5rem); }
.dj-form__panel { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; display: grid; grid-template-columns: 7fr 5fr; }
.dj-form__main { padding: clamp(1.4rem, 2.6vw, 2.25rem); border-right: 1px solid var(--line); }
.dj-form__head { margin-bottom: clamp(1rem, 1.8vw, 1.5rem); }
.dj-form__head h2 { font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.2rem); letter-spacing: -.035em; margin: .7rem 0 .6rem; }
.dj-form__head p { color: var(--muted); font-size: .95rem; max-width: 52ch; }
.dj-form__side { padding: clamp(1.4rem, 2.6vw, 2.25rem); background: var(--soft); }
.dj-form__side h3 { font-family: var(--head); font-weight: 800; font-size: 1.05rem; margin-bottom: .9rem; }
.dj-steps { counter-reset: st; }
.dj-step { display: grid; grid-template-columns: 30px 1fr; gap: .8rem; padding: .7rem 0; border-top: 1px solid var(--line); }
.dj-step:first-of-type { border-top: 0; padding-top: 0; }
.dj-step__n { font-family: var(--mono); font-size: .68rem; color: var(--orange); padding-top: .18rem; }
.dj-step__t { font-family: var(--head); font-weight: 700; font-size: .96rem; }
.dj-step__d { font-size: .85rem; color: var(--muted); margin-top: .2rem; line-height: 1.5; }
.dj-form__contacts { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--line); display: grid; gap: .5rem; }
.dj-form__contacts a, .dj-form__contacts div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.dj-form__contacts span { font-family: var(--mono); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.dj-form__contacts b { font-family: var(--head); font-weight: 700; font-size: .95rem; }
.dj-form__contacts a:hover b { color: var(--orange); }
@media (max-width: 900px) { .dj-form__panel { grid-template-columns: 1fr; } .dj-form__main { border-right: 0; border-bottom: 1px solid var(--line); } }

.dj-page .dj-field input, .dj-page .dj-field textarea { border: 1px solid var(--line-strong); background: var(--paper); padding: .8rem .9rem; border-radius: 4px; }
.dj-page .dj-field input:focus, .dj-page .dj-field textarea:focus { outline: none; border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,90,44,.12); }
.dj-page .dj-field.is-error input, .dj-page .dj-field.is-error textarea { border-color: #D93025; }
.dj-page .dj-field__lbl { font-family: var(--mono); font-weight: 400; font-size: .64rem; letter-spacing: .12em; }
.dj-page .dj-choice { gap: 0; flex-wrap: wrap; border: 1px solid var(--line-strong); border-radius: 4px; overflow: hidden; width: fit-content; max-width: 100%; }
.dj-page .dj-choice button { border: 0; border-right: 1px solid var(--line-strong); border-radius: 0; padding: .6rem 1rem; font-size: .82rem; }
.dj-page .dj-choice button:last-of-type { border-right: 0; }
.dj-page .dj-choice button.is-on { background: var(--navy); color: #fff; }
@media (max-width: 720px) { .dj-page .dj-choice { width: 100%; } .dj-page .dj-choice button { flex: 1 0 auto; border-bottom: 1px solid var(--line-strong); } }

/* --- подвал --- */
.dj-foot { border-top: 1px solid var(--line); background: var(--paper); padding-top: clamp(3rem, 6vw, 5.5rem); }
.dj-foot__main { display: grid; grid-template-columns: minmax(240px, 2fr) repeat(2, minmax(130px, 1fr)) minmax(210px, 1.25fr); gap: clamp(2rem, 5vw, 5rem); padding-bottom: clamp(3rem, 5vw, 4.5rem); }
.dj-foot__brand p { max-width: 33ch; margin-top: 1.25rem; color: var(--muted); font-size: .9rem; line-height: 1.65; }
.dj-foot__main nav, .dj-foot__contact { display: grid; align-content: start; justify-items: start; gap: .8rem; }
.dj-foot__main b { margin-bottom: .35rem; color: var(--navy); font: 700 .68rem/1 var(--head); letter-spacing: .12em; text-transform: uppercase; }
.dj-foot__in { min-height: 76px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.dj-foot svg { height: 26px; width: 80px; color: var(--navy); }
.dj-foot span, .dj-foot a { font-family: var(--mono); font-size: .72rem; letter-spacing: .06em; color: var(--muted); }
.dj-foot a:hover { color: var(--orange); }
.dj-foot__links { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.dj-foot a.dj-foot__privacy { color: var(--muted); }
.dj-foot a.dj-foot__privacy:hover { color: var(--navy); }
.dj-foot .dj-btn { margin-top: .6rem; min-height: 44px; padding: .8rem 1rem; color: #fff; font-family: var(--head); font-size: .7rem; }
@media (max-width: 900px) { .dj-foot__main { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dj-foot__main { grid-template-columns: 1fr; }.dj-foot__in { padding-block: 1.25rem; align-items: flex-start; flex-direction: column; } }

/* ===========================================================================
   ПРОДАКШН-СЛОЙ: то, чего не было в прототипе, но нужно рабочему сайту
   ========================================================================= */

/* --- мобильное меню (в прототипе навигация просто пряталась) -------------- */
.dj-burger { display: none; width: 42px; height: 42px; margin-left: auto; border: 1px solid var(--line); background: var(--paper); position: relative; }
.dj-burger span { position: absolute; left: 11px; right: 11px; height: 1.5px; background: var(--navy); transition: transform .35s var(--ease-out), opacity .2s var(--ease); }
.dj-burger span:nth-child(1) { top: 15px; }
.dj-burger span:nth-child(2) { top: 20px; }
.dj-burger span:nth-child(3) { top: 25px; }
.dj-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.dj-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.dj-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
@media (max-width: 1040px) {
	.dj-burger { display: block; }
	.dj-head__in { gap: 1rem; }
	.dj-head .dj-btn { display: none; }
	.dj-nav { position: fixed; inset: 57px 0 auto 0; display: block; background: var(--paper); border-bottom: 1px solid var(--line); padding: 1rem var(--pad) 1.75rem; transform: translateY(-12px); opacity: 0; pointer-events: none; transition: opacity .3s var(--ease), transform .35s var(--ease-out); z-index: 59; max-height: calc(100dvh - 57px); overflow-y: auto; }
	.dj-nav.is-open { opacity: 1; transform: none; pointer-events: auto; }
	.dj-nav a { display: flex; padding: .95rem 0; border-bottom: 1px solid var(--line); font-size: 1.05rem; color: var(--navy); }
	.dj-nav__group { display: block; }
	.dj-nav__mega { position: static; width: auto; padding: .55rem 0 .85rem; grid-template-columns: repeat(2, minmax(0, 1fr)); background: transparent; border: 0; box-shadow: none; opacity: 1; transform: none; pointer-events: auto; }
	.dj-nav__mega::before { display: none; }
	.dj-nav .dj-nav__mega a { min-height: 44px; padding: .7rem .6rem; border: 1px solid var(--line); background: var(--soft); font-size: .76rem; }
	.dj-nav__cta { margin-top: 1.25rem; }
}
/* .dj-nav a задаёт display с большей специфичностью — поднимаем её и здесь */
@media (min-width: 1041px) { .dj-nav a.dj-nav__cta { display: none; } }

/* --- страница-контент (услуги, о компании, политика и т.п.) -------------- */
.dj-page-hero { padding-block: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 3vw, 2.5rem); background: var(--paper); border-bottom: 1px solid var(--line); }
.dj-page-hero h1 { font-size: clamp(2rem, 1.1rem + 3.6vw, 4.4rem); line-height: .98; letter-spacing: -.042em; margin-top: 1rem; max-width: 20ch; }
.dj-crumbs { display: flex; align-items: center; gap: .55rem; font-family: var(--mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.dj-crumbs a:hover { color: var(--orange); }
.dj-crumbs i { width: 12px; height: 1px; background: var(--line-strong); display: block; }

.dj-prose { max-width: 68ch; }
.dj-prose > * + * { margin-top: 1.15rem; }
.dj-prose p { font-size: 1.0625rem; line-height: 1.75; color: #3B4256; margin: 0; }
.dj-prose h2 { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.1rem); margin-top: 2.5rem; letter-spacing: -.035em; }
.dj-prose h3 { font-size: 1.3rem; margin-top: 1.75rem; }
.dj-prose a { color: var(--orange); text-decoration: underline; text-underline-offset: 3px; }
.dj-prose strong { color: var(--navy); }
.dj-prose ul, .dj-prose ol { padding-left: 0; list-style: none; display: grid; gap: .6rem; }
.dj-prose ul li { position: relative; padding-left: 1.6rem; color: #3B4256; }
.dj-prose ul li::before { content: ""; position: absolute; left: 2px; top: .68em; width: 7px; height: 1px; background: var(--orange); }
.dj-prose ol { counter-reset: li; }
.dj-prose ol li { position: relative; padding-left: 2.4rem; counter-increment: li; color: #3B4256; }
.dj-prose ol li::before { content: counter(li, decimal-leading-zero); position: absolute; left: 0; top: .15em; font-family: var(--mono); font-size: .7rem; color: var(--orange); }
.dj-prose blockquote { margin: 1.75rem 0; padding: 1.25rem 1.5rem; background: var(--paper); border: 1px solid var(--line); border-left: 2px solid var(--orange); border-radius: 0 6px 6px 0; font-family: var(--head); font-weight: 700; font-size: clamp(1.1rem, .95rem + .7vw, 1.45rem); line-height: 1.4; }
.dj-prose img, .dj-prose figure img { border-radius: 6px; border: 1px solid var(--line); }
.dj-prose figcaption { margin-top: .7rem; font-family: var(--mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.dj-prose code { font-family: var(--mono); font-size: .88em; background: var(--soft); border: 1px solid var(--line); padding: .1em .35em; border-radius: 3px; }
.dj-prose pre { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 1.1rem 1.25rem; overflow-x: auto; }
.dj-prose pre code { border: 0; background: none; padding: 0; }

/* --- блог: лента --------------------------------------------------------- */
.dj-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 1.6vw, 1.5rem); }
@media (max-width: 1000px) { .dj-posts { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .dj-posts { grid-template-columns: 1fr; } }
.dj-posts .wp-block-post { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: clamp(1.1rem, 1.8vw, 1.6rem); display: flex; flex-direction: column; transition: border-color .35s var(--ease), transform .45s var(--ease-out); }
.dj-posts .wp-block-post:hover { border-color: var(--line-strong); transform: translateY(-3px); }
.dj-posts .wp-block-post-featured-image { margin: calc(clamp(1.1rem, 1.8vw, 1.6rem) * -1) calc(clamp(1.1rem, 1.8vw, 1.6rem) * -1) 1.1rem; border-bottom: 1px solid var(--line); overflow: hidden; }
.dj-posts .wp-block-post-featured-image img { width: 100%; height: 190px; object-fit: cover; border-radius: 6px 6px 0 0; }
.dj-posts .wp-block-post-title { font-family: var(--head); font-weight: 800; font-size: clamp(1.05rem, .95rem + .5vw, 1.3rem); letter-spacing: -.03em; line-height: 1.22; margin: 0 0 .6rem; }
.dj-posts .wp-block-post-title a:hover { color: var(--orange); }
.dj-posts .wp-block-post-excerpt { color: var(--muted); font-size: .9rem; line-height: 1.6; }
.dj-posts .wp-block-post-excerpt__more-text { display: none; }
.dj-meta-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--line); font-family: var(--mono); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.dj-meta-row .wp-block-post-terms a { color: var(--orange); }
.wp-block-query-pagination { margin-top: clamp(2rem, 4vw, 3rem); display: flex; gap: .5rem; align-items: center; font-family: var(--head); font-weight: 700; font-size: .9rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: .5rem .85rem; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); }
.wp-block-query-pagination .current { background: var(--navy); border-color: var(--navy); color: #fff; }
.wp-block-query-pagination a:hover { border-color: var(--navy); color: var(--navy); }

/* --- блог: статья -------------------------------------------------------- */
.dj-single__head { padding-block: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 2.6vw, 2.25rem); background: var(--paper); border-bottom: 1px solid var(--line); }
.dj-single__head h1 { font-size: clamp(1.9rem, 1.1rem + 3vw, 3.6rem); line-height: 1.02; letter-spacing: -.04em; margin: 1rem 0 1.25rem; max-width: 24ch; }
.dj-single__meta { display: flex; gap: 1.5rem; flex-wrap: wrap; font-family: var(--mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.dj-single__meta a { color: var(--orange); }
.dj-single__img img { width: 100%; max-height: 520px; object-fit: cover; border: 1px solid var(--line); border-radius: 6px; }
.dj-single__body { padding-block: clamp(2rem, 4vw, 3.5rem) clamp(3rem, 6vw, 5rem); }

/* ===========================================================================
   CASE STUDIES — редакционный продуктовый разбор
   ======================================================================== */
.dj-case { background: var(--bg); overflow: hidden; }
.dj-case__hero { background: var(--paper); border-bottom: 1px solid var(--line); padding: clamp(1rem, 2vw, 2rem) 0 clamp(2.75rem, 5.5vw, 5.5rem); }
.dj-case__back { display: inline-flex; color: var(--muted); font: 700 .7rem/1 var(--head); letter-spacing: .13em; text-transform: uppercase; transition: color .2s var(--ease); }
.dj-case__back:hover { color: var(--orange); }
.dj-case__hero-grid { display: grid; grid-template-columns: 7fr 5fr; align-items: end; gap: clamp(2rem, 5vw, 5.5rem); margin-top: clamp(2rem, 3.5vw, 3.5rem); }
.dj-case__hero h1 { max-width: 11.5ch; font-size: clamp(2.6rem, 1.2rem + 3.45vw, 4.75rem); line-height: .95; letter-spacing: -.055em; margin: 1rem 0 1.25rem; }
.dj-case__intro { max-width: 48ch; color: var(--muted); font-size: clamp(.98rem, .92rem + .25vw, 1.15rem); line-height: 1.58; }
.dj-case__hero-art { aspect-ratio: 1.2 / 1; align-self: center; min-height: 270px; background: linear-gradient(145deg, var(--peach), #fff 60%, var(--soft)); border: 1px solid var(--line); border-radius: 5px; overflow: hidden; position: relative; display: grid; place-items: center; }
.dj-case__hero-art img { width: 100%; height: 100%; object-fit: cover; }
.dj-case__hero-art span { font: 800 clamp(2rem, 5vw, 5rem)/.86 var(--head); color: var(--navy); letter-spacing: -.07em; text-align: center; }
.dj-case--green .dj-case__hero-art { background: #dcefe2; }.dj-case--terra .dj-case__hero-art { background: #f3dec8; }.dj-case--violet .dj-case__hero-art { background: #ede6f7; }.dj-case--rose .dj-case__hero-art { background: #f8e7ec; }
.dj-case__stats { background: var(--navy); color: #fff; }
.dj-case__stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.dj-case__stats-grid > div { min-height: clamp(9rem, 16vw, 13.5rem); padding: clamp(1.25rem, 2.6vw, 2.7rem); border-left: 1px solid rgba(255,255,255,.17); display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; }
.dj-case__stats-grid > div:last-child { border-right: 1px solid rgba(255,255,255,.17); }
.dj-case__stats strong { color: var(--orange); font: 800 clamp(2rem, 1.1rem + 2.2vw, 3.5rem)/.94 var(--head); letter-spacing: -.06em; }
.dj-case__stats span { max-width: 18ch; color: rgba(255,255,255,.72); font-size: .85rem; line-height: 1.35; }
.dj-case__about { background: var(--paper); padding: clamp(3.5rem, 7vw, 7.5rem) 0; }
.dj-case__two-col { display: grid; grid-template-columns: 4fr 7fr; gap: 10%; }
.dj-case h2 { font-size: clamp(1.85rem, 1.1rem + 1.9vw, 3.15rem); line-height: 1; letter-spacing: -.045em; margin-top: 1rem; }
.dj-case__copy { display: grid; gap: 1.25rem; color: var(--muted); font-size: clamp(1.03rem, .96rem + .3vw, 1.2rem); }
.dj-case__system { background: var(--orange); color: #fff; padding: clamp(3.5rem, 7vw, 7rem) 0; }
.dj-case__system .dj-mono { color: rgba(255,255,255,.72); }.dj-case__system p { max-width: 29ch; margin-top: 1rem; font: 800 clamp(1.7rem, 1rem + 1.8vw, 3.2rem)/1.04 var(--head); letter-spacing: -.045em; }
.dj-case__approach { padding: clamp(4rem, 8vw, 8rem) 0; }
.dj-case__approach-grid { display: grid; grid-template-columns: 1fr 1fr; margin-top: clamp(2rem, 4vw, 4rem); border-top: 1px solid var(--line-strong); }
.dj-case__approach-grid > div { padding: clamp(1.5rem, 3vw, 3rem) clamp(1.5rem, 4vw, 4rem) clamp(1.5rem, 3vw, 3rem) 0; border-bottom: 1px solid var(--line-strong); }
.dj-case__approach-grid > div + div { padding-left: clamp(1.5rem, 4vw, 4rem); border-left: 1px solid var(--line-strong); }
.dj-case__approach-grid span { color: var(--orange); font: 700 .7rem var(--head); letter-spacing: .15em; text-transform: uppercase; }.dj-case__approach-grid p { margin-top: 1rem; font: 700 clamp(1.2rem, 1rem + .65vw, 1.75rem)/1.25 var(--head); letter-spacing: -.025em; }
.dj-case__features { background: var(--paper); padding: clamp(3.5rem, 7vw, 7rem) 0; }.dj-case__features .dj-wrap { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(3rem, 8vw, 8rem); }.dj-case__features ol { border-top: 1px solid var(--line); }.dj-case__features li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); font: 700 clamp(1.05rem, .95rem + .35vw, 1.32rem)/1.2 var(--head); }.dj-case__features b { color: var(--orange); font: 700 .7rem var(--mono); padding-top: .4em; }
.dj-case__scenes { padding: clamp(4rem, 8vw, 8rem) 0; }.dj-case__scenes > .dj-wrap > .dj-lbl { display: block; margin-bottom: 2rem; }.dj-case__scene { display: grid; grid-template-columns: 4fr 7fr; gap: clamp(2rem, 7vw, 8rem); align-items: center; padding: clamp(3rem, 6vw, 6rem) 0; border-top: 1px solid var(--line); margin: 0; }.dj-case__scene.is-reverse figcaption { order: 2; }.dj-case__scene span { color: var(--orange); font: 700 .7rem var(--mono); }.dj-case__scene h2 { max-width: 10ch; }.dj-case__scene p { color: var(--muted); margin-top: 1.25rem; max-width: 31ch; }.dj-case__scene img { width: 100%; border: 1px solid var(--line); border-radius: 5px; box-shadow: 0 28px 70px -38px rgba(18,22,43,.4); }
.dj-case__screens { background: var(--paper); padding: clamp(4rem, 8vw, 8rem) 0; }.dj-case__screens-grid { display: grid; grid-template-columns: repeat(5, 1fr); align-items: start; gap: clamp(.7rem, 1.6vw, 1.6rem); margin-top: 2rem; }.dj-case__screens-grid a { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 5px; background: var(--soft); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }.dj-case__screens-grid a:nth-child(even) { margin-top: clamp(1rem, 4vw, 4rem); }.dj-case__screens-grid a:hover { transform: translateY(-8px); box-shadow: 0 20px 45px -26px rgba(18,22,43,.4); }.dj-case__screens-grid img { width: 100%; }
.dj-case__flow { padding: clamp(4rem, 8vw, 8rem) 0; }.dj-case__flow ol { display: grid; grid-template-columns: repeat(7, 1fr); margin-top: 2rem; border-top: 1px solid var(--line-strong); }.dj-case__flow li { min-height: 9.5rem; border-right: 1px solid var(--line-strong); padding: 1.1rem; font: 700 .83rem/1.25 var(--head); }.dj-case__flow li:first-child { border-left: 1px solid var(--line-strong); }.dj-case__flow b { display: block; color: var(--orange); font: 700 .64rem var(--mono); margin-bottom: 1.1rem; }
.dj-case__quote { background: var(--navy); color: #fff; margin: 0; padding: clamp(3.5rem, 6.5vw, 6rem) 0; }.dj-case__quote .dj-wrap { max-width: 990px; }.dj-case__quote span { color: var(--orange); font: 800 clamp(3rem, 6vw, 5.5rem)/.45 Georgia, serif; }.dj-case__quote p { max-width: 28ch; font: 800 clamp(1.6rem, 1rem + 1.7vw, 2.75rem)/1.11 var(--head); letter-spacing: -.04em; margin-top: .65rem; }.dj-case__quote cite { display: block; color: rgba(255,255,255,.65); font-style: normal; margin-top: 1.5rem; }
.dj-case__pending { background: var(--paper); padding: clamp(4rem, 9vw, 9rem) 0; }.dj-case__pending h2 { margin-top: 1rem; }.dj-case__pending p { max-width: 42ch; color: var(--muted); margin-top: 1.5rem; }
.dj-case-archive { padding: clamp(3rem, 7vw, 6.5rem) 0; }.dj-case-archive header { display: grid; grid-template-columns: 7fr 4fr; gap: 1rem; align-items: end; margin-bottom: clamp(3rem, 5vw, 5rem); }.dj-case-archive h1 { max-width: 12ch; font-size: clamp(2.7rem, 1.1rem + 4.4vw, 5.6rem); line-height: .94; letter-spacing: -.06em; margin-top: 1rem; }.dj-case-archive header p { color: var(--muted); max-width: 32ch; }.dj-case-archive__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }.dj-case-card { min-height: 260px; padding: clamp(1.25rem, 2.6vw, 2.5rem); background: var(--paper); display: flex; flex-direction: column; position: relative; overflow: hidden; isolation: isolate; transition: background .3s var(--ease), color .3s var(--ease); }.dj-case-card:hover { background: var(--navy); color: #fff; }.dj-case-card__label { color: var(--muted); font: 700 .58rem/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; position: relative; z-index: 2; }.dj-case-card h2 { font-size: clamp(1.6rem, 1.2rem + 1.3vw, 2.5rem); margin-top: auto; position: relative; z-index: 2; }.dj-case-card p { margin-top: .55rem; font-weight: 700; line-height: 1.25; position: relative; z-index: 2; }.dj-case-card i { color: var(--orange); font: 700 .68rem var(--head); font-style: normal; letter-spacing: .12em; text-transform: uppercase; margin-top: 1.5rem; position: relative; z-index: 2; }.dj-case-card__media { position: absolute; inset: 0; z-index: -2; background: var(--navy); }.dj-case-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,22,43,.1) 5%, rgba(18,22,43,.1) 38%, rgba(18,22,43,.9) 100%); }.dj-case-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }.dj-case-card.has-cover { color: #fff; }.dj-case-card.has-cover .dj-case-card__label { color: rgba(255,255,255,.7); }.dj-case-card.has-cover:hover .dj-case-card__media img { transform: scale(1.06); }.dj-case-card.has-cover:hover { background: transparent; }
@media (max-width: 860px) { .dj-case__hero-grid, .dj-case__two-col, .dj-case__features .dj-wrap, .dj-case-archive header { grid-template-columns: 1fr; }.dj-case__hero-art { aspect-ratio: 1.5 / 1; }.dj-case__stats-grid { grid-template-columns: repeat(2, 1fr); }.dj-case__stats-grid > div:nth-child(3) { border-left: 1px solid rgba(255,255,255,.17); }.dj-case__scene, .dj-case__scene.is-reverse { grid-template-columns: 1fr; }.dj-case__scene.is-reverse figcaption { order: 0; }.dj-case__scene h2 { max-width: none; }.dj-case__flow ol { grid-template-columns: repeat(2, 1fr); }.dj-case__flow li:nth-child(odd) { border-left: 1px solid var(--line-strong); }.dj-case__flow li:first-child { border-left: 1px solid var(--line-strong); }.dj-case-archive__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dj-case__stats-grid { grid-template-columns: 1fr 1fr; }.dj-case__stats-grid > div { min-height: 8rem; }.dj-case__approach-grid { grid-template-columns: 1fr; }.dj-case__approach-grid > div + div { padding-left: 0; border-left: 0; }.dj-case__screens-grid { grid-template-columns: repeat(2, 1fr); }.dj-case__screens-grid a:nth-child(even) { margin-top: 1.5rem; }.dj-case__screens-grid a:nth-child(5) { display: none; }.dj-case-archive__grid { grid-template-columns: 1fr; }.dj-case-card { min-height: 220px; } }
.dj-case-lightbox { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 5rem 1.25rem 1.25rem; background: rgba(18,22,43,.9); opacity: 0; pointer-events: none; transition: opacity .2s var(--ease); }.dj-case-lightbox.is-open { opacity: 1; pointer-events: auto; }.dj-case-lightbox img { max-width: min(94vw, 640px); max-height: 86vh; width: auto; height: auto; box-shadow: 0 24px 80px rgba(0,0,0,.35); }.dj-case-lightbox button { position: absolute; top: 1rem; right: 1rem; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.6); color: #fff; border-radius: 50%; font: 300 2rem/1 var(--body); }.dj-case-lightbox button:hover { background: var(--orange); border-color: var(--orange); }

/* Карточки архива v2: изображение и подпись живут в отдельных областях.
   Так баннер не пересекается с соседней карточкой при любой длине текста. */
.dj-case-card.dj-case-card-v2 { min-height: 0; padding: 0; display: grid; grid-template-rows: auto 1fr; overflow: hidden; color: var(--navy); background: var(--paper); isolation: auto; }
.dj-case-archive__grid > br,
.dj-case-archive__grid > p:empty { display: none !important; }
.dj-case-card-v2:hover { color: var(--navy); background: var(--paper); }
.dj-case-card-v2__visual { position: relative; display: block; aspect-ratio: 2 / 1; overflow: hidden; background: #E8ECF3; border-bottom: 1px solid var(--line); }
.dj-case-card-v2__visual > img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .65s var(--ease-out); }
.dj-case-card-v2:hover .dj-case-card-v2__visual > img { transform: scale(1.025); }
.dj-case-card-v2__body { min-height: 205px; padding: clamp(1.25rem, 2.2vw, 2rem); display: flex; flex-direction: column; background: var(--paper); position: relative; z-index: 2; }
.dj-case-card-v2 .dj-case-card__label { color: var(--muted); }
.dj-case-card-v2 h2 { margin: 1.5rem 0 0; font-size: clamp(1.55rem, 1.15rem + 1vw, 2.15rem); line-height: 1; }
.dj-case-card-v2 p { margin-top: .55rem; color: var(--navy); font-size: .95rem; }
.dj-case-card-v2 i { margin-top: auto; padding-top: 1.6rem; display: inline-flex; align-items: center; gap: .55rem; }
.dj-case-card-v2 i b { font-size: 1rem; transition: transform .25s var(--ease); }
.dj-case-card-v2:hover i b { transform: translateX(4px); }

/* Временные арт-дирекшн превью для кейсов без графических материалов. */
.dj-case-concept { --c1: #FF5A2C; --c2: #FFB09A; --dark: #202643; position: absolute; inset: 0; overflow: hidden; color: #fff; background: linear-gradient(145deg, var(--dark), #313958); }
.dj-case-concept.tone-sand { --c1: #D69A52; --c2: #F2D6A8; --dark: #392B27; }.dj-case-concept.tone-steel { --c1: #8EA4BA; --c2: #D7E0E8; --dark: #263443; }.dj-case-concept.tone-emerald { --c1: #22A777; --c2: #A6E0C9; --dark: #123D36; }.dj-case-concept.tone-violet { --c1: #8D73E6; --c2: #D3C7FF; --dark: #2D2851; }.dj-case-concept.tone-coral { --c1: #F06B58; --c2: #FFB39F; --dark: #42262D; }.dj-case-concept.tone-blue { --c1: #477DEB; --c2: #B8D2FF; --dark: #1D3158; }.dj-case-concept.tone-mint { --c1: #3CAF86; --c2: #B9E9D6; --dark: #173D36; }.dj-case-concept.tone-navy { --c1: #52618E; --c2: #BCC5E0; --dark: #1B2138; }.dj-case-concept.tone-sky { --c1: #3FA5D8; --c2: #B9E3F4; --dark: #183B4D; }.dj-case-concept.tone-date { --c1: #A36B40; --c2: #E4BC8C; --dark: #3D2A23; }.dj-case-concept.tone-forest { --c1: #62895E; --c2: #C2D3A8; --dark: #263526; }.dj-case-concept.tone-amber { --c1: #E89B28; --c2: #FFE0A3; --dark: #48351D; }
.dj-case-concept::before { content: ""; position: absolute; width: 58%; aspect-ratio: 1; right: -14%; top: -48%; border: 1px solid color-mix(in srgb, var(--c2) 60%, transparent); border-radius: 50%; box-shadow: 0 0 0 34px color-mix(in srgb, var(--c1) 10%, transparent), 0 0 0 68px color-mix(in srgb, var(--c1) 6%, transparent); }
.dj-case-concept__grid { position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.24) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.24) 1px, transparent 1px); background-size: 42px 42px; }
.dj-case-concept > strong { position: absolute; left: 7%; bottom: 12%; z-index: 3; font: 800 clamp(2.5rem, 4.7vw, 4.8rem)/.8 var(--head); letter-spacing: -.08em; color: var(--c2); }
.dj-case-concept > small { position: absolute; left: 7%; top: 9%; z-index: 3; color: rgba(255,255,255,.62); font: 700 .54rem var(--mono); letter-spacing: .12em; }
.dj-case-concept__device { position: absolute; right: 8%; bottom: -16%; width: 43%; height: 88%; padding: 10% 8%; display: flex; flex-direction: column; gap: 8%; transform: rotate(8deg); border: 5px solid rgba(255,255,255,.88); border-radius: 18px; background: rgba(255,255,255,.13); box-shadow: 0 24px 50px rgba(0,0,0,.28); backdrop-filter: blur(3px); }
.dj-case-concept__device i { height: 12%; border-radius: 999px; background: color-mix(in srgb, var(--c1) 78%, white); }.dj-case-concept__device i:nth-child(2) { height: 42%; border-radius: 8px; background: linear-gradient(135deg, var(--c1), var(--c2)); }.dj-case-concept__device i:nth-child(3) { width: 70%; }
.dj-case-concept--dashboard .dj-case-concept__device, .dj-case-concept--architecture .dj-case-concept__device, .dj-case-concept--finance .dj-case-concept__device { width: 58%; height: 70%; right: -5%; bottom: 8%; transform: rotate(-5deg); border-radius: 9px; }
.dj-case-concept--architecture .dj-case-concept__device { background: repeating-linear-gradient(90deg, rgba(255,255,255,.1) 0 16%, transparent 16% 19%), linear-gradient(155deg, var(--c1), var(--dark)); border-radius: 0; transform: skewY(-5deg); }
.dj-case-concept--architecture .dj-case-concept__device i { background: rgba(255,255,255,.7); border-radius: 0; height: 3px; }
.dj-case-concept--route::after { content: ""; position: absolute; left: 32%; top: 14%; width: 44%; height: 60%; border: 3px dashed var(--c1); border-width: 0 0 3px 3px; border-radius: 0 0 0 65%; transform: rotate(-18deg); }
.dj-case-concept--route .dj-case-concept__device { width: 25%; height: 48%; right: 12%; bottom: 10%; }
.dj-case-concept--hospitality .dj-case-concept__device { right: 10%; bottom: -30%; width: 44%; height: 110%; border-radius: 999px 999px 0 0; transform: none; background: linear-gradient(180deg, color-mix(in srgb, var(--c1) 45%, transparent), var(--dark)); }
.dj-case-concept--commerce .dj-case-concept__device { width: 54%; height: 62%; right: -4%; bottom: 4%; transform: rotate(-8deg); }
.dj-case-concept--education .dj-case-concept__device { width: 54%; height: 64%; right: -4%; bottom: 5%; transform: rotate(4deg); border-radius: 50% 8px 8px 50%; }
.dj-case-concept--charity::after { content: "+"; position: absolute; right: 13%; top: 20%; width: 25%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: var(--c1); color: #fff; font: 300 3rem/1 var(--head); box-shadow: 0 15px 30px rgba(0,0,0,.18); }.dj-case-concept--charity .dj-case-concept__device { display: none; }

@media (max-width: 860px) { .dj-case-card-v2__body { min-height: 190px; }.dj-case-card-v2__visual { aspect-ratio: 1.85 / 1; } }
@media (max-width: 560px) { .dj-case-card.dj-case-card-v2 { min-height: 0; }.dj-case-card-v2__body { min-height: 180px; }.dj-case-card-v2__visual { aspect-ratio: 1.75 / 1; } }

/* Архив кейсов v3 — редакционная витрина без masonry-разрывов. */
.dj-case-archive { padding: 0; background: #F3F5F8; }
.dj-case-archive .dj-case-archive__hero { position: relative; display: block; overflow: hidden; margin-bottom: 0; color: #fff; background: var(--navy); border-bottom: 1px solid rgba(255,255,255,.16); }
.dj-case-archive__hero::before { content: ""; position: absolute; right: -13vw; top: -22vw; width: 58vw; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; box-shadow: 0 0 0 7vw rgba(255,255,255,.025), 0 0 0 14vw rgba(255,255,255,.02); }
.dj-case-archive__hero-grid { position: relative; z-index: 1; min-height: clamp(470px, 56vh, 610px); display: grid; grid-template-columns: minmax(0, 7fr) minmax(300px, 4fr); gap: clamp(3rem, 6vw, 7rem); align-items: end; padding-block: clamp(4rem, 6.5vw, 6.5rem) clamp(3.5rem, 5.5vw, 5.5rem); }
.dj-case-archive__copy .dj-lbl { color: var(--orange); }
.dj-case-archive__copy h1 { max-width: 10.4ch; margin: 1.25rem 0 1.5rem; color: #fff; font-size: clamp(3rem, 1.2rem + 4.1vw, 5.5rem); line-height: .91; letter-spacing: -.06em; }
.dj-case-archive__copy h1 em { color: var(--orange); font-style: normal; }
.dj-case-archive .dj-case-archive__copy > p { max-width: 52ch; color: rgba(255,255,255,.72); font-size: clamp(.98rem, .92rem + .25vw, 1.12rem); line-height: 1.6; }
.dj-case-archive__proof { border-top: 1px solid rgba(255,255,255,.3); }
.dj-case-archive__proof > div { min-height: 100px; display: grid; grid-template-columns: 5.75rem 1fr; gap: 1rem; align-items: center; border-bottom: 1px solid rgba(255,255,255,.2); }
.dj-case-archive__proof strong { color: var(--orange); font: 800 clamp(2.6rem, 2rem + 1.45vw, 3.8rem)/1 var(--head); letter-spacing: -.06em; }
.dj-case-archive__proof span { color: rgba(255,255,255,.78); font-size: .92rem; line-height: 1.35; }
.dj-case-archive__proof > p { margin-top: 1.2rem; color: rgba(255,255,255,.48); font: .64rem/1.6 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.dj-case-archive__marquee { position: relative; z-index: 1; min-height: 52px; padding-inline: max(var(--pad), calc((100vw - var(--maxw)) / 2 + var(--pad))); display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.58); font: 700 .64rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.dj-case-archive__marquee i { width: 5px; height: 5px; border-radius: 50%; background: var(--orange); }
.dj-case-archive__content { padding-block: clamp(3.5rem, 6.5vw, 6.5rem); }
.dj-case-archive__section-head { margin-bottom: clamp(1.7rem, 3vw, 2.7rem); display: grid; grid-template-columns: 7fr 4fr; gap: 2rem; align-items: end; }
.dj-case-archive__section-head > div { display: flex; align-items: baseline; gap: 1rem; }
.dj-case-archive__section-head .dj-case-archive__index { color: var(--orange); font: 700 .68rem/1 var(--mono); letter-spacing: .1em; }
.dj-case-archive__section-head h2 { color: var(--navy); font-size: clamp(1.9rem, 1.2rem + 1.6vw, 3rem); line-height: .97; letter-spacing: -.045em; }
.dj-case-archive__section-head p { max-width: 42ch; color: var(--muted); font-size: .94rem; line-height: 1.55; }
.dj-case-archive__section-head.is-more { margin-top: clamp(4rem, 6vw, 6rem); }
.dj-case-archive__featured { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); }
.dj-case-archive__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 1.7vw, 1.5rem); border: 0; background: transparent; }
.dj-case-card-v3 { min-width: 0; display: grid; grid-template-rows: auto 1fr; overflow: hidden; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 26px 54px -42px rgba(18,22,43,.38); transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out), border-color .3s var(--ease); }
.dj-case-card-v3:hover { transform: translateY(-5px); border-color: #C9D0DC; box-shadow: 0 34px 68px -38px rgba(18,22,43,.48); }
.dj-case-card-v3__visual { position: relative; min-height: 214px; overflow: hidden; background: #E5E9F0; border-bottom: 1px solid var(--line); }
.dj-case-card-v3.is-featured .dj-case-card-v3__visual { min-height: clamp(240px, 24vw, 330px); }
.dj-case-card-v3__visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .75s var(--ease-out); }
.dj-case-card-v3:hover .dj-case-card-v3__visual > img { transform: scale(1.035); }
.dj-case-card-v3__body { min-height: 230px; padding: clamp(1.3rem, 2.2vw, 2.1rem); display: flex; flex-direction: column; position: relative; }
.dj-case-card-v3.is-featured .dj-case-card-v3__body { min-height: 245px; }
.dj-case-card-v3__meta { min-height: 2.1rem; display: grid; grid-template-columns: 2rem 1fr; gap: .65rem; color: var(--muted); font: 700 .61rem/1.45 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.dj-case-card-v3__meta span:first-child { color: var(--orange); }
.dj-case-card-v3 h2 { margin-top: clamp(1.1rem, 1.7vw, 1.65rem); color: var(--navy); font-size: clamp(1.55rem, 1.2rem + .8vw, 2.1rem); line-height: 1; letter-spacing: -.04em; }
.dj-case-card-v3 h2 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.dj-case-card-v3 p { margin-top: .65rem; color: #343B54; font-size: .96rem; font-weight: 700; line-height: 1.35; }
.dj-case-card-v3__action { margin-top: auto; padding-top: 1.6rem; color: var(--orange); font: 700 .66rem/1 var(--head); letter-spacing: .12em; text-transform: uppercase; }
.dj-case-card-v3__action a { display: flex; align-items: center; justify-content: space-between; }
.dj-case-card-v3__action b { font-size: 1.1rem; transition: transform .3s var(--ease); }
.dj-case-card-v3:hover .dj-case-card-v3__action b { transform: translate(3px,-3px); }

@media (max-width: 960px) {
	.dj-case-archive__hero-grid { grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr); gap: 3rem; }
	.dj-case-archive__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.dj-case-archive__hero-grid, .dj-case-archive__section-head { grid-template-columns: 1fr; }
	.dj-case-archive__hero-grid { min-height: 0; align-items: start; padding-block: 4.5rem 3.5rem; }
	.dj-case-archive__copy h1 { font-size: clamp(2.75rem, 12vw, 4.5rem); }
	.dj-case-archive__proof { max-width: 460px; }
	.dj-case-archive__marquee { justify-content: flex-start; overflow: hidden; }
	.dj-case-archive__marquee span:nth-of-type(n+4), .dj-case-archive__marquee span:nth-of-type(n+4) + i { display: none; }
	.dj-case-archive__featured { grid-template-columns: 1fr; }
	.dj-case-card-v3.is-featured .dj-case-card-v3__visual { min-height: clamp(230px, 57vw, 360px); }
}
@media (max-width: 520px) {
	.dj-case-archive__grid { grid-template-columns: 1fr; }
	.dj-case-archive__section-head > div { display: grid; grid-template-columns: 2rem 1fr; gap: .6rem; }
	.dj-case-card-v3__visual { min-height: 58vw; }
	.dj-case-card-v3__body, .dj-case-card-v3.is-featured .dj-case-card-v3__body { min-height: 225px; }
}

/* --- 404 ----------------------------------------------------------------- */
.dj-404 { padding-block: clamp(4rem, 9vw, 9rem); text-align: center; }
.dj-404__n { font-family: var(--head); font-weight: 800; font-size: clamp(5rem, 3rem + 12vw, 14rem); line-height: .8; letter-spacing: -.06em; color: var(--navy); }
.dj-404__n em { font-style: normal; color: var(--orange); }
.dj-404 p { color: var(--muted); margin: 1.5rem auto 2rem; max-width: 40ch; }

/* --- служебное для редактора WordPress ----------------------------------- */
.wp-block-group.dj-section { padding-block: clamp(3rem, 6vw, 6rem); }
.dj-page main { display: block; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dj-skip { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--orange); color: #fff; padding: .7rem 1.1rem; font-weight: 700; }
.dj-skip:focus { left: 0; }

/* --- перенесённые секции текущего сайта в языке E ------------------------ */
/* клиенты */
.dj-logos { padding-block: clamp(2rem, 4vw, 3.25rem); }
.dj-logos__in { display: flex; align-items: center; gap: 1rem clamp(1.5rem, 3vw, 3rem); flex-wrap: wrap; justify-content: center; padding-block: 1.5rem; border-block: 1px solid var(--line); }
.dj-logos__l { font-family: var(--mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-right: auto; }
.dj-logos__in span { font-family: var(--head); font-weight: 800; font-size: clamp(1rem, .9rem + .5vw, 1.35rem); letter-spacing: -.025em; color: #AEB6C4; transition: color .3s var(--ease); }
.dj-logos__in span:hover { color: var(--navy); }
@media (max-width: 760px) { .dj-logos__l { margin-right: 0; width: 100%; } }

/* карточки с объёмом — «процесс», «почему мы», «отрасли».
   Панель та же, что везде в системе, но приподнята мягкой тенью:
   страница перестаёт быть плоской, язык остаётся одним. */
.dj-scards { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 1.6vw, 1.5rem); }
.dj-scards--2 { grid-template-columns: repeat(2, 1fr); }
.dj-scard { background: var(--paper); border: 1px solid var(--line); border-radius: 10px; padding: clamp(1.4rem, 2.2vw, 2rem); position: relative; transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out), border-color .35s var(--ease); box-shadow: 0 2px 4px rgba(31,37,68,.03), 0 26px 50px -34px rgba(31,37,68,.38); }
.dj-scard:hover { transform: translateY(-4px); border-color: transparent; box-shadow: 0 4px 8px rgba(31,37,68,.05), 0 34px 62px -32px rgba(31,37,68,.45); }
.dj-scard__n { font-family: var(--head); font-weight: 800; font-size: clamp(2.1rem, 1.6rem + 1.6vw, 3rem); line-height: 1; letter-spacing: -.02em; color: transparent; -webkit-text-stroke: 1.6px var(--orange); font-variant-numeric: tabular-nums; }
.dj-scard h3 { font-family: var(--head); font-weight: 800; font-size: clamp(1.05rem, .95rem + .5vw, 1.32rem); letter-spacing: -.028em; margin: clamp(1rem, 1.6vw, 1.5rem) 0 .6rem; }
.dj-scard p { color: var(--muted); font-size: .93rem; line-height: 1.65; }
.dj-scard__m { margin-top: .8rem; font-family: var(--mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--line-strong); }
@media (max-width: 940px) { .dj-scards, .dj-scards--2 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .dj-scards, .dj-scards--2 { grid-template-columns: 1fr; } }

/* тот же подъём — карточкам услуг, чтобы объём был системным, а не точечным */
.dj-card { box-shadow: 0 2px 4px rgba(31,37,68,.03), 0 24px 46px -34px rgba(31,37,68,.34); }
.dj-card:hover { box-shadow: 0 4px 8px rgba(31,37,68,.05), 0 32px 58px -32px rgba(31,37,68,.42); }

/* ===========================================================================
   UI-KIT — живая документация системы
   ========================================================================= */
.uk-sec { padding-block: clamp(2.5rem, 5vw, 4.5rem); border-top: 1px solid var(--line); }
.uk-sec:first-of-type { border-top: 0; }
.uk-sec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 2rem; flex-wrap: wrap; margin-bottom: clamp(1.5rem, 2.6vw, 2.25rem); }
.uk-sec__head h2 { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2.1rem); letter-spacing: -.03em; margin-top: .6rem; }
.uk-sec__head p { color: var(--muted); font-size: .92rem; max-width: 44ch; }
.uk-grid { display: grid; gap: clamp(.8rem, 1.4vw, 1.25rem); }
.uk-grid--4 { grid-template-columns: repeat(4, 1fr); }
.uk-grid--3 { grid-template-columns: repeat(3, 1fr); }
.uk-grid--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 900px) { .uk-grid--4 { grid-template-columns: repeat(2, 1fr); } .uk-grid--3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .uk-grid--4, .uk-grid--3, .uk-grid--2 { grid-template-columns: 1fr; } }

.uk-panel { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: clamp(1.1rem, 1.8vw, 1.6rem); }
.uk-panel__l { font-family: var(--mono); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: .9rem; display: block; }
.uk-row { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }

/* палитра */
.uk-sw__chip { height: 92px; border-radius: 4px; border: 1px solid rgba(31,37,68,.08); }
.uk-sw__n { font-family: var(--head); font-weight: 700; font-size: .92rem; margin-top: .7rem; }
.uk-sw__hex { font-family: var(--mono); font-size: .68rem; color: var(--muted); letter-spacing: .04em; }
.uk-sw__tok { font-family: var(--mono); font-size: .6rem; color: var(--line-strong); letter-spacing: .06em; }

/* логотип */
.uk-logo { display: grid; place-items: center; gap: 1.25rem; padding: 2rem 1.25rem 1rem; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); }
.uk-logo svg { height: 34px; width: auto; }
.uk-logo .lg-mark { fill: var(--navy); }
.uk-logo .lg-flame { fill: var(--orange); }
.uk-logo__cap { width: 100%; text-align: center; border-top: 1px solid var(--line); padding-top: .8rem; font-family: var(--mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.uk-logo--bg { background: var(--bg); }
.uk-logo--soft { background: var(--soft); }
.uk-logo--mono .lg-flame { fill: var(--navy); }
.uk-logo--peach { background: var(--peach); }
.uk-logo--clear { outline: 1px dashed var(--orange); outline-offset: -18px; }
.uk-dont .lg-mark, .uk-dont .lg-flame { fill: #9AA2B1; }
.uk-dont--stretch svg { transform: scaleX(1.5); }
.uk-dont--color .lg-mark { fill: #1E8E5A; } .uk-dont--color .lg-flame { fill: #1E8E5A; }
.uk-dont--low { background: var(--peach); } .uk-dont--low .lg-mark, .uk-dont--low .lg-flame { fill: #FFD3C2; }
.uk-dont .uk-logo__cap { color: #C0392B; }

/* типографика */
.uk-type { display: grid; grid-template-columns: 180px 1fr; gap: 1.5rem; align-items: baseline; padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.uk-type:last-child { border-bottom: 0; }
.uk-type__meta { font-family: var(--mono); font-size: .62rem; letter-spacing: .08em; color: var(--muted); }
.uk-type__meta b { display: block; font-family: var(--head); font-size: .88rem; color: var(--navy); letter-spacing: 0; margin-bottom: .25rem; }
.uk-type__ex { min-width: 0; overflow: hidden; }
@media (max-width: 760px) { .uk-type { grid-template-columns: 1fr; gap: .5rem; } }

.uk-note { font-family: var(--mono); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; color: var(--line-strong); margin-top: .8rem; }
.uk-motion li { display: flex; gap: .8rem; align-items: baseline; padding: .6rem 0; border-top: 1px solid var(--line); font-size: .92rem; color: var(--muted); }
.uk-motion li::before { content: ""; width: 5px; height: 5px; background: var(--orange); flex: 0 0 auto; }
.uk-motion li b { color: var(--navy); font-family: var(--head); font-weight: 700; }

/* ===========================================================================
   БЛОК «НАМ ДОВЕРЯЮТ» — сетка логотипов с хайрлайнами
   ========================================================================= */
.dj-clients { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.dj-clients__head { display: flex; align-items: baseline; justify-content: space-between; gap: 2rem; flex-wrap: wrap; margin-bottom: clamp(1.5rem, 2.6vw, 2.25rem); }
.dj-clients__head p { color: var(--muted); font-size: .92rem; max-width: 44ch; }
.dj-clients__grid { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.dj-client { display: grid; place-items: center; min-height: clamp(96px, 9vw, 128px); padding: 1.25rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #A9B1C0; transition: color .35s var(--ease), background .35s var(--ease); }
.dj-client:nth-child(4n) { border-right: 0; }
.dj-client:nth-last-child(-n+4) { border-bottom: 0; }
.dj-client:hover { color: var(--navy); background: var(--soft); }
.dj-client__in { display: flex; align-items: center; gap: .65rem; flex-wrap: nowrap; }
.dj-client__mark { flex: 0 0 auto; height: 28px; width: auto; color: currentColor; }
.dj-client__mark .accent { fill: var(--orange); opacity: 0; transition: opacity .35s var(--ease); }
.dj-client:hover .dj-client__mark .accent { opacity: 1; }
.dj-client__wm { font-family: var(--head); font-weight: 800; font-size: 1.02rem; letter-spacing: -.02em; line-height: 1; white-space: nowrap; }
.dj-client__wm i { font-style: normal; font-weight: 500; }
.dj-client__wm small { display: block; font-size: .5rem; font-weight: 700; letter-spacing: .22em; margin-top: .28rem; opacity: .75; }
.dj-client--wide .dj-client__wm { letter-spacing: .16em; font-weight: 700; font-size: .88rem; text-transform: uppercase; }
.dj-client--serif .dj-client__wm { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: .08em; font-size: 1.08rem; }
.dj-client--more { color: var(--line-strong); font-family: var(--mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; text-align: center; }
.dj-client--more:hover { background: transparent; color: var(--line-strong); }
@media (max-width: 900px) {
	.dj-clients__grid { grid-template-columns: repeat(2, 1fr); }
	.dj-client:nth-child(4n) { border-right: 1px solid var(--line); }
	.dj-client:nth-child(2n) { border-right: 0; }
	.dj-client:nth-last-child(-n+4) { border-bottom: 1px solid var(--line); }
	.dj-client:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 520px) {
	.dj-clients__grid { grid-template-columns: 1fr; }
	.dj-client { border-right: 0 !important; border-bottom: 1px solid var(--line) !important; }
	.dj-client:last-child { border-bottom: 0 !important; }
}

/* ===========================================================================
   ЭТАПЫ НА ОДНОЙ ОСИ — «Как мы доводим проект до запуска»
   ========================================================================= */
.dj-flow { --flow-gap: clamp(1rem, 1.6vw, 1.5rem); display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--flow-gap); position: relative; }
.dj-flow__i { position: relative; }
/* соединитель рисуем между узлами, а не одной линией на всю ширину —
   иначе он выходит за последний шаг */
.dj-flow__i::after { content: ""; position: absolute; left: 58px; width: calc(100% - 58px + var(--flow-gap)); top: 29px; height: 1px; background: var(--line-strong); }
.dj-flow__i:last-child::after { display: none; }
.dj-flow__n { position: relative; z-index: 1; width: 58px; height: 58px; border-radius: 50%; background: var(--paper); border: 1px solid var(--line-strong); display: grid; place-items: center; font-family: var(--head); font-weight: 800; font-size: .95rem; color: var(--orange); font-variant-numeric: tabular-nums; transition: border-color .35s var(--ease), transform .45s var(--ease-out), box-shadow .45s var(--ease-out); }
.dj-flow__i:hover .dj-flow__n { border-color: var(--orange); transform: translateY(-3px); box-shadow: 0 14px 26px -16px rgba(255,90,44,.55); }
.dj-flow__t { margin-top: clamp(1rem, 1.6vw, 1.35rem); font-family: var(--head); font-weight: 800; font-size: clamp(1rem, .95rem + .35vw, 1.2rem); letter-spacing: -.025em; }
.dj-flow__d { margin-top: .5rem; color: var(--muted); font-size: .9rem; line-height: 1.6; }
@media (max-width: 1000px) {
	.dj-flow { grid-template-columns: 1fr; gap: 0; }
	.dj-flow__i::after { left: 29px; top: 58px; width: 1px; height: calc(100% - 58px); }
	.dj-flow__i { display: grid; grid-template-columns: 58px 1fr; gap: 1.25rem; padding-bottom: 1.75rem; }
	.dj-flow__t { margin-top: .8rem; grid-column: 2; }
	.dj-flow__d { grid-column: 2; }
	.dj-flow__n { grid-row: span 3; }
}

/* ===========================================================================
   ОТРАСЛИ — издательский перечень строк
   ========================================================================= */
.dj-ind { border-top: 1px solid var(--navy); }
.dj-ind__row { display: grid; grid-template-columns: 3rem minmax(150px, 1fr) 1.7fr 1.4rem; gap: clamp(1rem, 2vw, 2rem); align-items: baseline; padding: clamp(1.1rem, 1.8vw, 1.5rem) 0; border-bottom: 1px solid var(--line); position: relative; }
.dj-ind__row::before { content: ""; position: absolute; left: calc(var(--pad) * -1); right: calc(var(--pad) * -1); top: 0; bottom: 0; background: var(--paper); opacity: 0; transition: opacity .35s var(--ease); z-index: -1; }
.dj-ind__row:hover::before { opacity: 1; }
.dj-ind__row::after { content: ""; position: absolute; left: 0; top: -1px; height: 1px; width: 0; background: var(--orange); transition: width .55s var(--ease-out); }
.dj-ind__row:hover::after { width: 100%; }
.dj-ind__n { font-family: var(--mono); font-size: .66rem; letter-spacing: .12em; color: var(--muted); }
.dj-ind__t { font-family: var(--head); font-weight: 800; font-size: clamp(1.2rem, 1rem + 1.1vw, 2rem); letter-spacing: -.032em; transition: color .3s var(--ease), transform .45s var(--ease-out); }
.dj-ind__row:hover .dj-ind__t { color: var(--orange); transform: translateX(4px); }
.dj-ind__d { color: var(--muted); font-size: .95rem; line-height: 1.6; }
.dj-ind__a { width: 15px; height: 15px; color: var(--muted); opacity: 0; transform: translateX(-6px); transition: opacity .35s var(--ease), transform .35s var(--ease-out), color .3s var(--ease); justify-self: end; align-self: center; }
.dj-ind__row:hover .dj-ind__a { opacity: 1; transform: none; color: var(--orange); }
.dj-ind__note { margin-top: clamp(1.5rem, 2.6vw, 2.25rem); display: flex; gap: .9rem; align-items: flex-start; font-size: clamp(1rem, .95rem + .4vw, 1.2rem); line-height: 1.6; color: var(--navy); max-width: 62ch; }
.dj-ind__note i { flex: 0 0 auto; width: 22px; height: 2px; background: var(--orange); margin-top: .7em; }
@media (max-width: 820px) {
	.dj-ind__row { grid-template-columns: 2.4rem 1fr; row-gap: .5rem; }
	.dj-ind__d { grid-column: 2; }
	.dj-ind__a { display: none; }
	.dj-ind__row:hover .dj-ind__t { transform: none; }
}

/* пять карточек: последняя занимает две колонки, чтобы не оставалась дырка */
.dj-scards--5 > :last-child { grid-column: span 2; }
@media (max-width: 600px) { .dj-scards--5 > :last-child { grid-column: span 1; } }

/* --- форма первого контакта: одна колонка, без «технического ТЗ» --------- */
.dj-form__panel--single { display: block; max-width: 900px; margin: 0 auto; }
.dj-form__panel--single .dj-form__main { border-right: 0; padding: clamp(1.5rem, 3vw, 2.75rem); }
.dj-form__head--center { text-align: center; max-width: 46ch; margin-inline: auto; }
.dj-form__trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(.85rem, 1.5vw, 1.15rem); }
@media (max-width: 760px) { .dj-form__trio { grid-template-columns: 1fr; } }
.dj-form__submit { display: grid; justify-items: center; gap: .8rem; margin-top: .5rem; }
.dj-form__submit .dj-btn { min-width: 240px; justify-content: center; }
.dj-form__legal { font-size: .8rem; color: var(--muted); text-align: center; max-width: 46ch; line-height: 1.5; }
.dj-form__legal a { color: var(--navy); text-decoration: underline; text-underline-offset: .2em; }
.dj-form__legal a:hover { color: var(--orange-deep); }
.dj-form__bar { margin-top: clamp(1.25rem, 2.4vw, 2rem); padding-top: 1.1rem; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 2.4vw, 2.5rem); flex-wrap: wrap; }
.dj-form__bar a, .dj-form__bar span { font-family: var(--head); font-weight: 700; font-size: .92rem; }
.dj-form__bar span { font-family: var(--mono); font-weight: 400; font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.dj-form__bar a:hover { color: var(--orange); }
.dj-form__status:empty { display: none; }
.dj-form.is-sent .dj-form__submit { opacity: .45; pointer-events: none; }

/* ===========================================================================
   ВНУТРЕННИЕ СТРАНИЦЫ — общий язык Light Technology
   ======================================================================== */
.dj-inner-hero { position: relative; min-height: clamp(480px, 55vw, 640px); overflow: hidden; border-bottom: 1px solid var(--line); background: var(--bg); }
.dj-inner-hero .dj-grid { position: absolute; inset: 0; pointer-events: none; opacity: .72; -webkit-mask-image: linear-gradient(to bottom, #000 0 60%, transparent 100%); mask-image: linear-gradient(to bottom, #000 0 60%, transparent 100%); }
.dj-inner-hero .dj-grid__cols { width: min(calc(100% - 2 * var(--pad)), var(--maxw)); height: 100%; margin: auto; display: grid; grid-template-columns: repeat(12, 1fr); }
.dj-inner-hero .dj-grid__cols span { border-left: 1px solid rgba(31,37,68,.045); }
.dj-inner-hero .dj-grid__cols span:last-child { border-right: 1px solid rgba(31,37,68,.045); }
.dj-inner-hero__in { position: relative; z-index: 1; min-height: inherit; display: grid; grid-template-columns: minmax(0, 7fr) minmax(340px, 5fr); gap: clamp(3rem, 5vw, 5.5rem); align-items: center; padding-block: clamp(4rem, 6.5vw, 6.5rem); }
.dj-inner-hero__copy { max-width: 780px; }
.dj-inner-hero__copy h1 { max-width: 13ch; margin: 1.1rem 0 1.4rem; font-size: clamp(2.8rem, 1.5rem + 3.35vw, 5.3rem); line-height: .95; letter-spacing: -.052em; }
.dj-inner-hero__copy h1 em { color: var(--orange); font-style: normal; }
.dj-inner-hero--document .dj-inner-hero__copy h1 { max-width: 16ch; font-size: clamp(2.55rem, 1.6rem + 2.2vw, 4.25rem); }
.dj-inner-hero__copy > p { max-width: 64ch; color: var(--muted); font-size: clamp(.98rem, .92rem + .25vw, 1.12rem); line-height: 1.65; }
.dj-inner-hero__meta { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: clamp(1.8rem, 3vw, 2.75rem); }
.dj-inner-hero__meta span { padding: .58rem .8rem; border: 1px solid var(--line-strong); background: rgba(255,255,255,.66); font-family: var(--mono); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }

/* Абстрактная инженерная схема в hero: не иллюстрация ради иллюстрации,
   а визуальная модель связанных слоёв продукта. */
.dj-schematic { --sc-a: var(--orange); --sc-b: var(--navy); position: relative; width: min(100%, 510px); aspect-ratio: 1 / .88; justify-self: end; }
.dj-schematic::before { content: ""; position: absolute; inset: 3% 0 12% 10%; background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(255,255,255,.28)); border: 1px solid var(--line-strong); box-shadow: 0 35px 80px -55px rgba(31,37,68,.55); }
.dj-schematic::after { content: ""; position: absolute; width: 52%; aspect-ratio: 1; right: -5%; top: -5%; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--sc-a) 48%, transparent); background: repeating-radial-gradient(circle, transparent 0 17px, color-mix(in srgb, var(--sc-a) 13%, transparent) 18px 19px); }
.dj-schematic__frame { position: absolute; z-index: 2; inset: 13% 8% 22% 20%; border: 1px solid var(--navy); background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(238,241,246,.76)); overflow: hidden; }
.dj-schematic__frame::before { content: "SYSTEM / 01"; display: block; padding: .65rem .8rem; border-bottom: 1px solid var(--line); font: .6rem/1 var(--mono); letter-spacing: .13em; color: var(--muted); }
.dj-schematic__frame::after { content: ""; position: absolute; left: 9%; right: 9%; top: 32%; height: 1px; background: var(--line-strong); box-shadow: 0 58px 0 var(--line-strong), 0 116px 0 var(--line-strong); }
.dj-schematic__frame i { position: absolute; z-index: 2; width: clamp(32px, 4.2vw, 58px); aspect-ratio: 1; border: 1px solid var(--navy); background: var(--paper); transform: rotate(45deg); }
.dj-schematic__frame i:nth-child(1) { left: 10%; top: 23%; border-color: var(--sc-a); background: var(--sc-a); }
.dj-schematic__frame i:nth-child(2) { left: 43%; top: 48%; }
.dj-schematic__frame i:nth-child(3) { right: 9%; top: 25%; border-radius: 50%; transform: none; }
.dj-schematic__frame b { position: absolute; z-index: 1; height: 1px; transform-origin: left center; background: var(--navy); opacity: .7; }
.dj-schematic__frame b:nth-of-type(1) { left: 18%; top: 35%; width: 38%; transform: rotate(25deg); }
.dj-schematic__frame b:nth-of-type(2) { left: 52%; top: 57%; width: 35%; transform: rotate(-29deg); }
.dj-schematic__frame b:nth-of-type(3) { left: 18%; top: 37%; width: 63%; transform: rotate(-3deg); }
.dj-schematic > span { position: absolute; z-index: 3; left: 20%; bottom: 7%; font: .6rem/1 var(--mono); letter-spacing: .14em; color: var(--muted); }
.dj-schematic--mobile { --sc-a: #FF5A2C; }
.dj-schematic--web { --sc-a: #376CF6; }
.dj-schematic--saas { --sc-a: #7B61FF; }
.dj-schematic--ai { --sc-a: #1AA77A; }
.dj-schematic--backend { --sc-a: #F0A51A; }
.dj-schematic--product { --sc-a: #FF5A2C; }

.dj-inner-section { position: relative; padding-block: clamp(3.75rem, 6.5vw, 6.5rem); border-bottom: 1px solid var(--line); }
.dj-band-paper { background: var(--paper); }
.dj-band-dark { background: linear-gradient(135deg, var(--peach-soft), var(--soft) 70%); }
.dj-inner-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(260px, 4fr); gap: clamp(2rem, 6vw, 7rem); align-items: end; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.dj-inner-head h2 { max-width: 15ch; margin-top: .9rem; font-size: clamp(2rem, 1.4rem + 1.9vw, 3.7rem); line-height: .98; letter-spacing: -.045em; }
.dj-inner-head > p { max-width: 52ch; color: var(--muted); line-height: 1.7; }
.dj-inner-split { display: grid; grid-template-columns: minmax(280px, 5fr) minmax(0, 7fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; }
.dj-inner-split .dj-inner-head { display: block; margin: 0; position: sticky; top: 8rem; }
.dj-long-copy { display: grid; gap: 1.5rem; font-size: clamp(1.08rem, .98rem + .35vw, 1.28rem); line-height: 1.75; }
.dj-long-copy p:first-child { font-family: var(--head); font-weight: 700; color: var(--navy); }

.dj-inner-stats { background: var(--navy); color: #fff; }
.dj-inner-stats .dj-wrap { display: grid; grid-template-columns: repeat(3, 1fr); }
.dj-inner-stats .dj-wrap > div { min-height: 210px; padding: clamp(2rem, 4vw, 4rem); border-left: 1px solid rgba(255,255,255,.14); display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; }
.dj-inner-stats .dj-wrap > div:last-child { border-right: 1px solid rgba(255,255,255,.14); }
.dj-inner-stats strong { color: var(--orange); font: 800 clamp(3rem, 2.25rem + 2.2vw, 5rem)/.92 var(--head); letter-spacing: -.055em; }
.dj-inner-stats span { max-width: 24ch; color: rgba(255,255,255,.72); line-height: 1.5; }

.dj-info-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--navy); border-left: 1px solid var(--line); }
.dj-info-grid--3 { grid-template-columns: repeat(3, 1fr); }
.dj-info-card { min-height: 250px; padding: clamp(1.5rem, 2.7vw, 2.7rem); background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; transition: background .35s var(--ease), transform .4s var(--ease-out), box-shadow .4s var(--ease-out); }
.dj-info-card:hover { position: relative; z-index: 2; background: var(--soft); transform: translateY(-4px); box-shadow: 0 28px 60px -44px rgba(31,37,68,.65); }
.dj-info-card .dj-mono { color: var(--orange); }
.dj-info-card h3 { margin: auto 0 .75rem; font-size: clamp(1.2rem, 1rem + .65vw, 1.7rem); }
.dj-info-card p { max-width: 42ch; color: var(--muted); font-size: .94rem; line-height: 1.65; }
.dj-card-link { margin-top: 1rem; color: var(--orange); font: 700 .68rem/1 var(--head); font-style: normal; letter-spacing: .08em; text-transform: uppercase; }
.dj-service-answer { align-self: center; max-width: 60ch; padding: clamp(1.5rem, 3vw, 2.75rem); border: 1px solid var(--line); border-left: 3px solid var(--orange); background: var(--paper); }
.dj-service-answer p { color: #3B4256; font-size: clamp(1.05rem, .98rem + .3vw, 1.2rem); line-height: 1.75; }
.dj-service-answer a { display: inline-flex; margin-top: 1.35rem; color: var(--orange); font: 700 .74rem/1 var(--head); letter-spacing: .08em; text-transform: uppercase; }

.dj-feature-list { counter-reset: feature; border-top: 1px solid var(--navy); }
.dj-feature-list li { counter-increment: feature; display: grid; grid-template-columns: 3.5rem 1fr; gap: 1rem; align-items: baseline; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.dj-feature-list li b { font: 400 .68rem/1 var(--mono); letter-spacing: .12em; color: var(--orange); }
.dj-feature-list li span { font-family: var(--head); font-weight: 700; font-size: clamp(1rem, .94rem + .3vw, 1.2rem); }
.dj-feature-list--grid { display: grid; grid-template-columns: repeat(2, 1fr); border-left: 1px solid var(--line); }
.dj-feature-list--grid li { min-height: 110px; padding: 1.5rem; border-right: 1px solid var(--line); }
.dj-tech-cloud { display: flex; flex-wrap: wrap; gap: .75rem; }
.dj-tech-cloud span { padding: .85rem 1.1rem; border: 1px solid var(--line-strong); background: var(--paper); font: .68rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: border-color .25s, color .25s, transform .25s; }
.dj-tech-cloud span:hover { border-color: var(--orange); color: var(--orange); transform: translateY(-2px); }

.dj-mini-timeline { display: grid; grid-template-columns: repeat(6, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--navy); }
.dj-mini-timeline li { position: relative; min-height: 250px; padding: 1.6rem 1.25rem; border-right: 1px solid var(--line-strong); }
.dj-mini-timeline li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; background: var(--orange); }
.dj-mini-timeline b { font: 400 .68rem/1 var(--mono); color: var(--orange); }
.dj-mini-timeline h3 { margin: 3.5rem 0 .75rem; font-size: 1.1rem; }
.dj-mini-timeline p { color: var(--muted); font-size: .88rem; line-height: 1.55; }
.dj-mini-timeline span { position: absolute; left: 1.25rem; bottom: 1.5rem; font: .58rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }

.dj-related { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--navy); border-left: 1px solid var(--line); }
.dj-related a { min-height: 240px; padding: clamp(1.5rem, 2.6vw, 2.5rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; transition: background .35s, color .35s; }
.dj-related a:hover { background: var(--navy); color: #fff; }
.dj-related a:hover .dj-mono { color: rgba(255,255,255,.52); }
.dj-related h3 { margin: auto 0 1rem; font-size: clamp(1.6rem, 1.25rem + 1vw, 2.5rem); }
.dj-related i { color: var(--orange); font: normal 700 .78rem/1 var(--head); }

.dj-faq { border-top: 1px solid var(--navy); }
.dj-faq details { border-bottom: 1px solid var(--line); }
.dj-faq summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; cursor: pointer; list-style: none; font-family: var(--head); font-weight: 700; font-size: clamp(1rem, .95rem + .35vw, 1.2rem); }
.dj-faq summary::-webkit-details-marker { display: none; }
.dj-faq summary i { color: var(--orange); font: normal 300 1.7rem/1 var(--head); transition: transform .3s; }
.dj-faq details[open] summary i { transform: rotate(45deg); }
.dj-faq details p { max-width: 62ch; padding: 0 3rem 1.5rem 0; color: var(--muted); line-height: 1.7; }

.dj-product-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--navy); }
.dj-product-strip article { min-height: 230px; padding: 1.75rem; border-right: 1px solid var(--line-strong); }
.dj-product-strip article > span { font: .66rem/1 var(--mono); color: var(--orange); }
.dj-product-strip h3 { margin: 4rem 0 .75rem; font-size: clamp(1.5rem, 1.2rem + 1vw, 2.3rem); }
.dj-product-strip p { color: var(--muted); line-height: 1.6; }

.dj-service-index { border-top: 1px solid var(--navy); }
.dj-service-index > a { display: grid; grid-template-columns: 2fr 2.5fr 4fr 1fr; gap: clamp(1rem, 2.5vw, 3rem); align-items: center; min-height: 142px; padding: 1.5rem 0; border-bottom: 1px solid var(--line); transition: color .25s; }
.dj-service-index > a::before { content: ""; position: absolute; left: 0; width: 3px; height: 0; background: var(--orange); transition: height .35s var(--ease); }
.dj-service-index > a { position: relative; }
.dj-service-index > a:hover::before { height: 55%; }
.dj-service-index h2 { font-size: clamp(1.3rem, 1rem + 1vw, 2rem); }
.dj-service-index p { color: var(--muted); font-size: .92rem; line-height: 1.6; }
.dj-service-index i { justify-self: end; color: var(--orange); font: normal 700 .75rem/1 var(--head); white-space: nowrap; }

.dj-industry-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--navy); border-left: 1px solid var(--line); }
.dj-industry-grid article { min-height: 330px; padding: clamp(1.35rem, 2.2vw, 2rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; background: var(--paper); }
.dj-industry-grid h2 { margin: 2.5rem 0 .8rem; font-size: clamp(1.25rem, 1.05rem + .55vw, 1.65rem); }
.dj-industry-grid p { color: var(--muted); font-size: .9rem; line-height: 1.6; }
.dj-industry-grid b { margin-top: auto; padding-top: 1.5rem; font: 400 .61rem/1.4 var(--mono); letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.dj-industry-grid a { margin-top: .9rem; color: var(--orange); font: 700 .72rem/1 var(--head); }

.dj-process-table { border-top: 1px solid var(--navy); }
.dj-process-table article { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(2rem, 6vw, 7rem); padding: clamp(2rem, 4vw, 3.5rem) 0; border-bottom: 1px solid var(--line); }
.dj-process-table article > div { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; align-content: start; }
.dj-process-table article > div > span { color: var(--orange); font: .68rem/1 var(--mono); }
.dj-process-table article h2 { font-size: clamp(1.45rem, 1.1rem + 1vw, 2.25rem); }
.dj-process-table article > div > p { grid-column: 2; color: var(--muted); line-height: 1.65; }
.dj-process-table dl { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--line); }
.dj-process-table dl > div { padding: .15rem 1.2rem; border-right: 1px solid var(--line); }
.dj-process-table dt { margin-bottom: .75rem; font: .6rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.dj-process-table dd { margin: 0; font-size: .9rem; line-height: 1.55; }

.dj-privacy { padding-block: clamp(4rem, 8vw, 8rem); background: var(--paper); }
.dj-privacy > .dj-wrap { display: grid; grid-template-columns: minmax(220px, 3fr) minmax(0, 8fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; }
.dj-privacy nav { position: sticky; top: 8rem; display: grid; border-top: 1px solid var(--navy); }
.dj-privacy nav a { padding: .8rem 0; border-bottom: 1px solid var(--line); font: .62rem/1.4 var(--mono); letter-spacing: .05em; color: var(--muted); }
.dj-privacy nav a:hover { color: var(--orange); }
.dj-privacy__body { max-width: 850px; }
.dj-privacy__body section { scroll-margin-top: 7rem; padding: 0 0 3.5rem 4.5rem; position: relative; border-bottom: 1px solid var(--line); margin-bottom: 3.5rem; }
.dj-privacy__body section > span { position: absolute; left: 0; top: .35rem; color: var(--orange); font: .68rem/1 var(--mono); }
.dj-privacy__body h2 { margin-bottom: 1.2rem; font-size: clamp(1.5rem, 1.2rem + .9vw, 2.35rem); }
.dj-privacy__body p { color: var(--muted); font-size: 1rem; line-height: 1.8; }
.dj-privacy__body p a { color: var(--orange); text-decoration: underline; text-underline-offset: .2em; }

@media (max-width: 1100px) {
	.dj-inner-hero { min-height: 520px; }
	.dj-inner-hero__in { grid-template-columns: minmax(0, 3fr) minmax(280px, 2fr); }
	.dj-inner-hero__copy h1 { font-size: clamp(2.8rem, 5.4vw, 4.5rem); }
	.dj-mini-timeline { grid-template-columns: repeat(3, 1fr); }
	.dj-mini-timeline li { border-bottom: 1px solid var(--line-strong); }
	.dj-industry-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
	.dj-inner-hero { min-height: 0; }
	.dj-inner-hero__in { grid-template-columns: 1fr; gap: 3rem; padding-block: 4.25rem 3.75rem; }
	.dj-inner-hero__copy h1 { font-size: clamp(2.6rem, 9.5vw, 4.1rem); }
	.dj-inner-hero--document .dj-inner-hero__copy h1 { font-size: clamp(2.4rem, 8.2vw, 3.6rem); }
	.dj-schematic { width: min(100%, 520px); justify-self: start; }
	.dj-inner-head { grid-template-columns: 1fr; align-items: start; }
	.dj-inner-split { grid-template-columns: 1fr; }
	.dj-inner-split .dj-inner-head { position: static; }
	.dj-info-grid, .dj-info-grid--3 { grid-template-columns: repeat(2, 1fr); }
	.dj-info-card { min-height: 220px; }
	.dj-inner-stats .dj-wrap { grid-template-columns: 1fr; }
	.dj-inner-stats .dj-wrap > div { min-height: 145px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
	.dj-service-index > a { grid-template-columns: 1fr 2fr; }
	.dj-service-index > a p { grid-column: 2; }
	.dj-service-index > a i { display: none; }
	.dj-process-table article { grid-template-columns: 1fr; gap: 2rem; }
	.dj-related { grid-template-columns: 1fr; }
	.dj-related a { min-height: 190px; }
	.dj-product-strip { grid-template-columns: 1fr; }
	.dj-product-strip article { min-height: 190px; border-bottom: 1px solid var(--line-strong); }
	.dj-product-strip h3 { margin-top: 2.5rem; }
	.dj-privacy > .dj-wrap { grid-template-columns: 1fr; }
	.dj-privacy nav { position: static; grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.dj-inner-hero .dj-grid__cols { grid-template-columns: repeat(4, 1fr); }
	.dj-inner-hero .dj-grid__cols span:nth-child(n+5) { display: none; }
	.dj-inner-hero__copy h1 { font-size: clamp(2.35rem, 10vw, 3.25rem); }
	.dj-inner-hero--document .dj-inner-hero__copy h1 { font-size: clamp(2.05rem, 7.8vw, 2.8rem); }
	.dj-inner-hero__copy > p { font-size: .98rem; }
	.dj-schematic { aspect-ratio: 1 / .84; }
	.dj-inner-section { padding-block: 3.5rem; }
	.dj-inner-head h2 { font-size: clamp(1.85rem, 8.5vw, 2.7rem); }
	.dj-info-grid, .dj-info-grid--3, .dj-feature-list--grid, .dj-industry-grid { grid-template-columns: 1fr; }
	.dj-info-card { min-height: 205px; }
	.dj-mini-timeline { grid-template-columns: 1fr; }
	.dj-mini-timeline li { min-height: 185px; }
	.dj-mini-timeline h3 { margin-top: 2rem; }
	.dj-service-index > a { grid-template-columns: 1fr; gap: .55rem; padding-block: 1.5rem; }
	.dj-service-index > a p { grid-column: 1; }
	.dj-process-table dl { grid-template-columns: 1fr; border-top: 1px solid var(--line); }
	.dj-process-table dl > div { padding: 1rem; border-bottom: 1px solid var(--line); }
	.dj-privacy nav { grid-template-columns: 1fr; }
	.dj-privacy__body section { padding-left: 2.5rem; }
}

/* ===========================================================================
   УНИКАЛЬНЫЕ СТРАНИЦЫ ВЕРХНЕГО УРОВНЯ
   У каждой страницы свой визуальный принцип: orbit / stack / radar / dialog.
   ======================================================================== */

/* --- О компании: живая система дисциплин и хронология ------------------- */
.dj-about-hero { position: relative; overflow: hidden; background: var(--paper); border-bottom: 1px solid var(--navy); }
.dj-about-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 0 49.9%, var(--line) 50%, transparent 50.1%), repeating-linear-gradient(90deg, transparent 0 calc(8.333% - 1px), rgba(31,37,68,.035) calc(8.333% - 1px) 8.333%); pointer-events: none; }
.dj-about-hero::after { content: "13"; position: absolute; right: -1vw; bottom: -13vw; font: 800 min(38vw, 560px)/.8 var(--head); letter-spacing: -.09em; color: rgba(255,90,44,.045); pointer-events: none; }
.dj-about-hero__in { position: relative; z-index: 1; min-height: 690px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(370px, 5fr); grid-template-rows: 1fr auto; gap: 2.5rem clamp(3rem, 6vw, 6.5rem); align-items: center; padding-block: clamp(4rem, 6.5vw, 6.5rem) 0; }
.dj-about-hero__copy h1 { max-width: 12ch; margin: 1.1rem 0 1.5rem; font-size: clamp(2.9rem, 1.5rem + 3.45vw, 5.4rem); line-height: .94; letter-spacing: -.057em; }
.dj-about-hero__copy h1 em { color: var(--orange); font-style: normal; }
.dj-about-hero__copy > p { max-width: 62ch; color: var(--muted); font-size: clamp(.98rem, .92rem + .25vw, 1.12rem); line-height: 1.68; }
.dj-about-hero__links { display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; margin-top: 2rem; }
.dj-about-hero__links .dj-link i { font-style: normal; }
.dj-about-orbit { position: relative; width: min(100%, 480px); aspect-ratio: 1; justify-self: end; border: 1px solid var(--line-strong); border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 50px, rgba(31,37,68,.08) 51px 52px), radial-gradient(circle, #fff 0 22%, transparent 22.4%), linear-gradient(145deg, var(--soft), var(--paper)); box-shadow: 0 44px 90px -70px var(--navy); }
.dj-about-orbit::before, .dj-about-orbit::after { content: ""; position: absolute; inset: 50% 6% auto; height: 1px; background: var(--line-strong); transform: rotate(30deg); }
.dj-about-orbit::after { transform: rotate(-37deg); }
.dj-about-orbit__core { position: absolute; z-index: 2; inset: 37%; display: grid; place-content: center; text-align: center; border-radius: 50%; color: #fff; background: var(--navy); box-shadow: 0 0 0 10px var(--paper), 0 0 0 11px var(--orange); }
.dj-about-orbit__core b { font: 800 1rem/1 var(--head); letter-spacing: -.04em; }
.dj-about-orbit__core span { position: static !important; margin-top: .35rem; font: .56rem/1 var(--mono) !important; color: rgba(255,255,255,.65) !important; text-transform: uppercase; letter-spacing: .08em; background: none !important; border: 0 !important; padding: 0 !important; }
.dj-about-orbit > span { position: absolute; z-index: 3; padding: .48rem .7rem; border: 1px solid var(--line-strong); background: rgba(255,255,255,.94); color: var(--navy); font: 700 .67rem/1 var(--head); }
.dj-about-orbit > span:nth-of-type(1) { left: 8%; top: 19%; }
.dj-about-orbit > span:nth-of-type(2) { right: 3%; top: 24%; }
.dj-about-orbit > span:nth-of-type(3) { left: -3%; top: 52%; }
.dj-about-orbit > span:nth-of-type(4) { right: -3%; top: 57%; }
.dj-about-orbit > span:nth-of-type(5) { left: 15%; bottom: 10%; }
.dj-about-orbit > span:nth-of-type(6) { right: 12%; bottom: 8%; }
.dj-about-hero__proof { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--navy); }
.dj-about-hero__proof article { min-height: 120px; padding: 1.35rem 1.5rem; border-right: 1px solid var(--line); display: flex; align-items: baseline; gap: 1rem; }
.dj-about-hero__proof article:last-child { border-right: 0; }
.dj-about-hero__proof strong { color: var(--orange); font: 800 clamp(1.9rem, 1.45rem + 1.1vw, 2.8rem)/1 var(--head); letter-spacing: -.055em; }
.dj-about-hero__proof span { max-width: 20ch; color: var(--muted); font-size: .86rem; line-height: 1.45; }

.dj-about-story { padding-block: clamp(4rem, 7.5vw, 7.5rem); background: var(--navy); color: #fff; }
.dj-about-story__statement { display: grid; grid-template-columns: 3fr 9fr; gap: 2rem; align-items: start; }
.dj-about-story__statement p { max-width: 25ch; font: 800 clamp(2.1rem, 1.3rem + 2.6vw, 4.5rem)/1.04 var(--head); letter-spacing: -.05em; }
.dj-about-story__statement p em { color: var(--orange); font-style: normal; }
.dj-about-story h3 { color: #fff; }
.dj-about-timeline { display: grid; grid-template-columns: repeat(4, 1fr); margin: clamp(4rem, 8vw, 8rem) 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.28); }
.dj-about-timeline li { position: relative; min-height: 255px; padding: 2rem 1.5rem 1.5rem 0; border-right: 1px solid rgba(255,255,255,.14); }
.dj-about-timeline li::before { content: ""; position: absolute; width: 9px; height: 9px; left: 0; top: -5px; background: var(--orange); }
.dj-about-timeline b { color: var(--orange); font: 500 .76rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.dj-about-timeline h3 { max-width: 13ch; margin: 4rem 0 .8rem; font-size: clamp(1.2rem, 1rem + .65vw, 1.7rem); }
.dj-about-timeline p { max-width: 28ch; color: rgba(255,255,255,.64); font-size: .9rem; line-height: 1.65; }
.dj-about-timeline .is-now { padding-left: 1.5rem; background: rgba(255,90,44,.1); }
.dj-about-timeline .is-now::before { left: 1.5rem; }

.dj-about-principles { padding-block: clamp(4rem, 7vw, 7rem); background: var(--peach-soft); }
.dj-about-principles > .dj-wrap { display: grid; grid-template-columns: minmax(280px, 4fr) minmax(0, 8fr); gap: clamp(3rem, 8vw, 9rem); }
.dj-about-principles header { position: sticky; top: 7rem; align-self: start; }
.dj-about-principles h2, .dj-team-system h2 { margin-top: 1rem; font-size: clamp(2rem, 1.4rem + 1.8vw, 3.65rem); line-height: .99; letter-spacing: -.045em; }
.dj-about-manifesto { border-top: 1px solid var(--navy); }
.dj-about-manifesto article { display: grid; grid-template-columns: 3rem 4fr 5fr; gap: 1.25rem; align-items: baseline; padding: 1.8rem 0; border-bottom: 1px solid rgba(31,37,68,.18); }
.dj-about-manifesto article > span { color: var(--orange); font: .72rem/1 var(--mono); }
.dj-about-manifesto h3 { font-size: clamp(1.15rem, 1rem + .55vw, 1.55rem); }
.dj-about-manifesto p { color: var(--muted); line-height: 1.65; }

.dj-team-system { padding-block: clamp(4rem, 7vw, 7rem); background: var(--paper); }
.dj-team-system__head { display: grid; grid-template-columns: 2fr 6fr 3fr; gap: 2rem; align-items: end; margin-bottom: clamp(3rem, 6vw, 6rem); }
.dj-team-system__head h2 { margin: 0; }
.dj-team-system__head > p { color: var(--muted); line-height: 1.65; }
.dj-team-system__map { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--navy); }
.dj-team-system__map article { min-height: 310px; padding: clamp(1.5rem, 3vw, 2.75rem); border-right: 1px solid var(--navy); display: flex; flex-direction: column; }
.dj-team-system__map article:last-child { border-right: 0; }
.dj-team-system__map article > b { color: var(--orange); font: 500 .72rem/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.dj-team-system__map article div { display: grid; gap: .55rem; margin: auto 0 1.5rem; }
.dj-team-system__map article div span { font: 800 clamp(1.2rem, 1rem + .6vw, 1.7rem)/1.15 var(--head); }
.dj-team-system__map article p { color: var(--muted); line-height: 1.6; }

/* --- Услуги: тёмный инженерный стек и модульный каталог ----------------- */
.dj-services-hero { position: relative; overflow: hidden; color: #fff; background: var(--navy); }
.dj-services-hero::before { content: ""; position: absolute; inset: 0; opacity: .22; background: repeating-linear-gradient(90deg, transparent 0 calc(8.333% - 1px), rgba(255,255,255,.14) calc(8.333% - 1px) 8.333%), linear-gradient(135deg, transparent 45%, rgba(255,90,44,.14)); }
.dj-services-hero__in { position: relative; min-height: 680px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr); gap: clamp(3rem, 6vw, 6.5rem); align-items: center; padding-block: clamp(4rem, 6.5vw, 6.5rem); }
.dj-services-hero__copy h1 { max-width: 14ch; margin: 1.1rem 0 1.5rem; color: #fff; font-size: clamp(2.9rem, 1.5rem + 3.4vw, 5.35rem); line-height: .94; letter-spacing: -.057em; }
.dj-services-hero__copy h1 em { color: var(--orange); font-style: normal; }
.dj-services-hero__copy p { max-width: 59ch; color: rgba(255,255,255,.7); font-size: clamp(.98rem, .92rem + .25vw, 1.12rem); line-height: 1.68; }
.dj-services-hero__copy .dj-btn { margin-top: 2rem; }
.dj-service-stack { position: relative; min-height: 440px; display: flex; flex-direction: column; justify-content: center; perspective: 800px; }
.dj-service-stack::before { content: ""; position: absolute; inset: 8% 0 3% 12%; border: 1px solid rgba(255,255,255,.18); transform: skewY(-4deg); }
.dj-service-stack span { position: relative; display: flex; align-items: center; gap: 1rem; width: calc(100% - 2.5rem); min-height: 58px; margin: -1px 0 0 calc(var(--i) * .48rem); padding: .9rem 1rem; border: 1px solid rgba(255,255,255,.28); background: rgba(31,37,68,.88); font: 700 .8rem/1.2 var(--head); transform: skewY(-4deg); transition: background .25s, border-color .25s, translate .25s; }
.dj-service-stack span:hover { z-index: 2; background: var(--orange); border-color: var(--orange); translate: -12px 0; }
.dj-service-stack span b { color: var(--orange); font: 500 .67rem/1 var(--mono); }
.dj-service-stack span:hover b { color: #fff; }
.dj-service-stack > i { margin: 2rem 0 0 3rem; color: rgba(255,255,255,.43); font: normal .63rem/1 var(--mono); letter-spacing: .14em; }

.dj-services-catalog { padding-block: clamp(4rem, 7vw, 7rem); background: var(--soft); scroll-margin-top: 2rem; }
.dj-services-catalog__head, .dj-industry-atlas > .dj-wrap > header { display: grid; grid-template-columns: minmax(0, 7fr) minmax(260px, 4fr); gap: clamp(3rem, 7vw, 8rem); align-items: end; margin-bottom: clamp(3rem, 6vw, 5rem); }
.dj-services-catalog__head h2, .dj-industry-atlas header h2 { margin-top: 1rem; font-size: clamp(2.05rem, 1.4rem + 2vw, 3.9rem); line-height: .98; letter-spacing: -.048em; }
.dj-services-catalog__head > p, .dj-industry-atlas header > p { color: var(--muted); line-height: 1.7; }
.dj-services-catalog__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--navy); border: 1px solid var(--navy); }
.dj-service-unit { --unit: var(--orange); position: relative; min-height: 360px; padding: clamp(1.5rem, 3vw, 2.8rem); display: grid; grid-template-columns: 3rem 1fr auto; gap: 1.25rem; background: var(--paper); overflow: hidden; transition: background .35s, color .35s; }
.dj-service-unit::after { content: ""; position: absolute; width: 180px; aspect-ratio: 1; right: -100px; bottom: -100px; border: 28px solid color-mix(in srgb, var(--unit) 16%, transparent); border-radius: 50%; transition: scale .45s var(--ease-out); }
.dj-service-unit:hover { color: #fff; background: var(--navy); }
.dj-service-unit:hover::after { scale: 1.45; }
.dj-service-unit--web { --unit: #376CF6; }
.dj-service-unit--saas { --unit: #7B61FF; }
.dj-service-unit--ai { --unit: #1AA77A; }
.dj-service-unit--backend { --unit: #F0A51A; }
.dj-service-unit__num { color: var(--unit); font: 600 .78rem/1 var(--mono); }
.dj-service-unit__body { display: flex; min-width: 0; flex-direction: column; }
.dj-service-unit__body > .dj-mono { color: var(--unit); }
.dj-service-unit__body h3 { margin: auto 0 1rem; font-size: clamp(1.65rem, 1.2rem + 1.15vw, 2.6rem); }
.dj-service-unit__body > p { max-width: 46ch; color: var(--muted); line-height: 1.65; transition: color .35s; }
.dj-service-unit:hover .dj-service-unit__body > p { color: rgba(255,255,255,.65); }
.dj-service-unit__body > div { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.2rem; }
.dj-service-unit__body > div b { padding: .4rem .58rem; border: 1px solid var(--line-strong); font: 500 .6rem/1 var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.dj-service-unit > i { position: relative; z-index: 2; align-self: start; color: var(--unit); font: normal 700 .72rem/1 var(--head); }
.dj-service-unit > i b { display: inline-grid; width: 30px; height: 30px; margin-left: .45rem; place-items: center; border: 1px solid currentColor; }
.dj-service-unit > i b { font-size: 0; }
.dj-service-unit > i b::before { content: "↗"; font: 500 .9rem/1 var(--head); }

.dj-service-models { padding-block: clamp(4rem, 7vw, 7rem); background: var(--peach-soft); }
.dj-service-models > .dj-wrap > header { display: flex; justify-content: space-between; gap: 3rem; align-items: end; margin-bottom: clamp(3rem, 6vw, 5rem); }
.dj-service-models h2 { max-width: 19ch; margin-top: 1rem; font-size: clamp(2rem, 1.4rem + 1.75vw, 3.65rem); line-height: .99; letter-spacing: -.045em; }
.dj-service-models__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.dj-service-models__grid article { min-height: 320px; padding: clamp(1.5rem, 3vw, 2.7rem); border: 1px solid var(--navy); margin-left: -1px; display: flex; flex-direction: column; }
.dj-service-models__grid article > span { color: var(--orange); font: .68rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.dj-service-models__grid h3 { margin: auto 0 1rem; font-size: clamp(1.45rem, 1.15rem + .8vw, 2rem); }
.dj-service-models__grid p { color: var(--muted); line-height: 1.65; }
.dj-service-models__grid article > b { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid rgba(31,37,68,.18); color: var(--orange); font: 600 .68rem/1 var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.dj-delivery-line { padding-block: 2.2rem; color: #fff; background: var(--navy); }
.dj-delivery-line .dj-wrap { display: grid; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: center; }
.dj-delivery-line .dj-wrap > span, .dj-delivery-line a { font: 600 .67rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.dj-delivery-line ol { display: flex; justify-content: center; gap: clamp(1rem, 3vw, 3.5rem); margin: 0; padding: 0; list-style: none; }
.dj-delivery-line li { color: rgba(255,255,255,.76); font-size: .85rem; }
.dj-delivery-line li b { margin-right: .45rem; color: var(--orange); font: 500 .63rem/1 var(--mono); }
.dj-delivery-line a { color: var(--orange); }

/* --- Отрасли: радар проектного опыта и карта практики ------------------- */
.dj-industries-hero { position: relative; overflow: hidden; background: var(--bg); border-bottom: 1px solid var(--line-strong); }
.dj-industries-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 78% 48%, rgba(255,90,44,.09), transparent 27%), repeating-linear-gradient(90deg, transparent 0 calc(8.333% - 1px), rgba(31,37,68,.035) calc(8.333% - 1px) 8.333%); }
.dj-industries-hero__in { position: relative; min-height: 690px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(390px, 5fr); gap: clamp(3rem, 5.5vw, 6rem); align-items: center; padding-block: clamp(4rem, 6.5vw, 6.5rem); }
.dj-industries-hero__copy h1 { max-width: 13ch; margin: 1.1rem 0 1.5rem; font-size: clamp(2.9rem, 1.5rem + 3.4vw, 5.35rem); line-height: .94; letter-spacing: -.057em; }
.dj-industries-hero__copy h1 em { color: var(--orange); font-style: normal; }
.dj-industries-hero__copy p { max-width: 60ch; color: var(--muted); font-size: clamp(.98rem, .92rem + .25vw, 1.12rem); line-height: 1.68; }
.dj-industries-hero__copy > div { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 2rem; }
.dj-industries-hero__copy > div span { padding: .55rem .75rem; border: 1px solid var(--line-strong); background: rgba(255,255,255,.65); font: .65rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.dj-industry-radar { position: relative; width: min(100%, 450px); aspect-ratio: 1; justify-self: end; border-radius: 50%; border: 1px solid var(--line-strong); background: repeating-radial-gradient(circle, transparent 0 54px, rgba(31,37,68,.1) 55px 56px), linear-gradient(90deg, transparent calc(50% - .5px), rgba(31,37,68,.16) 50%, transparent calc(50% + .5px)), linear-gradient(transparent calc(50% - .5px), rgba(31,37,68,.16) 50%, transparent calc(50% + .5px)); }
.dj-industry-radar::before { content: ""; position: absolute; inset: 12%; border-radius: 50%; background: conic-gradient(from 20deg, rgba(255,90,44,.24), transparent 24%, transparent); animation: dj-radar 12s linear infinite; transform-origin: center; }
@keyframes dj-radar { to { rotate: -1turn; } }
@media (prefers-reduced-motion: reduce) { .dj-industry-radar::before { animation: none; } }
.dj-industry-radar > b { position: absolute; z-index: 3; inset: 39%; border-radius: 50%; display: grid; place-content: center; text-align: center; color: #fff; background: var(--navy); box-shadow: 0 0 0 9px rgba(255,255,255,.82), 0 0 0 10px var(--orange); }
.dj-industry-radar > b i { font: normal 800 1.3rem/1 var(--head); }
.dj-industry-radar > b small { margin-top: .35rem; font: .52rem/1 var(--mono); text-transform: uppercase; letter-spacing: .08em; opacity: .7; }
.dj-industry-radar > span { position: absolute; z-index: 2; padding: .42rem .6rem; border: 1px solid var(--line-strong); background: rgba(255,255,255,.94); color: var(--navy); font: 700 .62rem/1 var(--head); white-space: nowrap; }
.dj-industry-radar > span:nth-of-type(1) { left: 6%; top: 16%; }
.dj-industry-radar > span:nth-of-type(2) { left: 42%; top: 3%; }
.dj-industry-radar > span:nth-of-type(3) { right: -2%; top: 23%; }
.dj-industry-radar > span:nth-of-type(4) { right: -5%; top: 53%; }
.dj-industry-radar > span:nth-of-type(5) { right: 5%; bottom: 12%; }
.dj-industry-radar > span:nth-of-type(6) { left: 35%; bottom: 1%; }
.dj-industry-radar > span:nth-of-type(7) { left: -3%; bottom: 19%; }
.dj-industry-radar > span:nth-of-type(8) { left: -7%; top: 45%; }

.dj-industry-atlas { padding-block: clamp(4rem, 7vw, 7rem); background: var(--paper); }
.dj-industry-atlas__grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--navy); border-left: 1px solid var(--line); }
.dj-industry-tile { min-height: 300px; padding: clamp(1.35rem, 2.2vw, 2rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; background: var(--paper); transition: background .3s, color .3s, transform .35s var(--ease-out); }
.dj-industry-tile:nth-child(1), .dj-industry-tile:nth-child(6), .dj-industry-tile:nth-child(7), .dj-industry-tile:nth-child(8) { grid-column: span 2; background: var(--soft); }
.dj-industry-tile:hover { position: relative; z-index: 2; color: #fff; background: var(--navy); transform: translateY(-4px); }
.dj-industry-tile > div { display: flex; justify-content: space-between; align-items: center; color: var(--orange); font: .68rem/1 var(--mono); }
.dj-industry-tile > div i { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(255,90,44,.1); }
.dj-industry-tile h3 { margin: auto 0 .9rem; font-size: clamp(1.45rem, 1.1rem + 1vw, 2.3rem); }
.dj-industry-tile p { color: var(--muted); line-height: 1.6; transition: color .3s; }
.dj-industry-tile > b { margin-top: 1.2rem; color: var(--muted); font: 500 .61rem/1.4 var(--mono); letter-spacing: .06em; text-transform: uppercase; transition: color .3s; }
.dj-industry-tile > a { margin-top: .8rem; color: var(--orange); font: 700 .72rem/1 var(--head); transition: color .3s; }
.dj-industry-tile:hover p, .dj-industry-tile:hover > b { color: rgba(255,255,255,.68); }
.dj-industry-tile:hover > a, .dj-industry-tile:hover > div { color: #fff; }
.dj-industry-tile:hover > div i { background: var(--orange); box-shadow: 0 0 0 5px rgba(255,90,44,.18); }

.dj-context-lens { padding-block: clamp(4rem, 7vw, 7rem); color: #fff; background: var(--navy); }
.dj-context-lens > .dj-wrap { display: grid; grid-template-columns: minmax(270px, 4fr) minmax(0, 8fr); gap: clamp(3rem, 8vw, 9rem); }
.dj-context-lens h2 { margin-top: 1rem; font-size: clamp(2rem, 1.4rem + 1.75vw, 3.65rem); line-height: .99; letter-spacing: -.045em; }
.dj-context-lens h2, .dj-context-lens h3 { color: #fff; }
.dj-context-lens__grid { border-top: 1px solid rgba(255,255,255,.4); }
.dj-context-lens__grid article { display: grid; grid-template-columns: 3rem 1fr auto; gap: 1.5rem; align-items: center; padding: 1.8rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.dj-context-lens__grid article > span { color: var(--orange); font: .7rem/1 var(--mono); }
.dj-context-lens__grid h3 { margin-bottom: .5rem; font-size: clamp(1.25rem, 1.05rem + .5vw, 1.6rem); }
.dj-context-lens__grid p { max-width: 48ch; color: rgba(255,255,255,.63); line-height: 1.6; }
.dj-context-lens__grid article > b { color: var(--orange); font: 500 .61rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }

/* --- Контакты: коммуникационный хаб и прямые каналы --------------------- */
.dj-contact-hero { position: relative; overflow: hidden; background: var(--peach-soft); border-bottom: 1px solid #F3CABB; }
.dj-contact-hero::before { content: ""; position: absolute; width: 50vw; aspect-ratio: 1; left: -20vw; bottom: -34vw; border-radius: 50%; border: 1px solid rgba(255,90,44,.2); box-shadow: 0 0 0 5vw rgba(255,90,44,.035), 0 0 0 10vw rgba(255,90,44,.025); }
.dj-contact-hero__in { position: relative; min-height: 650px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(390px, 5fr); gap: clamp(3rem, 6vw, 6.5rem); align-items: center; padding-block: clamp(4rem, 6.5vw, 6.5rem); }
.dj-contact-hero__copy h1 { max-width: 11ch; margin: 1.1rem 0 1.5rem; font-size: clamp(3rem, 1.5rem + 3.6vw, 5.5rem); line-height: .93; letter-spacing: -.059em; }
.dj-contact-hero__copy h1 em { color: var(--orange); font-style: normal; }
.dj-contact-hero__copy > p { max-width: 55ch; color: var(--muted); font-size: clamp(.98rem, .92rem + .25vw, 1.12rem); line-height: 1.68; }
.dj-contact-status { display: flex; align-items: center; gap: .9rem; margin-top: 2rem; }
.dj-contact-status > i { width: 12px; height: 12px; border-radius: 50%; background: #1AA77A; box-shadow: 0 0 0 7px rgba(26,167,122,.12); }
.dj-contact-status span { display: grid; gap: .15rem; color: var(--muted); font-size: .83rem; }
.dj-contact-status b { color: var(--navy); font: 700 .72rem/1 var(--head); text-transform: uppercase; letter-spacing: .08em; }
.dj-contact-panel { align-self: center; color: #fff; background: var(--navy); border: 1px solid var(--navy); box-shadow: 34px 34px 0 rgba(255,90,44,.12); }
.dj-contact-panel header { padding: 1.5rem 1.7rem; display: grid; gap: .35rem; border-bottom: 1px solid rgba(255,255,255,.18); }
.dj-contact-panel header span { color: var(--orange); font: .66rem/1 var(--mono); text-transform: uppercase; letter-spacing: .1em; }
.dj-contact-panel header b { font-size: 1.05rem; }
.dj-contact-panel > a { min-height: 78px; padding: 1.05rem 1.7rem; display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; align-items: center; border-bottom: 1px solid rgba(255,255,255,.16); transition: background .25s, padding .25s; }
.dj-contact-panel > a:hover { padding-left: 2rem; background: rgba(255,255,255,.08); }
.dj-contact-panel > a.is-telegram:hover { background: #267DB3; }
.dj-contact-panel > a span { color: rgba(255,255,255,.55); font: .63rem/1 var(--mono); text-transform: uppercase; letter-spacing: .1em; }
.dj-contact-panel > a strong { grid-column: 1; font: 700 clamp(.98rem, .9rem + .3vw, 1.18rem)/1.2 var(--head); }
.dj-contact-panel > a i { grid-column: 2; grid-row: 1 / 3; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); font-style: normal; }
.dj-contact-panel > a i { font-size: 0; }
.dj-contact-panel > a i::before { content: "↗"; font: 500 1rem/1 var(--head); }
.dj-contact-panel footer { padding: 1.1rem 1.7rem; display: flex; justify-content: space-between; gap: 1rem; color: rgba(255,255,255,.48); font: .6rem/1 var(--mono); text-transform: uppercase; letter-spacing: .08em; }

.dj-contact-route { padding-block: clamp(4rem, 7vw, 7rem); background: var(--paper); }
.dj-contact-route > .dj-wrap { display: grid; grid-template-columns: minmax(260px, 4fr) minmax(0, 8fr); gap: clamp(3rem, 8vw, 9rem); }
.dj-contact-route h2 { margin-top: 1rem; font-size: clamp(2rem, 1.4rem + 1.75vw, 3.65rem); line-height: .99; letter-spacing: -.045em; }
.dj-contact-route ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--navy); }
.dj-contact-route li { display: grid; grid-template-columns: 3rem 1fr auto; gap: 1.3rem; align-items: center; min-height: 125px; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.dj-contact-route li > span { color: var(--orange); font: .7rem/1 var(--mono); }
.dj-contact-route h3 { margin-bottom: .45rem; font-size: clamp(1.15rem, 1rem + .5vw, 1.5rem); }
.dj-contact-route li p { color: var(--muted); line-height: 1.6; }
.dj-contact-route li > b { color: var(--muted); font: 500 .62rem/1 var(--mono); text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }

@media (max-width: 1050px) {
	.dj-about-hero__in, .dj-services-hero__in, .dj-industries-hero__in, .dj-contact-hero__in { grid-template-columns: minmax(0, 3fr) minmax(320px, 2fr); }
	.dj-about-hero__copy h1, .dj-services-hero__copy h1, .dj-industries-hero__copy h1, .dj-contact-hero__copy h1 { font-size: clamp(2.75rem, 5.2vw, 4.4rem); }
	.dj-industry-atlas__grid { grid-template-columns: repeat(3, 1fr); }
	.dj-industry-tile:nth-child(1), .dj-industry-tile:nth-child(6), .dj-industry-tile:nth-child(7), .dj-industry-tile:nth-child(8) { grid-column: span 1; }
	.dj-delivery-line .dj-wrap { grid-template-columns: 1fr auto; }
	.dj-delivery-line ol { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
}

@media (max-width: 800px) {
	.dj-about-hero__in, .dj-services-hero__in, .dj-industries-hero__in, .dj-contact-hero__in { min-height: 0; grid-template-columns: 1fr; padding-block: 4.25rem 0; }
	.dj-services-hero__in, .dj-industries-hero__in, .dj-contact-hero__in { padding-bottom: 4.25rem; }
	.dj-about-orbit, .dj-industry-radar { width: min(88vw, 480px); justify-self: center; }
	.dj-about-hero__proof { margin-top: 1rem; grid-template-columns: repeat(2, 1fr); }
	.dj-about-hero__proof article:nth-child(2) { border-right: 0; }
	.dj-about-hero__proof article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
	.dj-about-story__statement { grid-template-columns: 1fr; }
	.dj-about-timeline { grid-template-columns: repeat(2, 1fr); }
	.dj-about-timeline li:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
	.dj-about-principles > .dj-wrap, .dj-context-lens > .dj-wrap, .dj-contact-route > .dj-wrap { grid-template-columns: 1fr; }
	.dj-about-principles header { position: static; }
	.dj-team-system__head { grid-template-columns: 1fr; align-items: start; }
	.dj-team-system__map, .dj-service-models__grid { grid-template-columns: 1fr; }
	.dj-team-system__map article, .dj-service-models__grid article { min-height: 245px; border-right: 0; border-bottom: 1px solid var(--navy); }
	.dj-team-system__map article:last-child, .dj-service-models__grid article:last-child { border-bottom: 0; }
	.dj-services-catalog__head, .dj-industry-atlas > .dj-wrap > header { grid-template-columns: 1fr; align-items: start; }
	.dj-services-catalog__grid { grid-template-columns: 1fr; }
	.dj-service-unit { min-height: 320px; }
	.dj-industry-atlas__grid { grid-template-columns: repeat(2, 1fr); }
	.dj-contact-panel { width: min(100%, 560px); box-shadow: 18px 18px 0 rgba(255,90,44,.12); }
}

@media (max-width: 560px) {
	.dj-about-hero__copy, .dj-services-hero__copy, .dj-industries-hero__copy, .dj-contact-hero__copy { min-width: 0; }
	.dj-about-hero__copy h1, .dj-contact-hero__copy h1 { font-size: clamp(2.35rem, 9.8vw, 3.05rem); }
	.dj-services-hero__copy h1, .dj-industries-hero__copy h1 { font-size: clamp(2.2rem, 9vw, 2.8rem); overflow-wrap: anywhere; }
	.dj-about-hero__links { align-items: flex-start; flex-direction: column; gap: 1.1rem; }
	.dj-about-orbit, .dj-industry-radar { width: 92%; }
	.dj-about-orbit > span, .dj-industry-radar > span { font-size: .56rem; }
	.dj-about-hero__proof { grid-template-columns: 1fr; }
	.dj-about-hero__proof article { min-height: 108px; border-right: 0; border-bottom: 1px solid var(--line); }
	.dj-about-timeline { grid-template-columns: 1fr; }
	.dj-about-timeline li { min-height: 220px; border-bottom: 1px solid rgba(255,255,255,.14); }
	.dj-about-manifesto article { grid-template-columns: 2.25rem 1fr; }
	.dj-about-manifesto article p { grid-column: 2; }
	.dj-service-stack { min-height: 430px; }
	.dj-service-unit { min-height: 340px; grid-template-columns: 2rem 1fr; }
	.dj-service-unit > i { grid-column: 2; margin-top: 1rem; }
	.dj-service-models > .dj-wrap > header { display: block; }
	.dj-delivery-line .dj-wrap { grid-template-columns: 1fr; }
	.dj-delivery-line ol { grid-column: 1; grid-row: auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
	.dj-industry-atlas__grid { grid-template-columns: 1fr; }
	.dj-industry-tile { min-height: 290px; }
	.dj-context-lens__grid article, .dj-contact-route li { grid-template-columns: 2.25rem 1fr; align-items: start; }
	.dj-context-lens__grid article > b, .dj-contact-route li > b { grid-column: 2; white-space: normal; }
	.dj-contact-panel > a { padding-inline: 1.2rem; }
	.dj-contact-panel footer { flex-direction: column; }
}
