

:root {

    --ds-navy: #0a2a5e;
    --ds-navy-700: #0a3d91;
    --ds-blue: #2563eb;
    --ds-blue-600: #1d4ed8;
    --ds-blue-100: #dbe7fe;
    --ds-blue-50: #eff5ff;

    --ds-ink: #0f1b2d;
    --ds-ink-70: #48566b;
    --ds-ink-50: #64708a;
    --ds-surface: #ffffff;
    --ds-surface-alt: #f6f8fc;

    --ds-line: #e4e9f2;
    --ds-line-strong: #7d8aa4;

    --ds-ok-bg: #ecfdf5;   --ds-ok-border: #a7f3d0;  --ds-ok-ink: #065f46;
    --ds-warn-bg: #fffbeb; --ds-warn-border: #fde68a; --ds-warn-ink: #92400e;

    --ds-warn-solid: #b45309;
    --ds-err-bg: #fef2f2;  --ds-err-border: #fecaca; --ds-err-ink: #b42318;

    --ds-focus: #2563eb;
    --ds-focus-inverse: #ffffff;
    --ds-on-dark: #ffffff;

    --ds-scrim: rgba(10, 42, 94, .45);
    --ds-focus-width: 3px;
    --ds-focus-offset: 2px;

    --ds-font: Roboto, "Roboto Fallback", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
    --ds-weight-regular: 400;
    --ds-weight-medium: 500;
    --ds-weight-bold: 700;

    --ds-size-display: 1.75rem;  --ds-lh-display: 1.08;
    --ds-size-h1: 1.75rem;       --ds-lh-h1: 1.15;
    --ds-size-h2: 1.375rem;      --ds-lh-h2: 1.25;
    --ds-size-h3: 1.125rem;      --ds-lh-h3: 1.35;
    --ds-size-lead: 1.125rem;    --ds-lh-lead: 1.55;
    --ds-size-body: 1.0625rem;   --ds-lh-body: 1.6;
    --ds-size-small: 0.875rem;   --ds-lh-small: 1.5;
    --ds-size-label: 0.9375rem;  --ds-lh-label: 1.4;
    --ds-size-button: 0.875rem;  --ds-lh-button: 1;
    --ds-lh-button-multi: 1.2;
    --ds-tracking-button: .02em;

    --ds-space-1: 4px;   --ds-space-2: 8px;   --ds-space-3: 12px;
    --ds-space-4: 16px;  --ds-space-5: 24px;  --ds-space-6: 32px;
    --ds-space-7: 48px;  --ds-space-8: 64px;  --ds-space-9: 96px;

    --ds-section-y: var(--ds-space-5);

    --ds-gutter: var(--ds-space-4);
    --ds-grid-min: 280px;
    --ds-control-height: 48px;
    --ds-control-height-compact: 40px;
    --ds-icon-size: 24px;
    --ds-icon-size-sm: 20px;
    --ds-icon-size-lg: 32px;
    --ds-choice-size: 24px;
    --ds-textarea-min: 120px;
    --ds-container-max: 1140px;
    --ds-container-narrow-max: 900px;

    --ds-border-width: 1px;
    --ds-radius-focus: 6px;
    --ds-radius-s: 10px;
    --ds-radius-m: 16px;
    --ds-radius-l: 24px;
    --ds-radius-pill: 999px;

    --ds-shadow-s: 0 1px 2px rgba(15, 27, 45, .06), 0 2px 8px rgba(15, 27, 45, .04);
    --ds-shadow-m: 0 6px 20px rgba(15, 27, 45, .08);
    --ds-shadow-l: 0 18px 48px rgba(10, 42, 94, .16);

    --ds-target-min: 44px;

    --ds-ease: cubic-bezier(.22, .61, .36, 1);

    --ds-dur-fast: 140ms;
    --ds-dur-base: 220ms;
    --ds-dur-slow: 340ms;
    --ds-dur-reveal: 560ms;
    --ds-ease-emphasis: cubic-bezier(.34, 1.16, .64, 1);
    --ds-reveal-shift: 18px;
    --ds-stagger: 60ms;

    --ds-ease-entrance: cubic-bezier(.16, .84, .30, 1);
    --ds-dur-press: 80ms;
    --ds-hero-shift: 14px;

    --ds-bp-sm: 576px;  --ds-bp-md: 768px;  --ds-bp-lg: 992px;
    --ds-bp-xl: 1200px; --ds-bp-xxl: 1400px;
}

@media (min-width: 768px) { :root { --ds-section-y: var(--ds-space-6); --ds-gutter: var(--ds-space-5); } }
@media (min-width: 992px) { :root { --ds-section-y: var(--ds-space-7); } }

:root {
    --navy: var(--ds-navy, #0a2a5e);
    --navy-700: var(--ds-navy-700, #0a3d91);
    --blue: var(--ds-blue, #2563eb);
    --blue-600: var(--ds-blue-600, #1d4ed8);
    --blue-50: var(--ds-blue-50, #eff5ff);
    --blue-100: var(--ds-blue-100, #dbe7fe);
    --ink: var(--ds-ink, #0f1b2d);
    --ink-70: var(--ds-ink-70, #48566b);
    --ink-50: var(--ds-ink-50, #64708a);
    --line: var(--ds-line, #e4e9f2);
    --surface: var(--ds-surface, #ffffff);
    --surface-alt: var(--ds-surface-alt, #f6f8fc);
    --radius-s: var(--ds-radius-s, 10px);
    --radius: var(--ds-radius-m, 16px);
    --radius-l: var(--ds-radius-l, 24px);
    --shadow-s: var(--ds-shadow-s);
    --shadow: var(--ds-shadow-m);
    --shadow-l: var(--ds-shadow-l);
    --ease: var(--ds-ease);
    --section-y: var(--ds-section-y);
}

@font-face { font-display: swap; font-family: Roboto; font-weight: 400; font-style: normal;
             src: local("Roboto"), local("Roboto-Regular"), url("../fonts/roboto/Roboto-Regular.woff2?v=e5c6ae63") format('woff2'),
       url("../fonts/roboto/Roboto-Regular.woff?v=e9e77fc0") format("woff"); }
@font-face { font-display: swap; font-family: Roboto; font-weight: 500; font-style: normal;
             src: local("Roboto Medium"), local("Roboto-Medium"), url("../fonts/roboto/Roboto-Medium.woff2?v=0a106e32") format('woff2'),
       url("../fonts/roboto/Roboto-Medium.woff?v=3e38dce5") format("woff"); }
@font-face { font-display: swap; font-family: Roboto; font-weight: 700; font-style: normal;
             src: local("Roboto Bold"), local("Roboto-Bold"), url("../fonts/roboto/Roboto-Bold.woff2?v=6d0f6140") format('woff2'),
       url("../fonts/roboto/Roboto-Bold.woff?v=6fa3b472") format("woff"); }

/* the theme pinned html/body to 100% height, which broke scrolling in some
   browsers and cut long pages short */
html.h-100 { height: auto !important; min-height: 100%; }
body.d-flex.flex-column.h-100 { height: auto !important; min-height: 100%; }

html { scroll-behavior: smooth; scroll-padding-top: 96px; }

body {
    color: var(--ink);
    font-size: 17px;
    line-height: 1.65;
    background: var(--surface);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

::selection { background: var(--blue-100); color: var(--navy); }

a { color: var(--navy-700); text-decoration: none; transition: color .18s var(--ease); }
a:hover { color: var(--blue); }

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
    outline: var(--ds-focus-width) solid var(--ds-focus);
    outline-offset: var(--ds-focus-offset);
    border-radius: var(--ds-radius-focus);
}

h1, h2, h3, h4 { color: var(--navy); font-weight: 700; line-height: 1.15; letter-spacing: -.01em; }
p { margin-bottom: 1em; }

img { max-width: 100%; height: auto; }

/* === ig:shell:start ======================================================
   The global shell: one header, one navigation surface per viewport, one
   footer. Round 3.0 measured six header HTML variants, four navigations, no
   <header> element and a single control doing the work of two; this block is
   the CSS half of the one component that replaced them.

   Mobile-first, on the 576/768/992/1200/1400 policy. No max-width query lives
   here: every rule states what it adds as the viewport grows.
   ------------------------------------------------------------------------ */
:root { --ig-strip-h: 44px; }

.ig-shell {
    display: flex;
    align-items: center;
    gap: var(--ds-space-2);
}

.ig-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: var(--ds-surface);
    border-bottom: var(--ds-border-width) solid var(--ds-line);
}

.ig-header:has(.ig-header-strip) { top: calc(-1 * var(--ig-strip-h)); }

.ig-header.is-stuck { box-shadow: var(--ds-shadow-s); }

.ig-header-strip {
    height: var(--ig-strip-h);
    background: var(--ds-surface-alt);
    border-bottom: var(--ds-border-width) solid var(--ds-line);
}
.ig-header-strip .ig-shell { justify-content: flex-end; }
.ig-partner {
    display: inline-flex;
    align-items: center;
    gap: var(--ds-space-2);
    min-height: var(--ds-target-min);
    padding-inline: var(--ds-space-2);
    font-size: var(--ds-size-small);
    font-weight: var(--ds-weight-medium);
    color: var(--ds-ink-70);
}
.ig-partner:hover { color: var(--ds-navy); }
.ig-partner-icon {
    width: var(--ds-icon-size-sm);
    height: var(--ds-icon-size-sm);
    flex: 0 0 auto;
    color: var(--ds-blue);
}

.ig-header-bar .ig-shell { min-height: 64px; }

.ig-logo { display: inline-flex; align-items: center; flex: 0 0 auto; min-height: var(--ds-target-min); }

.ig-logo img { display: block; width: auto; height: 26px; }

.ig-nav { display: none; }
.ig-nav-list {
    display: flex;
    align-items: center;
    gap: var(--ds-space-1);
    list-style: none;
    margin: 0;
    padding: 0;
}
.ig-nav-item > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: var(--ds-space-1);
    min-height: 40px;
    padding-inline: var(--ds-space-2);
    border-radius: var(--ds-radius-s);
    font-size: var(--ds-size-small);
    font-weight: var(--ds-weight-medium);
    line-height: var(--ds-lh-small);
    color: var(--ds-ink-70);
    white-space: nowrap;
    transition: color .18s var(--ds-ease), background .18s var(--ds-ease);
}
.ig-nav-item > a:hover { color: var(--ds-navy); background: var(--ds-blue-50); }
.ig-caret { width: 16px; height: 16px; flex: 0 0 auto; opacity: .75; }

.ig-nav-item.is-current > a { color: var(--ds-navy); font-weight: var(--ds-weight-bold); }
.ig-nav-item.is-current > a::after {
    content: "";
    position: absolute;
    left: var(--ds-space-2);
    right: var(--ds-space-2);
    bottom: 4px;
    height: 2px;
    border-radius: 2px;
    background: var(--ds-blue);
}

.ig-has-sub { position: relative; }
.ig-subnav {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 20;
    min-width: 260px;
    margin: 0;
    padding: var(--ds-space-2);
    list-style: none;
    background: var(--ds-surface);
    border: var(--ds-border-width) solid var(--ds-line);
    border-radius: var(--ds-radius-m);
    box-shadow: var(--ds-shadow-m);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity .18s var(--ds-ease), transform .18s var(--ds-ease), visibility .18s;
}
.ig-has-sub:hover > .ig-subnav,
.ig-has-sub:focus-within > .ig-subnav { opacity: 1; visibility: visible; transform: none; }
.ig-subnav a {
    display: block;
    padding: var(--ds-space-2) var(--ds-space-3);
    border-radius: var(--ds-radius-s);
    font-size: var(--ds-size-small);
    color: var(--ds-ink-70);
}
.ig-subnav a:hover { background: var(--ds-blue-50); color: var(--ds-navy); }
.ig-subnav a[aria-current="page"] { color: var(--ds-navy); font-weight: var(--ds-weight-bold); }

.ig-header-tools {
    display: flex;
    align-items: center;
    gap: var(--ds-space-2);
    margin-inline-start: auto;
}

.ig-lang {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px;

    border: var(--ds-border-width) solid var(--ds-line-strong);
    border-radius: var(--ds-radius-pill);
}

.ig-lang-opt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--ds-target-min);
    min-height: var(--ds-target-min);
    border-radius: var(--ds-radius-pill);
    font-size: var(--ds-size-small);
    font-weight: var(--ds-weight-bold);
    letter-spacing: .04em;
    color: var(--ds-ink-50);
    transition: color .18s var(--ds-ease), background .18s var(--ds-ease);
}
.ig-lang-opt:hover { color: var(--ds-navy); background: var(--ds-blue-50); }
.ig-lang-opt.is-current { color: var(--ds-on-dark); background: var(--ds-navy); }

.ig-audience {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--ds-space-2);
    min-width: var(--ds-target-min);
    min-height: var(--ds-target-min);
    padding-inline: var(--ds-space-3);
    border: var(--ds-border-width) solid var(--ds-line-strong);
    border-radius: var(--ds-radius-pill);
    font-size: var(--ds-size-small);
    font-weight: var(--ds-weight-medium);
    color: var(--ds-ink-70);
    white-space: nowrap;
    transition: color .18s var(--ds-ease), background .18s var(--ds-ease), border-color .18s var(--ds-ease);
}
.ig-audience:hover { color: var(--ds-navy); background: var(--ds-blue-50); border-color: var(--ds-blue); }
.ig-aud-icon { width: var(--ds-icon-size-sm); height: var(--ds-icon-size-sm); flex: 0 0 auto; color: var(--ds-blue); }

.ig-audience-label { display: none; }

.ig-header-tools .ig-audience { display: none; }

.ig-burger { color: var(--ds-navy); flex: 0 0 auto; }

.ig-menu[hidden] { display: none; }
.ig-menu { position: fixed; inset: 0; z-index: 1040; }
.ig-menu-scrim { position: absolute; inset: 0; background: var(--ds-scrim); }
.ig-menu-panel {
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    width: min(400px, 100%);
    display: flex;
    flex-direction: column;
    gap: var(--ds-space-4);
    padding: var(--ds-space-4);
    background: var(--ds-surface);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.ig-menu-head { display: flex; align-items: center; justify-content: space-between; gap: var(--ds-space-3); }

.ig-m-logo { display: inline-flex; align-items: center; min-height: var(--ds-target-min); }
.ig-m-logo img { display: block; width: auto; height: 28px; }
.ig-menu-close { color: var(--ds-ink-70); }

.ig-m-nav { display: grid; gap: var(--ds-space-3); }
.ig-m-group { display: grid; gap: var(--ds-space-1); }

.ig-m-group--sub { grid-template-columns: 1fr auto; align-items: center; }
.ig-m-group--sub .ig-m-lead { grid-column: 1; border-bottom: 0; }
.ig-m-toggle {
    grid-column: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--ds-target-min);
    min-width: var(--ds-target-min);
    height: var(--ds-target-min);
    min-height: var(--ds-target-min);
    padding: 0;
    background: none;
    border: 0;
    border-radius: var(--ds-radius-s);
    color: var(--ds-ink-70);
}
.ig-m-toggle:hover { background: var(--ds-blue-50); color: var(--ds-navy); }
.ig-m-toggle .ig-caret { width: 20px; height: 20px; transition: transform .18s var(--ds-ease); }
.ig-m-toggle[aria-expanded="true"] .ig-caret { transform: rotate(180deg); }
.ig-m-group--sub > .ig-m-sub { grid-column: 1 / -1; }

.ig-m-group--sub.is-here > .ig-m-lead {
    color: var(--ds-navy);
    box-shadow: inset 3px 0 0 var(--ds-blue);
    padding-inline-start: var(--ds-space-3);
}
.ig-m-group--sub::after {
    content: "";
    grid-column: 1 / -1;
    grid-row: 1;
    align-self: end;
    border-bottom: var(--ds-border-width) solid var(--ds-line);
}

.ig-m-lead {
    display: flex;
    align-items: center;
    min-height: 56px;
    font-size: var(--ds-size-lead);
    font-weight: var(--ds-weight-bold);
    color: var(--ds-ink);
    border-bottom: var(--ds-border-width) solid var(--ds-line);
}
.ig-m-lead[aria-current="page"] { color: var(--ds-navy); box-shadow: inset 3px 0 0 var(--ds-blue); padding-inline-start: var(--ds-space-3); }
.ig-m-sub { list-style: none; margin: 0; padding: 0; }
.ig-m-sub a {
    display: flex;
    align-items: center;
    min-height: var(--ds-target-min);
    font-size: var(--ds-size-body);
    color: var(--ds-ink-70);
}
.ig-m-sub a:hover { color: var(--ds-navy); }
.ig-m-sub a[aria-current="page"] { color: var(--ds-navy); font-weight: var(--ds-weight-bold); }

.ig-menu-switches {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ds-space-3);
    padding-bottom: var(--ds-space-4);
    border-bottom: var(--ds-border-width) solid var(--ds-line);
}
.ig-lang--panel { flex: 0 0 auto; }
.ig-audience--panel { flex: 1 1 auto; justify-content: flex-start; }

.ig-audience--panel .ig-audience-label { display: inline; }

.ig-m-contact {
    display: grid;
    gap: var(--ds-space-2);
    padding-top: var(--ds-space-4);
    border-top: var(--ds-border-width) solid var(--ds-line);
    margin-block-start: auto;
}
.ig-m-contact a {
    display: flex;
    align-items: center;
    min-height: var(--ds-target-min);
    font-size: var(--ds-size-body);
    font-weight: var(--ds-weight-bold);
    color: var(--ds-navy);
}

html.ig-locked, html.ig-locked body { overflow: hidden; }

@media (min-width: 576px) {
    .ig-shell { gap: var(--ds-space-3); }
    .ig-logo img { height: 30px; }
    .ig-header-tools .ig-audience { display: inline-flex; }
}

@media (min-width: 768px) {
    .ig-shell { gap: var(--ds-space-4); }
    .ig-logo img { height: 32px; }
}

@media (min-width: 992px) {
    .ig-nav { display: block; }

    .ig-header .ig-burger { display: none; }
    .ig-header .ig-menu { display: none; }
    .ig-header-bar .ig-shell { min-height: 72px; gap: var(--ds-space-5); }
}

@media (min-width: 1200px) {
    .ig-nav-item > a { padding-inline: var(--ds-space-3); }
    .ig-nav-item.is-current > a::after { left: var(--ds-space-3); right: var(--ds-space-3); }
    .ig-audience-label { display: inline; }
    .ig-logo img { height: 34px; }
}
/* === ig:shell:end === */

.home-block-content-0 { padding: clamp(28px, 4vw, 56px) 15px clamp(48px, 7vw, 96px); }
.home-block-content-0 .row.i-title { margin-top: 0; }

.home-block-content-0 h1 {
    max-width: 34ch;
    margin: 0 0 18px;
    font-size: clamp(13px, 1.1vw, 15px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--blue);
}
.home-block-content-0 .i-title,
.home-block-content-0 .i-title div {
    font-size: clamp(30px, 3.6vw, 50px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.02em;
    color: var(--navy);
    text-transform: none;
}
.home-block-content-0 .i-description,
.home-block-content-0 .i-description div {
    max-width: 56ch;
    margin-top: 18px;
    font-size: clamp(16px, 1.2vw, 18px);
    color: var(--ink-70);
}
@media (min-width: 992px) {

    .home-block-content-0 > .d-md-flex > .col-lg-4 { flex: 0 0 46%; max-width: 46%; padding-right: 40px; }
    .home-block-content-0 > .d-md-flex > .col-lg-8 { flex: 0 0 54%; max-width: 54%; }
}

.main-image-home {
    border-radius: var(--radius-l);
    box-shadow: var(--shadow-l);
    width: 100%;
    object-fit: cover;
}

.theme-button,
.theme-button-variant-1,
.theme-button-variant-2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 12px 26px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    text-align: center;

    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.2;
    height: auto;
    cursor: pointer;
    transition: transform .18s var(--ease), box-shadow .18s var(--ease),
                background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);
}
.theme-button-variant-2,
.send_from, .send_from_main_contact, .send_from_uslugi, .send_from_uslugi-1,
.send_from_inner_contact, .send-order-form-button, .send-partner-form-button,
.send-vacancy-form-button {
    background: var(--navy-700);
    border: 1px solid var(--navy-700);
    color: #fff;
    box-shadow: 0 8px 20px rgba(10, 61, 145, .22);
}
.theme-button-variant-2:hover,
.send_from:hover, .send_from_main_contact:hover, .send_from_uslugi:hover,
.send_from_uslugi-1:hover, .send_from_inner_contact:hover,
.send-order-form-button:hover, .send-partner-form-button:hover,
.send-vacancy-form-button:hover {
    background: var(--blue-600);
    border-color: var(--blue-600);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(29, 78, 216, .3);
}
.theme-button-variant-1 {
    background: #fff;
    border: 1.5px solid var(--line);
    color: var(--navy);
}
.theme-button-variant-1:hover {
    border-color: var(--navy-700);
    color: var(--navy-700);
    background: var(--blue-50);
    transform: translateY(-2px);
}
.theme-button:active { transform: translateY(0); }

.home-block-content { padding: var(--section-y) 15px; }
.home-block-content:nth-of-type(even) { background: var(--surface-alt); }

.home-block-content-title {
    position: relative;
    margin-bottom: clamp(28px, 3vw, 48px);
    font-size: clamp(26px, 2.6vw, 38px);
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--navy);
    text-transform: none;
}
.home-block-content-title::after {
    content: "";
    display: block;
    width: 56px;
    height: 4px;
    margin: 16px auto 0;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--blue), var(--navy-700));
}
.blue-mini-line, .blue-mini-line-1, .blue-mini-line-mini {
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--blue), var(--navy-700));
    opacity: .9;
}

.home-block-content .row > [class*="col-"]:has(> .home-block-content-inner-1),
.home-block-content .row > [class*="col-"]:has(> .home-block-content-inner-2) {
    display: flex;
    margin-bottom: 24px;
}

.home-block-content-inner-1,
.home-block-content-inner-2 {
    display: flex;
    flex: 1;
    flex-direction: column;
    height: auto;
    padding: clamp(24px, 2.6vw, 36px);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-s);
    transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.home-block-content-inner-1:hover,
.home-block-content-inner-2:hover {

    box-shadow: var(--shadow);
    border-color: var(--blue-100);
}
.home-block-content-inner-1 :is(h2, h3),
.home-block-content-inner-2 :is(h2, h3) {
    font-size: clamp(19px, 1.6vw, 23px);
    line-height: 1.25;
    margin-bottom: 4px;
    text-transform: none;
}
.home-block-content-inner-list { margin: 18px 0 24px; padding: 0; list-style: none; }
.home-block-content-inner-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
    color: var(--ink-70);
    font-size: 16px;
    line-height: 1.5;
}
.home-block-content-inner-list li::before {
    content: "";
    position: absolute;
    left: 0; top: .28em;
    width: 18px; height: 18px;
    border-radius: 50%;
    background: var(--blue-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232563eb' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E") center/12px no-repeat;
}

.home-block-content-inner-1 > .row:last-of-type,
.home-block-content-inner-2 > .row:last-of-type { margin-top: auto; }
.home-block-content-inner-1 .theme-button,
.home-block-content-inner-2 .theme-button { align-self: flex-start; }

.home-block-content-table-1, .home-block-content-table-2 { height: 100%; }
.title-percent {
    font-size: clamp(38px, 4.4vw, 62px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.03em;
    background: linear-gradient(120deg, var(--navy-700), var(--blue));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.description-percent {
    margin-top: 6px;
    color: var(--ink-50);
    font-size: 15px;
    line-height: 1.45;
}
.description-33 { color: var(--ink-70); font-size: 16px; }
.under-table-description { color: var(--ink-50); font-size: 13px; line-height: 1.6; }

.main-usluga-description { color: var(--ink-70); font-size: 15.5px; line-height: 1.55; }
.main-usluga-description p { margin: 0; }
.home-block-content img[src*="uploads"] { border-radius: var(--radius); }
.home-block-content a:has(> img) { display: block; overflow: hidden; border-radius: var(--radius); }

input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea, select {
    width: 100%;
    min-height: 50px;
    padding: 13px 16px;
    background: #fff;
    border: 1.5px solid var(--line);
    border-radius: var(--radius-s);
    color: var(--ink);
    font-size: 16px;
    transition: border-color .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease);
}
textarea { min-height: 130px; resize: vertical; }
input::placeholder, textarea::placeholder { color: var(--ink-50); opacity: .85; }
input:focus, textarea:focus, select:focus {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .14);
}
form .row { margin-bottom: 4px; }
.checkbox-agree, .checkbox-agree * { font-size: 14px; line-height: 1.5; color: var(--ink-70); }

.success-vacancy-form, .success-uslugi-form, .success-uslugi-form-1,
.success-order-form, .success-partner-form, .success-contact-form,
.success-main-contact-form, .success-inner-contact-form {
    padding: 18px 20px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: var(--radius-s);
    color: #065f46;
    font-weight: 600;
}

.chosen-vacancy-title b {
    font-size: clamp(22px, 2.2vw, 30px);
    font-weight: 800;
    color: var(--navy);
    letter-spacing: -.02em;
}
.js-result-count {
    display: inline-block;
    margin-left: 10px;
    padding: 3px 12px;
    background: var(--blue-50);
    border-radius: 999px;
    color: var(--navy-700);
    font-size: 15px;
    font-weight: 700;
    vertical-align: middle;
}

.jobseekers, .container-fluid.jobseekers { position: relative; }
.jobseekers::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(10, 42, 94, .82) 0%, rgba(10, 42, 94, .55) 42%, rgba(10, 42, 94, 0) 68%);
    pointer-events: none;
}
.jobseekers > * { position: relative; z-index: 1; }
.jobseekers h1, .jobseekers .jobseekers-title, .jobseekers-title {
    font-size: clamp(28px, 3.4vw, 46px);
    font-weight: 800;
    color: #fff;
    letter-spacing: -.02em;
}

.background-transparent-big-block,
.jobseekers .background-transparent-big-block {
    background: rgba(9, 27, 56, .62) !important;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    border-radius: var(--radius);
    padding: clamp(26px, 3vw, 44px) !important;
}
.background-transparent-big-block,
.background-transparent-big-block p,
.background-transparent-big-block div { color: rgba(255, 255, 255, .95); }
.background-transparent-big-block .theme-button-variant-2 { box-shadow: 0 10px 26px rgba(0, 0, 0, .3); }

.pre-main-filter {
    position: sticky;
    top: 96px;
    padding: 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-s);
}
.item-filter { padding-bottom: 6px; }
.item-filter-title-block b { font-size: 15px; color: var(--navy); letter-spacing: 0; }
.item-filter-title-block { cursor: pointer; padding: 10px 0; }
.label-filter label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 5px 0;
    color: var(--ink-70);
    font-size: 15px;
    cursor: pointer;
    transition: color .16s var(--ease);
}
.label-filter label:hover { color: var(--navy); }
.label-filter input[type="checkbox"] {
    width: 18px; height: 18px;
    margin-top: 3px;
    accent-color: var(--blue);
    flex: 0 0 auto;
    cursor: pointer;
}
.pre-filter-choice { font-size: 14px; color: var(--ink-50); margin-bottom: 10px; }
.pre-filter-choice-2 { cursor: pointer; color: var(--blue); font-weight: 600; }

.ig-clear-filter {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}
.pre-clear-filter {

    font: inherit;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px 8px;
    padding: 6px 12px;
    background: var(--blue-50);
    border: 1px solid var(--blue-100);
    border-radius: 999px;
    color: var(--navy-700);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .16s var(--ease);
}
.pre-clear-filter:hover { background: var(--blue-100); }
.clear-filter { font-weight: 700; }

.vacancy-item {
    position: relative;
    padding: 22px;
    margin-bottom: 18px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-s);
    transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.vacancy-item:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow);
    border-color: var(--blue-100);
}
.vacancy-item img[src*="uploads"] {
    width: 100%;
    aspect-ratio: 5 / 3;
    object-fit: cover;
    border-radius: var(--radius-s);
}
.vacancy-title-list {
    display: inline-block;
    margin-bottom: 6px;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--navy);
}
.vacancy-title-list:hover { color: var(--blue); }
.vacancy-item-row { color: var(--ink-70); font-size: 15px; }
.vacancy-item-row b { color: var(--ink); font-weight: 600; }
.vacancy-item-row img { width: 18px; height: 18px; object-fit: contain; margin-right: 6px; opacity: .75; }
.salery-valute { width: 16px !important; height: 16px !important; }
.closed-vacancy-block { opacity: .72; }
.closed-vacancy {
    display: inline-block;
    padding: 5px 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 999px;
    color: #b91c1c;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.js-no-results-text {
    padding: 40px 20px;
    color: var(--ink-50);
    font-size: 17px;
}

.js-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 8px; }
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    color: var(--ink-70);
    font-weight: 600;

    transition: border-color var(--ds-dur-fast) var(--ds-ease),
                color var(--ds-dur-fast) var(--ds-ease),
                background var(--ds-dur-fast) var(--ds-ease);
}
.page-numbers:hover { border-color: var(--navy-700); color: var(--navy-700); }
.page-numbers.current { background: var(--navy-700); border-color: var(--navy-700); color: #fff; }

.big-container-jobseekers h1,
.container-inner h1 {
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 800;
    letter-spacing: -.02em;
    margin-bottom: 8px;
}
.photo-and-other-main { border-radius: var(--radius); box-shadow: var(--shadow); }
.icon-in-detail-page-w { width: 20px; height: 20px; object-fit: contain; opacity: .8; }
.back-to-list { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.chosen-vacancy-block h2, .container-inner h2 {
    font-size: clamp(20px, 1.8vw, 26px);
    margin: 28px 0 12px;
}
.container-inner-list li, .container-inner-description li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    list-style: none;
    color: var(--ink-70);
}
.container-inner-list li::before, .container-inner-description li::before {
    content: "";
    position: absolute;
    left: 0; top: .5em;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--blue);
}
.container-inner-description p { color: var(--ink-70); }
.container-inner-left-menu ul { list-style: none; padding: 0; margin: 0; }
.container-inner-left-menu ul, .container-inner-left-menu li { text-align: left; }
.container-inner-left-menu li a {
    display: block;
    padding: 11px 14px;
    border-radius: 10px;
    color: var(--ink-70);
    font-size: 15px;
    font-weight: 500;
    transition: background .16s var(--ease), color .16s var(--ease);
}
.container-inner-left-menu li a:hover { background: var(--blue-50); color: var(--navy); }
.container-inner-left-menu li a.checked-left-link {
    background: var(--navy-700);
    color: #fff;
    font-weight: 600;
}
video { width: 100%; border-radius: var(--radius); box-shadow: var(--shadow-s); background: #000; }

.container-inner img[src*="uploads"],
.container-inner-slider img,
.big-container-jobseekers img[src*="uploads"],
.job-container img[src*="uploads"] { border-radius: var(--radius); }
.container-inner-slider .slick-slide { padding: 0 8px; }

.legal-page h1 { font-size: clamp(28px, 3vw, 40px); }
.legal-page h2 { color: var(--navy); }
.legal-page p, .legal-page li { color: var(--ink-70); }
.legal-page .legal-lead { color: var(--ink); font-size: 18px; }

.footer { margin-top: 0; background: var(--navy); color: rgba(255, 255, 255, .78); }
.footer a { color: rgba(255, 255, 255, .78); }
.footer a:hover { color: #fff; }
.footer-block-1 { padding: clamp(44px, 5vw, 72px) 15px clamp(28px, 3vw, 44px); }
.footer-1-inner-title,
.footer-2 .footer-1-inner-title,
.footer .footer-1-inner-title {
    margin-bottom: 18px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.footer-1-inner-contact { margin-bottom: 12px; font-size: 15.5px; }
.footer-1-inner-contact img { width: 18px; height: 18px; object-fit: contain; filter: brightness(0) invert(1); opacity: .7; }
.footer-block-2 { padding: 18px 15px 26px; border-top: 1px solid rgba(255, 255, 255, .12); }
.footer-block-2-inner-3, .footer-block-2-inner-3 * { color: rgba(255, 255, 255, .6); font-size: 13.5px; }
.legal-footer-links { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 10px; font-size: 13.5px; }
.legal-footer-links a { color: rgba(255, 255, 255, .78); text-decoration: underline; text-underline-offset: 3px; }
.footer img[src*="logo_rzf"], .footer img[src*="fb"], .footer img[src*="lin"] {
    transition: transform .18s var(--ease), opacity .18s var(--ease);
    opacity: .85;
}
.footer img[src*="fb"]:hover, .footer img[src*="lin"]:hover { transform: translateY(-2px); opacity: 1; }
.footer iframe { border-radius: var(--radius); }

.legal-page, main { background: transparent; }
.modal-content { border: 0; border-radius: var(--radius-l); box-shadow: var(--shadow-l); }
.modal-header { border-bottom: 1px solid var(--line); }

@media (max-width: 991px) {
    .js-result-count {
    display: inline-block;
    margin-left: 10px;
    padding: 3px 12px;
    background: var(--blue-50);
    border-radius: 999px;
    color: var(--navy-700);
    font-size: 15px;
    font-weight: 700;
    vertical-align: middle;
}

.jobseekers, .container-fluid.jobseekers { position: relative; }
.jobseekers::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(100deg, rgba(10, 42, 94, .82) 0%, rgba(10, 42, 94, .55) 42%, rgba(10, 42, 94, 0) 68%);
    pointer-events: none;
}
.jobseekers > * { position: relative; z-index: 1; }
.jobseekers h1, .jobseekers .jobseekers-title, .jobseekers-title {
    font-size: clamp(28px, 3.4vw, 46px);
    font-weight: 800;
    color: #fff;
    letter-spacing: -.02em;
}

.background-transparent-big-block,
.jobseekers .background-transparent-big-block {
    background: rgba(9, 27, 56, .62) !important;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    border-radius: var(--radius);
    padding: clamp(26px, 3vw, 44px) !important;
}
.background-transparent-big-block,
.background-transparent-big-block p,
.background-transparent-big-block div { color: rgba(255, 255, 255, .95); }
.background-transparent-big-block .theme-button-variant-2 { box-shadow: 0 10px 26px rgba(0, 0, 0, .3); }

.pre-main-filter { position: static; }
    .home-block-content-0 { padding-top: 28px; }
    @media (min-width: 992px) {

    .home-block-content-0 > .d-md-flex > .col-lg-4 { flex: 0 0 46%; max-width: 46%; padding-right: 40px; }
    .home-block-content-0 > .d-md-flex > .col-lg-8 { flex: 0 0 54%; max-width: 54%; }
}

.main-image-home { margin-bottom: 26px; }
}
@media (max-width: 767px) {
    body { font-size: 16px; }

    .home-block-content-0 .i-title,
    .home-block-content-0 .i-title div,
    .home-block-content-0 .i-description,
    .home-block-content-0 .i-description div,
    .home-block-content-0 [class*="text-center"] { text-align: left !important; }
    .home-block-content-0 .i-title, .home-block-content-0 .i-title div { font-size: 30px; }

    .partner-program-link, .partner-program, [class*="partner"] a, a[href*="partnerprogram"] {
        font-size: 12px;
    }
    .home-block-content-inner-1, .home-block-content-inner-2 { margin-bottom: 16px; }
    .theme-button, .theme-button-variant-1, .theme-button-variant-2 { width: 100%; }
    .home-block-content-0 .i-description div { max-width: none; }
    .vacancy-item { padding: 16px; }
    .footer-1-inner { margin-bottom: 26px; }
}

.home-block-content-table-1,
.home-block-content-table-2,
.how-we-work {
    padding: clamp(26px, 3vw, 40px);
    border-radius: var(--radius);
}
.home-block-content-table-1 { box-shadow: var(--shadow); }
.how-we-work { border: 1px solid var(--line); background: #fff; height: 100%; }
.how-we-work-1 { border-color: transparent; box-shadow: var(--shadow); }
.how-we-work-title { font-size: 20px; font-weight: 700; margin-bottom: 14px; }
.how-we-work-description, .how-we-work-description li { line-height: 1.6; }
.how-we-work-1 .how-we-work-title, .how-we-work-1 .how-we-work-description { color: #fff; }
.how-we-work ul { padding-left: 4px; list-style: none; }
.how-we-work li { position: relative; padding-left: 24px; margin-bottom: 10px; }
.how-we-work li::before {
    content: ""; position: absolute; left: 0; top: .55em;
    width: 7px; height: 7px; border-radius: 50%; background: var(--blue);
}
.how-we-work-1 li::before { background: rgba(255, 255, 255, .85); }

.home-block-content-title + .row,
.home-block-content > .row:nth-child(2) > [class*="col-"] > .row {
    text-transform: none;
}
.home-block-content .row [style*="text-transform"] { text-transform: none !important; }

.main-usluga-description,
.home-block-content .row > [class*="col-"] > .main-usluga-description { margin-bottom: 26px; }
.home-block-content h2 + .blue-mini-line-mini { margin-bottom: 12px; }

.home-block-content-title ~ .row .col-12 > div:not([class]),
.home-block-content-title + div,
.uppercase-lead { text-transform: none !important; letter-spacing: 0 !important; }

.ig-section { padding: var(--section-y) 0; }
.ig-h1 { font-size: clamp(30px, 3.4vw, 46px); font-weight: 800; letter-spacing: -.02em; margin-bottom: 12px; }
.ig-h2 {
    margin-bottom: clamp(24px, 3vw, 42px);
    font-size: clamp(24px, 2.6vw, 36px);
    font-weight: 800;
    letter-spacing: -.02em;
    text-align: center;
    color: var(--navy);
}
.ig-h2-left { text-align: left; margin-bottom: 8px; }
.ig-lead { max-width: 62ch; font-size: 18px; color: var(--ink-70); }
.ig-note { color: var(--ink-50); font-size: 15px; }
.ig-icon { width: 26px; height: 26px; flex: 0 0 auto; color: var(--blue); }
.ig-grid { display: grid; gap: 20px; }
.ig-grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); }

.ig-trust { background: var(--surface-alt); }
.ig-trust-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 26px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-s);
    transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.ig-trust-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.ig-trust-card h3 { font-size: 18px; font-weight: 700; margin: 0; }
.ig-trust-card p { margin: 0; color: var(--ink-70); font-size: 15.5px; line-height: 1.55; }

.ig-reviews{padding-top:0}
.ig-reviews-cta{margin:0;font-size:15px;font-weight:600}

.ig-about-intro { padding-bottom: 0; }

.ig-about-who-grid { display: grid; gap: var(--ds-space-6); align-items: start; }

@media (min-width: 992px) {
    .ig-about-who-grid {
        grid-template-columns: 55fr 45fr;
        grid-template-rows: auto 1fr;
        column-gap: var(--ds-space-7);
        row-gap: 0;
    }
    .ig-about-who-text { display: contents; }
    .ig-about-who-text > .ig-h2 { grid-column: 1; grid-row: 1; }
    .ig-about-who-text > .ig-prose { grid-column: 1; grid-row: 2; }

    .ig-about-who-media { grid-column: 2; grid-row: 1 / -1; align-self: stretch; }
}
.ig-about-who-media { margin: 0; }
.ig-about-who-media img {
    display: block; width: 100%; height: auto;

    aspect-ratio: 4 / 5; object-fit: cover;
    border-radius: var(--radius);
}

@media (min-width: 992px) {
    .ig-about-who-media { position: relative; min-height: 0; }
    .ig-about-who-media img {
        position: absolute; inset: 0;
        width: 100%; height: 100%;
        aspect-ratio: auto;
    }
}
.ig-about-who { padding-top: var(--ds-space-5); }
@media (min-width: 768px) { .ig-about-who { padding-top: var(--ds-space-6); } }
@media (min-width: 992px) { .ig-about-who { padding-top: var(--ds-space-7); } }

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

.ig-wiedza-block { padding-top: 0; }
.ig-wiedza-intro { padding-bottom: var(--ds-space-5); }

.ig-eyebrow { margin: 0 0 var(--ds-space-3); font-size: 14px; letter-spacing: .04em;
    text-transform: uppercase; color: var(--ink-50); }
.ig-eyebrow a { color: inherit; text-decoration: none; }
.ig-eyebrow a:hover { color: var(--ds-blue); text-decoration: underline; }

.ig-prose--after { margin-top: var(--ds-space-5); }

.ig-wiedza-block .ig-h2 { margin-top: 0; }
.ig-wiedza-block > .container > * + * { margin-top: var(--ds-space-5); }

.ig-sources { list-style: none; padding: 0; margin: var(--ds-space-4) 0 0;
    display: grid; gap: var(--ds-space-3); max-width: 68ch; }
.ig-sources > li { position: relative; padding-left: 18px; font-size: 15px;
    line-height: 1.5; color: var(--ink-70); }
.ig-sources > li::before { content: "§"; position: absolute; left: 0;
    color: var(--ds-blue); }
.ig-sources a { color: inherit; }

.ig-wiedza-grid { grid-template-columns: 1fr; }
@media (min-width: 768px) { .ig-wiedza-grid { grid-template-columns: repeat(2, 1fr); } }
.ig-wiedza-card h3 { margin: 0 0 var(--ds-space-3); font-size: 20px; line-height: 1.3; }
.ig-wiedza-card h3 a { color: inherit; text-decoration: none; }
.ig-wiedza-card h3 a:hover { color: var(--ds-blue); }
.ig-wiedza-list .ig-note { margin-top: var(--ds-space-5); max-width: 68ch; }

.ig-wiedza-hero-grid { display: grid; gap: var(--ds-space-6); align-items: center; }
@media (min-width: 900px) {
    .ig-wiedza-hero-grid { grid-template-columns: minmax(0, 47fr) minmax(0, 53fr); }
}

.ig-wiedza-hero-img { display: block; width: 100%; height: 340px; object-fit: cover;
    border-radius: var(--ds-radius-l); }
@media (max-width: 899px) { .ig-wiedza-hero-img { height: 220px; } }
.ig-wiedza-hero .ig-lead { margin-bottom: 0; }

.ig-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ig-table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5;
    min-width: 32rem; }

.ig-table caption { caption-side: bottom; text-align: left; font-size: 14px;
    color: var(--ink-50); padding-top: var(--ds-space-3); }
.ig-table th, .ig-table td { text-align: left; vertical-align: top;
    padding: var(--ds-space-3) var(--ds-space-4);
    border-bottom: var(--ds-border-width) solid var(--ds-blue-100); }
.ig-table thead th { font-size: 13px; letter-spacing: .04em; text-transform: uppercase;
    color: var(--ink-50); font-weight: 600; }
.ig-table tbody th { font-weight: 600; color: var(--ds-blue-600); }
.ig-table tbody td { color: var(--ink-70); }
.ig-table tbody tr:last-child th, .ig-table tbody tr:last-child td { border-bottom: 0; }

.ig-tl { margin: 0; }
.ig-tl-bar { display: flex; width: 100%; border-radius: var(--ds-radius-s);
    overflow: hidden; border: var(--ds-border-width) solid var(--ds-blue-100); }

.ig-tl-seg { display: flex; align-items: center; justify-content: center;
    flex-basis: 0; min-width: 0; padding: var(--ds-space-3) 4px; text-align: center; }
.ig-tl-seg + .ig-tl-seg { border-left: var(--ds-border-width) solid var(--ds-blue-100); }
.ig-tl-seg.is-used { background: var(--ds-blue); }
.ig-tl-seg.is-used .ig-tl-label { color: #fff; }
.ig-tl-seg.is-free { background: var(--ds-blue-50); }
.ig-tl-seg.is-free .ig-tl-label { color: var(--ds-blue-600); }
.ig-tl-label { font-size: 13px; font-weight: 600; line-height: 1.25;
    overflow-wrap: anywhere; }
.ig-tl figcaption { margin-top: var(--ds-space-3); font-size: 14px; color: var(--ink-50); }
@media (max-width: 480px) { .ig-tl-label { font-size: 11px; } }

.ig-wiedza-intro--article > .container > *,
.ig-wiedza-block > .container > *,
.ig-wiedza-sources > .container > * { margin-inline: auto; }

.ig-wiedza-intro--article .ig-eyebrow,
.ig-wiedza-intro--article .ig-h1,
.ig-wiedza-intro--article .ig-lead,
.ig-wiedza-intro--article .ig-legal-state,
.ig-wiedza-block .ig-h2,
.ig-wiedza-block .ig-prose,
.ig-wiedza-block .ig-prose--after,
.ig-wiedza-block .ig-ticks,
.ig-wiedza-block .ig-note,
.ig-wiedza-sources .ig-h2,
.ig-wiedza-sources .ig-note,
.ig-wiedza-sources .ig-sources { max-width: 900px; }

.ig-wiedza-block .ig-table-wrap,
.ig-wiedza-block .ig-tl,
.ig-wiedza-block .ig-grid { max-width: 100%; }

.ig-legal-state { margin: var(--ds-space-4) 0 0; font-size: 14px; color: var(--ink-50); }

.ig-cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}
.ig-case{display:flex;flex-direction:column;gap:10px;padding:24px;background:#fff;
    border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-s)}
.ig-case-figure{font-size:30px;font-weight:800;line-height:1.15;color:var(--ds-blue);
    font-variant-numeric:tabular-nums}
.ig-case h3{margin:0;font-size:17px;font-weight:700;line-height:1.3}
.ig-case p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-70)}
.ig-about-founded{margin:14px 0 0;font-size:15px;color:var(--ink-70)}
@media (max-width:900px){.ig-cases-grid{grid-template-columns:1fr}}

.ig-portfolio{background:var(--surface-alt);overflow:hidden}
.ig-pf-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.ig-pf-head h2{margin:0}
.ig-pf-toggle{flex:0 0 auto;width:36px;height:36px;display:inline-flex;align-items:center;
    justify-content:center;border:1px solid var(--line);border-radius:999px;background:#fff;
    color:var(--ink-70);cursor:pointer;padding:0}
.ig-pf-toggle:hover{color:var(--ds-blue);border-color:var(--ds-blue)}
.ig-pf-toggle svg{width:14px;height:14px;fill:currentColor}
.ig-pf-i-play{display:none}
.ig-pf[data-paused="true"] .ig-pf-i-play{display:block}
.ig-pf[data-paused="true"] .ig-pf-i-pause{display:none}
.ig-pf-view{position:relative;margin-top:20px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
            mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ig-pf-track{display:flex;width:max-content;animation:ig-pf-scroll 40s linear infinite}
.ig-pf-view:hover .ig-pf-track{animation-play-state:paused}
.ig-pf[data-paused="true"] .ig-pf-track{animation-play-state:paused}
.ig-pf-seq{display:flex;flex:0 0 auto;margin:0;padding:0;list-style:none}
.ig-pf-seq > li{flex:0 0 auto;width:168px;height:72px;margin-right:14px;display:flex;
    align-items:center;justify-content:center;padding:12px 18px;background:#fff;
    border:1px solid var(--line);border-radius:var(--radius)}
.ig-pf-seq img{max-width:100%;max-height:40px;width:auto;height:auto;object-fit:contain}

.ig-pf-seq img.is-compact{max-height:58px}
@keyframes ig-pf-scroll {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}
@media (max-width:640px){
    .ig-pf-seq > li{width:132px;height:62px;margin-right:10px}
    .ig-pf-seq img{max-height:32px}
    .ig-pf-seq img.is-compact{max-height:46px}}

@media (prefers-reduced-motion:reduce){
    .ig-pf-view{overflow-x:auto;-webkit-overflow-scrolling:touch;
        -webkit-mask-image:none;mask-image:none}
    .ig-pf-track{animation:none;width:auto}
    .ig-pf-seq[aria-hidden="true"]{display:none}
    .ig-pf-toggle{display:none}}

.ig-vtrust { background: var(--surface-alt); }
.ig-vtrust-card {
    max-width: 640px;
    padding: 20px 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
}
.ig-vtrust-title { font-size: 17px; font-weight: 700; margin: 0 0 8px; }
.ig-vtrust-card p { margin: 0 0 6px; color: var(--ink-70); font-size: 15px; line-height: 1.55; }
.ig-vtrust-ids, .ig-vtrust-addr { font-size: 14px; }
.ig-vtrust-cta { margin: 12px 0 0; }
.ig-vtrust-cta .ig-kraz-link { color: var(--ds-blue); font-weight: 600; }
@media (max-width: 640px) { .ig-vtrust-card { padding: 18px; max-width: none; } }

.ig-support {
    margin-top: 26px;
    padding: 26px 30px;
    background: var(--blue-50);
    border: 1px solid var(--blue-100);
    border-radius: var(--radius);
}
.ig-support h3 { font-size: 18px; font-weight: 700; margin-bottom: 14px; color: var(--navy); }
.ig-support ul { display: flex; flex-wrap: wrap; gap: 10px 26px; list-style: none; padding: 0; margin: 0; }
.ig-support li { position: relative; padding-left: 26px; color: var(--ink-70); }
.ig-support li::before {
    content: ""; position: absolute; left: 0; top: .35em;
    width: 16px; height: 16px; border-radius: 50%;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232563eb' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E") center/11px no-repeat;
}

.ig-faq-list { max-width: 900px; margin: 0 auto; }
.ig-faq-item {
    border: 1px solid var(--line);
    border-radius: var(--radius-s);
    background: #fff;
    margin-bottom: 12px;
    overflow: hidden;
}
.ig-faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    font-size: 17px;
    font-weight: 600;
    color: var(--navy);
    cursor: pointer;
    list-style: none;
}
.ig-faq-item summary::-webkit-details-marker { display: none; }
.ig-faq-item summary::after {
    content: "";
    width: 20px; height: 20px; flex: 0 0 auto;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a3d91' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/20px no-repeat;

}
.ig-faq-item[open] summary::after { transform: rotate(180deg); }
.ig-faq-item[open] summary { color: var(--blue); }
.ig-faq-answer { padding: 0 22px 20px; color: var(--ink-70); }
.ig-faq-answer p { margin: 0; }

.ig-reviews { padding-top: 0; }
.ig-reviews-card {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: clamp(24px, 3vw, 34px);
    background: var(--surface-alt);
    border: 1px solid var(--line);
    border-radius: var(--radius);
}
.ig-reviews-card .ig-icon { width: 34px; height: 34px; color: #f59e0b; fill: rgba(245, 158, 11, .18); }
.ig-reviews-card p { margin: 0; color: var(--ink-70); }

.ig-reviews .ig-reviews-card a.theme-button,
.ig-cta-band .ig-cta-actions a.theme-button {
    width: auto !important;
    flex: 0 0 auto;
    align-self: center;
}
.ig-reviews .ig-reviews-card a.theme-button { margin-left: auto; }

.ig-candidate-note { padding: 22px 0 0; }
.ig-note-card {
    display: flex;
    gap: 16px;
    padding: 20px 24px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: var(--radius);
}
.ig-note-card .ig-icon { color: #16a34a; }
.ig-note-card b { display: block; margin-bottom: 4px; color: #14532d; }
.ig-note-card p { margin: 0; color: #166534; font-size: 15px; line-height: 1.55; }

.ig-contact-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; margin-top: 34px; }
.ig-contact-item { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.ig-contact-item span { display: block; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-50); }
.ig-contact-item a { font-size: 18px; font-weight: 600; }
.ig-contact-form { padding: clamp(22px, 2.6vw, 32px); background: var(--surface-alt); border-radius: var(--radius); }
.ig-map {
    margin-top: 40px;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-s);
}
.ig-map iframe { display: block; border: 0; }

.ig-footer { background: var(--navy); color: rgba(255, 255, 255, .78); padding: clamp(44px, 5vw, 72px) 0 0; }

.ig-footer-top {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ds-space-5);
    padding-bottom: var(--ds-space-6);
}
@media (min-width: 768px) {
    .ig-footer-top { grid-template-columns: repeat(3, 1fr); gap: var(--ds-space-6); }
}
@media (min-width: 1200px) {
    .ig-footer-top { grid-template-columns: 1.5fr repeat(3, 1fr) 1.2fr; }
}

.ig-footer-brand img { display: block; width: auto; height: 38px; }
.ig-footer h3 {
    margin-bottom: 16px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.ig-footer ul { list-style: none; padding: 0; margin: 0; }
.ig-footer li { margin-bottom: 10px; font-size: 15px; line-height: 1.5; }
.ig-footer a { color: rgba(255, 255, 255, .78); }
.ig-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ig-footer-tagline { margin: 14px 0 12px; font-size: 15px; }
.ig-footer-legal { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13.5px; color: rgba(255, 255, 255, .6); }
.ig-footer-legal li { margin: 0; }

.ig-ext { margin-left: .28em; font-size: .82em; line-height: 1; }
.ig-kraz-link, .ig-kraz-inline { text-decoration: none; }
.ig-kraz-link:hover, .ig-kraz-link:focus-visible,
.ig-kraz-inline:hover, .ig-kraz-inline:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}
.ig-footer-legal .ig-kraz-link { color: rgba(255, 255, 255, .82); }
.ig-legal-cta { margin: var(--ds-space-4) 0 0; font-weight: var(--ds-weight-medium); }
.ig-legal-cta .ig-kraz-link { color: var(--ds-blue); }
.ig-footer-social { display: flex; align-items: center; gap: 14px; margin-top: 18px; }
.ig-footer-social img { filter: brightness(0) invert(1); opacity: .8; transition: opacity .18s var(--ease), transform .18s var(--ease); }
.ig-footer-social a:hover img { opacity: 1; transform: translateY(-2px); }
.ig-footer-bottom {
    padding: 18px 0 24px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    font-size: 13.5px;
    color: rgba(255, 255, 255, .6);
}

@media (max-width: 991px) {
    .ig-contact-grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 767px) {
    .ig-reviews-card { flex-direction: column; align-items: flex-start; }
    .ig-reviews-card .theme-button { margin-left: 0; width: 100%; }
}

.ig-paused-note,
.ig-closed-note { padding: 22px 0 0; }
.ig-note-warn { background: #fffbeb; border-color: #fde68a; }
.ig-note-warn b { color: #92400e; }
.ig-note-warn p { color: #a16207; }
.ig-note-warn .theme-button { margin-top: 12px; }
.ig-empty-catalogue { margin: 4px 0 18px; }

.ig-cand-conditions > .container,
.ig-cand-about > .container,
.ig-cand-contacts > .container {
    padding-top: var(--ds-space-6);
    border-top: 2px solid var(--ds-blue-100);
}
.ig-cand-conditions .ig-lead,
.ig-cand-contacts .ig-lead { max-width: 62ch; }
.ig-cand-about-body > p { margin: 0 0 var(--ds-space-3); max-width: 72ch; }
.ig-cand-about-body > p:last-child { margin-bottom: 0; }
.ig-cand-contact-list {
    display: grid;
    gap: var(--ds-space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}
.ig-cand-contact-list > li {
    display: flex;
    align-items: center;
    gap: var(--ds-space-3);
}
.ig-cand-contact-list a { color: var(--ds-navy); font-weight: var(--ds-weight-bold); }
@media (min-width: 768px) {
    .ig-cand-contact-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.ig-candidate-apply {
    margin: 0 0 26px; padding: 24px;
    border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface);
}
.ig-candidate-apply .ig-h2 { margin: 0 0 6px; }
.ig-candidate-head p { margin: 0 0 16px; color: var(--ink-50); font-size: 15px; line-height: 1.55; }
.ig-candidate-apply .ig-fields {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px;
}
.ig-candidate-apply input {
    width: 100%; padding: 12px 14px; font-size: 15px;
    border: 1px solid var(--line); border-radius: 10px; background: var(--surface);
}
.ig-candidate-apply input:focus-visible { outline: var(--ds-focus-width) solid var(--ds-focus); outline-offset: 1px; }
.ig-candidate-apply input.ig-invalid { border-color: #dc2626; background: #fef2f2; }
.ig-candidate-success {
    margin-top: 12px; padding: 18px 20px;
    border: 1px solid #bbf7d0; border-radius: var(--radius); background: #f0fdf4;
}
.ig-candidate-success b { display: block; margin-bottom: 4px; color: #14532d; }
.ig-candidate-success p { margin: 0; color: #166534; font-size: 15px; line-height: 1.55; }
@media (max-width: 575px) { .ig-candidate-apply .ig-fields { grid-template-columns: 1fr; } }
.ig-archive { margin-top: 34px; border-top: 1px solid var(--line); padding-top: 18px; }
.ig-archive > summary {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 0; cursor: pointer; list-style: none;
    font-size: 16px; font-weight: 600; color: var(--ink-50);
}
.ig-archive > summary::-webkit-details-marker { display: none; }
.ig-archive-count {
    padding: 2px 10px; border-radius: 999px;
    background: var(--surface-alt); color: var(--ink-50);
    font-size: 13px; font-weight: 700;
}
.ig-archive[open] > summary { color: var(--navy); }
.ig-archive-list { padding-top: 10px; }

.ig-vac-catalogue > .container > .ig-h2 { text-align: left; }
.ig-vac-layout { display: grid; gap: var(--ds-space-6); align-items: start; }
@media (min-width: 992px) {
    .ig-vac-layout { grid-template-columns: 264px minmax(0, 1fr); gap: var(--ds-space-7); }
    .ig-vac-layout.is-single { grid-template-columns: minmax(0, 1fr); }
}

.ig-vac-filter {
    padding: var(--ds-space-5);
    background: var(--ds-surface);
    border: var(--ds-border-width) solid var(--ds-line);
    border-radius: var(--ds-radius-l);
}

.ig-filter-toggle {
    display: flex; align-items: center; gap: var(--ds-space-2);
    min-height: var(--ds-target-min);
    cursor: pointer; list-style: none;
    font-weight: var(--ds-weight-bold); color: var(--ds-ink);
}
.ig-filter-toggle::-webkit-details-marker { display: none; }
.ig-filter-icon { flex: none; color: var(--ds-blue); }

.ig-filter-count {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 22px; height: 22px; padding: 0 6px;
    border-radius: var(--ds-radius-pill);
    background: var(--ds-blue); color: var(--ds-on-dark);
    font-size: 12px; line-height: 1; font-weight: var(--ds-weight-bold);
}
.ig-filter-count[hidden] { display: none; }

.ig-filter-mark { margin-left: auto; color: var(--ds-ink-50); font-weight: 400; }
.ig-filter-mark::after { content: "+"; }
.ig-filter-shell[open] .ig-filter-mark::after { content: "\2013"; }
.ig-filter-panel { padding-top: var(--ds-space-3); }
@media (min-width: 992px) {
    .ig-filter-toggle { display: none; }
    .ig-filter-panel { padding-top: 0; }
}

.ig-filter-title {
    margin: 0 0 var(--ds-space-3);
    font-size: var(--ds-size-small); line-height: var(--ds-lh-small);
    font-weight: var(--ds-weight-bold); letter-spacing: .06em;
    text-transform: uppercase; color: var(--ds-blue);
}
.ig-filter-group { border-top: 1px solid var(--ds-line); }
.ig-filter-group > summary {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--ds-space-2); padding: var(--ds-space-3) 0;
    cursor: pointer; list-style: none;
    font-weight: var(--ds-weight-bold); color: var(--ds-ink);
}
.ig-filter-group > summary::-webkit-details-marker { display: none; }
.ig-filter-group > summary::after { content: "+"; color: var(--ds-ink-50); font-weight: 400; }
.ig-filter-group[open] > summary::after { content: "–"; }
.ig-filter-group ul {
    list-style: none; margin: 0 0 var(--ds-space-3); padding: 0;
    display: grid; gap: var(--ds-space-2);
}
.ig-filter-box {
    display: flex; align-items: flex-start; gap: var(--ds-space-2);
    cursor: pointer; color: var(--ds-ink-70); font-size: 15px; line-height: 1.4;
}
.ig-filter-box input { margin: 3px 0 0; accent-color: var(--ds-blue); }
.ig-filter-box:hover { color: var(--ds-ink); }

.ig-vac-list { display: grid; gap: var(--ds-space-5); }
.ig-vac-card {
    display: grid; gap: 0; overflow: hidden;
    background: var(--ds-surface);
    border: var(--ds-border-width) solid var(--ds-line);
    border-radius: var(--ds-radius-l);
    box-shadow: var(--ds-shadow-s);
}
@media (min-width: 576px) {
    .ig-vac-card { grid-template-columns: 210px minmax(0, 1fr); }
}

@media (min-width: 992px) {
    .ig-vac-card { grid-template-columns: 264px minmax(0, 1fr); }
}
.ig-vac-media { display: block; overflow: hidden; background: var(--ds-surface-alt); }
.ig-vac-media img {
    display: block; width: 100%; height: 100%;
    min-height: 160px; object-fit: cover;

}

@media (max-width: 575px) {
    .ig-vac-media { aspect-ratio: 16 / 10; }
}

@media (hover: hover) and (pointer: fine) {
    .ig-vac-media:hover img { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
    .ig-vac-media img { transition: none; }
    .ig-vac-media:hover img { transform: none; }
}
.ig-vac-body {
    padding: var(--ds-space-5);
    display: grid; gap: var(--ds-space-3); align-content: start;
}
.ig-vac-body h3 { margin: 0; font-size: var(--ds-size-h3); line-height: var(--ds-lh-h3); }
.ig-vac-body h3, .ig-vac-body h3 a { color: var(--ds-navy); }
.ig-vac-body h3 a { text-decoration: none; }
.ig-vac-body h3 a:hover { text-decoration: underline; }

.ig-vac-where {
    margin: 0; display: flex; align-items: center; gap: 6px;
    color: var(--ds-ink-70); font-size: var(--ds-size-small); line-height: var(--ds-lh-small);
}
.ig-vac-pin { flex: none; color: var(--ds-blue); }

.ig-vac-card .ig-card-facts {
    margin: 0; display: grid;
    gap: var(--ds-space-3) var(--ds-space-5);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 992px) {
    .ig-vac-card .ig-card-facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-width: 620px;
    }
}
.ig-vac-card .ig-card-fact dt {
    margin: 0; font-size: 11px; line-height: 1.4; letter-spacing: .06em;
    text-transform: uppercase; color: var(--ds-ink-50);
    font-weight: var(--ds-weight-medium);
}
.ig-vac-card .ig-card-fact dd {
    margin: 2px 0 0; color: var(--ds-ink);
    font-size: var(--ds-size-small); line-height: var(--ds-lh-small);
}

.ig-vac-salary {
    margin: 0; font-size: 20px; line-height: 1.2; letter-spacing: -.01em;
    font-weight: var(--ds-weight-bold); color: var(--ds-navy);
}
.ig-vac-badge {
    justify-self: start; padding: 2px 10px; border-radius: 999px;
    font-size: var(--ds-size-small); font-weight: var(--ds-weight-bold); line-height: 1.6;
}
.ig-vac-badge.is-closed { background: var(--ds-surface-alt); color: var(--ds-ink-50); }
.ig-vac-actions { margin-top: var(--ds-space-1); }

.ig-vac-card.is-urgent {
    border-color: var(--ds-warn-border);
    background: var(--ds-warn-bg);
    box-shadow: var(--ds-shadow-m);
}

.ig-vac-card.is-urgent .ig-vac-body { padding-top: 0; }

.ig-vac-badge.is-hot {
    justify-self: stretch;
    display: flex; align-items: center; gap: var(--ds-space-2);
    margin: 0 calc(-1 * var(--ds-space-5)) var(--ds-space-1);
    padding: 10px var(--ds-space-5);
    border: 0; border-radius: 0;
    background: var(--ds-warn-solid); color: var(--ds-on-dark);
}

.ig-vac-hot-mark {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; letter-spacing: .08em;
}
.ig-vac-hot-sep { opacity: .5; }
.ig-vac-hot-text { font-size: 12px; letter-spacing: .03em; text-transform: uppercase; }

.ig-vac-card.is-urgent .ig-vac-salary {
    font-size: 22px; color: var(--ds-warn-ink);
}

@media (hover: hover) and (pointer: fine) {
    .ig-vac-card.is-urgent:hover {
        transform: translateY(-4px); box-shadow: var(--ds-shadow-l);
    }
}
@media (prefers-reduced-motion: reduce) {
    .ig-vac-card.is-urgent { transition: none; }
    .ig-vac-card.is-urgent:hover { transform: none; }
}

.ig-vac-card.is-closed { box-shadow: none; background: var(--ds-surface-alt); }
.ig-vac-card.is-closed .ig-vac-media img { opacity: .75; }
.ig-vac-pager { display: flex; flex-wrap: wrap; gap: var(--ds-space-2); justify-content: center; }
.ig-vac-empty { max-width: 62ch; }
.ig-archive-list { display: grid; gap: var(--ds-space-4); }

.ig-vac-facts {
    display: grid; gap: var(--ds-space-4);
    margin: var(--ds-space-5) 0 var(--ds-space-6);
}
@media (min-width: 576px) {
    .ig-vac-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ig-fact { display: grid; gap: 2px; }
.ig-fact dt {
    font-size: var(--ds-size-small); line-height: var(--ds-lh-small);
    color: var(--ds-ink-50);
}
.ig-fact dd { margin: 0; color: var(--ds-ink); font-weight: var(--ds-weight-bold); }

.ig-fact.is-pay dd { color: var(--ds-navy); font-size: 20px; }

.ig-vac-cols { display: grid; gap: var(--ds-space-5); align-items: start; }
@media (min-width: 768px) {
    .ig-vac-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ig-vac-cols .ds-card h2 {
    margin: 0 0 var(--ds-space-3);
    font-size: var(--ds-size-h3); line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}
.ig-vac-cols .ig-ticks > li { color: var(--ds-ink-70); }

.ig-vac-gallery .ig-h2, .ig-vac-video .ig-h2 { text-align: left; }
.ig-vac-shots {
    display: grid; gap: var(--ds-space-4);
    grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
}
.ig-vac-shots img {
    display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover;
    border-radius: var(--ds-radius-m);
}
.ig-vac-video video {
    width: 100%; max-width: 760px; height: auto;
    border-radius: var(--ds-radius-m); background: var(--ds-ink);
}
.ig-vac-back { margin: var(--ds-space-5) 0 0; }
.ig-vac-back a { color: var(--ds-blue); font-weight: var(--ds-weight-bold); text-decoration: none; }
.ig-vac-back a:hover { text-decoration: underline; }

.ig-ind-hero.is-vac .ig-ind-actions:empty { display: none; }

.ig-apply-head { padding-bottom: 0; }
.ig-apply-head h1 { font-size: clamp(28px, 3vw, 40px); }
.ig-apply-head .ig-lead {
    margin: var(--ds-space-2) 0 0;
    color: var(--ds-navy); font-weight: var(--ds-weight-bold);

    text-transform: none; font-size: 20px; letter-spacing: 0; padding: 0;
}

.ig-apply-form > .container > form,
.ig-apply-form > .container > .ig-vac-back,
.ig-apply-form > .container > .success-vacancy-form { max-width: 760px; }
.ig-apply-form .ig-form-row {
    display: flex; flex-wrap: wrap; gap: var(--ds-space-3);
    margin-bottom: var(--ds-space-3);
}
.ig-apply-form .ig-form-row:last-child { margin-bottom: 0; }
.ig-apply-form .ig-form-cell { flex: 1 1 260px; min-width: 0; }
.ig-apply-form .ig-form-cell > .ig-form-row { margin-bottom: 0; }
.ig-apply-form input:not([type="radio"]):not([type="checkbox"]),
.ig-apply-form select,
.ig-apply-form textarea { width: 100%; }
.ig-apply-form .name-form-input {
    display: block; margin-bottom: var(--ds-space-1);
    color: var(--ds-ink-70); font-size: var(--ds-size-small);
}

.ig-sr-only {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0; border: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.ig-apply-form .language-table-vacancy th {
    font-weight: inherit;
    text-align: inherit;
}

.ig-apply-form .ig-radio-hit {

    position: relative;
    cursor: pointer;
}

.ig-apply-form .ig-radio-hit::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    transform: translate(-50%, -50%);
}

.order-form .jcf-radio.jcf-unchecked,
.order-form .jcf-radio.jcf-checked {
    border: 2px solid var(--ds-line-strong);
}
.order-form .jcf-radio.jcf-checked span {
    background: var(--ds-blue-600);
}
.order-form .jcf-radio.jcf-focus,
.order-form .jcf-file.jcf-focus {
    outline: var(--ds-focus-width) solid var(--ds-focus);
    outline-offset: var(--ds-focus-offset);

}

.ig-steps { background: var(--surface-alt); }
.ig-steps-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: step;
}
.ig-step {
    display: flex;
    gap: 16px;
    padding: 24px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-s);
}
.ig-step-no {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--navy-700);
    color: #fff;
    font-weight: 700;
}
.ig-step h3 { margin: 4px 0 6px; font-size: 17px; font-weight: 700; }
.ig-step p { margin: 0; color: var(--ink-70); font-size: 15.5px; line-height: 1.5; }

.ig-consent { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.ig-consent input { flex: 0 0 auto; margin-top: 3px; }
.ig-consent span { font-size: 15px; line-height: 1.5; }
.ig-consent a { text-decoration: underline; }
.ig-consent input[aria-invalid="true"] { outline: 2px solid #dc2626; outline-offset: 2px; }

.ig-form-after {
    margin: 12px 0 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--ink-70);
}
.ig-form-error {
    padding: 12px 16px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: var(--radius-s);
    color: #b91c1c;
    font-size: 14.5px;
}

.ig-cta-band { padding: clamp(34px, 4vw, 56px) 0; background: linear-gradient(120deg, var(--navy) 0%, var(--navy-700) 100%); color: #fff; }
.ig-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 26px; flex-wrap: wrap; }
.ig-cta-inner h2 { margin: 0 0 6px; color: #fff; font-size: clamp(20px, 2.2vw, 28px); font-weight: 800; letter-spacing: -.01em; }
.ig-cta-inner p { margin: 0; color: rgba(255, 255, 255, .8); }
.ig-cta-actions { display: flex; align-items: center; gap: 20px; }
.ig-cta-actions .theme-button-variant-2 { background: #fff; border-color: #fff; color: var(--navy); box-shadow: none; }
.ig-cta-actions .theme-button-variant-2:hover { background: var(--blue-50); border-color: var(--blue-50); color: var(--navy-700); }
.ig-cta-phone { color: #fff; font-size: 18px; font-weight: 700; white-space: nowrap; }
.ig-cta-phone:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 767px) { .ig-cta-actions { width: 100%; flex-direction: column; align-items: stretch; text-align: center; } }

.ig-success {
    padding: 18px 20px;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: var(--radius-s);
    color: #065f46;
    font-weight: 600;
}

.ig-certs-head { text-align: center; margin-bottom: 26px; }
.ig-certs-note { max-width: 60ch; margin: 0 auto; color: var(--ink-70); }

.certificates:not(.slick-initialized) { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }
.certificates, .certificates .slick-list { overflow: hidden; }
.certificates .slick-track { display: flex; align-items: center; }
.certificates .slick-slide { margin: 0 8px; }
.certificates a {
    display: block;
    padding: 8px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-s);
    box-shadow: var(--shadow-s);
    transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.certificates a:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.certificates img { width: 110px; height: 110px; object-fit: cover; border-radius: 6px; }
@media (max-width: 575px) { .certificates img { width: 84px; height: 84px; } }

.home-block-content,
.home-block-content-0 { margin-top: 0; }
.ig-section + .home-block-content,
.home-block-content + .ig-section { margin-top: 0; }

.home-block-content.home-block-content-0 {
    padding: 72px 15px clamp(48px, 5vw, 72px);
}
.home-block-content-0 h1 {
    max-width: 18ch;
    margin: 0 0 16px;
    font-size: clamp(28px, 7vw, 34px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.01em;
    text-transform: uppercase;
    color: var(--navy);
}
.home-block-content-0 .i-title,
.home-block-content-0 .i-title div {
    font-size: clamp(22px, 5.4vw, 26px);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -.01em;
    color: var(--blue);
    text-transform: uppercase;
}
.home-block-content-0 .i-description,
.home-block-content-0 .i-description div { margin-top: 16px; }

@media (min-width: 992px) {
    .home-block-content.home-block-content-0 { padding-top: 76px; }
    .home-block-content-0 h1 { font-size: clamp(42px, 3.3vw, 52px); }
    .home-block-content-0 .i-title,
    .home-block-content-0 .i-title div { font-size: clamp(28px, 2.2vw, 34px); }

    .home-block-content-0 > .d-md-flex > .col-lg-4 { flex: 0 0 52%; max-width: 52%; padding-right: 48px; }
    .home-block-content-0 > .d-md-flex > .col-lg-8 { flex: 0 0 48%; max-width: 48%; }
}
@media (max-width: 991px) {
    .home-block-content.home-block-content-0 { padding-top: 40px; }
}

#services > .row:last-of-type { align-items: stretch; }
#services > .row:last-of-type > [class*="col-"] { display: flex; margin-bottom: 24px; }
#services .home-block-content-inner-1,
#services .home-block-content-inner-2 { flex: 1; width: 100%; }

.ig-service-support .home-block-content-inner-1,
.ig-service-support .home-block-content-inner-2 {
    background: var(--blue-50);
    border: 1px solid var(--blue-100);
    border-left: 3px solid var(--blue);
    box-shadow: none;
}
.ig-service-support :is(h2, h3) { color: var(--navy); }

#services form .row { margin-bottom: 0; }
#services form input,
#services form textarea { margin-bottom: 12px; }
#services form textarea { min-height: 96px; }
#services .home-block-content-inner-1 .theme-button,
#services .home-block-content-inner-2 .theme-button { margin-top: 4px; }

.ig-form-protect {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--ds-space-3);
    margin-top: var(--ds-space-4);

    margin-bottom: var(--ds-space-4);
}

.ig-apply-form .ig-form-protect {
    margin-top: var(--ds-space-5);
    margin-bottom: var(--ds-space-5);
}

.order-form:not(.order-form-vacancy) .ig-form-protect,
.partner-form .ig-form-protect {
    margin-bottom: var(--ds-space-5);
}
.cf-turnstile { width: 100%; min-height: 0; }
.cf-turnstile iframe { display: block; margin: 0 auto; }
#services .home-block-content-inner-1,
#services .home-block-content-inner-2 { padding-bottom: 22px; }
.ig-form-error { margin-top: 12px; }

@media (min-width: 992px) {
    #about .home-block-content-table .row.h-100 > [class*="col-md-5"]:first-child {
        flex: 0 0 42%;
        max-width: 42%;
    }
    #about .home-block-content-table .row.h-100 > [class*="col-md-5"]:last-child {
        flex: 0 0 58%;
        max-width: 58%;
        padding-left: 44px;
    }
}

.ig-ind-icon-link { display: inline-block; line-height: 0; }
.ig-ind-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: var(--blue-50);
    color: var(--blue);
    transition: background .2s var(--ease), color .2s var(--ease);
}
.ig-ind-icon .ig-icon { width: 26px; height: 26px; }

#employer .main-usluga { display: flex; flex-direction: column; margin-bottom: 24px; }
#employer .main-usluga > .row { margin-left: 0; margin-right: 0; width: 100%; }
#employer .main-usluga > .row > [class*="col-"] { padding-left: 0; padding-right: 0; }
#employer .main-usluga > .row:last-child { flex: 1; }
#employer .main-usluga {
    padding: 24px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    transition: transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);
}

#employer .main-usluga:hover {
    transform: translateY(-3px);
    border-color: var(--blue-100);
    box-shadow: var(--shadow);
}
#employer .main-usluga:hover .ig-ind-icon,
#employer .main-usluga:focus-within .ig-ind-icon { background: var(--blue); color: #fff; }

#employer .main-usluga a:focus-visible { outline: var(--ds-focus-width) solid var(--ds-focus); outline-offset: 3px; border-radius: var(--ds-radius-focus); }
#employer .main-usluga > .row + .row { margin-top: 14px; }
#employer .main-usluga :is(h2, h3) {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--navy);
    text-transform: uppercase;
    letter-spacing: .01em;
}
#employer .main-usluga a { text-decoration: none; }
#employer .main-usluga-description p { margin: 0; font-size: 15px; color: var(--ink-70); }

#employer > .row:last-of-type { row-gap: 0; }

.ig-certs-head { margin-bottom: 0; }
.ig-certs-head .ig-h2 { margin-bottom: 22px; }
.ig-certs-note { margin-bottom: 34px; }
.home-block-content:has(.ig-certs-head) .certificates { margin-bottom: 0; }
.home-block-content:has(.ig-certs-head) .slick-slider { margin-bottom: 0; }

.ig-footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    opacity: .82;
    transition: opacity .2s var(--ease);
}
.ig-footer-social a:hover { opacity: 1; }
.ig-social-icon { width: 22px; height: 22px; display: block; }

.ig-footer-social img { height: 24px; width: auto; }

.home-block-content.home-block-content-0 { padding-bottom: var(--section-y); }
.ig-reviews { padding-top: var(--section-y); }
.ig-cta-band { padding: var(--section-y) 0; }
.ig-footer { padding-top: var(--section-y); }

#services .home-block-content-inner-1 :is(h2, h3),
#services .home-block-content-inner-2 :is(h2, h3) {
    font-size: clamp(17px, 1.4vw, 20px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .01em;
    text-transform: uppercase;
    color: var(--navy);
}
#services .home-block-content-inner-1 :is(h2, h3) .text-bold,
#services .home-block-content-inner-2 :is(h2, h3) .text-bold { font-weight: 700; }

.ig-service-support .home-block-content-inner-2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (min-width: 576px) {
    .ig-service-support .home-block-content-inner-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px 24px;
    }
    .ig-service-support .home-block-content-inner-list li { margin-bottom: 0; }
}

.ig-service-support .home-block-content-inner-1 > .row:last-of-type,
.ig-service-support .home-block-content-inner-2 > .row:last-of-type { margin-top: 22px; }

@media (min-width: 992px) {
    .home-block-content:has(.ig-certs-head) { padding-top: 50px; padding-bottom: 50px; }
}

@media (max-width: 767px) {
    .home-block-content-0 > .d-md-flex { display: flex !important; flex-direction: column; }
    .home-block-content-0 > .d-md-flex > [class*="col-lg-4"] { order: -1; }
    .home-block-content-0 > .d-md-flex > [class*="col-lg-8"] { margin-top: 24px; }
}

@media (prefers-reduced-motion: reduce) {
    #employer .main-usluga,
    .certificates a,
    .ig-service-support .home-block-content-inner-2 { transition: none; }
    #employer .main-usluga:hover,
    #employer .main-usluga:focus-within,
    .certificates a:hover { transform: none; }
}

#employer .main-usluga :is(h2, h3) { min-height: 2.6em; }
@media (max-width: 575px) { #employer .main-usluga :is(h2, h3) { min-height: 0; } }

.home-block-content-0 .i-title,
.home-block-content-0 .i-title div,
.home-block-content-0 [class*="text-center"] { text-align: left; }

input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.form-control:focus-visible {
    outline: var(--ds-focus-width) solid var(--ds-focus);
    outline-offset: 1px;
    border-color: var(--ds-focus) !important;
    box-shadow: none;
}

a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
    outline: var(--ds-focus-width) solid var(--ds-focus);
    outline-offset: var(--ds-focus-offset);
}

.ig-footer *:focus-visible,
.footer *:focus-visible,
.ig-cta-band *:focus-visible,
.ig-hero--photo *:focus-visible,
.background-transparent-big-block *:focus-visible {
    outline-color: var(--ds-focus-inverse);
}

input[aria-invalid="true"],
textarea[aria-invalid="true"] {
    border: 2px solid #b42318 !important;
    background-image: none;
}
.ig-field-note {
    display: block;
    margin: -6px 0 10px;
    color: #b42318;
    font-size: 13px;
    font-weight: 600;
}

.ig-field-hint,
.ig-file-hint {
    display: block;
    margin: -6px 0 10px;
    color: var(--ds-ink-50);
    font-size: 13px;
    line-height: 1.45;
}

input::placeholder, textarea::placeholder { color: #5b6880; opacity: 1; }

.ig-contact-form input, .ig-contact-form textarea,
.home-block-content-inner-1 input, .home-block-content-inner-1 textarea,
.home-block-content-inner-2 input, .home-block-content-inner-2 textarea {
    border: 1.5px solid #c4cddd;
}

.ig-burger { color: var(--ds-navy); }

@media (max-width: 767px) {
    .ig-footer-col a, .ig-footer-legal a,
    .vacancy-title-list, .show-more-filter-items {
        display: inline-block;
        min-height: 24px;
        padding-block: 4px;
    }
    .ig-footer-social a { min-width: 44px; min-height: 44px; }
    .item-filter-title-block, .filter-item label { min-height: 44px; display: flex; align-items: center; }
}

.ig-skip {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 100000;
    padding: 12px 18px;
    background: var(--navy);
    color: #fff;
    border-radius: 0 0 var(--radius-s) 0;
}
.ig-skip:focus { left: 0; }

.ig-ind-icon-page {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    margin-bottom: 18px;
}
.ig-ind-icon-page .ig-icon { width: 32px; height: 32px; }

.ig-closed-picks { margin: 14px 0 18px; padding-left: 18px; }
.ig-closed-picks li { margin-bottom: 6px; }
.ig-closed-picks a { color: var(--blue); font-weight: 600; }

.ig-grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); }

.ig-ind-hero { padding-top: clamp(28px, 3.6vw, 52px); }
.ig-ind-hero h1 {
  margin: 0 0 14px; max-width: 20ch;
  font-size: clamp(28px, 4vw, 46px); font-weight: 800;
  letter-spacing: -.02em; line-height: 1.12; color: var(--navy); text-transform: none;
}
.ig-ind-hero .ig-lead { margin: 0 0 26px; }
.ig-ind-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }

.ig-ind-actions .theme-button {
  width: auto; margin: 0; align-self: center;
  background: var(--blue); border: 1.5px solid var(--blue); color: #fff;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .22);
}
.ig-ind-actions .theme-button:hover {
  background: var(--blue-600); border-color: var(--blue-600); color: #fff;
}

.ig-ind-actions .ig-cta-secondary {
  font-weight: 700; color: var(--blue-600);
  border-bottom: 2px solid transparent; transition: border-color .2s var(--ease);
}
.ig-ind-actions .ig-cta-secondary:hover { border-bottom-color: currentColor; }
.ig-ind-actions .ig-cta-phone { color: var(--navy); }
.ig-ind-kraz { margin: 20px 0 0; color: var(--ink-50); font-size: 15px; }

.ig-ind-scope, .ig-ind-models, .ig-ind-compliance,
.ig-ind-reqs { background: var(--surface-alt); }

@media (min-width: 768px) {
  .ig-ind-scope .ig-grid, .ig-ind-compliance .ig-grid,
  .ig-ind-challenges .ig-grid-2, .ig-ind-reqs .ig-grid-2,
  .ig-ind-scenarios .ig-grid-2 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 992px) {
  .ig-ind-steps .ig-steps-list { grid-template-columns: repeat(3, 1fr); }
}

.ig-roles {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));
  gap: 12px; list-style: none; padding: 0; margin: 0;
}
.ig-role {
  display: flex; align-items: center; gap: 12px; padding: 14px 16px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-s);
  font-weight: 600; color: var(--navy); line-height: 1.3;
}
.ig-role .ig-icon { width: 22px; height: 22px; }
.ig-ind-roles .ig-note, .ig-ind-support .ig-note { margin-top: 18px; }

.ig-model {
  display: flex; flex-direction: column; gap: 12px; padding: 28px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-s);
}
.ig-model h3 { margin: 0; font-size: 22px; font-weight: 800; color: var(--navy); }
.ig-model p { margin: 0; color: var(--ink-70); line-height: 1.55; }
.ig-model-link { margin-top: auto; padding-top: 4px; font-weight: 700; color: var(--blue-600); }
.ig-model-link::after { content: " \2192"; }
.ig-model-link:hover { color: var(--navy-700); }

.ig-ind-other-list {
  display: flex; flex-wrap: wrap; gap: 10px 12px;
  list-style: none; padding: 0; margin: 0;
}
.ig-ind-other-list a {
  display: inline-block; padding: 9px 17px; background: #fff;
  border: 1px solid var(--line); border-radius: 999px;
  color: var(--navy); font-weight: 600; font-size: 15px;
  transition: border-color .2s var(--ease), color .2s var(--ease);
}
.ig-ind-other-list a:hover { border-color: var(--blue); color: var(--blue-600); }

@media (min-width: 992px) {

  .ig-ind-roles .ig-roles { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 575px) {
  .ig-ind-actions { gap: 12px; }
  .ig-ind-actions .theme-button { width: 100%; }
  .ig-roles { grid-template-columns: 1fr; }
  .ig-model { padding: 22px; }
}

.ig-ind-inline-cta { margin: 26px 0 0; }
.ig-ind-inline-cta .theme-button {
  width: auto; margin: 0;
  background: var(--blue); border: 1.5px solid var(--blue); color: #fff;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .22);
}
.ig-ind-inline-cta .theme-button:hover {
  background: var(--blue-600); border-color: var(--blue-600); color: #fff;
}
@media (max-width: 575px) { .ig-ind-inline-cta .theme-button { width: 100%; } }

/* === ds:primitives:start === */

.ds-container,
.ds-container-narrow {
    width: 100%;
    margin-inline: auto;
    padding-inline: var(--ds-gutter);
}
.ds-container { max-width: calc(var(--ds-container-max) + 2 * var(--ds-gutter)); }
.ds-container-narrow { max-width: calc(var(--ds-container-narrow-max) + 2 * var(--ds-gutter)); }

.ds-section { padding-block: var(--ds-section-y); }
.ds-section--alt { background: var(--ds-surface-alt); }
.ds-section--tint { background: var(--ds-blue-50); }
.ds-section--brand {
    background: linear-gradient(120deg, var(--ds-navy) 0%, var(--ds-navy-700) 100%);
    color: var(--ds-on-dark);
}
.ds-section--brand :where(h1, h2, h3) { color: var(--ds-on-dark); }
.ds-section--brand *:focus-visible { outline-color: var(--ds-focus-inverse); }

.ds-section + .ds-section,
.ds-section--alt + .ds-section--alt,
.ds-section--tint + .ds-section--tint { padding-block-start: calc(var(--ds-section-y) + var(--ds-space-5)); }
.ds-section--alt + .ds-section:not(.ds-section--alt),
.ds-section:not(.ds-section--alt) + .ds-section--alt,
.ds-section--tint + .ds-section:not(.ds-section--tint),
.ds-section:not(.ds-section--tint) + .ds-section--tint { padding-block-start: var(--ds-section-y); }

.ds-grid {
    display: grid;
    gap: var(--ds-space-5);
    grid-template-columns: 1fr;
}
.ds-grid--fluid { grid-template-columns: repeat(auto-fit, minmax(min(var(--ds-grid-min, 280px), 100%), 1fr)); }
@media (min-width: 768px) {
    .ds-grid--2, .ds-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
    .ds-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.ds-display, .ds-h1, .ds-h2, .ds-h3, .ds-lead, .ds-body, .ds-small, .ds-label {
    font-family: var(--ds-font);
}
.ds-display { font-size: var(--ds-size-display); line-height: var(--ds-lh-display); font-weight: var(--ds-weight-bold); letter-spacing: -.01em; }
.ds-h1      { font-size: var(--ds-size-h1);      line-height: var(--ds-lh-h1);      font-weight: var(--ds-weight-bold); letter-spacing: -.01em; }
.ds-h2      { font-size: var(--ds-size-h2);      line-height: var(--ds-lh-h2);      font-weight: var(--ds-weight-bold); }
.ds-h3      { font-size: var(--ds-size-h3);      line-height: var(--ds-lh-h3);      font-weight: var(--ds-weight-bold); }
.ds-lead    { font-size: var(--ds-size-lead);    line-height: var(--ds-lh-lead);    font-weight: var(--ds-weight-regular); }
.ds-body    { font-size: var(--ds-size-body);    line-height: var(--ds-lh-body);    font-weight: var(--ds-weight-regular); }
.ds-small   { font-size: var(--ds-size-small);   line-height: var(--ds-lh-small);   font-weight: var(--ds-weight-regular); }
.ds-label   { font-size: var(--ds-size-label);   line-height: var(--ds-lh-label);   font-weight: var(--ds-weight-medium); }

@media (min-width: 768px) {
    :root {
        --ds-size-display: 2.125rem; --ds-size-h1: 1.875rem;
        --ds-size-h2: 1.5rem;
    }
}
@media (min-width: 992px) {
    :root {
        --ds-size-display: 3.25rem;  --ds-size-h1: 2.5rem;
        --ds-size-h2: 1.875rem;      --ds-size-h3: 1.25rem;
        --ds-size-lead: 1.25rem;
    }
}

.ds-target {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--ds-target-min);
    min-height: var(--ds-target-min);
}

.ds-control {
    min-height: var(--ds-control-height);
    padding: var(--ds-space-3) var(--ds-space-4);
    font-family: var(--ds-font);
    font-size: 1rem;
    line-height: var(--ds-lh-body);
    color: var(--ds-ink);
    background: var(--ds-surface);
    border: var(--ds-border-width) solid var(--ds-line-strong);
    border-radius: var(--ds-radius-s);
}
.ds-control--multiline { min-height: var(--ds-textarea-min); }

.ds-button { font-family: var(--ds-font); font-size: var(--ds-size-button);
             line-height: var(--ds-lh-button); font-weight: var(--ds-weight-bold); }

.ds-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--ds-space-2);
    width: auto;
    min-height: var(--ds-control-height);
    padding: var(--ds-space-3) var(--ds-space-5);
    border: var(--ds-border-width) solid transparent;
    border-radius: var(--ds-radius-pill);
    font-family: var(--ds-font);
    font-size: var(--ds-size-button);
    line-height: var(--ds-lh-button-multi);
    font-weight: var(--ds-weight-bold);
    letter-spacing: var(--ds-tracking-button);
    text-align: center;
    text-decoration: none;
    cursor: pointer;

    text-transform: none;
    box-shadow: none;

    white-space: normal;
    overflow-wrap: anywhere;

}
.ds-btn--primary {
    background: var(--ds-navy-700);
    border-color: var(--ds-navy-700);
    color: var(--ds-on-dark);
}
.ds-btn--primary:hover { background: var(--ds-blue-600); border-color: var(--ds-blue-600); color: var(--ds-on-dark); }
.ds-btn--secondary {
    background: var(--ds-surface);
    border-color: var(--ds-line-strong);
    color: var(--ds-navy);
}
.ds-btn--secondary:hover { border-color: var(--ds-navy-700); color: var(--ds-navy-700); background: var(--ds-blue-50); }
.ds-btn--tertiary {
    background: none;
    border-color: transparent;
    padding-inline: var(--ds-space-2);
    color: var(--ds-blue-600);
}
.ds-btn--tertiary:hover { color: var(--ds-navy-700); text-decoration: underline; text-underline-offset: var(--ds-space-1); }

.ds-btn--inverse {
    background: var(--ds-on-dark);
    border-color: var(--ds-on-dark);
    color: var(--ds-navy);
}
.ds-btn--inverse:hover { background: var(--ds-blue-50); border-color: var(--ds-blue-50); color: var(--ds-navy-700); }

.ds-btn--tertiary-inverse {
    background: none;
    border-color: transparent;
    padding-inline: var(--ds-space-2);
    color: var(--ds-on-dark);
}
.ds-btn--tertiary-inverse:hover { color: var(--ds-blue-50); text-decoration: underline; text-underline-offset: var(--ds-space-1); }

.ds-btn--compact { min-height: var(--ds-target-min); padding: var(--ds-space-2) var(--ds-space-4); }

.ds-btn--block { width: 100%; }

.ds-btn--icon {
    width: var(--ds-target-min);
    min-width: var(--ds-target-min);
    height: var(--ds-target-min);
    min-height: var(--ds-target-min);
    padding: 0;
    border-radius: var(--ds-radius-s);
    background: none;
    border-color: transparent;
    color: var(--ds-navy);
}
.ds-btn--icon:hover { background: var(--ds-surface-alt); }

.ds-btn[class*="send"]:hover { box-shadow: none; transform: none; }
.ds-btn:active { transform: translateY(1px); }
.ds-btn[disabled], .ds-btn[aria-disabled="true"] {
    opacity: .55;
    cursor: not-allowed;
    transform: none;

    border-style: dashed;
}

.ds-icon {
    width: var(--ds-icon-size);
    height: var(--ds-icon-size);
    flex: 0 0 auto;
    stroke-width: 1.75;
    stroke: currentColor;
    fill: none;
}
.ds-icon--sm { width: var(--ds-icon-size-sm); height: var(--ds-icon-size-sm); }
.ds-icon--lg { width: var(--ds-icon-size-lg); height: var(--ds-icon-size-lg); }

.ds-field { display: flex; flex-direction: column; gap: var(--ds-space-2); margin-bottom: var(--ds-space-4); }
.ds-label { font-size: var(--ds-size-label); line-height: var(--ds-lh-label); font-weight: var(--ds-weight-medium); color: var(--ds-ink); }
.ds-label__req { color: var(--ds-err-ink); }

.ds-input, .ds-textarea, .ds-select {
    width: 100%;
    min-height: var(--ds-control-height);
    padding: var(--ds-space-3) var(--ds-space-4);
    font-family: var(--ds-font);
    font-size: 1rem;
    font-style: normal;
    line-height: var(--ds-lh-body);
    color: var(--ds-ink);
    background: var(--ds-surface);
    border: var(--ds-border-width) solid var(--ds-line-strong);
    border-radius: var(--ds-radius-s);
}
.ds-textarea { min-height: var(--ds-textarea-min); resize: vertical; }
.ds-input::placeholder, .ds-textarea::placeholder { color: var(--ds-ink-50); font-style: normal; opacity: 1; }
.ds-input[aria-invalid="true"], .ds-textarea[aria-invalid="true"], .ds-select[aria-invalid="true"] {
    border-color: var(--ds-err-border);
    background: var(--ds-err-bg);
}
.ds-help { font-size: var(--ds-size-small); color: var(--ds-ink-50); }
.ds-error { font-size: var(--ds-size-small); font-weight: var(--ds-weight-medium); color: var(--ds-err-ink); }

.ds-check, .ds-radio {
    display: flex;
    align-items: flex-start;
    gap: var(--ds-space-3);
    min-height: var(--ds-target-min);
    padding-block: var(--ds-space-2);
    font-size: var(--ds-size-body);
    cursor: pointer;
}
.ds-check input, .ds-radio input {
    flex: 0 0 auto;
    width: var(--ds-choice-size);
    height: var(--ds-choice-size);
    margin: 0;
    accent-color: var(--ds-blue);
}
.ds-radio input { border-radius: 50%; }

.ds-file { display: flex; align-items: center; gap: var(--ds-space-3); flex-wrap: wrap; }
.ds-file input[type="file"] { font-size: 1rem; }

.ds-card {
    display: flex;
    flex-direction: column;
    gap: var(--ds-space-3);
    padding: var(--ds-space-5);
    background: var(--ds-surface);
    border: var(--ds-border-width) solid var(--ds-line);
    border-radius: var(--ds-radius-m);
    box-shadow: var(--ds-shadow-s);
}
.ds-card > :last-child { margin-bottom: 0; }

.ds-card__title, .ds-card > :is(h2, h3, h4) {
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    font-weight: var(--ds-weight-bold);
    color: var(--ds-navy);
    margin: 0;
}
.ds-card__body, .ds-card > p {
    font-size: var(--ds-size-body);
    line-height: var(--ds-lh-body);
    color: var(--ds-ink-70);
    margin: 0;
}
.ds-card__meta { font-size: var(--ds-size-small); color: var(--ds-ink-50); }

.ds-card--feature :is(.ds-icon, .ig-icon) { color: var(--ds-blue); }

.ds-card--role { gap: var(--ds-space-2); padding: var(--ds-space-4); }

.ds-card--step { position: relative; padding-top: var(--ds-space-6); }
.ds-card--step .ds-card__step-no {
    position: absolute;
    top: var(--ds-space-4);
    left: var(--ds-space-5);
    font-size: var(--ds-size-small);
    font-weight: var(--ds-weight-bold);
    color: var(--ds-blue);
}

.ds-card--info,
.ds-card--ok,
.ds-card--warn,
.ds-card--err { box-shadow: none; }
.ds-card--info { background: var(--ds-surface-alt); border-color: transparent; }
.ds-card--ok { background: var(--ds-ok-bg); border-color: var(--ds-ok-border); color: var(--ds-ok-ink); }
.ds-card--warn { background: var(--ds-warn-bg); border-color: var(--ds-warn-border); color: var(--ds-warn-ink); }
.ds-card--err { background: var(--ds-err-bg); border-color: var(--ds-err-border); color: var(--ds-err-ink); }

.ds-card--offer { gap: var(--ds-space-4); }

.ds-card--review { gap: var(--ds-space-3); background: var(--ds-surface-alt); border-color: transparent; box-shadow: none; }

.ds-card--vacancy { gap: var(--ds-space-2); }
.ds-card--vacancy[data-state="closed"], .ds-card--vacancy[data-state="archived"] { background: var(--ds-surface-alt); color: var(--ds-ink-50); }

a.ds-card:hover, .ds-card--link:hover { border-color: var(--ds-blue-100); box-shadow: var(--ds-shadow-m); }

@media (min-width: 992px) {

    .ds-grid--3:has(> :last-child:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }

}

@media (min-width: 992px) {
    .ds-grid--2:has(> :last-child:nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* === ds:primitives:end === */

@media (min-width: 992px) {
    .ig-steps-list:has(> :last-child:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ig-steps-list:has(> :last-child:nth-child(5)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* === ig:pages:start ========================================================
   Round 3.4B. Three things the built home and service pages need and the
   system did not have. Everything below is var(--ds-*): a token change moves
   these with the rest of the system, and a colour written as a literal here
   would be a second palette nobody updates.
   ========================================================================= */

.ig-ind-tiles { list-style: none; padding: 0; margin: 0; }
.ig-ind-tile {
    flex-direction: row;
    align-items: center;
    gap: var(--ds-space-4);
    min-height: var(--ds-target-min);
    padding: var(--ds-space-4);
    color: var(--ds-navy);
    font-weight: var(--ds-weight-bold);
    text-decoration: none;
}
.ig-ind-tile > .ig-ind-icon { flex: 0 0 auto; }
.ig-ind-tile:hover { color: var(--ds-blue); }

.ig-docs { margin-top: var(--ds-space-6); }
.ig-docs > h3 {
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    font-weight: var(--ds-weight-bold);
    color: var(--ds-navy);
    margin: 0 0 var(--ds-space-4);
}
.ig-doc-strip {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ds-space-3);
    list-style: none;
    padding: 0;
    margin: 0;
}
.ig-doc {
    display: inline-flex;
    align-items: center;
    gap: var(--ds-space-2);
    min-height: var(--ds-target-min);
    padding: var(--ds-space-2) var(--ds-space-4);
    background: var(--ds-surface);
    border: var(--ds-border-width) solid var(--ds-line);
    border-radius: var(--ds-radius-s);
    color: var(--ds-ink-70);
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
    text-decoration: none;
}
.ig-doc:hover { border-color: var(--ds-blue-100); color: var(--ds-navy); }
.ig-doc > .ig-icon, .ig-doc > .ds-icon { width: var(--ds-icon-size-sm); height: var(--ds-icon-size-sm); }

.ig-page-form .home-block-content-inner-1 {
    max-width: var(--ds-container-narrow-max);
    margin-inline: auto;
}

.ig-page-form [class*="flex-row"] { flex-wrap: wrap; }
.ig-page-form [class*="flex-row"] > .col-6 { flex: 0 0 100%; max-width: 100%; }
@media (min-width: 768px) {
    .ig-page-form [class*="flex-row"] > .col-6 { flex: 0 0 50%; max-width: 50%; }
}
/* === ig:pages:end === */

/* === ig:home:start =========================================================
   Round 3.4D. The Round 3.4B home page passed every rule and the owner's
   verdict was that it read as a template. Measured, the cause was not too few
   words — it had more than the WordPress page it replaced — but too few KINDS
   of block: eleven sections, nineteen cards, all the same card, no photograph
   and no change of ground colour from top to bottom.

   So this layer is mostly about VARIETY: a two-column first screen with an
   image, a dark band of figures, a two-column argument list, two large service
   blocks instead of two teasers, a tile grid that carries a sentence, and a
   trust section split into a data table and a picture grid. Nothing here
   invents a colour or a step — every value is a --ds-* token, so the palette
   and the spacing scale still move these with the rest of the system.
   ========================================================================= */

.ig-home-about,
.ig-home-why,
.ig-home-trust { background: var(--ds-surface-alt); }

.ig-hero--photo {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: 62vh;
    color: var(--ds-surface);
    padding-block: var(--ds-space-8);
}

.ig-hero-brow {
    margin: 0 0 var(--ds-space-3);
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: var(--ds-weight-bold);
    color: var(--ds-blue);
}
.ig-hero--photo .ig-hero-brow { color: #a8c7ff; }
.ig-hero-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--hero-focus-m, 50% 50%);
}

.is-gate { position: relative; isolation: isolate; overflow: clip; min-height: 62vh;
    display: flex; align-items: center; }
@media (min-width: 768px) { .is-gate { min-height: 74vh; } }
@media (min-width: 992px) { .is-gate { min-height: 76vh; } }

.is-gate::before {
    content: ""; position: absolute; inset: 0; z-index: -1;

    background: linear-gradient(180deg,
                rgba(255, 255, 255, .80) 0%, rgba(255, 255, 255, .70) 48%,
                rgba(255, 255, 255, .22) 100%);
}
@media (min-width: 768px) {

    .is-gate::before {
        background: linear-gradient(100deg,
                    rgba(255, 255, 255, .70) 0%, rgba(255, 255, 255, .60) 34%,
                    rgba(255, 255, 255, .30) 52%, rgba(255, 255, 255, .08) 70%,
                    rgba(255, 255, 255, 0) 82%);
    }

    .is-gate > .container > h1 { max-width: 12ch; }
    .is-gate > .container > .ig-lead { max-width: 44ch; }
}

.is-gate > .container > h1 {
    font-size: clamp(32px, 5.4vw, 58px);
    letter-spacing: -.015em;
}
.is-gate > .container > .ig-lead {
    font-size: clamp(18px, 1.45vw, 21px);
    font-weight: var(--ds-weight-medium);
    color: var(--ink);
}
@media (min-width: 768px) {
}

.ig-hero-scrim {
    position: absolute;
    inset: 0;
    z-index: -1;

    background: linear-gradient(180deg,
                rgba(8, 20, 42, .88) 0%, rgba(8, 20, 42, .82) 46%,
                rgba(8, 20, 42, .58) 100%);
}
.ig-hero--photo h1 {
    color: var(--ds-surface);
    font-size: clamp(34px, 6.2vw, 60px);
    line-height: 1.1;
    letter-spacing: -.01em;
    max-width: 20ch;
}
.ig-hero--photo .ig-lead { color: #d8e3f6; max-width: 46ch; }
.ig-hero--photo .ig-hero-proof { color: #cfe0ff; }

.ig-hero--photo .ig-cta-phone { color: #dbe6fa; font-weight: var(--ds-weight-regular); }
.ig-hero--photo .ds-btn--secondary {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, .75);
    color: var(--ds-surface);
}
.ig-hero--photo .ds-btn--secondary:hover { background: rgba(255, 255, 255, .14); }

.ig-hero--split { padding-block: var(--ds-space-7); }
.ig-hero-grid { display: grid; gap: var(--ds-space-6); align-items: center; }
.ig-hero--split h1 {
    margin-top: 0;
    font-size: clamp(32px, 4.6vw, 52px);
    line-height: 1.12;
    letter-spacing: -.01em;
}
.ig-hero--split .ig-lead { max-width: 48ch; }
.ig-hero--split .ig-ind-actions { row-gap: var(--ds-space-3); }
.ig-hero-media { margin: 0; }
.ig-hero-media > img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 460px;
    object-fit: cover;
    object-position: var(--hero-focus-m, 50% 50%);
    border-radius: var(--ds-radius-l);
    box-shadow: var(--ds-shadow-l);
}

.ig-prose { max-width: 68ch; }
.ig-prose > p { margin: 0 0 var(--ds-space-4); }
.ig-prose > p:last-child { margin-bottom: 0; }

.ig-why-list { display: grid; gap: var(--ds-space-6); }
.ig-why-item { display: flex; gap: var(--ds-space-4); align-items: flex-start; }
.ig-why-item > .ig-icon, .ig-why-item > .ds-icon {
    flex: 0 0 auto;
    color: var(--ds-blue);
    width: var(--ds-icon-size-lg);
    height: var(--ds-icon-size-lg);
}
.ig-why-item h3 {
    margin: 0 0 var(--ds-space-2);
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}
.ig-why-item p { margin: 0; color: var(--ds-ink-70); }

.ig-svc-blocks { display: grid; gap: var(--ds-space-8); }
.ig-svc-block {
    display: grid;
    gap: 0;
    overflow: hidden;
    background: var(--ds-surface);
    border: var(--ds-border-width) solid var(--ds-line);
    border-radius: var(--ds-radius-l);
    box-shadow: var(--ds-shadow-s);
}
.ig-svc-media { background: var(--ds-surface-alt); }
.ig-svc-media > img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;

    object-position: 50% 64%;
}
.ig-svc-body { padding: var(--ds-space-6); }
.ig-svc-body > h3 {
    margin: 0 0 var(--ds-space-3);
    font-size: var(--ds-size-h2);
    line-height: var(--ds-lh-h2);
    color: var(--ds-navy);
}
.ig-svc-lede { margin: 0 0 var(--ds-space-5); color: var(--ds-ink-70); font-size: 17px; }
.ig-svc-cols { display: grid; gap: var(--ds-space-5); }
.ig-svc-cols h4 {
    margin: 0 0 var(--ds-space-3);
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
    font-weight: var(--ds-weight-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ds-blue);
}
.ig-svc-body > .ig-model-link { display: inline-block; margin-top: var(--ds-space-6); }

.ig-ticks { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--ds-space-2); }
.ig-ticks > li {
    position: relative;
    padding-left: var(--ds-space-6);
    color: var(--ds-ink-70);
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
}
.ig-ticks > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .35em;
    width: 14px;
    height: 8px;
    border-left: 2px solid var(--ds-blue);
    border-bottom: 2px solid var(--ds-blue);
    transform: rotate(-45deg);
}

.ig-scope-layout { display: grid; gap: var(--ds-space-7); }
.ig-scope-intro > p { margin: 0 0 var(--ds-space-4); color: var(--ds-ink-70); font-size: 17px; }
.ig-scope-intro > p:last-child { margin-bottom: 0; }
.ig-scope-groups { display: grid; gap: var(--ds-space-5); }
.ig-scope-group {
    padding: var(--ds-space-5) 0 0;
    background: none;
    border: 0;
    border-top: var(--ds-border-width) solid var(--ds-line);
    border-radius: 0;
}
.ig-scope-group > .ig-icon, .ig-scope-group > .ds-icon {
    color: var(--ds-blue);
    width: var(--ds-icon-size);
    height: var(--ds-icon-size);
}
.ig-scope-group h3 {
    margin: var(--ds-space-3) 0 var(--ds-space-2);
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}
.ig-scope-group > p { margin: 0 0 var(--ds-space-4); color: var(--ds-ink-70); }
.ig-scope-group .ig-note { margin: var(--ds-space-4) 0 0; }

.ig-ind-tiles { display: grid; gap: var(--ds-space-4); list-style: none; padding: 0; margin: 0; }

.ig-ind-tile {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: var(--ds-space-1) var(--ds-space-4);
    height: 100%;
    padding: var(--ds-space-5);
    color: var(--ds-navy);
    text-decoration: none;
}
.ig-ind-tile > .ig-ind-icon { grid-row: span 2; }
.ig-ind-name { font-weight: var(--ds-weight-bold); }
.ig-ind-note {
    color: var(--ds-ink-70);
    font-weight: var(--ds-weight-regular);
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
}
.ig-ind-tile:hover .ig-ind-name { color: var(--ds-blue); }

.ig-trust-split { display: grid; gap: var(--ds-space-7); }
.ig-trust-split h3 {
    margin: 0 0 var(--ds-space-2);
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}
.ig-trust-split .ig-note { margin: 0 0 var(--ds-space-5); }
.ig-legal {
    align-self: start;
    padding: var(--ds-space-5);
    background: var(--ds-surface-alt);
    border-radius: var(--ds-radius-m);
}
.ig-legal-list { margin: 0; display: grid; }
.ig-legal-row {
    display: grid;
    gap: 2px;
    padding: var(--ds-space-2) 0;
    border-bottom: var(--ds-border-width) solid var(--ds-line);
}
.ig-legal-row > dt {
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
    color: var(--ds-ink-50);
}
.ig-legal-row > dd {
    margin: 0;
    color: var(--ds-navy);
    font-weight: var(--ds-weight-bold);
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
}
.ig-cert-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ds-space-4);
    list-style: none;
    padding: 0;
    margin: 0;
}
.ig-cert {
    display: flex;
    flex-direction: column;
    gap: var(--ds-space-2);
    padding: var(--ds-space-3);
    background: var(--ds-surface);
    border: var(--ds-border-width) solid var(--ds-line);
    border-radius: var(--ds-radius-m);
    text-decoration: none;
}
.ig-cert > img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: contain;
    background: var(--ds-surface-alt);
    border-radius: var(--ds-radius-s);
}
.ig-cert-n { font-weight: var(--ds-weight-bold); color: var(--ds-navy); }
.ig-cert-m {
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
    color: var(--ds-ink-50);
}
.ig-cert:hover { border-color: var(--ds-blue-100); }

@media (min-width: 576px) {
    .ig-ind-tile {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--ds-space-2);
    }
    .ig-ind-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ig-cert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
    .ig-svc-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ig-why-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ds-space-7); }
}
@media (min-width: 768px) {

    .ig-hero--photo { min-height: 74vh; }

    .ig-hero-bg { object-position: var(--hero-focus-t, 50% 50%); }

    .ig-hero-scrim {
        background: linear-gradient(100deg,
                    rgba(8, 20, 42, .90) 0%, rgba(8, 20, 42, .82) 30%,
                    rgba(8, 20, 42, .66) 52%, rgba(8, 20, 42, .30) 78%,
                    rgba(8, 20, 42, .14) 100%);
    }

    .ig-hero--photo .container > h1 { max-width: 20ch; }

    .ig-hero--photo .container > .ig-lead { max-width: 56ch; text-wrap: pretty; }
}
@media (min-width: 992px) {
    .ig-hero--photo { padding-block: var(--ds-space-9); min-height: 76vh; }
    .ig-hero-bg { object-position: var(--hero-focus, 50% 50%); }

    .ig-legal-list { gap: var(--ds-space-5); }
    .ig-legal-row { border-bottom: 0; padding: 0; }
    .ig-hero--split { padding-block: var(--ds-space-9); }
    .ig-hero-grid { grid-template-columns: 1.18fr .82fr; gap: var(--ds-space-8); }
    .ig-hero-media > img { object-position: var(--hero-focus, 50% 50%); max-height: 520px; }

    .ig-ind-tiles {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-width: 960px;
        margin-inline: auto;
    }
    .ig-cert-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 768px) {

    .ig-home-audience > .container > .ig-lead,
    .ig-home-services > .container > .ig-lead,
    .ig-home-industries .ig-lead,
    .ig-home-trust > .container > .ig-lead,
    [data-page="home"] .ig-steps > .container > .ig-lead,
    .ig-home-industries > .container > .ig-note { margin-inline: auto; text-align: center; }
}

.ig-hero-proof {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ds-space-2) var(--ds-space-4);
    list-style: none;
    padding: 0;
    margin: var(--ds-space-6) 0 0;
    color: var(--ds-navy);
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
    font-weight: var(--ds-weight-bold);
}

.ig-hero-proof { flex-direction: column; align-items: flex-start; gap: var(--ds-space-2); }
.ig-hero-proof > li { display: flex; align-items: baseline; gap: var(--ds-space-3); }
.ig-hero-proof > li::before {
    content: "";
    flex: 0 0 auto;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    opacity: .55;
}
@media (min-width: 576px) {
    .ig-hero-proof { flex-direction: row; align-items: center; gap: var(--ds-space-2) var(--ds-space-4); }
    .ig-hero-proof > li { gap: var(--ds-space-4); }
    .ig-hero-proof > li:first-child::before { display: none; }
}

[data-page="home"] .ig-home-about,
[data-page="home"] .ig-home-services,
[data-page="home"] .ig-steps,
[data-page="home"] .ig-home-industries,
[data-page="home"] .ig-terms { background: var(--ds-surface-alt); }
[data-page="home"] .ig-home-why,
[data-page="home"] .ig-home-audience,
[data-page="home"] .ig-ind-support,
[data-page="home"] .ig-home-trust,
[data-page="home"] .ig-faq { background: var(--ds-surface); }

[data-page="home"] .ig-terms .ds-card {
    background: none;
    border: 0;
    border-left: 3px solid var(--ds-blue-100);
    border-radius: 0;
    box-shadow: none;
    padding: var(--ds-space-1) 0 var(--ds-space-1) var(--ds-space-5);
}
[data-page="home"] .ig-terms .ds-card > .ig-icon,
[data-page="home"] .ig-terms .ds-card > .ds-icon { display: none; }

[data-page="home"] .ig-page-form {
    background: var(--ds-surface-alt);
    padding-bottom: var(--ds-space-6);
}

@media (min-width: 992px) {
    [data-page="home"] .ig-section { padding-block: var(--ds-space-9); }
}

[data-page="home"] .ig-h2 { font-size: var(--ds-size-h1); line-height: var(--ds-lh-h1); }
[data-page="home"] .ig-h2 + .ig-lead { margin-bottom: var(--ds-space-7); font-size: 19px; }
.ig-h2--left { text-align: left; }

.ig-about-head { margin-bottom: var(--ds-space-6); }
.ig-about-head > .ig-tagline { max-width: 34ch; }
.ig-tagline {
    margin: var(--ds-space-3) 0 0;
    font-size: var(--ds-size-h2);
    line-height: var(--ds-lh-h2);
    font-weight: var(--ds-weight-bold);
    color: var(--ds-blue);
}
.ig-home-about .ig-prose { max-width: none; margin-inline: 0; }

.ig-needs {
    display: grid;
    gap: var(--ds-space-6);
    margin-top: var(--ds-space-6);
}
.ig-need {
    padding-top: var(--ds-space-4);
    border-top: 2px solid var(--ds-blue);
}
.ig-need h3 {
    margin: 0 0 var(--ds-space-2);
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}
.ig-need p { margin: 0; color: var(--ds-ink-70); }

.ig-ind-tile { padding: var(--ds-space-6) var(--ds-space-5); }
.ig-ind-tile > .ig-ind-icon { margin-bottom: var(--ds-space-2); }
.ig-ind-name { font-size: var(--ds-size-h3); line-height: var(--ds-lh-h3); }

@media (min-width: 768px) {
    .ig-needs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ig-cert-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 768px) {

    .ig-prose--2col { columns: 2; column-gap: var(--ds-space-8); }
    .ig-prose--2col > p { break-inside: avoid; }
}
@media (min-width: 992px) {
    .ig-needs { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--ds-space-8); }
}

[data-page="home"] .ig-steps-list {
    display: grid;
    gap: var(--ds-space-6);
    counter-reset: none;
    position: relative;
}
[data-page="home"] .ig-step {
    position: relative;
    padding-left: var(--ds-space-8);
    background: none;
    border: 0;
    box-shadow: none;
}
[data-page="home"] .ig-step::before {
    content: "";
    position: absolute;
    left: 19px;
    top: 42px;
    bottom: calc(var(--ds-space-6) * -1);
    width: 2px;
    background: var(--ds-blue-100);
}
[data-page="home"] .ig-step:last-child::before { display: none; }
[data-page="home"] .ig-step-no {
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--ds-blue);
    color: var(--ds-surface);
    font-weight: var(--ds-weight-bold);
}
[data-page="home"] .ig-step h3 {
    margin: 6px 0 var(--ds-space-2);
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}
[data-page="home"] .ig-step p { margin: 0; color: var(--ds-ink-70); }

@media (min-width: 992px) {
    [data-page="home"] .ig-faq-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--ds-space-3) var(--ds-space-5);
        align-items: start;
    }
}

[data-page="home"] .ig-cta-band { padding-block: var(--ds-space-7); }

@media (min-width: 992px) {
    .ig-scope-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-space-7); }
    .ig-cert-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

    .ig-svc-block--a,
    .ig-svc-block--b { grid-template-columns: 0.9fr 1.1fr; }
    .ig-svc-block--b .ig-svc-media { order: 2; }
    .ig-svc-body { padding: var(--ds-space-8); }
    .ig-svc-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    [data-page="home"] .ig-steps .ig-steps-list {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: var(--ds-space-5);
    }
    [data-page="home"] .ig-step { padding-left: 0; padding-top: var(--ds-space-8); }
    [data-page="home"] .ig-step::before {
        left: 40px;
        right: calc(var(--ds-space-5) * -1);
        top: 19px;
        bottom: auto;
        width: auto;
        height: 2px;
    }
    [data-page="home"] .ig-step h3 { margin-top: 0; }
}

[data-page="home"] .ig-home-audience .ds-card {
    background: none;
    border: 0;
    box-shadow: none;
    padding: 0;
    text-align: center;
    align-items: center;
}
[data-page="home"] .ig-home-audience .ds-card > .ig-icon,
[data-page="home"] .ig-home-audience .ds-card > .ds-icon {
    width: var(--ds-icon-size-lg);
    height: var(--ds-icon-size-lg);
    margin-bottom: var(--ds-space-3);
}
[data-page="home"] .ig-home-audience .ds-card h3 {
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
}

[data-page="home"] .ig-home-services > .container > .ig-h2 { text-align: left; }
[data-page="home"] .ig-home-services > .container > .ig-lead {
    margin-inline: 0;
    text-align: left;
}

.ig-sec-head { display: grid; gap: var(--ds-space-3); margin-bottom: var(--ds-space-6); }
[data-page="home"] .ig-sec-head > .ig-h2 { margin-bottom: 0; }
[data-page="home"] .ig-sec-head > .ig-lead { margin: 0; }

.ig-why-item--lead h3 { font-size: var(--ds-size-h2); line-height: var(--ds-lh-h2); }

.ig-svc-block--b .ig-svc-lede { font-size: 19px; color: var(--ds-ink); }

.ig-cert { padding: var(--ds-space-2); gap: var(--ds-space-1); }

.ig-cert > img {
    aspect-ratio: 1 / 1;
    border: var(--ds-border-width) solid var(--ds-line);
}
.ig-cert-n { font-size: var(--ds-size-small); line-height: var(--ds-lh-small); }

.ig-svc-blocks { gap: var(--ds-space-6); }
.ig-svc-media > img { min-height: 170px; }
.ig-why-list { gap: var(--ds-space-5); }
.ig-ind-tiles { gap: var(--ds-space-3); }
.ig-ind-tile { padding: var(--ds-space-4) var(--ds-space-5); }
.ig-trust-split { gap: var(--ds-space-6); }
.ig-cert-grid { gap: var(--ds-space-3); }
.ig-hero-media > img { max-height: 300px; }
[data-page="home"] .ig-h2 + .ig-lead { margin-bottom: var(--ds-space-5); }
[data-page="home"] .ig-steps-list { gap: var(--ds-space-5); }
[data-page="home"] .ig-page-form { padding-block: var(--ds-space-6); }

@media (min-width: 576px) {
    .ig-ind-tile { padding: var(--ds-space-5); }
}
@media (min-width: 768px) {
    .ig-cert > img { aspect-ratio: 3 / 4; }
    .ig-svc-media > img { min-height: 220px; }
    .ig-hero-media > img { max-height: 420px; }
}
@media (min-width: 992px) {
    .ig-sec-head {
        grid-template-columns: 0.92fr 1.08fr;
        gap: var(--ds-space-8);
        align-items: start;
        margin-bottom: var(--ds-space-8);
    }
    [data-page="home"] .ig-h2 + .ig-lead { margin-bottom: var(--ds-space-7); }
    .ig-svc-blocks { gap: var(--ds-space-8); }
    .ig-trust-split { gap: var(--ds-space-8); }
    .ig-cert-grid { gap: var(--ds-space-4); }
    .ig-ind-tiles { gap: var(--ds-space-4); }
    .ig-ind-tile { padding: var(--ds-space-6) var(--ds-space-5); }
    [data-page="home"] .ig-steps-list { gap: var(--ds-space-6); }

    .ig-why-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-space-7); }
    .ig-why-item--lead {
        grid-column: 1 / -1;
        padding-bottom: var(--ds-space-6);
        border-bottom: var(--ds-border-width) solid var(--ds-line);
    }
    .ig-why-item--lead > .ig-icon,
    .ig-why-item--lead > .ds-icon { width: 40px; height: 40px; }
    .ig-why-item--lead p { max-width: 74ch; font-size: 18px; }

    [data-page="home"] .ig-faq-list {
        display: block;
        columns: 2;
        column-gap: var(--ds-space-6);
    }
    [data-page="home"] .ig-faq-item {
        break-inside: avoid;
        margin-bottom: var(--ds-space-3);
    }
}

[data-page="home"] .ig-step p { font-size: 15px; line-height: 1.55; }

.ig-legal { margin-top: var(--ds-space-7); }
.ig-legal-row > dd { font-size: var(--ds-size-body); line-height: var(--ds-lh-body); }

@media (min-width: 992px) {
    .ig-ind-tile { padding: var(--ds-space-5); }
    .ig-legal { padding: var(--ds-space-6); }
}

.ig-ind-tile { padding: var(--ds-space-3) var(--ds-space-4); gap: var(--ds-space-1) var(--ds-space-3); }
.ig-ind-name { font-size: var(--ds-size-body); line-height: var(--ds-lh-body); }
.ig-ind-tile > .ig-ind-icon { margin-bottom: 0; }

.ig-legal-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ds-space-3); }
.ig-legal { padding: var(--ds-space-4); }

@media (min-width: 576px) {
    [data-page="home"] .ig-terms .ds-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

[data-page="home"] .ig-section { padding-block: var(--ds-space-4); }
[data-page="home"] .ig-h2 { font-size: var(--ds-size-h2); line-height: var(--ds-lh-h2); }

.ig-hero-media > img { max-height: 240px; }
.ig-scope-group { padding-top: var(--ds-space-4); }
.ig-scope-group > p { margin-bottom: var(--ds-space-3); }
.ig-scope-group h3 { margin-top: var(--ds-space-2); }
.ig-needs { gap: var(--ds-space-5); }
[data-page="home"] .ig-step h3 { margin-top: 4px; margin-bottom: 4px; }
[data-page="home"] .ig-step::before { top: 40px; }

@media (min-width: 576px) {
    .ig-ind-tile { padding: var(--ds-space-5); }
    .ig-legal-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
    [data-page="home"] .ig-section { padding-block: var(--ds-space-6); }
    [data-page="home"] .ig-h2 { font-size: var(--ds-size-h1); line-height: var(--ds-lh-h1); }
    .ig-ind-name { font-size: var(--ds-size-h3); line-height: var(--ds-lh-h3); }
    .ig-legal { padding: var(--ds-space-5); }
}
@media (min-width: 992px) {
    .ig-needs { gap: var(--ds-space-6); }
    .ig-scope-group { padding-top: var(--ds-space-5); }
}

[data-page="home"] .ig-home-audience .ds-card {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: var(--ds-space-1) var(--ds-space-4);
    text-align: left;
}
[data-page="home"] .ig-home-audience .ds-card > .ig-icon,
[data-page="home"] .ig-home-audience .ds-card > .ds-icon { grid-row: span 2; }
[data-page="home"] .ig-home-audience .ds-card > .ig-icon,
[data-page="home"] .ig-home-audience .ds-card > .ds-icon {
    flex: 0 0 auto;
    margin-bottom: 0;
    width: var(--ds-icon-size);
    height: var(--ds-icon-size);
}
[data-page="home"] .ig-home-audience .ds-card h3 { margin-top: 0; }

[data-page="home"] .ig-prose > p { margin-bottom: var(--ds-space-3); }
.ig-svc-media > img { min-height: 140px; }
.ig-cert > img { aspect-ratio: 5 / 4; }
[data-page="home"] .ig-faq-item + .ig-faq-item { margin-top: var(--ds-space-2); }

@media (min-width: 576px) {
    [data-page="home"] .ig-home-audience .ds-card {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    [data-page="home"] .ig-home-audience .ds-card > .ig-icon,
    [data-page="home"] .ig-home-audience .ds-card > .ds-icon {
        width: var(--ds-icon-size-lg);
        height: var(--ds-icon-size-lg);
        margin-bottom: var(--ds-space-3);
    }
    .ig-svc-media > img { min-height: 170px; }
}
@media (min-width: 768px) {
    .ig-cert > img { aspect-ratio: 3 / 4; }
    [data-page="home"] .ig-prose > p { margin-bottom: var(--ds-space-4); }
}

.ig-hero-media > img { max-height: 200px; }
.ig-svc-body { padding: var(--ds-space-5); }
[data-page="home"] .ig-ticks { gap: var(--ds-space-1); }
[data-page="home"] .ig-h2 + .ig-lead { margin-bottom: var(--ds-space-4); }

@media (min-width: 576px) {
    .ig-hero-media > img { max-height: 260px; }
}
@media (min-width: 768px) {
    .ig-svc-body { padding: var(--ds-space-6); }
    [data-page="home"] .ig-ticks { gap: var(--ds-space-2); }
    [data-page="home"] .ig-h2 + .ig-lead { margin-bottom: var(--ds-space-5); }
}

[data-page="home"] .ig-step-no { width: 34px; height: 34px; font-size: 15px; }
[data-page="home"] .ig-step { padding-left: var(--ds-space-7); }
[data-page="home"] .ig-step::before { left: 16px; width: 3px; background: var(--ds-blue-100); }

.ig-ind-tile > .ig-ind-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: var(--ds-radius-s);
    background: var(--ds-blue-50);
    color: var(--ds-blue);
}

@media (min-width: 992px) {
    [data-page="home"] .ig-step-no { width: 40px; height: 40px; font-size: 16px; }
    [data-page="home"] .ig-step { padding-left: 0; }
    [data-page="home"] .ig-step::before { left: 40px; width: auto; height: 3px; }
}

[data-page="home"] .ig-section { padding-block: var(--ds-space-5); }

[data-page="home"] .ig-h2,
.ig-hero--photo h1,
.ig-hero--split h1,
.ig-tagline { text-wrap: balance; }

@media (min-width: 768px) {
    [data-page="home"] .ig-section { padding-block: var(--ds-space-7); }
}
@media (min-width: 992px) {
    [data-page="home"] .ig-section { padding-block: var(--ds-space-9); }
}

[data-page="home"] .ig-home-about .ig-prose > p {
    font-size: 17px;
    line-height: 1.72;
    color: var(--ds-ink);
}
[data-page="home"] .ig-need {
    border-top-width: 1px;
    border-top-color: var(--ds-blue-100);
}
[data-page="home"] .ig-need h3 {
    margin-bottom: var(--ds-space-1);
    font-size: var(--ds-size-body);
    line-height: 1.35;
}
[data-page="home"] .ig-need p {
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
}

[data-page="home"] .ig-why-item:not(.ig-why-item--lead) > .ig-icon,
[data-page="home"] .ig-why-item:not(.ig-why-item--lead) > .ds-icon { display: none; }
[data-page="home"] .ig-why-item:not(.ig-why-item--lead) h3 {
    font-size: 17px;
    line-height: 1.35;
}
[data-page="home"] .ig-why-item:not(.ig-why-item--lead) p {
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
}

[data-page="home"] .ig-ind-tile {
    background: var(--ds-surface);
    border: var(--ds-border-width) solid var(--ds-line);
    border-left: 3px solid var(--ds-blue);
    border-radius: var(--ds-radius-s);
    box-shadow: none;
    transition: border-color .18s var(--ds-ease, ease), background-color .18s var(--ds-ease, ease);
}
[data-page="home"] .ig-ind-tile:hover {
    transform: none;
    box-shadow: none;
    border-color: var(--ds-line-strong);
    border-left-color: var(--ds-blue);
    background: var(--ds-blue-50);
}
[data-page="home"] .ig-ind-tile > .ig-ind-icon {
    width: 44px;
    height: 44px;
    background: var(--ds-blue-50);
    border-radius: var(--ds-radius-s);
}
[data-page="home"] .ig-ind-tile > .ig-ind-icon > .ig-icon { width: 22px; height: 22px; }
[data-page="home"] .ig-ind-tile:hover > .ig-ind-icon { background: var(--ds-surface); }
[data-page="home"] .ig-ind-name {
    font-weight: var(--ds-weight-bold);
    letter-spacing: -.005em;
}

[data-page="home"] .ig-page-form .home-block-content-inner-1 {
    flex: 0 0 auto;
    max-width: 760px;
    padding: clamp(28px, 3.2vw, 44px);
    border-radius: var(--ds-radius-m);
    box-shadow: 0 18px 44px rgba(10, 42, 94, .10);
}
[data-page="home"] .ig-page-form .home-block-content-inner-1:hover {
    transform: none;
    border-color: var(--ds-line);
    box-shadow: 0 18px 44px rgba(10, 42, 94, .10);
}
[data-page="home"] .ig-page-form .home-block-content-inner-1 > .row:last-of-type { margin-top: 0; }
[data-page="home"] .ig-page-form [class*="offset-"] { margin-left: 0; }
[data-page="home"] .ig-page-form .home-block-content-inner-1 > .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
}
[data-page="home"] .ig-page-form h2 {
    margin-bottom: var(--ds-space-3);
    font-size: clamp(19px, 2vw, 25px);
    line-height: 1.28;
    letter-spacing: .015em;
    color: var(--ds-navy);
}
[data-page="home"] .ig-page-form .main-contact-form .row { margin-bottom: 0; }

[data-page="home"] .ig-page-form .main-contact-form input { margin-bottom: 0; }
[data-page="home"] .ig-page-form .main-contact-form .row + .row { margin-top: var(--ds-space-3); }
[data-page="home"] .ig-page-form input[type="text"],
[data-page="home"] .ig-page-form input[type="tel"],
[data-page="home"] .ig-page-form input[type="email"] {
    width: 100%;
    height: 54px;
    padding-inline: var(--ds-space-4);
    border-radius: var(--ds-radius-s);
    font-size: 16px;
}
[data-page="home"] .ig-page-form .theme-button {
    width: 100%;
    height: 54px;
    align-self: stretch;
    border-radius: var(--ds-radius-s);
    font-size: 16px;
    letter-spacing: .02em;
}

[data-page="home"] .ig-page-form { padding-block: var(--ds-space-6); }

@media (min-width: 992px) {
    [data-page="home"] .ig-page-form { padding-block: var(--ds-space-7); }
    [data-page="home"] .ig-about-head { margin-bottom: var(--ds-space-7); }
    [data-page="home"] .ig-needs { margin-top: var(--ds-space-9); }
    [data-page="home"] .ig-why-item--lead h3 { font-size: 30px; line-height: 1.22; }
    [data-page="home"] .ig-why-item--lead p { font-size: 19px; line-height: 1.65; max-width: 68ch; }
    [data-page="home"] .ig-why-item--lead { padding-bottom: var(--ds-space-7); }
}

/* === ig:home:end === */
/* === ig:services ==========================================================
   Round 3.5A. The two service pages were the same page in two colours: a text
   hero, then card grid, card grid, card grid. They keep every fact they had —
   the words are tools/services.py and it is claims-gated — and stop sharing a
   skeleton. The scope is body:has(.is-svc), which is the marker their hero
   carries and no other page does.
   ======================================================================== */

body:has(.is-svc) .ig-hero--photo { min-height: 58vh; }
body:has(.is-svc) .ig-hero--split { padding-block: var(--ds-space-7); }
body:has(.is-svc) .ig-hero--split .ig-hero-media > img {
    max-height: 380px;
    border-radius: var(--ds-radius-l);
}

body:has(.is-svc) .ig-section { padding-block: var(--ds-space-6); }
body:has(.is-svc) .ig-h2 { font-size: clamp(26px, 3vw, 38px); line-height: 1.15; }
body:has(.is-svc) .ig-h2 + .ig-lead { margin-bottom: var(--ds-space-5); }

body:has(.is-svc) .ig-svc-audience,
body:has(.is-svc) .ig-steps,
body:has(.is-svc) .ig-svc-checks,
body:has(.is-svc) .ig-terms { background: var(--ds-surface-alt); }
body:has(.is-svc) .ig-svc-resp,
body:has(.is-svc) .ig-ind-support,
body:has(.is-svc) .ig-svc-role,
body:has(.is-svc) .ig-svc-boundary,
body:has(.is-svc) .ig-svc-diff,
body:has(.is-svc) .ig-faq { background: var(--ds-surface); }

.ig-resp-grid { display: grid; gap: var(--ds-space-6); }
.ig-resp > h3 {
    margin: 0 0 var(--ds-space-4);
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}
.ig-resp--ours {
    padding: var(--ds-space-6);
    background: var(--ds-blue-50);
    border-left: 3px solid var(--ds-blue);
    border-radius: var(--ds-radius-s);
}
.ig-resp--theirs {
    padding: var(--ds-space-6) 0 0;
    border-top: var(--ds-border-width) solid var(--ds-line);
}

.ig-bound-grid { display: grid; gap: var(--ds-space-6); }
.ig-bound > h3 {
    margin: 0 0 var(--ds-space-4);
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}
.ig-bound--after {
    padding: var(--ds-space-6);
    background: var(--ds-surface-alt);
    border-radius: var(--ds-radius-s);
    border-left: 3px solid var(--ds-line-strong);
}
.ig-bound--after > p { margin: 0; color: var(--ds-ink-70); }

@media (min-width: 768px) {
    .ig-resp-grid { grid-template-columns: 1.15fr 0.85fr; gap: var(--ds-space-8); align-items: start; }
    .ig-bound-grid { grid-template-columns: 1fr 1fr; gap: var(--ds-space-8); align-items: start; }
    .ig-resp--theirs { padding-top: var(--ds-space-5); }
}
@media (min-width: 992px) {
    body:has(.is-svc) .ig-section { padding-block: var(--ds-space-8); }
    body:has(.is-svc) .ig-hero--photo { min-height: 62vh; }
    body:has(.is-svc) .ig-hero-grid { grid-template-columns: 1.05fr 0.95fr; gap: var(--ds-space-8); }
    body:has(.is-svc) .ig-hero--split .ig-hero-media > img { max-height: 460px; }
}

body:has(.is-svc) .ig-steps-list {
    display: grid;
    gap: var(--ds-space-5);
    counter-reset: none;
    position: relative;
}
body:has(.is-svc) .ig-step {
    position: relative;
    padding-left: var(--ds-space-7);
    background: none;
    border: 0;
    box-shadow: none;
}
body:has(.is-svc) .ig-step::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 40px;
    bottom: calc(var(--ds-space-5) * -1);
    width: 3px;
    background: var(--ds-blue-100);
}
body:has(.is-svc) .ig-step:last-child::before { display: none; }
body:has(.is-svc) .ig-step-no {
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--ds-blue);
    color: var(--ds-surface);
    font-size: 15px;
    font-weight: var(--ds-weight-bold);
}
body:has(.is-svc) .ig-step h3 {
    margin: 4px 0 0;
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}
body:has(.is-svc) .ig-step p { margin: 4px 0 0; color: var(--ds-ink-70); font-size: 15px; }

body:has(.is-svc) .ig-terms .ds-card {
    background: none;
    border: 0;
    border-left: 3px solid var(--ds-blue-100);
    border-radius: 0;
    box-shadow: none;
    padding: var(--ds-space-1) 0 var(--ds-space-1) var(--ds-space-5);
}
body:has(.is-svc) .ig-terms .ds-card > .ig-icon,
body:has(.is-svc) .ig-terms .ds-card > .ds-icon { display: none; }

@media (min-width: 992px) {
    body:has(.is-svc) .ig-steps .ig-steps-list {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: var(--ds-space-5);
    }
    body:has(.is-svc) .ig-step { padding-left: 0; padding-top: var(--ds-space-7); }
    body:has(.is-svc) .ig-step::before {
        left: 34px;
        right: calc(var(--ds-space-5) * -1);
        top: 16px;
        bottom: auto;
        width: auto;
        height: 3px;
    }
    body:has(.is-svc) .ig-step h3 { margin-top: 0; }
}

body:has(.ig-hero--split.is-svc) .ig-ind-hero,
body:has(.ig-hero--split.is-svc) .ig-steps,
body:has(.ig-hero--split.is-svc) .ig-svc-boundary { background: var(--ds-surface-alt); }
body:has(.ig-hero--split.is-svc) .ig-svc-audience,
body:has(.ig-hero--split.is-svc) .ig-svc-checks,
body:has(.ig-hero--split.is-svc) .ig-svc-diff { background: var(--ds-surface); }

body:has(.is-svc) .ig-hero--split .ig-hero-media > img { max-height: 420px; }

body:has(.is-svc) .ig-svc-diff .ds-card {
    background: none;
    border: 0;
    border-top: 3px solid var(--ds-blue);
    border-radius: 0;
    box-shadow: none;
    padding: var(--ds-space-5) 0 0;
}
body:has(.is-svc) .ig-svc-diff .ds-card:last-child { border-top-color: var(--ds-line-strong); }
body:has(.is-svc) .ig-svc-diff .ds-card > .ig-icon,
body:has(.is-svc) .ig-svc-diff .ds-card > .ds-icon { display: none; }
body:has(.is-svc) .ig-svc-diff .ds-card h3 {
    margin: 0 0 var(--ds-space-2);
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}

@media (min-width: 992px) {
    body:has(.is-svc) .ig-hero--split .ig-hero-media > img { max-height: 520px; }
    body:has(.ig-hero--split.is-svc) .ig-ind-hero { padding-block: var(--ds-space-9); }

    body:has(.is-svc) .ig-hero--split { position: relative; isolation: isolate; overflow: clip; }

    body:has(.is-svc) .ig-hero--split .ig-hero-copy { position: relative; z-index: 1; }
    body:has(.is-svc) .ig-hero--split .ig-hero-media {
        position: absolute; inset: 0 0 0 auto; width: 58%; z-index: 0;
    }
    body:has(.is-svc) .ig-hero--split .ig-hero-media > img {
        width: 100%; height: 100%; max-height: none;
        border-radius: 0; box-shadow: none;

        -webkit-mask-image: linear-gradient(to right, transparent 0, transparent 14%, #000 40%);
                mask-image: linear-gradient(to right, transparent 0, transparent 14%, #000 40%);
    }
}

body:has(.ig-hero--photo.is-svc) .ig-hero-scrim {
    background: linear-gradient(180deg,
                rgba(8, 20, 42, .90) 0%, rgba(8, 20, 42, .86) 52%,
                rgba(8, 20, 42, .62) 100%);
}
@media (min-width: 768px) {
    body:has(.ig-hero--photo.is-svc) .ig-hero-scrim {
        background: linear-gradient(90deg,
                    rgba(8, 20, 42, .94) 0%, rgba(8, 20, 42, .93) 42%,
                    rgba(8, 20, 42, .62) 54%, rgba(8, 20, 42, .20) 70%,
                    rgba(8, 20, 42, .10) 100%);
    }
    body:has(.ig-hero--photo.is-svc) .ig-hero--photo .container > h1,
    body:has(.ig-hero--photo.is-svc) .ig-hero--photo .container > .ig-lead,
    body:has(.ig-hero--photo.is-svc) .ig-hero--photo .container > .ig-ind-actions,
    body:has(.ig-hero--photo.is-svc) .ig-hero--photo .container > .ig-hero-proof {
        max-width: 40ch;
    }
}
body:has(.is-svc) .ig-hero--photo h1 { font-size: clamp(32px, 4.6vw, 52px); }

body:has(.is-svc) .ig-hero-proof { font-size: var(--ds-size-body); }

body:has(.is-svc) .ig-svc-resp .ig-h2 { font-size: clamp(28px, 3.4vw, 42px); }
.ig-resp > h3 {
    padding-bottom: var(--ds-space-3);
    border-bottom: var(--ds-border-width) solid currentColor;
    font-size: var(--ds-size-h3);
    letter-spacing: -.005em;
}
.ig-resp--ours > h3 { border-bottom-color: var(--ds-blue); }
.ig-resp--theirs > h3 { border-bottom-color: var(--ds-line-strong); }
.ig-resp .ig-ticks > li { font-size: var(--ds-size-body); line-height: var(--ds-lh-body); }
.ig-resp--ours { padding: var(--ds-space-7); }

@media (min-width: 768px) {
    body:has(.ig-hero--split.is-svc) .ig-steps .ig-steps-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--ds-space-7) var(--ds-space-8);
    }
    body:has(.ig-hero--split.is-svc) .ig-step {
        padding-left: var(--ds-space-8);
        padding-top: 0;
    }
    body:has(.ig-hero--split.is-svc) .ig-step::before { display: none; }
    body:has(.ig-hero--split.is-svc) .ig-step-no {
        left: 0;
        top: -6px;
        width: auto;
        height: auto;
        background: none;
        border-radius: 0;
        color: var(--ds-blue-100);
        font-size: 40px;
        line-height: 1;
        font-variant-numeric: tabular-nums;
    }
}

.ig-bound--after {
    padding: var(--ds-space-7);
    background: var(--ds-navy);
    border-left: 0;
    border-radius: var(--ds-radius-m);
    color: var(--ds-surface);
}
.ig-bound--after > h3 { color: var(--ds-surface); }
.ig-bound--after > p { color: #cfe0ff; font-size: 17px; line-height: 1.65; }
.ig-bound--before > h3 { padding-bottom: var(--ds-space-3);
    border-bottom: var(--ds-border-width) solid var(--ds-line-strong); }

body:has(.is-svc) .ig-svc-role .ig-why-item h3 { font-size: var(--ds-size-h3); }
body:has(.is-svc) .ig-svc-role .ig-why-item p { font-size: 17px; line-height: 1.65; }
@media (min-width: 992px) {
    body:has(.is-svc) .ig-svc-role .ig-why-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

body:has(.is-svc) .ig-page-form { background: var(--ds-surface-alt); }
body:has(.is-svc) .ig-page-form .knowing-1-title {
    font-size: clamp(20px, 2.4vw, 30px);
    line-height: 1.2;
    letter-spacing: .01em;
    font-weight: var(--ds-weight-bold);
    color: var(--ds-navy);
}
body:has(.is-svc) .ig-page-form .knowing-1-under-title {
    margin-top: var(--ds-space-4);
    max-width: 46ch;
    font-size: 17px;
    line-height: 1.65;
    color: var(--ds-ink-70);
}
body:has(.is-svc) .ig-page-form .pre-inner-page-form [class*="offset-"] { margin-left: 0; }
body:has(.is-svc) .ig-page-form .pre-inner-page-form > .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
}
body:has(.is-svc) .ig-page-form .pre-inner-page-form {
    padding: clamp(24px, 3vw, 36px);
    background: var(--ds-surface);
    border: var(--ds-border-width) solid var(--ds-line);
    border-radius: var(--ds-radius-m);
    box-shadow: 0 18px 44px rgba(10, 42, 94, .10);
}
body:has(.is-svc) .ig-page-form .inner-contact-form .row { margin-bottom: 0; }
body:has(.is-svc) .ig-page-form .inner-contact-form .row + .row { margin-top: var(--ds-space-3); }
body:has(.is-svc) .ig-page-form .inner-contact-form input {
    width: 100%;
    height: 54px;
    margin-bottom: 0;
    padding-inline: var(--ds-space-4);
    border-radius: var(--ds-radius-s);
    font-size: 16px;
}
body:has(.is-svc) .ig-page-form .inner-contact-form .theme-button {
    width: 100%;
    height: 54px;
    border-radius: var(--ds-radius-s);
    font-size: 16px;
    letter-spacing: .02em;
}
@media (min-width: 768px) {

    body:has(.is-svc) .ig-page-form [class*="flex-row"] { align-items: center; }
    body:has(.is-svc) .ig-page-form .knowing-1 { padding-right: var(--ds-space-8); }
}
/* === ig:services:end ==================================================== */
/* === ig:industries ========================================================
   Round 3.6. The two industries whose facts came from the owner's own answers
   get a first screen and an editorial shape; the six whose data is a role list
   keep the text hero they have, because a photograph over an empty page is a
   worse page, not a better one. Scoped to body:has(.is-ind) — the marker the
   photographic hero carries — so nothing here reaches a landing that has not
   earned it.
   ======================================================================== */

body:has(.is-ind) .ig-hero--photo .ds-btn--tertiary,
body:has(.is-ind) .ig-hero--photo .ig-cta-secondary {
    display: inline-flex;
    align-items: center;
    padding: 13px 26px;
    border: 2px solid rgba(255, 255, 255, .75);
    border-radius: var(--ds-radius-s);
    color: var(--ds-surface);
    font-weight: var(--ds-weight-bold);
    text-decoration: none;
}
body:has(.is-ind) .ig-hero--photo .ds-btn--tertiary:hover,
body:has(.is-ind) .ig-hero--photo .ig-cta-secondary:hover {
    background: rgba(255, 255, 255, .14);
    color: var(--ds-surface);
}
body:has(.is-ind) .ig-hero--photo .ig-cta-phone { color: #dbe6fa; }

body:has(.is-ind) .ig-cta-band .ds-btn--tertiary,
body:has(.is-ind) .ig-cta-band .ig-cta-secondary {
    display: inline-flex;
    align-items: center;
    padding: 13px 26px;
    border: 2px solid rgba(255, 255, 255, .55);
    border-radius: var(--ds-radius-s);
    color: var(--ds-surface);
    font-weight: var(--ds-weight-bold);
    text-decoration: none;
}
body:has(.is-ind) .ig-cta-band .ds-btn--tertiary:hover,
body:has(.is-ind) .ig-cta-band .ig-cta-secondary:hover {
    background: rgba(255, 255, 255, .14);
    color: var(--ds-surface);
}
body:has(.is-ind) .ig-hero--photo h1 { font-size: clamp(32px, 4.4vw, 50px); }

body:has(.is-ind) .ig-hero--photo { min-height: 72vh; }
@media (min-width: 768px) {
    body:has(.is-ind) .ig-hero--photo { min-height: 56vh; }
}

body:has(.is-ind) .ig-ind-challenges .ds-card,
body:has(.is-ind) .ig-ind-scope .ds-card,
body:has(.is-ind) .ig-ind-reqs .ds-card,
body:has(.is-ind) .ig-ind-compliance .ds-card {
    background: none;
    border: 0;
    border-top: 2px solid var(--ds-blue-100);
    border-radius: 0;
    box-shadow: none;
    padding: var(--ds-space-4) 0 0;
}
body:has(.is-ind) .ig-ind-challenges .ds-card:hover,
body:has(.is-ind) .ig-ind-scope .ds-card:hover,
body:has(.is-ind) .ig-ind-reqs .ds-card:hover,
body:has(.is-ind) .ig-ind-compliance .ds-card:hover { transform: none; box-shadow: none; }
body:has(.is-ind) .ig-ind-challenges .ds-card h3,
body:has(.is-ind) .ig-ind-scope .ds-card h3,
body:has(.is-ind) .ig-ind-reqs .ds-card h3,
body:has(.is-ind) .ig-ind-compliance .ds-card h3 {
    margin: var(--ds-space-2) 0 var(--ds-space-2);
    font-size: var(--ds-size-h3);
    line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}

body:has(.is-ind) .ig-ind-challenges .ig-h2,
body:has(.is-ind) .ig-ind-scope .ig-h2,
body:has(.is-ind) .ig-ind-reqs .ig-h2,
body:has(.is-ind) .ig-ind-roles .ig-h2 { text-align: left; }

body:has(.is-ind) .ig-ind-challenges,
body:has(.is-ind) .ig-ind-roles,
body:has(.is-ind) .ig-ind-certs,
body:has(.is-ind) .ig-ind-steps,
body:has(.is-ind) .ig-ind-compliance { background: var(--ds-surface-alt); }
body:has(.is-ind) .ig-ind-scope,
body:has(.is-ind) .ig-ind-reqs,
body:has(.is-ind) .ig-ind-models,
body:has(.is-ind) .ig-ind-support,
body:has(.is-ind) .ig-faq,
body:has(.is-ind) .ig-ind-other { background: var(--ds-surface); }

body:has(.is-ind) .ig-role {
    border: var(--ds-border-width) solid var(--ds-line);
    border-left: 3px solid var(--ds-blue);
    border-radius: var(--ds-radius-s);
    box-shadow: none;
    padding: var(--ds-space-4) var(--ds-space-5);
    font-weight: var(--ds-weight-bold);
    color: var(--ds-navy);
}
body:has(.is-ind) .ig-role:hover { transform: none; box-shadow: none; border-color: var(--ds-line-strong); }

body:has(.is-ind) .ig-section { padding-block: var(--ds-space-6); }
@media (min-width: 992px) {
    body:has(.is-ind) .ig-section { padding-block: var(--ds-space-8); }
    body:has(.is-ind) .ig-hero--photo { min-height: 60vh; }
}
/* === ig:industries:end ================================================== */

/* === ig:order:start ===================================================== */

.ig-order-head { padding-bottom: 0; }
.ig-order-head h1 {
    font-size: clamp(26px, 2.8vw, 40px);
    line-height: 1.15;
    margin: 0 0 var(--ds-space-3);
}
.ig-order-head .ig-lead { max-width: 62ch; margin-bottom: var(--ds-space-3); }
.ig-order-head .ig-ind-kraz { margin: 0; }

.order-form .order-form-title {

    text-align: left !important;
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
    letter-spacing: .1em;
    font-weight: var(--ds-weight-bold);
    color: var(--ds-blue);
    padding-top: var(--ds-space-6);
    padding-bottom: var(--ds-space-2);
    border-bottom: 1px solid var(--ds-blue-100);
    margin-bottom: var(--ds-space-4);
}
.order-form .order-form-title:first-of-type { padding-top: 0; }

.ig-page-form .container .container { padding-left: 0; padding-right: 0; width: 100%; max-width: none; }
.ig-page-form .order-form .row { --bs-gutter-x: 0; }
.ig-page-form .order-form .row > [class*="col-"] { padding-left: 0; padding-right: 0; }

.ig-page-form .order-form .row > [class*="col-"] + [class*="col-"] { padding-left: var(--ds-space-4); }

.ig-page-form .order-form .row > [class*="col-10"] {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}
/* === ig:order:end ======================================================= */

/* === ig:forms-radius:start ============================================== */

.contact-form input[type="text"],
.main-contact-form input[type="text"],
.uslugi-form input[type="text"],
.uslugi-form-1 input[type="text"],
.inner-contact-form input[type="text"],
.order-form input[type="text"],
.order-form textarea,
.order-form select,
.order-form .jcf-select.jcf-unselectable,
.partner-form input[type="text"],
.partner-form textarea,
.partner-form select,
.partner-form .jcf-select.jcf-unselectable,

.contact-form input[type="email"], .contact-form input[type="tel"],
.main-contact-form input[type="email"], .main-contact-form input[type="tel"],
.inner-contact-form input[type="email"], .inner-contact-form input[type="tel"],
.order-form input[type="email"], .order-form input[type="tel"],
.order-form input[type="file"],
.partner-form input[type="email"], .partner-form input[type="tel"] {
    border-radius: var(--ds-radius-s);
}
/* === ig:forms-radius:end ================================================ */

/* === ig:partner:start =================================================== */

.ig-pp-summary {
    align-self: center;
    border: 1px solid var(--ds-line);
    border-radius: var(--ds-radius-m);
    background: var(--ds-blue-50);
    padding: var(--ds-space-5);
}
.ig-pp-summary ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: pp;
}
.ig-pp-summary li {
    counter-increment: pp;
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: var(--ds-space-3);
    align-items: baseline;
    padding: var(--ds-space-3) 0;
    border-top: 1px solid var(--ds-blue-100);
}
.ig-pp-summary li:first-child { border-top: 0; padding-top: 0; }
.ig-pp-summary li:last-child { padding-bottom: 0; }
.ig-pp-summary li::before {
    content: counter(pp);
    grid-row: span 2;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--ds-blue);
    color: var(--ds-surface);
    font-size: var(--ds-size-small);
    font-weight: var(--ds-weight-bold);
    line-height: 26px;
    text-align: center;
}
.ig-pp-who {
    font-weight: var(--ds-weight-bold);
    color: var(--ds-navy);
}
.ig-pp-what {
    grid-column: 2;
    color: var(--ds-ink-70);
}

body:has(.is-pp) .ig-hero-grid {
    align-items: center;
}
@media (min-width: 992px) {
    body:has(.is-pp) .ig-hero-grid { grid-template-columns: 1.35fr 1fr; }
}

body:has(.is-pp) .ig-ind-hero { min-height: 0; }
/* === ig:partner:end ===================================================== */

.ig-ind-hero.is-vac.ig-hero--split {
    padding-top: var(--ds-space-6);
    padding-bottom: var(--ds-space-6);
}

.ig-ind-hero.is-vac .ig-fact.is-pay dd {
    font-size: 26px; line-height: 1.15; letter-spacing: -.01em;
}

.ig-vac-detail { padding-top: var(--ds-space-6); }
.ig-vac-detail .ds-card + .ds-card { margin-top: var(--ds-space-5); }

.ig-vac-block { padding-block: 21px; }
.ig-vac-detail .ds-card h2 {
    margin: 0 0 var(--ds-space-3);
    font-size: var(--ds-size-h3); line-height: var(--ds-lh-h3);
    color: var(--ds-navy);
}
.ig-vac-detail .ig-ticks > li { color: var(--ds-ink-70); }

.ig-vac-block .ig-ticks { max-width: 68ch; }

.ig-vac-block.is-conditions {
    background: var(--ds-blue-50);
    border-color: var(--ds-blue-100);
}

@media (min-width: 992px) {
    .ig-vac-block.is-conditions .ig-ticks {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: var(--ds-space-6); align-items: start; max-width: none;
    }
}

.ig-vac-detail + .ig-vac-gallery,
.ig-vac-gallery + .ig-vac-video,
.ig-vac-detail + .ig-vac-video { padding-top: 0; }

.ig-vac-gallery .ig-h2, .ig-vac-video .ig-h2 {
    text-align: left;
    font-size: clamp(20px, 2vw, 26px);
    margin-bottom: var(--ds-space-4);
}
.ig-vac-shots {
    display: grid; gap: var(--ds-space-4);
    grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
}

.ig-shot {
    display: block; overflow: hidden; border-radius: var(--ds-radius-m);
    aspect-ratio: 16 / 10;
}
.ig-vac-shots img {
    display: block; width: 100%; height: 100%; object-fit: cover;

}

@media (hover: hover) and (pointer: fine) {
    .ig-shot:hover img { transform: scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
    .ig-vac-shots img { transition: none; }
    .ig-shot:hover img { transform: none; }
}
.ig-vac-video video {
    width: 100%; max-width: 760px; height: auto;
    border-radius: var(--ds-radius-m); background: var(--ds-ink);
}

.ig-vac-apply { padding-top: var(--ds-space-5); padding-bottom: var(--ds-space-5); }
.ig-vac-apply-card {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: var(--ds-space-4);
    padding: var(--ds-space-5) var(--ds-space-6);
    border-radius: var(--ds-radius-l, var(--ds-radius-m));
    background: var(--ds-surface); border: var(--ds-border-width) solid var(--ds-line);
}

.ig-vac-apply-lead {
    margin: 0; max-width: 64ch;
    font-size: var(--ds-size-lead, var(--ds-size-body)); color: var(--ds-ink);
}
.ig-vac-apply .ds-btn { padding: 14px 28px; font-size: var(--ds-size-body); }
@media (max-width: 575px) {

    .ig-vac-apply-card { padding: var(--ds-space-5); }
}

.ig-vac-tail { padding-top: var(--ds-space-4); }
.ig-vac-back { margin: 0; font-size: var(--ds-size-small); }
.ig-vac-back a { color: var(--ds-blue); font-weight: var(--ds-weight-bold); text-decoration: none; }
.ig-vac-back a:hover { text-decoration: underline; }

@media (min-width: 992px) {
    .ig-ind-hero.is-vac .ig-vac-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 360px) and (max-width: 575px) {
    .ig-ind-hero.is-vac .ig-vac-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

html.reveal-ready [data-reveal] {
    opacity: 0;
    transition-property: opacity, transform;
    transition-timing-function: var(--ds-ease);
    transition-duration: var(--ds-dur-reveal);
}

html.reveal-ready [data-reveal="head"] {
    transform: translate3d(0, 14px, 0);
    transition-duration: var(--ds-dur-reveal);
}
html.reveal-ready [data-reveal="card"] {
    transform: translate3d(0, 22px, 0);
    transition-duration: 440ms;
}
html.reveal-ready [data-reveal="media"] {
    transform: scale(.985);
    transition-duration: 640ms;
    transition-timing-function: var(--ds-ease-entrance);
}
html.reveal-ready [data-reveal="cta"] {
    transform: translate3d(0, 24px, 0);
    transition-duration: 620ms;
    transition-timing-function: var(--ds-ease-entrance);
}

html.reveal-ready [data-reveal-step="1"] { transition-delay: calc(var(--ds-stagger) * 1); }
html.reveal-ready [data-reveal-step="2"] { transition-delay: calc(var(--ds-stagger) * 2); }
html.reveal-ready [data-reveal-step="3"] { transition-delay: calc(var(--ds-stagger) * 3); }
html.reveal-ready [data-reveal-step="4"] { transition-delay: calc(var(--ds-stagger) * 4); }
html.reveal-ready [data-reveal-step="5"] { transition-delay: calc(var(--ds-stagger) * 5); }
html.reveal-ready [data-reveal="card"][data-reveal-step="0"] { transition-delay: 100ms; }
html.reveal-ready [data-reveal="card"][data-reveal-step="1"] { transition-delay: calc(100ms + var(--ds-stagger) * 1); }
html.reveal-ready [data-reveal="card"][data-reveal-step="2"] { transition-delay: calc(100ms + var(--ds-stagger) * 2); }
html.reveal-ready [data-reveal="card"][data-reveal-step="3"] { transition-delay: calc(100ms + var(--ds-stagger) * 3); }
html.reveal-ready [data-reveal="card"][data-reveal-step="4"] { transition-delay: calc(100ms + var(--ds-stagger) * 4); }
html.reveal-ready [data-reveal="card"][data-reveal-step="5"] { transition-delay: calc(100ms + var(--ds-stagger) * 5); }
html.reveal-ready [data-reveal="media"][data-reveal-step="0"] { transition-delay: 80ms; }
html.reveal-ready [data-reveal="media"][data-reveal-step="1"] { transition-delay: calc(80ms + var(--ds-stagger) * 1); }
html.reveal-ready [data-reveal="media"][data-reveal-step="2"] { transition-delay: calc(80ms + var(--ds-stagger) * 2); }

html.reveal-ready [data-reveal="media"][data-reveal-step="3"] { transition-delay: calc(80ms + var(--ds-stagger) * 3); }
html.reveal-ready [data-reveal="media"][data-reveal-step="4"] { transition-delay: calc(80ms + var(--ds-stagger) * 4); }
html.reveal-ready [data-reveal="media"][data-reveal-step="5"] { transition-delay: calc(80ms + var(--ds-stagger) * 5); }

html.reveal-ready [data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

html.reveal-ready [data-reveal].is-instant { transition: none; }

html.reveal-ready [data-reveal].is-quick {
    transition-delay: 0ms;
    transition-duration: 300ms;
}

@keyframes ig-hero-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ig-hero-rise {
    from { transform: translate3d(0, var(--ds-hero-shift), 0); }
    to   { transform: none; }
}

@keyframes ig-hero-settle {
    from { transform: scale(1.02); }
    to   { transform: none; }
}

:is(.ig-hero--photo > .container,
    .ig-hero--split .ig-hero-copy,
    .ig-apply-head > .container,
    .ig-ind-hero.is-cand > .container) > * {

    animation: ig-hero-fade 280ms var(--ds-ease) backwards,
               ig-hero-rise 520ms var(--ds-ease-entrance) backwards;
}

:is(.ig-hero--photo > .container,
    .ig-hero--split .ig-hero-copy,
    .ig-apply-head > .container,
    .ig-ind-hero.is-cand > .container) > .ig-hero-brow {
    animation-delay: 0ms;
    --ds-hero-shift: 8px;
}
:is(.ig-hero--photo > .container,
    .ig-hero--split .ig-hero-copy,
    .ig-apply-head > .container,
    .ig-ind-hero.is-cand > .container) > h1 {
    animation-delay: 60ms;
    animation-duration: 300ms, 560ms;
}
:is(.ig-hero--photo > .container,
    .ig-hero--split .ig-hero-copy,
    .ig-apply-head > .container,
    .ig-ind-hero.is-cand > .container) > .ig-lead {
    animation-delay: 140ms;
    --ds-hero-shift: 12px;
}
:is(.ig-hero--photo > .container,
    .ig-hero--split .ig-hero-copy,
    .ig-apply-head > .container,
    .ig-ind-hero.is-cand > .container) > .ig-ind-actions {
    animation-delay: 210ms;
    --ds-hero-shift: 10px;
}
:is(.ig-hero--photo > .container,
    .ig-hero--split .ig-hero-copy,
    .ig-apply-head > .container,
    .ig-ind-hero.is-cand > .container) > .ig-hero-proof {
    animation-delay: 270ms;
    --ds-hero-shift: 8px;
}

@media (min-width: 992px) {
    .ig-hero--photo > .ig-hero-bg {
        animation: ig-hero-settle 900ms var(--ds-ease-entrance) backwards;
    }
}

.ig-hero--split .ig-hero-media {
    animation: ig-hero-fade 340ms var(--ds-ease) backwards,
               ig-hero-rise 760ms var(--ds-ease-entrance) backwards;
    animation-delay: 170ms;
}

.ig-hero--photo {

    overflow: hidden;
    overflow: clip;
}

.ds-card,
.ig-step,
.ig-why-item,
.ig-vac-card,
.ig-trust-card,
.ig-ind-tile {

    transition: transform 150ms var(--ds-ease),
                box-shadow 150ms var(--ds-ease),
                border-color 150ms var(--ds-ease);
}
@media (hover: hover) and (pointer: fine) {

    .ds-card:hover,
    .ig-step:hover,
    .ig-trust-card:hover,
    .ig-vac-card:hover { transition-duration: 200ms; }

    .ds-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--ds-shadow-m);
    }

    .ds-card:not(.ds-card--info):not(.ds-card--ok):not(.ds-card--warn):not(.ds-card--err):hover {
        border-color: var(--ds-blue-100);
    }
    .ds-card--link:hover,
    .ig-ind-tile:hover {
        transform: translateY(-4px);
        box-shadow: var(--ds-shadow-m);
        border-color: var(--ds-blue-100);
    }

    .ig-vac-card:hover {
        transform: translateY(-3px);
        box-shadow: var(--ds-shadow-m);
        border-color: var(--ds-blue-100);
    }

    .ig-vac-card:hover .ig-vac-media img { transform: scale(1.04); }

    .ig-vac-card.is-closed:hover {
        transform: none;
        box-shadow: none;
        border-color: var(--ds-line);
    }
    .ig-vac-card.is-closed:hover .ig-vac-media img { transform: none; }

    .ig-step:hover {
        transform: translateY(-2px);
        box-shadow: var(--ds-shadow-m);
        border-color: var(--ds-blue-100);
    }
    .ig-why-item:hover {
        transform: translateY(-2px);
    }
}

.ds-btn {

    transition: transform 170ms var(--ds-ease),
                background var(--ds-dur-fast) var(--ds-ease),
                border-color var(--ds-dur-fast) var(--ds-ease),
                color var(--ds-dur-fast) var(--ds-ease),
                box-shadow var(--ds-dur-fast) var(--ds-ease);
}
@media (hover: hover) and (pointer: fine) {
    .ds-btn--primary:hover,
    .ds-btn--inverse:hover { transform: translateY(-1px); box-shadow: var(--ds-shadow-m); }

    .ds-btn--secondary:hover { transform: translateY(-1px); }
}
.ds-btn:active {
    transform: translateY(1px) scale(.99);
    box-shadow: none;
    transition-duration: var(--ds-dur-press);
}

@media (hover: hover) and (pointer: fine) {
    .ds-btn--primary[class*="send"]:hover {
        transform: translateY(-1px);
        box-shadow: var(--ds-shadow-m);
    }
}
.ds-btn[class*="send"]:active {
    transform: translateY(1px) scale(.99);
    box-shadow: none;
    transition-duration: var(--ds-dur-press);
}

.page-numbers {
    transition: transform 170ms var(--ds-ease),
                border-color var(--ds-dur-fast) var(--ds-ease),
                color var(--ds-dur-fast) var(--ds-ease),
                background var(--ds-dur-fast) var(--ds-ease);
}
.ig-lang-opt {
    transition: transform 170ms var(--ds-ease),
                color var(--ds-dur-fast) var(--ds-ease),
                background var(--ds-dur-fast) var(--ds-ease);
}
.page-numbers:active { transform: translateY(1px); transition-duration: var(--ds-dur-press); }
.ig-lang-opt:active { transform: scale(.96); transition-duration: var(--ds-dur-press); }

.ig-hero--photo .ig-cta-phone:hover { color: var(--ds-on-dark); }

.ig-filter-box { transition: color var(--ds-dur-fast) var(--ds-ease); }
.ig-cert,
.ig-role { transition: border-color var(--ds-dur-base) var(--ds-ease); }

.ig-partner .ig-partner-icon { transition: transform var(--ds-dur-base) var(--ds-ease); }
@media (hover: hover) and (pointer: fine) {
    .ig-partner:hover .ig-partner-icon { transform: translateX(2px); }
}

.ds-btn:focus-visible { transition: none; }

.ig-vac-media img,
.ig-vac-shots img {
    transition: transform var(--ds-dur-slow) var(--ds-ease);
}

.ig-header { transition: box-shadow var(--ds-dur-base) var(--ds-ease); }

.ig-nav-item { position: relative; }
.ig-nav-item > a::after {
    content: "";
    position: absolute;
    left: var(--ds-space-2);
    right: var(--ds-space-2);
    bottom: 4px;
    height: 2px;
    border-radius: 2px;
    background: var(--ds-blue);
    transform: scaleX(0);
    transition: transform var(--ds-dur-base) var(--ds-ease);
}
@media (min-width: 1200px) {

    .ig-nav-item > a::after { left: var(--ds-space-3); right: var(--ds-space-3); }
}
@media (hover: hover) and (pointer: fine) {
    .ig-nav-item > a:hover::after { transform: scaleX(1); }
}
.ig-nav-item.is-current > a::after { transform: scaleX(1); }

@media (min-width: 992px) {
    .ig-has-sub > a .ig-caret { transition: transform var(--ds-dur-base) var(--ds-ease-emphasis); }
    .ig-has-sub:hover > a .ig-caret,
    .ig-has-sub:focus-within > a .ig-caret { transform: rotate(180deg); }
}

.ig-has-sub:hover > .ig-subnav { transition-delay: 90ms; }
.ig-has-sub:focus-within > .ig-subnav { transition-delay: 0s; }

@keyframes ig-faq-open {
    from { opacity: 0; transform: translate3d(0, -4px, 0); }
    to   { opacity: 1; transform: none; }
}
.ig-faq-item[open] .ig-faq-answer {

    animation: ig-faq-open var(--ds-dur-base) var(--ds-ease) both;
}
.ig-faq-item summary { transition: color var(--ds-dur-fast) var(--ds-ease); }
.ig-faq-item summary::after { transition: transform var(--ds-dur-base) var(--ds-ease-emphasis); }

.ig-faq-item summary:active { color: var(--ds-blue); }

.ig-faq-item { interpolate-size: allow-keywords; }
.ig-faq-item::details-content {
    height: 0;
    overflow: clip;
    transition: height var(--ds-dur-base) var(--ds-ease),
                content-visibility var(--ds-dur-base) allow-discrete;
}
.ig-faq-item[open]::details-content { height: auto; }

.ig-ind-hero,
.ig-hero {
    position: relative;
    background-image:
        radial-gradient(60% 80% at 12% 0%, rgba(37, 99, 235, .07), transparent 70%),
        radial-gradient(50% 70% at 92% 8%, rgba(10, 42, 94, .05), transparent 72%);
    background-repeat: no-repeat;
}

.ig-cta-band {
    background-color: var(--ds-navy);
    background-image:
        radial-gradient(70% 120% at 50% 0%, rgba(37, 99, 235, .16), transparent 70%),
        linear-gradient(120deg, var(--ds-navy) 0%, var(--ds-navy-700) 100%);
    background-repeat: no-repeat;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        transition-delay: 0ms !important;
        scroll-behavior: auto !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    html.reveal-ready [data-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .ds-card, .ig-step, .ig-why-item, .ig-vac-card, .ig-ind-tile,
    .ds-btn, .ig-vac-media img, .ig-vac-shots img,
    .ig-header, .ig-subnav, .ig-trust-card,
    .page-numbers, .ig-lang-opt,
    .ig-nav-item > a::after, .ig-faq-item summary,
    .ig-filter-box, .ig-cert, .ig-role,
    .ig-has-sub > a .ig-caret, .ig-m-toggle .ig-caret,
    .ig-partner .ig-partner-icon,
    .ig-footer-social img, .ig-footer-social a,
    .ig-faq-item::details-content,
    .ig-faq-item summary::after { transition: none; }
    .ds-card:hover, .ds-card--link:hover, .ig-ind-tile:hover,
    .ig-step:hover, .ig-why-item:hover, .ig-vac-card:hover,
    .ig-vac-card.is-urgent:hover, .ig-trust-card:hover,
    .ds-btn--primary:hover, .ds-btn--inverse:hover,
    .ds-btn--secondary:hover, .ds-btn--primary[class*="send"]:hover,
    .ig-has-sub:hover > a .ig-caret, .ig-has-sub:focus-within > a .ig-caret,
    .ig-partner:hover .ig-partner-icon,
    .ig-footer-social a:hover img,
    .ig-subnav, .ig-has-sub:hover > .ig-subnav,
    .ig-has-sub:focus-within > .ig-subnav,
    .page-numbers:active, .ig-lang-opt:active,
    .ds-btn[class*="send"]:active,
    .ds-btn:active { transform: none; }

    .theme-button-variant-1:hover, .theme-button-variant-2:hover,
    .send_from:hover, .send_from_main_contact:hover, .send_from_uslugi:hover,
    .send_from_uslugi-1:hover, .send_from_inner_contact:hover,
    .send-order-form-button:hover, .send-partner-form-button:hover,
    .send-vacancy-form-button:hover,
    .footer img[src*="fb"]:hover, .footer img[src*="lin"]:hover,
    .theme-button:active, .vacancy-item:hover { transform: none; }
    .ig-vac-card:hover .ig-vac-media img,
    .ig-vac-media:hover img, .ig-shot:hover img { transform: none; }
    .ig-faq-item[open] .ig-faq-answer { animation: none; }

    html { scroll-behavior: auto; }
}

@media print {
    html.reveal-ready [data-reveal] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    *, *::before, *::after { animation: none !important; }

    .ig-faq-item::details-content {
        transition: none !important;
        height: auto !important;
        overflow: visible !important;
    }
}

.ig-consent {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    background: var(--ds-surface);
    border-top: var(--ds-border-width, 1px) solid var(--ds-line);
    box-shadow: 0 -8px 32px rgba(10, 42, 94, .12);
    padding: var(--ds-space-5, 20px);
    max-height: 90vh;
    overflow-y: auto;
}
.ig-consent-in {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--ds-space-3, 12px);
}
.ig-consent-title {
    margin: 0;
    font-family: var(--ds-font);
    font-size: var(--ds-size-lead);
    line-height: var(--ds-lh-lead);
    font-weight: var(--ds-weight-bold);
    color: var(--ds-ink);
}
.ig-consent-body {
    margin: 0;
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
    color: var(--ds-ink);
    max-width: 68ch;
}
.ig-consent-cats {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: var(--ds-space-2, 8px) var(--ds-space-5, 20px);
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
    color: var(--ds-ink);
}
.ig-consent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ds-space-3, 12px);
}

.ig-consent-btn { min-width: 10rem; }
.ig-consent-more {
    margin: 0;
    font-size: var(--ds-size-small);
    line-height: var(--ds-lh-small);
}

.ig-consent-reopen {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    text-decoration: underline;
    cursor: pointer;
}
@media (max-width: 575.98px) {
    .ig-consent { padding: var(--ds-space-4, 16px); }
    .ig-consent-actions { flex-direction: column; }
    .ig-consent-btn { width: 100%; min-width: 0; }
}
