/* =========================================================

   NODUS DATA

   Complete Main Stylesheet

   Developed by AMB360

   ========================================================= */

/* =========================================================

   1. DESIGN SYSTEM

   ========================================================= */

:root {

    --nodus-blue: #168FE8;

    --nodus-blue-dark: #0878C7;

    --nodus-black: #111820;

    --nodus-grey: #53606D;

    --nodus-light-grey: #F5F7FA;

    --nodus-white: #FFFFFF;

    --nodus-border: #E7EBEF;

    --nodus-font: 'Manrope', Arial, sans-serif;

    --nodus-container: 1320px;

    --nodus-header-height: 118px;

}

/* =========================================================

   2. GLOBAL RESET

   ========================================================= */

*,

*::before,

*::after {

    box-sizing: border-box;

}

html {

    margin: 0;

    padding: 0;

    width: 100%;

    scroll-behavior: smooth;

}

body {

    margin: 0;

    padding: 0;

    width: 100%;

    min-width: 0;

    font-family: var(--nodus-font);

    font-size: 15px;

    font-weight: 400;

    line-height: 1.7;

    color: var(--nodus-black);

    background: var(--nodus-white);

    -webkit-font-smoothing: antialiased;

    text-rendering: optimizeLegibility;

}

img {

    display: block;

    max-width: 100%;

    height: auto;

}

a {

    color: inherit;

    text-decoration: none;

}

button,

input,

textarea,

select {

    font: inherit;

}

button {

    cursor: pointer;

}

h1,

h2,

h3,

h4,

h5,

h6 {

    margin-top: 0;

    font-family: var(--nodus-font);

}

p {

    margin-top: 0;

}

[hidden] {

    display: none !important;

}

.screen-reader-text {

    position: absolute;

    width: 1px;

    height: 1px;

    padding: 0;

    margin: -1px;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);

    white-space: nowrap;

    border: 0;

}

.screen-reader-text:focus {

    position: fixed;

    top: 15px;

    left: 15px;

    width: auto;

    height: auto;

    padding: 12px 20px;

    background: #fff;

    color: #111820;

    clip: auto;

    z-index: 99999;

}

/* =========================================================

   3. GLOBAL CONTAINERS

   ========================================================= */

.nodus-container,

.nodus-hero-container,

.nodus-hero-bottom-container,

.footer-container,

.footer-bottom-container {

    width: calc(100% - 80px);

    max-width: var(--nodus-container);

    margin-left: auto;

    margin-right: auto;

}

/* =========================================================

   4. HEADER

   ========================================================= */

.site-header {

    position: relative;

    z-index: 1000;

    width: 100%;

    background: #ffffff;

    border-bottom: 1px solid #edf0f3;

}

.header-container {

    width: 100%;

    max-width: none;

    min-height: var(--nodus-header-height);

    margin: 0;

    padding: 0 38px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 22px;

}

/* =========================================================

   5. LARGE HEADER LOGO

   ========================================================= */

.header-logo {

    display: flex;

    align-items: center;

    flex: 0 0 auto;

    min-width: 0;

}

.header-logo a {

    display: flex;

    align-items: center;

    line-height: 0;

}

.nodus-logo {

    display: block;

    width: 495px;

    max-width: none;

    height: 162px;

    max-height: none;

    object-fit: contain;

    object-position: left center;

}

/* =========================================================

   6. DESKTOP NAVIGATION

   ========================================================= */

.desktop-navigation {

    display: flex;

    align-items: center;

    margin-left: auto;

    min-width: 0;

}

.nav-menu {

    display: flex;

    align-items: center;

    gap: 22px;

    margin: 0;

    padding: 0;

    list-style: none;

}

.nav-menu > li {

    position: relative;

}

.nav-menu > li > a {

    position: relative;

    display: inline-flex;

    align-items: center;

    padding: 12px 0;

    font-size: 12px;

    font-weight: 650;

    white-space: nowrap;

    color: var(--nodus-black);

    transition: color 0.25s ease;

}

.nav-menu > li > a:hover,

.nav-menu > li.current-menu-item > a,

.nav-menu > li.current_page_item > a {

    color: var(--nodus-blue);

}

.nav-menu > li > a::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: 5px;

    width: 0;

    height: 2px;

    background: var(--nodus-blue);

    transition: width 0.25s ease;

}

.nav-menu > li > a:hover::after,

.nav-menu > li.current-menu-item > a::after {

    width: 100%;

}

/* Dropdown menus */

.nav-menu .sub-menu {

    position: absolute;

    top: 100%;

    left: -20px;

    min-width: 210px;

    margin: 0;

    padding: 12px;

    list-style: none;

    background: #fff;

    border: 1px solid var(--nodus-border);

    border-radius: 8px;

    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);

    opacity: 0;

    visibility: hidden;

    transform: translateY(10px);

    transition:

        opacity 0.25s ease,

        visibility 0.25s ease,

        transform 0.25s ease;

}

.nav-menu li:hover > .sub-menu,

.nav-menu li:focus-within > .sub-menu {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);

}

.nav-menu .sub-menu a {

    display: block;

    padding: 10px 12px;

    font-size: 13px;

    font-weight: 600;

    border-radius: 5px;

}

.nav-menu .sub-menu a:hover {

    color: var(--nodus-blue);

    background: var(--nodus-light-grey);

}

/* =========================================================

   7. HEADER CONTACT ACTIONS

   ========================================================= */

.header-actions {

    display: flex;

    align-items: center;

    gap: 12px;

    flex: 0 0 auto;

    margin-left: 8px;

}

/* Telephone */

.header-phone {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    font-size: 12px;

    font-weight: 800;

    white-space: nowrap;

    color: var(--nodus-black);

    transition: color 0.2s ease;

}

.header-phone svg {

    width: 17px;

    height: 17px;

    flex-shrink: 0;

    color: var(--nodus-blue);

}

.header-phone:hover {

    color: var(--nodus-blue);

}

/* Social buttons */

.header-social {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 39px;

    height: 39px;

    flex: 0 0 39px;

    border: 1px solid var(--nodus-border);

    border-radius: 7px;

    background: #ffffff;

    color: var(--nodus-black);

    transition:

background 0.2s ease,

        color 0.2s ease,

        border-color 0.2s ease,

        transform 0.2s ease;

}

.header-social svg {

    width: 19px;

    height: 19px;

}

.header-social:hover {

    transform: translateY(-2px);

}

.header-whatsapp:hover {

    background: #25D366;

    border-color: #25D366;

    color: #ffffff;

}

.header-instagram:hover {

    background: var(--nodus-blue);

    border-color: var(--nodus-blue);

    color: #ffffff;

}

/* Get a quote */

.header-cta {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 14px;

    min-height: 48px;

    padding: 0 19px;

    background: var(--nodus-blue);

    color: #ffffff;

    border-radius: 6px;

    font-size: 12px;

    font-weight: 800;

    white-space: nowrap;

    transition:

background 0.25s ease,

        transform 0.25s ease;

}

.header-cta:hover {

    background: var(--nodus-blue-dark);

    color: #fff;

    transform: translateY(-2px);

}

/* =========================================================

   8. MOBILE HEADER ACTIONS

   ========================================================= */

.mobile-header-actions {

    display: none;

    align-items: center;

    gap: 8px;

    margin-left: auto;

}

.mobile-header-icon {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 43px;

    height: 43px;

    flex: 0 0 43px;

    background: #f5f8fb;

    border: 1px solid var(--nodus-border);

    border-radius: 7px;

    color: var(--nodus-black);

}

.mobile-header-icon svg {

    width: 19px;

    height: 19px;

}

.mobile-whatsapp {

    color: #128C4A;

}

/* =========================================================

   9. MOBILE MENU BUTTON

   ========================================================= */

.mobile-menu-toggle {

    display: none;

    width: 43px;

    height: 43px;

    flex: 0 0 43px;

    padding: 9px;

    border: 1px solid var(--nodus-border);

    border-radius: 7px;

    background: #ffffff;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 6px;

}

.menu-line {

    display: block;

    width: 22px;

    height: 2px;

    background: var(--nodus-black);

    border-radius: 2px;

    transition:

        transform 0.25s ease,

        opacity 0.25s ease;

}

.mobile-menu-toggle[aria-expanded="true"] .menu-line:first-child {

    transform: translateY(8px) rotate(45deg);

}

.mobile-menu-toggle[aria-expanded="true"] .menu-line:nth-child(2) {

    opacity: 0;

}

.mobile-menu-toggle[aria-expanded="true"] .menu-line:last-child {

    transform: translateY(-8px) rotate(-45deg);

}

/* =========================================================

   10. MOBILE NAVIGATION

   ========================================================= */

.mobile-navigation {

    position: absolute;

    top: 100%;

    left: 0;

    right: 0;

    width: 100%;

    background: #ffffff;

    border-top: 1px solid var(--nodus-border);

    border-bottom: 1px solid var(--nodus-border);

    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.07);

    z-index: 999;

}

.mobile-navigation-inner {

    padding: 20px 30px 30px;

}

.mobile-nav-menu {

    margin: 0;

    padding: 0;

    list-style: none;

}

.mobile-nav-menu li {

    border-bottom: 1px solid var(--nodus-border);

}

.mobile-nav-menu a {

    display: block;

    padding: 15px 0;

    font-size: 15px;

    font-weight: 600;

    color: var(--nodus-black);

}

.mobile-nav-menu a:hover {

    color: var(--nodus-blue);

}

.mobile-nav-phone,

.mobile-nav-instagram {

    display: block;

    padding: 14px 0;

    font-size: 13px;

    font-weight: 700;

    color: var(--nodus-black);

}

.mobile-nav-phone {

    margin-top: 12px;

}

.mobile-nav-instagram {

    color: var(--nodus-blue);

}

.mobile-nav-cta {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-top: 18px;

    padding: 16px 20px;

    background: var(--nodus-blue);

    color: #ffffff;

    border-radius: 6px;

    font-size: 14px;

    font-weight: 700;

}

/* =========================================================

   11. HOMEPAGE HERO

   ========================================================= */

.nodus-hero {

    position: relative;

    display: flex;

    align-items: center;

    width: 100%;

    min-height: 680px;

    min-height: min(

        760px,

        calc(100svh - var(--nodus-header-height))

    );

    background: #EDF3F7;

    isolation: isolate;

    overflow: hidden;

}

/* =========================================================

   12. HERO BACKGROUND

   ========================================================= */

.nodus-hero-background {

    position: absolute;

    inset: 0;

    z-index: -2;

    background-image: url('../images/hero-home.png');

    background-repeat: no-repeat;

    background-size: cover;

    background-position: center center;

}

/* =========================================================

   13. HERO GRADIENT

   ========================================================= */

.nodus-hero-overlay {

    position: absolute;

    inset: 0;

    z-index: -1;

    background: linear-gradient(

        90deg,

        rgba(255,255,255,0.98) 0%,

        rgba(255,255,255,0.96) 24%,

        rgba(255,255,255,0.88) 38%,

        rgba(255,255,255,0.50) 57%,

        rgba(255,255,255,0.08) 78%,

        rgba(255,255,255,0) 100%

    );

}

/* =========================================================

   14. HERO CONTENT — LEFT ALIGNED

   ========================================================= */

.nodus-hero-container {

    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;

    justify-content: flex-start;

    padding-top: 100px;

    padding-bottom: 100px;

}

.nodus-hero-content {

    width: 100%;

    max-width: 680px;

    margin: 0;

    text-align: left;

}

/* =========================================================

   15. HERO EYEBROW

   ========================================================= */

.nodus-hero-eyebrow {

    display: flex;

    align-items: center;

    justify-content: flex-start;

    gap: 14px;

    margin-bottom: 28px;

    color: var(--nodus-blue);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1.2px;

    text-align: left;

}

.nodus-hero-eyebrow-line {

    display: block;

    width: 34px;

    height: 2px;

    background: var(--nodus-blue);

    flex-shrink: 0;

}

/* =========================================================

   16. HERO TITLE

   ========================================================= */

.nodus-hero-title {

    margin: 0 0 28px;

    font-size: clamp(48px, 5.1vw, 76px);

    font-weight: 800;

    line-height: 1.12;

    letter-spacing: -3.5px;

    color: var(--nodus-black);

    text-align: left;

}

.nodus-hero-title span {

    display: block;

    color: var(--nodus-blue);

}

/* =========================================================

   17. HERO DESCRIPTION

   ========================================================= */

.nodus-hero-description {

    max-width: 540px;

    margin: 0;

    font-size: 16px;

    font-weight: 400;

    line-height: 1.9;

    color: #42505D;

    text-align: left;

}

/* =========================================================

   18. HERO BUTTONS

   ========================================================= */

.nodus-hero-actions {

    display: flex;

    align-items: center;

    justify-content: flex-start;

    flex-wrap: wrap;

    gap: 14px;

    margin-top: 36px;

}

.nodus-hero-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 20px;

    min-height: 54px;

    padding: 0 25px;

    border-radius: 6px;

    font-size: 13px;

    font-weight: 700;

    transition:

background 0.25s ease,

        color 0.25s ease,

        border-color 0.25s ease,

        transform 0.25s ease;

}

.nodus-hero-button:hover {

    transform: translateY(-2px);

}

.nodus-hero-button-primary {

    background: var(--nodus-blue);

    color: #fff;

    border: 1px solid var(--nodus-blue);

}

.nodus-hero-button-primary:hover {

    background: var(--nodus-blue-dark);

    border-color: var(--nodus-blue-dark);

    color: #fff;

}

.nodus-hero-button-secondary {

    background: rgba(255,255,255,0.75);

    color: var(--nodus-black);

    border: 1px solid #BCC8D2;

}

.nodus-hero-button-secondary:hover {

    background: #fff;

    border-color: var(--nodus-blue);

    color: var(--nodus-blue);

}

/* =========================================================

   19. REMOVE OLD HERO INFORMATION STRIP

   ========================================================= */

.nodus-hero-bottom {

    display: none !important;

}

/* =========================================================

   20. FOOTER

   ========================================================= */

.site-footer {

    background: #fff;

    border-top: 1px solid var(--nodus-border);

}

.footer-main {

    padding: 75px 0;

}

.footer-container {

    display: grid;

    grid-template-columns: 1.5fr 0.8fr 1fr 1.2fr;

    gap: 55px;

    align-items: start;

}

.footer-column {

    min-width: 0;

}

.footer-logo {

    display: block;

    width: 190px;

    max-height: 80px;

    object-fit: contain;

    object-position: left top;

}

.footer-description {

    max-width: 300px;

    margin: 22px 0;

    color: var(--nodus-grey);

    font-size: 13px;

    line-height: 1.9;

}

.footer-heading {

    margin: 0 0 25px;

    font-size: 15px;

    font-weight: 800;

    letter-spacing: -0.3px;

}

.footer-menu {

    margin: 0;

    padding: 0;

    list-style: none;

}

.footer-menu li {

    margin-bottom: 13px;

}

.footer-menu a {

    color: var(--nodus-grey);

    font-size: 13px;

    font-weight: 500;

    transition: color 0.2s ease;

}

.footer-menu a:hover {

    color: var(--nodus-blue);

}

.footer-contact p {

    color: var(--nodus-grey);

    font-size: 13px;

    line-height: 1.9;

}

.footer-contact-button {

    display: inline-flex;

    align-items: center;

    gap: 20px;

    margin-top: 15px;

    padding: 13px 20px;

    background: var(--nodus-blue);

    color: #fff;

    border-radius: 6px;

    font-size: 12px;

    font-weight: 700;

}

.footer-contact-button:hover {

    background: var(--nodus-blue-dark);

    color: #fff;

}

.footer-social-link {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: var(--nodus-black);

    font-size: 12px;

    font-weight: 700;

}

.footer-social-link:hover {

    color: var(--nodus-blue);

}

/* =========================================================

   21. FOOTER BOTTOM

   ========================================================= */

.footer-bottom {

    background: var(--nodus-light-grey);

    border-top: 1px solid var(--nodus-border);

}

.footer-bottom-container {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    min-height: 75px;

}

.footer-bottom p {

    margin: 0;

}

.footer-bottom,

.footer-bottom a {

    font-size: 11px;

    color: var(--nodus-grey);

}

.footer-legal {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 20px;

}

.footer-legal a:hover,

.footer-credit a:hover {

    color: var(--nodus-blue);

}

.footer-credit a {

    margin-left: 4px;

    font-weight: 800;

    color: var(--nodus-black);

}

/* =========================================================

   22. DEFAULT PAGE

   ========================================================= */

.nodus-default-page {

    min-height: 60vh;

    padding: 100px 0;

}

.nodus-page-title {

    font-size: clamp(36px, 4vw, 60px);

    font-weight: 800;

    letter-spacing: -2px;

}

.nodus-page-content {

    max-width: 850px;

    line-height: 1.9;

}

/* =========================================================

   23. MEDIUM DESKTOP

   ========================================================= */

@media (max-width: 1500px) {

    .header-container {

        padding: 0 26px;

        gap: 16px;

    }

    .nodus-logo {

        width: 412.5px;

        height: 150px;

    }

    .nav-menu {

        gap: 17px;

    }

    .header-actions {

        gap: 9px;

    }

    .header-phone {

        font-size: 11px;

    }

    .header-social {

        width: 36px;

        height: 36px;

        flex-basis: 36px;

    }

    .header-cta {

        padding: 0 15px;

    }

}

/* =========================================================

   24. TABLET / COMPACT DESKTOP

   ========================================================= */

@media (max-width: 1250px) {

    :root {

        --nodus-header-height: 100px;

    }

    .header-container {

        min-height: var(--nodus-header-height);

        padding: 0 28px;

    }

    .nodus-logo {

        width: 405px;

        height: 138px;

    }

    .desktop-navigation,

    .header-actions {

        display: none;

    }

    .mobile-header-actions,

    .mobile-menu-toggle {

        display: flex;

    }

    .mobile-menu-toggle {

        margin-left: 4px;

    }

    .footer-container {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 50px;

    }

}

/* =========================================================

   25. MOBILE

   ========================================================= */

@media (max-width: 767px) {

    :root {

        --nodus-header-height: 90px;

    }

    .nodus-container,

    .nodus-hero-container,

    .nodus-hero-bottom-container,

    .footer-container,

    .footer-bottom-container {

        width: calc(100% - 36px);

    }

    /* Header */

    .header-container {

        width: 100%;

        max-width: none;

        min-height: var(--nodus-header-height);

        padding: 0 12px;

        gap: 7px;

    }

    .header-logo {

        flex: 1 1 auto;

        min-width: 0;

    }

    .header-logo a {

        max-width: 100%;

        min-width: 0;

    }

    .nodus-logo {

        width: 345px;

        max-width: 100%;

        height: 123px;

        object-fit: contain;

        object-position: left center;

    }

    .mobile-header-actions {

        display: flex;

        gap: 5px;

        flex: 0 0 auto;

        margin-left: auto;

    }

    .mobile-header-icon {

        width: 38px;

        height: 38px;

        flex-basis: 38px;

    }

    .mobile-header-icon svg {

        width: 18px;

        height: 18px;

    }

    .mobile-menu-toggle {

        display: flex;

        width: 38px;

        height: 38px;

        flex: 0 0 38px;

        padding: 7px;

        margin-left: 0;

    }

    .menu-line {

        width: 20px;

    }

    .mobile-navigation-inner {

        padding: 16px 22px 28px;

    }

    /* Hero */

    .nodus-hero {

        min-height: 740px;

        min-height: max(

            680px,

            calc(100svh - var(--nodus-header-height))

        );

        align-items: flex-end;

    }

    .nodus-hero-background {

        background-position: 62% center;

    }

    .nodus-hero-overlay {

        background: linear-gradient(

            0deg,

            rgba(255,255,255,1) 0%,

            rgba(255,255,255,0.98) 28%,

            rgba(255,255,255,0.90) 48%,

            rgba(255,255,255,0.30) 75%,

            rgba(255,255,255,0.05) 100%

        );

    }

    .nodus-hero-container {

        align-items: flex-end;

        padding-top: 180px;

        padding-bottom: 115px;

    }

    .nodus-hero-content {

        max-width: 100%;

        text-align: left;

    }

    .nodus-hero-eyebrow {

        margin-bottom: 20px;

        gap: 10px;

        font-size: 10px;

        letter-spacing: 0.5px;

    }

    .nodus-hero-eyebrow-line {

        width: 24px;

    }

    .nodus-hero-title {

        font-size: clamp(38px, 9.5vw, 54px);

        line-height: 1.14;

        letter-spacing: -1.8px;

        margin-bottom: 20px;

        text-align: left;

    }

    .nodus-hero-description {

        font-size: 13px;

        line-height: 1.8;

        max-width: 100%;

        text-align: left;

    }

    .nodus-hero-actions {

        margin-top: 25px;

        gap: 10px;

        justify-content: flex-start;

    }

    .nodus-hero-button {

        min-height: 48px;

        padding: 0 17px;

        font-size: 12px;

        gap: 10px;

    }

    /* Footer */

    .footer-main {

        padding: 55px 0;

    }

    .footer-container {

        grid-template-columns: 1fr;

        gap: 35px;

    }

    .footer-logo {

        width: 170px;

    }

    .footer-heading {

        margin-bottom: 18px;

    }

    .footer-bottom-container {

        flex-direction: column;

        align-items: flex-start;

        justify-content: center;

        gap: 15px;

        padding: 25px 0;

    }

    .footer-legal {

        gap: 10px 20px;

    }

}

/* =========================================================

   26. SMALL MOBILE

   ========================================================= */

@media (max-width: 390px) {

    .header-container {

        padding: 0 10px;

        gap: 5px;

    }

    .nodus-logo {

        width: 300px;

        max-width: 100%;

        height: 114px;

    }

    .mobile-header-actions {

        gap: 4px;

    }

    .mobile-header-icon {

        width: 35px;

        height: 35px;

        flex-basis: 35px;

    }

    .mobile-menu-toggle {

        width: 35px;

        height: 35px;

        flex-basis: 35px;

    }

    .nodus-hero-title {

        font-size: 35px;

    }

    .nodus-hero-button {

        padding: 0 12px;

        font-size: 11px;

    }

}

/* =========================================================

   27. RESPONSIVE SAFETY

   ========================================================= */

.site-header,

.nodus-hero,

.site-footer {

    max-width: 100%;

}

.nodus-hero-content,

.footer-column {

    min-width: 0;

}

.nodus-hero-title {

    overflow-wrap: break-word;

}

@media (max-width: 767px) {

    .nodus-hero {

        height: auto;

    }

    .nodus-hero-container {

        min-width: 0;

    }

    .nodus-hero-actions {

        max-width: 100%;

    }

    .nodus-hero-button {

        max-width: 100%;

        text-align: center;

    }

}

/* =========================================================

   28. REDUCED MOTION

   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    html {

        scroll-behavior: auto;

    }

    *,

    *::before,

    *::after {

        animation-duration: 0.01ms !important;

        transition-duration: 0.01ms !important;

    }

}

/* ==========================================

   NODUS DATA — HERO LEFT ALIGNMENT

========================================== */

.nodus-hero-container {

    width: 100%;

    max-width: none;

    margin: 0;

    padding-left: 38px;

    padding-right: 38px;

    display: flex;

    justify-content: flex-start;

    align-items: center;

}

.nodus-hero-content {

    width: 100%;

    max-width: 680px;

    margin: 0;

    text-align: left;

}

.nodus-hero-eyebrow,

.nodus-hero-title,

.nodus-hero-description {

    text-align: left;

}

.nodus-hero-eyebrow {

    justify-content: flex-start;

}

.nodus-hero-actions {

    display: flex;

    justify-content: flex-start;

    align-items: center;

    margin-left: 0;

}

/* MOBILE */

@media (max-width: 767px) {

    .nodus-hero-container {

        padding-left: 20px;

        padding-right: 20px;

    }

    .nodus-hero-content {

        max-width: 100%;

    }

    .nodus-hero-actions {

        justify-content: flex-start;

        flex-wrap: wrap;

    }

}

/* ==========================================

   NODUS DATA — FINAL HERO POSITIONING

========================================== */

@media (min-width: 768px) {

    .nodus-hero-container {

        width: 100%;

        max-width: none;

        margin: 0;

        padding-left: clamp(70px, 10vw, 165px);

        padding-right: 40px;

        justify-content: flex-start;

    }

    .nodus-hero-content {

        width: 100%;

        max-width: 540px;

        margin: 0;

        text-align: left;

    }

    .nodus-hero-title {

        font-size: clamp(46px, 4vw, 66px);

        letter-spacing: -2.5px;

        line-height: 1.12;

    }

    .nodus-hero-description {

        max-width: 460px;

    }

    .nodus-hero-actions {

        justify-content: flex-start;

    }

}

/* Mobile — maintain comfortable spacing */

@media (max-width: 767px) {

    .nodus-hero-container {

        padding-left: 22px;

        padding-right: 22px;

    }

    .nodus-hero-content {

        max-width: 100%;

    }

}

/* ==========================================

   NODUS DATA — ALIGN LOGO WITH HERO COPY

========================================== */

@media (min-width: 1251px) {

    .header-container {

        padding-left: clamp(70px, 10vw, 165px);

    }

    .header-logo {

        margin-left: 0;

    }

}

/* Tablet */

@media (min-width: 768px) and (max-width: 1250px) {

    .header-container {

        padding-left: clamp(70px, 10vw, 165px);

    }

}

/* Mobile — align logo with hero copy */

@media (max-width: 767px) {

    .header-container {

        padding-left: 22px;

    }

}

/* =========================================================

   NODUS DATA — HEADER RESET (NO MEGA MENU)

   3 equal layout regions: logo | centred menu | contact

   All other site sections remain as supplied.

   ========================================================= */

.site-header { position:relative; z-index:1000; background:#fff; border-bottom:1px solid #e7ebef; }

.header-container { width:100%; max-width:none; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:24px; min-height:118px; padding:0 clamp(24px,3.2vw,56px) 0 clamp(70px,10vw,165px); }

.header-logo { grid-column:1; justify-self:start; min-width:0; display:flex; align-items:center; }

.header-logo a { display:flex; align-items:center; line-height:0; }

.nodus-logo { width:clamp(240px,23vw,385px); height:118px; max-width:100%; object-fit:contain; object-position:left center; }

.desktop-navigation { grid-column:2; justify-self:center; display:flex; margin:0; min-width:0; }

.nav-menu { display:flex; align-items:center; justify-content:center; gap:clamp(17px,1.55vw,30px); margin:0; padding:0; list-style:none; }

.nav-menu>li>a { display:inline-flex; align-items:center; padding:12px 0; font-size:13px; font-weight:700; white-space:nowrap; color:#111820; }

.nav-menu>li>a:hover,.nav-menu>li.current-menu-item>a { color:#168FE8; }

.header-actions { grid-column:3; justify-self:end; display:flex; align-items:center; gap:9px; margin:0; min-width:0; }

.header-phone { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:45px; padding:0 13px; border:1px solid #dbe2e9; border-radius:7px; background:#fff; color:#111820; font-size:12px; font-weight:800; white-space:nowrap; transition:border-color .2s,background .2s; }

.header-phone:hover { color:#111820; border-color:#168FE8; background:#f6fafe; }

.header-phone svg { width:16px; height:16px; flex:none; color:#168FE8; }

.header-social { display:inline-flex; align-items:center; justify-content:center; width:42px; height:45px; flex:0 0 42px; border:1px solid #dbe2e9; border-radius:7px; background:#fff; color:#111820; transition:border-color .2s,background .2s,color .2s; }

.header-social svg { width:19px; height:19px; }

.header-social:hover { transform:none; border-color:#168FE8; background:#f6fafe; color:#168FE8; }

.header-whatsapp:hover,.header-instagram:hover { border-color:#168FE8; background:#f6fafe; color:#168FE8; }

.header-cta { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:45px; padding:0 17px; border-radius:7px; background:#168FE8; color:#fff; font-size:12px; font-weight:800; white-space:nowrap; }

.header-cta:hover { background:#0878C7; color:#fff; transform:none; }

.mobile-header-actions,.mobile-menu-toggle { display:none; }

/* Retain normal WordPress submenus; no mega-menu */

.nav-menu .sub-menu { z-index:1001; }

@media (min-width:1251px) and (max-width:1600px) {

  .header-container { padding-left:clamp(35px,5vw,80px); padding-right:26px; gap:14px; }

  .nodus-logo { width:clamp(205px,18vw,295px); height:110px; }

  .nav-menu { gap:clamp(13px,1.15vw,21px); }

  .nav-menu>li>a { font-size:12px; }

  .header-actions { gap:6px; }

  .header-phone { padding:0 9px; font-size:11px; }

  .header-social { width:37px; flex-basis:37px; }

  .header-cta { padding:0 12px; }

}

@media (min-width:1251px) and (max-width:1390px) {

  .header-container { padding-left:26px; padding-right:20px; gap:10px; }

  .nodus-logo { width:195px; }

  .nav-menu { gap:12px; }

  .nav-menu>li>a { font-size:11px; }

  .header-actions { gap:5px; }

  .header-social { width:34px; flex-basis:34px; }

  .header-phone { padding:0 7px; }

  .header-cta { padding:0 10px; gap:8px; }

}

@media (max-width:1250px) {

  .header-container { display:flex; justify-content:space-between; min-height:100px; padding:0 28px; gap:12px; }

  .header-logo { flex:1 1 auto; min-width:0; }

  .nodus-logo { width:300px; height:110px; max-width:100%; }

  .desktop-navigation,.header-actions { display:none; }

  .mobile-header-actions { display:flex; align-items:center; gap:8px; flex:none; margin-left:auto; }

  .mobile-header-icon { display:inline-flex; align-items:center; justify-content:center; width:43px; height:43px; flex:0 0 43px; border:1px solid #dbe2e9; border-radius:7px; background:#fff; color:#111820; }

  .mobile-header-icon svg { width:19px; height:19px; }

  .mobile-whatsapp { color:#111820; }

  .mobile-menu-toggle { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:6px; width:43px; height:43px; flex:0 0 43px; padding:8px; border:1px solid #dbe2e9; border-radius:7px; background:#fff; }

  .mobile-navigation { position:absolute; top:100%; left:0; right:0; width:100%; z-index:999; background:#fff; border-top:1px solid #e7ebef; border-bottom:1px solid #e7ebef; box-shadow:0 18px 36px rgba(17,24,32,.08); }

  .mobile-navigation-inner { padding:16px 28px 30px; }

}

@media (max-width:767px) {

  .header-container { min-height:90px; padding:0 22px; gap:8px; }

  .nodus-logo { width:clamp(160px,48vw,250px); height:95px; max-width:100%; }

  .mobile-header-actions { gap:6px; }

  .mobile-header-icon,.mobile-menu-toggle { width:39px; height:39px; flex-basis:39px; }

  .mobile-header-icon svg { width:18px; height:18px; }

  .mobile-navigation-inner { padding:16px 22px 28px; }

}

@media (max-width:380px) {

  .header-container { padding:0 13px; gap:5px; }

  .nodus-logo { width:155px; }

  .mobile-header-actions { gap:4px; }

  .mobile-header-icon,.mobile-menu-toggle { width:36px; height:36px; flex-basis:36px; }

}

/* =========================================================

   NODUS DATA — BLUE PHOTOGRAPHIC HERO

   ========================================================= */

.nodus-hero { background:#0878C7; }

.nodus-hero-overlay {

  background:linear-gradient(90deg,

    rgba(5,76,132,.99) 0%,

    rgba(8,120,199,.98) 23%,

    rgba(11,124,199,.94) 38%,

    rgba(9,111,184,.78) 52%,

    rgba(8,100,165,.34) 72%,

    rgba(8,100,165,.08) 100%);

}

.nodus-hero-eyebrow { color:#e5f5ff; }

.nodus-hero-eyebrow-line { background:#a9e4ff; }

.nodus-hero-title { color:#fff; }

.nodus-hero-title span { display:inline; color:#b8ecff; }

.nodus-hero-description { color:rgba(255,255,255,.93); }

.nodus-hero-button-primary {

  background:#fff;

  border-color:#fff;

  color:#075b99;

}

.nodus-hero-button-primary:hover {

  background:#eaf7ff;

  border-color:#eaf7ff;

  color:#075b99;

}

.nodus-hero-button-secondary {

  background:transparent;

  border-color:rgba(255,255,255,.75);

  color:#fff;

}

.nodus-hero-button-secondary:hover {

  background:rgba(255,255,255,.13);

  border-color:#fff;

  color:#fff;

}

@media(max-width:767px) {

  .nodus-hero-overlay {

    background:linear-gradient(0deg,

      rgba(5,76,132,1) 0%,

      rgba(8,120,199,.99) 33%,

      rgba(8,120,199,.94) 51%,

      rgba(8,120,199,.55) 75%,

      rgba(8,120,199,.12) 100%);

  }

  .nodus-hero-description { color:rgba(255,255,255,.94); }

}

/* Highlight only the word connected; keep the rest of the heading white. */

.nodus-hero-title .nodus-hero-highlight {display:inline;color:#b8ecff;}

/* =========================================================

   NODUS DATA — HOMEPAGE INTRO / LOCAL SERVICES

   ========================================================= */

.nodus-intro { background:#fff; padding:110px 0 120px; }

.nodus-intro__container {

  width:calc(100% - 80px);max-width:1320px;margin:0 auto;

  display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);

  gap:clamp(65px,7vw,125px);align-items:start;

}

.nodus-intro__left {position:sticky;top:36px;min-width:0;}

.nodus-intro__eyebrow {display:flex;align-items:center;gap:13px;margin-bottom:27px;color:#0878C7;font-size:12px;font-weight:800;letter-spacing:.08em;}

.nodus-intro__eyebrow span {display:block;width:31px;height:2px;background:#168FE8;}

.nodus-intro__left h2 {margin:0 0 26px;color:#111820;font-size:clamp(36px,3.55vw,56px);font-weight:800;letter-spacing:-.045em;line-height:1.13;}

.nodus-intro__left h2 em {font-style:normal;color:#168FE8;}

.nodus-intro__left p {max-width:520px;margin:0 0 18px;font-size:15px;line-height:1.85;color:#53606D;}

.nodus-intro__left .nodus-intro__lead {color:#111820;font-size:18px;line-height:1.65;font-weight:650;}

.nodus-intro__about {display:inline-flex;align-items:center;gap:20px;margin-top:20px;padding-bottom:8px;border-bottom:1px solid #168FE8;color:#0878C7;font-size:13px;font-weight:800;text-decoration:none;transition:gap .2s ease;}

.nodus-intro__about:hover {gap:27px;}

.nodus-intro__right {min-width:0;}

.nodus-intro__right-heading {margin-bottom:18px;}

.nodus-intro__right-heading>span {display:block;margin-bottom:12px;font-size:13px;font-weight:800;color:#168FE8;}

.nodus-intro__right-heading p {margin:0 0 20px;color:#53606D;font-size:14px;line-height:1.85;}

.nodus-intro__service {display:grid;grid-template-columns:43px minmax(0,1fr);gap:20px;padding:27px 0 29px;border-top:1px solid #e5eaf0;}

.nodus-intro__service-number {padding-top:6px;color:#168FE8;font-size:12px;font-weight:800;letter-spacing:.05em;}

.nodus-intro__service-body h3 {margin:0 0 12px;font-size:clamp(19px,1.65vw,24px);line-height:1.3;font-weight:800;letter-spacing:-.025em;}

.nodus-intro__service-body h3 a {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;color:#111820;text-decoration:none;transition:color .2s ease;}

.nodus-intro__service-body h3 a:hover {color:#0878C7;}

.nodus-intro__service-body h3 a span {flex-shrink:0;color:#168FE8;font-size:22px;font-weight:500;}

.nodus-intro__service-body p {margin:0;color:#53606D;font-size:14px;line-height:1.85;}

.nodus-intro__footer {display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 0;border-top:1px solid #e5eaf0;}

.nodus-intro__footer p {margin:0;color:#111820;font-size:13px;font-weight:700;}

.nodus-intro__footer a {display:inline-flex;align-items:center;gap:13px;flex-shrink:0;color:#0878C7;font-size:13px;font-weight:800;text-decoration:none;}

@media(max-width:1050px) {

  .nodus-intro {padding:85px 0;}

  .nodus-intro__container {gap:50px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);}

  .nodus-intro__left {position:static;}

}

@media(max-width:767px) {

  .nodus-intro {padding:68px 0 78px;}

  .nodus-intro__container {width:calc(100% - 40px);display:block;}

  .nodus-intro__left {margin-bottom:54px;}

  .nodus-intro__left h2 {font-size:clamp(34px,8.5vw,44px);letter-spacing:-.04em;}

  .nodus-intro__left .nodus-intro__lead {font-size:16px;}

  .nodus-intro__left p {font-size:14px;}

  .nodus-intro__service {grid-template-columns:31px minmax(0,1fr);gap:12px;padding:25px 0;}

  .nodus-intro__service-body h3 {font-size:20px;}

  .nodus-intro__service-body p {font-size:13px;}

  .nodus-intro__footer {align-items:flex-start;flex-direction:column;gap:12px;}

}

@media(prefers-reduced-motion:reduce) {.nodus-intro__about,.nodus-intro__service-body h3 a{transition:none;}}

/* ==========================================

   NODUS DATA — RESIDENTIAL SERVICES

========================================== */

.nodus-intro {

    padding: 110px 0 115px;

    background: #ffffff;

}

.nodus-intro__container {

    display: block;

    width: calc(100% - 64px);

    max-width: 1320px;

    margin: 0 auto;

}

/* CENTRED INTRODUCTION */

.nodus-intro__heading {

    max-width: 850px;

    margin: 0 auto 65px;

    text-align: center;

}

.nodus-intro__eyebrow {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 12px;

    margin-bottom: 25px;

    color: #168FE8;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 0.08em;

    text-transform: uppercase;

}

.nodus-intro__eyebrow span {

    width: 26px;

    height: 2px;

    background: #168FE8;

}

.nodus-intro__heading h2 {

    margin: 0 0 27px;

    color: #111820;

    font-size: clamp(38px, 4.2vw, 62px);

    font-weight: 800;

    line-height: 1.13;

    letter-spacing: -0.045em;

}

.nodus-intro__heading h2 span {

    color: #168FE8;

}

.nodus-intro__heading .nodus-intro__lead {

    max-width: 750px;

    margin: 0 auto 20px;

    color: #111820;

    font-size: 19px;

    font-weight: 700;

    line-height: 1.65;

}

.nodus-intro__heading .nodus-intro__description {

    max-width: 780px;

    margin: 0 auto 17px;

    color: #53606D;

    font-size: 15px;

    font-weight: 400;

    line-height: 1.85;

}

/* FOUR SERVICE CARDS */

.nodus-intro__cards {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 18px;

    align-items: stretch;

}

.nodus-intro__card {

    display: flex;

    flex-direction: column;

    min-width: 0;

    padding: 35px 27px 30px;

    background: #F5F7FA;

    border: 1px solid #E8EDF2;

    border-radius: 8px;

    transition:

        transform 0.25s ease,

        border-color 0.25s ease,

        box-shadow 0.25s ease;

}

.nodus-intro__card:hover {

    transform: translateY(-5px);

    border-color: rgba(22, 143, 232, 0.35);

    box-shadow: 0 16px 38px rgba(17, 24, 32, 0.07);

}

.nodus-intro__card-number {

    display: block;

    margin-bottom: 30px;

    color: #168FE8;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 0.09em;

}

.nodus-intro__card h3 {

    margin: 0 0 20px;

    color: #111820;

    font-size: clamp(21px, 1.8vw, 26px);

    font-weight: 800;

    line-height: 1.25;

    letter-spacing: -0.035em;

}

.nodus-intro__card p {

    margin: 0 0 30px;

    color: #53606D;

    font-size: 13px;

    line-height: 1.85;

}

.nodus-intro__card a {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 12px;

    margin-top: auto;

    padding-top: 20px;

    border-top: 1px solid #DFE5EB;

    color: #0878C7;

    font-size: 12px;

    font-weight: 800;

    text-decoration: none;

    transition: color 0.2s ease;

}

.nodus-intro__card a:hover {

    color: #111820;

}

.nodus-intro__card a span {

    font-size: 19px;

    line-height: 1;

}

/* BOTTOM CTA */

.nodus-intro__bottom {

    display: flex;

    justify-content: center;

    align-items: center;

    flex-wrap: wrap;

    gap: 25px;

    margin-top: 45px;

}

.nodus-intro__bottom p {

    margin: 0;

    color: #111820;

    font-size: 15px;

    font-weight: 700;

}

.nodus-intro__bottom a {

    display: inline-flex;

    align-items: center;

    gap: 20px;

    padding: 14px 24px;

    background: #168FE8;

    border-radius: 5px;

    color: #ffffff;

    font-size: 13px;

    font-weight: 800;

    text-decoration: none;

    transition: background 0.2s ease;

}

.nodus-intro__bottom a:hover {

    background: #0878C7;

}

/* TABLET */

@media (max-width: 1100px) {

    .nodus-intro__cards {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }

    .nodus-intro__card h3 {

        font-size: 24px;

    }

}

/* MOBILE */

@media (max-width: 767px) {

    .nodus-intro {

        padding: 70px 0 80px;

    }

    .nodus-intro__container {

        width: calc(100% - 40px);

    }

    .nodus-intro__heading {

        margin-bottom: 42px;

    }

    .nodus-intro__heading h2 {

        font-size: clamp(34px, 8vw, 44px);

    }

    .nodus-intro__heading .nodus-intro__lead {

        font-size: 16px;

    }

    .nodus-intro__heading .nodus-intro__description {

        font-size: 14px;

    }

    .nodus-intro__cards {

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

        gap: 15px;

    }

    .nodus-intro__card {

        padding: 30px 25px;

    }

    .nodus-intro__card-number {

        margin-bottom: 22px;

    }

    .nodus-intro__card h3 {

        font-size: 24px;

    }

    .nodus-intro__bottom {

        flex-direction: column;

        gap: 18px;

        text-align: center;

    }

}

@media (prefers-reduced-motion: reduce) {

    .nodus-intro__card,

    .nodus-intro__card a,

    .nodus-intro__bottom a {

        transition: none;

    }

}

/* ==========================================

   NODUS DATA — FULL-WIDTH SERVICE CARDS

========================================== */

/* Allow the section to use the full page width */

.nodus-intro__container {

    width: calc(100% - 100px);

    max-width: none;

    margin-left: auto;

    margin-right: auto;

}

/* Keep the introductory copy centred and readable */

.nodus-intro__heading {

    max-width: 850px;

    margin-left: auto;

    margin-right: auto;

}

/* Four cards stretching across the available width */

.nodus-intro__cards {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 22px;

    width: 100%;

}

/* Maintain consistent card heights */

.nodus-intro__card {

    min-width: 0;

    height: 100%;

}

/* Tablet */

@media (max-width: 1100px) {

    .nodus-intro__container {

        width: calc(100% - 64px);

    }

    .nodus-intro__cards {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 20px;

    }

}

/* Mobile */

@media (max-width: 767px) {

    .nodus-intro__container {

        width: calc(100% - 36px);

    }

    .nodus-intro__cards {

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

        gap: 16px;

    }

}

/* ==========================================

   NODUS DATA — REFINED SERVICES INTRO

========================================== */

.nodus-intro__heading {

    max-width: 1050px;

    margin: 0 auto 60px;

    text-align: center;

}

.nodus-intro__eyebrow {

    justify-content: center;

    margin-bottom: 22px;

}

.nodus-intro__heading h2 {

    max-width: 1050px;

    margin: 0 auto 25px;

    font-size: clamp(38px, 4vw, 60px);

    line-height: 1.15;

    letter-spacing: -0.045em;

}

.nodus-intro__heading h2 span {

    display: block;

    color: #168FE8;

}

.nodus-intro__heading .nodus-intro__description {

    max-width: 790px;

    margin: 0 auto;

    color: #53606D;

    font-size: 16px;

    line-height: 1.9;

}

/* Mobile */

@media (max-width: 767px) {

    .nodus-intro__heading {

        margin-bottom: 42px;

    }

    .nodus-intro__heading h2 {

        font-size: clamp(32px, 8vw, 42px);

        line-height: 1.2;

    }

    .nodus-intro__heading .nodus-intro__description {

        font-size: 14px;

        line-height: 1.8;

    }

}

/* ==========================================

   NODUS DATA — WHY CHOOSE US

========================================== */

.nodus-why {

    position: relative;

    isolation: isolate;

    width: 100%;

    min-height: 820px;

    overflow: hidden;

    background-color: #111820;

    color: #ffffff;

}

/* BACKGROUND IMAGE */

.nodus-why::before {

    content: "";

    position: absolute;

    inset: 0;

    z-index: -2;

    background-image: url("../images/nodus-why-choose-us.png");

    background-repeat: no-repeat;

    background-position: center center;

    background-size: cover;

}

/* DARK OVERLAY FOR TEXT READABILITY */

.nodus-why::after {

    content: "";

    position: absolute;

    inset: 0;

    z-index: -1;

    background: linear-gradient(

        90deg,

        rgba(17, 24, 32, 0.97) 0%,

        rgba(17, 24, 32, 0.93) 27%,

        rgba(17, 24, 32, 0.82) 43%,

        rgba(17, 24, 32, 0.42) 61%,

        rgba(17, 24, 32, 0.02) 82%

    );

}

/* MAIN CONTAINER */

.nodus-why__container {

    position: relative;

    width: calc(100% - 100px);

    max-width: 1500px;

    margin: 0 auto;

    padding: 110px 0 115px;

}

/* CONTENT COLUMN */

.nodus-why__content {

    width: 100%;

    max-width: 650px;

}

/* EYEBROW */

.nodus-why__eyebrow {

    display: flex;

    align-items: center;

    gap: 13px;

    margin-bottom: 26px;

    color: #ffffff;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 0.1em;

    text-transform: uppercase;

}

.nodus-why__eyebrow span {

    display: block;

    width: 30px;

    height: 2px;

    background: #168FE8;

}

/* HEADING */

.nodus-why__content h2 {

    margin: 0 0 32px;

    color: #ffffff;

    font-size: clamp(40px, 4.2vw, 65px);

    font-weight: 800;

    line-height: 1.13;

    letter-spacing: -0.045em;

}

.nodus-why__content h2 span {

    display: block;

    color: #58B7FF;

}

/* INTRODUCTION */

.nodus-why__intro {

    max-width: 590px;

    margin-bottom: 45px;

}

.nodus-why__intro p {

    margin: 0 0 18px;

    color: rgba(255, 255, 255, 0.88);

    font-size: 15px;

    font-weight: 400;

    line-height: 1.85;

}

/* BENEFITS */

.nodus-why__benefits {

    width: 100%;

    max-width: 610px;

}

.nodus-why__benefit {

    display: grid;

    grid-template-columns: 40px minmax(0, 1fr);

    gap: 20px;

    padding: 24px 0;

    border-top: 1px solid rgba(255, 255, 255, 0.22);

}

.nodus-why__number {

    padding-top: 5px;

    color: #58B7FF;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 0.05em;

}

.nodus-why__benefit-content h3 {

    margin: 0 0 9px;

    color: #ffffff;

    font-size: 20px;

    font-weight: 800;

    line-height: 1.35;

    letter-spacing: -0.02em;

}

.nodus-why__benefit-content p {

    margin: 0;

    color: rgba(255, 255, 255, 0.78);

    font-size: 14px;

    line-height: 1.8;

}

/* CTA */

.nodus-why__actions {

    margin-top: 36px;

}

.nodus-why__button {

    display: inline-flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    padding: 17px 26px;

    background: #168FE8;

    border: 1px solid #168FE8;

    border-radius: 5px;

    color: #ffffff;

    font-size: 13px;

    font-weight: 800;

    text-decoration: none;

    transition:

background 0.25s ease,

        border-color 0.25s ease,

        transform 0.25s ease;

}

.nodus-why__button:hover {

    background: #0878C7;

    border-color: #0878C7;

    color: #ffffff;

    transform: translateY(-2px);

}

.nodus-why__button span {

    font-size: 19px;

    line-height: 1;

}

/* ==========================================

   TABLET

========================================== */

@media (max-width: 1100px) {

    .nodus-why__container {

        width: calc(100% - 64px);

        padding: 90px 0;

    }

    .nodus-why__content {

        max-width: 590px;

    }

    .nodus-why::after {

        background: linear-gradient(

            90deg,

            rgba(17, 24, 32, 0.98) 0%,

            rgba(17, 24, 32, 0.93) 43%,

            rgba(17, 24, 32, 0.55) 72%,

            rgba(17, 24, 32, 0.20) 100%

        );

    }

}

/* ==========================================

   MOBILE

========================================== */

@media (max-width: 767px) {

    .nodus-why {

        min-height: 0;

    }

    .nodus-why::before {

        background-position: 65% center;

    }

    .nodus-why::after {

        background: linear-gradient(

            180deg,

            rgba(17, 24, 32, 0.88) 0%,

            rgba(17, 24, 32, 0.96) 30%,

            rgba(17, 24, 32, 0.99) 100%

        );

    }

    .nodus-why__container {

        width: calc(100% - 40px);

        padding: 75px 0 80px;

    }

    .nodus-why__content {

        max-width: 100%;

    }

    .nodus-why__eyebrow {

        margin-bottom: 22px;

    }

    .nodus-why__content h2 {

        margin-bottom: 27px;

        font-size: clamp(36px, 8.5vw, 46px);

        line-height: 1.17;

    }

    .nodus-why__intro {

        margin-bottom: 35px;

    }

    .nodus-why__intro p {

        font-size: 14px;

        line-height: 1.8;

    }

    .nodus-why__benefit {

        grid-template-columns: 30px minmax(0, 1fr);

        gap: 14px;

        padding: 23px 0;

    }

    .nodus-why__benefit-content h3 {

        font-size: 18px;

    }

    .nodus-why__benefit-content p {

        font-size: 13px;

    }

    .nodus-why__actions {

        margin-top: 30px;

    }

    .nodus-why__button {

        width: 100%;

    }

}

/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {

    .nodus-why__button {

        transition: none;

    }

}

/* ==========================================

   NODUS DATA — MATCH HERO TEXT ALIGNMENT

========================================== */

/* Match the hero's horizontal positioning */

.nodus-why__container {

    width: 100%;

    max-width: none;

    margin: 0;

    padding: 110px 50px 115px;

    padding-left: clamp(70px, 10vw, 165px);

    box-sizing: border-box;

}

/* Maintain the existing content width */

.nodus-why__content {

    width: 100%;

    max-width: 650px;

}

/* TABLET */

@media (max-width: 1100px) {

    .nodus-why__container {

        padding: 90px 40px;

        padding-left: clamp(40px, 7vw, 90px);

    }

}

/* MOBILE */

@media (max-width: 767px) {

    .nodus-why__container {

        width: 100%;

        padding: 75px 22px 80px;

    }

    .nodus-why__content {

        max-width: 100%;

    }

}


/* ==========================================
   NODUS DATA — SECTION 4: THE DIFFERENCE
========================================== */
.nodus-difference {
    padding: 110px 0 115px;
    background: #F5F7FA;
}
.nodus-difference__container {
    width: calc(100% - 100px);
    max-width: none;
    margin: 0 auto;
}
.nodus-difference__intro {
    max-width: 900px;
    margin: 0 auto 65px;
    text-align: center;
}
.nodus-difference__eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    margin-bottom: 25px;
    color: #168FE8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.nodus-difference__eyebrow span {
    display: block;
    width: 30px;
    height: 2px;
    background: #168FE8;
}
.nodus-difference__intro h2 {
    max-width: 900px;
    margin: 0 auto 25px;
    color: #111820;
    font-size: clamp(38px, 4.2vw, 62px);
    font-weight: 800;
    line-height: 1.14;
    letter-spacing: -.045em;
}
.nodus-difference__intro h2 span {
    display: block;
    color: #168FE8;
}
.nodus-difference__intro p {
    max-width: 730px;
    margin: 0 auto;
    color: #53606D;
    font-size: 16px;
    line-height: 1.85;
}
.nodus-difference__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    width: 100%;
}
.nodus-difference__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 360px;
    padding: 42px 38px 35px;
    background: #FFFFFF;
    border: 1px solid #E5EAF0;
    border-radius: 8px;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.nodus-difference__card:hover {
    transform: translateY(-5px);
    border-color: rgba(22,143,232,.35);
    box-shadow: 0 16px 38px rgba(17,24,32,.07);
}
.nodus-difference__card-number {
    display: block;
    margin-bottom: 34px;
    color: #168FE8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
}
.nodus-difference__card h3 {
    margin: 0 0 20px;
    color: #111820;
    font-size: clamp(27px, 2.5vw, 38px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.04em;
}
.nodus-difference__card p {
    margin: 0 0 35px;
    color: #53606D;
    font-size: 15px;
    line-height: 1.85;
}
.nodus-difference__card-footer {
    display: block;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid #E5EAF0;
    color: #0878C7;
    font-size: 13px;
    font-weight: 800;
}
.nodus-difference__bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 48px;
}
.nodus-difference__bottom p {
    margin: 0;
    color: #111820;
    font-size: 18px;
    font-weight: 700;
}
.nodus-difference__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 17px 25px;
    background: #168FE8;
    border: 1px solid #168FE8;
    border-radius: 5px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: background .25s ease, transform .25s ease;
}
.nodus-difference__button:hover {
    background: #0878C7;
    border-color: #0878C7;
    color: #fff;
    transform: translateY(-2px);
}
.nodus-difference__button span {
    font-size: 19px;
    line-height: 1;
}
@media (max-width: 1100px) {
    .nodus-difference__container { width: calc(100% - 64px); }
    .nodus-difference__cards { gap: 18px; }
    .nodus-difference__card { padding: 32px 25px; }
}
@media (max-width: 767px) {
    .nodus-difference { padding: 75px 0 80px; }
    .nodus-difference__container { width: calc(100% - 40px); }
    .nodus-difference__intro { margin-bottom: 45px; }
    .nodus-difference__intro h2 { font-size: clamp(34px, 8vw, 44px); }
    .nodus-difference__intro p { font-size: 14px; }
    .nodus-difference__cards { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .nodus-difference__card { min-height: 0; padding: 32px 27px; }
    .nodus-difference__card h3 { font-size: 30px; }
    .nodus-difference__card p { font-size: 14px; }
    .nodus-difference__bottom { flex-direction: column; align-items: center; text-align: center; }
    .nodus-difference__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .nodus-difference__card, .nodus-difference__button { transition: none; }
}

/* ==========================================
   NODUS DATA — SECTION 5: HOW IT WORKS
========================================== */

.nodus-process {
    width: 100%;
    padding: 115px 0;
    background: #FFFFFF;
}

.nodus-process__container {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: center;
    gap: clamp(65px, 8vw, 150px);

    width: calc(100% - 100px);
    max-width: none;
    margin: 0 auto;
}

/* ==========================================
   LEFT — PROCESS STEPS
========================================== */

.nodus-process__steps {
    width: 100%;
    border-top: 1px solid #E2E8EE;
}

.nodus-process__step {
    display: grid;
    grid-template-columns: 65px minmax(0, 1fr);
    gap: 25px;

    padding: 34px 0;
    border-bottom: 1px solid #E2E8EE;
}

.nodus-process__number {
    color: #168FE8;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.05em;
}

.nodus-process__step-content h3 {
    margin: 0 0 10px;
    color: #111820;
    font-size: clamp(21px, 1.7vw, 27px);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.035em;
}

.nodus-process__step-content p {
    max-width: 480px;
    margin: 0;
    color: #53606D;
    font-size: 14px;
    line-height: 1.8;
}

/* ==========================================
   RIGHT — CONTENT
========================================== */

.nodus-process__content {
    width: 100%;
    max-width: 580px;
    justify-self: start;
}

.nodus-process__eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 26px;

    color: #168FE8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.nodus-process__eyebrow span {
    display: block;
    width: 30px;
    height: 2px;
    background: #168FE8;
}

.nodus-process__content h2 {
    margin: 0 0 28px;
    color: #111820;
    font-size: clamp(40px, 4vw, 62px);
    font-weight: 800;
    line-height: 1.13;
    letter-spacing: -0.045em;
}

.nodus-process__content h2 span {
    display: block;
    color: #168FE8;
}

.nodus-process__lead {
    margin: 0 0 22px;
    color: #111820;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.65;
}

.nodus-process__description {
    margin: 0 0 18px;
    color: #53606D;
    font-size: 15px;
    line-height: 1.85;
}

/* ==========================================
   CTA
========================================== */

.nodus-process__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    margin-top: 22px;
    padding: 17px 26px;

    background: #168FE8;
    border: 1px solid #168FE8;
    border-radius: 5px;

    color: #FFFFFF;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.nodus-process__button:hover {
    background: #0878C7;
    border-color: #0878C7;
    color: #FFFFFF;
    transform: translateY(-2px);
}

.nodus-process__button span {
    font-size: 19px;
    line-height: 1;
}

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

@media (max-width: 1100px) {

    .nodus-process {
        padding: 90px 0;
    }

    .nodus-process__container {
        width: calc(100% - 64px);
        gap: 50px;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .nodus-process__step {
        grid-template-columns: 45px minmax(0, 1fr);
        gap: 15px;
    }

    .nodus-process__number {
        font-size: 26px;
    }

    .nodus-process__content h2 {
        font-size: clamp(36px, 4vw, 48px);
    }

}

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

@media (max-width: 767px) {

    .nodus-process {
        padding: 75px 0 80px;
    }

    .nodus-process__container {
        display: flex;
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 45px;

        width: calc(100% - 40px);
    }

    .nodus-process__content {
        max-width: 100%;
    }

    .nodus-process__content h2 {
        font-size: clamp(35px, 8vw, 45px);
        line-height: 1.17;
    }

    .nodus-process__lead {
        font-size: 17px;
    }

    .nodus-process__description {
        font-size: 14px;
    }

    .nodus-process__steps {
        width: 100%;
    }

    .nodus-process__step {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 16px;
        padding: 26px 0;
    }

    .nodus-process__number {
        font-size: 25px;
    }

    .nodus-process__step-content h3 {
        font-size: 21px;
    }

    .nodus-process__step-content p {
        font-size: 13px;
    }

    .nodus-process__button {
        width: 100%;
    }

}

/* ==========================================
   REDUCED MOTION
========================================== */

@media (prefers-reduced-motion: reduce) {

    .nodus-process__button {
        transition: none;
    }

}

/* ==========================================
   NODUS DATA — PROCESS SECTION ALIGNMENT
   Match hero and Why Nodus Data
========================================== */

.nodus-process__container {
    width: 100%;
    max-width: none;
    margin: 0;

    padding-left: clamp(70px, 10vw, 165px);
    padding-right: 50px;

    box-sizing: border-box;
}

/* TABLET */

@media (max-width: 1100px) {

    .nodus-process__container {
        width: 100%;

        padding-left: clamp(40px, 7vw, 90px);
        padding-right: 40px;
    }

}

/* MOBILE */

@media (max-width: 767px) {

    .nodus-process__container {
        width: 100%;

        padding-left: 22px;
        padding-right: 22px;
    }

}

/* ==========================================
   NODUS DATA — FINAL CTA
   WHY NODUS-INSPIRED DESIGN
========================================== */

.nodus-final-cta {
    position: relative;
    width: 100%;
    min-height: 560px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 110px 50px 120px;
    background: #168FE8;
    overflow: hidden;
    box-sizing: border-box;
}

.nodus-final-cta__container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.nodus-final-cta__content {
    width: 100%;
    text-align: center;
}

/* EYEBROW */

.nodus-final-cta__eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    margin-bottom: 28px;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.nodus-final-cta__eyebrow span {
    display: block;
    width: 30px;
    height: 2px;
    background: #FFFFFF;
}

/* HEADING */

.nodus-final-cta__content h2 {
    max-width: 1050px;
    margin: 0 auto 30px;
    color: #FFFFFF;
    font-size: clamp(48px, 5.5vw, 82px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.05em;
}

.nodus-final-cta__content h2 span {
    display: block;
    color: #DCEFFF;
}

/* DESCRIPTION */

.nodus-final-cta__description {
    max-width: 680px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.94);
    font-size: 16px;
    line-height: 1.9;
}

/* ACTIONS */

.nodus-final-cta__actions {
    display: flex;
    justify-content: center;
    margin-top: 36px;
}

.nodus-final-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 18px 28px;
    background: #FFFFFF;
    border: 1px solid #FFFFFF;
    border-radius: 5px;
    color: #111820;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.nodus-final-cta__button:hover {
    background: #111820;
    border-color: #111820;
    color: #FFFFFF;
    transform: translateY(-2px);
}

.nodus-final-cta__button span {
    font-size: 20px;
    line-height: 1;
}

/* TABLET */

@media (max-width: 1024px) {
    .nodus-final-cta {
        min-height: 480px;
        padding: 90px 40px;
    }

    .nodus-final-cta__content h2 {
        font-size: clamp(44px, 6vw, 66px);
    }
}

/* MOBILE */

@media (max-width: 767px) {
    .nodus-final-cta {
        min-height: auto;
        padding: 85px 22px 95px;
    }

    .nodus-final-cta__eyebrow {
        margin-bottom: 24px;
        font-size: 11px;
    }

    .nodus-final-cta__content h2 {
        font-size: clamp(38px, 9vw, 52px);
        line-height: 1.15;
        margin-bottom: 25px;
    }

    .nodus-final-cta__description {
        font-size: 14px;
        line-height: 1.85;
    }

    .nodus-final-cta__actions {
        margin-top: 32px;
    }

    .nodus-final-cta__button {
        width: 100%;
        max-width: 320px;
    }
}

/* ==========================================
   NODUS DATA — WHITE FOOTER
========================================== */

.site-footer {
    background: #FFFFFF;
    color: #111820;
    border-top: 1px solid #E8EDF2;
}

.footer-main {
    background: #FFFFFF;
    padding: 80px 0 75px;
}

.footer-container {
    display: grid;
    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(0, 0.75fr)
        minmax(0, 0.75fr)
        minmax(0, 1fr);
    gap: clamp(35px, 4vw, 85px);
    align-items: start;

    width: calc(100% - 100px);
    max-width: none;
    margin: 0 auto;
}

.footer-column {
    min-width: 0;
}

.footer-logo-link {
    display: inline-block;
    margin: 0 0 22px;
    line-height: 0;
}

.footer-logo {
    display: block;
    width: 190px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.footer-description {
    max-width: 360px;
    margin: 0 0 23px;
    color: #64717D;
    font-size: 14px;
    line-height: 1.85;
}

.footer-heading {
    margin: 0 0 25px;
    color: #111820;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -0.02em;
}

.footer-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;

    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-menu li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-menu a {
    color: #64717D;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-menu a:hover {
    color: #168FE8;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #111820;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-social-link:hover {
    color: #168FE8;
}

.footer-social-link svg {
    flex-shrink: 0;
}

/* CONTACT COLUMN */

.footer-contact p {
    max-width: 310px;
    margin: 0 0 25px;
    color: #64717D;
    font-size: 14px;
    line-height: 1.85;
}

.footer-phone-link {
    display: inline-block;
    margin: 0 0 20px;
    color: #111820;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.03em;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-phone-link:hover {
    color: #168FE8;
}

.footer-contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 15px 21px;

    border: 1px solid #168FE8;
    border-radius: 5px;
    background: #168FE8;

    color: #FFFFFF;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;

    transition: background 0.2s ease;
}

.footer-contact-button:hover {
    background: #0878C7;
    color: #FFFFFF;
}

.footer-whatsapp-link {
    display: flex;
    align-items: center;
    gap: 8px;
    width: fit-content;

    margin-top: 20px;

    color: #111820;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-whatsapp-link:hover {
    color: #168FE8;
}

/* FOOTER BOTTOM */

.footer-bottom {
    background: #FFFFFF;
    border-top: 1px solid #E8EDF2;
}

.footer-bottom-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px 35px;

    width: calc(100% - 100px);
    max-width: none;
    margin: 0 auto;
    padding: 27px 0;
}

.footer-copyright p,
.footer-credit {
    margin: 0;
    color: #75818D;
    font-size: 12px;
    line-height: 1.6;
}

.footer-legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 13px 22px;
}

.footer-legal a,
.nodus-cookie-settings-link {
    padding: 0;
    border: 0;
    background: transparent;
    color: #75818D;
    font-family: inherit;
    font-size: 12px;
    line-height: 1.6;
    text-decoration: none;
    cursor: pointer;
}

.footer-legal a:hover,
.nodus-cookie-settings-link:hover {
    color: #168FE8;
}

.footer-credit a {
    margin-left: 4px;
    color: #111820;
    font-weight: 800;
    text-decoration: none;
}

.footer-credit a:hover {
    color: #168FE8;
}

/* ==========================================
   FLOATING WHATSAPP BUTTON
========================================== */

.nodus-whatsapp-float {
    position: fixed;
    right: 25px;
    bottom: 25px;
    z-index: 9000;

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

    width: 62px;
    height: 62px;
    border-radius: 50%;

    background: #25D366;
    color: #FFFFFF;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
    text-decoration: none;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.nodus-whatsapp-float:hover {
    transform: translateY(-4px);
    color: #FFFFFF;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.25);
}

.nodus-whatsapp-float svg {
    display: block;
}

/* ==========================================
   COOKIE BANNER
========================================== */

.nodus-cookie-banner[hidden],
.nodus-cookie-modal[hidden] {
    display: none !important;
}

.nodus-cookie-banner {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 10000;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    width: min(920px, calc(100% - 40px));
    padding: 25px 28px;

    background: #FFFFFF;
    border: 1px solid #E8EDF2;
    border-radius: 10px;
    box-shadow: 0 12px 55px rgba(17, 24, 32, 0.18);
    box-sizing: border-box;
}

.nodus-cookie-banner__content {
    flex: 1;
    min-width: 0;
}

.nodus-cookie-banner__content h2 {
    margin: 0 0 8px;
    color: #111820;
    font-size: 19px;
    font-weight: 800;
}

.nodus-cookie-banner__content p {
    margin: 0;
    color: #64717D;
    font-size: 12px;
    line-height: 1.75;
}

.nodus-cookie-banner__content a {
    color: #168FE8;
    text-decoration: underline;
}

.nodus-cookie-banner__actions {
    display: flex;
    flex-direction: column;
    gap: 9px;
    flex: 0 0 165px;
}

/* COOKIE BUTTONS */

.nodus-cookie-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    padding: 11px 17px;

    border-radius: 5px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
    cursor: pointer;
}

.nodus-cookie-btn--primary {
    border: 1px solid #168FE8;
    background: #168FE8;
    color: #FFFFFF;
}

.nodus-cookie-btn--secondary {
    border: 1px solid #D9E1E8;
    background: #FFFFFF;
    color: #111820;
}

.nodus-cookie-btn--text {
    border: 0;
    background: transparent;
    color: #168FE8;
}

/* ==========================================
   COOKIE PREFERENCES MODAL
========================================== */

.nodus-cookie-modal {
    position: fixed;
    inset: 0;
    z-index: 11000;

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

    padding: 20px;
    box-sizing: border-box;
}

.nodus-cookie-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 32, 0.65);
}

.nodus-cookie-modal__dialog {
    position: relative;
    z-index: 1;

    width: 100%;
    max-width: 620px;
    max-height: min(90vh, 850px);
    overflow-y: auto;

    padding: 35px;
    border-radius: 12px;
    background: #FFFFFF;
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
}

.nodus-cookie-modal__close {
    position: absolute;
    top: 17px;
    right: 20px;

    border: 0;
    background: transparent;
    color: #64717D;
    font-size: 30px;
    cursor: pointer;
}

.nodus-cookie-modal__header > span {
    color: #168FE8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.nodus-cookie-modal__header h2 {
    margin: 13px 0 12px;
    color: #111820;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.nodus-cookie-modal__header p {
    margin: 0 0 25px;
    color: #64717D;
    font-size: 13px;
    line-height: 1.8;
}

.nodus-cookie-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding: 19px 0;
    border-top: 1px solid #E8EDF2;
}

.nodus-cookie-option h3 {
    margin: 0 0 6px;
    color: #111820;
    font-size: 14px;
    font-weight: 800;
}

.nodus-cookie-option p {
    margin: 0;
    color: #64717D;
    font-size: 12px;
    line-height: 1.7;
}

.nodus-cookie-option input[type="checkbox"] {
    flex-shrink: 0;
    width: 21px;
    height: 21px;
    accent-color: #168FE8;
    cursor: pointer;
}

.nodus-cookie-always-on {
    flex-shrink: 0;
    color: #168FE8;
    font-size: 11px;
    font-weight: 800;
}

.nodus-cookie-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 25px;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1100px) {

    .footer-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 45px;
        width: calc(100% - 70px);
    }

    .footer-bottom-container {
        width: calc(100% - 70px);
    }

}

@media (max-width: 767px) {

    .footer-main {
        padding: 60px 0;
    }

    .footer-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 38px 22px;
        width: calc(100% - 44px);
    }

    .footer-brand,
    .footer-contact {
        grid-column: 1 / -1;
    }

    .footer-logo {
        width: 175px;
    }

    .footer-heading {
        margin-bottom: 18px;
    }

    .footer-bottom-container {
        flex-direction: column;
        align-items: flex-start;
        width: calc(100% - 44px);
        padding: 25px 0;
    }

    .nodus-whatsapp-float {
        right: 18px;
        bottom: 18px;
        width: 56px;
        height: 56px;
    }

    .nodus-cookie-banner {
        left: 12px;
        bottom: 12px;
        width: calc(100% - 24px);
        flex-direction: column;
        align-items: stretch;
        gap: 18px;
        padding: 22px;
    }

    .nodus-cookie-banner__actions {
        flex: auto;
    }

    .nodus-cookie-modal__dialog {
        padding: 28px 22px;
    }

    .nodus-cookie-modal__header h2 {
        font-size: 26px;
    }

    .nodus-cookie-modal__actions {
        flex-direction: column;
    }

    .nodus-cookie-option {
        gap: 12px;
    }

    .nodus-cookie-always-on {
        text-align: right;
    }

}

@media (prefers-reduced-motion: reduce) {

    .nodus-whatsapp-float,
    .footer-contact-button,
    .footer-menu a {
        transition: none;
    }

}

/* ============================================================
   NODUS DATA
   FOOTER, WHATSAPP & COOKIE CONSENT
   Version 1.3
   ============================================================ */


/* ============================================================
   1. WHITE SITE FOOTER
   ============================================================ */

.site-footer {
    position: relative;
    width: 100%;
    background: #FFFFFF;
    color: #111820;
    border-top: 1px solid #E8EDF2;
    font-family: 'Manrope', sans-serif;
    box-sizing: border-box;
}

.site-footer *,
.site-footer *::before,
.site-footer *::after {
    box-sizing: border-box;
}


/* ============================================================
   2. MAIN FOOTER
   ============================================================ */

.footer-main {
    width: 100%;
    padding: 85px 0 80px;
    background: #FFFFFF;
}

.footer-container {
    display: grid;

    grid-template-columns:
        minmax(0, 1.9fr)
        minmax(0, 0.7fr)
        minmax(0, 0.7fr)
        minmax(0, 1fr);

    align-items: start;

    column-gap: clamp(35px, 3.5vw, 75px);

    width: calc(100% - 100px);
    max-width: none;
    margin: 0 auto;
}

.footer-column {
    min-width: 0;
    margin: 0;
    padding: 0;
}


/* ============================================================
   3. BRAND COLUMN
   ============================================================ */

.footer-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-logo-link {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 0 0 25px;
    padding: 0;
    line-height: 0;
    text-decoration: none;
}

.footer-brand .footer-logo {
    display: block;

    width: 360px;
    max-width: 100%;
    height: auto;

    margin: 0;
    padding: 0;

    object-fit: contain;
    object-position: left center;
}

.footer-description {
    max-width: 390px;
    margin: 0 0 25px;

    color: #64717D;

    font-size: 14px;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0;
}


/* ============================================================
   4. INSTAGRAM LINK
   ============================================================ */

.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 11px;

    width: fit-content;

    margin: 0;
    padding: 0;

    color: #111820;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;

    text-decoration: none;

    transition: color 0.25s ease;
}

.footer-social-link svg {
    display: block;
    flex-shrink: 0;

    width: 20px;
    height: 20px;
}

.footer-social-link:hover {
    color: #168FE8;
}


/* ============================================================
   5. FOOTER COLUMN HEADINGS
   ============================================================ */

.footer-heading {
    margin: 0 0 27px;
    padding: 0;

    color: #111820;

    font-size: 15px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: -0.02em;
}


/* ============================================================
   6. FOOTER NAVIGATION
   ============================================================ */

.footer-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 16px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.footer-menu li {
    display: block;

    width: 100%;

    margin: 0;
    padding: 0;

    list-style: none;
}

.footer-menu li::before,
.footer-menu li::after {
    display: none;
}

.footer-menu a {
    display: inline-block;

    margin: 0;
    padding: 0;

    color: #64717D;

    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;

    text-decoration: none;

    transition: color 0.25s ease;
}

.footer-menu a:hover,
.footer-menu a:focus-visible {
    color: #168FE8;
}


/* ============================================================
   7. CONTACT COLUMN
   ============================================================ */

.footer-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-contact .footer-heading {
    margin-bottom: 25px;
}

.footer-phone-link {
    display: inline-block;

    margin: 0 0 19px;
    padding: 0;

    color: #111820;

    font-size: clamp(19px, 1.6vw, 24px);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.035em;

    text-decoration: none;

    transition: color 0.25s ease;
}

.footer-phone-link:hover {
    color: #168FE8;
}

.footer-contact p {
    max-width: 320px;

    margin: 0 0 26px;
    padding: 0;

    color: #64717D;

    font-size: 14px;
    font-weight: 400;
    line-height: 1.85;
}


/* ============================================================
   8. FOOTER CONTACT BUTTON
   ============================================================ */

.footer-contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;

    min-height: 49px;

    margin: 0;
    padding: 14px 22px;

    border: 1px solid #168FE8;
    border-radius: 5px;

    background: #168FE8;
    color: #FFFFFF;

    font-family: 'Manrope', sans-serif;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;

    text-decoration: none;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.footer-contact-button span {
    font-size: 19px;
    line-height: 1;
}

.footer-contact-button:hover {
    background: #0878C7;
    border-color: #0878C7;
    color: #FFFFFF;
    transform: translateY(-2px);
}


/* ============================================================
   9. FOOTER WHATSAPP TEXT LINK
   ============================================================ */

.footer-whatsapp-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;

    gap: 8px;

    width: fit-content;

    margin: 22px 0 0;
    padding: 0;

    color: #111820;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;

    text-decoration: none;

    transition: color 0.25s ease;
}

.footer-whatsapp-link span {
    font-size: 16px;
}

.footer-whatsapp-link:hover {
    color: #168FE8;
}


/* ============================================================
   10. FOOTER BOTTOM
   ============================================================ */

.footer-bottom {
    width: 100%;

    background: #FFFFFF;
    border-top: 1px solid #E8EDF2;
}

.footer-bottom-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;

    gap: 20px 35px;

    width: calc(100% - 100px);
    max-width: none;

    margin: 0 auto;
    padding: 27px 0;
}

.footer-copyright {
    margin: 0;
    padding: 0;
}

.footer-copyright p {
    margin: 0;
    padding: 0;

    color: #75818D;

    font-size: 12px;
    font-weight: 500;
    line-height: 1.6;
}


/* ============================================================
   11. LEGAL LINKS
   ============================================================ */

.footer-legal {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 12px 22px;

    margin: 0;
    padding: 0;
}

.footer-legal a,
.nodus-cookie-settings-link {
    display: inline-block;

    margin: 0;
    padding: 0;

    border: 0;
    background: transparent;

    color: #75818D;

    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.6;

    text-decoration: none;

    cursor: pointer;

    transition: color 0.25s ease;
}

.footer-legal a:hover,
.nodus-cookie-settings-link:hover {
    color: #168FE8;
}


/* ============================================================
   12. AMB360 CREDIT
   ============================================================ */

.footer-credit {
    display: flex;
    align-items: center;
    gap: 5px;

    margin: 0;
    padding: 0;

    color: #75818D;

    font-size: 12px;
    font-weight: 500;
    line-height: 1.6;
}

.footer-credit a {
    color: #111820;

    font-size: 12px;
    font-weight: 800;

    text-decoration: none;

    transition: color 0.25s ease;
}

.footer-credit a:hover {
    color: #168FE8;
}


/* ============================================================
   13. FLOATING WHATSAPP BUTTON
   ============================================================ */

.nodus-whatsapp-float {
    position: fixed;

    right: 25px;
    bottom: 25px;

    z-index: 9000;

    display: inline-flex;
    align-items: center;
    justify-content: flex-end;

    gap: 12px;

    width: auto;
    height: auto;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 0;

    background: transparent;
    box-shadow: none;

    color: #111820;

    text-decoration: none;

    transition: transform 0.25s ease;
}

.nodus-whatsapp-float:hover {
    transform: translateY(-3px);

    background: transparent;
    box-shadow: none;

    color: #111820;
}


/* ============================================================
   14. WHATSAPP TEXT LABEL
   ============================================================ */

.nodus-whatsapp-float__label {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;

    margin: 0;
    padding: 0 19px;

    border: 1px solid #E8EDF2;
    border-radius: 6px;

    background: #FFFFFF;

    box-shadow: 0 5px 22px rgba(17, 24, 32, 0.12);

    color: #111820;

    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;

    white-space: nowrap;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.nodus-whatsapp-float:hover .nodus-whatsapp-float__label {
    border-color: #D9E1E8;

    box-shadow: 0 8px 28px rgba(17, 24, 32, 0.16);
}


/* ============================================================
   15. WHATSAPP GREEN ICON
   ============================================================ */

.nodus-whatsapp-float__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;

    width: 62px;
    height: 62px;

    margin: 0;
    padding: 0;

    border-radius: 50%;

    background: #25D366;

    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);

    color: #FFFFFF;
}

.nodus-whatsapp-float__icon svg {
    display: block;

    width: 30px;
    height: 30px;

    fill: currentColor;
}


/* ============================================================
   16. COOKIE BANNER — HIDDEN STATES
   ============================================================ */

.nodus-cookie-banner[hidden],
.nodus-cookie-modal[hidden] {
    display: none !important;
}


/* ============================================================
   17. COOKIE CONSENT BANNER
   ============================================================ */

.nodus-cookie-banner {
    position: fixed;

    left: 20px;
    bottom: 20px;

    z-index: 10000;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    width: min(920px, calc(100% - 40px));

    margin: 0;
    padding: 26px 28px;

    border: 1px solid #E8EDF2;
    border-radius: 10px;

    background: #FFFFFF;

    box-shadow: 0 12px 55px rgba(17, 24, 32, 0.18);

    box-sizing: border-box;

    font-family: 'Manrope', sans-serif;
}

.nodus-cookie-banner__content {
    flex: 1;
    min-width: 0;
}

.nodus-cookie-banner__content h2 {
    margin: 0 0 9px;
    padding: 0;

    color: #111820;

    font-size: 19px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.025em;
}

.nodus-cookie-banner__content p {
    margin: 0;
    padding: 0;

    color: #64717D;

    font-size: 12px;
    font-weight: 400;
    line-height: 1.8;
}

.nodus-cookie-banner__content a {
    color: #168FE8;
    font-weight: 700;
    text-decoration: underline;
}

.nodus-cookie-banner__content a:hover {
    color: #0878C7;
}


/* ============================================================
   18. COOKIE BANNER ACTIONS
   ============================================================ */

.nodus-cookie-banner__actions {
    display: flex;
    flex-direction: column;

    gap: 9px;

    flex: 0 0 165px;
}


/* ============================================================
   19. COOKIE BUTTONS
   ============================================================ */

.nodus-cookie-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 43px;

    margin: 0;
    padding: 11px 17px;

    border-radius: 5px;

    font-family: 'Manrope', sans-serif;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;

    text-align: center;

    cursor: pointer;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease;
}

.nodus-cookie-btn--primary {
    border: 1px solid #168FE8;

    background: #168FE8;
    color: #FFFFFF;
}

.nodus-cookie-btn--primary:hover {
    background: #0878C7;
    border-color: #0878C7;
    color: #FFFFFF;
}

.nodus-cookie-btn--secondary {
    border: 1px solid #D9E1E8;

    background: #FFFFFF;
    color: #111820;
}

.nodus-cookie-btn--secondary:hover {
    background: #F3F7FA;
    border-color: #C9D3DC;
}

.nodus-cookie-btn--text {
    border: 0;

    background: transparent;
    color: #168FE8;
}

.nodus-cookie-btn--text:hover {
    color: #0878C7;
}


/* ============================================================
   20. COOKIE PREFERENCES MODAL
   ============================================================ */

.nodus-cookie-modal {
    position: fixed;

    inset: 0;

    z-index: 11000;

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

    padding: 20px;

    box-sizing: border-box;

    font-family: 'Manrope', sans-serif;
}


/* ============================================================
   21. MODAL BACKDROP
   ============================================================ */

.nodus-cookie-modal__backdrop {
    position: absolute;

    inset: 0;

    background: rgba(17, 24, 32, 0.65);
}


/* ============================================================
   22. MODAL DIALOG
   ============================================================ */

.nodus-cookie-modal__dialog {
    position: relative;

    z-index: 1;

    width: 100%;
    max-width: 620px;

    max-height: min(90vh, 850px);

    overflow-y: auto;

    margin: 0;
    padding: 36px;

    border-radius: 12px;

    background: #FFFFFF;

    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.25);

    box-sizing: border-box;

    overscroll-behavior: contain;
}


/* ============================================================
   23. MODAL CLOSE BUTTON
   ============================================================ */

.nodus-cookie-modal__close {
    position: absolute;

    top: 16px;
    right: 20px;

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

    width: 34px;
    height: 34px;

    margin: 0;
    padding: 0;

    border: 0;

    background: transparent;
    color: #64717D;

    font-family: inherit;
    font-size: 30px;
    font-weight: 400;
    line-height: 1;

    cursor: pointer;

    transition: color 0.25s ease;
}

.nodus-cookie-modal__close:hover {
    color: #111820;
}


/* ============================================================
   24. MODAL HEADER
   ============================================================ */

.nodus-cookie-modal__header > span {
    display: block;

    margin: 0 0 12px;

    color: #168FE8;

    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.1em;

    text-transform: uppercase;
}

.nodus-cookie-modal__header h2 {
    margin: 0 0 14px;

    color: #111820;

    font-size: 30px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.04em;
}

.nodus-cookie-modal__header p {
    margin: 0 0 28px;

    color: #64717D;

    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
}


/* ============================================================
   25. COOKIE PREFERENCE OPTIONS
   ============================================================ */

.nodus-cookie-options {
    display: block;
    width: 100%;
}

.nodus-cookie-option {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    width: 100%;

    margin: 0;
    padding: 20px 0;

    border-top: 1px solid #E8EDF2;

    box-sizing: border-box;
}

.nodus-cookie-option > div {
    flex: 1;
    min-width: 0;
}

.nodus-cookie-option h3 {
    margin: 0 0 7px;

    color: #111820;

    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
}

.nodus-cookie-option p {
    margin: 0;

    color: #64717D;

    font-size: 12px;
    font-weight: 400;
    line-height: 1.75;
}


/* ============================================================
   26. COOKIE CHECKBOXES
   ============================================================ */

.nodus-cookie-option input[type="checkbox"] {
    flex-shrink: 0;

    width: 21px;
    height: 21px;

    margin: 0;

    accent-color: #168FE8;

    cursor: pointer;
}

.nodus-cookie-always-on {
    flex-shrink: 0;

    color: #168FE8;

    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
}


/* ============================================================
   27. MODAL ACTIONS
   ============================================================ */

.nodus-cookie-modal__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 12px;

    margin-top: 28px;
}

.nodus-cookie-modal__actions .nodus-cookie-btn {
    min-width: 150px;
}


/* ============================================================
   28. KEYBOARD ACCESSIBILITY
   ============================================================ */

.footer-menu a:focus-visible,
.footer-social-link:focus-visible,
.footer-phone-link:focus-visible,
.footer-contact-button:focus-visible,
.footer-whatsapp-link:focus-visible,
.footer-legal a:focus-visible,
.nodus-cookie-settings-link:focus-visible,
.nodus-whatsapp-float:focus-visible,
.nodus-cookie-btn:focus-visible,
.nodus-cookie-modal__close:focus-visible,
.nodus-cookie-option input:focus-visible {
    outline: 3px solid #168FE8;
    outline-offset: 4px;
}


/* ============================================================
   29. LARGE TABLET
   ============================================================ */

@media (max-width: 1200px) {

    .footer-container {
        grid-template-columns:
            minmax(0, 1.5fr)
            minmax(0, 0.8fr)
            minmax(0, 0.8fr)
            minmax(0, 1fr);

        column-gap: 30px;
    }

    .footer-brand .footer-logo {
        width: 320px;
    }

    .footer-phone-link {
        font-size: 20px;
    }

}


/* ============================================================
   30. TABLET
   ============================================================ */

@media (max-width: 1024px) {

    .footer-main {
        padding: 75px 0;
    }

    .footer-container {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        column-gap: 55px;
        row-gap: 55px;

        width: calc(100% - 80px);
    }

    .footer-brand .footer-logo {
        width: 320px;
    }

    .footer-bottom-container {
        width: calc(100% - 80px);
    }

    .footer-contact p {
        max-width: 360px;
    }

}


/* ============================================================
   31. MOBILE
   ============================================================ */

@media (max-width: 767px) {

    .footer-main {
        padding: 60px 0 65px;
    }

    .footer-container {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        column-gap: 22px;
        row-gap: 42px;

        width: calc(100% - 44px);
    }

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

    .footer-contact {
        grid-column: 1 / -1;
    }

    .footer-brand .footer-logo {
        width: 300px;
        max-width: 100%;
    }

    .footer-logo-link {
        margin-bottom: 20px;
    }

    .footer-description {
        max-width: 100%;

        margin-bottom: 22px;

        font-size: 13px;
        line-height: 1.85;
    }

    .footer-heading {
        margin-bottom: 20px;
        font-size: 14px;
    }

    .footer-menu {
        gap: 14px;
    }

    .footer-menu a {
        font-size: 13px;
    }

    .footer-contact p {
        max-width: 100%;
    }

    .footer-phone-link {
        font-size: 24px;
    }

    .footer-bottom-container {
        flex-direction: column;
        align-items: flex-start;

        gap: 20px;

        width: calc(100% - 44px);

        padding: 26px 0;
    }

    .footer-legal {
        justify-content: flex-start;
        gap: 12px 18px;
    }

    .footer-credit {
        margin-top: 2px;
    }

    /* WhatsApp */

    .nodus-whatsapp-float {
        right: 16px;
        bottom: 16px;
        gap: 9px;
    }

    .nodus-whatsapp-float__label {
        min-height: 42px;
        padding: 0 13px;
        font-size: 11px;
    }

    .nodus-whatsapp-float__icon {
        width: 54px;
        height: 54px;
    }

    .nodus-whatsapp-float__icon svg {
        width: 27px;
        height: 27px;
    }

    /* Cookie banner */

    .nodus-cookie-banner {
        left: 12px;
        bottom: 12px;

        width: calc(100% - 24px);

        flex-direction: column;
        align-items: stretch;

        gap: 20px;

        padding: 22px;
    }

    .nodus-cookie-banner__content h2 {
        font-size: 18px;
    }

    .nodus-cookie-banner__content p {
        font-size: 12px;
    }

    .nodus-cookie-banner__actions {
        flex: auto;
        width: 100%;
    }

    /* Cookie modal */

    .nodus-cookie-modal {
        padding: 12px;
    }

    .nodus-cookie-modal__dialog {
        max-height: 92vh;
        padding: 30px 22px;
    }

    .nodus-cookie-modal__header h2 {
        font-size: 26px;
    }

    .nodus-cookie-modal__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .nodus-cookie-modal__actions .nodus-cookie-btn {
        width: 100%;
    }

    .nodus-cookie-option {
        gap: 14px;
    }

    .nodus-cookie-always-on {
        text-align: right;
    }

}


/* ============================================================
   32. SMALL MOBILE
   ============================================================ */

@media (max-width: 380px) {

    .footer-container {
        column-gap: 16px;
    }

    .footer-brand .footer-logo {
        width: 270px;
    }

    .footer-menu a {
        font-size: 12px;
    }

    .nodus-whatsapp-float__label {
        padding: 0 10px;
        font-size: 10px;
    }

    .nodus-whatsapp-float__icon {
        width: 50px;
        height: 50px;
    }

    .nodus-cookie-banner {
        padding: 18px;
    }

    .nodus-cookie-modal__dialog {
        padding: 26px 18px;
    }

}


/* ============================================================
   33. REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .footer-menu a,
    .footer-social-link,
    .footer-phone-link,
    .footer-contact-button,
    .footer-whatsapp-link,
    .footer-legal a,
    .footer-credit a,
    .nodus-whatsapp-float,
    .nodus-whatsapp-float__label,
    .nodus-cookie-btn {
        transition: none;
    }

}

/* ============================================================
   NODUS DATA — SVG FOOTER LOGO
   ============================================================ */

/* Wider brand column */

.footer-container {
    grid-template-columns:
        minmax(0, 2fr)
        minmax(0, 0.7fr)
        minmax(0, 0.7fr)
        minmax(0, 1fr);
}

/* Logo wrapper */

.footer-brand .footer-logo-link {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0 0 25px;
    padding: 0;
    overflow: visible;
    line-height: 0;
}

/* SVG logo */

.footer-brand .footer-logo {
    display: block;
    width: 100% !important;
    max-width: 520px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0;
    padding: 0;
    object-fit: contain;
    object-position: left center;
}

/* Brand copy */

.footer-brand .footer-description {
    max-width: 410px;
}

/* Tablet */

@media (max-width: 1024px) {

    .footer-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-brand .footer-logo {
        max-width: 420px !important;
    }

}

/* Mobile */

@media (max-width: 767px) {

    .footer-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-brand,
    .footer-contact {
        grid-column: 1 / -1;
    }

    .footer-brand .footer-logo {
        width: 100% !important;
        max-width: 360px !important;
    }

}

/* ==========================================
   NODUS DATA — FOOTER LOGO SIZE FIX
========================================== */

/* Restore balanced footer columns */

.footer-container {
    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(0, 0.8fr)
        minmax(0, 0.8fr)
        minmax(0, 1fr);

    align-items: start;
}

/* Logo container */

.footer-brand .footer-logo-link {
    display: block;
    width: 260px;
    max-width: 100%;
    height: auto;
    margin: 0 0 24px;
    padding: 0;
    line-height: 0;
}

/* SVG logo */

.footer-brand .footer-logo {
    display: block;
    width: 260px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 220px !important;
    margin: 0;
    padding: 0;
    object-fit: contain;
    object-position: left top;
}

/* Brand description */

.footer-brand .footer-description {
    max-width: 350px;
    margin-top: 0;
    margin-bottom: 22px;
}

/* Tablet */

@media (max-width: 1024px) {

    .footer-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-brand .footer-logo-link,
    .footer-brand .footer-logo {
        width: 240px !important;
    }

}

/* Mobile */

@media (max-width: 767px) {

    .footer-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-brand,
    .footer-contact {
        grid-column: 1 / -1;
    }

    .footer-brand .footer-logo-link,
    .footer-brand .footer-logo {
        width: 230px !important;
    }

}

/* ==========================================
   NODUS DATA — FOOTER LOGO ALIGNMENT
========================================== */

.footer-brand .footer-logo-link {
    position: relative;
    margin-top: -45px !important;
    margin-bottom: 24px !important;
}

@media (max-width: 1024px) {
    .footer-brand .footer-logo-link {
        margin-top: -30px !important;
    }
}

@media (max-width: 767px) {
    .footer-brand .footer-logo-link {
        margin-top: -25px !important;
    }
}

/* ==========================================
   NODUS DATA — FOOTER BRAND SPACING FIX
========================================== */

.footer-brand .footer-logo-link {
    margin-bottom: -25px !important;
}

.footer-brand .footer-description {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}

@media (max-width: 767px) {
    .footer-brand .footer-logo-link {
        margin-bottom: -15px !important;
    }
}

/* ==========================================
   NODUS DATA — FINAL FOOTER BOTTOM FIX
========================================== */

.footer-bottom-container {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 24px;

    width: calc(100% - 100px);
    margin: 0 auto;
    padding: 27px 0;
}

/* Copyright — far left */

.footer-copyright {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    margin: 0;
    padding: 0;
}

.footer-copyright p {
    margin: 0;
    white-space: nowrap;
}

/* AMB360 credit — beneath copyright */

.footer-credit {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;

    margin: -15px 0 0;
    padding: 0;

    white-space: nowrap;
}

/* Legal navigation — centred across the footer */

.footer-legal {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);

    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 20px;
    width: max-content;
    max-width: 55%;

    margin: 0;
    padding: 0;
}

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

@media (max-width: 1100px) {

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

    .footer-credit {
        margin: 0;
    }

    .footer-legal {
        position: static;
        transform: none;

        justify-content: flex-start;
        max-width: 100%;
        width: auto;

        margin-top: 8px;
    }

}

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

@media (max-width: 767px) {

    .footer-bottom-container {
        width: calc(100% - 44px);
        padding: 25px 0 95px;
    }

    .footer-copyright p {
        white-space: normal;
    }

    .footer-legal {
        gap: 12px 18px;
    }

}


/* ============================================================
   FINAL RESPONSIVE FINISH — NODUS DATA
   Consolidated hero, white footer, WhatsApp and mobile refinements
   ============================================================ */

/* Keep the footer white and all four desktop columns aligned. */
.site-footer { background: #fff; }
.footer-main { padding: 65px 0 58px; }
.footer-container {
    display: grid;
    grid-template-columns: minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,1fr);
    align-items: start;
    column-gap: clamp(30px,4vw,65px);
    row-gap: 35px;
}
.footer-brand { align-self: start; }
.footer-brand .footer-logo-link {
    display: block;
    position: static;
    width: 230px;
    max-width: 100%;
    height: auto;
    margin: -24px 0 5px !important;
    padding: 0;
    transform: none;
    line-height: 0;
}
.footer-brand .footer-logo {
    display: block;
    width: 230px !important;
    max-width: 100% !important;
    max-height: none !important;
    height: auto !important;
    object-fit: contain;
    object-position: left top;
}
.footer-brand .footer-description {
    max-width: 330px;
    margin: 0 0 16px !important;
    font-size: 13px;
    line-height: 1.8;
}
.footer-heading { margin: 0 0 21px; }
.footer-menu { display: block; margin: 0; padding: 0; list-style: none; }
.footer-menu li { margin: 0 0 12px; }
.footer-menu a { line-height: 1.6; }
.footer-phone-link { display: inline-block; margin: 0 0 13px; font-weight: 800; color: #111820; }
.footer-contact p { margin: 0 0 17px; }
.footer-contact-button { margin-top: 0; }
.footer-whatsapp-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; font-size: 12px; font-weight: 750; }
.footer-whatsapp-arrow { display: inline-block; width: 15px; height: 15px; flex: 0 0 15px; }

/* Footer bottom: legal links stay genuinely centred, independent of credit. */
.footer-bottom { background: #fff; }
.footer-bottom-container {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center;
    gap: 15px 24px;
    width: calc(100% - 100px);
    max-width: none;
    min-height: 85px;
    padding: 19px 0;
    margin: 0 auto;
}
.footer-copyright { grid-column: 1; grid-row: 1; justify-self: start; }
.footer-credit { grid-column: 1; grid-row: 2; justify-self: start; margin: 0; white-space: nowrap; }
.footer-legal {
    position: static;
    grid-column: 2;
    grid-row: 1 / span 2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 18px;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    transform: none;
    white-space: nowrap;
}
.footer-legal a, .nodus-cookie-settings-link { font-size: 11px; }

/* Floating WhatsApp stays usable without obscuring navigation. */
.nodus-whatsapp-float { right: 18px; bottom: 18px; }
.nodus-whatsapp-float__icon { flex: 0 0 54px; width: 54px; height: 54px; }
.nodus-whatsapp-float__label { min-height: 42px; padding: 0 13px; font-size: 11px; }

@media (min-width: 768px) and (max-width: 1100px) {
    .footer-container { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 38px; }
    .footer-bottom-container { width: calc(100% - 50px); }
    .footer-legal { white-space: normal; }
}

/* MOBILE: show the photograph and move the hero copy up into view. */
@media (max-width: 767px) {
    .nodus-hero {
        position: relative;
        display: flex;
        align-items: center;
        min-height: 610px;
        height: auto;
        padding: 0;
        overflow: hidden;
        background: #0878C7;
        isolation: isolate;
    }
    .nodus-hero-background {
        display: block;
        position: absolute;
        inset: 0;
        z-index: -2;
        background-image: url('../images/hero-home.png');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: 65% center;
        opacity: 1;
        visibility: visible;
    }
    .nodus-hero-overlay {
        display: block;
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient(180deg,
            rgba(5,76,132,.18) 0%,
            rgba(5,76,132,.48) 35%,
            rgba(5,76,132,.82) 70%,
            rgba(5,76,132,.95) 100%);
    }
    .nodus-hero-container {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: center;
        width: 100%;
        max-width: none;
        min-height: 610px;
        margin: 0;
        padding: 58px 22px 80px;
        transform: none;
    }
    .nodus-hero-content {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
        transform: none;
    }
    .nodus-hero-eyebrow { margin-bottom: 20px; }
    .nodus-hero-title { margin: 0 0 20px; font-size: clamp(36px,9vw,52px); line-height: 1.1; letter-spacing: -.045em; }
    .nodus-hero-description { max-width: 540px; margin: 0; font-size: 14px; line-height: 1.75; }
    .nodus-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
    .nodus-hero-button { min-height: 48px; padding: 0 16px; font-size: 12px; }

    /* Brand full width, service links side by side, contact full width. */
    .footer-main { padding: 46px 0 39px; }
    .footer-container {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 32px 18px;
        width: calc(100% - 44px);
        max-width: none;
        margin: 0 auto;
        align-items: start;
    }
    .footer-brand {
        grid-column: 1 / -1;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin: 0;
        padding: 0;
    }
    .footer-brand .footer-logo-link {
        position: static;
        display: block;
        width: 190px !important;
        max-width: 100% !important;
        height: auto;
        margin: 0 0 8px !important;
        padding: 0;
        transform: none;
    }
    .footer-brand .footer-logo {
        width: 190px !important;
        max-width: 100% !important;
        max-height: none !important;
        height: auto !important;
    }
    .footer-brand .footer-description {
        max-width: 440px;
        margin: 0 0 14px !important;
        font-size: 13px;
        line-height: 1.75;
    }
    .footer-social-link { gap: 9px; font-size: 12px; }
    .footer-services, .footer-explore { grid-column: auto; min-width: 0; margin: 0; padding: 0; }
    .footer-heading { margin: 0 0 17px; font-size: 14px; line-height: 1.4; }
    .footer-menu { display: block; margin: 0; padding: 0; }
    .footer-menu li { margin: 0 0 13px; }
    .footer-menu a { font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
    .footer-contact {
        grid-column: 1 / -1;
        margin: 0;
        padding: 28px 0 0;
        border-top: 1px solid #e8edf2;
    }
    .footer-contact .footer-heading { margin-bottom: 13px; }
    .footer-phone-link { margin-bottom: 15px; font-size: 23px; line-height: 1.4; }
    .footer-contact p { max-width: 460px; margin: 0 0 18px; font-size: 13px; line-height: 1.75; }
    .footer-contact-button { min-height: 48px; margin: 0; padding: 12px 20px; font-size: 13px; }
    .footer-whatsapp-link { display: flex; align-items: center; width: fit-content; max-width: 100%; gap: 8px; margin-top: 15px; font-size: 12px; }
    .footer-whatsapp-arrow { width: 15px; height: 15px; }

    /* Bottom links wrap cleanly; no overlay with floating WhatsApp. */
    .footer-bottom-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 13px;
        width: calc(100% - 44px);
        max-width: none;
        min-height: 0;
        margin: 0 auto;
        padding: 24px 0 100px;
    }
    .footer-copyright, .footer-credit, .footer-legal {
        position: static;
        grid-column: auto;
        grid-row: auto;
        justify-self: auto;
        order: initial;
        margin: 0;
        padding: 0;
        transform: none;
    }
    .footer-copyright { order: 1; }
    .footer-legal {
        order: 2;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        width: 100%;
        max-width: none;
        gap: 10px 17px;
        white-space: normal;
    }
    .footer-credit { order: 3; display: flex; align-items: center; gap: 5px; white-space: nowrap; }
    .footer-copyright p, .footer-credit, .footer-credit a, .footer-legal a, .nodus-cookie-settings-link { font-size: 11px; line-height: 1.6; }
    .footer-credit a { margin-left: 0; }

    /* Smaller fixed WhatsApp control; text label hidden on mobile. */
    .nodus-whatsapp-float { right: 14px; bottom: max(18px,env(safe-area-inset-bottom)); gap: 0; }
    .nodus-whatsapp-float__label { display: none; }
    .nodus-whatsapp-float__icon { flex: 0 0 50px; width: 50px; height: 50px; }
    .nodus-whatsapp-float__icon svg { width: 26px; height: 26px; }
}

@media (max-width: 390px) {
    .nodus-hero-container { padding: 44px 20px 72px; }
    .nodus-hero-title { font-size: 35px; }
    .nodus-hero-button { padding: 0 12px; font-size: 11px; }
    .footer-container, .footer-bottom-container { width: calc(100% - 36px); }
    .footer-brand .footer-logo-link, .footer-brand .footer-logo { width: 175px !important; }
    .footer-menu a { font-size: 11.5px; }
}
/* Nodus Data — footer refinement (append last, or use full replacement CSS) */
.site-footer { background:#fff; }
.site-footer .footer-container { align-items:start; }
.site-footer .footer-brand { min-width:0; }
.site-footer .footer-brand .footer-logo-link { display:block; width:210px !important; max-width:100% !important; height:auto !important; margin:-12px 0 0 !important; padding:0 !important; transform:none !important; line-height:0; }
.site-footer .footer-brand .footer-logo { display:block; width:100% !important; max-width:100% !important; height:auto !important; max-height:none !important; object-fit:contain; object-position:left top; }
.site-footer .footer-brand .footer-description { margin:8px 0 15px !important; max-width:310px; }
.site-footer .footer-social-link { margin:0; }
.site-footer .footer-heading { margin-top:0; }
.site-footer .footer-bottom-container { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
.site-footer .footer-legal { justify-self:center; }
@media (max-width:767px) {
  .site-footer .footer-main { padding:38px 0 0 !important; }
  .site-footer .footer-container { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; column-gap:22px !important; row-gap:0 !important; width:calc(100% - 44px) !important; margin:0 auto !important; }
  .site-footer .footer-brand { grid-column:1 / -1 !important; display:flex !important; flex-direction:column !important; align-items:flex-start !important; padding:0 0 28px !important; margin:0 0 28px !important; border-bottom:1px solid #e7ebef; }
  .site-footer .footer-brand .footer-logo-link { width:195px !important; margin:-8px 0 0 !important; }
  .site-footer .footer-brand .footer-description { max-width:360px !important; margin:8px 0 15px !important; font-size:13px !important; line-height:1.7 !important; }
  .site-footer .footer-social-link { font-size:12px !important; }
  .site-footer .footer-services,.site-footer .footer-explore { grid-column:auto !important; min-width:0 !important; margin:0 !important; padding:0 0 27px !important; }
  .site-footer .footer-heading { margin:0 0 15px !important; font-size:14px !important; line-height:1.4 !important; }
  .site-footer .footer-menu { margin:0 !important; padding:0 !important; list-style:none !important; }
  .site-footer .footer-menu li { margin:0 0 12px !important; }
  .site-footer .footer-menu a { font-size:12px !important; line-height:1.55 !important; overflow-wrap:normal !important; }
  .site-footer .footer-contact { grid-column:1 / -1 !important; padding:26px 0 32px !important; margin:0 !important; border-top:1px solid #e7ebef !important; }
  .site-footer .footer-contact .footer-heading { margin-bottom:12px !important; }
  .site-footer .footer-phone-link { display:inline-block; font-size:23px !important; margin:0 0 10px !important; }
  .site-footer .footer-contact p { max-width:360px; margin:0 0 18px !important; font-size:13px !important; line-height:1.75 !important; }
  .site-footer .footer-contact-button { display:inline-flex !important; min-height:46px; margin:0 !important; padding:11px 18px !important; font-size:12px !important; }
  .site-footer .footer-whatsapp-link { display:flex; margin-top:14px !important; font-size:12px !important; }
  .site-footer .footer-bottom { border-top:1px solid #e7ebef; }
  .site-footer .footer-bottom-container { display:flex !important; flex-direction:column !important; align-items:flex-start !important; justify-content:flex-start !important; width:calc(100% - 44px) !important; min-height:0 !important; padding:22px 0 105px !important; gap:14px !important; }
  .site-footer .footer-copyright,.site-footer .footer-legal,.site-footer .footer-credit { position:static !important; grid-column:auto !important; grid-row:auto !important; margin:0 !important; padding:0 !important; transform:none !important; }
  .site-footer .footer-copyright { order:1; }
  .site-footer .footer-legal { order:2; display:flex !important; flex-wrap:wrap !important; justify-content:flex-start !important; gap:10px 17px !important; width:100% !important; white-space:normal !important; }
  .site-footer .footer-credit { order:3; display:flex !important; align-items:center !important; gap:5px !important; }
  .site-footer .footer-bottom a,.site-footer .footer-bottom p,.site-footer .footer-credit,.site-footer .nodus-cookie-settings-link { font-size:11px !important; line-height:1.6 !important; }
  .nodus-whatsapp-float { right:14px !important; bottom:max(16px,env(safe-area-inset-bottom)) !important; }
  .nodus-whatsapp-float__label { display:none !important; }
  .nodus-whatsapp-float__icon { width:50px !important; height:50px !important; flex-basis:50px !important; }
}


/* =========================================================
   NODUS DATA — FOOTER CONTACT COLUMN REFINEMENT
   Match the visual rhythm of Services and Explore
   ========================================================= */

@media (min-width: 768px) {

    /* Align contact column with the other footer columns */
    .footer-contact {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        padding: 0;
        margin: 0;
    }

    /* Match the headings across all three columns */
    .footer-contact .footer-heading {
        margin: 0 0 25px;
        font-size: 15px;
        font-weight: 800;
        line-height: 1.5;
        letter-spacing: -0.3px;
        color: #111820;
    }

    /* Reduce telephone prominence */
    .footer-contact-phone,
    .footer-contact .footer-phone,
    .footer-contact a[href^="tel:"] {
        display: inline-block;
        margin: 0 0 15px;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: 0;
        color: #111820;
    }

    /* Description matches middle-column text */
    .footer-contact p {
        max-width: 270px;
        margin: 0 0 18px;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.85;
        color: #53606D;
    }

    /* Smaller, more understated contact button */
    .footer-contact-button {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        min-height: 39px;
        margin: 0 0 15px;
        padding: 0 15px;
        border-radius: 5px;
        background: #168FE8;
        color: #ffffff;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.4;
        box-shadow: none;
    }

    .footer-contact-button:hover {
        background: #0878C7;
        color: #ffffff;
    }

    /* WhatsApp link matches other footer links */
    .footer-whatsapp-link {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        margin: 0;
        padding: 0;
        font-size: 12px;
        font-weight: 500;
        line-height: 1.6;
        color: #53606D;
    }

    .footer-whatsapp-link:hover {
        color: #168FE8;
    }

    .footer-whatsapp-link svg {
        width: 12px;
        height: 12px;
        flex-shrink: 0;
    }
}

/* =========================================================
   NODUS DATA — HOME NETWORKING PAGE
   Developed by AMB360

   Uses the existing homepage layout and design system.
   ========================================================= */


/* =========================================================
   01. NETWORKING HERO
   ========================================================= */

.nodus-networking-page
.nodus-networking-hero
.nodus-hero-background {

    background-image: url('../images/networking-hero.png');

    background-repeat: no-repeat;

    background-position: center center;

    background-size: cover;

}


/* =========================================================
   02. NETWORKING INSTALLATION SECTION
   ========================================================= */

.nodus-networking-page
.nodus-networking-installation::before {

    background-image: url('../images/networking-installation.png');

    background-repeat: no-repeat;

    background-position: center center;

    background-size: cover;

}


/* =========================================================
   03. MOBILE IMAGE POSITIONING
   ========================================================= */

@media (max-width: 767px) {

    .nodus-networking-page
    .nodus-networking-hero
    .nodus-hero-background {

        background-position: 58% center;

    }

    .nodus-networking-page
    .nodus-networking-installation::before {

        background-position: 62% center;

    }

}

/* =========================================================
   NODUS DATA — NETWORKING FINAL CTA
   ========================================================= */

.nodus-networking-cta {
    position: relative;
    width: 100%;
    padding: 110px 24px 115px;
    background: #168FE8;
    color: #ffffff;
    text-align: center;
    overflow: hidden;
}

.nodus-networking-cta__container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}

.nodus-networking-cta__content {
    max-width: 900px;
    margin: 0 auto;
}

.nodus-networking-cta__eyebrow {
    margin-bottom: 24px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.85);
}

.nodus-networking-cta h2 {
    margin: 0 0 28px;
    font-size: clamp(42px, 5vw, 76px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.055em;
    color: #ffffff;
}

.nodus-networking-cta h2 span {
    display: block;
    color: #c9edff;
}

.nodus-networking-cta p {
    max-width: 670px;
    margin: 0 auto 36px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.9);
}

.nodus-networking-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 52px;
    padding: 0 24px;
    background: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 5px;
    color: #111820;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.nodus-networking-cta__button:hover {
    background: #eaf7ff;
    color: #111820;
    transform: translateY(-2px);
}

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

@media (max-width: 767px) {

    .nodus-networking-cta {
        padding: 75px 22px 80px;
    }

    .nodus-networking-cta__eyebrow {
        margin-bottom: 20px;
        font-size: 10px;
    }

    .nodus-networking-cta h2 {
        margin-bottom: 24px;
        font-size: clamp(36px, 9vw, 48px);
        letter-spacing: -0.045em;
        line-height: 1.15;
    }

    .nodus-networking-cta p {
        margin-bottom: 30px;
        font-size: 13px;
        line-height: 1.85;
    }

    .nodus-networking-cta__button {
        min-height: 48px;
        padding: 0 20px;
    }
}

/* =========================================================
   NODUS DATA — STARLINK PAGE
   Developed by AMB360

   Uses the existing homepage design system.
   ========================================================= */


/* =========================================================
   01. STARLINK HERO
   ========================================================= */

.nodus-starlink-page
.nodus-starlink-hero
.nodus-hero-background {
    background-image: url('../images/starlink-hero.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}


/* =========================================================
   02. STARLINK INSTALLATION IMAGE
   ========================================================= */

.nodus-starlink-page
.nodus-starlink-installation::before {
    background-image: url('../images/starlink-installation.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}


/* =========================================================
   03. FINAL BLUE CTA
   ========================================================= */

.nodus-starlink-cta {
    position: relative;
    width: 100%;
    padding: 110px 24px 115px;
    background: #168FE8;
    color: #ffffff;
    text-align: center;
    overflow: hidden;
}

.nodus-starlink-cta__container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}

.nodus-starlink-cta__content {
    max-width: 900px;
    margin: 0 auto;
}

.nodus-starlink-cta__eyebrow {
    margin-bottom: 24px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.85);
}

.nodus-starlink-cta h2 {
    margin: 0 0 28px;
    font-size: clamp(42px, 5vw, 76px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.055em;
    color: #ffffff;
}

.nodus-starlink-cta h2 span {
    display: block;
    color: #c9edff;
}

.nodus-starlink-cta p {
    max-width: 670px;
    margin: 0 auto 36px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.9);
}

.nodus-starlink-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 52px;
    padding: 0 24px;
    background: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 5px;
    color: #111820;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.nodus-starlink-cta__button:hover {
    background: #eaf7ff;
    color: #111820;
    transform: translateY(-2px);
}


/* =========================================================
   04. TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .nodus-starlink-page
    .nodus-starlink-hero
    .nodus-hero-background {
        background-position: 55% center;
    }

    .nodus-starlink-page
    .nodus-starlink-installation::before {
        background-position: 58% center;
    }

}


/* =========================================================
   05. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    /* Hero image positioning */

    .nodus-starlink-page
    .nodus-starlink-hero
    .nodus-hero-background {
        background-position: 60% center;
    }

    /* Installation image positioning */

    .nodus-starlink-page
    .nodus-starlink-installation::before {
        background-position: 62% center;
    }

    /* Final CTA */

    .nodus-starlink-cta {
        padding: 75px 22px 80px;
    }

    .nodus-starlink-cta__eyebrow {
        margin-bottom: 20px;
        font-size: 10px;
    }

    .nodus-starlink-cta h2 {
        margin-bottom: 24px;
        font-size: clamp(36px, 9vw, 48px);
        letter-spacing: -0.045em;
        line-height: 1.15;
    }

    .nodus-starlink-cta p {
        margin-bottom: 30px;
        font-size: 13px;
        line-height: 1.85;
    }

    .nodus-starlink-cta__button {
        min-height: 48px;
        padding: 0 20px;
    }

}

/* =========================================================
   NODUS DATA — CCTV INSTALLATION PAGE
   Developed by AMB360

   Uses the existing homepage design system.
   ========================================================= */


/* =========================================================
   01. CCTV HERO IMAGE
   ========================================================= */

.nodus-cctv-page
.nodus-cctv-hero
.nodus-hero-background {
    background-image: url('../images/cctv-hero.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}


/* =========================================================
   02. CCTV INSTALLATION IMAGE
   ========================================================= */

.nodus-cctv-page
.nodus-cctv-installation::before {
    background-image: url('../images/cctv-installation.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}


/* =========================================================
   03. FINAL BLUE CTA
   ========================================================= */

.nodus-cctv-cta {
    position: relative;
    width: 100%;
    padding: 110px 24px 115px;
    background: #168FE8;
    color: #ffffff;
    text-align: center;
    overflow: hidden;
}

.nodus-cctv-cta__container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}

.nodus-cctv-cta__content {
    max-width: 900px;
    margin: 0 auto;
}

.nodus-cctv-cta__eyebrow {
    margin-bottom: 24px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.85);
}

.nodus-cctv-cta h2 {
    margin: 0 0 28px;
    font-size: clamp(42px, 5vw, 76px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.055em;
    color: #ffffff;
}

.nodus-cctv-cta h2 span {
    display: block;
    color: #c9edff;
}

.nodus-cctv-cta p {
    max-width: 670px;
    margin: 0 auto 36px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.9);
}

.nodus-cctv-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 52px;
    padding: 0 24px;
    background: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 5px;
    color: #111820;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.nodus-cctv-cta__button:hover {
    background: #eaf7ff;
    color: #111820;
    transform: translateY(-2px);
}


/* =========================================================
   04. TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .nodus-cctv-page
    .nodus-cctv-hero
    .nodus-hero-background {
        background-position: 55% center;
    }

    .nodus-cctv-page
    .nodus-cctv-installation::before {
        background-position: 58% center;
    }

}


/* =========================================================
   05. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    /* Hero image positioning */

    .nodus-cctv-page
    .nodus-cctv-hero
    .nodus-hero-background {
        background-position: 60% center;
    }

    /* Installation image positioning */

    .nodus-cctv-page
    .nodus-cctv-installation::before {
        background-position: 62% center;
    }

    /* Final CTA */

    .nodus-cctv-cta {
        padding: 75px 22px 80px;
    }

    .nodus-cctv-cta__eyebrow {
        margin-bottom: 20px;
        font-size: 10px;
    }

    .nodus-cctv-cta h2 {
        margin-bottom: 24px;
        font-size: clamp(36px, 9vw, 48px);
        letter-spacing: -0.045em;
        line-height: 1.15;
    }

    .nodus-cctv-cta p {
        margin-bottom: 30px;
        font-size: 13px;
        line-height: 1.85;
    }

    .nodus-cctv-cta__button {
        min-height: 48px;
        padding: 0 20px;
    }

}

/* =========================================================
   NODUS DATA — CCTV HERO IMAGE POSITION FIX
   ========================================================= */

@media (min-width: 1025px) {

    .nodus-cctv-page
    .nodus-cctv-hero
    .nodus-hero-background {
        background-position: center 32%;
    }

}

/* Tablet */

@media (min-width: 768px) and (max-width: 1024px) {

    .nodus-cctv-page
    .nodus-cctv-hero
    .nodus-hero-background {
        background-position: 55% 35%;
    }

}

/* Mobile */

@media (max-width: 767px) {

    .nodus-cctv-page
    .nodus-cctv-hero
    .nodus-hero-background {
        background-position: 65% 40%;
    }

}

/* =========================================================
   NODUS DATA — ABOUT PAGE
   Developed by AMB360
   ========================================================= */


/* =========================================================
   01. ABOUT HERO IMAGE
   ========================================================= */

.nodus-about-page
.nodus-about-hero
.nodus-hero-background {
    background-image: url('../images/about-hero.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}


/* =========================================================
   02. WHY CHOOSE NODUS DATA IMAGE
   ========================================================= */

.nodus-about-page
.nodus-about-why::before {
    background-image: url('../images/nodus-why-choose-us.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}


/* =========================================================
   03. FINAL BLUE CTA
   ========================================================= */

.nodus-about-cta {
    position: relative;
    width: 100%;
    padding: 110px 24px 115px;
    background: #168FE8;
    color: #ffffff;
    text-align: center;
    overflow: hidden;
}

.nodus-about-cta__container {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}

.nodus-about-cta__content {
    max-width: 900px;
    margin: 0 auto;
}

.nodus-about-cta__eyebrow {
    margin-bottom: 24px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.85);
}

.nodus-about-cta h2 {
    margin: 0 0 28px;
    font-size: clamp(42px, 5vw, 76px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.055em;
    color: #ffffff;
}

.nodus-about-cta h2 span {
    display: block;
    color: #c9edff;
}

.nodus-about-cta p {
    max-width: 670px;
    margin: 0 auto 36px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.9);
}

.nodus-about-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 52px;
    padding: 0 24px;
    background: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 5px;
    color: #111820;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.nodus-about-cta__button:hover {
    background: #eaf7ff;
    color: #111820;
    transform: translateY(-2px);
}


/* =========================================================
   04. TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .nodus-about-page
    .nodus-about-hero
    .nodus-hero-background {
        background-position: 55% center;
    }

    .nodus-about-page
    .nodus-about-why::before {
        background-position: 58% center;
    }

}


/* =========================================================
   05. MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .nodus-about-page
    .nodus-about-hero
    .nodus-hero-background {
        background-position: 60% center;
    }

    .nodus-about-page
    .nodus-about-why::before {
        background-position: 62% center;
    }

    .nodus-about-cta {
        padding: 75px 22px 80px;
    }

    .nodus-about-cta__eyebrow {
        margin-bottom: 20px;
        font-size: 10px;
    }

    .nodus-about-cta h2 {
        margin-bottom: 24px;
        font-size: clamp(36px, 9vw, 48px);
        letter-spacing: -0.045em;
        line-height: 1.15;
    }

    .nodus-about-cta p {
        margin-bottom: 30px;
        font-size: 13px;
        line-height: 1.85;
    }

    .nodus-about-cta__button {
        min-height: 48px;
        padding: 0 20px;
    }

}

/* =========================================================
   NODUS DATA — CONTACT PAGE
   ========================================================= */

/* HERO */

.nodus-contact-page
.nodus-contact-hero
.nodus-hero-background {
    background-image: url('../images/about-hero.png');
    background-position: center;
    background-size: cover;
}


/* BOOKING SECTION */

.nodus-contact-book {
    padding: 110px 24px;
    background: #f6f9fc;
}

.nodus-contact-book__container {
    max-width: 1320px;
    margin: auto;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(45px, 6vw, 110px);
    align-items: start;
}

.nodus-contact-eyebrow {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    color: #168fe8;
    margin-bottom: 22px;
}

.nodus-contact-book__intro h2 {
    font-size: clamp(36px, 4vw, 62px);
    line-height: 1.12;
    letter-spacing: -.055em;
    color: #111820;
    margin: 0 0 26px;
    font-weight: 800;
}

.nodus-contact-book__intro h2 span {
    display: block;
    color: #168fe8;
}

.nodus-contact-book__intro > p {
    font-size: 15px;
    line-height: 1.9;
    color: #586675;
    max-width: 520px;
    margin: 0 0 42px;
}


/* CONTACT DETAILS */

.nodus-contact-details {
    border-top: 1px solid #dce5ec;
    max-width: 480px;
}

.nodus-contact-details > div {
    padding: 20px 0;
    border-bottom: 1px solid #dce5ec;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.nodus-contact-details strong {
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #111820;
}

.nodus-contact-details a,
.nodus-contact-details span {
    font-size: 15px;
    color: #4b5d6d;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.nodus-contact-details a:hover {
    color: #168fe8;
}


/* FORM CARD */

.nodus-contact-form-card {
    background: #fff;
    border: 1px solid #e3ebf1;
    border-radius: 12px;
    padding: clamp(24px, 3vw, 44px);
    box-shadow: 0 18px 55px rgba(17, 24, 32, .06);
}

.nodus-contact-form-card__head > span {
    display: block;
    color: #168fe8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    margin-bottom: 13px;
}

.nodus-contact-form-card__head h3 {
    font-size: clamp(24px, 2.3vw, 34px);
    letter-spacing: -.04em;
    line-height: 1.2;
    color: #111820;
    margin: 0 0 8px;
    font-weight: 800;
}

.nodus-contact-form-card__head p {
    font-size: 13px;
    color: #6b7885;
    margin: 0 0 30px;
}


/* FORM GRID */

.nodus-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.nodus-field {
    min-width: 0;
}

.nodus-field--full {
    grid-column: 1 / -1;
}

.nodus-field label {
    display: block;
    font-size: 12px;
    font-weight: 750;
    color: #111820;
    margin: 0 0 9px;
}

.nodus-field label span,
.nodus-consent strong {
    color: #168fe8;
}

.nodus-field input,
.nodus-field select,
.nodus-field textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid #dbe4ec;
    background: #fff;
    border-radius: 5px;
    padding: 14px 13px;
    font: inherit;
    font-size: 14px;
    line-height: 1.5;
    color: #111820;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}

.nodus-field input,
.nodus-field select {
    min-height: 50px;
}

.nodus-field textarea {
    resize: vertical;
    min-height: 125px;
}

.nodus-field input:focus,
.nodus-field select:focus,
.nodus-field textarea:focus {
    border-color: #168fe8;
    box-shadow: 0 0 0 3px rgba(22, 143, 232, .12);
}

.nodus-field textarea::placeholder {
    color: #99a6b1;
}


/* SPAM PROTECTION */

.nodus-form-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}


/* CONSENT */

.nodus-consent {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin: 24px 0;
    font-size: 12px;
    line-height: 1.7;
    color: #586675;
    cursor: pointer;
}

.nodus-consent input {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    margin: 2px 0 0;
    accent-color: #168fe8;
}


/* SUBMIT BUTTON */

.nodus-form-submit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    width: 100%;
    min-height: 54px;
    border: 0;
    border-radius: 5px;
    padding: 0 20px;
    background: #168fe8;
    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s;
}

.nodus-form-submit:hover {
    background: #0878c7;
}

.nodus-form-submit:disabled {
    opacity: .65;
    cursor: wait;
}

.nodus-form-footnote {
    font-size: 11px;
    line-height: 1.6;
    color: #778592;
    margin: 14px 0 0;
}


/* SUCCESS AND ERROR MESSAGES */

.nodus-form-status {
    padding: 14px 16px;
    border-radius: 5px;
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.6;
}

.nodus-form-status--success {
    background: #eaf8ef;
    color: #17613a;
}

.nodus-form-status--error {
    background: #fff0f0;
    color: #922d2d;
}


/* FINAL CTA */

.nodus-contact-cta {
    padding: 110px 24px 115px;
    background: #168fe8;
    color: #fff;
    text-align: center;
}

.nodus-contact-cta__container {
    max-width: 900px;
    margin: auto;
}

.nodus-contact-cta__eyebrow {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    color: rgba(255, 255, 255, .85);
    margin-bottom: 24px;
}

.nodus-contact-cta h2 {
    font-size: clamp(42px, 5vw, 76px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.055em;
    color: #fff;
    margin: 0 0 28px;
}

.nodus-contact-cta h2 span {
    display: block;
    color: #c9edff;
}

.nodus-contact-cta p {
    font-size: 15px;
    line-height: 1.9;
    max-width: 670px;
    margin: 0 auto 36px;
    color: rgba(255, 255, 255, .9);
}

.nodus-contact-cta__actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.nodus-contact-cta__actions a {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    min-height: 52px;
    padding: 0 24px;
    border-radius: 5px;
    background: #fff;
    color: #111820;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.nodus-contact-cta__actions a:nth-child(2) {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .7);
}

.nodus-contact-cta__actions a:hover {
    opacity: .85;
}


/* TABLET */

@media (max-width: 900px) {

    .nodus-contact-book__container {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .nodus-contact-book__intro > p,
    .nodus-contact-details {
        max-width: none;
    }

}


/* MOBILE */

@media (max-width: 767px) {

    .nodus-contact-page
    .nodus-contact-hero
    .nodus-hero-background {
        background-position: 60% center;
    }

    .nodus-contact-book {
        padding: 70px 20px;
    }

    .nodus-contact-form-card {
        padding: 24px 18px;
    }

    .nodus-form-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .nodus-contact-cta {
        padding: 75px 22px 80px;
    }

    .nodus-contact-cta h2 {
        font-size: clamp(36px, 9vw, 48px);
    }

    .nodus-contact-cta p {
        font-size: 13px;
    }

    .nodus-contact-cta__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .nodus-contact-cta__actions a {
        justify-content: space-between;
    }

}

/* ==========================================
   NODUS DATA — FOOTER ALIGNMENT FIX
   ========================================== */

/* Align all four footer columns from the top */

.site-footer .footer-container {
    align-items: start !important;
}

.site-footer .footer-column {
    align-self: start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove unwanted spacing above logo */

.site-footer .footer-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

.site-footer .footer-logo-link {
    display: block;
    width: 190px;
    height: 35px;
    margin: 0 0 24px !important;
    padding: 0 !important;
    overflow: visible;
}

/* Position actual SVG artwork against column headings */

.site-footer .footer-logo {
    display: block;
    width: 190px !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-38%);
    transform-origin: top left;
}

/* Keep footer headings consistently aligned */

.site-footer .footer-heading {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Mobile */

@media (max-width: 767px) {

    .site-footer .footer-logo-link {
        width: 175px;
        height: 35px;
        margin-bottom: 24px !important;
    }

    .site-footer .footer-logo {
        width: 175px !important;
        transform: translateY(-38%);
    }

}

/* =========================================================
   NODUS DATA — PRIVACY POLICY
   ========================================================= */

.nodus-privacy-page {
    background: #fff;
    color: #111820;
}

/* HERO */

.nodus-privacy-hero {
    background: linear-gradient(
        120deg,
        #07538f 0%,
        #0879c7 52%,
        #168fe8 100%
    );
    padding: 125px 24px 115px;
    color: #fff;
}

.nodus-privacy-hero__container {
    max-width: 1320px;
    margin: 0 auto;
}

.nodus-privacy-eyebrow {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    margin-bottom: 25px;
    color: #c9edff;
}

.nodus-privacy-hero h1 {
    font-size: clamp(48px, 6vw, 86px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.055em;
    margin: 0 0 30px;
    color: #fff;
}

.nodus-privacy-hero h1 span {
    display: block;
    color: #c9edff;
}

.nodus-privacy-hero p {
    max-width: 700px;
    font-size: 16px;
    line-height: 1.9;
    color: rgba(255,255,255,.88);
    margin: 0 0 30px;
}

.nodus-privacy-updated {
    font-size: 12px;
    color: rgba(255,255,255,.75);
}

/* MAIN LAYOUT */

.nodus-privacy-content {
    padding: 100px 24px 120px;
}

.nodus-privacy-container {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 100px;
    align-items: start;
}

/* SIDEBAR */

.nodus-privacy-sidebar {
    position: sticky;
    top: 120px;
    padding: 28px;
    background: #f6f9fc;
    border: 1px solid #e7edf2;
    border-radius: 8px;
}

.nodus-privacy-sidebar h2 {
    font-size: 14px;
    font-weight: 800;
    margin: 0 0 24px;
    color: #111820;
}

.nodus-privacy-sidebar nav {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.nodus-privacy-sidebar a {
    font-size: 12px;
    line-height: 1.5;
    color: #627180;
    text-decoration: none;
    transition: color .2s;
}

.nodus-privacy-sidebar a:hover {
    color: #168fe8;
}

/* POLICY CONTENT */

.nodus-privacy-article {
    max-width: 850px;
    min-width: 0;
}

.nodus-privacy-article section {
    margin-bottom: 55px;
    padding-bottom: 55px;
    border-bottom: 1px solid #e7edf2;
    scroll-margin-top: 120px;
}

.nodus-privacy-article section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.nodus-privacy-article h2 {
    font-size: clamp(25px, 2.5vw, 34px);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.25;
    color: #111820;
    margin: 0 0 25px;
}

.nodus-privacy-article p {
    font-size: 15px;
    line-height: 1.95;
    color: #586675;
    margin: 0 0 20px;
}

.nodus-privacy-article p:last-child {
    margin-bottom: 0;
}

.nodus-privacy-article a {
    color: #168fe8;
    text-decoration: none;
}

.nodus-privacy-article a:hover {
    text-decoration: underline;
}

.nodus-privacy-article strong {
    color: #111820;
    font-weight: 750;
}

/* CONTACT CARD */

.nodus-privacy-contact-card {
    background: #f6f9fc;
    border: 1px solid #e7edf2;
    border-radius: 8px;
    padding: 35px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.nodus-privacy-contact-card h3 {
    font-size: 23px;
    font-weight: 800;
    color: #111820;
    margin: 0;
}

.nodus-privacy-contact-card p {
    margin: 0 0 10px;
}

.nodus-privacy-contact-button {
    display: inline-flex;
    align-items: center;
    gap: 28px;
    background: #168fe8;
    color: #fff !important;
    border-radius: 5px;
    padding: 15px 22px;
    font-size: 12px;
    font-weight: 800;
    margin-top: 15px;
    text-decoration: none !important;
}

/* TABLET */

@media (max-width: 1024px) {

    .nodus-privacy-container {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 45px;
    }

}

/* MOBILE */

@media (max-width: 767px) {

    .nodus-privacy-hero {
        padding: 85px 22px 90px;
    }

    .nodus-privacy-hero h1 {
        font-size: clamp(42px, 10vw, 56px);
    }

    .nodus-privacy-hero p {
        font-size: 14px;
    }

    .nodus-privacy-content {
        padding: 65px 22px 85px;
    }

    .nodus-privacy-container {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .nodus-privacy-sidebar {
        position: static;
        padding: 24px;
    }

    .nodus-privacy-sidebar nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .nodus-privacy-article section {
        margin-bottom: 40px;
        padding-bottom: 40px;
    }

    .nodus-privacy-article h2 {
        font-size: 26px;
    }

    .nodus-privacy-article p {
        font-size: 14px;
        line-height: 1.85;
    }

    .nodus-privacy-contact-card {
        padding: 25px;
    }

}

@media (max-width: 390px) {

    .nodus-privacy-sidebar nav {
        grid-template-columns: 1fr;
    }

}