

/* ---------- Design tokens ---------- */
:root {
    --nv-bg: #0b103f;
    --nv-surface: #171c4c;
    --nv-surface-2: #222754;
    --nv-border: rgba(176, 184, 226, 0.18);
    --nv-border-soft: rgba(176, 184, 226, 0.10);
    --nv-text: #ffffff;
    --nv-muted: #a8aecb;
    --nv-dim: #747b9e;
    --nv-container: 1220px;
    --nv-wide: 1460px;
    --nv-section-gap: 160px;
    --nv-section-gap-tablet: 112px;
    --nv-section-gap-mobile: 78px;
    --nv-content-gap: 64px;
    --nv-content-gap-tablet: 52px;
    --nv-content-gap-mobile: 40px;
    --nv-heading-weight: 600;
    --nv-card-heading-weight: 600;
}

/* ---------- Reset and page background ---------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: clip;
}

body {
    margin: 0 !important;
    overflow-x: clip;
    color: var(--nv-text);
    background-color: var(--nv-bg) !important;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.032) 1px, transparent 1px) !important;
    background-size: 50px 50px !important;
    font-family: "Inter", Arial, sans-serif;
}

.wp-site-blocks,
.wp-site-blocks > * {
    margin-top: 0;
}

.wp-site-blocks {
    padding-top: 0 !important;
}

a {
    text-underline-offset: 3px;
}


/* =========================================================
   HEADER — BALANCED CARD LAYOUT
   Current block structure:
   Header
   └── Contents
       ├── Custom HTML → logo
       └── Row
           ├── Navigation
           └── Buttons
   ========================================================= */

.wp-site-blocks > header.wp-block-template-part:first-child {
    margin-block-start: 0 !important;
}

header.wp-block-template-part {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 24px 14px !important;

    background: rgba(11, 16, 63, 0.92) !important;
    border: 0 !important;
    box-shadow: none !important;

    backdrop-filter: blur(18px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
}

body.admin-bar header.wp-block-template-part {
    top: 32px !important;
}

/* Remove any theme-generated gap above the header/card */
header.wp-block-template-part,
header.wp-block-template-part > *,
header.wp-block-template-part > * > * {
    margin-block-start: 0 !important;
}

/* Header card */
header.wp-block-template-part > .wp-block-group {
    width: min(1460px, 100%) !important;
    max-width: 1460px !important;
    min-height: 84px !important;

    margin: 0 auto !important;
    padding: 0 clamp(24px, 2.6vw, 42px) !important;

    display: grid !important;
    grid-template-columns:
        minmax(190px, 1fr)
        auto
        minmax(280px, 1fr) !important;
    align-items: center !important;
    column-gap: clamp(28px, 4vw, 70px) !important;

    background:
        linear-gradient(
            135deg,
            rgba(30, 36, 84, 0.96) 0%,
            rgba(20, 25, 72, 0.97) 58%,
            rgba(15, 20, 65, 0.98) 100%
        ) !important;

    border: 1px solid rgba(176, 184, 226, 0.20) !important;
    border-radius: 18px !important;

    box-shadow:
        0 14px 34px rgba(3, 6, 30, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

/* Flatten the Row wrapper so logo, nav and buttons become
   the three direct grid items of the header card. */
header.wp-block-template-part
> .wp-block-group
> .wp-block-group {
    display: contents !important;
}

/* Logo block: left */
header.wp-block-template-part
> .wp-block-group
> .wp-block-html {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: center !important;

    margin: 0 !important;
    padding: 0 !important;
}

.nvektor-brand {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;

    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;

    line-height: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.nvektor-brand-icon {
    display: block !important;
    width: 29px !important;
    height: 29px !important;
    max-width: 29px !important;
    max-height: 29px !important;

    object-fit: contain !important;
    flex: 0 0 29px !important;
}

.nvektor-brand-logo {
    display: block !important;
    width: auto !important;
    height: 27px !important;
    max-width: 140px !important;
    max-height: 27px !important;

    object-fit: contain !important;
    flex-shrink: 0 !important;
}

/* Navigation: true centre column */
header.wp-block-template-part nav,
header.wp-block-template-part .wp-block-navigation {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;

    margin: 0 !important;
    padding: 0 !important;
}

header.wp-block-template-part .wp-block-navigation__container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;

    gap: clamp(25px, 2.5vw, 44px) !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

header.wp-block-template-part .wp-block-navigation-item {
    margin: 0 !important;
    padding: 0 !important;
}

header.wp-block-template-part
.wp-block-navigation-item
> .wp-block-navigation-item__content {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;

    padding: 12px 0 !important;

    color: rgba(224, 227, 244, 0.74) !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;

    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    transition: color 0.2s ease !important;
}

header.wp-block-template-part
.wp-block-navigation-item
> .wp-block-navigation-item__content::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 5px !important;

    width: 0 !important;
    height: 1px !important;

    background: #ffffff !important;
    opacity: 0.8 !important;

    transform: translateX(-50%) !important;
    transition: width 0.2s ease !important;
}

header.wp-block-template-part
.wp-block-navigation-item
> .wp-block-navigation-item__content:hover,
header.wp-block-template-part
.wp-block-navigation-item.current-menu-item
> .wp-block-navigation-item__content {
    color: #ffffff !important;
}

header.wp-block-template-part
.wp-block-navigation-item
> .wp-block-navigation-item__content:hover::after,
header.wp-block-template-part
.wp-block-navigation-item.current-menu-item
> .wp-block-navigation-item__content::after {
    width: 100% !important;
}

/* Buttons: right */
header.wp-block-template-part .wp-block-buttons {
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;

    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
}

header.wp-block-template-part .wp-block-button {
    margin: 0 !important;
}

header.wp-block-template-part
.wp-block-button
:is(.wp-block-button__link, .wp-element-button) {
    min-height: 50px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 23px !important;
    border-radius: 12px !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;

    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease !important;
}

header.wp-block-template-part
.wp-block-button:first-child
:is(.wp-block-button__link, .wp-element-button) {
    min-width: 108px !important;

    color: #eef0fb !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid rgba(198, 204, 234, 0.24) !important;
}

header.wp-block-template-part
.wp-block-button:nth-child(2)
:is(.wp-block-button__link, .wp-element-button) {
    min-width: 150px !important;

    color: #0b103f !important;
    background: #ffffff !important;
    border: 1px solid #ffffff !important;
}

header.wp-block-template-part
.wp-block-button:first-child
:is(.wp-block-button__link, .wp-element-button):hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.07) !important;
    transform: translateY(-1px) !important;
}

header.wp-block-template-part
.wp-block-button:nth-child(2)
:is(.wp-block-button__link, .wp-element-button):hover {
    color: #0b103f !important;
    background: #f1f2f8 !important;
    border-color: #f1f2f8 !important;
    transform: translateY(-1px) !important;
}

/* Medium desktop */
@media screen and (max-width: 1240px) {
    header.wp-block-template-part {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    header.wp-block-template-part > .wp-block-group {
        grid-template-columns:
            minmax(170px, 1fr)
            auto
            minmax(250px, 1fr) !important;

        column-gap: 26px !important;
        padding-right: 24px !important;
        padding-left: 24px !important;
    }

    header.wp-block-template-part .wp-block-navigation__container {
        gap: 24px !important;
    }

    header.wp-block-template-part
    .wp-block-navigation-item
    > .wp-block-navigation-item__content {
        font-size: 14px !important;
    }

    header.wp-block-template-part
    .wp-block-button
    :is(.wp-block-button__link, .wp-element-button) {
        min-height: 48px !important;
        padding-inline: 19px !important;
        font-size: 14px !important;
    }
}

/* Tablet */
@media screen and (max-width: 930px) {
    header.wp-block-template-part > .wp-block-group {
        min-height: 80px !important;

        grid-template-columns:
            auto
            1fr
            auto !important;

        column-gap: 18px !important;
        padding-right: 20px !important;
        padding-left: 20px !important;
        border-radius: 15px !important;
    }

    .nvektor-brand-icon {
        width: 26px !important;
        height: 26px !important;
        max-width: 26px !important;
        max-height: 26px !important;
        flex-basis: 26px !important;
    }

    .nvektor-brand-logo {
        height: 23px !important;
        max-width: 118px !important;
        max-height: 23px !important;
    }

    header.wp-block-template-part .wp-block-navigation__container {
        gap: 17px !important;
    }

    header.wp-block-template-part
    .wp-block-navigation-item
    > .wp-block-navigation-item__content {
        font-size: 13px !important;
    }

    header.wp-block-template-part .wp-block-buttons {
        gap: 9px !important;
    }

    header.wp-block-template-part
    .wp-block-button
    :is(.wp-block-button__link, .wp-element-button) {
        min-height: 44px !important;
        padding-inline: 14px !important;
        font-size: 12px !important;
    }

    header.wp-block-template-part
    .wp-block-button:first-child
    :is(.wp-block-button__link, .wp-element-button) {
        min-width: 80px !important;
    }

    header.wp-block-template-part
    .wp-block-button:nth-child(2)
    :is(.wp-block-button__link, .wp-element-button) {
        min-width: 112px !important;
    }
}

@media screen and (max-width: 782px) {
    body.admin-bar header.wp-block-template-part {
        top: 46px !important;
    }
}

/* Mobile */
@media screen and (max-width: 700px) {
    header.wp-block-template-part {
        padding: 0 10px 10px !important;
    }

    header.wp-block-template-part > .wp-block-group {
        min-height: 70px !important;
        grid-template-columns: 1fr auto !important;
        column-gap: 12px !important;

        padding-right: 15px !important;
        padding-left: 15px !important;

        border-radius: 14px !important;
    }

    header.wp-block-template-part .wp-block-navigation {
        display: none !important;
    }

    header.wp-block-template-part .wp-block-buttons {
        grid-column: 2 !important;
    }

    header.wp-block-template-part
    .wp-block-button:first-child {
        display: none !important;
    }

    header.wp-block-template-part
    .wp-block-button:nth-child(2)
    :is(.wp-block-button__link, .wp-element-button) {
        min-width: 108px !important;
        min-height: 42px !important;
        padding-inline: 14px !important;
        font-size: 12px !important;
    }

    .nvektor-brand {
        gap: 6px !important;
        height: 36px !important;
    }

    .nvektor-brand-icon {
        width: 23px !important;
        height: 23px !important;
        max-width: 23px !important;
        max-height: 23px !important;
        flex-basis: 23px !important;
    }

    .nvektor-brand-logo {
        height: 20px !important;
        max-width: 102px !important;
        max-height: 20px !important;
    }
}

/* =========================================================
   MAIN CONTENT — CONSISTENT CENTRING AND TYPOGRAPHY
   ========================================================= */

main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Centre regular page sections without constraining alignfull blocks */
main > :where(
    .wp-block-group:not(.alignfull),
    .wp-block-columns:not(.alignfull),
    .wp-block-cover:not(.alignfull)
) {
    width: min(var(--nv-container), calc(100% - 48px)) !important;
    max-width: var(--nv-container) !important;
    margin-inline: auto !important;
}

/* Consistent content width inside wide/full-width sections */
main .wp-block-group > .wp-block-group:not(.alignfull) {
    max-width: var(--nv-container);
}

/* Headings: reduced, orderly, readable */
main h1,
main h1.wp-block-heading {
    max-width: 940px;
    margin: 0 0 26px !important;

    color: #ffffff !important;
    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(48px, 5.1vw, 72px) !important;
    font-weight: var(--nv-heading-weight) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.035em !important;
    text-align: left !important;
    text-transform: none !important;
    text-wrap: balance;
}

main h2,
main h2.wp-block-heading {
    max-width: 900px;
    margin: 0 0 24px !important;

    color: #ffffff !important;
    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(36px, 3.8vw, 54px) !important;
    font-weight: var(--nv-heading-weight) !important;
    line-height: 1.10 !important;
    letter-spacing: -0.026em !important;
    text-align: left !important;
    text-transform: none !important;
    text-wrap: balance;
}

main h3,
main h3.wp-block-heading {
    margin: 0 0 16px !important;

    color: #ffffff !important;
    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(24px, 2.1vw, 32px) !important;
    font-weight: var(--nv-card-heading-weight) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.018em !important;
    text-align: left !important;
    text-transform: none !important;
}

main p,
main .wp-block-paragraph {
    max-width: 780px;
    margin: 0 0 22px !important;

    color: var(--nv-muted) !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: clamp(16px, 1.35vw, 19px) !important;
    font-weight: 500 !important;
    line-height: 1.62 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    text-transform: none !important;
}

/* Eyebrow / label paragraphs */
main .is-style-eyebrow,
main .eyebrow,
main p.has-small-font-size:first-child {
    color: var(--nv-dim) !important;
    font-family: "DM Mono", ui-monospace, Consolas, monospace !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

/* Organised vertical rhythm for major groups */
main > .wp-block-group {
    padding-top: clamp(64px, 7vw, 104px);
    padding-bottom: clamp(64px, 7vw, 104px);
}

/* Prevent a large empty gap directly below the header */
header.wp-block-template-part + main,
header.wp-block-template-part + .wp-site-blocks main {
    margin-top: 0 !important;
}

/* First hero section */
main > .wp-block-group:first-child {
    padding-top: clamp(58px, 6vw, 88px) !important;
}

/* Standard main buttons */
main .wp-block-buttons {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;

    margin: 40px 0 0 !important;
    padding: 0 !important;
}

main .wp-block-button {
    margin: 0 !important;
}

main .wp-block-button__link,
main .wp-element-button {
    min-height: 52px;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 26px !important;

    border-radius: 10px !important;
    box-shadow: 0 8px 22px rgba(213, 217, 255, 0.10) !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    letter-spacing: 0.035em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

/* =========================================================
   WORDPRESS COLUMN CARDS — ORDERLY, NOT OVERSIZED
   ========================================================= */

main .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px !important;

    width: 100% !important;
    margin: 44px 0 0 !important;
}

main .wp-block-columns > .wp-block-column {
    min-width: 0 !important;
    min-height: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    margin: 0 !important;
    padding: clamp(30px, 3vw, 44px) !important;

    background:
        linear-gradient(
            135deg,
            rgba(31, 37, 86, 0.88) 0%,
            rgba(22, 27, 73, 0.76) 100%
        ) !important;

    border: 1px solid var(--nv-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 30px rgba(3, 6, 30, 0.17) !important;
    transform: none !important;
}

main .wp-block-columns > .wp-block-column:hover {
    border-color: rgba(201, 207, 239, 0.27) !important;
    box-shadow: 0 16px 36px rgba(3, 6, 30, 0.24) !important;
    transform: translateY(-3px) !important;
}

main .wp-block-column > :is(h2, h3, h4, .wp-block-heading) {
    max-width: 100% !important;
    margin: 0 0 18px !important;

    font-size: clamp(25px, 2.25vw, 34px) !important;
    font-weight: var(--nv-card-heading-weight) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.02em !important;
}

main .wp-block-column > p {
    max-width: 100% !important;
    margin: 0 0 18px !important;

    font-size: 16px !important;
    line-height: 1.58 !important;
}

main .wp-block-column > p:first-child {
    color: var(--nv-dim) !important;
    font-family: "DM Mono", ui-monospace, Consolas, monospace !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

/* =========================================================
   TRACKING FLOW / SVG CARD
   ========================================================= */

.wp-block-html:has(.tracking-flow-card) {
    position: relative !important;

    width: 100vw !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    padding: 0 40px !important;

    overflow: visible !important;
}

.tracking-flow-card {
    position: relative !important;
    left: auto !important;
    transform: none !important;

    width: min(1395px, 100%) !important;
    max-width: 1395px !important;

    margin: 40px auto 0 !important;
    padding: 22px 22px 26px !important;

    overflow: hidden !important;
    background:
        linear-gradient(180deg, #151946 0%, #111543 100%) !important;
    border: 1px solid var(--nv-border) !important;
    border-radius: 24px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.015) !important;
}

.tracking-flow-card .diagram-wrap {
    width: 100% !important;
    overflow: hidden !important;
}

.tracking-flow-card svg,
.tracking-flow-card .tracking-diagram {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

.tracking-flow-card .legend {
    margin: 28px 10px 0 !important;
}


/* =========================================================
   RESPONSIVE — MAIN CONTENT ONLY
   Header responsiveness is kept with the header section.
   ========================================================= */

@media screen and (max-width: 1180px) {
    main h1,
    main h1.wp-block-heading {
        font-size: clamp(46px, 5vw, 64px) !important;
    }
}

@media screen and (max-width: 930px) {
    main .wp-block-columns {
        grid-template-columns: 1fr !important;
    }
}

@media screen and (max-width: 700px) {
    main > :where(
        .wp-block-group:not(.alignfull),
        .wp-block-columns:not(.alignfull),
        .wp-block-cover:not(.alignfull)
    ) {
        width: min(100%, calc(100% - 32px)) !important;
    }

    main > .wp-block-group {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    main h1,
    main h1.wp-block-heading {
        font-size: clamp(38px, 11vw, 50px) !important;
        line-height: 1.08 !important;
    }

    main h2,
    main h2.wp-block-heading {
        font-size: clamp(32px, 9vw, 42px) !important;
    }

    main p,
    main .wp-block-paragraph {
        font-size: 16px !important;
        line-height: 1.56 !important;
    }

    .wp-block-html:has(.tracking-flow-card) {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .tracking-flow-card {
        margin-top: 24px !important;
        padding: 18px 12px 20px !important;
        border-radius: 18px !important;
    }
}

/* =========================================================
   FOOTER — SAME BLOCK STRUCTURE ALREADY BUILT
   ========================================================= */

footer.wp-block-template-part,
footer.wp-block-template-part * {
    box-sizing: border-box;
}

footer.wp-block-template-part {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

footer.wp-block-template-part > .wp-block-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;

    width: min(1395px, calc(100% - 80px)) !important;
    max-width: 1395px !important;

    margin: 0 auto !important;
    padding: 130px 0 46px !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

footer.wp-block-template-part .wp-block-spacer {
    display: none !important;
}

footer.wp-block-template-part .wp-block-column,
footer.wp-block-template-part .wp-block-column:hover {
    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Main footer 66/33 Columns */
footer.wp-block-template-part
> .wp-block-group
> .wp-block-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 460px !important;
    align-items: start !important;
    column-gap: 80px !important;

    width: 100% !important;
    margin: 0 0 68px !important;
    padding: 0 !important;
}

/* Brand column */
footer.wp-block-template-part
> .wp-block-group
> .wp-block-columns
> .wp-block-column:first-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

footer.wp-block-template-part
> .wp-block-group
> .wp-block-columns
> .wp-block-column:first-child
p {
    max-width: 330px !important;
    margin: 0 !important;

    color: var(--nv-dim) !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
}

/* Product / Company / Legal nested Columns */
footer.wp-block-template-part
> .wp-block-group
> .wp-block-columns
> .wp-block-column:nth-child(2)
> .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 46px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

footer.wp-block-template-part
> .wp-block-group
> .wp-block-columns
> .wp-block-column:nth-child(2)
> .wp-block-columns
> .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

footer.wp-block-template-part
> .wp-block-group
> .wp-block-columns
> .wp-block-column:nth-child(2)
> .wp-block-columns
h6 {
    margin: 0 0 22px !important;

    color: #6f7598 !important;
    font-family: "DM Mono", ui-monospace, Consolas, monospace !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.025em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

footer.wp-block-template-part
> .wp-block-group
> .wp-block-columns
> .wp-block-column:nth-child(2)
> .wp-block-columns
p {
    width: 100% !important;
    margin: 0 0 13px !important;

    color: #a7acc9 !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    white-space: nowrap !important;
}

footer.wp-block-template-part a {
    color: inherit !important;
    text-decoration: none !important;
}

footer.wp-block-template-part a:hover {
    color: #ffffff !important;
}

/* Divider */
footer.wp-block-template-part
> .wp-block-group
> .wp-block-separator {
    width: 100% !important;
    max-width: none !important;
    height: 1px !important;

    margin: 0 0 31px !important;

    background: rgba(155, 163, 207, 0.16) !important;
    border: 0 !important;
    opacity: 1 !important;
}

/* Bottom Row directly after Separator */
footer.wp-block-template-part
> .wp-block-group
> .wp-block-separator
+ .wp-block-group {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 40px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

footer.wp-block-template-part
> .wp-block-group
> .wp-block-separator
+ .wp-block-group
> p {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;

    color: #696f93 !important;
    font-family: "DM Mono", ui-monospace, Consolas, monospace !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.025em !important;
    white-space: nowrap !important;
}

footer.wp-block-template-part
> .wp-block-group
> .wp-block-separator
+ .wp-block-group
> p:last-child {
    margin-left: auto !important;
    text-align: right !important;
}

/* =========================================================
   FOOTER — RESPONSIVE RESTORATION
   ========================================================= */

@media screen and (max-width: 1180px) {
    footer.wp-block-template-part
    > .wp-block-group
    > .wp-block-columns {
        grid-template-columns: 1fr !important;
        gap: 60px !important;
    }
}

@media screen and (max-width: 930px) {
    footer.wp-block-template-part > .wp-block-group {
        width: calc(100% - 56px) !important;
        padding-top: 90px !important;
    }
}

@media screen and (max-width: 700px) {
    footer.wp-block-template-part > .wp-block-group {
        width: calc(100% - 40px) !important;
        padding: 68px 0 32px !important;
    }

    footer.wp-block-template-part
    > .wp-block-group
    > .wp-block-columns
    > .wp-block-column:nth-child(2)
    > .wp-block-columns {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }

    footer.wp-block-template-part
    > .wp-block-group
    > .wp-block-separator
    + .wp-block-group {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    footer.wp-block-template-part
    > .wp-block-group
    > .wp-block-separator
    + .wp-block-group
    > p,
    footer.wp-block-template-part
    > .wp-block-group
    > .wp-block-separator
    + .wp-block-group
    > p:last-child {
        margin-left: 0 !important;
        font-size: 13px !important;
        text-align: left !important;
        white-space: normal !important;
    }
}

/* =====================================================
   NVEKTOR FOOTER — CLASS-BASED FINAL VERSION
   Add this class to the MAIN footer Group:
   nvektor-footer
   ===================================================== */

.nvektor-footer,
.nvektor-footer * {
    box-sizing: border-box;
}

.nvektor-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;

    width: min(1395px, calc(100% - 80px)) !important;
    max-width: 1395px !important;

    margin: 0 auto !important;
    padding: 110px 0 46px !important;

    color: #ffffff !important;
    background: #0b103f !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Hide accidental Spacer blocks */
.nvektor-footer .wp-block-spacer {
    display: none !important;
}

/* Remove global card styling from footer columns */
.nvektor-footer .wp-block-column,
.nvektor-footer .wp-block-column:hover {
    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    transform: none !important;
}

/* =====================================================
   MAIN BRAND + LINKS COLUMNS
   ===================================================== */

.nvektor-footer > .wp-block-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 560px !important;
    align-items: start !important;
    gap: 90px !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 68px !important;
    padding: 0 !important;
}

/* =====================================================
   LEFT LOGO COLUMN
   ===================================================== */

.nvektor-footer
> .wp-block-columns
> .wp-block-column:first-child {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;

    text-align: left !important;
}

/* Logo image */
.nvektor-footer
> .wp-block-columns
> .wp-block-column:first-child
.wp-block-image {
    margin: 0 0 20px !important;
}

.nvektor-footer
> .wp-block-columns
> .wp-block-column:first-child
.wp-block-image img {
    display: block !important;

    width: auto !important;
    max-width: 230px !important;
    max-height: 44px !important;

    object-fit: contain !important;
}

/* Text logo */
.nvektor-footer
> .wp-block-columns
> .wp-block-column:first-child
:is(h1, h2, h3, h4, h5, h6, .wp-block-heading) {
    margin: 0 0 20px !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-family: "Syne", Arial, sans-serif !important;
    font-size: 27px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.035em !important;
    text-align: left !important;
    text-transform: uppercase !important;

    writing-mode: horizontal-tb !important;
    white-space: nowrap !important;
    word-break: normal !important;
}

/* Tagline */
.nvektor-footer
> .wp-block-columns
> .wp-block-column:first-child
p {
    max-width: 330px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #73799d !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-align: left !important;

    writing-mode: horizontal-tb !important;
    white-space: normal !important;
    word-break: normal !important;
}

/* =====================================================
   PRODUCT / COMPANY / LEGAL
   ===================================================== */

.nvektor-footer
> .wp-block-columns
> .wp-block-column:nth-child(2)
> .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(145px, 1fr)) !important;
    align-items: start !important;
    gap: 38px !important;

    width: 100% !important;
    min-width: 560px !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Each menu column */
.nvektor-footer
> .wp-block-columns
> .wp-block-column:nth-child(2)
> .wp-block-columns
> .wp-block-column {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;

    width: 100% !important;
    min-width: 145px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
}

/* Menu headings */
.nvektor-footer
> .wp-block-columns
> .wp-block-column:nth-child(2)
> .wp-block-columns
:is(h1, h2, h3, h4, h5, h6, .wp-block-heading) {
    display: block !important;

    width: auto !important;
    min-width: max-content !important;

    margin: 0 0 22px !important;
    padding: 0 !important;

    color: #6f7598 !important;

    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.025em !important;
    text-align: left !important;
    text-transform: uppercase !important;

    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

/* Menu links */
.nvektor-footer
> .wp-block-columns
> .wp-block-column:nth-child(2)
> .wp-block-columns
p {
    display: block !important;

    width: auto !important;
    min-width: max-content !important;

    margin: 0 0 13px !important;
    padding: 0 !important;

    color: #a7acc9 !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    text-transform: none !important;

    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

.nvektor-footer a {
    color: inherit !important;
    font: inherit !important;
    text-decoration: none !important;
}

.nvektor-footer a:hover {
    color: #ffffff !important;
}

/* =====================================================
   SEPARATOR
   ===================================================== */

.nvektor-footer > .wp-block-separator {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: 1px !important;

    margin: 0 0 31px !important;
    padding: 0 !important;

    background: rgba(155, 163, 207, 0.16) !important;
    border: 0 !important;
    opacity: 1 !important;
}

/* =====================================================
   COPYRIGHT ROW
   ===================================================== */

.nvektor-footer
> .wp-block-separator
+ .wp-block-group {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 40px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.nvektor-footer
> .wp-block-separator
+ .wp-block-group
> p {
    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #696f93 !important;

    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: 0.025em !important;

    writing-mode: horizontal-tb !important;
    white-space: nowrap !important;
    word-break: normal !important;
}

.nvektor-footer
> .wp-block-separator
+ .wp-block-group
> p:last-child {
    margin-left: auto !important;
    text-align: right !important;
}

/* =====================================================
   TABLET
   ===================================================== */

@media screen and (max-width: 1080px) {
    .nvektor-footer {
        width: calc(100% - 64px) !important;
        padding: 90px 0 42px !important;
    }

    .nvektor-footer > .wp-block-columns {
        grid-template-columns: 1fr !important;
        gap: 58px !important;
        margin-bottom: 56px !important;
    }

    .nvektor-footer
    > .wp-block-columns
    > .wp-block-column:nth-child(2)
    > .wp-block-columns {
        min-width: 0 !important;
        grid-template-columns: repeat(3, minmax(145px, 1fr)) !important;
    }
}

/* =====================================================
   MOBILE
   ===================================================== */

@media screen and (max-width: 700px) {
    .nvektor-footer {
        width: calc(100% - 40px) !important;
        padding: 68px 0 32px !important;
    }

    .nvektor-footer
    > .wp-block-columns
    > .wp-block-column:nth-child(2)
    > .wp-block-columns {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }

    .nvektor-footer
    > .wp-block-columns
    > .wp-block-column:nth-child(2)
    > .wp-block-columns
    :is(h1, h2, h3, h4, h5, h6, p) {
        min-width: 0 !important;
        white-space: normal !important;
    }

    .nvektor-footer
    > .wp-block-separator
    + .wp-block-group {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .nvektor-footer
    > .wp-block-separator
    + .wp-block-group
    > p,
    .nvektor-footer
    > .wp-block-separator
    + .wp-block-group
    > p:last-child {
        margin-left: 0 !important;
        font-size: 13px !important;
        text-align: left !important;
        white-space: normal !important;
    }
}

/* =========================================================
   FOOTER — THEME RESET SAFETY
   Prevent global card/image rules from affecting the footer.
   ========================================================= */

footer.wp-block-template-part .wp-block-columns,
footer.wp-block-template-part .wp-block-column,
footer.wp-block-template-part .wp-block-group,
footer.wp-block-template-part .wp-block-image,
footer.wp-block-template-part figure {
    background-color: transparent !important;
    background-image: none !important;
}

footer.wp-block-template-part .wp-block-image,
footer.wp-block-template-part figure {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

footer.wp-block-template-part .wp-block-image img,
footer.wp-block-template-part figure img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 230px !important;
    max-height: 44px !important;
    object-fit: contain !important;
    background: transparent !important;
}

/* =========================================================
   NVEKTOR HERO — FINAL CLASS-BASED VERSION
   Group class: nv-hero
   Buttons class: nv-hero-buttons
   ========================================================= */

body .wp-site-blocks main .nv-hero {
    width: min(1100px, calc(100% - 48px)) !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 60px 0 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    text-align: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Hero eyebrow */
body .wp-site-blocks main .nv-hero > p:first-child {
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto 24px !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.12em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

/* Hero heading */
body .wp-site-blocks main .nv-hero > h1,
body .wp-site-blocks main .nv-hero > h2,
body .wp-site-blocks main .nv-hero > h1.wp-block-heading,
body .wp-site-blocks main .nv-hero > h2.wp-block-heading {
    width: 100% !important;
    max-width: 1050px !important;
    margin: 0 auto 30px !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(52px, 5.3vw, 78px) !important;
    font-weight: var(--nv-heading-weight) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.045em !important;
    text-align: center !important;
    text-transform: none !important;
    text-wrap: balance !important;
}

body .wp-site-blocks main .nv-hero .grey-word {
    color: #676b91 !important;
}

/* Hero description */
body .wp-site-blocks main .nv-hero > h1 + p,
body .wp-site-blocks main .nv-hero > h2 + p,
body .wp-site-blocks main .nv-hero > .wp-block-heading + p {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 !important;

    color: #aeb4cf !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: -0.012em !important;
    text-align: center !important;
    text-transform: none !important;
}

/* Hero button row */
body .wp-site-blocks main
.nv-hero
.nv-hero-buttons.wp-block-buttons {
    width: 100% !important;
    margin: 42px auto 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
}

body .wp-site-blocks main
.nv-hero
.nv-hero-buttons.wp-block-buttons.is-vertical {
    flex-direction: row !important;
}

body .wp-site-blocks main
.nv-hero
.nv-hero-buttons
> .wp-block-button {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

/* Reset both hero button links */
body .wp-site-blocks main
.nv-hero
.nv-hero-buttons
> .wp-block-button
> :is(.wp-block-button__link, .wp-element-button) {
    appearance: none !important;
    -webkit-appearance: none !important;

    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 28px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 12px !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease !important;
}

/* Primary button */
body .wp-site-blocks main
.nv-hero
.nv-hero-buttons
> .wp-block-button:first-child
> :is(.wp-block-button__link, .wp-element-button) {
    min-width: 153px !important;
    color: #0b103f !important;
    background: #ffffff !important;
    border: 1px solid #ffffff !important;
}

body .wp-site-blocks main
.nv-hero
.nv-hero-buttons
> .wp-block-button:first-child
> :is(.wp-block-button__link, .wp-element-button):hover {
    color: #0b103f !important;
    background: #f0f1f6 !important;
    border-color: #f0f1f6 !important;
    transform: translateY(-1px) !important;
}

/* Secondary button */
body .wp-site-blocks main
.nv-hero
.nv-hero-buttons
> .wp-block-button:nth-child(2)
> :is(.wp-block-button__link, .wp-element-button) {
    min-width: 206px !important;
    color: #ffffff !important;
    background: transparent !important;
    border: 1px solid rgba(160, 168, 210, 0.35) !important;
}

body .wp-site-blocks main
.nv-hero
.nv-hero-buttons
> .wp-block-button:nth-child(2)
> :is(.wp-block-button__link, .wp-element-button):hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    transform: translateY(-1px) !important;
}

@media screen and (max-width: 900px) {
    body .wp-site-blocks main .nv-hero {
        width: calc(100% - 36px) !important;
    }

    body .wp-site-blocks main .nv-hero > h1,
    body .wp-site-blocks main .nv-hero > h2,
    body .wp-site-blocks main .nv-hero > h1.wp-block-heading,
    body .wp-site-blocks main .nv-hero > h2.wp-block-heading {
        max-width: 800px !important;
        font-size: clamp(46px, 7.5vw, 62px) !important;
    }
}

@media screen and (max-width: 640px) {
    body .wp-site-blocks main .nv-hero {
        width: calc(100% - 28px) !important;
        padding-top: 42px !important;
    }

    body .wp-site-blocks main .nv-hero > p:first-child {
        font-size: 11px !important;
        letter-spacing: 0.10em !important;
        margin-bottom: 18px !important;
    }

    body .wp-site-blocks main .nv-hero > h1,
    body .wp-site-blocks main .nv-hero > h2,
    body .wp-site-blocks main .nv-hero > h1.wp-block-heading,
    body .wp-site-blocks main .nv-hero > h2.wp-block-heading {
        max-width: 520px !important;
        margin-bottom: 22px !important;
        font-size: clamp(38px, 11vw, 48px) !important;
        line-height: 1.08 !important;
    }

    body .wp-site-blocks main .nv-hero > h1 + p,
    body .wp-site-blocks main .nv-hero > h2 + p,
    body .wp-site-blocks main .nv-hero > .wp-block-heading + p {
        max-width: 520px !important;
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    body .wp-site-blocks main
    .nv-hero
    .nv-hero-buttons.wp-block-buttons {
        flex-wrap: wrap !important;
        gap: 12px !important;
        margin-top: 32px !important;
    }

    body .wp-site-blocks main
    .nv-hero
    .nv-hero-buttons
    > .wp-block-button:first-child
    > :is(.wp-block-button__link, .wp-element-button) {
        min-width: 145px !important;
        min-height: 56px !important;
        padding: 0 20px !important;
        font-size: 15px !important;
    }

    body .wp-site-blocks main
    .nv-hero
    .nv-hero-buttons
    > .wp-block-button:nth-child(2)
    > :is(.wp-block-button__link, .wp-element-button) {
        min-width: 185px !important;
        min-height: 56px !important;
        padding: 0 20px !important;
        font-size: 15px !important;
    }
}

@media screen and (max-width: 390px) {
    body .wp-site-blocks main
    .nv-hero
    .nv-hero-buttons.wp-block-buttons {
        flex-direction: column !important;
    }
}

/* =========================================================
   WHAT'S BREAKING — FINAL REFERENCE LAYOUT
   Outer section class: nv-breaking
   Intro group class: nv-breaking-copy
   Cards group class: nv-breaking-grid
   ========================================================= */

/* Large breathing room after the SVG */
body .wp-site-blocks main .nv-breaking {
    width: min(1395px, calc(100vw - 80px)) !important;
    max-width: 1395px !important;
    margin: var(--nv-section-gap) auto 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Intro copy */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-copy {
    width: 100% !important;
    max-width: 1395px !important;
    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
}

/* Eyebrow */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-copy
> p:first-child {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 28px !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.14em !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

/* Heading */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-copy
> h2,
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-copy
> h2.wp-block-heading {
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 0 28px !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(52px, 5vw, 72px) !important;
    font-weight: var(--nv-heading-weight) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    text-align: left !important;
    text-transform: none !important;
    text-wrap: balance !important;
}

/* Description */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-copy
> h2
+ p,
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-copy
> .wp-block-heading
+ p {
    width: 100% !important;
    max-width: 950px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #aeb4cf !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    text-transform: none !important;
}

/* One rounded 2 × 2 card container */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-grid {
    width: 100% !important;
    max-width: 1395px !important;
    margin: var(--nv-content-gap) auto 0 !important;
    padding: 0 !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(280px, auto) !important;
    gap: 0 !important;

    background:
        linear-gradient(
            135deg,
            rgba(31, 37, 86, 0.96) 0%,
            rgba(26, 31, 78, 0.96) 100%
        ) !important;

    border: 1px solid rgba(176, 184, 226, 0.25) !important;
    border-radius: 18px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
    overflow: hidden !important;
}

/* Flatten the two WordPress Columns wrappers */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-grid
> .wp-block-columns {
    display: contents !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Individual cells */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-grid
> .wp-block-columns
> .wp-block-column,
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-grid
> .wp-block-columns
> .wp-block-column:hover {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 280px !important;
    margin: 0 !important;
    padding: 42px 36px 44px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    text-align: left !important;
    overflow: visible !important;
}

/* Shared dividers */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-grid
> .wp-block-columns
> .wp-block-column:first-child {
    border-right: 1px solid rgba(176, 184, 226, 0.16) !important;
}

body .wp-site-blocks main
.nv-breaking
> .nv-breaking-grid
> .wp-block-columns:first-child
> .wp-block-column {
    border-bottom: 1px solid rgba(176, 184, 226, 0.16) !important;
}

/* Card label */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-grid
> .wp-block-columns
> .wp-block-column
> p:first-child {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 24px !important;
    padding: 0 !important;

    color: #8c93b5 !important;
    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.10em !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

/* Card heading */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-grid
> .wp-block-columns
> .wp-block-column
> :is(h2, h3, h4, .wp-block-heading) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 24px !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(23px, 1.8vw, 28px) !important;
    font-weight: var(--nv-card-heading-weight) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;
    text-align: left !important;
    text-transform: none !important;
}

/* Card description */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-grid
> .wp-block-columns
> .wp-block-column
> p:not(:first-child) {
    width: 100% !important;
    max-width: 600px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #b2b7d0 !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    text-transform: none !important;
}

@media screen and (max-width: 900px) {
    body .wp-site-blocks main .nv-breaking {
        width: calc(100vw - 48px) !important;
        margin-top: var(--nv-section-gap-tablet) !important;
        padding-bottom: 0 !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-copy
    > h2,
    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-copy
    > h2.wp-block-heading {
        max-width: 800px !important;
        font-size: clamp(46px, 7vw, 62px) !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid {
        margin-top: var(--nv-content-gap-tablet) !important;
        grid-auto-rows: minmax(260px, auto) !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns
    > .wp-block-column,
    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns
    > .wp-block-column:hover {
        min-height: 260px !important;
        padding: 36px 30px 38px !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns
    > .wp-block-column
    > p:not(:first-child) {
        font-size: 16px !important;
    }
}

@media screen and (max-width: 700px) {
    body .wp-site-blocks main .nv-breaking {
        width: calc(100vw - 32px) !important;
        margin-top: var(--nv-section-gap-mobile) !important;
        padding-bottom: 0 !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-copy
    > p:first-child {
        margin-bottom: 18px !important;
        font-size: 11px !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-copy
    > h2,
    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-copy
    > h2.wp-block-heading {
        margin-bottom: 22px !important;
        font-size: clamp(38px, 11vw, 48px) !important;
        line-height: 1.08 !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-copy
    > h2
    + p {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid {
        grid-template-columns: 1fr !important;
        grid-auto-rows: auto !important;
        margin-top: var(--nv-content-gap-mobile) !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns
    > .wp-block-column,
    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns
    > .wp-block-column:hover {
        min-height: 0 !important;
        padding: 32px 28px 34px !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(176, 184, 226, 0.16) !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns:last-child
    > .wp-block-column:last-child {
        border-bottom: 0 !important;
    }
}

/* =========================================================
   HOW NVEKTOR WORKS — FINAL REFERENCE LAYOUT
   Outer Group class: nv-how
   Copy Group class: nv-how-copy
   Custom HTML keeps: vix-process-section
   ========================================================= */

/* Large breathing room before this section */
body .wp-site-blocks main .nv-how {
    width: min(1395px, calc(100vw - 80px)) !important;
    max-width: 1395px !important;

    margin: var(--nv-section-gap) auto 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Centred copy above the process steps */
body .wp-site-blocks main
.nv-how
> .nv-how-copy {
    width: min(100%, 1100px) !important;
    max-width: 1100px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    text-align: center !important;
}

/* Eyebrow */
body .wp-site-blocks main
.nv-how
> .nv-how-copy
> p:first-child {
    width: 100% !important;
    max-width: 900px !important;

    margin: 0 auto 25px !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.14em !important;

    text-align: center !important;
    text-transform: uppercase !important;
}

/* Main heading */
body .wp-site-blocks main
.nv-how
> .nv-how-copy
> h2,
body .wp-site-blocks main
.nv-how
> .nv-how-copy
> h2.wp-block-heading {
    width: 100% !important;
    max-width: 930px !important;

    margin: 0 auto 28px !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(52px, 5vw, 72px) !important;
    font-weight: var(--nv-heading-weight) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;

    text-align: center !important;
    text-transform: none !important;
    text-wrap: balance !important;
}

/* Description */
body .wp-site-blocks main
.nv-how
> .nv-how-copy
> h2
+ p,
body .wp-site-blocks main
.nv-how
> .nv-how-copy
> .wp-block-heading
+ p {
    width: 100% !important;
    max-width: 790px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    color: #aeb4cf !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
    letter-spacing: -0.012em !important;

    text-align: center !important;
    text-transform: none !important;
}

/* Custom HTML wrapper */
body .wp-site-blocks main
.nv-how
> .wp-block-html:has(.vix-process-section) {
    position: relative !important;

    width: 100% !important;
    max-width: 1395px !important;

    margin: var(--nv-content-gap) auto 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

/* Four-step process */
body .wp-site-blocks main
.nv-how
.vix-process-section,
body .wp-site-blocks main
.nv-how
.vix-process-section * {
    box-sizing: border-box;
}

body .wp-site-blocks main
.nv-how
.vix-process-section {
    position: relative !important;

    width: 100% !important;
    max-width: 1395px !important;

    margin: 0 auto !important;
    padding: 0 6px 36px !important;

    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: clamp(38px, 4vw, 66px) !important;

    background: transparent !important;
    overflow: visible !important;
}

/* Dashed connector */
body .wp-site-blocks main
.nv-how
.vix-process-line {
    position: absolute !important;
    z-index: 0 !important;

    top: 29px !important;
    left: 35px !important;
    right: 35px !important;
    height: 1px !important;

    background-image: repeating-linear-gradient(
        to right,
        rgba(164, 171, 209, 0.30) 0,
        rgba(164, 171, 209, 0.30) 9px,
        transparent 9px,
        transparent 18px
    ) !important;

    pointer-events: none !important;
}

/* Individual step */
body .wp-site-blocks main
.nv-how
.vix-process-item {
    position: relative !important;
    z-index: 1 !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Number circle */
body .wp-site-blocks main
.nv-how
.vix-process-number {
    position: relative !important;
    z-index: 2 !important;

    width: 58px !important;
    height: 58px !important;

    margin: 0 0 30px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: #f5f6ff !important;
    background: #151a4d !important;

    border: 1px solid rgba(222, 225, 244, 0.68) !important;
    border-radius: 50% !important;

    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
}

/* Step heading */
body .wp-site-blocks main
.nv-how
.vix-process-item h3 {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(21px, 1.55vw, 24px) !important;
    font-weight: var(--nv-card-heading-weight) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;

    text-align: left !important;
    text-transform: none !important;
    white-space: normal !important;
}

/* Step description */
body .wp-site-blocks main
.nv-how
.vix-process-item p {
    width: 100% !important;
    max-width: 300px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #aeb4cf !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: -0.012em !important;

    text-align: left !important;
    text-transform: none !important;
}

/* Tablet */
@media screen and (max-width: 1000px) {
    body .wp-site-blocks main .nv-how {
        width: calc(100vw - 48px) !important;
        margin-top: var(--nv-section-gap-tablet) !important;
        padding-bottom: 0 !important;
    }

    body .wp-site-blocks main
    .nv-how
    > .nv-how-copy
    > h2,
    body .wp-site-blocks main
    .nv-how
    > .nv-how-copy
    > h2.wp-block-heading {
        max-width: 800px !important;
        font-size: clamp(46px, 7vw, 62px) !important;
    }

    body .wp-site-blocks main
    .nv-how
    > .wp-block-html:has(.vix-process-section) {
        margin-top: var(--nv-content-gap-tablet) !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-section {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 54px 46px !important;
        max-width: 900px !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-line {
        display: none !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-item p {
        max-width: 100% !important;
    }
}

/* Mobile */
@media screen and (max-width: 700px) {
    body .wp-site-blocks main .nv-how {
        width: calc(100vw - 32px) !important;
        margin-top: var(--nv-section-gap-mobile) !important;
        padding-bottom: 0 !important;
    }

    body .wp-site-blocks main
    .nv-how
    > .nv-how-copy
    > p:first-child {
        margin-bottom: 18px !important;
        font-size: 11px !important;
        letter-spacing: 0.10em !important;
    }

    body .wp-site-blocks main
    .nv-how
    > .nv-how-copy
    > h2,
    body .wp-site-blocks main
    .nv-how
    > .nv-how-copy
    > h2.wp-block-heading {
        max-width: 520px !important;
        margin-bottom: 22px !important;

        font-size: clamp(38px, 11vw, 48px) !important;
        line-height: 1.08 !important;
    }

    body .wp-site-blocks main
    .nv-how
    > .nv-how-copy
    > h2
    + p {
        max-width: 520px !important;
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    body .wp-site-blocks main
    .nv-how
    > .wp-block-html:has(.vix-process-section) {
        margin-top: var(--nv-content-gap-mobile) !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-section {
        grid-template-columns: 1fr !important;
        gap: 42px !important;
        max-width: 620px !important;
        padding: 0 4px 30px !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-item {
        min-height: 58px !important;
        padding-left: 78px !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-number {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;

        width: 58px !important;
        height: 58px !important;
        margin: 0 !important;
        font-size: 15px !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-item h3 {
        padding-top: 1px !important;
        font-size: 21px !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-item p {
        max-width: 100% !important;
        font-size: 16px !important;
    }
}
/* =========================================================
   ARCHITECTURE — FOUR DECISIONS
   Outer group: nv-architecture
   Copy group: nv-architecture-copy
   Cards group: nv-architecture-grid
   ========================================================= */

/* Full Architecture section */
body .wp-site-blocks main .nv-architecture {
    width: min(1395px, calc(100vw - 80px)) !important;
    max-width: 1395px !important;

    margin: var(--nv-section-gap) auto 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* =========================================================
   ARCHITECTURE COPY
   ========================================================= */

body .wp-site-blocks main
.nv-architecture
> .nv-architecture-copy {
    width: 100% !important;
    max-width: 1395px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    text-align: left !important;
}

/* Eyebrow */
body .wp-site-blocks main
.nv-architecture
> .nv-architecture-copy
> p:first-child {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 28px !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.14em !important;

    text-align: left !important;
    text-transform: uppercase !important;
}

/* Main Architecture heading */
body .wp-site-blocks main
.nv-architecture
> .nv-architecture-copy
> h2,
body .wp-site-blocks main
.nv-architecture
> .nv-architecture-copy
> h2.wp-block-heading {
    width: 100% !important;
    max-width: 820px !important;

    margin: 0 0 28px !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(52px, 5vw, 72px) !important;
    font-weight: var(--nv-heading-weight) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;

    text-align: left !important;
    text-transform: none !important;
    text-wrap: balance !important;
}

/* Description */
body .wp-site-blocks main
.nv-architecture
> .nv-architecture-copy
> h2
+ p,
body .wp-site-blocks main
.nv-architecture
> .nv-architecture-copy
> .wp-block-heading
+ p {
    width: 100% !important;
    max-width: 820px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #aeb4cf !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    letter-spacing: -0.01em !important;

    text-align: left !important;
    text-transform: none !important;
}

/* =========================================================
   ARCHITECTURE CARD GRID
   ========================================================= */

body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid {
    width: 100% !important;
    max-width: 1395px !important;

    margin: var(--nv-content-gap) auto 0 !important;
    padding: 0 !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;

    gap: 20px !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Flatten both WordPress Columns wrappers */
body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns {
    display: contents !important;

    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* =========================================================
   INDIVIDUAL ARCHITECTURE CARDS
   ========================================================= */

body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns
> .wp-block-column {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 310px !important;

    margin: 0 !important;
    padding: 34px 34px 36px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    background:
        linear-gradient(
            145deg,
            rgba(35, 41, 91, 0.97) 0%,
            rgba(29, 35, 82, 0.96) 100%
        ) !important;

    border: 1px solid rgba(176, 184, 226, 0.22) !important;
    border-radius: 17px !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.025),
        0 12px 30px rgba(3, 6, 30, 0.12) !important;

    text-align: left !important;
    overflow: hidden !important;

    transform: none !important;

    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease !important;
}

body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns
> .wp-block-column:hover {
    border-color: rgba(205, 211, 240, 0.32) !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.035),
        0 17px 38px rgba(3, 6, 30, 0.20) !important;

    transform: translateY(-3px) !important;
}

/* =========================================================
   CARD ICON
   Supports Image or Custom HTML icon blocks
   ========================================================= */

body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns
> .wp-block-column
> .wp-block-image:first-child,
body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns
> .wp-block-column
> .wp-block-html:first-child {
    width: 44px !important;
    height: 44px !important;

    margin: 0 0 24px !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: rgba(105, 116, 179, 0.22) !important;
    border: 0 !important;
    border-radius: 12px !important;

    overflow: hidden !important;
}

body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns
> .wp-block-column
> .wp-block-image:first-child img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
}

body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns
> .wp-block-column
> .wp-block-html:first-child svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
}

/* =========================================================
   CARD LABEL
   ========================================================= */

body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns
> .wp-block-column
> p:first-of-type {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 16px !important;
    padding: 0 !important;

    color: #858cad !important;

    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.11em !important;

    text-align: left !important;
    text-transform: uppercase !important;
}

/* =========================================================
   CARD HEADING
   ========================================================= */

body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns
> .wp-block-column
> :is(h2, h3, h4, .wp-block-heading) {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 20px !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(22px, 1.65vw, 27px) !important;
    font-weight: var(--nv-card-heading-weight) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;

    text-align: left !important;
    text-transform: none !important;
}

/* =========================================================
   CARD DESCRIPTION
   ========================================================= */

body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns
> .wp-block-column
> p:not(:first-of-type) {
    width: 100% !important;
    max-width: 610px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #b2b7d0 !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
    letter-spacing: -0.01em !important;

    text-align: left !important;
    text-transform: none !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 900px) {
    body .wp-site-blocks main .nv-architecture {
        width: calc(100vw - 48px) !important;

        margin-top: var(--nv-section-gap-tablet) !important;
        padding-bottom: 0 !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-copy
    > h2,
    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-copy
    > h2.wp-block-heading {
        max-width: 760px !important;
        font-size: clamp(46px, 7vw, 62px) !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        margin-top: var(--nv-content-gap-tablet) !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid
    > .wp-block-columns
    > .wp-block-column {
        min-height: 0 !important;
        padding: 34px 32px 38px !important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 640px) {
    body .wp-site-blocks main .nv-architecture {
        width: calc(100vw - 32px) !important;

        margin-top: var(--nv-section-gap-mobile) !important;
        padding-bottom: 0 !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-copy
    > p:first-child {
        margin-bottom: 18px !important;

        font-size: 11px !important;
        letter-spacing: 0.10em !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-copy
    > h2,
    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-copy
    > h2.wp-block-heading {
        margin-bottom: 22px !important;

        font-size: clamp(38px, 11vw, 48px) !important;
        line-height: 1.08 !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-copy
    > h2
    + p {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid {
        margin-top: var(--nv-content-gap-mobile) !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid
    > .wp-block-columns
    > .wp-block-column {
        padding: 30px 26px 34px !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid
    > .wp-block-columns
    > .wp-block-column
    > :is(h2, h3, h4, .wp-block-heading) {
        font-size: 25px !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid
    > .wp-block-columns
    > .wp-block-column
    > p:not(:first-of-type) {
        font-size: 16px !important;
    }
}

/* =========================================================
   COMPARISON — CLEAN FINAL VERSION
   Outer Group class: nv-comparison
   Optional copy Group class: nv-comparison-copy
   Table block class: nv-comparison-table
   ========================================================= */

/* Entire comparison section */
body .wp-site-blocks main .nv-comparison {
    width: min(1395px, calc(100vw - 80px)) !important;
    max-width: 1395px !important;

    margin: var(--nv-section-gap) auto 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
}

/*
Supports both structures:

A) nv-comparison
   └── nv-comparison-copy
       ├── Paragraph
       ├── H2
       └── Paragraph

B) nv-comparison
   └── first inner Group (without the class)
       ├── Paragraph
       ├── H2
       └── Paragraph
*/
body .wp-site-blocks main
.nv-comparison
> .nv-comparison-copy,

body .wp-site-blocks main
.nv-comparison
> .wp-block-group:first-child:not(.nv-comparison-table) {
    width: 100% !important;
    max-width: 1100px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    text-align: center !important;
}

/* Direct blocks are also supported when no copy Group exists */
body .wp-site-blocks main
.nv-comparison
> p:first-child,

body .wp-site-blocks main
.nv-comparison
> .wp-block-paragraph:first-child,

body .wp-site-blocks main
.nv-comparison
> .nv-comparison-copy
> p:first-child,

body .wp-site-blocks main
.nv-comparison
> .nv-comparison-copy
> .wp-block-paragraph:first-child,

body .wp-site-blocks main
.nv-comparison
> .wp-block-group:first-child:not(.nv-comparison-table)
> p:first-child,

body .wp-site-blocks main
.nv-comparison
> .wp-block-group:first-child:not(.nv-comparison-table)
> .wp-block-paragraph:first-child {
    display: block !important;

    width: 100% !important;
    max-width: 1100px !important;

    margin: 0 auto 28px !important;
    padding: 0 !important;

    align-self: center !important;

    color: #ffffff !important;

    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.14em !important;

    text-align: center !important;
    text-transform: uppercase !important;
}

/* Force any nested span/link in the eyebrow to inherit centre alignment */
body .wp-site-blocks main
.nv-comparison
> p:first-child *,
body .wp-site-blocks main
.nv-comparison
> .nv-comparison-copy
> p:first-child *,
body .wp-site-blocks main
.nv-comparison
> .wp-block-group:first-child:not(.nv-comparison-table)
> p:first-child * {
    text-align: center !important;
}

/* Comparison heading */
body .wp-site-blocks main
.nv-comparison
> h2,

body .wp-site-blocks main
.nv-comparison
> h2.wp-block-heading,

body .wp-site-blocks main
.nv-comparison
> .nv-comparison-copy
> h2,

body .wp-site-blocks main
.nv-comparison
> .nv-comparison-copy
> h2.wp-block-heading,

body .wp-site-blocks main
.nv-comparison
> .wp-block-group:first-child:not(.nv-comparison-table)
> h2,

body .wp-site-blocks main
.nv-comparison
> .wp-block-group:first-child:not(.nv-comparison-table)
> h2.wp-block-heading {
    display: block !important;

    width: 100% !important;
    max-width: 980px !important;

    margin: 0 auto 26px !important;
    padding: 0 !important;

    align-self: center !important;

    color: #ffffff !important;

    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(48px, 4.7vw, 68px) !important;
    font-weight: var(--nv-heading-weight) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.04em !important;

    text-align: center !important;
    text-transform: none !important;
    text-wrap: balance !important;
}

/* Comparison description */
body .wp-site-blocks main
.nv-comparison
> h2 + p,

body .wp-site-blocks main
.nv-comparison
> h2 + .wp-block-paragraph,

body .wp-site-blocks main
.nv-comparison
> .nv-comparison-copy
> h2 + p,

body .wp-site-blocks main
.nv-comparison
> .nv-comparison-copy
> h2 + .wp-block-paragraph,

body .wp-site-blocks main
.nv-comparison
> .wp-block-group:first-child:not(.nv-comparison-table)
> h2 + p,

body .wp-site-blocks main
.nv-comparison
> .wp-block-group:first-child:not(.nv-comparison-table)
> h2 + .wp-block-paragraph {
    display: block !important;

    width: 100% !important;
    max-width: 820px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    align-self: center !important;

    color: #aeb4cf !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: -0.01em !important;

    text-align: center !important;
    text-transform: none !important;
}

/* Table wrapper */
body .wp-site-blocks main
.nv-comparison
> .nv-comparison-table {
    width: 100% !important;
    max-width: 1395px !important;

    margin: var(--nv-content-gap) auto 0 !important;
    padding: 0 !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 18px !important;
    box-shadow: none !important;

    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

/* Main comparison table */
body .wp-site-blocks main
.nv-comparison
> .nv-comparison-table
table {
    width: 100% !important;
    min-width: 1050px !important;

    margin: 0 !important;

    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;

    overflow: hidden !important;

    background: #202653 !important;

    border: 1px solid rgba(176, 184, 226, 0.26) !important;
    border-radius: 18px !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.025),
        0 12px 32px rgba(3, 6, 30, 0.12) !important;
}

/* Column widths */
body .wp-site-blocks main
.nv-comparison-table
tr > :first-child {
    width: 35% !important;
}

body .wp-site-blocks main
.nv-comparison-table
tr > :nth-child(2),
body .wp-site-blocks main
.nv-comparison-table
tr > :nth-child(3),
body .wp-site-blocks main
.nv-comparison-table
tr > :nth-child(4) {
    width: 21.666% !important;
}

/* All table cells */
body .wp-site-blocks main
.nv-comparison-table
th,
body .wp-site-blocks main
.nv-comparison-table
td {
    height: auto !important;

    padding: 25px 24px !important;

    vertical-align: middle !important;

    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 1px solid rgba(176, 184, 226, 0.17) !important;
    border-bottom: 1px solid rgba(176, 184, 226, 0.17) !important;

    color: #eef0fa !important;
    background: transparent !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;

    text-align: left !important;
    text-transform: none !important;
}

body .wp-site-blocks main
.nv-comparison-table
tr > :last-child {
    border-right: 0 !important;
}

body .wp-site-blocks main
.nv-comparison-table
tbody tr:last-child > * {
    border-bottom: 0 !important;
}

/* Header row */
body .wp-site-blocks main
.nv-comparison-table
thead th {
    padding-top: 27px !important;
    padding-bottom: 27px !important;

    color: #858cad !important;
    background: #2b315f !important;

    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.07em !important;

    text-align: left !important;
    text-transform: uppercase !important;
}

body .wp-site-blocks main
.nv-comparison-table
thead th:first-child {
    color: transparent !important;
}

body .wp-site-blocks main
.nv-comparison-table
thead th:last-child {
    color: #ffffff !important;
    background: #343a68 !important;
}

/* First column labels */
body .wp-site-blocks main
.nv-comparison-table
tbody td:first-child {
    color: #ffffff !important;

    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

/* Muted Browser Pixel and CAPI values */
body .wp-site-blocks main
.nv-comparison-table
tbody td:nth-child(2),
body .wp-site-blocks main
.nv-comparison-table
tbody td:nth-child(3) {
    color: #b0b5cd !important;
}

/* Highlight Nvektor column */
body .wp-site-blocks main
.nv-comparison-table
tbody td:last-child {
    color: #ffffff !important;

    background:
        linear-gradient(
            180deg,
            rgba(67, 73, 125, 0.74) 0%,
            rgba(58, 65, 116, 0.72) 100%
        ) !important;

    font-weight: 600 !important;
}

/* Rounded corners */
body .wp-site-blocks main
.nv-comparison-table
thead tr:first-child th:first-child {
    border-top-left-radius: 17px !important;
}

body .wp-site-blocks main
.nv-comparison-table
thead tr:first-child th:last-child {
    border-top-right-radius: 17px !important;
}

body .wp-site-blocks main
.nv-comparison-table
tbody tr:last-child td:first-child {
    border-bottom-left-radius: 17px !important;
}

body .wp-site-blocks main
.nv-comparison-table
tbody tr:last-child td:last-child {
    border-bottom-right-radius: 17px !important;
}

/* Tablet */
@media screen and (max-width: 900px) {
    body .wp-site-blocks main .nv-comparison {
        width: calc(100vw - 48px) !important;
        margin-top: var(--nv-section-gap-tablet) !important;
        padding-bottom: 0 !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-copy, .wp-block-group:first-child:not(.nv-comparison-table))
    > h2 {
        max-width: 800px !important;
        font-size: clamp(44px, 7vw, 60px) !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    > .nv-comparison-table {
        margin-top: var(--nv-content-gap-tablet) !important;
    }

    body .wp-site-blocks main
    .nv-comparison-table
    th,
    body .wp-site-blocks main
    .nv-comparison-table
    td {
        padding: 22px 20px !important;
        font-size: 16px !important;
    }
}

/* Mobile */
@media screen and (max-width: 640px) {
    body .wp-site-blocks main .nv-comparison {
        width: calc(100vw - 30px) !important;
        margin-top: var(--nv-section-gap-mobile) !important;
        padding-bottom: 0 !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-copy, .wp-block-group:first-child:not(.nv-comparison-table))
    > p:first-child {
        margin-bottom: 18px !important;
        font-size: 11px !important;
        letter-spacing: 0.10em !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-copy, .wp-block-group:first-child:not(.nv-comparison-table))
    > h2 {
        max-width: 520px !important;
        margin-bottom: 22px !important;
        font-size: clamp(36px, 10vw, 47px) !important;
        line-height: 1.08 !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-copy, .wp-block-group:first-child:not(.nv-comparison-table))
    > h2 + p {
        max-width: 520px !important;
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    > .nv-comparison-table {
        margin-top: var(--nv-content-gap-mobile) !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    > .nv-comparison-table
    table {
        min-width: 880px !important;
    }

    body .wp-site-blocks main
    .nv-comparison-table
    th,
    body .wp-site-blocks main
    .nv-comparison-table
    td {
        padding: 19px 17px !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    body .wp-site-blocks main
    .nv-comparison-table
    thead th {
        font-size: 13px !important;
    }
}
/* =========================================================
   FINAL CTA — REFERENCE MATCH
   Outer Group: nvektor-cta
   Buttons block: nvektor-cta-buttons
   ========================================================= */

body .wp-site-blocks main .nvektor-cta {
    position: relative !important;
    left: auto !important;
    transform: none !important;

    width: min(1395px, calc(100vw - 80px)) !important;
    max-width: 1395px !important;
    min-height: 417px !important;

    margin: var(--nv-section-gap) auto 0 !important;
    padding: 88px 36px 80px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;

    background: #252a57 !important;

    border: 1px solid rgba(174, 181, 222, 0.24) !important;
    border-radius: 23px !important;

    box-shadow: none !important;
    overflow: hidden !important;

    text-align: center !important;
}

/* CTA heading */
body .wp-site-blocks main
.nvektor-cta
> h2,
body .wp-site-blocks main
.nvektor-cta
> h2.wp-block-heading {
    width: 100% !important;
    max-width: 950px !important;

    margin: 0 auto 27px !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-family: "Syne", Arial, sans-serif !important;
    font-size: 44px !important;
    font-weight: var(--nv-heading-weight) !important;
    line-height: 1.15 !important;
    letter-spacing: -1.7px !important;

    text-align: center !important;
    text-transform: none !important;
}

/* CTA description */
body .wp-site-blocks main
.nvektor-cta
> p,
body .wp-site-blocks main
.nvektor-cta
> .wp-block-paragraph {
    width: 100% !important;
    max-width: 650px !important;

    margin: 0 auto 44px !important;
    padding: 0 !important;

    color: #adb1ca !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: -0.01em !important;

    text-align: center !important;
    text-transform: none !important;
}

/* =========================================================
   CTA BUTTON ROW
   ========================================================= */

body .wp-site-blocks main
.nvektor-cta
.nvektor-cta-buttons.wp-block-buttons {
    width: 100% !important;

    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;

    gap: 17px !important;
}

body .wp-site-blocks main
.nvektor-cta
.nvektor-cta-buttons
> .wp-block-button {
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
}

/* Reset both CTA button links */
body .wp-site-blocks main
.nvektor-cta
.nvektor-cta-buttons
> .wp-block-button
> :is(.wp-block-button__link, .wp-element-button) {
    appearance: none !important;
    -webkit-appearance: none !important;

    min-height: 62px !important;

    margin: 0 !important;
    padding: 0 27px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 12px !important;

    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;

    text-align: center !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease !important;
}

/* =========================================================
   FIRST BUTTON — WHITE
   ========================================================= */

body .wp-site-blocks main
.nvektor-cta
.nvektor-cta-buttons
> .wp-block-button:first-child
> :is(.wp-block-button__link, .wp-element-button) {
    min-width: 152px !important;

    color: #0b103f !important;

    background: #ffffff !important;
    background-color: #ffffff !important;

    border: 1px solid #ffffff !important;
}

body .wp-site-blocks main
.nvektor-cta
.nvektor-cta-buttons
> .wp-block-button:first-child
> :is(.wp-block-button__link, .wp-element-button):hover {
    color: #0b103f !important;

    background: #f0f1f6 !important;
    background-color: #f0f1f6 !important;

    border-color: #f0f1f6 !important;

    transform: translateY(-1px) !important;
}

/* =========================================================
   SECOND BUTTON — TRANSPARENT OUTLINE
   ========================================================= */

body .wp-site-blocks main
.nvektor-cta
.nvektor-cta-buttons
> .wp-block-button:nth-child(2)
> :is(.wp-block-button__link, .wp-element-button) {
    min-width: 140px !important;

    color: #ffffff !important;

    background: transparent !important;
    background-color: transparent !important;

    border: 1px solid rgba(160, 168, 210, 0.32) !important;
}

body .wp-site-blocks main
.nvektor-cta
.nvektor-cta-buttons
> .wp-block-button:nth-child(2)
> :is(.wp-block-button__link, .wp-element-button):hover {
    color: #ffffff !important;

    background: rgba(255, 255, 255, 0.06) !important;
    background-color: rgba(255, 255, 255, 0.06) !important;

    border-color: rgba(255, 255, 255, 0.48) !important;

    transform: translateY(-1px) !important;
}

/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 900px) {
    body .wp-site-blocks main .nvektor-cta {
        width: calc(100vw - 48px) !important;
        min-height: 0 !important;

        margin-top: var(--nv-section-gap-tablet) !important;
        margin-bottom: 0 !important;

        padding: 72px 32px 68px !important;
    }

    body .wp-site-blocks main
    .nvektor-cta
    > h2,
    body .wp-site-blocks main
    .nvektor-cta
    > h2.wp-block-heading {
        font-size: 39px !important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 640px) {
    body .wp-site-blocks main .nvektor-cta {
        width: calc(100vw - 28px) !important;

        margin-top: var(--nv-section-gap-mobile) !important;
        margin-bottom: 0 !important;

        padding: 52px 22px 48px !important;

        border-radius: 18px !important;
    }

    body .wp-site-blocks main
    .nvektor-cta
    > h2,
    body .wp-site-blocks main
    .nvektor-cta
    > h2.wp-block-heading {
        max-width: 520px !important;

        margin-bottom: 22px !important;

        font-size: 31px !important;
        line-height: 1.14 !important;
        letter-spacing: -1px !important;
    }

    body .wp-site-blocks main
    .nvektor-cta
    > p,
    body .wp-site-blocks main
    .nvektor-cta
    > .wp-block-paragraph {
        max-width: 520px !important;

        margin-bottom: 32px !important;

        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    body .wp-site-blocks main
    .nvektor-cta
    .nvektor-cta-buttons.wp-block-buttons {
        flex-wrap: wrap !important;
        gap: 12px !important;
    }

    body .wp-site-blocks main
    .nvektor-cta
    .nvektor-cta-buttons
    > .wp-block-button
    > :is(.wp-block-button__link, .wp-element-button) {
        min-height: 56px !important;
        padding: 0 21px !important;

        font-size: 15px !important;
    }
}

@media screen and (max-width: 390px) {
    body .wp-site-blocks main
    .nvektor-cta
    .nvektor-cta-buttons.wp-block-buttons {
        flex-direction: column !important;
    }

    body .wp-site-blocks main
    .nvektor-cta
    .nvektor-cta-buttons
    > .wp-block-button,
    body .wp-site-blocks main
    .nvektor-cta
    .nvektor-cta-buttons
    > .wp-block-button
    > :is(.wp-block-button__link, .wp-element-button) {
        width: min(100%, 250px) !important;
    }
}

/* =========================================================
   CONSISTENCY SAFETY NET
   Keeps section rhythm and heading weight uniform.
   ========================================================= */

body .wp-site-blocks main
:is(
    .nv-hero,
    .nv-breaking,
    .nv-how,
    .nv-architecture,
    .nv-comparison,
    .nvektor-cta
)
:is(h1, h2, h3, .wp-block-heading) {
    font-weight: var(--nv-heading-weight) !important;
}

body .wp-site-blocks main
:is(
    .nv-breaking-grid,
    .nv-architecture-grid,
    .vix-process-section
)
:is(h2, h3, h4, .wp-block-heading) {
    font-weight: var(--nv-card-heading-weight) !important;
}

@media screen and (max-width: 900px) {
    body .wp-site-blocks main
    :is(.nv-breaking, .nv-how, .nv-architecture, .nv-comparison, .nvektor-cta) {
        margin-top: var(--nv-section-gap-tablet) !important;
    }
}

@media screen and (max-width: 700px) {
    body .wp-site-blocks main
    :is(.nv-breaking, .nv-how, .nv-architecture, .nv-comparison, .nvektor-cta) {
        margin-top: var(--nv-section-gap-mobile) !important;
    }
}
/* =========================================================
   NAVIGATION ANCHOR OFFSET
   Keeps section eyebrows visible below the sticky header
   ========================================================= */

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

#why-it-breaks,
#how-it-works,
#architecture,
#comparison {
    scroll-margin-top: 130px !important;
}

/* Extra offset while logged into WordPress because of admin bar */
body.admin-bar #why-it-breaks,
body.admin-bar #how-it-works,
body.admin-bar #architecture,
body.admin-bar #comparison {
    scroll-margin-top: 165px !important;
}

/* Tablet and mobile */
@media screen and (max-width: 782px) {
    html {
        scroll-padding-top: 110px;
    }

    #why-it-breaks,
    #how-it-works,
    #architecture,
    #comparison {
        scroll-margin-top: 110px !important;
    }

    body.admin-bar #why-it-breaks,
    body.admin-bar #how-it-works,
    body.admin-bar #architecture,
    body.admin-bar #comparison {
        scroll-margin-top: 160px !important;
    }
}
.page .wp-block-post-title {
    display: none !important;
}

/* =========================================================
   HEADER — FINAL BALANCED ALIGNMENT
   Logo left | Navigation centred | Buttons right
   ========================================================= */

/* Keep the sticky header below the WordPress admin toolbar. */
body.admin-bar header.wp-block-template-part {
    top: 32px !important;
}

/* Main header card:
   logo uses its natural width,
   navigation occupies the flexible middle area,
   buttons remain against the right edge. */
body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: clamp(50px, 5vw, 85px) !important;

    width: min(1380px, calc(100% - 32px)) !important;
    max-width: 1380px !important;

    margin: 0 auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* Flatten the WordPress Row wrapper so the logo,
   navigation and buttons participate in the same grid. */
body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group
> .wp-block-group {
    display: contents !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Logo — left */
body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group
> .wp-block-html {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: center !important;

    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Navigation — centred within the available middle area */
body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group
> .wp-block-navigation {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;

    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group
> .wp-block-navigation__container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;

    gap: clamp(28px, 2.6vw, 46px) !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Buttons — pinned to the right with clear separation
   from the final navigation item. */
body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group
> .wp-block-buttons {
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;

    gap: 14px !important;

    width: auto !important;
    min-width: max-content !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove possible theme spacing above the header. */
body .wp-site-blocks {
    padding-top: 0 !important;
}

body .wp-site-blocks
> header.wp-block-template-part {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-block-start: 0 !important;
}

body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group {
    margin-block-start: 0 !important;
}

/* Medium desktop */
@media screen and (max-width: 1240px) {
    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        column-gap: 30px !important;
        padding-left: 26px !important;
        padding-right: 26px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group
    > .wp-block-navigation
    .wp-block-navigation__container {
        gap: 24px !important;
    }
}

/* Tablet */
@media screen and (max-width: 930px) {
    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        column-gap: 18px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media screen and (max-width: 782px) {
    body.admin-bar header.wp-block-template-part {
        top: 46px !important;
    }
}

/* Mobile */
@media screen and (max-width: 700px) {
    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        column-gap: 12px !important;

        width: calc(100% - 20px) !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group
    > .wp-block-navigation {
        display: none !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group
    > .wp-block-html {
        grid-column: 1 !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group
    > .wp-block-buttons {
        grid-column: 2 !important;
        justify-self: end !important;
        min-width: 0 !important;
    }
}
/* =========================================================
   HEADER — FINAL POSITIONING OVERRIDE
   Paste at the absolute bottom of the CSS
   ========================================================= */

/* Remove all theme-generated space above the header */
body:not(.admin-bar),
body:not(.admin-bar) .wp-site-blocks {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-block-start: 0 !important;
}

body .wp-site-blocks
> header.wp-block-template-part {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    margin-block-start: 0 !important;

    /* No space above; only space below the header */
    padding: 0 24px 14px !important;

    background: rgba(11, 16, 63, 0.92) !important;
}

/* Keep header below the WordPress toolbar when logged in */
body.admin-bar .wp-site-blocks
> header.wp-block-template-part {
    top: 32px !important;
}

/* Main header card */
body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group {
    width: min(1400px, 100%) !important;
    max-width: 1400px !important;
    min-height: 84px !important;

    margin: 0 auto !important;
    margin-block-start: 0 !important;

    padding: 0 40px !important;

    display: grid !important;

    /*
     Equal flexible areas on the left and right keep the
     navigation centred while the buttons remain far right.
    */
    grid-template-columns:
        minmax(180px, 1fr)
        auto
        minmax(300px, 1fr) !important;

    align-items: center !important;
    column-gap: 36px !important;
}

/*
WordPress has two nested Group/Row wrappers in this header.

Both wrappers must be flattened so that:
logo, navigation and buttons become direct grid items.
*/
body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group
.wp-block-group {
    display: contents !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Logo — far left */
body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group
.wp-block-html {
    grid-column: 1 !important;

    justify-self: start !important;
    align-self: center !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Navigation — exact centre */
body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group
.wp-block-navigation {
    grid-column: 2 !important;

    justify-self: center !important;
    align-self: center !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group
.wp-block-navigation__container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;

    gap: clamp(28px, 2.5vw, 44px) !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Buttons — pushed completely to the right */
body .wp-site-blocks
> header.wp-block-template-part
> .wp-block-group
.wp-block-buttons {
    grid-column: 3 !important;

    justify-self: end !important;
    align-self: center !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;

    gap: 14px !important;

    width: max-content !important;
    min-width: max-content !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Remove any margins added to individual header elements */
body .wp-site-blocks
> header.wp-block-template-part
.wp-block-html,

body .wp-site-blocks
> header.wp-block-template-part
.wp-block-navigation,

body .wp-site-blocks
> header.wp-block-template-part
.wp-block-buttons,

body .wp-site-blocks
> header.wp-block-template-part
.wp-block-button {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}


/* =========================================================
   MEDIUM DESKTOP
   ========================================================= */

@media screen and (max-width: 1240px) {

    body .wp-site-blocks
    > header.wp-block-template-part {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group {
        grid-template-columns:
            auto
            minmax(0, 1fr)
            auto !important;

        column-gap: 28px !important;

        padding-right: 26px !important;
        padding-left: 26px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-navigation__container {
        gap: 24px !important;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 930px) {

    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group {
        grid-template-columns:
            auto
            minmax(0, 1fr)
            auto !important;

        column-gap: 18px !important;

        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-navigation__container {
        gap: 17px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-buttons {
        gap: 9px !important;
    }
}

@media screen and (max-width: 782px) {

    body.admin-bar .wp-site-blocks
    > header.wp-block-template-part {
        top: 46px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 700px) {

    body .wp-site-blocks
    > header.wp-block-template-part {
        padding: 0 10px 10px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group {
        width: 100% !important;
        min-height: 70px !important;

        grid-template-columns:
            minmax(0, 1fr)
            auto !important;

        column-gap: 12px !important;

        padding-right: 15px !important;
        padding-left: 15px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-navigation {
        display: none !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-html {
        grid-column: 1 !important;
        justify-self: start !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-buttons {
        grid-column: 2 !important;

        justify-self: end !important;

        width: auto !important;
        min-width: 0 !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:first-child {
        display: none !important;
    }
}
/* =========================================================
   FOOTER LOGO — VISIBILITY FIX
   ========================================================= */

body footer.wp-block-template-part
.nvektor-footer
.wp-block-columns
.wp-block-column:first-child
.wp-block-image {
    display: block !important;

    width: auto !important;
    max-width: 230px !important;
    height: auto !important;

    margin: 0 0 20px !important;
    padding: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;

    background: transparent !important;
    border: 0 !important;
}

body footer.wp-block-template-part
.nvektor-footer
.wp-block-columns
.wp-block-column:first-child
.wp-block-image img {
    display: block !important;

    width: 190px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;

    object-fit: contain !important;
    object-position: left center !important;

    background: transparent !important;
}
/* =========================================================
   FOOTER — LARGER LOGO + UPPER/LOWER SEPARATORS
   Paste at the absolute bottom of the CSS
   ========================================================= */

/* Main footer spacing */
body footer.wp-block-template-part .nvektor-footer {
    padding-top: 70px !important;
}

/* Larger logo wrapper */
body footer.wp-block-template-part
.nvektor-footer
> .wp-block-columns
> .wp-block-column:first-child
.wp-block-image,
body footer.wp-block-template-part
.nvektor-footer
> .wp-block-columns
> .wp-block-column:first-child
figure {
    display: block !important;

    width: 280px !important;
    max-width: 280px !important;
    height: auto !important;

    margin: 0 0 20px !important;
    padding: 0 !important;

    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Larger logo image */
body footer.wp-block-template-part
.nvektor-footer
> .wp-block-columns
> .wp-block-column:first-child
.wp-block-image img,
body footer.wp-block-template-part
.nvektor-footer
> .wp-block-columns
> .wp-block-column:first-child
figure img {
    display: block !important;

    width: 280px !important;
    max-width: 280px !important;
    height: auto !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: left center !important;

    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
}

/* Shared style for both footer separators */
body footer.wp-block-template-part
.nvektor-footer
> .wp-block-separator {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: 1px !important;

    padding: 0 !important;

    background: rgba(155, 163, 207, 0.18) !important;
    border: 0 !important;
    opacity: 1 !important;
}

/* Upper separator — first block in footer */
body footer.wp-block-template-part
.nvektor-footer
> .wp-block-separator:first-child {
    margin: 0 0 70px !important;
}

/* Main footer content */
body footer.wp-block-template-part
.nvektor-footer
> .wp-block-separator:first-child
+ .wp-block-columns {
    margin-top: 0 !important;
    margin-bottom: 68px !important;
}

/* Lower separator — directly after the footer Columns */
body footer.wp-block-template-part
.nvektor-footer
> .wp-block-columns
+ .wp-block-separator {
    margin: 0 0 31px !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1080px) {

    body footer.wp-block-template-part .nvektor-footer {
        padding-top: 54px !important;
    }

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-separator:first-child {
        margin-bottom: 54px !important;
    }

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-columns
    > .wp-block-column:first-child
    :is(.wp-block-image, figure),

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-columns
    > .wp-block-column:first-child
    :is(.wp-block-image, figure)
    img {
        width: 250px !important;
        max-width: 250px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 700px) {

    body footer.wp-block-template-part .nvektor-footer {
        padding-top: 40px !important;
    }

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-separator:first-child {
        margin-bottom: 44px !important;
    }

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-columns
    > .wp-block-column:first-child
    :is(.wp-block-image, figure),

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-columns
    > .wp-block-column:first-child
    :is(.wp-block-image, figure)
    img {
        width: 220px !important;
        max-width: 220px !important;
    }
}
/* =========================================================
   NVEKTOR — FINAL TABLET AND MOBILE RESPONSIVE OVERRIDE
   Paste at the absolute bottom of the CSS
   ========================================================= */

/* Prevent all blocks from forcing horizontal scrolling */
html,
body,
.wp-site-blocks,
main {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
}

main *,
header.wp-block-template-part *,
footer.wp-block-template-part * {
    min-width: 0;
}

img,
svg,
video,
iframe {
    max-width: 100%;
}

/* Prevent long headings and paragraphs from escaping cards */
main h1,
main h2,
main h3,
main h4,
main p {
    overflow-wrap: break-word;
    word-break: normal;
}


/* =========================================================
   TABLET HEADER
   Logo left | Get Started right
   Navigation and Login hidden when space becomes limited
   ========================================================= */

@media screen and (max-width: 1050px) {

    body .wp-site-blocks
    > header.wp-block-template-part {
        width: 100% !important;
        padding: 0 14px 12px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 76px !important;

        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 18px !important;

        margin: 0 auto !important;
        padding: 0 22px !important;

        border-radius: 16px !important;
    }

    /* Continue flattening WordPress wrappers */
    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group
    .wp-block-group {
        display: contents !important;
    }

    /* Hide desktop navigation on tablet */
    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-navigation {
        display: none !important;
    }

    /* Logo */
    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-html {
        grid-column: 1 !important;
        justify-self: start !important;

        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Buttons */
    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-buttons {
        grid-column: 2 !important;
        justify-self: end !important;

        width: auto !important;
        min-width: 0 !important;
        gap: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* Hide Login button */
    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:first-child {
        display: none !important;
    }

    /* Get Started button */
    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:nth-child(2)
    :is(.wp-block-button__link, .wp-element-button) {
        min-width: 128px !important;
        min-height: 46px !important;

        padding: 0 18px !important;

        font-size: 13px !important;
        white-space: nowrap !important;
    }

    .nvektor-brand {
        max-width: 170px !important;
    }

    .nvektor-brand-logo {
        max-width: 135px !important;
        height: auto !important;
    }
}


/* =========================================================
   TABLET PAGE LAYOUT
   ========================================================= */

@media screen and (max-width: 900px) {

    :root {
        --nv-section-gap-tablet: 96px;
        --nv-content-gap-tablet: 46px;
    }

    /* Replace 100vw widths that can cause overflow */
    body .wp-site-blocks main
    :is(
        .nv-breaking,
        .nv-how,
        .nv-architecture,
        .nv-comparison,
        .nvektor-cta
    ) {
        width: calc(100% - 40px) !important;
        max-width: none !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Hero */
    body .wp-site-blocks main .nv-hero {
        width: calc(100% - 40px) !important;
        max-width: 850px !important;

        padding-top: 48px !important;
    }

    body .wp-site-blocks main .nv-hero
    > :is(h1, h2, .wp-block-heading) {
        max-width: 760px !important;

        font-size: clamp(44px, 7vw, 58px) !important;
        line-height: 1.07 !important;
    }

    body .wp-site-blocks main .nv-hero
    > :is(h1, h2, .wp-block-heading) + p {
        max-width: 680px !important;

        font-size: 18px !important;
    }

    /* Keep SVG card inside the viewport */
    body .wp-site-blocks main
    .wp-block-html:has(.tracking-flow-card) {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
    }

    .tracking-flow-card {
        width: 100% !important;
        max-width: 100% !important;

        margin-top: 36px !important;
        padding: 18px !important;
    }

    /* Why it breaks: stack cards on tablet */
    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid {
        grid-template-columns: 1fr !important;
        grid-auto-rows: auto !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns
    > .wp-block-column,
    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns
    > .wp-block-column:hover {
        min-height: 0 !important;

        padding: 36px 32px 38px !important;

        border-right: 0 !important;
        border-bottom:
            1px solid rgba(176, 184, 226, 0.16) !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns:last-child
    > .wp-block-column:last-child {
        border-bottom: 0 !important;
    }

    /* Architecture: one card per row */
    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid {
        grid-template-columns: 1fr !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid
    > .wp-block-columns
    > .wp-block-column {
        min-height: 0 !important;
    }

    /* Comparison table scrolls only inside its own wrapper */
    body .wp-site-blocks main
    .nv-comparison
    > .nv-comparison-table {
        width: 100% !important;
        max-width: 100% !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    body .wp-site-blocks main
    .nv-comparison
    > .nv-comparison-table
    table {
        min-width: 850px !important;
    }

    /* CTA */
    body .wp-site-blocks main .nvektor-cta {
        width: calc(100% - 40px) !important;
        min-height: 0 !important;

        padding: 66px 32px 62px !important;
    }

    /* Footer */
    body footer.wp-block-template-part .nvektor-footer {
        width: calc(100% - 40px) !important;
    }

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-columns {
        grid-template-columns: 1fr !important;
        gap: 52px !important;
    }
}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media screen and (max-width: 820px) {

    /* Process steps become one column before mobile */
    body .wp-site-blocks main
    .nv-how
    .vix-process-section {
        grid-template-columns: 1fr !important;
        gap: 38px !important;

        max-width: 650px !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-line {
        display: none !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-item {
        min-height: 58px !important;
        padding-left: 76px !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-number {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;

        width: 56px !important;
        height: 56px !important;

        margin: 0 !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-item p {
        max-width: 100% !important;
    }
}


/* WordPress toolbar */
@media screen and (max-width: 782px) {

    body.admin-bar .wp-site-blocks
    > header.wp-block-template-part {
        top: 46px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 640px) {

    :root {
        --nv-section-gap-mobile: 72px;
        --nv-content-gap-mobile: 34px;
    }

    body .wp-site-blocks
    > header.wp-block-template-part {
        padding: 0 8px 9px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group {
        min-height: 68px !important;
        column-gap: 8px !important;

        padding: 0 14px !important;

        border-radius: 14px !important;
    }

    .nvektor-brand {
        max-width: 145px !important;
        gap: 5px !important;
    }

    .nvektor-brand-logo {
        max-width: 110px !important;
        max-height: 22px !important;
    }

    .nvektor-brand-icon {
        width: 22px !important;
        height: 22px !important;
        max-width: 22px !important;
        max-height: 22px !important;
        flex-basis: 22px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:nth-child(2)
    :is(.wp-block-button__link, .wp-element-button) {
        min-width: 112px !important;
        min-height: 42px !important;

        padding: 0 13px !important;

        border-radius: 11px !important;
        font-size: 11px !important;
    }

    body .wp-site-blocks main
    :is(
        .nv-breaking,
        .nv-how,
        .nv-architecture,
        .nv-comparison,
        .nvektor-cta
    ) {
        width: calc(100% - 28px) !important;
    }

    /* Hero */
    body .wp-site-blocks main .nv-hero {
        width: calc(100% - 28px) !important;

        padding-top: 34px !important;
    }

    body .wp-site-blocks main .nv-hero
    > p:first-child {
        margin-bottom: 16px !important;

        font-size: 10px !important;
        line-height: 1.55 !important;
    }

    body .wp-site-blocks main .nv-hero
    > :is(h1, h2, .wp-block-heading) {
        margin-bottom: 19px !important;

        font-size: clamp(34px, 10.5vw, 43px) !important;
        line-height: 1.08 !important;
        letter-spacing: -0.035em !important;
    }

    body .wp-site-blocks main .nv-hero
    > :is(h1, h2, .wp-block-heading) + p {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    /* Hero buttons */
    body .wp-site-blocks main
    .nv-hero
    .nv-hero-buttons.wp-block-buttons {
        margin-top: 28px !important;
        gap: 10px !important;
    }

    body .wp-site-blocks main
    .nv-hero
    .nv-hero-buttons
    > .wp-block-button
    > :is(.wp-block-button__link, .wp-element-button) {
        min-height: 54px !important;

        padding: 0 18px !important;

        font-size: 14px !important;
    }

    /* Tracking diagram */
    .tracking-flow-card {
        margin-top: 28px !important;
        padding: 14px 10px 16px !important;

        border-radius: 17px !important;
    }

    .tracking-flow-card .diagram-wrap {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        -webkit-overflow-scrolling: auto !important;
    }

    /* Fit the complete diagram inside the phone viewport. */
    .tracking-flow-card .diagram-wrap svg,
    .tracking-flow-card .tracking-diagram {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
        overflow: visible !important;
    }

    .tracking-flow-card .legend {
        margin: 20px 4px 0 !important;
    }

    /* Section headings */
    body .wp-site-blocks main
    :is(
        .nv-breaking-copy,
        .nv-how-copy,
        .nv-architecture-copy,
        .nv-comparison-copy
    )
    > h2,
    body .wp-site-blocks main
    :is(
        .nv-breaking-copy,
        .nv-how-copy,
        .nv-architecture-copy,
        .nv-comparison-copy
    )
    > h2.wp-block-heading {
        margin-bottom: 19px !important;

        font-size: clamp(32px, 10vw, 40px) !important;
        line-height: 1.1 !important;
        letter-spacing: -0.035em !important;
    }

    body .wp-site-blocks main
    :is(
        .nv-breaking-copy,
        .nv-how-copy,
        .nv-architecture-copy,
        .nv-comparison-copy
    )
    > h2 + p {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    /* Why it breaks cards */
    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns
    > .wp-block-column,
    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns
    > .wp-block-column:hover {
        padding: 28px 22px 30px !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns
    > .wp-block-column
    > :is(h2, h3, h4, .wp-block-heading) {
        margin-bottom: 18px !important;

        font-size: 23px !important;
        line-height: 1.2 !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid
    > .wp-block-columns
    > .wp-block-column
    > p:not(:first-child) {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    /* Process section */
    body .wp-site-blocks main
    .nv-how
    .vix-process-item {
        padding-left: 70px !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-number {
        width: 52px !important;
        height: 52px !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-item h3 {
        margin-bottom: 12px !important;

        font-size: 20px !important;
    }

    body .wp-site-blocks main
    .nv-how
    .vix-process-item p {
        font-size: 15px !important;
    }

    /* Architecture cards */
    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid
    > .wp-block-columns
    > .wp-block-column {
        padding: 27px 22px 30px !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid
    > .wp-block-columns
    > .wp-block-column
    > :is(h2, h3, h4, .wp-block-heading) {
        font-size: 23px !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid
    > .wp-block-columns
    > .wp-block-column
    > p:not(:first-of-type) {
        font-size: 15px !important;
    }

    /* Comparison */
    body .wp-site-blocks main
    .nv-comparison
    > .nv-comparison-table
    table {
        min-width: 760px !important;
    }

    /* CTA */
    body .wp-site-blocks main .nvektor-cta {
        width: calc(100% - 28px) !important;

        padding: 46px 20px 44px !important;

        border-radius: 17px !important;
    }

    body .wp-site-blocks main
    .nvektor-cta
    > h2,
    body .wp-site-blocks main
    .nvektor-cta
    > h2.wp-block-heading {
        font-size: 29px !important;
        line-height: 1.15 !important;
    }

    body .wp-site-blocks main
    .nvektor-cta
    > p {
        font-size: 15px !important;
    }

    /* Footer */
    body footer.wp-block-template-part .nvektor-footer {
        width: calc(100% - 28px) !important;

        padding-top: 38px !important;
    }

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-columns
    > .wp-block-column:nth-child(2)
    > .wp-block-columns {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-columns
    > .wp-block-column:first-child
    :is(.wp-block-image, figure),
    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-columns
    > .wp-block-column:first-child
    :is(.wp-block-image, figure) img {
        width: 190px !important;
        max-width: 190px !important;
    }
}


/* =========================================================
   NARROW PHONES
   ========================================================= */

@media screen and (max-width: 520px) {

    /* Stack hero buttons */
    body .wp-site-blocks main
    .nv-hero
    .nv-hero-buttons.wp-block-buttons {
        flex-direction: column !important;
        align-items: center !important;
    }

    body .wp-site-blocks main
    .nv-hero
    .nv-hero-buttons
    > .wp-block-button,
    body .wp-site-blocks main
    .nv-hero
    .nv-hero-buttons
    > .wp-block-button
    > :is(.wp-block-button__link, .wp-element-button) {
        width: min(100%, 230px) !important;
    }

    /* Stack CTA buttons */
    body .wp-site-blocks main
    .nvektor-cta
    .nvektor-cta-buttons.wp-block-buttons {
        flex-direction: column !important;
        align-items: center !important;
    }

    body .wp-site-blocks main
    .nvektor-cta
    .nvektor-cta-buttons
    > .wp-block-button,
    body .wp-site-blocks main
    .nvektor-cta
    .nvektor-cta-buttons
    > .wp-block-button
    > :is(.wp-block-button__link, .wp-element-button) {
        width: min(100%, 230px) !important;
    }
}


/* =========================================================
   ANCHOR OFFSET FOR STICKY RESPONSIVE HEADER
   ========================================================= */

@media screen and (max-width: 1050px) {

    html {
        scroll-padding-top: 105px !important;
    }

    #why-it-breaks,
    #how-it-works,
    #architecture,
    #comparison {
        scroll-margin-top: 105px !important;
    }

    body.admin-bar #why-it-breaks,
    body.admin-bar #how-it-works,
    body.admin-bar #architecture,
    body.admin-bar #comparison {
        scroll-margin-top: 155px !important;
    }
}
/* =========================================================
   FOOTER BOTTOM ROW — TABLET OVERLAP FIX
   Paste at the absolute bottom of the CSS
   ========================================================= */

@media screen and (max-width: 1080px) {

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-separator
    + .wp-block-group {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;

        width: 100% !important;
        gap: 12px !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-separator
    + .wp-block-group
    > p {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 13px !important;
        line-height: 1.5 !important;

        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    body footer.wp-block-template-part
    .nvektor-footer
    > .wp-block-separator
    + .wp-block-group
    > p:last-child {
        margin-left: 0 !important;
        text-align: left !important;
    }
}
/* =========================================================
   MOBILE COMPARISON ACCORDION
   Desktop/tablet: original table
   Mobile: accordion
   ========================================================= */

/* Hidden by default on desktop and tablet */
body .wp-site-blocks main .nv-mobile-comparison {
    display: none !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 700px) {

    /* Hide the original desktop table only on mobile */
    body .wp-site-blocks main
    .nv-comparison
    .nv-comparison-table {
        display: none !important;
    }

    /* Show the mobile accordion */
    body .wp-site-blocks main
    .nv-comparison
    .nv-mobile-comparison {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 38px auto 0 !important;
        padding: 0 !important;

        color: #ffffff !important;
        text-align: left !important;

        overflow: visible !important;
    }

    body .wp-site-blocks main
    .nv-mobile-comparison,
    body .wp-site-blocks main
    .nv-mobile-comparison * {
        box-sizing: border-box !important;

        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;

        word-break: normal !important;
    }


    /* =====================================================
       ACCORDION CARD
       ===================================================== */

    body .wp-site-blocks main
    .nv-mobile-comparison-card {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        background:
            linear-gradient(
                145deg,
                rgba(35, 41, 91, 0.98) 0%,
                rgba(29, 35, 82, 0.98) 100%
            ) !important;

        border: 1px solid rgba(176, 184, 226, 0.22) !important;
        border-radius: 15px !important;

        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.025),
            0 10px 24px rgba(3, 6, 30, 0.10) !important;

        overflow: hidden !important;
    }


    /* =====================================================
       ACCORDION HEADING
       ===================================================== */

    body .wp-site-blocks main
    .nv-mobile-comparison-card
    > summary {
        position: relative !important;

        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 19px 54px 19px 18px !important;

        color: #ffffff !important;
        background: transparent !important;

        font-family: "Syne", Arial, sans-serif !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        letter-spacing: -0.015em !important;

        text-align: left !important;

        cursor: pointer !important;
        list-style: none !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    body .wp-site-blocks main
    .nv-mobile-comparison-card
    > summary::-webkit-details-marker {
        display: none !important;
    }

    body .wp-site-blocks main
    .nv-mobile-comparison-card
    > summary::marker {
        display: none !important;
        content: "" !important;
    }

    /* Plus button */
    body .wp-site-blocks main
    .nv-mobile-comparison-card
    > summary::after {
        content: "+" !important;

        position: absolute !important;
        top: 50% !important;
        right: 17px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 28px !important;
        height: 28px !important;

        color: #ffffff !important;
        background: rgba(255, 255, 255, 0.055) !important;

        border: 1px solid rgba(176, 184, 226, 0.20) !important;
        border-radius: 50% !important;

        font-family: "Inter", Arial, sans-serif !important;
        font-size: 19px !important;
        font-weight: 400 !important;
        line-height: 1 !important;

        transform: translateY(-50%) !important;
    }

    /* Minus button when open */
    body .wp-site-blocks main
    .nv-mobile-comparison-card[open]
    > summary::after {
        content: "−" !important;
    }

    body .wp-site-blocks main
    .nv-mobile-comparison-card[open]
    > summary {
        background: rgba(255, 255, 255, 0.025) !important;

        border-bottom:
            1px solid rgba(176, 184, 226, 0.14) !important;
    }


    /* =====================================================
       ACCORDION CONTENT
       ===================================================== */

    body .wp-site-blocks main
    .nv-mobile-comparison-content {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* =====================================================
       BROWSER PIXEL / CAPI / NVEKTOR ROWS
       ===================================================== */

    body .wp-site-blocks main
    .nv-mobile-comparison-row {
        display: grid !important;
        grid-template-columns:
            minmax(100px, 34%)
            minmax(0, 1fr) !important;

        align-items: start !important;
        gap: 14px !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 16px 18px !important;

        background: transparent !important;

        border: 0 !important;
        border-bottom:
            1px solid rgba(176, 184, 226, 0.12) !important;
    }

    body .wp-site-blocks main
    .nv-mobile-comparison-row:last-child {
        border-bottom: 0 !important;
    }

    /* Platform name */
    body .wp-site-blocks main
    .nv-mobile-comparison-row
    > span {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #858cad !important;

        font-family: "DM Mono", Consolas, monospace !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;
        letter-spacing: 0.055em !important;

        text-align: left !important;
        text-transform: uppercase !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    /* Value */
    body .wp-site-blocks main
    .nv-mobile-comparison-row
    > strong {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #c0c4d9 !important;

        font-family: "Inter", Arial, sans-serif !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.45 !important;

        text-align: left !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }


    /* =====================================================
       NVEKTOR HIGHLIGHT
       ===================================================== */

    body .wp-site-blocks main
    .nv-mobile-comparison-row.nv-mobile-nvektor {
        background:
            linear-gradient(
                90deg,
                rgba(70, 77, 133, 0.62) 0%,
                rgba(62, 69, 123, 0.56) 100%
            ) !important;
    }

    body .wp-site-blocks main
    .nv-mobile-comparison-row.nv-mobile-nvektor
    > span,
    body .wp-site-blocks main
    .nv-mobile-comparison-row.nv-mobile-nvektor
    > strong {
        color: #ffffff !important;
    }
}


/* =========================================================
   VERY NARROW PHONES
   ========================================================= */

@media screen and (max-width: 380px) {

    body .wp-site-blocks main
    .nv-mobile-comparison-card
    > summary {
        padding: 18px 50px 18px 16px !important;
        font-size: 17px !important;
    }

    body .wp-site-blocks main
    .nv-mobile-comparison-row {
        grid-template-columns: 1fr !important;
        gap: 5px !important;

        padding: 15px 16px !important;
    }
}
/* =========================================================
   FINAL FIX — MOBILE/TABLET TABLE + BOTH HEADER BUTTONS
   Paste at the absolute bottom of the CSS
   ========================================================= */


/* =========================================================
   1. SHOW ORIGINAL COMPARISON TABLE ON MOBILE
   The table will scroll horizontally.
   ========================================================= */

@media screen and (max-width: 700px) {

    /* Show the original WordPress table */
    body .wp-site-blocks main
    .nv-comparison
    .nv-comparison-table,

    body .wp-site-blocks main
    .nv-comparison
    .wp-block-table {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        margin-top: 34px !important;
        padding: 0 !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        border-radius: 15px !important;

        scrollbar-width: thin !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-inline: contain !important;
    }

    /* Hide the unused mobile accordion */
    body .wp-site-blocks main
    .nv-comparison
    .nv-mobile-comparison {
        display: none !important;
    }

    /* Keep the table readable instead of squeezing columns */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    table {
        display: table !important;

        width: 760px !important;
        min-width: 760px !important;
        max-width: none !important;

        table-layout: fixed !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    th,

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    td {
        padding: 17px 15px !important;

        font-size: 13px !important;
        line-height: 1.4 !important;

        white-space: normal !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    thead th {
        font-size: 12px !important;
    }
}


/* =========================================================
   2. SHOW LOGIN + GET STARTED ON TABLET AND MOBILE
   ========================================================= */

@media screen and (max-width: 1050px) {

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-buttons {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;

        width: max-content !important;
        min-width: max-content !important;

        gap: 8px !important;
    }

    /* Restore Login button */
    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:first-child {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:first-child
    :is(.wp-block-button__link, .wp-element-button) {
        min-width: 76px !important;
        min-height: 44px !important;

        padding: 0 14px !important;

        font-size: 12px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:nth-child(2)
    :is(.wp-block-button__link, .wp-element-button) {
        min-width: 108px !important;
        min-height: 44px !important;

        padding: 0 15px !important;

        font-size: 12px !important;
    }
}


/* =========================================================
   MOBILE HEADER SIZING
   ========================================================= */

@media screen and (max-width: 640px) {

    body .wp-site-blocks
    > header.wp-block-template-part
    > .wp-block-group {
        grid-template-columns: minmax(80px, 1fr) auto !important;
        column-gap: 7px !important;

        padding-left: 11px !important;
        padding-right: 11px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-buttons {
        gap: 6px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:first-child {
        display: block !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:first-child
    :is(.wp-block-button__link, .wp-element-button) {
        min-width: 58px !important;
        min-height: 40px !important;

        padding: 0 9px !important;

        border-radius: 10px !important;
        font-size: 10px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:nth-child(2)
    :is(.wp-block-button__link, .wp-element-button) {
        min-width: 88px !important;
        min-height: 40px !important;

        padding: 0 10px !important;

        border-radius: 10px !important;
        font-size: 10px !important;
    }

    .nvektor-brand {
        max-width: 112px !important;
    }

    .nvektor-brand-logo {
        max-width: 83px !important;
        height: auto !important;
    }

    .nvektor-brand-icon {
        width: 20px !important;
        height: 20px !important;
        max-width: 20px !important;
        max-height: 20px !important;
        flex-basis: 20px !important;
    }
}


/* Extra-small phones */
@media screen and (max-width: 370px) {

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:first-child
    :is(.wp-block-button__link, .wp-element-button) {
        min-width: 53px !important;
        padding-inline: 7px !important;
        font-size: 9px !important;
    }

    body .wp-site-blocks
    > header.wp-block-template-part
    .wp-block-button:nth-child(2)
    :is(.wp-block-button__link, .wp-element-button) {
        min-width: 80px !important;
        padding-inline: 8px !important;
        font-size: 9px !important;
    }

    .nvektor-brand {
        max-width: 100px !important;
    }

    .nvektor-brand-logo {
        max-width: 73px !important;
    }
}
/* =========================================================
   MOBILE COMPARISON — HEADING + THREE POINTS
   No cards and no horizontal scrolling
   ========================================================= */

@media screen and (max-width: 700px) {

    /* Show the original table wrapper */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table) {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 36px auto 0 !important;
        padding: 0 !important;

        overflow: visible !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /* Do not display the separate mobile accordion */
    body .wp-site-blocks main
    .nv-comparison
    .nv-mobile-comparison {
        display: none !important;
    }

    /* Convert the table to a normal vertical layout */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    table {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        table-layout: auto !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    /* Hide desktop table headings */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    thead {
        display: none !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
    }

    /* Each original row becomes one comparison section */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody tr {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 0 34px !important;
        padding: 0 0 32px !important;

        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(176, 184, 226, 0.18) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody tr:last-child {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: 0 !important;
    }

    /* Reset every cell */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 8px 0 !important;

        color: #c0c4d9 !important;
        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        font-family: "Inter", Arial, sans-serif !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 1.5 !important;

        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }

    /* Comparison key becomes the heading */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:first-child {
        display: block !important;

        margin: 0 0 13px !important;
        padding: 0 !important;

        color: #ffffff !important;
        background: transparent !important;

        font-family: "Syne", Arial, sans-serif !important;
        font-size: 21px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: -0.02em !important;
    }

    /* Each answer becomes one labelled point */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:not(:first-child) {
        display: grid !important;
        grid-template-columns: 118px minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 12px !important;
    }

    /* Browser Pixel label */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:nth-child(2)::before {
        content: "Browser Pixel";
    }

    /* CAPI label */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:nth-child(3)::before {
        content: "CAPI";
    }

    /* Nvektor label */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:nth-child(4)::before {
        content: "Nvektor";
    }

    /* Styling for the three labels */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:not(:first-child)::before {
        display: block !important;

        color: #858cad !important;

        font-family: "DM Mono", Consolas, monospace !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1.5 !important;
        letter-spacing: 0.045em !important;

        text-align: left !important;
        text-transform: uppercase !important;
    }

    /* Highlight only the Nvektor answer */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:nth-child(4) {
        color: #ffffff !important;
        font-weight: 650 !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:nth-child(4)::before {
        color: #ffffff !important;
    }
}


/* Very narrow phones */
@media screen and (max-width: 380px) {

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:not(:first-child) {
        grid-template-columns: 1fr !important;
        gap: 2px !important;
        padding: 7px 0 !important;
    }
}
/* Remove the first comparison row on mobile */
@media screen and (max-width: 700px) {
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody tr:first-child {
        display: none !important;
    }
}
/* Space between How It Works description and numbered steps */
body .wp-site-blocks main
.nv-how
> .nv-how-copy
+ .wp-block-html:has(.vix-process-section) {
    margin-top: 70px !important;
}

/* Tablet */
@media screen and (max-width: 1000px) {
    body .wp-site-blocks main
    .nv-how
    > .nv-how-copy
    + .wp-block-html:has(.vix-process-section) {
        margin-top: 54px !important;
    }
}

/* Mobile */
@media screen and (max-width: 700px) {
    body .wp-site-blocks main
    .nv-how
    > .nv-how-copy
    + .wp-block-html:has(.vix-process-section) {
        margin-top: 40px !important;
    }
}
/* Mobile: space between description and first process step */
@media screen and (max-width: 700px) {

    body .wp-site-blocks main
    .nv-how
    > .nv-how-copy
    + .wp-block-html:has(.vix-process-section) {
        margin-top: 58px !important;
    }
}
/* =========================================================
   NVEKTOR PRIVACY POLICY PAGE — CLEAN MINIMAL VERSION
   ========================================================= */

body .wp-site-blocks main .nv-privacy-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 42px clamp(24px, 6vw, 96px) 110px !important;
    color: #ffffff !important;
    text-align: left !important;
}

body .wp-site-blocks main
.nv-privacy-page
.nv-legal-container {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Legal label */
body .wp-site-blocks main
.nv-privacy-page
.nv-legal-eyebrow {
    display: block !important;
    margin: 0 0 14px !important;
    color: rgba(255, 255, 255, 0.62) !important;
    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.14em !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

/* Main heading */
body .wp-site-blocks main
.nv-privacy-page
h1 {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(42px, 5vw, 58px) !important;
    font-weight: 500 !important;
    line-height: 1.07 !important;
    letter-spacing: -0.04em !important;
    text-align: left !important;
    text-wrap: balance !important;
}

/* Last updated */
body .wp-site-blocks main
.nv-privacy-page
.nv-legal-date {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.46) !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    text-align: left !important;
}

/* Divider */
body .wp-site-blocks main
.nv-privacy-page
.nv-legal-divider {
    width: 100% !important;
    max-width: 760px !important;
    height: 1px !important;
    margin: 26px 0 30px !important;
    background: rgba(255, 255, 255, 0.11) !important;
}

/* Body text */
body .wp-site-blocks main
.nv-privacy-page
p {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

/* Sections */
body .wp-site-blocks main
.nv-privacy-page
.nv-legal-section {
    width: 100% !important;
    max-width: 800px !important;
    margin: 44px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
}

body .wp-site-blocks main
.nv-privacy-page
h2 {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(22px, 2.2vw, 28px) !important;
    font-weight: 500 !important;
    line-height: 1.24 !important;
    letter-spacing: -0.02em !important;
    text-align: left !important;
}

/* Lists */
body .wp-site-blocks main
.nv-privacy-page
ul {
    max-width: 760px !important;
    margin: 16px 0 0 !important;
    padding: 0 0 0 18px !important;
}

body .wp-site-blocks main
.nv-privacy-page
li {
    margin: 0 0 9px !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

/* Links */
body .wp-site-blocks main
.nv-privacy-page
a {
    color: #ffffff !important;
    text-decoration-color: rgba(255, 255, 255, 0.4) !important;
    text-underline-offset: 4px !important;
}

body .wp-site-blocks main
.nv-privacy-page
a:hover {
    color: rgba(255, 255, 255, 0.82) !important;
    text-decoration-color: rgba(255, 255, 255, 0.72) !important;
}

/* Contact box */
body .wp-site-blocks main
.nv-privacy-page
.nv-legal-contact {
    width: 100% !important;
    max-width: 760px !important;
    margin-top: 50px !important;
    padding: 24px 26px !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

body .wp-site-blocks main
.nv-privacy-page
.nv-legal-contact h2 {
    margin-bottom: 10px !important;
}

/* Tablet */
@media screen and (max-width: 900px) {
    body .wp-site-blocks main .nv-privacy-page {
        padding: 34px 30px 88px !important;
    }
}

/* Mobile */
@media screen and (max-width: 700px) {
    body .wp-site-blocks main .nv-privacy-page {
        padding: 28px 18px 74px !important;
    }

    body .wp-site-blocks main
    .nv-privacy-page
    h1 {
        font-size: clamp(36px, 11vw, 46px) !important;
    }

    body .wp-site-blocks main
    .nv-privacy-page
    .nv-legal-divider {
        margin: 22px 0 26px !important;
    }

    body .wp-site-blocks main
    .nv-privacy-page
    .nv-legal-section {
        margin-top: 34px !important;
    }

    body .wp-site-blocks main
    .nv-privacy-page
    h2 {
        font-size: 22px !important;
    }

    body .wp-site-blocks main
    .nv-privacy-page
    p,
    body .wp-site-blocks main
    .nv-privacy-page
    li {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }

    body .wp-site-blocks main
    .nv-privacy-page
    .nv-legal-contact {
        margin-top: 38px !important;
        padding: 22px 18px !important;
    }
}

/* =========================================================
   NVEKTOR TERMS OF SERVICE PAGE — CLEAN MINIMAL VERSION
   ========================================================= */

body .wp-site-blocks main .nv-terms-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 42px clamp(24px, 6vw, 96px) 110px !important;
    color: #ffffff !important;
    text-align: left !important;
}

body .wp-site-blocks main
.nv-terms-page
.nv-terms-container {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Legal label */
body .wp-site-blocks main
.nv-terms-page
.nv-terms-eyebrow {
    display: block !important;
    margin: 0 0 14px !important;
    color: rgba(255, 255, 255, 0.62) !important;
    font-family: "DM Mono", Consolas, monospace !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.14em !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

/* Main heading */
body .wp-site-blocks main
.nv-terms-page
h1 {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(42px, 5vw, 58px) !important;
    font-weight: 500 !important;
    line-height: 1.07 !important;
    letter-spacing: -0.04em !important;
    text-align: left !important;
    text-wrap: balance !important;
}

/* Last updated */
body .wp-site-blocks main
.nv-terms-page
.nv-terms-date {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.46) !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    text-align: left !important;
}

/* Divider */
body .wp-site-blocks main
.nv-terms-page
.nv-terms-divider {
    width: 100% !important;
    max-width: 760px !important;
    height: 1px !important;
    margin: 26px 0 30px !important;
    background: rgba(255, 255, 255, 0.11) !important;
}

/* Body text */
body .wp-site-blocks main
.nv-terms-page
p {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

body .wp-site-blocks main
.nv-terms-page
.nv-terms-intro {
    max-width: 800px !important;
    color: rgba(255, 255, 255, 0.80) !important;
    font-size: 18px !important;
    line-height: 1.72 !important;
}

/* Sections */
body .wp-site-blocks main
.nv-terms-page
.nv-terms-section {
    width: 100% !important;
    max-width: 800px !important;
    margin: 44px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
}

body .wp-site-blocks main
.nv-terms-page
h2 {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(22px, 2.2vw, 28px) !important;
    font-weight: 500 !important;
    line-height: 1.24 !important;
    letter-spacing: -0.02em !important;
    text-align: left !important;
}

/* Lists */
body .wp-site-blocks main
.nv-terms-page
ul {
    max-width: 760px !important;
    margin: 16px 0 0 !important;
    padding: 0 0 0 18px !important;
}

body .wp-site-blocks main
.nv-terms-page
li {
    margin: 0 0 9px !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

/* Links */
body .wp-site-blocks main
.nv-terms-page
a {
    color: #ffffff !important;
    text-decoration-color: rgba(255, 255, 255, 0.4) !important;
    text-underline-offset: 4px !important;
}

body .wp-site-blocks main
.nv-terms-page
a:hover {
    color: rgba(255, 255, 255, 0.82) !important;
    text-decoration-color: rgba(255, 255, 255, 0.72) !important;
}

/* Contact box */
body .wp-site-blocks main
.nv-terms-page
.nv-terms-contact {
    width: 100% !important;
    max-width: 760px !important;
    margin-top: 50px !important;
    padding: 24px 26px !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

body .wp-site-blocks main
.nv-terms-page
.nv-terms-contact h2 {
    margin-bottom: 10px !important;
}

/* Tablet */
@media screen and (max-width: 900px) {
    body .wp-site-blocks main .nv-terms-page {
        padding: 34px 30px 88px !important;
    }
}

/* Mobile */
@media screen and (max-width: 700px) {
    body .wp-site-blocks main .nv-terms-page {
        padding: 28px 18px 74px !important;
    }

    body .wp-site-blocks main
    .nv-terms-page
    h1 {
        font-size: clamp(36px, 11vw, 46px) !important;
    }

    body .wp-site-blocks main
    .nv-terms-page
    .nv-terms-divider {
        margin: 22px 0 26px !important;
    }

    body .wp-site-blocks main
    .nv-terms-page
    .nv-terms-section {
        margin-top: 34px !important;
    }

    body .wp-site-blocks main
    .nv-terms-page
    h2 {
        font-size: 22px !important;
    }

    body .wp-site-blocks main
    .nv-terms-page
    p,
    body .wp-site-blocks main
    .nv-terms-page
    .nv-terms-intro,
    body .wp-site-blocks main
    .nv-terms-page
    li {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }

    body .wp-site-blocks main
    .nv-terms-page
    .nv-terms-contact {
        margin-top: 38px !important;
        padding: 22px 18px !important;
    }
}

/* =========================================================
   TALK TO US PAGE — CLEAN PROFESSIONAL VERSION
   ========================================================= */

body .wp-site-blocks main .nv-talk-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 42px clamp(24px, 6vw, 96px) 110px !important;
    color: #ffffff !important;
    text-align: left !important;
}

body .wp-site-blocks main
.nv-talk-page
.nv-talk-container {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: left !important;
}

body .wp-site-blocks main
.nv-talk-page
:is(h1, h2, h3, p, label, form) {
    text-align: left !important;
}

/* Page heading */
body .wp-site-blocks main
.nv-talk-page
h1 {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-family: "Syne", Arial, sans-serif !important;
    font-size: clamp(42px, 5vw, 58px) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
}

body .wp-site-blocks main
.nv-talk-page
> p,
body .wp-site-blocks main
.nv-talk-page
.nv-talk-intro {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 0 34px !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.72 !important;
}

/* Form card */
body .wp-site-blocks main
.nv-talk-page
.nv-contact-form,
body .wp-site-blocks main
.nv-talk-page
form {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
    padding: 30px !important;
    background: rgba(255, 255, 255, 0.025) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}

/* Fields */
body .wp-site-blocks main
.nv-talk-page
.nv-form-field,
body .wp-site-blocks main
.nv-contact-form
.nv-form-field {
    width: 100% !important;
    margin: 0 0 20px !important;
}

body .wp-site-blocks main
.nv-talk-page
label,
body .wp-site-blocks main
.nv-contact-form
label {
    display: block !important;
    margin: 0 0 8px !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

body .wp-site-blocks main
.nv-talk-page
input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wp-site-blocks main
.nv-talk-page
textarea,
body .wp-site-blocks main
.nv-talk-page
select,
body .wp-site-blocks main
.nv-contact-form
input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wp-site-blocks main
.nv-contact-form
textarea,
body .wp-site-blocks main
.nv-contact-form
select {
    width: 100% !important;
    margin: 0 !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    caret-color: #111111 !important;
    background: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.20) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    opacity: 1 !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body .wp-site-blocks main
.nv-talk-page
input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body .wp-site-blocks main
.nv-contact-form
input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
    min-height: 54px !important;
    padding: 13px 15px !important;
}

body .wp-site-blocks main
.nv-talk-page
textarea,
body .wp-site-blocks main
.nv-contact-form
textarea {
    min-height: 160px !important;
    padding: 15px !important;
    resize: vertical !important;
}

body .wp-site-blocks main
.nv-talk-page
input::placeholder,
body .wp-site-blocks main
.nv-talk-page
textarea::placeholder,
body .wp-site-blocks main
.nv-contact-form
input::placeholder,
body .wp-site-blocks main
.nv-contact-form
textarea::placeholder {
    color: #707070 !important;
    -webkit-text-fill-color: #707070 !important;
    opacity: 1 !important;
}

body .wp-site-blocks main
.nv-talk-page
input:not([type="submit"]):focus,
body .wp-site-blocks main
.nv-talk-page
textarea:focus,
body .wp-site-blocks main
.nv-talk-page
select:focus,
body .wp-site-blocks main
.nv-contact-form
input:not([type="submit"]):focus,
body .wp-site-blocks main
.nv-contact-form
textarea:focus,
body .wp-site-blocks main
.nv-contact-form
select:focus {
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    background: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.85) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.10) !important;
}

/* Chrome autofill */
body .wp-site-blocks main
.nv-talk-page
input:-webkit-autofill,
body .wp-site-blocks main
.nv-talk-page
input:-webkit-autofill:hover,
body .wp-site-blocks main
.nv-talk-page
input:-webkit-autofill:focus,
body .wp-site-blocks main
.nv-contact-form
input:-webkit-autofill,
body .wp-site-blocks main
.nv-contact-form
input:-webkit-autofill:hover,
body .wp-site-blocks main
.nv-contact-form
input:-webkit-autofill:focus {
    -webkit-text-fill-color: #111111 !important;
    caret-color: #111111 !important;
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    box-shadow: 0 0 0 1000px #ffffff inset !important;
}

/* Single final Send Message button style */
body .wp-site-blocks main
.nv-talk-page
:is(button[type="submit"], input[type="submit"], .nv-send-button, .nv-submit-button),
body .wp-site-blocks main
.nv-contact-form
:is(button[type="submit"], input[type="submit"], .wp-block-button__link, .wp-element-button) {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 176px !important;
    min-height: 52px !important;
    margin: 8px 0 0 !important;
    padding: 0 24px !important;
    color: #0b103f !important;
    -webkit-text-fill-color: #0b103f !important;
    background: #ffffff !important;
    border: 1px solid #ffffff !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-family: "Inter", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: none !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.2s ease !important;
}

body .wp-site-blocks main
.nv-talk-page
:is(button[type="submit"], input[type="submit"], .nv-send-button, .nv-submit-button):hover,
body .wp-site-blocks main
.nv-contact-form
:is(button[type="submit"], input[type="submit"], .wp-block-button__link, .wp-element-button):hover {
    color: #0b103f !important;
    -webkit-text-fill-color: #0b103f !important;
    background: #f1f2f8 !important;
    border-color: #f1f2f8 !important;
    transform: translateY(-1px) !important;
}

body .wp-site-blocks main
.nv-talk-page
:is(button[type="submit"], input[type="submit"], .nv-send-button, .nv-submit-button):focus-visible,
body .wp-site-blocks main
.nv-contact-form
:is(button[type="submit"], input[type="submit"], .wp-block-button__link, .wp-element-button):focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.9) !important;
    outline-offset: 3px !important;
}

@media screen and (max-width: 900px) {
    body .wp-site-blocks main .nv-talk-page {
        padding: 34px 30px 88px !important;
    }
}

@media screen and (max-width: 700px) {
    body .wp-site-blocks main .nv-talk-page {
        padding: 28px 18px 74px !important;
    }

    body .wp-site-blocks main
    .nv-talk-page
    h1 {
        font-size: clamp(36px, 11vw, 46px) !important;
    }

    body .wp-site-blocks main
    .nv-talk-page
    .nv-contact-form,
    body .wp-site-blocks main
    .nv-talk-page
    form {
        padding: 22px 18px !important;
        border-radius: 14px !important;
    }

    body .wp-site-blocks main
    .nv-talk-page
    :is(button[type="submit"], input[type="submit"], .nv-send-button, .nv-submit-button),
    body .wp-site-blocks main
    .nv-contact-form
    :is(button[type="submit"], input[type="submit"], .wp-block-button__link, .wp-element-button) {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* =========================================================
   FINAL DESKTOP WIDTH + RIGHT CORNER FIX
   Ensures equal left/right spacing and restores rounded
   right edges for card grids, comparison table and CTA.
   ========================================================= */

/* Replace viewport-based widths with actual content width. */
body .wp-site-blocks main
:is(
    .nv-breaking,
    .nv-how,
    .nv-architecture,
    .nv-comparison,
    .nvektor-cta
) {
    width: min(1395px, calc(100% - 80px)) !important;
    max-width: 1395px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Why It Breaks card container */
body .wp-site-blocks main
.nv-breaking
> .nv-breaking-grid {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Architecture grid and cards */
body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns
> .wp-block-column,
body .wp-site-blocks main
.nv-architecture
> .nv-architecture-grid
> .wp-block-columns
> .wp-block-column:hover {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border-radius: 17px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Comparison table wrapper */
body .wp-site-blocks main
.nv-comparison
> .nv-comparison-table {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Comparison table itself */
body .wp-site-blocks main
.nv-comparison
> .nv-comparison-table
table {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Reconfirm all table corners */
body .wp-site-blocks main
.nv-comparison-table
thead tr:first-child th:first-child {
    border-top-left-radius: 17px !important;
}

body .wp-site-blocks main
.nv-comparison-table
thead tr:first-child th:last-child {
    border-top-right-radius: 17px !important;
}

body .wp-site-blocks main
.nv-comparison-table
tbody tr:last-child td:first-child {
    border-bottom-left-radius: 17px !important;
}

body .wp-site-blocks main
.nv-comparison-table
tbody tr:last-child td:last-child {
    border-bottom-right-radius: 17px !important;
}

/* Final CTA */
body .wp-site-blocks main .nvektor-cta {
    width: min(1395px, calc(100% - 80px)) !important;
    max-width: 1395px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 23px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Tablet */
@media screen and (max-width: 900px) {
    body .wp-site-blocks main
    :is(
        .nv-breaking,
        .nv-how,
        .nv-architecture,
        .nv-comparison,
        .nvektor-cta
    ) {
        width: calc(100% - 40px) !important;
        max-width: none !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    > .nv-comparison-table {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        border-radius: 18px !important;
    }
}

/* Mobile */
@media screen and (max-width: 700px) {
    body .wp-site-blocks main
    :is(
        .nv-breaking,
        .nv-how,
        .nv-architecture,
        .nv-comparison,
        .nvektor-cta
    ) {
        width: calc(100% - 28px) !important;
        max-width: none !important;
    }

    body .wp-site-blocks main
    .nv-breaking
    > .nv-breaking-grid {
        border-radius: 16px !important;
    }

    body .wp-site-blocks main
    .nv-architecture
    > .nv-architecture-grid
    > .wp-block-columns
    > .wp-block-column {
        border-radius: 15px !important;
    }

    body .wp-site-blocks main .nvektor-cta {
        border-radius: 17px !important;
    }

    /* Mobile comparison is converted into a vertical layout. */
    body .wp-site-blocks main
    .nv-comparison
    > .nv-comparison-table {
        overflow: visible !important;
        border-radius: 0 !important;
    }
}

/* =========================================================
   TRACKING SVG — FINAL MOBILE PRECISION OVERRIDE
   Keeps the whole diagram visible, strengthens both attribution
   paths and makes the destination labels easier to read.
   ========================================================= */
@media screen and (max-width: 700px) {
    body .wp-site-blocks main
    .wp-block-html:has(.tracking-flow-card) {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        overflow: hidden !important;
    }

    body .wp-site-blocks main .tracking-flow-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 26px auto 0 !important;
        padding: 16px 10px 18px !important;
        border-radius: 17px !important;
        overflow: hidden !important;
    }

    body .wp-site-blocks main
    .tracking-flow-card .diagram-wrap {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        overflow: hidden !important;
    }

    body .wp-site-blocks main
    .tracking-flow-card :is(svg, .tracking-diagram) {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
        overflow: visible !important;
    }

    /* Slightly enlarge all SVG labels without changing the layout. */
    body .wp-site-blocks main
    .tracking-flow-card svg text {
        font-size: 1.08em !important;
        text-rendering: geometricPrecision !important;
    }

    /* Make solid and dashed attribution paths clearer on small screens. */
    body .wp-site-blocks main
    .tracking-flow-card svg :is(line, path, polyline) {
        vector-effect: non-scaling-stroke !important;
        stroke-width: 1.35px !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    /* Keep destination pills and their outlines crisp after scaling. */
    body .wp-site-blocks main
    .tracking-flow-card svg :is(rect, circle, ellipse) {
        vector-effect: non-scaling-stroke !important;
    }
}

@media screen and (max-width: 390px) {
    body .wp-site-blocks main .tracking-flow-card {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    body .wp-site-blocks main
    .tracking-flow-card svg text {
        font-size: 1.12em !important;
    }
}

/* =========================================================
   FINAL TABLET-ONLY CORRECTION
   Applies only from 701px to 1024px.
   Desktop and mobile styling remain unchanged.
   ========================================================= */

@media screen and (min-width: 701px) and (max-width: 1024px) {

    /* Keep the page inside the tablet viewport */
    html,
    body,
    .wp-site-blocks,
    main {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    /* Use safe tablet side spacing instead of viewport-width sizing */
    body .wp-site-blocks main
    :is(
        .nv-breaking,
        .nv-how,
        .nv-architecture,
        .nv-comparison,
        .nvektor-cta
    ) {
        width: calc(100% - 48px) !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Tablet SVG wrapper */
    body .wp-site-blocks main
    .wp-block-html:has(.tracking-flow-card) {
        width: calc(100% - 48px) !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Tablet SVG card */
    body .wp-site-blocks main
    .tracking-flow-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 36px auto 0 !important;
        padding: 18px !important;
        overflow: hidden !important;
    }

    body .wp-site-blocks main
    .tracking-flow-card
    .diagram-wrap {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    /* Scale the complete diagram instead of cropping it */
    body .wp-site-blocks main
    .tracking-flow-card
    :is(svg, .tracking-diagram) {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
        transform: none !important;
    }

    /* Keep the comparison section and CTA inside the viewport */
    body .wp-site-blocks main
    .nv-comparison
    > .nv-comparison-table {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

    body .wp-site-blocks main
    .nvektor-cta {
        width: calc(100% - 48px) !important;
        max-width: 100% !important;
    }
}
.footer-address {
  color: #777d9f;
  font-family: "DM Mono", Consolas, monospace;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.5px;
  line-height: 1.5;
  margin-left: 16px;
  text-align: left;
}
/* =========================================================
   MOBILE COMPARISON — FINAL LABEL/VALUE ALIGNMENT FIX
   Keeps NVEKTOR and its value aligned on the same line.
   Paste at the absolute bottom of Additional CSS.
   ========================================================= */

@media screen and (max-width: 700px) {

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:not(:first-child) {
        position: relative !important;
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 38px !important;

        /* Fixed space for Browser Pixel, CAPI and Nvektor labels */
        padding: 8px 0 8px 130px !important;

        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:not(:first-child)::before {
        position: absolute !important;
        top: 8px !important;
        left: 0 !important;

        display: block !important;
        width: 118px !important;

        margin: 0 !important;
        padding: 0 !important;

        line-height: 1.5 !important;
        text-align: left !important;
    }

    /* Remove margins from any span or strong element inside values */
    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:not(:first-child)
    > :is(span, strong, em) {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: inherit !important;
    }
}

/* Keep the existing stacked layout on very narrow phones */
@media screen and (max-width: 380px) {

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:not(:first-child) {
        padding: 7px 0 !important;
    }

    body .wp-site-blocks main
    .nv-comparison
    :is(.nv-comparison-table, .wp-block-table)
    tbody td:not(:first-child)::before {
        position: static !important;
        width: 100% !important;
        margin-bottom: 2px !important;
    }
}