.pg-filters, .pg-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.pg-filters input, .pg-filters select, .pg-form input, .pg-form textarea, .pg-form select {
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid var(--nx-line);
    background: #101218;
    color: var(--nx-text);
    box-shadow: 0 1px 0 rgba(255,255,255,.045) inset, 0 10px 28px rgba(0,0,0,.2);
    transition: border-color 180ms ease, box-shadow 220ms ease, background 180ms ease;
}
.pg-filters input, .pg-filters select { flex: 1 1 180px; width: auto; }
.pg-form input, .pg-form textarea, .pg-form select { width: 100%; }
.pg-form textarea { min-height: 140px; resize: vertical; }
.pg-form :is(input, textarea, select):focus {
    outline: none;
    border-color: rgba(255,255,255,.28);
    box-shadow: 0 0 0 3px rgba(255,255,255,.055), 0 16px 42px var(--nx-glow-a);
}
.pg-filters input { flex: 1 1 220px; }
.pg-chip, .pg-tag {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--nx-line);
    color: var(--nx-muted);
    font-size: 13px;
}
.pg-chip.is-active, .pg-tag { color: #fff; background: rgba(255, 255, 255, 0.06); }

.pg-layout { display: grid; grid-template-columns: 1.4fr 0.6fr; gap: 18px; align-items: start; }
.pg-grid, .pg-cards, .pg-steps { display: grid; gap: 14px; }
.pg-grid { grid-template-columns: repeat(2, 1fr); }
.pg-cards { grid-template-columns: repeat(3, 1fr); }
.pg-steps { grid-template-columns: repeat(4, 1fr); }

.pg-card, .pg-side, .pg-panel {
    border-radius: 22px;
    border: 1px solid var(--nx-line);
    background: #101218;
    overflow: hidden;
}
.pg-card img, .pg-feature img, .pg-side-item img { width: 100%; object-fit: cover; background: #0d0f14; }
.pg-card img { height: 170px; display: block; }
.pg-card div, .pg-side, .pg-panel, .pg-feature-copy { padding: 16px 18px 18px; }
.pg-card h2, .pg-card h3, .pg-side h2, .pg-side h3 { margin: 6px 0; letter-spacing: -0.03em; }
.pg-card p, .pg-side p, .pg-meta, .pg-note { margin: 0; color: var(--nx-muted); font-size: 14px; }
.pg-card a, .pg-side a { color: #fff; font-weight: 600; }
.pg-meta { display: flex; gap: 8px; flex-wrap: wrap; font-size: 12px; }

.pg-feature {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 0;
    margin-bottom: 22px;
    border-radius: 26px;
    border: 1px solid var(--nx-line);
    background: #101218;
    overflow: hidden;
    box-shadow: 0 30px 84px rgba(0,0,0,.44), 0 14px 52px var(--nx-glow-a);
}
.pg-feature img { height: 100%; min-height: 240px; }
.pg-feature h2 { margin: 8px 0; font-size: clamp(26px, 3vw, 36px); letter-spacing: -0.04em; }
.pg-feature p { color: var(--nx-muted); }

.pg-side { display: grid; gap: 14px; padding: 0; background: transparent; border: 0; }
.pg-side article { padding: 16px; border-radius: 20px; border: 1px solid var(--nx-line); background: #101218; }
.pg-side-item { display: grid; grid-template-columns: 72px 1fr; gap: 10px; margin-top: 12px; }
.pg-side-item img { height: 56px; border-radius: 10px; }
.pg-side-item a { font-weight: 600; font-size: 14px; }

.pg-prose { color: var(--nx-muted); font-size: 16px; line-height: 1.7; }
.pg-prose h2, .pg-prose h3, .pg-prose h4, .pg-prose strong, .pg-prose .lead, .pg-prose .magenta { color: var(--nx-text); }
.pg-prose .container, .pg-prose .row, .pg-prose [class*="col-"] { width: auto; max-width: none; padding: 0; margin: 0; }
.pg-prose h2 { margin: 28px 0 8px; font-size: 28px; letter-spacing: -0.04em; }
.pg-prose h3 { margin: 22px 0 8px; font-size: 20px; }
.pg-prose a { color: #fff; }
.pg-prose img, .pg-prose iframe, .pg-prose video { max-width: 100%; border-radius: 16px; }
.pg-prose ul { padding-left: 18px; }
.pg-prose { max-width: 70ch; }
.pg-prose blockquote {
    margin: 42px -8vw;
    padding: 28px 8vw;
    border-block: 1px solid var(--nx-line);
    color: var(--nx-text);
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1.15;
    letter-spacing: -.035em;
}

.pg-form { display: grid; gap: 14px; }
.pg-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pg-fields .full { grid-column: 1 / -1; }
.pg-form label { display: block; margin-bottom: 6px; font-size: 13px; color: var(--nx-muted); }
.pg-error { display: block; margin-top: 6px; color: #fca5a5; font-size: 13px; }
.pg-success { padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.08); }

.pg-progress { position: sticky; top: 0; z-index: 15; height: 3px; background: transparent; }
.pg-progress > div { height: 100%; width: 0; background: #fff; }
.pg-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pg-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 8px 0 22px; }
.pg-switch a { display: grid; gap: 4px; padding: 16px; border-radius: 18px; border: 1px solid var(--nx-line); background: #101218; }
.pg-switch a.is-active { background: #f4f4f5; color: #111; }
.pg-switch a.is-active span { color: #3f3f46; }
.pg-switch span { color: var(--nx-muted); font-size: 14px; }
.pg-cta { margin-top: 22px; padding: 24px; border-radius: 24px; border: 1px solid var(--nx-line); background: #101218; }
.pg-cta p { color: var(--nx-muted); }
.pg-pager { margin-top: 22px; }
.pg-pager nav, .pg-pager .pagination { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pg-pager a, .pg-pager span, .pg-pager .page-link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--nx-line);
    color: var(--nx-muted);
    background: #101218;
}
.pg-pager svg { width: 16px; height: 16px; }
.pg-pager [aria-current="page"] span, .pg-pager .active .page-link { color: #111; background: #fff; }
.pg-empty { color: var(--nx-muted); }

/* CMS blocks rendered inside the editorial shell. */
.nx main > :is(.about, .services, .portfolio-pro, .solutions-pro, .platform-pro, .seamless-pro, .contact-pro, .cookie-pro, .privacy-pro) {
    padding: var(--nx-space) 0;
}
.nx main .container { width: 100%; max-width: none; margin-inline: auto; padding-inline: 0; }
.nx main .row { display: grid; gap: 16px; margin: 0; }
.nx main [class*="col-"] { min-width: 0; padding: 0; }
.nx main .sectionTitle .lead {
    margin: 0 0 20px;
    color: var(--nx-text);
    font-size: var(--nx-title);
    line-height: .95;
    letter-spacing: -.055em;
}
.nx main .mb-4 {
    margin-bottom: 16px;
    padding: clamp(22px, 4vw, 46px);
    border: 1px solid var(--nx-line);
    border-radius: 24px;
    background: var(--nx-panel);
}
.nx main .mb-4 img { border-radius: 18px; }

/* Magazine river */
.nx-page--news .pg-grid { grid-template-columns: 1fr; }
.nx-page--news .pg-card {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    min-height: 220px;
    box-shadow:
        0 1px 0 rgba(255,255,255,.07) inset,
        0 26px 76px rgba(0,0,0,.43),
        -12px 16px 48px rgba(255,255,255,.025);
}
.nx-page--news .pg-card:nth-child(even) { grid-template-columns: 1.2fr .8fr; }
.nx-page--news .pg-card:nth-child(even) {
    box-shadow:
        0 1px 0 rgba(255,255,255,.07) inset,
        0 26px 76px rgba(0,0,0,.43),
        12px 16px 48px rgba(255,255,255,.02);
}
.nx-page--news .pg-card:nth-child(even) > a { order: 2; }
.nx-page--news .pg-card img { height: 100%; min-height: 220px; }
.nx-page--news .pg-card h3 { font-size: clamp(22px, 3vw, 34px); line-height: 1.03; }

/* Distinct long-form and system cards */
.nx-page--platform .pg-panel,
.nx-page--seamless .pg-panel,
.nx-page--about .pg-panel { min-height: 190px; }
.nx-page--platform .pg-cards > :first-child {
    background:
        radial-gradient(circle at 90% 10%, rgba(255,255,255,.12), transparent 35%),
        var(--nx-panel);
    box-shadow: 0 30px 88px rgba(0,0,0,.45), 0 18px 68px rgba(255,255,255,.045);
}
.nx-page--platform .pg-panel {
    background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
        var(--nx-panel);
    background-size: 24px 24px;
    box-shadow: 0 24px 72px rgba(0,0,0,.42), 0 12px 48px rgba(255,255,255,.027);
}
.nx-page--seamless .pg-panel {
    border-radius: 34px 10px 34px 10px;
    background:
        radial-gradient(circle at 88% 12%, rgba(255,255,255,.075), transparent 36%),
        var(--nx-panel);
    box-shadow: 0 25px 75px rgba(0,0,0,.43), 0 14px 52px rgba(255,255,255,.03);
}
.nx-page--seamless .pg-panel:nth-child(even) {
    background:
        radial-gradient(circle at 12% 88%, rgba(255,255,255,.05), transparent 38%),
        var(--nx-panel);
}
.ct-steps {
    display: grid;
    gap: 10px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}
.ct-steps li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid var(--nx-line);
    border-radius: 18px;
    background: rgba(16, 18, 24, .9);
    box-shadow: 0 16px 42px rgba(0, 0, 0, .28);
}
.ct-steps span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .06);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
}
.ct-steps h3 { margin: 0; font-size: 16px; letter-spacing: -.03em; }
.ct-steps p { margin: 3px 0 0; color: var(--nx-muted); font-size: 14px; }
.ct-panel {
    align-self: start;
    padding: clamp(22px, 3vw, 36px);
}
.ct-panel > h2 {
    margin: 0 0 8px;
    font-size: clamp(28px, 3vw, 40px);
    letter-spacing: -.045em;
    line-height: 1.05;
}
.ct-panel .pg-note { margin-bottom: 18px; }

.nx-page--contacts .pg-form input:focus,
.nx-page--contacts .pg-form textarea:focus {
    outline: 0;
    background: rgba(255,255,255,.06);
    box-shadow: 0 0 0 3px rgba(255,255,255,.075), 0 18px 52px rgba(255,255,255,.04);
}
.nx-page--contacts .pg-panel {
    background:
        radial-gradient(circle at 100% 0%, rgba(255,255,255,.075), transparent 34%),
        radial-gradient(circle at 0% 100%, rgba(255,255,255,.03), transparent 38%),
        var(--nx-panel);
    box-shadow: 0 38px 100px rgba(0,0,0,.5), 0 20px 74px rgba(255,255,255,.035);
}

.nx-page--about .pg-panel {
    box-shadow: 0 26px 76px rgba(0,0,0,.43), 0 14px 52px rgba(255,255,255,.025);
}

.nx-page--privacy-policy .pg-prose,
.nx-page--cookie .pg-prose,
.nx-page--job-application-privacy-notice .pg-prose {
    margin-inline: auto;
    padding: clamp(32px, 6vw, 74px);
    border: 1px solid var(--nx-line);
    border-radius: 28px;
    background:
        linear-gradient(120deg, rgba(255,255,255,.025), transparent 34%),
        var(--nx-panel);
    box-shadow: 0 34px 92px rgba(0,0,0,.46), 0 1px 0 rgba(255,255,255,.08) inset;
}

@media (max-width: 980px) {
    .pg-layout, .pg-feature, .pg-grid, .pg-cards, .pg-steps, .pg-fields, .pg-switch { grid-template-columns: 1fr; }
    .nx-page--news .pg-card,
    .nx-page--news .pg-card:nth-child(even) { grid-template-columns: 1fr; }
    .nx-page--news .pg-card:nth-child(even) > a { order: initial; }
    .pg-prose blockquote { margin-inline: 0; padding-inline: 20px; }
}
