/*
 * SERP Expert 2.0.67 — «Решения для вашего бизнеса» (главная, #industries) по макету 1536×1024.
 * На десктопе все размеры = размер макета × --u, где --u = ширина контента / 1452 (ширина сетки карточек в макете),
 * поэтому пропорции совпадают с макетом при любой ширине от 1024 px. Ниже — свои размеры для планшета и телефона.
 */

.se-ex.sei {
    --w: min(1220px, calc(100vw - 40px));
    --u: calc(var(--w) / 1452);
    --sei-red: #fb0115;
    --sei-ink: #050a24;
    --sei-muted: #7986a9;
    --sei-tag: #707ea3;
    --sei-line: #eef1f6;
    --sei-head: var(--font-heading, "Raleway", "Manrope", system-ui, sans-serif);
    --sei-font: var(--font-main, "Manrope", system-ui, sans-serif);
    position: relative;
    overflow: hidden;
    padding: calc(var(--u) * 90) 20px calc(var(--u) * 52);
    background: #fdfdfd;
    isolation: isolate;
}
.sei *, .sei *::before, .sei *::after { box-sizing: border-box; }
.sei__inner { position: relative; z-index: 1; width: var(--w); max-width: 1220px; margin: 0 auto; }

/* ---------- Заголовок ---------- */
.sei__head { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-left: calc(var(--u) * 43); }
.sei__headtext { min-width: 0; }
.se-ex .sei__eyebrow { margin: 0; color: var(--sei-red); font: 800 calc(var(--u) * 16) / 1 var(--sei-font); letter-spacing: .13em; text-transform: uppercase; }
.se-ex .sei__title { margin: calc(var(--u) * 6) 0 0; padding: 0; color: var(--sei-ink); font-family: var(--sei-head); font-size: calc(var(--u) * 70); line-height: 1.04; font-weight: 900; letter-spacing: -.066em; text-transform: none; }
.sei__accent { position: relative; display: inline-block; white-space: nowrap; }
.sei__swoosh { position: absolute; left: calc(var(--u) * 33); right: calc(var(--u) * -8); bottom: calc(var(--u) * -10); width: auto; height: calc(var(--u) * 15); color: var(--sei-red); overflow: visible; }
.se-ex .sei__subtitle { margin: calc(var(--u) * 8) 0 0; color: var(--sei-muted); font: 400 calc(var(--u) * 28.5) / 1.2 var(--sei-font); letter-spacing: -.064em; }

.sei__nav { position: absolute; top: calc(var(--u) * 86); right: calc(var(--u) * 40); display: flex; gap: calc(var(--u) * 13); }
.sei__nav[hidden] { display: none; }
.se-ex .sei__arrow { display: grid; place-items: center; width: calc(var(--u) * 64); height: calc(var(--u) * 64); margin: 0; padding: 0; border: 1px solid #e3e7ef; border-radius: 50%; background: #fff; color: #0b1a5c; box-shadow: 0 calc(var(--u) * 10) calc(var(--u) * 24) rgba(20, 30, 70, .07); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease; }
.se-ex .sei__arrow svg { width: calc(var(--u) * 26); height: calc(var(--u) * 26); }
.se-ex .sei__arrow--next { border-color: transparent; background: var(--sei-red); color: #fff; box-shadow: 0 calc(var(--u) * 12) calc(var(--u) * 26) rgba(251, 1, 21, .28); }
.se-ex .sei__arrow:hover:not(:disabled) { transform: translateY(-1px); }
.se-ex .sei__arrow:disabled { opacity: .45; cursor: default; }
.se-ex .sei__arrow:focus-visible, .sei__btn:focus-visible, .sei-card a:focus-visible { outline: 3px solid rgba(251, 1, 21, .3); outline-offset: 3px; }

/* ---------- Карточки ---------- */
.se-ex .sei__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--u) * 16) calc(var(--u) * 21.5); margin: calc(var(--u) * 34) 0 0; padding: 0; list-style: none; }
.se-ex .sei-card { position: relative; display: flex; flex-direction: column; min-width: 0; height: calc(var(--u) * 291); margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--sei-line); border-radius: calc(var(--u) * 9); background: #fff; box-shadow: 0 calc(var(--u) * 10) calc(var(--u) * 26) rgba(18, 30, 72, .06); transition: box-shadow .2s ease, transform .2s ease; }
.se-ex .sei-card::before { content: none; }
.se-ex .sei-card[hidden] { display: none; }
.se-ex .sei-card:hover { box-shadow: 0 calc(var(--u) * 16) calc(var(--u) * 34) rgba(18, 30, 72, .11); transform: translateY(-2px); }
.sei-card__media { flex: 0 0 calc(var(--u) * 205); height: calc(var(--u) * 205); overflow: hidden; background: #eef1f5; }
.sei-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.sei-card:hover .sei-card__media img { transform: scale(1.03); }
.sei-card__body { position: relative; flex: 1 1 auto; padding: calc(var(--u) * 8) calc(var(--u) * 21) 0 calc(var(--u) * 21); }
.se-ex .sei-card__title { margin: 0; padding: 0; color: var(--sei-ink); font-family: var(--sei-head); font-size: calc(var(--u) * 25.5); line-height: 1.25; font-weight: 900; letter-spacing: -.05em; text-transform: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sei-card__link { color: inherit; text-decoration: none; }
.sei-card__link::after { content: ""; position: absolute; inset: calc(var(--u) * -216) calc(var(--u) * -21) calc(var(--u) * -60) calc(var(--u) * -21); z-index: 1; }
.sei-card:hover .sei-card__title { color: #0d1a4f; }
.se-ex .sei-card__tags { position: relative; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 0 calc(var(--u) * 11); margin: calc(var(--u) * 6) calc(var(--u) * 30) 0 calc(var(--u) * 3); color: var(--sei-tag); font: 400 calc(var(--u) * 17) / 1.35 var(--sei-font); }
.sei-card__tags a { color: inherit; text-decoration: none; transition: color .15s ease; }
.sei-card__tags a:hover { color: var(--sei-red); }
.sei-card__dot { color: #9aa4bf; }
.sei-card__go { position: absolute; right: calc(var(--u) * 19); top: calc(var(--u) * 42); display: grid; width: calc(var(--u) * 25); height: calc(var(--u) * 25); color: var(--sei-red); transition: transform .2s ease; }
.sei-card__go svg { width: 100%; height: 100%; }
.sei-card:hover .sei-card__go { transform: translateX(3px); }

/* ---------- Пагинация и кнопка ---------- */
.sei__pager { display: flex; align-items: center; justify-content: center; gap: calc(var(--u) * 13); margin-top: calc(var(--u) * 27); }
.sei__pager[hidden] { display: none; }
.sei__dashes { display: flex; gap: calc(var(--u) * 9); }
.se-ex .sei__dash { width: calc(var(--u) * 38); height: calc(var(--u) * 6); margin: 0; padding: 0; border: 0; border-radius: 3px; background: #e2e6ee; cursor: pointer; transition: background .2s ease; }
.se-ex .sei__dash.is-active { background: var(--sei-red); }
.sei__count { color: #808eb0; font: 500 calc(var(--u) * 15) / 1 var(--sei-font); letter-spacing: .02em; }
.sei__count b { color: #1b2c69; font-weight: 700; }
.sei__actions { display: flex; justify-content: center; margin-top: calc(var(--u) * 24); }
.sei__pager[hidden] + .sei__actions { margin-top: calc(var(--u) * 60); }
.se-ex .sei__btn { display: inline-flex; align-items: center; justify-content: center; gap: calc(var(--u) * 20); width: calc(var(--u) * 349); height: calc(var(--u) * 54); padding: 0 20px; border-radius: calc(var(--u) * 10); background: var(--sei-red); box-shadow: 0 calc(var(--u) * 14) calc(var(--u) * 30) rgba(251, 1, 21, .22); color: #fff; font: 500 calc(var(--u) * 18) / 1 var(--sei-font); text-decoration: none; white-space: nowrap; transition: filter .2s ease, transform .2s ease; }
.se-ex .sei__btn svg { width: calc(var(--u) * 24); height: calc(var(--u) * 24); transition: transform .2s ease; }
.se-ex .sei__btn:hover { color: #fff; filter: brightness(1.06); transform: translateY(-1px); }
.se-ex .sei__btn:hover svg { transform: translateX(3px); }

/* ---------- Декор (как в макете) ---------- */
.sei__deco { position: absolute; inset: 0; z-index: 0; pointer-events: none; --s: calc(100vw / 1536); }
.sei__deco > span { position: absolute; display: block; }
.sei__ring--tr { right: calc(var(--s) * -70); top: calc(var(--s) * -258); width: calc(var(--s) * 418); height: calc(var(--s) * 418); border-radius: 50%; border: 1.5px solid rgba(251, 1, 21, .85); background: radial-gradient(circle at 40% 60%, rgba(253, 224, 226, .75), rgba(255, 240, 241, .35) 60%, rgba(255, 255, 255, 0) 72%); }
.sei__ring--bl { left: calc(var(--s) * -205); bottom: calc(var(--s) * -205); width: calc(var(--s) * 360); height: calc(var(--s) * 360); border-radius: 50%; border: 1.5px solid rgba(251, 1, 21, .85); background: radial-gradient(circle at 60% 40%, rgba(253, 222, 224, .8), rgba(255, 240, 241, .3) 62%, rgba(255, 255, 255, 0) 74%); }
.sei__ball { width: calc(var(--s) * 32); height: calc(var(--s) * 32); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ff8a8f 0, #ff1b2b 32%, #d8000f 70%, #a8000b 100%); box-shadow: 0 calc(var(--s) * 8) calc(var(--s) * 16) rgba(220, 0, 15, .28); }
.sei__ball--tr { left: calc(100% - var(--s) * 211); top: calc(var(--s) * 54); }
.sei__ball--bl { left: calc(var(--s) * 46); bottom: calc(var(--s) * 82); width: calc(var(--s) * 30); height: calc(var(--s) * 30); }
.sei__dots { width: calc(var(--s) * 84); height: calc(var(--s) * 64); background-image: radial-gradient(circle, #c6cddd calc(var(--s) * 1.8), transparent calc(var(--s) * 2.2)); background-size: calc(var(--s) * 20) calc(var(--s) * 20); opacity: .9; }
.sei__dots--tr { left: calc(100% - var(--s) * 396); top: calc(var(--s) * 50); }
.sei__dots--bl { left: calc(var(--s) * 112); bottom: calc(var(--s) * 62); }
.sei__dots--br { left: calc(100% - var(--s) * 206); bottom: calc(var(--s) * 58); }
.sei__blob--br { right: calc(var(--s) * -120); bottom: calc(var(--s) * -150); width: calc(var(--s) * 330); height: calc(var(--s) * 300); border-radius: 50%; background: radial-gradient(circle at 40% 40%, rgba(253, 226, 228, .9), rgba(255, 242, 243, .4) 60%, rgba(255, 255, 255, 0) 72%); }
.sei__gem { left: calc(100% - var(--s) * 106); bottom: calc(var(--s) * 70); width: calc(var(--s) * 36); height: calc(var(--s) * 36); border-radius: calc(var(--s) * 6); transform: rotate(45deg); background: linear-gradient(135deg, rgba(255, 255, 255, .95), rgba(240, 242, 247, .7)); box-shadow: 0 calc(var(--s) * 6) calc(var(--s) * 16) rgba(40, 50, 90, .12), inset 0 0 0 1px rgba(255, 255, 255, .9); }

/* ---------- Планшет ---------- */
@media (max-width: 1023px) {
    .se-ex.sei { padding: 56px 20px 48px; }
    .sei__inner { width: auto; }
    .sei__head { padding-left: 0; align-items: flex-end; }
    .se-ex .sei__eyebrow { font-size: 13px; }
    .se-ex .sei__title { margin-top: 10px; font-size: 40px; }
    .sei__swoosh { left: 18px; right: -4px; bottom: -9px; height: 9px; }
    .se-ex .sei__subtitle { margin-top: 12px; font-size: 18px; }
    .sei__nav { position: static; gap: 10px; flex: 0 0 auto; }
    .se-ex .sei__arrow { width: 48px; height: 48px; }
    .se-ex .sei__arrow svg { width: 20px; height: 20px; }
    .se-ex .sei__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
    .se-ex .sei-card { height: auto; border-radius: 9px; }
    .sei-card__media { flex-basis: auto; height: auto; aspect-ratio: 479 / 203; }
    .sei-card__body { padding: 12px 52px 18px 18px; }
    .se-ex .sei-card__title { font-size: 20px; letter-spacing: -.03em; white-space: normal; overflow: visible; }
    .sei-card__link::after { inset: -400px -52px -18px -18px; }
    .se-ex .sei-card__tags { margin: 6px 0 0 2px; font-size: 15px; gap: 0 9px; }
    .sei-card__go { right: 18px; top: auto; bottom: 20px; width: 20px; height: 20px; }
    .sei__pager { margin-top: 24px; gap: 12px; }
    .se-ex .sei__dash { width: 34px; height: 5px; }
    .sei__count { font-size: 14px; }
    .sei__actions, .sei__pager[hidden] + .sei__actions { margin-top: 24px; }
    .se-ex .sei__btn { width: auto; min-width: 300px; height: 54px; padding: 0 36px; border-radius: 10px; font-size: 16px; gap: 16px; }
    .se-ex .sei__btn svg { width: 22px; height: 22px; }
    .sei__deco { --s: calc(100vw / 1100); }
}

/* ---------- Телефон ---------- */
@media (max-width: 767px) {
    .se-ex.sei { padding: 44px 16px 40px; }
    .sei__head { flex-direction: column; align-items: stretch; gap: 18px; }
    .se-ex .sei__eyebrow { font-size: 12px; letter-spacing: .12em; }
    .se-ex .sei__title { font-size: 30px; line-height: 1.12; letter-spacing: -.02em; }
    .sei__swoosh { left: 10px; right: -2px; bottom: -7px; height: 7px; }
    .se-ex .sei__subtitle { font-size: 16px; line-height: 1.4; }
    .sei__nav { justify-content: flex-end; }
    .se-ex .sei__arrow { width: 44px; height: 44px; }
    .se-ex .sei__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 18px; }
    .se-ex .sei-card__title { font-size: 19px; white-space: normal; }
    .se-ex .sei-card__tags { font-size: 14.5px; }
    .se-ex .sei__btn { width: 100%; min-width: 0; }
    .sei__deco { --s: calc(100vw / 700); }
    .sei__deco > .sei__dots--tr, .sei__deco > .sei__dots--br, .sei__deco > .sei__gem { display: none; }
    .sei__ring--tr { right: -150px; top: -190px; width: 260px; height: 260px; }
    .sei__ball--tr { left: auto; right: 64px; top: 12px; width: 18px; height: 18px; }
}

@media (prefers-reduced-motion: reduce) {
    .sei *, .sei *::before, .sei *::after { transition: none !important; }
}
