/* VIQ COMMUNITY REDESIGN V2 */

:root {
    --viqc-green-950: #063f35;
    --viqc-green-900: #075747;
    --viqc-green-800: #08705a;
    --viqc-green-700: #07966f;
    --viqc-green-600: #0db784;
    --viqc-green-500: #21c796;
    --viqc-green-200: #a9ead5;
    --viqc-green-100: #dcf7ed;
    --viqc-green-50: #f1fbf7;
    --viqc-ink: #0b2f29;
    --viqc-text: #45645e;
    --viqc-border: #cce9df;
    --viqc-white: #ffffff;
    --viqc-shadow: 0 18px 45px rgba(4, 73, 57, 0.11);
    --viqc-radius: 24px;
}

/* Remove old theme page framing on the private redesign page. */
body.page-id-827 #primary,
body.page-id-827 #main,
body.page-id-827 .content-area,
body.page-id-827 .site-main,
body.page-id-827 article,
body.page-id-827 .hentry {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-827 #secondary,
body.page-id-827 .widget-area,
body.page-id-827 .entry-header,
body.page-id-827 .entry-title,
body.page-id-827 .page-title,
body.page-id-827 .entry-footer,
body.page-id-827 .comments-area,
body.page-id-827 #comments {
    display: none !important;
}

body.page-id-827 .site-content,
body.page-id-827 .site-content > .container,
body.page-id-827 .content-wrapper,
body.page-id-827 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-827 {
    overflow-x: hidden;
    background: #ffffff;
}

body.page-id-827 .viqc,
body.page-id-827 .viqc * {
    box-sizing: border-box;
}

.viqc {
    color: var(--viqc-text);
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif;
    font-size: 17px;
    line-height: 1.75;
}

.viqc img {
    display: block;
    max-width: 100%;
    height: auto;
}

.viqc h1,
.viqc h2,
.viqc h3,
.viqc p {
    margin-top: 0;
}

.viqc h1,
.viqc h2,
.viqc h3 {
    color: var(--viqc-ink);
    font-family: inherit;
    font-weight: 800;
    letter-spacing: -0.035em;
}

.viqc h1 {
    margin-bottom: 24px;
    color: #ffffff;
    font-size: clamp(48px, 6vw, 82px);
    line-height: 1.02;
}

.viqc h2 {
    margin-bottom: 22px;
    font-size: clamp(36px, 4.2vw, 58px);
    line-height: 1.08;
}

.viqc h3 {
    margin-bottom: 12px;
    font-size: 22px;
    line-height: 1.25;
}

.viqc p {
    margin-bottom: 20px;
}

.viqc-shell {
    width: min(1200px, calc(100% - 48px));
    margin-right: auto;
    margin-left: auto;
}

.viqc-section {
    padding: 105px 0;
}

.viqc-section-soft {
    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(33, 199, 150, 0.10),
            transparent 32%
        ),
        var(--viqc-green-50);
}

.viqc-center {
    max-width: 850px;
    margin: 0 auto 54px;
    text-align: center;
}

.viqc-lead {
    color: var(--viqc-text);
    font-size: 20px;
}

.viqc-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    color: var(--viqc-green-700);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1.4;
    text-transform: uppercase;
}

.viqc-eyebrow::before,
.viqc-eyebrow::after {
    width: 34px;
    height: 3px;
    border-radius: 10px;
    background: var(--viqc-green-500);
    content: "";
}

.viqc-center .viqc-eyebrow {
    justify-content: center;
}

.viqc-eyebrow-light {
    color: #d8fff1;
}

.viqc-eyebrow-light::before,
.viqc-eyebrow-light::after {
    background: #50e5b6;
}

/* Hero */
.viqc-hero {
    position: relative;
    min-height: 720px;
    background:
        linear-gradient(
            90deg,
            rgba(2, 45, 37, 0.96) 0%,
            rgba(2, 58, 47, 0.85) 35%,
            rgba(2, 58, 47, 0.22) 64%,
            rgba(2, 58, 47, 0.04) 100%
        ),
        url("https://community.viqcore.com/wp-content/uploads/2026/09/VIQCommunityPage2.png")
        center center / cover no-repeat;
}

.viqc-hero-inner {
    display: flex;
    align-items: center;
    min-height: 720px;
}

.viqc-hero-copy {
    width: min(650px, 56%);
    padding: 80px 0;
}

.viqc-hero-copy p {
    max-width: 610px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 21px;
    line-height: 1.7;
}

.viqc-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.viqc-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 13px 26px !important;
    border: 2px solid transparent;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
    text-decoration: none !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        color 0.25s ease,
        background-color 0.25s ease;
}

.viqc-btn:hover,
.viqc-btn:focus {
    transform: translateY(-4px);
    text-decoration: none !important;
}

.viqc-btn-primary {
    background: var(--viqc-green-500);
    color: var(--viqc-green-950) !important;
    box-shadow: 0 12px 28px rgba(12, 198, 144, 0.28);
}

.viqc-btn-primary:hover,
.viqc-btn-primary:focus {
    background: #51e3b6;
    color: var(--viqc-green-950) !important;
}

.viqc-btn-light {
    background: #ffffff;
    color: var(--viqc-green-900) !important;
}

.viqc-btn-light:hover,
.viqc-btn-light:focus {
    background: var(--viqc-green-100);
    color: var(--viqc-green-950) !important;
}

.viqc-btn-outline {
    border-color: rgba(255, 255, 255, 0.65);
    background: transparent;
    color: #ffffff !important;
}

.viqc-btn-outline:hover,
.viqc-btn-outline:focus {
    border-color: #ffffff;
    background: #ffffff;
    color: var(--viqc-green-900) !important;
}

/* Trust strip */
.viqc-trust {
    position: relative;
    z-index: 3;
    background: #ffffff;
    border-bottom: 1px solid var(--viqc-border);
}

.viqc-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.viqc-trust-item {
    padding: 30px 24px;
    border-right: 1px solid var(--viqc-border);
    text-align: center;
    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease;
}

.viqc-trust-item:first-child {
    border-left: 1px solid var(--viqc-border);
}

.viqc-trust-item:hover {
    z-index: 2;
    transform: translateY(-7px);
    background: var(--viqc-green-50);
    box-shadow: var(--viqc-shadow);
}

.viqc-trust-item strong,
.viqc-trust-item span {
    display: block;
}

.viqc-trust-item strong {
    margin-bottom: 5px;
    color: var(--viqc-green-800);
    font-size: 20px;
}

.viqc-trust-item span {
    font-size: 14px;
    line-height: 1.5;
}

/* Split layouts */
.viqc-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 80px;
}

.viqc-intro-panel {
    padding: 22px;
    border: 1px solid var(--viqc-border);
    border-radius: var(--viqc-radius);
    background:
        linear-gradient(145deg, #ffffff, var(--viqc-green-50));
    box-shadow: var(--viqc-shadow);
}

.viqc-check {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 10px 0;
    padding: 18px 20px;
    border: 1px solid #d9eee7;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.86);
    color: var(--viqc-ink);
    font-weight: 650;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.viqc-check:hover {
    transform: translateY(-5px);
    border-color: var(--viqc-green-500);
    box-shadow: 0 14px 28px rgba(4, 73, 57, 0.10);
}

.viqc-check span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--viqc-green-600);
    color: #ffffff;
    font-weight: 900;
}

/* Feature cards */
.viqc-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.viqc-card {
    padding: 32px;
    border: 1px solid var(--viqc-border);
    border-radius: var(--viqc-radius);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 32px rgba(4, 73, 57, 0.06);
    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.viqc-card:hover {
    transform: translateY(-9px);
    border-color: var(--viqc-green-500);
    box-shadow: var(--viqc-shadow);
}

.viqc-card-heading {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 16px;
}

.viqc-card-heading h3 {
    margin: 0;
}

.viqc-card p {
    margin-bottom: 0;
    font-size: 15px;
}

.viqc-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background:
        linear-gradient(
            135deg,
            var(--viqc-green-700),
            var(--viqc-green-500)
        );
    color: #ffffff;
    font-size: 24px;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(13, 183, 132, 0.22);
}

/* App section */
.viqc-app {
    overflow: hidden;
    background:
        linear-gradient(135deg, var(--viqc-green-950), var(--viqc-green-800));
    color: rgba(255, 255, 255, 0.87);
}

.viqc-app h2 {
    color: #ffffff;
}

.viqc-app-grid {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    align-items: center;
    gap: 90px;
}

.viqc-app-image {
    display: flex;
    justify-content: center;
}

.viqc-app-image img {
    max-height: 560px;
    filter: drop-shadow(0 28px 40px rgba(0, 0, 0, 0.28));
    transition: transform 0.35s ease;
}

.viqc-app-image img:hover {
    transform: translateY(-8px) rotate(-1deg);
}

.viqc-list {
    margin: 28px 0;
    padding: 0;
    list-style: none;
}

.viqc-list li {
    position: relative;
    margin: 12px 0;
    padding-left: 34px;
}

.viqc-list li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: #5de7bc;
    content: "✓";
    font-size: 20px;
    font-weight: 900;
}

.viqc-store-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
}

.viqc-store-buttons a {
    display: block;
    transition: transform 0.25s ease;
}

.viqc-store-buttons a:hover {
    transform: translateY(-5px);
}

.viqc-store-buttons img {
    width: auto;
    height: 52px;
}

/* Steps */
.viqc-step-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.viqc-step {
    position: relative;
    min-height: 270px;
    padding: 38px 32px;
    overflow: hidden;
    border: 1px solid var(--viqc-border);
    border-radius: var(--viqc-radius);
    background: #ffffff;
    box-shadow: 0 12px 32px rgba(4, 73, 57, 0.06);
    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.viqc-step:hover {
    transform: translateY(-9px);
    border-color: var(--viqc-green-500);
    box-shadow: var(--viqc-shadow);
}

.viqc-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 28px;
    border-radius: 50%;
    background: var(--viqc-green-600);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
}

.viqc-step p {
    margin-bottom: 0;
    font-size: 15px;
}

/* Management */
.viqc-management-image {
    padding: 22px;
    border: 1px solid var(--viqc-border);
    border-radius: var(--viqc-radius);
    background: var(--viqc-green-50);
    box-shadow: var(--viqc-shadow);
    transition: transform 0.3s ease;
}

.viqc-management-image:hover {
    transform: translateY(-7px);
}

.viqc-management-image img {
    width: 100%;
    border-radius: 14px;
}

.viqc-text-link {
    display: inline-flex;
    align-items: center;
    color: var(--viqc-green-700) !important;
    font-weight: 800;
    text-decoration: none !important;
}

.viqc-text-link::after {
    margin-left: 8px;
    content: "→";
    transition: transform 0.2s ease;
}

.viqc-text-link:hover::after {
    transform: translateX(5px);
}

/* Download CTA */
.viqc-download {
    padding: 85px 0;
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(70, 230, 181, 0.22),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            var(--viqc-green-950),
            var(--viqc-green-700)
        );
}

.viqc-download-inner {
    display: grid;
    grid-template-columns: 1.35fr 0.65fr;
    align-items: center;
    gap: 70px;
}

.viqc-download h2 {
    margin-bottom: 14px;
    color: #ffffff;
}

.viqc-download p {
    max-width: 760px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.85);
}

.viqc-download .viqc-buttons {
    justify-content: flex-end;
    margin-top: 0;
}

/* Contact */
.viqc-contact {
    background: #ffffff;
}

.viqc-contact-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    align-items: start;
    gap: 75px;
}

.viqc-contact-note {
    margin-top: 30px;
    padding: 18px 20px;
    border-left: 4px solid var(--viqc-green-500);
    border-radius: 0 12px 12px 0;
    background: var(--viqc-green-50);
    color: var(--viqc-ink);
    font-weight: 650;
}

.viqc-form {
    padding: 34px;
    border: 1px solid var(--viqc-border);
    border-radius: var(--viqc-radius);
    background:
        linear-gradient(145deg, #ffffff, var(--viqc-green-50));
    box-shadow: var(--viqc-shadow);
}

.viqc-form label {
    display: block;
    color: var(--viqc-ink);
    font-size: 14px;
    font-weight: 750;
}

.viqc-form input:not([type="submit"]),
.viqc-form textarea,
.viqc-form select {
    width: 100% !important;
    margin-top: 7px;
    padding: 13px 15px !important;
    border: 1px solid #bdded3 !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    color: var(--viqc-ink) !important;
    font: inherit;
    box-shadow: none !important;
}

.viqc-form input:focus,
.viqc-form textarea:focus,
.viqc-form select:focus {
    border-color: var(--viqc-green-600) !important;
    outline: 3px solid rgba(13, 183, 132, 0.13);
}

.viqc-form textarea {
    min-height: 130px;
    resize: vertical;
}

.viqc-form input[type="submit"],
.viqc-form button {
    min-height: 50px;
    padding: 12px 26px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--viqc-green-700) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    cursor: pointer;
    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease;
}

.viqc-form input[type="submit"]:hover,
.viqc-form button:hover {
    transform: translateY(-3px);
    background: var(--viqc-green-900) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(4, 73, 57, 0.18);
}

/* Tablet */
@media (max-width: 980px) {
    .viqc-section {
        padding: 82px 0;
    }

    .viqc-hero,
    .viqc-hero-inner {
        min-height: 650px;
    }

    .viqc-hero {
        background-position: 62% center;
    }

    .viqc-hero-copy {
        width: 64%;
    }

    .viqc-trust-grid,
    .viqc-feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .viqc-split,
    .viqc-app-grid,
    .viqc-contact-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .viqc-app-image {
        order: 2;
    }

    .viqc-download-inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .viqc-download .viqc-buttons {
        justify-content: flex-start;
    }
}

/* Mobile */
@media (max-width: 680px) {
    .viqc {
        font-size: 16px;
    }

    .viqc-shell {
        width: min(100% - 32px, 1200px);
    }

    .viqc-section {
        padding: 66px 0;
    }

    .viqc h1 {
        font-size: clamp(42px, 13vw, 58px);
    }

    .viqc h2 {
        font-size: clamp(32px, 10vw, 43px);
    }

    .viqc-hero,
    .viqc-hero-inner {
        min-height: 690px;
    }

    .viqc-hero {
        background-position: 66% center;
    }

    .viqc-hero::before {
        position: absolute;
        inset: 0;
        background:
            linear-gradient(
                90deg,
                rgba(2, 45, 37, 0.96),
                rgba(2, 55, 45, 0.80)
            );
        content: "";
    }

    .viqc-hero-inner {
        position: relative;
        z-index: 1;
    }

    .viqc-hero-copy {
        width: 100%;
        padding: 64px 0;
    }

    .viqc-hero-copy p {
        font-size: 18px;
    }

    .viqc-buttons,
    .viqc-store-buttons {
        align-items: stretch;
        flex-direction: column;
    }

    .viqc-btn {
        width: 100%;
    }

    .viqc-trust-grid,
    .viqc-feature-grid,
    .viqc-step-grid {
        grid-template-columns: 1fr;
    }

    .viqc-trust-item,
    .viqc-trust-item:first-child {
        border-right: 1px solid var(--viqc-border);
        border-bottom: 1px solid var(--viqc-border);
        border-left: 1px solid var(--viqc-border);
    }

    .viqc-center {
        margin-bottom: 38px;
    }

    .viqc-card,
    .viqc-step,
    .viqc-form {
        padding: 26px 22px;
    }

    .viqc-step {
        min-height: 0;
    }

    .viqc-card-heading {
        align-items: center;
    }

    .viqc-app-image img {
        max-height: 420px;
    }

    .viqc-store-buttons img {
        width: auto;
        max-width: 190px;
        height: auto;
    }

    .viqc-download {
        padding: 65px 0;
    }
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
    .viqc *,
    .viqc *::before,
    .viqc *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }

    .viqc-card:hover,
    .viqc-step:hover,
    .viqc-check:hover,
    .viqc-trust-item:hover,
    .viqc-management-image:hover,
    .viqc-app-image img:hover,
    .viqc-btn:hover {
        transform: none !important;
    }
}

/* VIQ COMMUNITY GLOBAL V2.1 START */

/* Global foundation */
html {
    scroll-behavior: smooth;
}

body {
    color: #45645e;
    background: #ffffff;
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
}

body a {
    color: #08705a;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

body a:hover,
body a:focus {
    color: #0db784;
}

/* Shared header */
#masthead.site-header {
    position: relative;
    z-index: 100;
    width: 100%;
    border: 0;
    border-bottom: 1px solid #dcece6;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 5px 22px rgba(4, 73, 57, 0.07);
}

#masthead .site-branding {
    padding-top: 12px;
    padding-bottom: 12px;
}

#masthead .custom-logo-link {
    display: inline-flex;
    align-items: center;
}

#masthead .custom-logo {
    width: auto;
    max-width: 190px;
    max-height: 70px;
    object-fit: contain;
}

#site-navigation.main-navigation {
    border: 0;
    background: transparent;
}

#site-navigation.main-navigation ul {
    margin: 0;
}

#site-navigation.main-navigation a {
    border-radius: 10px;
    color: #0b2f29;
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif;
    font-weight: 700;
    text-decoration: none;
}

#site-navigation.main-navigation a:hover,
#site-navigation.main-navigation a:focus,
#site-navigation.main-navigation .current-menu-item > a,
#site-navigation.main-navigation .current_page_item > a {
    background: #dcf7ed;
    color: #08705a;
}

#site-navigation.main-navigation ul ul {
    overflow: hidden;
    border: 1px solid #cce9df;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(4, 73, 57, 0.13);
}

#site-navigation.main-navigation ul ul a {
    border-radius: 0;
}

/* Responsive menu */
#wprmenu_bar,
.wprmenu_bar {
    background: #075747 !important;
}

#wprmenu_bar .menu_title,
.wprmenu_bar .menu_title {
    color: #ffffff !important;
    font-weight: 800 !important;
}

#wprmenu_bar .hamburger-inner,
#wprmenu_bar .hamburger-inner::before,
#wprmenu_bar .hamburger-inner::after,
.wprmenu_bar .hamburger-inner,
.wprmenu_bar .hamburger-inner::before,
.wprmenu_bar .hamburger-inner::after {
    background-color: #ffffff !important;
}

#mg-wprm-wrap,
.wprmenu_menu {
    background: #063f35 !important;
}

#mg-wprm-wrap li a,
.wprmenu_menu li a {
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

#mg-wprm-wrap li.current-menu-item > a,
#mg-wprm-wrap li a:hover,
.wprmenu_menu li.current-menu-item > a,
.wprmenu_menu li a:hover {
    background: #0db784 !important;
    color: #063f35 !important;
}

/* Shared form elements */
body input[type="text"],
body input[type="email"],
body input[type="tel"],
body input[type="url"],
body input[type="number"],
body input[type="password"],
body input[type="search"],
body textarea,
body select {
    max-width: 100%;
    border: 1px solid #bdded3;
    border-radius: 10px;
    background: #ffffff;
    color: #0b2f29;
    font-family: inherit;
}

body input:focus,
body textarea:focus,
body select:focus {
    border-color: #0db784;
    outline: 3px solid rgba(13, 183, 132, 0.13);
    box-shadow: none;
}

/* Standard buttons */
body button,
body input[type="button"],
body input[type="reset"],
body input[type="submit"],
body .button,
body .wp-block-button__link {
    border: 0;
    border-radius: 999px;
    background: #08705a;
    color: #ffffff;
    font-family: inherit;
    font-weight: 800;
    text-decoration: none;
    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease;
}

body button:hover,
body button:focus,
body input[type="button"]:hover,
body input[type="reset"]:hover,
body input[type="submit"]:hover,
body .button:hover,
body .button:focus,
body .wp-block-button__link:hover,
body .wp-block-button__link:focus {
    transform: translateY(-3px);
    background: #063f35;
    color: #ffffff;
    box-shadow: 0 12px 25px rgba(4, 73, 57, 0.18);
}

/* Terms and Privacy pages */
body.page-id-705,
body.page-id-686 {
    background:
        linear-gradient(
            180deg,
            #effaf6 0,
            #f7fcfa 360px,
            #ffffff 100%
        );
}

body.page-id-705 #primary,
body.page-id-686 #primary {
    width: min(1120px, calc(100% - 40px)) !important;
    max-width: none !important;
    float: none !important;
    margin: 0 auto !important;
    padding: 72px 0 90px !important;
}

body.page-id-705 #secondary,
body.page-id-686 #secondary,
body.page-id-705 .widget-area:not(#footer-widgets),
body.page-id-686 .widget-area:not(#footer-widgets) {
    display: none !important;
}

body.page-id-705 article,
body.page-id-686 article {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #cce9df;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 20px 55px rgba(4, 73, 57, 0.10);
}

body.page-id-705 .entry-header,
body.page-id-686 .entry-header {
    margin: 0 !important;
    padding: 58px 50px !important;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(71, 225, 178, 0.24),
            transparent 30%
        ),
        linear-gradient(135deg, #063f35, #08705a);
    text-align: center;
}

body.page-id-705 .entry-title,
body.page-id-686 .entry-title {
    margin: 0 !important;
    color: #ffffff !important;
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif;
    font-size: clamp(38px, 5vw, 58px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.1;
}

body.page-id-705 .entry-content,
body.page-id-686 .entry-content {
    max-width: 900px;
    margin: 0 auto !important;
    padding: 55px 54px 70px !important;
    color: #45645e;
    font-size: 16px;
    line-height: 1.85;
}

body.page-id-705 .entry-content h1,
body.page-id-686 .entry-content h1,
body.page-id-705 .entry-content h2,
body.page-id-686 .entry-content h2,
body.page-id-705 .entry-content h3,
body.page-id-686 .entry-content h3,
body.page-id-705 .entry-content h4,
body.page-id-686 .entry-content h4 {
    margin-top: 40px;
    margin-bottom: 16px;
    color: #0b2f29;
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif;
    font-weight: 800;
    line-height: 1.3;
}

body.page-id-705 .entry-content h1,
body.page-id-686 .entry-content h1 {
    font-size: 32px;
}

body.page-id-705 .entry-content h2,
body.page-id-686 .entry-content h2 {
    padding-bottom: 10px;
    border-bottom: 2px solid #dcf7ed;
    font-size: 27px;
}

body.page-id-705 .entry-content h3,
body.page-id-686 .entry-content h3 {
    font-size: 22px;
}

body.page-id-705 .entry-content p,
body.page-id-686 .entry-content p,
body.page-id-705 .entry-content li,
body.page-id-686 .entry-content li {
    color: #45645e;
}

body.page-id-705 .entry-content a,
body.page-id-686 .entry-content a {
    color: #08705a;
    font-weight: 700;
    overflow-wrap: anywhere;
}

body.page-id-705 .entry-meta,
body.page-id-686 .entry-meta {
    display: none !important;
}

/* Shared footer */
#colophon.site-footer {
    margin: 0;
    border: 0;
    background:
        radial-gradient(
            circle at 15% 15%,
            rgba(33, 199, 150, 0.16),
            transparent 28%
        ),
        #063f35;
    color: rgba(255, 255, 255, 0.78);
}

#colophon #footer-widgets {
    border: 0;
    background: transparent;
}

#colophon #footer-widgets .widget {
    color: rgba(255, 255, 255, 0.78);
}

#colophon #footer-widgets .widget-title {
    color: #ffffff;
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif;
    font-weight: 800;
}

#colophon a {
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
}

#colophon a:hover,
#colophon a:focus {
    color: #5de7bc;
}

#colophon .site-info {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    background: transparent;
    color: rgba(255, 255, 255, 0.66);
}

/* Global mobile adjustments */
@media (max-width: 780px) {
    #masthead .custom-logo {
        max-width: 145px;
        max-height: 58px;
    }

    body.page-id-705 #primary,
    body.page-id-686 #primary {
        width: min(100% - 24px, 1120px) !important;
        padding: 35px 0 55px !important;
    }

    body.page-id-705 .entry-header,
    body.page-id-686 .entry-header {
        padding: 42px 22px !important;
    }

    body.page-id-705 .entry-content,
    body.page-id-686 .entry-content {
        padding: 35px 23px 50px !important;
        font-size: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    body button,
    body input,
    body textarea,
    body select,
    body a {
        transition: none !important;
    }
}

/* VIQ COMMUNITY GLOBAL V2.1 END */

/* VIQ COMMUNITY VREWARDS CONSISTENCY V2.3 START */

/*
 * Remove the old i-Amaze header, contact strip and footer only from
 * redesigned pages. The current public homepage remains unaffected.
 */
body.page-id-827 #masthead,
body.page-id-705 #masthead,
body.page-id-686 #masthead,
body.page-id-827 #colophon,
body.page-id-705 #colophon,
body.page-id-686 #colophon,
body.page-id-827 #tophead,
body.page-id-705 #tophead,
body.page-id-686 #tophead,
body.page-id-827 .tophead,
body.page-id-705 .tophead,
body.page-id-686 .tophead,
body.page-id-827 .header-top,
body.page-id-705 .header-top,
body.page-id-686 .header-top,
body.page-id-827 .top-bar,
body.page-id-705 .top-bar,
body.page-id-686 .top-bar,
body.page-id-827 .site-topbar,
body.page-id-705 .site-topbar,
body.page-id-686 .site-topbar,
body.page-id-827 .tx-topbar,
body.page-id-705 .tx-topbar,
body.page-id-686 .tx-topbar {
    display: none !important;
}

/* Remove theme spacing surrounding redesigned content. */
body.page-id-827 #page,
body.page-id-705 #page,
body.page-id-686 #page {
    padding-top: 0 !important;
}

body.page-id-827 #content,
body.page-id-827 .site-content,
body.page-id-827 #primary,
body.page-id-827 article,
body.page-id-827 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Global product header: same structure as VRewards. */
.viqc-site-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    border-bottom: 1px solid #dcece6;
    background: #ffffff;
    box-shadow: 0 3px 15px rgba(4, 73, 57, 0.06);
}

.viqc-header-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(1200px, calc(100% - 48px));
    min-height: 100px;
    margin: 0 auto;
    gap: 35px;
}

.viqc-header-logo {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.viqc-header-logo img {
    display: block;
    width: auto;
    max-width: 175px;
    height: 68px;
    object-fit: contain;
}

.viqc-primary-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.viqc-primary-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 12px 18px;
    border-radius: 12px;
    color: #0b2f29 !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
}

.viqc-primary-nav a:hover,
.viqc-primary-nav a:focus {
    background: #dcf7ed;
    color: #08705a !important;
}

.viqc-primary-nav .viqc-nav-contact {
    margin-left: 5px;
    padding-right: 23px;
    padding-left: 23px;
    background: #08705a;
    color: #ffffff !important;
}

.viqc-primary-nav .viqc-nav-contact:hover,
.viqc-primary-nav .viqc-nav-contact:focus {
    background: #063f35;
    color: #ffffff !important;
}

.viqc-menu-toggle {
    display: none;
}

/* Consistent spacing between every section. */
.viqc-section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}

.viqc-center {
    margin-bottom: 38px !important;
}

.viqc-intro {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}

.viqc-app {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}

.viqc-download {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}

.viqc-contact {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}

.viqc-split,
.viqc-app-grid,
.viqc-contact-grid {
    gap: 55px !important;
}

/* Standardised product buttons. */
.viqc .viqc-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto;
    min-width: 215px;
    min-height: 54px;
    padding: 13px 25px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap;
}

.viqc .viqc-btn,
.viqc .viqc-btn:hover,
.viqc .viqc-btn:focus,
.viqc .viqc-btn:visited {
    text-align: center !important;
    text-decoration: none !important;
}

.viqc-buttons {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 14px;
}

.viqc-form input[type="submit"],
.viqc-form button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 145px;
    min-height: 50px;
    padding: 12px 24px !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

/* Consistent card spacing and lift. */
.viqc-card,
.viqc-step,
.viqc-trust-item,
.viqc-check {
    height: 100%;
}

.viqc-feature-grid,
.viqc-step-grid {
    align-items: stretch;
}

/* Global product footer: VRewards structure with green identity. */
.viqc-global-footer {
    width: 100%;
    margin: 0;
    padding: 72px 0 0;
    background:
        radial-gradient(
            circle at 85% 10%,
            rgba(44, 211, 158, 0.14),
            transparent 32%
        ),
        linear-gradient(135deg, #052f29, #075747);
    color: rgba(255, 255, 255, 0.76);
}

.viqc-footer-shell {
    width: min(1320px, calc(100% - 60px));
    margin: 0 auto;
}

.viqc-footer-grid {
    display: grid;
    grid-template-columns: 1.35fr 0.85fr 1fr 0.85fr 1fr;
    gap: 55px;
    padding-bottom: 58px;
}

.viqc-footer-brand {
    text-align: center;
}

.viqc-footer-brand img {
    display: block;
    width: auto;
    max-width: 185px;
    max-height: 135px;
    margin: 0 auto 20px;
    object-fit: contain;
}

.viqc-footer-brand p {
    max-width: 300px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.76);
    font-size: 16px;
    line-height: 1.7;
    text-align: center;
}

.viqc-footer-column {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
}

.viqc-footer-column h2 {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.3;
}

.viqc-footer-column a,
.viqc-footer-column span {
    display: block;
    color: rgba(255, 255, 255, 0.76) !important;
    font-size: 15px;
    line-height: 1.55;
    text-decoration: none !important;
}

.viqc-footer-column a:hover,
.viqc-footer-column a:focus {
    color: #63e8bd !important;
    transform: translateX(3px);
}

.viqc-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 25px 0 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    color: rgba(255, 255, 255, 0.68);
    font-size: 14px;
}

.viqc-footer-bottom a {
    color: rgba(255, 255, 255, 0.88) !important;
    font-weight: 700;
    text-decoration: none !important;
}

.viqc-footer-bottom a:hover {
    color: #63e8bd !important;
}

/* Policy pages use the same product header and footer width. */
body.page-id-705 .viqc-site-header,
body.page-id-686 .viqc-site-header,
body.page-id-705 .viqc-global-footer,
body.page-id-686 .viqc-global-footer {
    width: 100vw;
    max-width: none;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

/* Tablet navigation and footer. */
@media (max-width: 1050px) {
    .viqc-header-shell {
        width: min(100% - 36px, 1200px);
    }

    .viqc-primary-nav a {
        padding-right: 12px;
        padding-left: 12px;
        font-size: 14px;
    }

    .viqc-footer-grid {
        grid-template-columns: 1.4fr repeat(2, 1fr);
        gap: 45px;
    }

    .viqc-footer-brand {
        grid-row: span 2;
    }
}

/* Mobile header and menu. */
@media (max-width: 780px) {
    .viqc-header-shell {
        position: relative;
        min-height: 82px;
    }

    .viqc-header-logo img {
        max-width: 135px;
        height: 56px;
    }

    .viqc-menu-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 9px;
        min-width: 105px;
        min-height: 46px;
        padding: 9px 15px !important;
        border: 0 !important;
        border-radius: 10px !important;
        background: #08705a !important;
        color: #ffffff !important;
        font-size: 14px;
        font-weight: 800;
        box-shadow: none !important;
    }

    .viqc-menu-toggle:hover,
    .viqc-menu-toggle:focus {
        transform: none !important;
        background: #063f35 !important;
    }

    .viqc-menu-icon {
        display: flex;
        flex-direction: column;
        gap: 4px;
        width: 19px;
    }

    .viqc-menu-icon span {
        display: block;
        width: 19px;
        height: 2px;
        border-radius: 3px;
        background: #ffffff;
    }

    .viqc-primary-nav {
        position: absolute;
        top: calc(100% - 1px);
        right: 0;
        left: 0;
        display: none;
        align-items: stretch;
        flex-direction: column;
        gap: 5px;
        padding: 14px;
        border: 1px solid #cce9df;
        border-radius: 0 0 16px 16px;
        background: #ffffff;
        box-shadow: 0 18px 35px rgba(4, 73, 57, 0.16);
    }

    .viqc-primary-nav.is-open {
        display: flex;
    }

    .viqc-primary-nav a {
        justify-content: flex-start;
        width: 100%;
        min-height: 46px;
        padding: 11px 15px;
        text-align: left;
    }

    .viqc-primary-nav .viqc-nav-contact {
        margin-left: 0;
        justify-content: center;
        text-align: center;
    }

    .viqc-section,
    .viqc-intro,
    .viqc-app,
    .viqc-contact {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .viqc-download {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .viqc-split,
    .viqc-app-grid,
    .viqc-contact-grid {
        gap: 38px !important;
    }

    .viqc .viqc-btn {
        width: 100%;
        min-width: 0;
    }

    .viqc-footer-shell {
        width: min(100% - 34px, 1320px);
    }

    .viqc-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 38px 28px;
        padding-bottom: 42px;
    }

    .viqc-footer-brand {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .viqc-footer-column:last-child {
        grid-column: 1 / -1;
    }

    .viqc-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 480px) {
    .viqc-footer-grid {
        grid-template-columns: 1fr;
    }

    .viqc-footer-column,
    .viqc-footer-column:last-child {
        grid-column: auto;
        align-items: center;
        text-align: center;
    }
}

/* VIQ COMMUNITY VREWARDS CONSISTENCY V2.3 END */

/* VIQ COMMUNITY SAAS THEME FIX V2.4 START */

/*
 * Hide only the SAAS theme header and footer.
 * Our custom header/footer use separate VIQ classes and remain visible.
 */
body.page-id-827 header[role="banner"],
body.page-id-705 header[role="banner"],
body.page-id-686 header[role="banner"],
body.page-id-827 footer[role="contentinfo"],
body.page-id-705 footer[role="contentinfo"],
body.page-id-686 footer[role="contentinfo"] {
    display: none !important;
}

/* Remove the theme-generated title and decoration from the redesign. */
body.page-id-827 #main.content-aa > h1,
body.page-id-827 #main.content-aa > .feature-box {
    display: none !important;
}

/* Restore a completely full-width homepage canvas. */
body.page-id-827 .container.space-top {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-827 .container.space-top > .row {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-827 .container.space-top .middle-align,
body.page-id-827 #main.content-aa,
body.page-id-827 #main.content-aa > .entry-content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Prevent Bootstrap/theme columns from constraining the redesign. */
body.page-id-827 .middle-align {
    flex: none !important;
}

body.page-id-827 .entry-content > .viqc-site-header,
body.page-id-827 .entry-content > .viqc,
body.page-id-827 .entry-content > .viqc-global-footer {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Keep the custom header above every section. */
body.page-id-827 .viqc-site-header,
body.page-id-705 .viqc-site-header,
body.page-id-686 .viqc-site-header {
    position: relative;
    z-index: 9999;
}

/* Correct theme typography interference. */
body.page-id-827 .viqc {
    font-size: 17px !important;
    line-height: 1.7 !important;
}

body.page-id-827 .viqc h1 {
    color: #ffffff !important;
    font-size: clamp(48px, 6vw, 82px) !important;
    font-weight: 800 !important;
    line-height: 1.02 !important;
}

body.page-id-827 .viqc h2 {
    font-size: clamp(36px, 4.2vw, 58px) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
}

body.page-id-827 .viqc h3 {
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

body.page-id-827 .viqc p,
body.page-id-827 .viqc li,
body.page-id-827 .viqc a,
body.page-id-827 .viqc span,
body.page-id-827 .viqc strong {
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif !important;
}

/* Protect the hero from theme background and spacing rules. */
body.page-id-827 .viqc-hero {
    width: 100% !important;
    min-height: 720px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-827 .viqc-hero-inner {
    min-height: 720px !important;
}

/* Keep sections full width while content remains centred. */
body.page-id-827 .viqc-section,
body.page-id-827 .viqc-trust,
body.page-id-827 .viqc-app,
body.page-id-827 .viqc-download {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Override unwanted SAAS theme link colours. */
body.page-id-827 .viqc a {
    text-decoration: none !important;
}

body.page-id-827 .viqc-btn-primary,
body.page-id-827 .viqc-btn-primary:visited {
    background: #21c796 !important;
    color: #063f35 !important;
}

body.page-id-827 .viqc-btn-light,
body.page-id-827 .viqc-btn-light:visited {
    background: #ffffff !important;
    color: #075747 !important;
}

body.page-id-827 .viqc-btn-outline,
body.page-id-827 .viqc-btn-outline:visited {
    color: #ffffff !important;
}

/* Correct the Community Request form after theme change. */
body.page-id-827 .viqc-form input:not([type="submit"]),
body.page-id-827 .viqc-form textarea,
body.page-id-827 .viqc-form select {
    width: 100% !important;
    max-width: none !important;
    padding: 13px 15px !important;
    border: 1px solid #bdded3 !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    color: #0b2f29 !important;
}

body.page-id-827 .viqc-form input[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 145px !important;
    min-height: 50px !important;
    padding: 12px 25px !important;
    border-radius: 999px !important;
    background: #08705a !important;
    color: #ffffff !important;
    text-align: center !important;
}

/* Policy pages: full-width shared header/footer with readable content. */
body.page-id-705 .container.space-top,
body.page-id-686 .container.space-top {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-705 .container.space-top > .row,
body.page-id-686 .container.space-top > .row,
body.page-id-705 .middle-align,
body.page-id-686 .middle-align,
body.page-id-705 #main.content-aa,
body.page-id-686 #main.content-aa {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-705 #main.content-aa > .feature-box,
body.page-id-686 #main.content-aa > .feature-box {
    display: none !important;
}

body.page-id-705 #main.content-aa > h1,
body.page-id-686 #main.content-aa > h1 {
    width: min(100% - 40px, 1120px);
    margin: 60px auto 0 !important;
    padding: 48px 30px !important;
    border-radius: 24px 24px 0 0;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(71, 225, 178, 0.25),
            transparent 30%
        ),
        linear-gradient(135deg, #063f35, #08705a);
    color: #ffffff !important;
    font-size: clamp(38px, 5vw, 58px) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: center;
}

body.page-id-705 #main.content-aa > .entry-content,
body.page-id-686 #main.content-aa > .entry-content {
    width: min(100% - 40px, 1120px) !important;
    max-width: none !important;
    margin: 0 auto 70px !important;
    padding: 0 !important;
    border: 1px solid #cce9df;
    border-top: 0;
    border-radius: 0 0 24px 24px;
    background: #ffffff;
    box-shadow: 0 20px 55px rgba(4, 73, 57, 0.10);
}

/*
 * The custom header/footer are full viewport width.
 * The legal content between them retains comfortable reading width.
 */
body.page-id-705 .entry-content > .viqc-site-header,
body.page-id-686 .entry-content > .viqc-site-header {
    width: 100vw !important;
    margin-top: -1px !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
}

body.page-id-705 .entry-content > .viqc-global-footer,
body.page-id-686 .entry-content > .viqc-global-footer {
    width: 100vw !important;
    margin-right: calc(50% - 50vw) !important;
    margin-bottom: -71px !important;
    margin-left: calc(50% - 50vw) !important;
}

/* Responsive correction. */
@media (max-width: 780px) {
    body.page-id-827 .viqc-hero,
    body.page-id-827 .viqc-hero-inner {
        min-height: 690px !important;
    }

    body.page-id-827 .viqc h1 {
        font-size: clamp(42px, 13vw, 58px) !important;
    }

    body.page-id-827 .viqc h2 {
        font-size: clamp(32px, 10vw, 43px) !important;
    }

    body.page-id-705 #main.content-aa > h1,
    body.page-id-686 #main.content-aa > h1,
    body.page-id-705 #main.content-aa > .entry-content,
    body.page-id-686 #main.content-aa > .entry-content {
        width: min(100% - 24px, 1120px) !important;
    }

    body.page-id-705 #main.content-aa > h1,
    body.page-id-686 #main.content-aa > h1 {
        margin-top: 30px !important;
        padding: 38px 18px !important;
    }
}

/* VIQ COMMUNITY SAAS THEME FIX V2.4 END */

/* VIQ COMMUNITY REFINEMENT V2.5 START */

/* Sticky header matching the VRewards behaviour. */
body.page-id-827 .viqc-site-header,
body.page-id-705 .viqc-site-header,
body.page-id-686 .viqc-site-header {
    position: sticky !important;
    top: 0;
    z-index: 99999 !important;
    isolation: isolate;
}

body.admin-bar.page-id-827 .viqc-site-header,
body.admin-bar.page-id-705 .viqc-site-header,
body.admin-bar.page-id-686 .viqc-site-header {
    top: 32px;
}

/* Reduce vertical space throughout the homepage. */
body.page-id-827 .viqc-section,
body.page-id-827 .viqc-intro,
body.page-id-827 .viqc-app,
body.page-id-827 .viqc-contact {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

body.page-id-827 .viqc-download {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
}

body.page-id-827 .viqc-center {
    margin-bottom: 30px !important;
}

body.page-id-827 .viqc-split,
body.page-id-827 .viqc-app-grid,
body.page-id-827 .viqc-contact-grid {
    gap: 40px !important;
}

/* Identical hero button measurements and centred text. */
body.page-id-827 .viqc-hero .viqc-buttons {
    display: grid !important;
    grid-template-columns: repeat(2, 220px);
    align-items: stretch !important;
    justify-content: start;
    gap: 14px !important;
}

body.page-id-827 .viqc-hero .viqc-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 220px !important;
    min-width: 220px !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: normal !important;
}

/* Consistent feature cards matching the VRewards card structure. */
body.page-id-827 .viqc-feature-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch !important;
    gap: 20px !important;
}

body.page-id-827 .viqc-card {
    display: flex !important;
    flex-direction: column;
    min-height: 205px;
    padding: 26px !important;
}

body.page-id-827 .viqc-card-heading {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: center !important;
    min-height: 58px;
    margin-bottom: 14px !important;
    gap: 14px !important;
}

body.page-id-827 .viqc-card-heading h3 {
    align-self: center;
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
}

body.page-id-827 .viqc-card p {
    margin: 0 !important;
    color: #45645e !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

/* Matching SVG icons for each feature. */
body.page-id-827 .viqc-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    border-radius: 15px !important;
}

body.page-id-827 .viqc-icon svg {
    width: 27px;
    height: 27px;
    overflow: visible;
    fill: none;
    stroke: #ffffff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Consistent step cards. */
body.page-id-827 .viqc-step-grid {
    align-items: stretch !important;
    gap: 20px !important;
}

body.page-id-827 .viqc-step {
    display: flex !important;
    flex-direction: column;
    min-height: 240px !important;
    padding: 28px !important;
}

body.page-id-827 .viqc-step-number {
    flex: 0 0 48px;
}

body.page-id-827 .viqc-step h3 {
    min-height: 54px;
    margin-bottom: 10px !important;
}

body.page-id-827 .viqc-step p {
    margin: 0 !important;
}

/* Crop store badges embedded in the PhoneVIQ image. */
body.page-id-827 .viqc-app-image {
    align-self: center;
    overflow: hidden;
}

body.page-id-827 .viqc-app-image img {
    width: auto;
    max-width: 100%;
    max-height: none !important;
    margin-bottom: -48px;
    clip-path: inset(0 0 48px 0);
}

/* Properly align the separate official store badges. */
body.page-id-827 .viqc-store-buttons {
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 14px !important;
}

body.page-id-827 .viqc-store-buttons a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 168px !important;
    height: 54px !important;
    margin: 0 !important;
}

body.page-id-827 .viqc-store-buttons img {
    display: block !important;
    width: 168px !important;
    height: 54px !important;
    max-width: none !important;
    object-fit: contain !important;
}

/* Stabilise the download CTA against SAAS theme shapes. */
body.page-id-827 .viqc-download {
    position: relative !important;
    z-index: 1;
    min-height: 0 !important;
    overflow: hidden !important;
    clip-path: none !important;
    transform: none !important;
    isolation: isolate;
}

body.page-id-827 .viqc-download::before,
body.page-id-827 .viqc-download::after {
    display: none !important;
    content: none !important;
}

body.page-id-827 .viqc-download-inner {
    position: relative !important;
    z-index: 2;
    min-height: 0 !important;
    transform: none !important;
}

/* Keep CTA buttons aligned. */
body.page-id-827 .viqc-download .viqc-buttons {
    display: grid !important;
    grid-template-columns: 190px;
    justify-content: end !important;
    gap: 12px !important;
}

body.page-id-827 .viqc-download .viqc-btn {
    width: 190px !important;
    min-width: 190px !important;
    min-height: 52px !important;
    justify-content: center !important;
    text-align: center !important;
}

/* Tablet. */
@media (max-width: 980px) {
    body.page-id-827 .viqc-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-id-827 .viqc-download .viqc-buttons {
        justify-content: start !important;
    }
}

/* Mobile. */
@media (max-width: 782px) {
    body.admin-bar.page-id-827 .viqc-site-header,
    body.admin-bar.page-id-705 .viqc-site-header,
    body.admin-bar.page-id-686 .viqc-site-header {
        top: 46px;
    }
}

@media (max-width: 680px) {
    body.page-id-827 .viqc-section,
    body.page-id-827 .viqc-intro,
    body.page-id-827 .viqc-app,
    body.page-id-827 .viqc-contact,
    body.page-id-827 .viqc-download {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }

    body.page-id-827 .viqc-hero .viqc-buttons {
        grid-template-columns: 1fr;
        width: 100%;
    }

    body.page-id-827 .viqc-hero .viqc-btn {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.page-id-827 .viqc-feature-grid {
        grid-template-columns: 1fr;
    }

    body.page-id-827 .viqc-card {
        min-height: 0;
    }

    body.page-id-827 .viqc-step h3 {
        min-height: 0;
    }

    body.page-id-827 .viqc-store-buttons {
        justify-content: flex-start !important;
        flex-direction: row !important;
    }

    body.page-id-827 .viqc-store-buttons a,
    body.page-id-827 .viqc-store-buttons img {
        width: 145px !important;
        height: 47px !important;
    }

    body.page-id-827 .viqc-download .viqc-buttons {
        grid-template-columns: 1fr;
        width: 100%;
    }

    body.page-id-827 .viqc-download .viqc-btn {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* VIQ COMMUNITY REFINEMENT V2.5 END */




/* VIQ COMMUNITY HERO BUTTONS V2.8 START */

/*
 * Match the proven VRewards hero-button implementation.
 * Desktop: horizontal row.
 * Mobile: full-width stacked buttons.
 */
html body.page-id-827 .viqc .viqc-hero .viqc-buttons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: auto !important;
    max-width: none !important;
    margin: 30px 0 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
}

html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn {
    position: static !important;
    display: inline-flex !important;
    float: none !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;

    width: auto !important;
    min-width: 190px !important;
    max-width: none !important;
    min-height: 52px !important;
    height: auto !important;

    margin: 0 !important;
    padding: 13px 24px !important;
    border: 2px solid transparent !important;
    border-radius: 999px !important;

    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    vertical-align: middle !important;

    transform: none;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease !important;
}

html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn:hover,
html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn:focus {
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}

html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn-primary,
html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn-primary:link,
html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn-primary:visited {
    color: #063b31 !important;
    -webkit-text-fill-color: #063b31 !important;
    background: linear-gradient(135deg, #23c99a, #39dcaa) !important;
    box-shadow: 0 14px 35px rgba(20, 175, 132, 0.28) !important;
}

html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn-light,
html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn-light:link,
html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn-light:visited {
    color: #063b31 !important;
    -webkit-text-fill-color: #063b31 !important;
    background: #ffffff !important;
    box-shadow: 0 14px 35px rgba(0, 48, 39, 0.20) !important;
}

html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn::before,
html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 680px) {
    html body.page-id-827 .viqc .viqc-hero .viqc-buttons {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
    }

    html body.page-id-827 .viqc .viqc-hero .viqc-buttons > a.viqc-btn {
        width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
    }
}

/* VIQ COMMUNITY HERO BUTTONS V2.8 END */

/* VIQ COMMUNITY HERO FINAL ALIGNMENT V2.8.1 START */

/*
 * Remove the spacing introduced by the SAAS theme between the custom
 * header and the first section.
 */
html body.page-id-827 .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

html body.page-id-827 .entry-content > .viqc-site-header {
    margin-bottom: 0 !important;
}

html body.page-id-827 .entry-content > main.viqc {
    position: relative !important;
    margin-top: -25px !important;
    padding-top: 0 !important;
}

html body.page-id-827 main.viqc > section.viqc-hero {
    margin-top: 0 !important;
}

/*
 * Keep the button group identical to VRewards: one horizontal flex row.
 */
html body.page-id-827 main.viqc .viqc-hero .viqc-buttons {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    column-gap: 14px !important;
    row-gap: 14px !important;
    width: auto !important;
    margin: 30px 0 0 !important;
    padding: 0 !important;
}

/*
 * Exact dimensions prevent the theme's primary and light button
 * styles from producing different heights or vertical positions.
 */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn.viqc-btn-primary,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn.viqc-btn-light {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    bottom: auto !important;

    display: inline-flex !important;
    float: none !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: auto !important;
    min-width: 210px !important;
    max-width: none !important;

    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;

    margin: 0 !important;
    padding: 0 26px !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-color: transparent !important;
    border-radius: 999px !important;

    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    text-decoration: none !important;

    appearance: none !important;
    -webkit-appearance: none !important;
}

/* Preserve the Community green button theme. */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn.viqc-btn-primary,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn.viqc-btn-primary:link,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn.viqc-btn-primary:visited {
    color: #063b31 !important;
    -webkit-text-fill-color: #063b31 !important;
    background: linear-gradient(135deg, #23c99a, #39dcaa) !important;
}

html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn.viqc-btn-light,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn.viqc-btn-light:link,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn.viqc-btn-light:visited {
    color: #063b31 !important;
    -webkit-text-fill-color: #063b31 !important;
    background: #ffffff !important;
}

/* Consistent two-pixel lift for both buttons. */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn.viqc-btn-primary:hover,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn.viqc-btn-light:hover {
    position: relative !important;
    top: auto !important;
    transform: translateY(-2px) !important;
}

/* Remove any theme decoration that changes button dimensions. */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn::before,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons > a.viqc-btn::after {
    display: none !important;
    content: none !important;
}

/* Stack only on mobile. */
@media (max-width: 680px) {
    html body.page-id-827 .entry-content > main.viqc {
        margin-top: -25px !important;
    }

    html body.page-id-827 main.viqc .viqc-hero .viqc-buttons {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
    }

    html body.page-id-827 main.viqc .viqc-hero
    .viqc-buttons > a.viqc-btn.viqc-btn-primary,
    html body.page-id-827 main.viqc .viqc-hero
    .viqc-buttons > a.viqc-btn.viqc-btn-light {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* VIQ COMMUNITY HERO FINAL ALIGNMENT V2.8.1 END */

/* VIQ COMMUNITY HERO WRAPPER FIX V2.8.2 START */

/*
 * WordPress may insert p and br elements around links.
 * Remove their layout influence so the anchors become the visual
 * flex items.
 */
html body.page-id-827 main.viqc .viqc-hero .viqc-buttons > p,
html body.page-id-827 main.viqc .viqc-hero .viqc-buttons > span {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

html body.page-id-827 main.viqc .viqc-hero .viqc-buttons > br,
html body.page-id-827 main.viqc .viqc-hero .viqc-buttons p > br {
    display: none !important;
}

/* Keep the group as one horizontal row on desktop. */
html body.page-id-827 main.viqc .viqc-hero .viqc-buttons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: auto !important;
    margin: 30px 0 0 !important;
    padding: 0 !important;
}

/*
 * Use descendant selectors instead of direct-child selectors.
 * This works whether WordPress wraps the anchors or not.
 */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-primary,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-light {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    display: inline-flex !important;
    float: none !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;

    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;

    margin: 0 !important;
    padding: 0 24px !important;
    border: 2px solid transparent !important;
    border-radius: 999px !important;

    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    text-decoration: none !important;

    transform: none !important;
}

/* Primary green button. */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-primary,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-primary:link,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-primary:visited {
    color: #063b31 !important;
    -webkit-text-fill-color: #063b31 !important;
    background: linear-gradient(135deg, #23c99a, #39dcaa) !important;
    box-shadow: 0 14px 35px rgba(20, 175, 132, 0.28) !important;
}

/* Secondary white button. */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-light,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-light:link,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-light:visited {
    color: #063b31 !important;
    -webkit-text-fill-color: #063b31 !important;
    background: #ffffff !important;
    box-shadow: 0 14px 35px rgba(0, 48, 39, 0.20) !important;
}

/* Apply exactly the same hover movement to both buttons. */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-primary:hover,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-light:hover,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-primary:focus,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-light:focus {
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}

/* Remove theme decorations from both buttons. */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn::before,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn::after {
    display: none !important;
    content: none !important;
}

/* Mobile layout. */
@media (max-width: 680px) {
    html body.page-id-827 main.viqc .viqc-hero .viqc-buttons {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
    }

    html body.page-id-827 main.viqc .viqc-hero
    .viqc-buttons a.viqc-btn.viqc-btn-primary,
    html body.page-id-827 main.viqc .viqc-hero
    .viqc-buttons a.viqc-btn.viqc-btn-light {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

/* VIQ COMMUNITY HERO WRAPPER FIX V2.8.2 END */


/* VIQ COMMUNITY BUTTON LABEL FIX V2.8.4 START */

/*
 * The anchor controls the button shape.
 * The inner label is positioned independently from the theme's
 * link typography and line-height rules.
 */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-primary,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn.viqc-btn-light {
    position: relative !important;
    display: block !important;

    box-sizing: border-box !important;
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;

    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;

    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;

    font-size: 16px !important;
    line-height: normal !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
}

/* Precisely center the wording inside the button. */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn .viqc-btn-label {
    position: absolute !important;
    inset: 0 !important;

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

    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 18px !important;

    box-sizing: border-box !important;
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    transform: none !important;
}

/* Keep the label color correct in every link state. */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn-primary .viqc-btn-label {
    color: #063b31 !important;
    -webkit-text-fill-color: #063b31 !important;
}

html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn-light .viqc-btn-label {
    color: #063b31 !important;
    -webkit-text-fill-color: #063b31 !important;
}

/* Preserve the existing lift without moving the internal label. */
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn:hover,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn:focus {
    transform: translateY(-2px) !important;
}

html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn:hover .viqc-btn-label,
html body.page-id-827 main.viqc .viqc-hero
.viqc-buttons a.viqc-btn:focus .viqc-btn-label {
    transform: none !important;
}

/* VIQ COMMUNITY BUTTON LABEL FIX V2.8.4 END */

/* VIQ COMMUNITY CHECKLIST ALIGNMENT V2.9 START */

/*
 * Place the checkmark and wording in two columns and vertically
 * centre both items on the same row.
 */
html body.page-id-827 main.viqc .viqc-intro-panel .viqc-check {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    justify-items: start !important;
    column-gap: 16px !important;

    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 22px 26px !important;

    color: #082f29 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    text-indent: 0 !important;
}

/* Fixed circular icon aligned to the centre of its row. */
html body.page-id-827 main.viqc
.viqc-intro-panel .viqc-check > span {
    position: static !important;
    display: flex !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;

    color: #ffffff !important;
    background: #12b889 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;
    transform: none !important;
}

/* Remove generated decoration that can disturb icon alignment. */
html body.page-id-827 main.viqc
.viqc-intro-panel .viqc-check > span::before,
html body.page-id-827 main.viqc
.viqc-intro-panel .viqc-check > span::after {
    display: none !important;
    content: none !important;
}

/* Preserve the existing card lift effect. */
html body.page-id-827 main.viqc
.viqc-intro-panel .viqc-check:hover {
    transform: translateY(-5px) !important;
}

/* More compact checklist rows on mobile. */
@media (max-width: 680px) {
    html body.page-id-827 main.viqc
    .viqc-intro-panel .viqc-check {
        grid-template-columns: 36px minmax(0, 1fr) !important;
        column-gap: 13px !important;
        min-height: 82px !important;
        padding: 18px 20px !important;
        font-size: 16px !important;
    }

    html body.page-id-827 main.viqc
    .viqc-intro-panel .viqc-check > span {
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        font-size: 21px !important;
    }
}

/* VIQ COMMUNITY CHECKLIST ALIGNMENT V2.9 END */

/* VIQ COMMUNITY CHECKLIST EXACT ALIGNMENT V2.9.1 START */

/* Two explicit Flexbox items: icon and label. */
html body.page-id-827 main.viqc
.viqc-intro-panel .viqc-check {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;

    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 22px 26px !important;

    text-align: left !important;
    text-indent: 0 !important;
}

/* Only the first span is the green check icon. */
html body.page-id-827 main.viqc
.viqc-intro-panel .viqc-check > span:first-child {
    position: static !important;
    display: flex !important;
    flex: 0 0 40px !important;
    align-self: center !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #12b889 !important;

    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;
    transform: none !important;
}

/* Explicitly centre the wording within the same row. */
html body.page-id-827 main.viqc
.viqc-intro-panel .viqc-check > .viqc-check-label {
    position: static !important;
    display: flex !important;
    flex: 1 1 auto !important;
    align-self: center !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;

    color: #082f29 !important;
    -webkit-text-fill-color: #082f29 !important;
    background: transparent !important;

    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-indent: 0 !important;
    transform: none !important;
}

/* Remove theme-generated decorations. */
html body.page-id-827 main.viqc
.viqc-intro-panel .viqc-check > span::before,
html body.page-id-827 main.viqc
.viqc-intro-panel .viqc-check > span::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 680px) {
    html body.page-id-827 main.viqc
    .viqc-intro-panel .viqc-check {
        gap: 13px !important;
        min-height: 82px !important;
        padding: 18px 20px !important;
    }

    html body.page-id-827 main.viqc
    .viqc-intro-panel .viqc-check > span:first-child {
        flex-basis: 36px !important;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        font-size: 21px !important;
    }

    html body.page-id-827 main.viqc
    .viqc-intro-panel .viqc-check > .viqc-check-label {
        min-height: 36px !important;
        font-size: 16px !important;
    }
}

/* VIQ COMMUNITY CHECKLIST EXACT ALIGNMENT V2.9.1 END */

/* VIQ COMMUNITY CHECKLIST WIDTH V2.9.2 START */

/*
 * Remove the icon dimensions inherited by the second span.
 * Allow the label to consume all remaining row width.
 */
html body.page-id-827 main.viqc
.viqc-intro-panel .viqc-check > span.viqc-check-label {
    display: flex !important;
    flex: 1 1 0 !important;
    flex-basis: 0 !important;
    align-self: center !important;
    align-items: center !important;
    justify-content: flex-start !important;

    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 40px !important;
    max-height: none !important;

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

    white-space: nowrap !important;
    overflow: visible !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

/* Allow wrapping only when genuinely required on small screens. */
@media (max-width: 680px) {
    html body.page-id-827 main.viqc
    .viqc-intro-panel .viqc-check > span.viqc-check-label {
        min-height: 36px !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }
}

/* VIQ COMMUNITY CHECKLIST WIDTH V2.9.2 END */

/* VIQ COMMUNITY FEATURE HEADINGS V2.10 START */

/*
 * Place each feature icon and title in one horizontal heading row.
 */
html body.page-id-827 main.viqc
.viqc-feature-grid .viqc-card .viqc-card-heading {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;

    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;

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

/* Keep the icon at a fixed size. */
html body.page-id-827 main.viqc
.viqc-feature-grid .viqc-card .viqc-card-heading > .viqc-icon {
    position: static !important;
    display: flex !important;
    flex: 0 0 52px !important;
    align-self: center !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;

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

/* Allow the SVG to remain centred inside the icon. */
html body.page-id-827 main.viqc
.viqc-feature-grid .viqc-card .viqc-card-heading
> .viqc-icon svg {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
}

/*
 * Remove all inherited narrow-width and word-breaking rules
 * from the card title.
 */
html body.page-id-827 main.viqc
.viqc-feature-grid .viqc-card .viqc-card-heading > h3 {
    display: block !important;
    flex: 1 1 auto !important;
    align-self: center !important;

    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;

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

    color: #082f29 !important;
    font-size: 18px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    text-indent: 0 !important;

    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

/* Keep card descriptions below the heading at full width. */
html body.page-id-827 main.viqc
.viqc-feature-grid .viqc-card > p {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* On narrow screens, permit long titles to wrap naturally. */
@media (max-width: 680px) {
    html body.page-id-827 main.viqc
    .viqc-feature-grid .viqc-card .viqc-card-heading > h3 {
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }
}

/* VIQ COMMUNITY FEATURE HEADINGS V2.10 END */

/* VIQ COMMUNITY DOWNLOAD MERGE V2.11 START */

body.page-id-827 #download.viqc-app {
    scroll-margin-top: 96px;
}

body.page-id-827 #download .viqc-store-buttons {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    width: 100% !important;
    margin-top: 30px !important;
}

body.page-id-827 #download .viqc-store-buttons > a {
    display: flex !important;
    flex: 0 0 232px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 232px !important;
    height: 70px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    vertical-align: top !important;
}

body.page-id-827 #download .viqc-store-buttons > a > img {
    display: block !important;
    width: 232px !important;
    height: 70px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
}

@media (max-width: 680px) {
    body.page-id-827 #download .viqc-store-buttons {
        flex-wrap: wrap !important;
        gap: 12px !important;
    }

    body.page-id-827 #download .viqc-store-buttons > a,
    body.page-id-827 #download .viqc-store-buttons > a > img {
        width: 210px !important;
        height: 64px !important;
    }

    body.page-id-827 #download .viqc-store-buttons > a {
        flex-basis: 210px !important;
    }
}

/* VIQ COMMUNITY DOWNLOAD MERGE V2.11 END */

/* VIQ COMMUNITY APP SECTION V2.12 START */

/* Transparent phone presentation */
body.page-id-827 #download .viqc-app-image {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.page-id-827 #download .viqc-app-image img {
    display: block !important;
    width: 100% !important;
    max-width: 540px !important;
    height: auto !important;
    margin: 0 auto !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Match the introductory text with the benefit-point text. */
body.page-id-827 #download .viqc-app-grid > div:last-child > p,
body.page-id-827 #download .viqc-list,
body.page-id-827 #download .viqc-list li {
    font-size: 18px !important;
    line-height: 1.65 !important;
}

/* Identical store badge canvases and alignment. */
body.page-id-827 #download .viqc-store-buttons {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
}

body.page-id-827 #download .viqc-store-buttons > a {
    display: block !important;
    flex: 0 0 232px !important;
    width: 232px !important;
    height: 70px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

body.page-id-827 #download .viqc-store-buttons > a > img {
    display: block !important;
    width: 232px !important;
    height: 70px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: fill !important;
}

@media (max-width: 680px) {
    body.page-id-827 #download .viqc-app-grid > div:last-child > p,
    body.page-id-827 #download .viqc-list,
    body.page-id-827 #download .viqc-list li {
        font-size: 16px !important;
    }

    body.page-id-827 #download .viqc-store-buttons {
        flex-wrap: wrap !important;
        gap: 12px !important;
    }

    body.page-id-827 #download .viqc-store-buttons > a,
    body.page-id-827 #download .viqc-store-buttons > a > img {
        width: 210px !important;
        height: 64px !important;
    }

    body.page-id-827 #download .viqc-store-buttons > a {
        flex-basis: 210px !important;
    }
}

/* VIQ COMMUNITY APP SECTION V2.12 END */



/* VIQ COMMUNITY APP CORRECTION V2.12.3 START */

/* Exact shared typography for description and checklist. */
body.page-id-827 #download p.viqc-app-description,
body.page-id-827 #download ul.viqc-list > li {
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

body.page-id-827 #download p.viqc-app-description {
    margin: 0 0 26px !important;
}

body.page-id-827 #download ul.viqc-list {
    margin: 0 0 28px !important;
}

body.page-id-827 #download ul.viqc-list > li {
    margin: 12px 0 !important;
}

/* Two fixed and identical store-badge frames. */
body.page-id-827 #download .viqc-store-buttons {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    width: 440px !important;
    max-width: 100% !important;
    margin-top: 26px !important;
}

body.page-id-827 #download .viqc-store-buttons > a {
    position: relative !important;
    display: block !important;
    flex: 0 0 210px !important;
    width: 210px !important;
    height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 8px !important;
    line-height: 0 !important;
    transform: none !important;
}

/* Google Play already fills its complete canvas. */
body.page-id-827 #download .viqc-store-buttons > a:first-child > img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    display: block !important;
    width: 210px !important;
    height: 64px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: fill !important;
    transform: none !important;
}

/*
 * App Store contains internal padding.
 * Enlarge the complete uncut image inside the same 210×64 frame.
 */
body.page-id-827 #download .viqc-store-buttons > a:nth-child(2) > img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    display: block !important;
    width: 290px !important;
    height: 88px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: fill !important;
    transform: translate(-50%, -50%) !important;
    transform-origin: center center !important;
}

/* Stack badges only on narrow mobile screens. */
@media (max-width: 520px) {
    body.page-id-827 #download p.viqc-app-description,
    body.page-id-827 #download ul.viqc-list > li {
        font-size: 17px !important;
    }

    body.page-id-827 #download .viqc-store-buttons {
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 210px !important;
        gap: 12px !important;
    }
}

/* VIQ COMMUNITY APP CORRECTION V2.12.3 END */






/* VIQ COMMUNITY STORE BADGES V2.12.9 START */

/* Keep the phone image completely static. */
body.page-id-827 #download .viqc-app-image,
body.page-id-827 #download .viqc-app-image:hover,
body.page-id-827 #download .viqc-app-image img,
body.page-id-827 #download .viqc-app-image img:hover {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
    box-shadow: none !important;
    transition: none !important;
}

/* One clean alignment container for both store badges. */
body.page-id-827 #download .viqc-store-buttons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;

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

/* Both links use exactly the same dimensions. */
body.page-id-827 #download .viqc-store-buttons > a {
    position: relative !important;
    inset: auto !important;

    display: block !important;
    flex: 0 0 300px !important;

    width: 300px !important;
    height: 91px !important;
    min-width: 300px !important;
    max-width: 300px !important;

    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: visible !important;

    transform: translateY(0) !important;
    transition:
        transform 0.25s ease,
        filter 0.25s ease !important;
}

/*
 * Both source images are 660 × 200.
 * Display both on the same 300 × 91 canvas.
 */
body.page-id-827 #download .viqc-store-buttons > a > img,
body.page-id-827 #download .viqc-store-buttons > a:first-child > img,
body.page-id-827 #download .viqc-store-buttons > a:nth-child(2) > img {
    position: static !important;
    inset: auto !important;

    display: block !important;
    width: 300px !important;
    height: 91px !important;
    min-width: 300px !important;
    max-width: 300px !important;

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

    object-fit: fill !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
}

/* Identical lift interaction for both store badges. */
body.page-id-827 #download .viqc-store-buttons > a:hover,
body.page-id-827 #download .viqc-store-buttons > a:focus-visible {
    transform: translateY(-6px) !important;
    filter: drop-shadow(
        0 10px 12px rgba(0, 36, 29, 0.28)
    ) !important;
}

/* Mobile presentation. */
@media (max-width: 700px) {
    body.page-id-827 #download .viqc-store-buttons {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    body.page-id-827 #download .viqc-store-buttons > a,
    body.page-id-827 #download .viqc-store-buttons > a > img {
        flex-basis: 230px !important;
        width: 230px !important;
        height: 70px !important;
        min-width: 230px !important;
        max-width: 230px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.page-id-827 #download .viqc-store-buttons > a:hover,
    body.page-id-827 #download .viqc-store-buttons > a:focus-visible {
        transform: none !important;
    }
}

/* VIQ COMMUNITY STORE BADGES V2.12.9 END */

/* VIQ COMMUNITY STORE BADGES V2.13 START */

/*
 * Unique V2.13 selectors isolate these badges from all previous
 * generic store-button rules.
 */
body.page-id-827 #download
.viqc-store-buttons.viqc-store-buttons-v13 {
    display: grid !important;
    grid-template-columns: 300px 300px !important;
    align-items: center !important;
    justify-content: start !important;
    gap: 14px !important;

    width: auto !important;
    max-width: none !important;
    margin: 28px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.page-id-827 #download
.viqc-store-buttons-v13 > .viqc-store-link {
    position: static !important;
    inset: auto !important;

    display: block !important;
    width: 300px !important;
    height: 91px !important;
    min-width: 300px !important;
    max-width: 300px !important;

    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: visible !important;

    transform: translateY(0) !important;
    transition:
        transform 0.25s ease,
        filter 0.25s ease !important;
}

body.page-id-827 #download
.viqc-store-buttons-v13 .viqc-store-badge {
    position: static !important;
    inset: auto !important;

    display: block !important;
    width: 300px !important;
    height: 91px !important;
    min-width: 300px !important;
    max-width: 300px !important;

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

    object-fit: fill !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
}

/* Matching hover lift for both store links. */
body.page-id-827 #download
.viqc-store-buttons-v13 > .viqc-store-link:hover,
body.page-id-827 #download
.viqc-store-buttons-v13 > .viqc-store-link:focus-visible {
    transform: translateY(-6px) !important;
    filter: drop-shadow(
        0 10px 12px rgba(0, 36, 29, 0.28)
    ) !important;
}

/* The phone image remains static. */
body.page-id-827 #download .viqc-app-image,
body.page-id-827 #download .viqc-app-image:hover,
body.page-id-827 #download .viqc-app-image img,
body.page-id-827 #download .viqc-app-image img:hover {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
    box-shadow: none !important;
    transition: none !important;
}

@media (max-width: 760px) {
    body.page-id-827 #download
    .viqc-store-buttons.viqc-store-buttons-v13 {
        grid-template-columns: minmax(0, 260px) !important;
        gap: 10px !important;
    }

    body.page-id-827 #download
    .viqc-store-buttons-v13 > .viqc-store-link,
    body.page-id-827 #download
    .viqc-store-buttons-v13 .viqc-store-badge {
        width: 260px !important;
        height: 79px !important;
        min-width: 260px !important;
        max-width: 260px !important;
    }
}

/* VIQ COMMUNITY STORE BADGES V2.13 END */

/* VIQ COMMUNITY BADGE ROW V2.13.1 START */

/*
 * Do not depend on body.page-id-827 here.
 * Force the V2.13 badge container into one desktop row.
 */
.viqc-store-buttons.viqc-store-buttons-v13 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: max-content !important;
    min-width: 614px !important;
    max-width: none !important;

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

    overflow: visible !important;
}

.viqc-store-buttons-v13 > .viqc-store-link {
    position: relative !important;
    inset: auto !important;

    display: block !important;
    flex: 0 0 300px !important;

    width: 300px !important;
    height: 91px !important;
    min-width: 300px !important;
    max-width: 300px !important;

    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
    overflow: visible !important;
}

.viqc-store-buttons-v13 > .viqc-store-link-google,
.viqc-store-buttons-v13 > .viqc-store-link-apple {
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
}

/* Keep both images on the same visual baseline. */
.viqc-store-buttons-v13 .viqc-store-badge {
    position: static !important;
    display: block !important;

    width: 300px !important;
    height: 91px !important;
    min-width: 300px !important;
    max-width: 300px !important;

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

    transform: none !important;
    translate: none !important;
    scale: 1 !important;
}

/* Apply lift to the links, not the images. */
.viqc-store-buttons-v13 > .viqc-store-link:hover,
.viqc-store-buttons-v13 > .viqc-store-link:focus-visible {
    transform: translateY(-6px) !important;
}

/* Stack only on genuinely small mobile screens. */
@media (max-width: 680px) {
    .viqc-store-buttons.viqc-store-buttons-v13 {
        width: 100% !important;
        min-width: 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .viqc-store-buttons-v13 > .viqc-store-link,
    .viqc-store-buttons-v13 .viqc-store-badge {
        flex-basis: 260px !important;
        width: 260px !important;
        height: 79px !important;
        min-width: 260px !important;
        max-width: 260px !important;
    }

    .viqc-store-buttons-v13 > .viqc-store-link {
        flex-basis: 79px !important;
    }
}

/* VIQ COMMUNITY BADGE ROW V2.13.1 END */

/* VIQ COMMUNITY STORE TABLE V2.14 START */

.viqc-store-table-v14,
.viqc-store-table-v14 tbody,
.viqc-store-table-v14 tr,
.viqc-store-table-v14 td {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.viqc-store-table-v14 .viqc-store-table-link {
    transition:
        transform 0.25s ease,
        filter 0.25s ease !important;
}

.viqc-store-table-v14 .viqc-store-table-link:hover,
.viqc-store-table-v14 .viqc-store-table-link:focus-visible {
    transform: translateY(-6px) !important;
    filter: drop-shadow(
        0 10px 12px rgba(0, 36, 29, 0.28)
    ) !important;
}

/* VIQ COMMUNITY STORE TABLE V2.14 END */





/* VIQ COMMUNITY STEP HEADING ALIGNMENT V2.16 START */

/*
 * Place each step number and title together on the first row.
 * Keep the description across the full card width below them.
 */
body.page-id-827 #how-it-works .viqc-step {
    display: grid !important;
    grid-template-columns: 62px minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr !important;
    column-gap: 18px !important;
    row-gap: 24px !important;
    align-items: center !important;
    align-content: start !important;
}

body.page-id-827 #how-it-works .viqc-step-number {
    grid-column: 1 !important;
    grid-row: 1 !important;

    width: 62px !important;
    height: 62px !important;
    margin: 0 !important;

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

body.page-id-827 #how-it-works .viqc-step > h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;

    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.25 !important;
}

body.page-id-827 #how-it-works .viqc-step > p {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;

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

/* Maintain a compact heading row on smaller screens. */
@media (max-width: 680px) {
    body.page-id-827 #how-it-works .viqc-step {
        grid-template-columns: 52px minmax(0, 1fr) !important;
        column-gap: 14px !important;
        row-gap: 18px !important;
    }

    body.page-id-827 #how-it-works .viqc-step-number {
        width: 52px !important;
        height: 52px !important;
    }
}

/* VIQ COMMUNITY STEP HEADING ALIGNMENT V2.16 END */

/* VIQ COMMUNITY STEP DESCRIPTION WRAP V2.16.1 START */

body.page-id-827 #how-it-works .viqc-step > p {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;

    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

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

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;

    font-size: 17px !important;
    line-height: 1.75 !important;
}

/* VIQ COMMUNITY STEP DESCRIPTION WRAP V2.16.1 END */

/* VIQ COMMUNITY MANAGEMENT BUTTON V2.17 START */

body.page-id-827 .viqc-management-button-v217 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 235px !important;
    min-height: 56px !important;

    margin-top: 26px !important;
    padding: 14px 28px !important;

    color: #ffffff !important;
    background: #079879 !important;
    border: 2px solid #079879 !important;
    border-radius: 999px !important;

    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;

    box-shadow: 0 10px 22px rgba(7, 152, 121, 0.2) !important;
    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease !important;
}

/* Remove arrows generated by the theme or previous CSS. */
body.page-id-827 .viqc-management-button-v217::before,
body.page-id-827 .viqc-management-button-v217::after,
body.page-id-827 .viqc-management-button-v217 > span {
    display: none !important;
    content: none !important;
}

body.page-id-827 .viqc-management-button-v217:hover,
body.page-id-827 .viqc-management-button-v217:focus-visible {
    color: #ffffff !important;
    background: #05745f !important;
    border-color: #05745f !important;
    text-decoration: none !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 28px rgba(7, 116, 95, 0.28) !important;
}

/* VIQ COMMUNITY MANAGEMENT BUTTON V2.17 END */

/* VIQ COMMUNITY CONTACT PAGE V2.19 START */

/*
 * Remove the old SAAS theme chrome from the Community Request page.
 * The VIQ custom header and footer use their own class names.
 */
body.page-id-677 #masthead,
body.page-id-677 #colophon,
body.page-id-677 #tophead,
body.page-id-677 .tophead,
body.page-id-677 .header-top,
body.page-id-677 .top-bar,
body.page-id-677 .site-topbar,
body.page-id-677 .tx-topbar,
body.page-id-677 header[role="banner"],
body.page-id-677 footer[role="contentinfo"] {
    display: none !important;
}

/* Remove the default WordPress page title and theme decoration. */
body.page-id-677 .entry-header,
body.page-id-677 .entry-title,
body.page-id-677 .page-title,
body.page-id-677 #main.content-aa > h1,
body.page-id-677 #main.content-aa > .feature-box,
body.page-id-677 .entry-footer,
body.page-id-677 .comments-area,
body.page-id-677 #comments,
body.page-id-677 #secondary,
body.page-id-677 .widget-area {
    display: none !important;
}

/* Remove every theme width and spacing constraint. */
body.page-id-677 #page,
body.page-id-677 #content,
body.page-id-677 #primary,
body.page-id-677 #main,
body.page-id-677 .content-area,
body.page-id-677 .site-main,
body.page-id-677 article,
body.page-id-677 .hentry,
body.page-id-677 .site-content,
body.page-id-677 .content-wrapper,
body.page-id-677 .entry-content {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-677 .container.space-top {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-677 .container.space-top > .row,
body.page-id-677 .container.space-top .middle-align,
body.page-id-677 #main.content-aa,
body.page-id-677 #main.content-aa > .entry-content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-677 .middle-align {
    flex: none !important;
}

/* Protect the new page canvas and custom components. */
body.page-id-677 {
    overflow-x: hidden;
    background: #ffffff;
}

body.page-id-677 .viqc,
body.page-id-677 .viqc * {
    box-sizing: border-box;
}

body.page-id-677 .entry-content > .viqc-site-header,
body.page-id-677 .entry-content > .viqc,
body.page-id-677 .entry-content > .viqc-global-footer {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.page-id-677 .viqc-site-header {
    position: relative;
    z-index: 9999;
}

body.page-id-677 .viqc-global-footer {
    width: 100% !important;
    max-width: none !important;
}

/* Ensure the contact page wrapper does not add extra spacing. */
body.page-id-677 .viqc-contact-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* VIQ COMMUNITY CONTACT PAGE V2.19 END */

/* VIQ COMMUNITY CONTACT STICKY MENU V2.19.1 START */

body.page-id-677 .viqc-site-header {
    position: sticky !important;
    top: 0 !important;
    right: auto !important;
    left: auto !important;
    z-index: 99999 !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Keep the menu below the WordPress admin bar when logged in. */
body.admin-bar.page-id-677 .viqc-site-header {
    top: 32px !important;
}

@media (max-width: 782px) {
    body.admin-bar.page-id-677 .viqc-site-header {
        top: 46px !important;
    }
}

/* Prevent theme containers from disabling sticky positioning. */
body.page-id-677 #page,
body.page-id-677 #content,
body.page-id-677 #primary,
body.page-id-677 #main,
body.page-id-677 article,
body.page-id-677 .entry-content {
    overflow: visible !important;
}

/* VIQ COMMUNITY CONTACT STICKY MENU V2.19.1 END */

/* VIQ COMMUNITY POLICY PAGES V2.21 START */

/*
 * Remove all SAAS theme framing from the Terms and Privacy pages.
 */
body.page-id-705 #masthead,
body.page-id-686 #masthead,
body.page-id-705 #colophon,
body.page-id-686 #colophon,
body.page-id-705 #tophead,
body.page-id-686 #tophead,
body.page-id-705 .tophead,
body.page-id-686 .tophead,
body.page-id-705 .header-top,
body.page-id-686 .header-top,
body.page-id-705 .top-bar,
body.page-id-686 .top-bar,
body.page-id-705 .site-topbar,
body.page-id-686 .site-topbar,
body.page-id-705 .tx-topbar,
body.page-id-686 .tx-topbar,
body.page-id-705 header[role="banner"],
body.page-id-686 header[role="banner"],
body.page-id-705 footer[role="contentinfo"],
body.page-id-686 footer[role="contentinfo"] {
    display: none !important;
}

/* Hide the title produced by the theme; V2.21 creates its own title. */
body.page-id-705 #main.content-aa > h1,
body.page-id-686 #main.content-aa > h1,
body.page-id-705 #main.content-aa > .feature-box,
body.page-id-686 #main.content-aa > .feature-box,
body.page-id-705 .entry-header,
body.page-id-686 .entry-header,
body.page-id-705 .entry-title,
body.page-id-686 .entry-title,
body.page-id-705 .entry-footer,
body.page-id-686 .entry-footer,
body.page-id-705 #secondary,
body.page-id-686 #secondary,
body.page-id-705 .widget-area,
body.page-id-686 .widget-area,
body.page-id-705 .comments-area,
body.page-id-686 .comments-area {
    display: none !important;
}

/* Remove theme width, column and spacing restrictions. */
body.page-id-705 #page,
body.page-id-686 #page,
body.page-id-705 #content,
body.page-id-686 #content,
body.page-id-705 #primary,
body.page-id-686 #primary,
body.page-id-705 #main,
body.page-id-686 #main,
body.page-id-705 .content-area,
body.page-id-686 .content-area,
body.page-id-705 .site-main,
body.page-id-686 .site-main,
body.page-id-705 article,
body.page-id-686 article,
body.page-id-705 .hentry,
body.page-id-686 .hentry,
body.page-id-705 .site-content,
body.page-id-686 .site-content,
body.page-id-705 .content-wrapper,
body.page-id-686 .content-wrapper,
body.page-id-705 .entry-content,
body.page-id-686 .entry-content {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.page-id-705 .container.space-top,
body.page-id-686 .container.space-top,
body.page-id-705 .container.space-top > .row,
body.page-id-686 .container.space-top > .row,
body.page-id-705 .container.space-top .middle-align,
body.page-id-686 .container.space-top .middle-align,
body.page-id-705 #main.content-aa,
body.page-id-686 #main.content-aa {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-id-705,
body.page-id-686 {
    overflow-x: hidden;
    background: #ffffff !important;
}

/* Same full-width shared header and footer. */
body.page-id-705 .entry-content > .viqc-site-header,
body.page-id-686 .entry-content > .viqc-site-header,
body.page-id-705 .entry-content > .viqc-global-footer,
body.page-id-686 .entry-content > .viqc-global-footer {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Sticky navigation matching the homepage and Contact page. */
body.page-id-705 .viqc-site-header,
body.page-id-686 .viqc-site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    isolation: isolate;
}

body.admin-bar.page-id-705 .viqc-site-header,
body.admin-bar.page-id-686 .viqc-site-header {
    top: 32px !important;
}

/* Policy-page presentation. */
.viqc-policy-page,
.viqc-policy-page * {
    box-sizing: border-box;
}

.viqc-policy-page {
    padding: 72px 0 90px;
    background:
        radial-gradient(
            circle at 14% 12%,
            rgba(33, 199, 150, 0.11),
            transparent 29%
        ),
        linear-gradient(
            180deg,
            #effaf6 0,
            #f7fcfa 420px,
            #ffffff 100%
        );
    color: #45645e;
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif;
}

.viqc-policy-shell {
    width: min(1120px, calc(100% - 48px));
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #cce9df;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 20px 55px rgba(4, 73, 57, 0.11);
}

.viqc-policy-title {
    margin: 0;
    padding: 58px 50px;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(71, 225, 178, 0.25),
            transparent 30%
        ),
        linear-gradient(135deg, #063f35, #08705a);
    text-align: center;
}

.viqc-policy-title h1 {
    margin: 0 !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: clamp(38px, 5vw, 58px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em !important;
    line-height: 1.1 !important;
}

.viqc-policy-body {
    max-width: 920px;
    margin: 0 auto;
    padding: 55px 54px 70px;
    color: #45645e;
    font-size: 16px;
    line-height: 1.85;
}

.viqc-policy-body h1,
.viqc-policy-body h2,
.viqc-policy-body h3,
.viqc-policy-body h4 {
    margin-top: 40px;
    margin-bottom: 16px;
    color: #0b2f29 !important;
    font-family: inherit !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

.viqc-policy-body h1 {
    font-size: 32px !important;
}

.viqc-policy-body h2 {
    padding-bottom: 10px;
    border-bottom: 2px solid #dcf7ed;
    font-size: 27px !important;
}

.viqc-policy-body h3 {
    font-size: 22px !important;
}

.viqc-policy-body p,
.viqc-policy-body li {
    color: #45645e !important;
}

.viqc-policy-body a {
    color: #08705a !important;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.viqc-policy-body ul,
.viqc-policy-body ol {
    padding-left: 25px;
}

/* Mobile policy layout. */
@media (max-width: 782px) {
    body.admin-bar.page-id-705 .viqc-site-header,
    body.admin-bar.page-id-686 .viqc-site-header {
        top: 46px !important;
    }

    .viqc-policy-page {
        padding: 34px 0 55px;
    }

    .viqc-policy-shell {
        width: min(100% - 24px, 1120px);
        border-radius: 20px;
    }

    .viqc-policy-title {
        padding: 40px 20px;
    }

    .viqc-policy-title h1 {
        font-size: clamp(34px, 10vw, 46px) !important;
    }

    .viqc-policy-body {
        padding: 36px 23px 50px;
        font-size: 15px;
    }

    .viqc-policy-body h2 {
        font-size: 24px !important;
    }
}

/* VIQ COMMUNITY POLICY PAGES V2.21 END */

/* VIQ COMMUNITY POLICY VIEWPORT V2.21.1 START */

/*
 * The policy header, page background and footer are generated inside the
 * theme content container. Break all three out to the full viewport width.
 */
body.page-id-705 .entry-content > .viqc-site-header,
body.page-id-686 .entry-content > .viqc-site-header,
body.page-id-705 .entry-content > .viqc-policy-page,
body.page-id-686 .entry-content > .viqc-policy-page,
body.page-id-705 .entry-content > .viqc-global-footer,
body.page-id-686 .entry-content > .viqc-global-footer {
    position: relative;
    right: auto !important;
    left: 50% !important;

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

    margin-right: -50vw !important;
    margin-left: -50vw !important;
    padding-right: 0;
    padding-left: 0;

    transform: none !important;
}

/* Reinstate sticky positioning after the viewport breakout. */
body.page-id-705 .entry-content > .viqc-site-header,
body.page-id-686 .entry-content > .viqc-site-header {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;

    width: 100vw !important;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;

    z-index: 99999 !important;
}

/* Logged-in WordPress toolbar spacing. */
body.admin-bar.page-id-705 .entry-content > .viqc-site-header,
body.admin-bar.page-id-686 .entry-content > .viqc-site-header {
    top: 32px !important;
}

/*
 * Remove residual Bootstrap/theme container limits from every ancestor.
 */
body.page-id-705 #page,
body.page-id-686 #page,
body.page-id-705 #content,
body.page-id-686 #content,
body.page-id-705 #primary,
body.page-id-686 #primary,
body.page-id-705 #main,
body.page-id-686 #main,
body.page-id-705 article,
body.page-id-686 article,
body.page-id-705 .container.space-top,
body.page-id-686 .container.space-top,
body.page-id-705 .container.space-top > .row,
body.page-id-686 .container.space-top > .row,
body.page-id-705 .middle-align,
body.page-id-686 .middle-align,
body.page-id-705 .entry-content,
body.page-id-686 .entry-content {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;

    overflow: visible !important;
}

/* Ensure the shared components retain their standard typography. */
body.page-id-705 .viqc-site-header,
body.page-id-686 .viqc-site-header,
body.page-id-705 .viqc-global-footer,
body.page-id-686 .viqc-global-footer {
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif !important;
}

/* Prevent accidental horizontal movement caused by the theme. */
body.page-id-705,
body.page-id-686 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-x: clip !important;
}

@media (max-width: 782px) {
    body.admin-bar.page-id-705 .entry-content > .viqc-site-header,
    body.admin-bar.page-id-686 .entry-content > .viqc-site-header {
        top: 46px !important;
    }

    body.page-id-705,
    body.page-id-686 {
        overflow-x: hidden !important;
    }
}

/* VIQ COMMUNITY POLICY VIEWPORT V2.21.1 END */

/* VIQ COMMUNITY POLICY FOOTER V2.21.2 START */

/*
 * Remove the gap between the shared navigation and policy content.
 */
body.page-id-705 .viqc-policy-page,
body.page-id-686 .viqc-policy-page {
    padding-top: 0 !important;
}

body.page-id-705 .viqc-policy-shell,
body.page-id-686 .viqc-policy-shell {
    margin-top: 0 !important;
}

/*
 * The policy card now begins directly below the menu.
 * Keep rounded corners only at the bottom to avoid a floating-card gap.
 */
body.page-id-705 .viqc-policy-shell,
body.page-id-686 .viqc-policy-shell {
    border-top: 0 !important;
    border-radius: 0 0 26px 26px !important;
}

body.page-id-705 .viqc-policy-title,
body.page-id-686 .viqc-policy-title {
    border-radius: 0 !important;
}

/*
 * Lock the shared footer to the same colour, typography and spacing
 * on every redesigned page.
 */
.viqc-global-footer {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;

    background:
        radial-gradient(
            circle at 15% 15%,
            rgba(33, 199, 150, 0.16),
            transparent 28%
        ),
        #063f35 !important;

    color: rgba(255, 255, 255, 0.78) !important;
    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif !important;
}

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

.viqc-global-footer .viqc-footer-shell {
    width: min(1200px, calc(100% - 48px)) !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-top: 64px !important;
    padding-bottom: 28px !important;
}

/* Footer logo and description. */
.viqc-global-footer .viqc-footer-brand img {
    display: block !important;
    width: auto !important;
    max-width: 92px !important;
    height: auto !important;
    margin: 0 0 20px !important;
}

.viqc-global-footer .viqc-footer-brand p {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

/* Footer column headings. */
.viqc-global-footer .viqc-footer-column h2 {
    margin: 0 0 20px !important;
    padding: 0 0 11px !important;

    color: #ffffff !important;
    border-bottom: 2px solid rgba(80, 229, 182, 0.58) !important;

    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}

/* Footer links and remaining text. */
.viqc-global-footer .viqc-footer-column a,
.viqc-global-footer .viqc-footer-column a:link,
.viqc-global-footer .viqc-footer-column a:visited {
    display: block !important;
    margin: 0 0 9px !important;
    padding: 0 !important;

    color: rgba(255, 255, 255, 0.82) !important;

    font-family:
        Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
        Roboto, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    text-decoration: none !important;
}

.viqc-global-footer .viqc-footer-column a:hover,
.viqc-global-footer .viqc-footer-column a:focus {
    color: #63e8bd !important;
    text-decoration: none !important;
}

.viqc-global-footer .viqc-footer-column span {
    display: block !important;
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

/* Copyright row. */
.viqc-global-footer .viqc-footer-bottom {
    margin-top: 48px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.18) !important;

    color: rgba(255, 255, 255, 0.70) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.viqc-global-footer .viqc-footer-bottom span {
    color: rgba(255, 255, 255, 0.70) !important;
}

.viqc-global-footer .viqc-footer-bottom a,
.viqc-global-footer .viqc-footer-bottom a:visited {
    color: #ffffff !important;
    font-weight: 800 !important;
}

/* Responsive footer consistency. */
@media (max-width: 782px) {
    body.page-id-705 .viqc-policy-page,
    body.page-id-686 .viqc-policy-page {
        padding-top: 0 !important;
    }

    body.page-id-705 .viqc-policy-shell,
    body.page-id-686 .viqc-policy-shell {
        width: 100% !important;
        border-right: 0 !important;
        border-left: 0 !important;
        border-radius: 0 0 20px 20px !important;
    }

    .viqc-global-footer .viqc-footer-shell {
        width: min(100% - 34px, 1200px) !important;
        padding-top: 48px !important;
    }
}

/* VIQ COMMUNITY POLICY FOOTER V2.21.2 END */

/* VIQ COMMUNITY POLICY GAP V2.21.3 START */

/* Remove all spacing between the policy content and global footer. */
body.page-id-705 .viqc-policy-page,
body.page-id-686 .viqc-policy-page {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.page-id-705 .viqc-policy-shell,
body.page-id-686 .viqc-policy-shell {
    margin-bottom: 0 !important;
}

/* Remove any theme-generated spacing around the shared footer. */
body.page-id-705 .viqc-policy-page + .viqc-global-footer,
body.page-id-686 .viqc-policy-page + .viqc-global-footer {
    margin-top: 0 !important;
}

body.page-id-705 .entry-content,
body.page-id-686 .entry-content,
body.page-id-705 article,
body.page-id-686 article,
body.page-id-705 #primary,
body.page-id-686 #primary,
body.page-id-705 #main,
body.page-id-686 #main {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* VIQ COMMUNITY POLICY GAP V2.21.3 END */

/* VIQ COMMUNITY POLICY AFTER-FOOTER GAP V2.21.4 START */

/*
 * The SAAS theme reserves approximately 71px below the entry content.
 * Pull the custom footer through that unused space.
 */
body.page-id-705 .entry-content > .viqc-global-footer,
body.page-id-686 .entry-content > .viqc-global-footer {
    margin-top: 0 !important;
    margin-bottom: -71px !important;
}

/* Remove any residual spacing from containers following the article. */
body.page-id-705 article,
body.page-id-686 article,
body.page-id-705 .hentry,
body.page-id-686 .hentry,
body.page-id-705 #primary,
body.page-id-686 #primary,
body.page-id-705 #main,
body.page-id-686 #main,
body.page-id-705 .site-main,
body.page-id-686 .site-main,
body.page-id-705 .site-content,
body.page-id-686 .site-content,
body.page-id-705 .container.space-top,
body.page-id-686 .container.space-top {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Ensure the document itself does not add a final margin. */
html,
body.page-id-705,
body.page-id-686 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* VIQ COMMUNITY POLICY AFTER-FOOTER GAP V2.21.4 END */

/* VIQ COMMUNITY FOOTER BRAND V2.22 START */

/* Centre the footer logo and description inside the first column. */
.viqc-global-footer .viqc-footer-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;

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

    text-align: center !important;
}

.viqc-global-footer .viqc-footer-brand img {
    display: block !important;
    width: auto !important;
    max-width: 92px !important;
    height: auto !important;

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

    align-self: center !important;
}

.viqc-global-footer .viqc-footer-brand p {
    width: 100% !important;
    max-width: 285px !important;

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

    text-align: center !important;
}

/* VIQ COMMUNITY FOOTER BRAND V2.22 END */

/* VIQ COMMUNITY ABOUT PAGE V2.23 START */

/* Remove the SAAS theme framing. */
body.page-id-664 #masthead,
body.page-id-664 #colophon,
body.page-id-664 #tophead,
body.page-id-664 .tophead,
body.page-id-664 .header-top,
body.page-id-664 .top-bar,
body.page-id-664 .site-topbar,
body.page-id-664 .tx-topbar,
body.page-id-664 header[role="banner"],
body.page-id-664 footer[role="contentinfo"],
body.page-id-664 .entry-header,
body.page-id-664 .entry-title,
body.page-id-664 .page-title,
body.page-id-664 .entry-footer,
body.page-id-664 #secondary,
body.page-id-664 .widget-area,
body.page-id-664 #main.content-aa > h1,
body.page-id-664 #main.content-aa > .feature-box {
    display: none !important;
}

/* Full-width page canvas. */
body.page-id-664 #page,
body.page-id-664 #content,
body.page-id-664 #primary,
body.page-id-664 #main,
body.page-id-664 .content-area,
body.page-id-664 .site-main,
body.page-id-664 article,
body.page-id-664 .hentry,
body.page-id-664 .site-content,
body.page-id-664 .content-wrapper,
body.page-id-664 .entry-content,
body.page-id-664 .container.space-top,
body.page-id-664 .container.space-top > .row,
body.page-id-664 .middle-align {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.page-id-664 {
    overflow-x: hidden;
    background: #ffffff;
}

body.page-id-664 .viqc-site-header,
body.page-id-664 .viqc-global-footer,
body.page-id-664 .viqc-about {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Sticky shared navigation. */
body.page-id-664 .viqc-site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
}

body.admin-bar.page-id-664 .viqc-site-header {
    top: 32px !important;
}

/* Hero */
.viqc-about-hero {
    overflow: hidden;
    background:
        radial-gradient(
            circle at 82% 32%,
            rgba(33, 199, 150, 0.24),
            transparent 30%
        ),
        linear-gradient(135deg, #063f35, #08705a);
}

.viqc-about-hero-grid {
    display: grid;
    grid-template-columns: 1.12fr 0.88fr;
    align-items: center;
    gap: 72px;
    min-height: 650px;
}

.viqc-about-hero-copy {
    padding: 82px 0;
}

.viqc-about-hero-copy h1 {
    max-width: 780px;
}

.viqc-about-hero-copy > p {
    max-width: 680px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 20px;
    line-height: 1.75;
}

.viqc-about-hero-visual {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-height: 590px;
}

.viqc-about-hero-visual img {
    position: relative;
    z-index: 2;
    width: auto;
    max-width: 100%;
    max-height: 570px;
    filter: drop-shadow(0 30px 36px rgba(0, 0, 0, 0.30));
}

.viqc-about-phone-glow {
    position: absolute;
    top: 20%;
    right: 4%;
    bottom: 8%;
    left: 4%;
    border-radius: 50%;
    background: rgba(80, 229, 182, 0.18);
    filter: blur(18px);
}

/* Story */
.viqc-about-story-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: start;
    gap: 85px;
}

.viqc-about-story-copy p {
    font-size: 18px;
    line-height: 1.8;
}

/* Values */
.viqc-about-value-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.viqc-about-value {
    padding: 36px;
    border: 1px solid var(--viqc-border);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 12px 32px rgba(4, 73, 57, 0.07);
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.viqc-about-value:hover {
    transform: translateY(-8px);
    border-color: var(--viqc-green-500);
    box-shadow: var(--viqc-shadow);
}

.viqc-about-value-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 22px;
    border-radius: 18px;
    background:
        linear-gradient(
            135deg,
            var(--viqc-green-700),
            var(--viqc-green-500)
        );
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(13, 183, 132, 0.22);
}

.viqc-about-value-icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.viqc-about-value h3 {
    font-size: 25px !important;
}

.viqc-about-value p {
    margin-bottom: 0;
}

/* Audience */
.viqc-about-audience-grid {
    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    align-items: center;
    gap: 90px;
}

.viqc-about-audience-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 430px;
    border: 1px solid var(--viqc-border);
    border-radius: 30px;
    background:
        radial-gradient(
            circle,
            rgba(33, 199, 150, 0.18),
            transparent 57%
        ),
        var(--viqc-green-50);
    box-shadow: var(--viqc-shadow);
}

.viqc-about-audience-ring {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 260px;
    height: 260px;
    border: 2px solid var(--viqc-green-500);
    border-radius: 50%;
    background: #ffffff;
    color: var(--viqc-green-800);
    box-shadow:
        0 0 0 22px rgba(33, 199, 150, 0.09),
        0 22px 44px rgba(4, 73, 57, 0.14);
    text-align: center;
}

.viqc-about-audience-ring span {
    font-size: 18px;
    font-weight: 700;
}

.viqc-about-audience-ring strong {
    color: var(--viqc-ink);
    font-size: 28px;
    line-height: 1.2;
}

.viqc-about-audience-copy > p {
    font-size: 18px;
}

.viqc-about-audience-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 18px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.viqc-about-audience-list li {
    position: relative;
    padding: 15px 16px 15px 46px;
    border: 1px solid var(--viqc-border);
    border-radius: 13px;
    background: var(--viqc-green-50);
    color: var(--viqc-ink);
    font-weight: 700;
}

.viqc-about-audience-list li::before {
    position: absolute;
    top: 50%;
    left: 17px;
    color: var(--viqc-green-600);
    content: "✓";
    font-size: 20px;
    font-weight: 900;
    transform: translateY(-50%);
}

/* CTA */
.viqc-about-cta {
    padding: 75px 0;
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(80, 229, 182, 0.18),
            transparent 30%
        ),
        var(--viqc-green-950);
}

.viqc-about-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
}

.viqc-about-cta h2 {
    max-width: 800px;
    margin-bottom: 0;
    color: #ffffff;
}

/* Responsive */
@media (max-width: 950px) {
    .viqc-about-hero-grid,
    .viqc-about-story-grid,
    .viqc-about-audience-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .viqc-about-hero-copy {
        padding: 72px 0 0;
    }

    .viqc-about-hero-visual {
        min-height: 470px;
    }

    .viqc-about-hero-visual img {
        max-height: 460px;
    }

    .viqc-about-value-grid {
        grid-template-columns: 1fr;
    }

    .viqc-about-audience-panel {
        min-height: 360px;
    }
}

@media (max-width: 782px) {
    body.admin-bar.page-id-664 .viqc-site-header {
        top: 46px !important;
    }

    .viqc-about-hero-grid {
        min-height: auto;
    }

    .viqc-about-hero-copy {
        padding-top: 58px;
        text-align: center;
    }

    .viqc-about-hero-copy .viqc-eyebrow,
    .viqc-about-hero-copy .viqc-buttons {
        justify-content: center;
    }

    .viqc-about-hero-copy h1 {
        font-size: clamp(42px, 12vw, 58px) !important;
    }

    .viqc-about-hero-copy > p {
        font-size: 17px;
    }

    .viqc-about-hero-visual {
        min-height: 380px;
    }

    .viqc-about-hero-visual img {
        max-height: 370px;
    }

    .viqc-about-story-grid {
        gap: 20px;
    }

    .viqc-about-story-copy p,
    .viqc-about-audience-copy > p {
        font-size: 16px;
    }

    .viqc-about-audience-list {
        grid-template-columns: 1fr;
    }

    .viqc-about-audience-ring {
        width: 220px;
        height: 220px;
    }

    .viqc-about-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .viqc-about-cta .viqc-btn {
        width: 100%;
    }
}

/* VIQ COMMUNITY ABOUT PAGE V2.23 END */

/* VIQ COMMUNITY ABOUT CTA BACKGROUND V2.27.4 START */

.viqc-about-cta {
    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(33, 199, 150, 0.10),
            transparent 32%
        ),
        var(--viqc-green-50);
}

.viqc-about-cta h2 {
    color: var(--viqc-green-950);
}

.viqc-about-cta .viqc-eyebrow-light {
    color: var(--viqc-green-700, #009b72);
}

.viqc-about-cta .viqc-eyebrow-light::before,
.viqc-about-cta .viqc-eyebrow-light::after {
    background: var(--viqc-green-500, #21c796);
}

/* VIQ COMMUNITY ABOUT CTA BACKGROUND V2.27.4 END */

/* VIQ COMMUNITY ABOUT HERO BUTTONS V2.27.5 START */

html body.page-id-664 .viqc-about-hero .viqc-buttons {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}

html body.page-id-664 .viqc-about-hero
.viqc-buttons > a.viqc-btn {
    position: static !important;
    inset: auto !important;
    float: none !important;

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

    box-sizing: border-box !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;

    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;

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

    border-width: 2px !important;
    border-style: solid !important;
    border-radius: 999px !important;

    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    appearance: none !important;
    -webkit-appearance: none !important;
}

html body.page-id-664 .viqc-about-hero
.viqc-buttons > a.viqc-btn-primary,
html body.page-id-664 .viqc-about-hero
.viqc-buttons > a.viqc-btn-primary:link,
html body.page-id-664 .viqc-about-hero
.viqc-buttons > a.viqc-btn-primary:visited {
    border-color: transparent !important;
    background: linear-gradient(
        135deg,
        #23c99a,
        #39dcaa
    ) !important;
    color: #063b31 !important;
    -webkit-text-fill-color: #063b31 !important;
}

html body.page-id-664 .viqc-about-hero
.viqc-buttons > a.viqc-btn-outline,
html body.page-id-664 .viqc-about-hero
.viqc-buttons > a.viqc-btn-outline:link,
html body.page-id-664 .viqc-about-hero
.viqc-buttons > a.viqc-btn-outline:visited {
    border-color: rgba(255, 255, 255, 0.70) !important;
    background: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body.page-id-664 .viqc-about-hero
.viqc-buttons > a.viqc-btn:hover,
html body.page-id-664 .viqc-about-hero
.viqc-buttons > a.viqc-btn:focus {
    transform: translateY(-4px) !important;
}

html body.page-id-664 .viqc-about-hero
.viqc-buttons > a.viqc-btn-outline:hover,
html body.page-id-664 .viqc-about-hero
.viqc-buttons > a.viqc-btn-outline:focus {
    border-color: #ffffff !important;
    background: #ffffff !important;
    color: #064f40 !important;
    -webkit-text-fill-color: #064f40 !important;
}

@media (max-width: 560px) {
    html body.page-id-664 .viqc-about-hero
    .viqc-buttons > a.viqc-btn {
        flex-basis: 100% !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}

/* VIQ COMMUNITY ABOUT HERO BUTTONS V2.27.5 END */

/* VIQ COMMUNITY ABOUT HERO BUTTONS V2.27.6 START */

/*
 * WordPress wpautop wraps the second button in a paragraph.
 * Remove that wrapper from the visual layout.
 */
html body.page-id-664 .viqc-about-hero
.viqc-buttons > p {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Target both buttons regardless of WordPress wrapper markup. */
html body.page-id-664 .viqc-about-hero
.viqc-buttons a.viqc-btn {
    position: static !important;
    inset: auto !important;
    float: none !important;

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

    box-sizing: border-box !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;

    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;

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

    border-width: 2px !important;
    border-style: solid !important;
    border-radius: 999px !important;

    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    transform: none !important;
}

html body.page-id-664 .viqc-about-hero
.viqc-buttons a.viqc-btn-primary {
    border-color: transparent !important;
}

html body.page-id-664 .viqc-about-hero
.viqc-buttons a.viqc-btn-outline {
    border-color: rgba(255, 255, 255, 0.65) !important;
}

@media (max-width: 600px) {
    html body.page-id-664 .viqc-about-hero
    .viqc-buttons a.viqc-btn {
        flex-basis: 100% !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}

/* VIQ COMMUNITY ABOUT HERO BUTTONS V2.27.6 END */

/* VIQ COMMUNITY ABOUT BUTTON TEXT V2.27.7 START */

/* Hide line breaks automatically inserted by WordPress. */
html body.page-id-664 .viqc-about-hero
.viqc-buttons a.viqc-btn br {
    display: none !important;
}

/* Centre the remaining label precisely. */
html body.page-id-664 .viqc-about-hero
.viqc-buttons a.viqc-btn {
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    text-align: center !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

/* VIQ COMMUNITY ABOUT BUTTON TEXT V2.27.7 END */

/* VIQ COMMUNITY ABOUT SECTION SPACING V2.27.8 START */

/* Standard About Us content sections. */
html body.page-id-664 .viqc-about .viqc-section {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}

/* Hero section. */
html body.page-id-664 .viqc-about-hero {
    min-height: auto !important;
}

html body.page-id-664 .viqc-about-hero-copy {
    padding-top: 65px !important;
    padding-bottom: 65px !important;
}

/* Reduce gaps inside section layouts. */
html body.page-id-664 .viqc-about-story-grid,
html body.page-id-664 .viqc-about-audience-grid {
    gap: 50px !important;
}

/* “What Guides Us” introduction spacing. */
html body.page-id-664 .viqc-about-purpose .viqc-center {
    margin-bottom: 38px !important;
}

/* Bottom call-to-action section. */
html body.page-id-664 .viqc-about-cta {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
}

/* Mobile spacing. */
@media (max-width: 767px) {
    html body.page-id-664 .viqc-about .viqc-section {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }

    html body.page-id-664 .viqc-about-hero-copy {
        padding-top: 50px !important;
        padding-bottom: 35px !important;
    }

    html body.page-id-664 .viqc-about-story-grid,
    html body.page-id-664 .viqc-about-audience-grid {
        gap: 32px !important;
    }

    html body.page-id-664 .viqc-about-cta {
        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }
}

/* VIQ COMMUNITY ABOUT SECTION SPACING V2.27.8 END */

/* VIQ COMMUNITY ABOUT CTA BUTTON V2.27.9 START */

/* Neutralise the paragraph generated by WordPress. */
html body.page-id-664 .viqc-about-cta
.viqc-about-cta-inner > p {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove WordPress-generated line breaks inside the button. */
html body.page-id-664 .viqc-about-cta
a.viqc-btn br {
    display: none !important;
}

/* Standardise the button and centre its label precisely. */
html body.page-id-664 .viqc-about-cta
a.viqc-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;

    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;

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

    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

@media (max-width: 600px) {
    html body.page-id-664 .viqc-about-cta
    a.viqc-btn {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}

/* VIQ COMMUNITY ABOUT CTA BUTTON V2.27.9 END */

/* VIQ COMMUNITY ABOUT BUTTON HOVER V2.27.10 START */

html body.page-id-664 .viqc-about-hero
.viqc-buttons a.viqc-btn-outline {
    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        box-shadow 0.25s ease !important;
}

html body.page-id-664 .viqc-about-hero
.viqc-buttons a.viqc-btn-outline:hover,
html body.page-id-664 .viqc-about-hero
.viqc-buttons a.viqc-btn-outline:focus-visible {
    transform: translateY(-4px) !important;
    border-color: #ffffff !important;
    background: #ffffff !important;
    color: var(--viqc-green-900) !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.20) !important;
}

/* VIQ COMMUNITY ABOUT BUTTON HOVER V2.27.10 END */

/* VIQ COMMUNITY GLOBAL STANDARDISATION V2.28 START */

/* -------------------------------------------------
   1. Global layout foundation
------------------------------------------------- */

html {
    overflow-x: clip !important;
}

body.page-id-827,
body.page-id-664,
body.page-id-677,
body.page-id-705,
body.page-id-686 {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: clip !important;
}

body.page-id-827 *,
body.page-id-664 *,
body.page-id-677 *,
body.page-id-705 *,
body.page-id-686 * {
    box-sizing: border-box;
}

/* Remove theme content constraints from redesigned pages. */
body.page-id-827 .entry-content,
body.page-id-664 .entry-content,
body.page-id-677 .entry-content,
body.page-id-705 .entry-content,
body.page-id-686 .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove theme spacing surrounding the page content. */
body.page-id-827 .container.space-top,
body.page-id-664 .container.space-top,
body.page-id-677 .container.space-top,
body.page-id-705 .container.space-top,
body.page-id-686 .container.space-top {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* -------------------------------------------------
   2. Shared header consistency
------------------------------------------------- */

body.page-id-827 .viqc-site-header,
body.page-id-664 .viqc-site-header,
body.page-id-677 .viqc-site-header,
body.page-id-705 .viqc-site-header,
body.page-id-686 .viqc-site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;

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

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

    background: #ffffff !important;
}

/* Preserve the common 1200px alignment grid. */
body.page-id-827 .viqc-header-shell,
body.page-id-664 .viqc-header-shell,
body.page-id-677 .viqc-header-shell,
body.page-id-705 .viqc-header-shell,
body.page-id-686 .viqc-header-shell {
    width: calc(100% - 48px) !important;
    max-width: 1200px !important;
    height: 100px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* -------------------------------------------------
   3. Shared content typography
------------------------------------------------- */

body.page-id-827 .viqc,
body.page-id-664 .viqc,
body.page-id-677 .viqc,
body.page-id-705 .viqc-policy-page,
body.page-id-686 .viqc-policy-page {
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Arial,
        sans-serif !important;

    color: var(--viqc-text) !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
}

/* -------------------------------------------------
   4. Button consistency
------------------------------------------------- */

body.page-id-827 .viqc a.viqc-btn,
body.page-id-664 .viqc a.viqc-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;

    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;

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

    border-width: 2px !important;
    border-style: solid !important;
    border-radius: 999px !important;

    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;

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

/* Remove WordPress-generated button line breaks. */
body.page-id-827 .viqc a.viqc-btn br,
body.page-id-664 .viqc a.viqc-btn br {
    display: none !important;
}

/* Restore consistent lift to every redesigned button. */
body.page-id-827 .viqc a.viqc-btn:hover,
body.page-id-827 .viqc a.viqc-btn:focus-visible,
body.page-id-664 .viqc a.viqc-btn:hover,
body.page-id-664 .viqc a.viqc-btn:focus-visible {
    transform: translateY(-4px) !important;
}

/* -------------------------------------------------
   5. Policy page correction
------------------------------------------------- */

body.page-id-705 .viqc-site-header,
body.page-id-686 .viqc-site-header,
body.page-id-705 .viqc-global-footer,
body.page-id-686 .viqc-global-footer {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Keep policy content comfortably readable. */
body.page-id-705 .viqc-policy-shell,
body.page-id-686 .viqc-policy-shell {
    width: calc(100% - 48px) !important;
    max-width: 1120px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* -------------------------------------------------
   6. Shared footer consistency
------------------------------------------------- */

body.page-id-827 .viqc-global-footer,
body.page-id-664 .viqc-global-footer,
body.page-id-677 .viqc-global-footer,
body.page-id-705 .viqc-global-footer,
body.page-id-686 .viqc-global-footer {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--viqc-green-950) !important;
}

body.page-id-827 .viqc-footer-shell,
body.page-id-664 .viqc-footer-shell,
body.page-id-677 .viqc-footer-shell,
body.page-id-705 .viqc-footer-shell,
body.page-id-686 .viqc-footer-shell {
    width: calc(100% - 48px) !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* -------------------------------------------------
   7. Mobile standardisation
------------------------------------------------- */

@media (max-width: 767px) {
    body.page-id-827 .viqc-site-header,
    body.page-id-664 .viqc-site-header,
    body.page-id-677 .viqc-site-header,
    body.page-id-705 .viqc-site-header,
    body.page-id-686 .viqc-site-header {
        height: auto !important;
        min-height: 76px !important;
    }

    body.page-id-827 .viqc-header-shell,
    body.page-id-664 .viqc-header-shell,
    body.page-id-677 .viqc-header-shell,
    body.page-id-705 .viqc-header-shell,
    body.page-id-686 .viqc-header-shell {
        width: calc(100% - 32px) !important;
        height: auto !important;
        min-height: 76px !important;
    }

    body.page-id-827 .viqc a.viqc-btn,
    body.page-id-664 .viqc a.viqc-btn {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }

    body.page-id-705 .viqc-policy-shell,
    body.page-id-686 .viqc-policy-shell,
    body.page-id-827 .viqc-footer-shell,
    body.page-id-664 .viqc-footer-shell,
    body.page-id-677 .viqc-footer-shell,
    body.page-id-705 .viqc-footer-shell,
    body.page-id-686 .viqc-footer-shell {
        width: calc(100% - 32px) !important;
    }
}

/* VIQ COMMUNITY GLOBAL STANDARDISATION V2.28 END */

/* VIQ COMMUNITY MOBILE DOWNLOAD SECTION V2.31 START */

/* Desktop badge row. */
html body.page-id-827 .viqc-app .viqc-store-badges {
    display: grid !important;
    grid-template-columns: repeat(2, 250px) !important;
    align-items: center !important;
    justify-content: start !important;
    gap: 14px !important;

    width: auto !important;
    max-width: 514px !important;
    margin: 28px 0 0 !important;
    padding: 0 !important;
}

html body.page-id-827 .viqc-app
.viqc-store-badge {
    display: block !important;
    width: 250px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

html body.page-id-827 .viqc-app
.viqc-store-badge br {
    display: none !important;
}

html body.page-id-827 .viqc-app
.viqc-store-badge img {
    display: block !important;
    width: 100% !important;
    max-width: 250px !important;
    height: auto !important;
    aspect-ratio: 250 / 76 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: fill !important;
}

/* Prevent the phone artwork from exceeding its column. */
html body.page-id-827 .viqc-app-image {
    min-width: 0 !important;
    overflow: visible !important;
}

html body.page-id-827 .viqc-app-image img {
    display: block !important;
    width: 100% !important;
    max-width: 560px !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* Tablet and mobile layout. */
@media (max-width: 767px) {
    html body.page-id-827 .viqc-app {
        overflow: hidden !important;
    }

    html body.page-id-827 .viqc-app .viqc-app-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 34px !important;
        width: calc(100% - 32px) !important;
        max-width: none !important;
        margin: 0 auto !important;
    }

    /* Put the content before the phone artwork. */
    html body.page-id-827 .viqc-app
    .viqc-app-grid > div:nth-child(2) {
        order: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.page-id-827 .viqc-app .viqc-app-image {
        order: 2 !important;
        width: 100% !important;
        max-width: 360px !important;
        margin: 0 auto !important;
    }

    html body.page-id-827 .viqc-app-image img {
        width: 100% !important;
        max-width: 360px !important;
        height: auto !important;
        transform: none !important;
    }

    /*
     * Keep both badges on the same row, but allow them
     * to shrink proportionally to the mobile width.
     */
    html body.page-id-827 .viqc-app .viqc-store-badges {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;

        width: 100% !important;
        max-width: 100% !important;
        margin: 24px 0 0 !important;
    }

    html body.page-id-827 .viqc-app
    .viqc-store-badge {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    html body.page-id-827 .viqc-app
    .viqc-store-badge img {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
    }

    /* Allow description text to wrap naturally on mobile. */
    html body.page-id-827 .viqc-app-description br {
        display: none !important;
    }
}

/* Very narrow phones: stack badges for readability. */
@media (max-width: 360px) {
    html body.page-id-827 .viqc-app .viqc-store-badges {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        max-width: 250px !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }
}

/* VIQ COMMUNITY MOBILE DOWNLOAD SECTION V2.31 END */

/* VIQ COMMUNITY PLATFORM VISUAL V2.34 START */

html body.page-id-664 .viqc-about-audience-ring {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    background-image:
        linear-gradient(
            rgba(238, 251, 247, 0.68),
            rgba(238, 251, 247, 0.68)
        ),
        url("https://community.viqcore.com/wp-content/uploads/2026/09/VIQPlatform.png") !important;

    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

/* Keep the text above the background artwork. */
html body.page-id-664 .viqc-about-audience-ring > * {
    position: relative;
    z-index: 2;
}

/* Enlarge “One” and “Platform”. */
html body.page-id-664 .viqc-about-audience-ring span {
    display: block;
    margin: 4px 0 !important;
    color: #075f4d !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    text-shadow:
        0 1px 4px rgba(255, 255, 255, 0.95),
        0 0 12px rgba(255, 255, 255, 0.85);
}

/* Enlarge “Community”. */
html body.page-id-664 .viqc-about-audience-ring strong {
    display: block;
    margin: 12px 0 !important;
    color: #043c32 !important;
    font-size: 43px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-align: center !important;
    text-shadow:
        0 2px 5px rgba(255, 255, 255, 0.98),
        0 0 15px rgba(255, 255, 255, 0.90);
}

@media (max-width: 600px) {
    html body.page-id-664 .viqc-about-audience-ring span {
        font-size: 21px !important;
    }

    html body.page-id-664 .viqc-about-audience-ring strong {
        margin: 8px 0 !important;
        font-size: 32px !important;
    }
}

/* VIQ COMMUNITY PLATFORM VISUAL V2.34 END */

/* VIQ COMMUNITY PLATFORM TEXT SPACING V2.34.1 START */

html body.page-id-664 .viqc-about-audience-ring {
    gap: 0 !important;
    line-height: 1 !important;
}

/* Remove WordPress-generated spacing wrappers. */
html body.page-id-664 .viqc-about-audience-ring p {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.page-id-664 .viqc-about-audience-ring br {
    display: none !important;
}

/* Tighten One and Platform around Community. */
html body.page-id-664 .viqc-about-audience-ring span {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

html body.page-id-664 .viqc-about-audience-ring strong {
    margin: 5px 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* VIQ COMMUNITY PLATFORM TEXT SPACING V2.34.1 END */

/* VIQ COMMUNITY PLATFORM EQUAL SPACING V2.34.2 START */

html body.page-id-664 .viqc-about-audience-ring {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

/* Allow WordPress wrappers without adding spacing. */
html body.page-id-664 .viqc-about-audience-ring p {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.page-id-664 .viqc-about-audience-ring br {
    display: none !important;
}

/* Give every text line the same spacing rules. */
html body.page-id-664 .viqc-about-audience-ring span,
html body.page-id-664 .viqc-about-audience-ring strong {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
}

/* VIQ COMMUNITY PLATFORM EQUAL SPACING V2.34.2 END */

/* VIQ PLATFORM OPTICAL SPACING V2.34.3 */
html body.page-id-664 .viqc-about-audience-ring span:first-child {
    transform: translateY(4px) !important;
}

html body.page-id-664 .viqc-about-audience-ring span:last-child {
    transform: translateY(4px) !important;
}

/* About Us: align each value title beside its icon. */
body.page-id-664 .viqc-about-value {
    display: grid !important;
    grid-template-columns: 80px minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 16px;
    align-items: center;
}

body.page-id-664 .viqc-about-value-icon {
    grid-column: 1;
    grid-row: 1;
}

body.page-id-664 .viqc-about-value h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
}

body.page-id-664 .viqc-about-value p {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0 !important;
}

@media (max-width: 480px) {
    body.page-id-664 .viqc-about-value {
        grid-template-columns: 64px minmax(0, 1fr);
    }
}

/* Center About Us value titles visually against their icons. */
body.page-id-664 .viqc-about-value h3 {
    align-self: center;
    transform: translateY(-14px);
}

@media (max-width: 480px) {
    body.page-id-664 .viqc-about-value h3 {
        transform: translateY(-8px);
    }
}
