/* Paleta global NX: altere a cor principal e seus tons neste bloco. */
:root {
    --nx-primary: #17A2B8;
    --nx-primary-hover: #117A8B;
    --nx-ink: #12343B;
    --nx-dark: #0B3440;
    --nx-deep: #06242D;
    --nx-dark-accent: #125665;
    --nx-light: #8AD8E4;
    --nx-muted: #57747A;
    --nx-on-dark: #B4D6DC;
    --nx-border: #D4E9ED;
    --nx-surface: #EFF8FA;
}

/* NX Sistemas — estilos locais da página, preservando as medidas da referência. */

@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/roboto.woff2") format("woff2");
   
}
@font-face {
    font-family: "Roboto Condensed";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/roboto-condensed.woff2") format("woff2");
   
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/inter.woff2") format("woff2");
   
}

/* Base do documento */
:root {
    --wp-block-synced-color: var(--nx-primary);
    --wp-block-synced-color--rgb: 122,0,223;
    --wp-bound-block-color: var(--wp-block-synced-color);
    --wp-editor-canvas-background: #ddd;
    --wp-admin-theme-color: var(--nx-primary);
    --wp-admin-theme-color--rgb: 0,124,186;
    --wp-admin-theme-color-darker-10: var(--nx-primary-hover);
    --wp-admin-theme-color-darker-10--rgb: 0,107,160.5;
    --wp-admin-theme-color-darker-20: var(--nx-primary-hover);
    --wp-admin-theme-color-darker-20--rgb: 0,90,135;
    --wp-admin-border-width-focus: 2px;
   
}
@media (min-resolution: 192dpi) {
:root {
    --wp-admin-border-width-focus: 1.5px;
   
}
}
:root {
    --wp--preset--font-size--normal: 16px;
    --wp--preset--font-size--huge: 42px;
   
}
html :where(img[class*="wp-image-"]) {
    height: auto;
    max-width: 100%;
   
}

/* Base do documento */
:root {
    --wp--preset--aspect-ratio--square: 1;
    --wp--preset--aspect-ratio--4-3: 4/3;
    --wp--preset--aspect-ratio--3-4: 3/4;
    --wp--preset--aspect-ratio--3-2: 3/2;
    --wp--preset--aspect-ratio--2-3: 2/3;
    --wp--preset--aspect-ratio--16-9: 16/9;
    --wp--preset--aspect-ratio--9-16: 9/16;
    --wp--preset--color--black: #000000;
    --wp--preset--color--cyan-bluish-gray: var(--nx-light);
    --wp--preset--color--white: #ffffff;
    --wp--preset--color--pale-pink: var(--nx-border);
    --wp--preset--color--vivid-red: var(--nx-primary);
    --wp--preset--color--luminous-vivid-orange: var(--nx-primary);
    --wp--preset--color--luminous-vivid-amber: var(--nx-primary);
    --wp--preset--color--light-green-cyan: var(--nx-light);
    --wp--preset--color--vivid-green-cyan: var(--nx-primary);
    --wp--preset--color--pale-cyan-blue: var(--nx-border);
    --wp--preset--color--vivid-cyan-blue: var(--nx-primary);
    --wp--preset--color--vivid-purple: var(--nx-primary);
    --wp--preset--color--base: #f9f9f9;
    --wp--preset--color--base-2: #ffffff;
    --wp--preset--color--contrast: #111111;
    --wp--preset--color--contrast-2: #636363;
    --wp--preset--color--contrast-3: #A4A4A4;
    --wp--preset--color--accent: var(--nx-border);
    --wp--preset--color--accent-2: var(--nx-light);
    --wp--preset--color--accent-3: var(--nx-primary);
    --wp--preset--color--accent-4: var(--nx-light);
    --wp--preset--color--accent-5: #b5bdbc;
    --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,var(--nx-primary) 0%,var(--nx-primary) 100%);
    --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,var(--nx-light) 0%,var(--nx-primary) 100%);
    --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,var(--nx-primary) 0%,var(--nx-primary) 100%);
    --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,var(--nx-primary) 0%,var(--nx-primary) 100%);
    --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,#eeeeee 0%,var(--nx-light) 100%);
    --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,var(--nx-light) 0%,var(--nx-light) 20%,var(--nx-primary) 40%,var(--nx-primary) 60%,var(--nx-light) 80%,var(--nx-light) 100%);
    --wp--preset--gradient--blush-light-purple: linear-gradient(135deg,var(--nx-surface) 0%,var(--nx-border) 100%);
    --wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,var(--nx-border) 0%,var(--nx-primary) 50%,var(--nx-dark) 100%);
    --wp--preset--gradient--luminous-dusk: linear-gradient(135deg,var(--nx-light) 0%,var(--nx-primary) 50%,var(--nx-primary) 100%);
    --wp--preset--gradient--pale-ocean: linear-gradient(135deg,var(--nx-surface) 0%,var(--nx-border) 50%,var(--nx-primary) 100%);
    --wp--preset--gradient--electric-grass: linear-gradient(135deg,var(--nx-border) 0%,var(--nx-light) 100%);
    --wp--preset--gradient--midnight: linear-gradient(135deg,var(--nx-primary-hover) 0%,var(--nx-primary) 100%);
    --wp--preset--gradient--gradient-1: linear-gradient(to bottom, var(--nx-border) 0%, #F9F9F9 100%);
    --wp--preset--gradient--gradient-2: linear-gradient(to bottom, var(--nx-light) 0%, #F9F9F9 100%);
    --wp--preset--gradient--gradient-3: linear-gradient(to bottom, var(--nx-primary) 0%, #F9F9F9 100%);
    --wp--preset--gradient--gradient-4: linear-gradient(to bottom, var(--nx-light) 0%, #F9F9F9 100%);
    --wp--preset--gradient--gradient-5: linear-gradient(to bottom, #B5BDBC 0%, #F9F9F9 100%);
    --wp--preset--gradient--gradient-6: linear-gradient(to bottom, #A4A4A4 0%, #F9F9F9 100%);
    --wp--preset--gradient--gradient-7: linear-gradient(to bottom, var(--nx-border) 50%, #F9F9F9 50%);
    --wp--preset--gradient--gradient-8: linear-gradient(to bottom, var(--nx-light) 50%, #F9F9F9 50%);
    --wp--preset--gradient--gradient-9: linear-gradient(to bottom, var(--nx-primary) 50%, #F9F9F9 50%);
    --wp--preset--gradient--gradient-10: linear-gradient(to bottom, var(--nx-light) 50%, #F9F9F9 50%);
    --wp--preset--gradient--gradient-11: linear-gradient(to bottom, #B5BDBC 50%, #F9F9F9 50%);
    --wp--preset--gradient--gradient-12: linear-gradient(to bottom, #A4A4A4 50%, #F9F9F9 50%);
    --wp--preset--font-size--small: 0.9rem;
    --wp--preset--font-size--medium: 1.05rem;
    --wp--preset--font-size--large: clamp(1.39rem, 1.39rem + ((1vw - 0.2rem) * 0.767), 1.85rem);
    --wp--preset--font-size--x-large: clamp(1.85rem, 1.85rem + ((1vw - 0.2rem) * 1.083), 2.5rem);
    --wp--preset--font-size--xx-large: clamp(2.5rem, 2.5rem + ((1vw - 0.2rem) * 1.283), 3.27rem);
    --wp--preset--font-family--body: "Inter", sans-serif;
    --wp--preset--font-family--heading: Cardo;
    --wp--preset--font-family--system-sans-serif: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
    --wp--preset--font-family--system-serif: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
    --wp--preset--spacing--20: min(1.5rem, 2vw);
    --wp--preset--spacing--30: min(2.5rem, 3vw);
    --wp--preset--spacing--40: min(4rem, 5vw);
    --wp--preset--spacing--50: min(6.5rem, 8vw);
    --wp--preset--spacing--60: min(10.5rem, 13vw);
    --wp--preset--spacing--70: 3.38rem;
    --wp--preset--spacing--80: 5.06rem;
    --wp--preset--spacing--10: 1rem;
    --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
    --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--outlined: 6px 6px 0px -3px #ffffff, 6px 6px #000000;
    --wp--preset--shadow--crisp: 6px 6px 0px #000000;
   
}
:root {
    --wp--style--global--content-size: 620px;
    --wp--style--global--wide-size: 1280px;
   
}
:where(body) {
    margin: 0px;
   
}
:root {
    --wp--style--block-gap: 1.2rem;
   
}
body {
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--contrast);
    font-family: var(--wp--preset--font-family--body);
    font-size: var(--wp--preset--font-size--medium);
    font-style: normal;
    font-weight: 400;
    line-height: 1.55;
    --wp--style--root--padding-top: 0px;
    --wp--style--root--padding-right: var(--wp--preset--spacing--50);
    --wp--style--root--padding-bottom: 0px;
    --wp--style--root--padding-left: var(--wp--preset--spacing--50);
   
}
a:where(:not(.wp-element-button)) {
    color: var(--wp--preset--color--contrast);
   
}
:root :where(a:where(:not(.wp-element-button)):hover) {
    text-decoration: none;
   
}
h1, h2, h3, h4, h5, h6 {
    color: var(--wp--preset--color--contrast);
    font-family: var(--wp--preset--font-family--heading);
    font-weight: 400;
    line-height: 1.2;
   
}
h2 {
    font-size: var(--wp--preset--font-size--x-large);
   
}

/* Layout e componentes */
.nx-screen-only, .screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0px;
    position: absolute;
    top: -10000em;
    width: 1px;
    clip: rect(0px, 0px, 0px, 0px);
    border: 0px;
   
}
.nx *, .nx ::after, .nx ::before {
    box-sizing: border-box;
   
}
.nx a {
    box-shadow: none;
    text-decoration: none;
   
}
.nx hr {
    background-color: transparent;
    margin: 0px;
   
}
.nx img {
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    border-radius: 0px;
    box-shadow: none;
    height: auto;
    max-width: 100%;
   
}
.nx embed, .nx iframe, .nx object, .nx video {
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    line-height: 1;
    margin: 0px;
    max-width: 100%;
    width: 100%;
   
}
.nx-element {
    --flex-direction: initial;
    --flex-wrap: initial;
    --justify-content: initial;
    --align-items: initial;
    --align-content: initial;
    --gap: initial;
    --flex-basis: initial;
    --flex-grow: initial;
    --flex-shrink: initial;
    --order: initial;
    --align-self: initial;
    align-self: var(--align-self);
    flex-basis: var(--flex-basis);
    flex-grow: var(--flex-grow);
    flex-shrink: var(--flex-shrink);
    order: var(--order);
   
}
.nx-element:where(.layout-full, .nx-widget) {
    align-content: var(--align-content);
    align-items: var(--align-items);
    flex-direction: var(--flex-direction);
    flex-wrap: var(--flex-wrap);
    gap: var(--row-gap) var(--column-gap);
    justify-content: var(--justify-content);
   
}
.nx-align-center {
    text-align: center;
   
}
.nx-align-center .nx-button, .nx-align-left .nx-button, .nx-align-right .nx-button {
    width: auto;
   
}
:root {
    --page-title-display: block;
   
}
.nx-widget {
    position: relative;
   
}
.nx-widget:not(:last-child) {
    margin-bottom: var(--kit-widget-spacing,20px);
   
}
@media (min-width: 1025px) {
#nx-device-mode::after {
    content: "desktop";
   
}
}
@media (min-width:-1) {
#nx-device-mode::after {
    content: "widescreen";
   
}
}
@media (max-width:-1) {
#nx-device-mode::after {
    content: "tablet_extra";
   
}
}
@media (max-width: 1024px) {
#nx-device-mode::after {
    content: "tablet";
   
}
}
@media (max-width:-1) {
#nx-device-mode::after {
    content: "mobile_extra";
   
}
}
@media (max-width: 767px) {
#nx-device-mode::after {
    content: "mobile";
   
}
}
@media (prefers-reduced-motion: no-preference) {
html {
    scroll-behavior: smooth;
   
}
}
.layout {
    --border-radius: 0;
    --border-top-width: 0px;
    --border-right-width: 0px;
    --border-bottom-width: 0px;
    --border-left-width: 0px;
    --border-style: initial;
    --border-color: initial;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --content-width: min(100%,var(--container-max-width,1140px));
    --width: 100%;
    --min-height: initial;
    --height: auto;
    --text-align: initial;
    --margin-top: 0px;
    --margin-right: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --padding-top: var(--container-default-padding-top,10px);
    --padding-right: var(--container-default-padding-right,10px);
    --padding-bottom: var(--container-default-padding-bottom,10px);
    --padding-left: var(--container-default-padding-left,10px);
    --position: relative;
    --z-index: revert;
    --overflow: visible;
    --gap: var(--widgets-spacing,20px);
    --row-gap: var(--widgets-spacing-row,20px);
    --column-gap: var(--widgets-spacing-column,20px);
    --overlay-mix-blend-mode: initial;
    --overlay-opacity: 1;
    --overlay-transition: 0.3s;
    --layout-grid-template-columns: repeat(3,1fr);
    --layout-grid-template-rows: repeat(2,1fr);
    border-radius: var(--border-radius);
    height: var(--height);
    min-height: var(--min-height);
    min-width: 0px;
    overflow: var(--overflow);
    position: var(--position);
    width: var(--width);
    z-index: var(--z-index);
    --flex-wrap-mobile: wrap;
    margin-block-end: var(--margin-block-end);
    margin-block-start: var(--margin-block-start);
    margin-inline-end: var(--margin-inline-end);
    margin-inline-start: var(--margin-inline-start);
    padding-inline-end: var(--padding-inline-end);
    padding-inline-start: var(--padding-inline-start);
   
}
.layout:not(.e-div-block-base) {
    transition: background var(--background-transition,.3s),border var(--border-transition,.3s),box-shadow var(--border-transition,.3s),transform var(--layout-transform-transition-duration,.4s);
   
}
.layout {
    --margin-block-start: var(--margin-top);
    --margin-block-end: var(--margin-bottom);
    --margin-inline-start: var(--margin-left);
    --margin-inline-end: var(--margin-right);
    --padding-inline-start: var(--padding-left);
    --padding-inline-end: var(--padding-right);
    --padding-block-start: var(--padding-top);
    --padding-block-end: var(--padding-bottom);
    --border-block-start-width: var(--border-top-width);
    --border-block-end-width: var(--border-bottom-width);
    --border-inline-start-width: var(--border-left-width);
    --border-inline-end-width: var(--border-right-width);
   
}
.layout.e-flex {
    --flex-direction: column;
    --flex-basis: auto;
    --flex-grow: 0;
    --flex-shrink: 1;
    flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis);
   
}
.layout-full, .layout > .layout-inner {
    padding-block-end: var(--padding-block-end);
    padding-block-start: var(--padding-block-start);
    text-align: var(--text-align);
   
}
.layout-full.e-flex, .layout.e-flex > .layout-inner {
    flex-direction: var(--flex-direction);
   
}
.layout, .layout > .layout-inner {
    display: var(--display);
   
}
.layout.e-grid {
    --grid-justify-content: start;
    --grid-align-content: start;
    --grid-auto-flow: row;
   
}
.layout.e-grid, .layout.e-grid > .layout-inner {
    align-content: var(--grid-align-content);
    align-items: var(--align-items);
    grid-auto-flow: var(--grid-auto-flow);
    grid-template-columns: var(--layout-grid-template-columns);
    grid-template-rows: var(--layout-grid-template-rows);
    justify-content: var(--grid-justify-content);
    justify-items: var(--justify-items);
   
}
.layout-boxed.e-flex {
    placlayouttent: normal;
    align-items: normal;
    flex-flow: column;
   
}
.layout-boxed {
    gap: initial;
    text-align: initial;
   
}
.layout.e-flex > .layout-inner {
    align-content: var(--align-content);
    align-items: var(--align-items);
    align-self: auto;
    flex: 1 1 auto;
    flex-wrap: var(--flex-wrap);
    justify-content: var(--justify-content);
   
}
.layout > .layout-inner {
    gap: var(--row-gap) var(--column-gap);
    height: 100%;
    margin: 0px auto;
    max-width: var(--content-width);
    padding-inline: 0px;
    width: 100%;
   
}
:is(.nx-section-wrap, [data-nx-id]) > .layout {
    --margin-left: auto;
    --margin-right: auto;
    max-width: min(100%,var(--width));
   
}
.layout .nx-widget.nx-widget {
    margin-block-end: 0px;
   
}
.layout::before, .layout > .nx-background-slideshow::before, .layout > .nx-motion-effects-container > .nx-motion-effects-layer::before, :is(.layout, .layout > .layout-inner) > .nx-background-video-container::before {
    border-block-end-width: var(--border-block-end-width);
    border-block-start-width: var(--border-block-start-width);
    border-color: var(--border-color);
    border-inline-end-width: var(--border-inline-end-width);
    border-inline-start-width: var(--border-inline-start-width);
    border-radius: var(--border-radius);
    border-style: var(--border-style);
    content: var(--background-overlay);
    display: block;
    height: max(100% + var(--border-top-width) + var(--border-bottom-width),100%);
    left: calc(0px - var(--border-left-width));
    mix-blend-mode: var(--overlay-mix-blend-mode);
    opacity: var(--overlay-opacity);
    position: absolute;
    top: calc(0px - var(--border-top-width));
    transition: var(--overlay-transition,.3s);
    width: max(100% + var(--border-left-width) + var(--border-right-width),100%);
   
}
.layout::before {
    transition: background var(--overlay-transition,.3s),border-radius var(--border-transition,.3s),opacity var(--overlay-transition,.3s);
   
}
.layout .nx-widget {
    min-width: 0px;
   
}
.layout .nx-widget-empty, .layout .nx-widget-google_maps, .layout .nx-widget-video, .layout .nx-widget.e-widget-swiper {
    width: 100%;
   
}
.layout > .layout-inner > .nx-widget > .nx-widget-container, .layout > .nx-widget > .nx-widget-container {
    height: 100%;
   
}
.layout.layout > .layout-inner > .nx-widget, .nx.nx .layout > .nx-widget {
    max-width: 100%;
   
}
.layout .nx-widget:not(:last-child) {
    --kit-widget-spacing: 0px;
   
}
@media (max-width: 767px) {
.layout.e-flex {
    --width: 100%;
    --flex-wrap: var(--flex-wrap-mobile);
   
}
}
.nx-element:not(.e-div-block-base) .nx-widget-container, .nx-element:not(.e-div-block-base):not(:has(.nx-widget-container)) {
    transition: background .3s,border .3s,border-radius .3s,box-shadow .3s,transform var(--e-transform-transition-duration,.4s);
   
}
.nx-heading-title {
    line-height: 1;
    margin: 0px;
    padding: 0px;
   
}
.nx-button {
    background-color: var(--nx-primary);
    border-radius: 3px;
    color: #ffffff;
    display: inline-block;
    font-size: 15px;
    line-height: 1;
    padding: 12px 24px;
    fill: #ffffff;
    text-align: center;
    transition: 0.3s;
   
}
.nx-button:focus, .nx-button:hover, .nx-button:visited {
    color: #ffffff;
   
}
.nx-button-content-wrapper {
    display: flex;
    flex-direction: row;
    gap: 5px;
    justify-content: center;
   
}
.nx-button-icon {
    align-items: center;
    display: flex;
   
}
.nx-button-icon svg {
    height: auto;
    width: 1em;
   
}
.nx-button-icon .e-font-icon-svg {
    height: 1em;
   
}
.nx-button-text {
    display: inline-block;
   
}
.nx-button span {
    text-decoration: inherit;
   
}
.nx-view-framed .nx-icon {
    background-color: transparent;
    border: 3px solid var(--nx-primary);
    color: var(--nx-primary);
    padding: 0.5em;
   
}
.nx-icon {
    color: var(--nx-primary);
    display: inline-block;
    font-size: 50px;
    line-height: 1;
    text-align: center;
    transition: 0.3s;
   
}
.nx-icon:hover {
    color: var(--nx-primary);
   
}
.nx-icon i, .nx-icon svg {
    display: block;
    height: 1em;
    position: relative;
    width: 1em;
   
}
.nx-icon i::before, .nx-icon svg::before {
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
   
}
.nx-shape-square .nx-icon {
    border-radius: 0px;
   
}

/* Variáveis de layout e tipografia */
.nx-kit-6 {
    --e-global-color-primary: var(--nx-primary);
    --e-global-color-secondary: #54595F;
    --e-global-color-text: #7A7A7A;
    --e-global-color-accent: var(--nx-primary);
    --e-global-typography-primary-font-family: "Roboto";
    --e-global-typography-primary-font-weight: 600;
    --e-global-typography-secondary-font-family: "Roboto Slab";
    --e-global-typography-secondary-font-weight: 400;
    --e-global-typography-text-font-family: "Roboto";
    --e-global-typography-text-font-weight: 400;
    --e-global-typography-accent-font-family: "Roboto";
    --e-global-typography-accent-font-weight: 500;
   
}
.layout {
    --container-max-width: 1140px;
   
}
.nx-widget:not(:last-child) {
    margin-block-end: 20px;
   
}
.nx-element {
    --widgets-spacing: 20px 20px;
    --widgets-spacing-row: 20px;
    --widgets-spacing-column: 20px;
   
}
@media (max-width: 1024px) {
.layout {
    --container-max-width: 1024px;
   
}
}
@media (max-width: 767px) {
.layout {
    --container-max-width: 767px;
   
}
}

/* Layout e componentes */
body.nx-page .nx-widget-menu-anchor {
    margin-bottom: 0px;
   
}

/* Layout e componentes */
.nx-widget-image {
    text-align: center;
   
}
.nx-widget-image img {
    display: inline-block;
    vertical-align: middle;
   
}

/* Layout e componentes */
.nx-widget-google_maps .nx-widget-container, .nx-widget-google_maps:not(:has(.nx-widget-container)) {
    overflow: hidden;
   
}
.nx-widget-google_maps .nx-custom-embed {
    line-height: 0;
   
}
.nx-widget-google_maps iframe {
    height: 300px;
   
}

/* Seções e ajustes responsivos: desktop, tablet e celular */
.site-page .nx-element.section-page-start {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.section-hero {
    --display: flex;
    --flex-direction: row;
    --container-widget-width: initial;
    --container-widget-height: 100%;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: stretch;
    --flex-wrap-mobile: wrap;
    --gap: 0px 0px;
    --row-gap: 0px;
    --column-gap: 0px;
    --padding-top: 50px;
    --padding-bottom: 0px;
    --padding-left: 150px;
    --padding-right: 150px;
   
}
.site-page .nx-element.nx-item-53530b8a {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --padding-top: 120px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.nx-widget-heading .nx-heading-title {
    font-family: var( --e-global-typography-primary-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-primary-font-weight );
    color: var( --e-global-color-primary );
   
}
.site-page .nx-element.nx-item-2f06632c .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 55px;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-535f0f23 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--nx-ink);
   
}
.site-page .nx-element.nx-item-95d078d .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 45px;
    font-weight: 700;
    line-height: 55px;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-73077519 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: var(--nx-ink);
   
}
.site-page .nx-element.nx-item-1f9f2dbb {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-6ca48703 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-6ca48703 img {
    width: 100%;
   
}
.site-page .nx-element.section-clients {
    --display: flex;
    --flex-direction: row;
    --container-widget-width: initial;
    --container-widget-height: 100%;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: stretch;
    --flex-wrap-mobile: wrap;
    --gap: 0px 0px;
    --row-gap: 0px;
    --column-gap: 0px;
    --margin-top: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 070px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-1cf80416 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-2b228244 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: var(--nx-ink);
   
}
.site-page .nx-element.nx-item-42ca556a .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: var(--nx-ink);
   
}
.site-page .nx-element.nx-item-2d63932d {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.section-divider {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --justify-content: center;
    --margin-top: 40px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.section-numbers {
    --display: flex;
    --flex-direction: row;
    --container-widget-width: initial;
    --container-widget-height: 100%;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: stretch;
    --flex-wrap-mobile: wrap;
    --gap: 0px 0px;
    --row-gap: 0px;
    --column-gap: 0px;
    --margin-top: 150px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.nx-item-55f142cb {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-55f142cb.layout {
    --flex-grow: 0;
    --flex-shrink: 0;
   
}
.site-page .nx-element.nx-item-4f8fb196 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-4f8fb196 .nx-heading-title {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 70px;
    font-weight: 300;
    line-height: 35px;
    -webkit-text-stroke-color: #000000;
    stroke: #000000;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-454607cd > .nx-widget-container {
    margin: 14px 0px 0px;
   
}
.site-page .nx-element.nx-item-454607cd {
    text-align: center;
   
}
.site-page .nx-element.nx-item-454607cd .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 22px;
    font-weight: 300;
    line-height: 23px;
    color: var(--nx-ink);
   
}
.site-page .nx-element.nx-item-1343f1a5 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-1343f1a5.layout {
    --flex-grow: 0;
    --flex-shrink: 0;
   
}
.site-page .nx-element.nx-item-7b0fa155 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-7b0fa155 .nx-heading-title {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 70px;
    font-weight: 300;
    line-height: 35px;
    -webkit-text-stroke-color: #000000;
    stroke: #000000;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-7d61c5ce > .nx-widget-container {
    margin: 14px 0px 0px;
   
}
.site-page .nx-element.nx-item-7d61c5ce {
    text-align: center;
   
}
.site-page .nx-element.nx-item-7d61c5ce .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 22px;
    font-weight: 300;
    line-height: 23px;
    color: var(--nx-ink);
   
}
.site-page .nx-element.nx-item-62f05106 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-62f05106.layout {
    --flex-grow: 0;
    --flex-shrink: 0;
   
}
.site-page .nx-element.nx-item-5adbf47d {
    text-align: center;
   
}
.site-page .nx-element.nx-item-5adbf47d .nx-heading-title {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 70px;
    font-weight: 300;
    line-height: 35px;
    -webkit-text-stroke-color: #000000;
    stroke: #000000;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-46f3c6af > .nx-widget-container {
    margin: 14px 0px 0px;
   
}
.site-page .nx-element.nx-item-46f3c6af {
    text-align: center;
   
}
.site-page .nx-element.nx-item-46f3c6af .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 22px;
    font-weight: 300;
    line-height: 23px;
    color: var(--nx-ink);
   
}
.site-page .nx-element.nx-item-3550ecf8 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-3550ecf8.layout {
    --flex-grow: 0;
    --flex-shrink: 0;
   
}
.site-page .nx-element.nx-item-4f0d464a {
    text-align: center;
   
}
.site-page .nx-element.nx-item-4f0d464a .nx-heading-title {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 70px;
    font-weight: 300;
    line-height: 35px;
    -webkit-text-stroke-color: #000000;
    stroke: #000000;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-4458e655 > .nx-widget-container {
    margin: 14px 0px 0px;
   
}
.site-page .nx-element.nx-item-4458e655 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-4458e655 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 22px;
    font-weight: 300;
    line-height: 23px;
    color: var(--nx-ink);
   
}
.site-page .nx-element.section-solutions {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --margin-top: 100px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 50px;
    --padding-bottom: 50px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.section-solutions:not(.nx-motion-effects-element-type-background), .site-page .nx-element.section-solutions > .nx-motion-effects-container > .nx-motion-effects-layer {
    background-color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-2158bb32 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-2158bb32 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 35px;
    font-weight: 700;
    line-height: 59px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-b0119f6 {
    --display: grid;
    --layout-grid-template-columns: repeat(4, 1fr);
    --layout-grid-template-rows: repeat(1, 1fr);
    --grid-auto-flow: row;
   
}
.site-page .nx-element.nx-item-4bcade26 {
    --display: flex;
   
}
.site-page .nx-element.nx-item-6c41a0ca img {
    width: 40%;
   
}
.site-page .nx-element.nx-item-635009ba {
    text-align: center;
   
}
.site-page .nx-element.nx-item-635009ba .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-15eca3aa {
    text-align: justify;
   
}
.site-page .nx-element.nx-item-15eca3aa .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-4e87c38 {
    --display: flex;
   
}
.site-page .nx-element.nx-item-4b3f145d img {
    width: 40%;
   
}
.site-page .nx-element.nx-item-2ffd5720 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-2ffd5720 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-11f16781 {
    text-align: justify;
   
}
.site-page .nx-element.nx-item-11f16781 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-e6e2388 {
    --display: flex;
   
}
.site-page .nx-element.nx-item-2775b497 img {
    width: 40%;
   
}
.site-page .nx-element.nx-item-1e68b13c {
    text-align: center;
   
}
.site-page .nx-element.nx-item-1e68b13c .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-72e5f7d5 {
    text-align: justify;
   
}
.site-page .nx-element.nx-item-72e5f7d5 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-4d2fb98f {
    --display: flex;
   
}
.site-page .nx-element.nx-item-7213fb70 img {
    width: 40%;
   
}
.site-page .nx-element.nx-item-3c598e76 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-3c598e76 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-1eb587ce {
    text-align: justify;
   
}
.site-page .nx-element.nx-item-1eb587ce .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.section-benefits-title {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --margin-top: 120px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.nx-item-31d805f4 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-31d805f4 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 35px;
    font-weight: 700;
    line-height: 60px;
    color: var(--nx-primary);
   
}
.site-page .nx-element.section-business {
    --display: flex;
    --flex-direction: row;
    --container-widget-width: initial;
    --container-widget-height: 100%;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: stretch;
    --flex-wrap-mobile: wrap;
    --gap: 0px 0px;
    --row-gap: 0px;
    --column-gap: 0px;
    --margin-top: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.nx-item-7ffd10ba {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-b1c24e3 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --padding-top: 81px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-7d9f4120 {
    text-align: left;
   
}
.site-page .nx-element.nx-item-7d9f4120 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 60px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-7e6ed8c8 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #000000;
   
}
.site-page .nx-element.section-design {
    --display: flex;
    --flex-direction: row;
    --container-widget-width: initial;
    --container-widget-height: 100%;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: stretch;
    --flex-wrap-mobile: wrap;
    --gap: 0px 0px;
    --row-gap: 0px;
    --column-gap: 0px;
    --margin-top: 50px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.nx-item-5da8e734 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --padding-top: 70px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-118fa1fe {
    text-align: left;
   
}
.site-page .nx-element.nx-item-118fa1fe .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 60px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-5136704a .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-50be2bf5 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-49ad05d7 img {
    width: 70%;
   
}
.site-page .nx-element.nx-item-40ce61c {
    --display: flex;
    --flex-direction: row;
    --container-widget-width: initial;
    --container-widget-height: 100%;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: stretch;
    --flex-wrap-mobile: wrap;
    --gap: 0px 0px;
    --row-gap: 0px;
    --column-gap: 0px;
    --margin-top: 50px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.nx-item-3eebac36 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-790d500b {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --padding-top: 85px;
    --padding-bottom: 0px;
    --padding-left: 30px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-37f31352 {
    text-align: left;
   
}
.site-page .nx-element.nx-item-37f31352 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 60px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-208821e4 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-560345f {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.section-features {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --margin-top: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 100px;
    --padding-bottom: 50px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.section-features:not(.nx-motion-effects-element-type-background), .site-page .nx-element.section-features > .nx-motion-effects-container > .nx-motion-effects-layer {
    background-color: #ffffff;
   
}
.site-page .nx-element.nx-item-411c2c47 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-411c2c47 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 35px;
    font-weight: 700;
    line-height: 59px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-2b32f3f8 {
    --display: grid;
    --layout-grid-template-columns: repeat(4, 1fr);
    --layout-grid-template-rows: repeat(1, 1fr);
    --grid-auto-flow: row;
   
}
.site-page .nx-element.nx-item-738df7f0 {
    --display: flex;
   
}
.nx-widget-icon.nx-view-framed .nx-icon, .nx-widget-icon.nx-view-default .nx-icon {
    color: var( --e-global-color-primary );
    border-color: var( --e-global-color-primary );
   
}
.nx-widget-icon.nx-view-framed .nx-icon, .nx-widget-icon.nx-view-default .nx-icon svg {
    fill: var( --e-global-color-primary );
   
}
.site-page .nx-element.nx-item-20de3bc7 .nx-icon-wrapper {
    text-align: center;
   
}
.site-page .nx-element.nx-item-20de3bc7.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-20de3bc7.nx-view-default .nx-icon {
    color: var(--nx-primary);
    border-color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-20de3bc7.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-20de3bc7.nx-view-default .nx-icon svg {
    fill: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-20de3bc7 .nx-icon {
    font-size: 60px;
   
}
.site-page .nx-element.nx-item-20de3bc7 .nx-icon svg {
    height: 60px;
   
}
.site-page .nx-element.nx-item-337fa2a8 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-337fa2a8 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-74eab42c {
    text-align: center;
   
}
.site-page .nx-element.nx-item-74eab42c .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-50cabdc0 {
    --display: flex;
   
}
.site-page .nx-element.nx-item-8fad236 .nx-icon-wrapper {
    text-align: center;
   
}
.site-page .nx-element.nx-item-8fad236.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-8fad236.nx-view-default .nx-icon {
    color: var(--nx-primary);
    border-color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-8fad236.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-8fad236.nx-view-default .nx-icon svg {
    fill: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-8fad236 .nx-icon {
    font-size: 60px;
   
}
.site-page .nx-element.nx-item-8fad236 .nx-icon svg {
    height: 60px;
   
}
.site-page .nx-element.nx-item-1588ceb7 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-1588ceb7 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-544049c4 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-544049c4 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-6fa2bb99 {
    --display: flex;
   
}
.site-page .nx-element.nx-item-608f4769 .nx-icon-wrapper {
    text-align: center;
   
}
.site-page .nx-element.nx-item-608f4769.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-608f4769.nx-view-default .nx-icon {
    color: var(--nx-primary);
    border-color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-608f4769.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-608f4769.nx-view-default .nx-icon svg {
    fill: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-608f4769 .nx-icon {
    font-size: 60px;
   
}
.site-page .nx-element.nx-item-608f4769 .nx-icon svg {
    height: 60px;
   
}
.site-page .nx-element.nx-item-4eb834b6 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-4eb834b6 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-54d3306c {
    text-align: center;
   
}
.site-page .nx-element.nx-item-54d3306c .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-4fc0aede {
    --display: flex;
   
}
.site-page .nx-element.nx-item-4279bb5b .nx-icon-wrapper {
    text-align: center;
   
}
.site-page .nx-element.nx-item-4279bb5b.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-4279bb5b.nx-view-default .nx-icon {
    color: var(--nx-primary);
    border-color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-4279bb5b.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-4279bb5b.nx-view-default .nx-icon svg {
    fill: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-4279bb5b .nx-icon {
    font-size: 60px;
   
}
.site-page .nx-element.nx-item-4279bb5b .nx-icon svg {
    height: 60px;
   
}
.site-page .nx-element.nx-item-20f9ca17 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-20f9ca17 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-1e4f4c16 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-1e4f4c16 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-465a1b2 {
    --display: grid;
    --layout-grid-template-columns: repeat(4, 1fr);
    --layout-grid-template-rows: repeat(1, 1fr);
    --grid-auto-flow: row;
   
}
.site-page .nx-element.nx-item-7df32bb3 {
    --display: flex;
   
}
.site-page .nx-element.nx-item-4f49ff77 .nx-icon-wrapper {
    text-align: center;
   
}
.site-page .nx-element.nx-item-4f49ff77.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-4f49ff77.nx-view-default .nx-icon {
    color: var(--nx-primary);
    border-color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-4f49ff77.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-4f49ff77.nx-view-default .nx-icon svg {
    fill: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-4f49ff77 .nx-icon {
    font-size: 60px;
   
}
.site-page .nx-element.nx-item-4f49ff77 .nx-icon svg {
    height: 60px;
   
}
.site-page .nx-element.nx-item-66576198 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-66576198 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-459d29bf {
    text-align: center;
   
}
.site-page .nx-element.nx-item-459d29bf .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-4f5af51a {
    --display: flex;
   
}
.site-page .nx-element.nx-item-30e4f9fc .nx-icon-wrapper {
    text-align: center;
   
}
.site-page .nx-element.nx-item-30e4f9fc.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-30e4f9fc.nx-view-default .nx-icon {
    color: var(--nx-primary);
    border-color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-30e4f9fc.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-30e4f9fc.nx-view-default .nx-icon svg {
    fill: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-30e4f9fc .nx-icon {
    font-size: 60px;
   
}
.site-page .nx-element.nx-item-30e4f9fc .nx-icon svg {
    height: 60px;
   
}
.site-page .nx-element.nx-item-3064cc00 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-3064cc00 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-75ae3b9d {
    text-align: center;
   
}
.site-page .nx-element.nx-item-75ae3b9d .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-2da05203 {
    --display: flex;
   
}
.site-page .nx-element.nx-item-fbf3fb4 .nx-icon-wrapper {
    text-align: center;
   
}
.site-page .nx-element.nx-item-fbf3fb4.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-fbf3fb4.nx-view-default .nx-icon {
    color: var(--nx-primary);
    border-color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-fbf3fb4.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-fbf3fb4.nx-view-default .nx-icon svg {
    fill: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-fbf3fb4 .nx-icon {
    font-size: 60px;
   
}
.site-page .nx-element.nx-item-fbf3fb4 .nx-icon svg {
    height: 60px;
   
}
.site-page .nx-element.nx-item-6ac8733 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-6ac8733 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-45915775 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-45915775 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-2e145848 {
    --display: flex;
   
}
.site-page .nx-element.nx-item-72117336 .nx-icon-wrapper {
    text-align: center;
   
}
.site-page .nx-element.nx-item-72117336.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-72117336.nx-view-default .nx-icon {
    color: var(--nx-primary);
    border-color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-72117336.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-72117336.nx-view-default .nx-icon svg {
    fill: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-72117336 .nx-icon {
    font-size: 60px;
   
}
.site-page .nx-element.nx-item-72117336 .nx-icon svg {
    height: 60px;
   
}
.site-page .nx-element.nx-item-5cdfab42 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-5cdfab42 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 35px;
    color: var(--nx-primary);
   
}
.site-page .nx-element.nx-item-2238df1b {
    text-align: center;
   
}
.site-page .nx-element.nx-item-2238df1b .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-a801964 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.section-location {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --margin-top: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 120px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-ac587bd {
    text-align: center;
   
}
.site-page .nx-element.nx-item-ac587bd .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 60px;
    color: #000000;
   
}
.site-page .nx-element.nx-item-7a577c07 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --margin-top: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.nx-item-776c5432 > .nx-widget-container {
    border-style: solid;
    border-color: #b5b5b5;
   
}
.site-page .nx-element.nx-item-776c5432 iframe {
    height: 400px;
    filter: brightness(100%) contrast(100%) saturate(100%) blur(0px) hue-rotate(0deg);
   
}
.site-page .nx-element.nx-item-4218559d {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --margin-top: 20px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.nx-widget-button .nx-button {
    background-color: var( --e-global-color-accent );
    font-family: var( --e-global-typography-accent-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-accent-font-weight );
   
}
.site-page .nx-element.nx-item-3214a5e5 .nx-button {
    background-color: var(--nx-primary);
    font-family: Roboto, sans-serif;
    font-weight: 500;
    fill: #ffffff;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-3214a5e5 .nx-button-content-wrapper {
    flex-direction: row;
   
}
.site-page .nx-element.section-footer {
    --display: flex;
    --min-height: 400px;
    --flex-direction: row;
    --container-widget-width: initial;
    --container-widget-height: 100%;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: stretch;
    --flex-wrap-mobile: wrap;
    --gap: 0px 0px;
    --row-gap: 0px;
    --column-gap: 0px;
    --margin-top: 120px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 100px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.section-footer:not(.nx-motion-effects-element-type-background), .site-page .nx-element.section-footer > .nx-motion-effects-container > .nx-motion-effects-layer {
    background-color: var(--nx-ink);
   
}
.site-page .nx-element.nx-item-344a4a00 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-344a4a00.layout {
    --flex-grow: 0;
    --flex-shrink: 0;
   
}
.site-page .nx-element.nx-item-7340b260 {
    text-align: center;
   
}
.site-page .nx-element.nx-item-7340b260 img {
    width: 45%;
   
}
.site-page .nx-element.nx-item-df69a6a {
    --display: grid;
    --layout-grid-template-columns: repeat(3, 1fr);
    --layout-grid-template-rows: repeat(2, 1fr);
    --grid-auto-flow: row;
   
}
.site-page .nx-element.nx-item-077db21 .nx-icon-wrapper {
    text-align: center;
   
}
.site-page .nx-element.nx-item-077db21.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-077db21.nx-view-default .nx-icon {
    color: #ffffff;
    border-color: #ffffff;
   
}
.site-page .nx-element.nx-item-077db21.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-077db21.nx-view-default .nx-icon svg {
    fill: #ffffff;
   
}
.site-page .nx-element.nx-item-077db21 .nx-icon {
    font-size: 20px;
    border-radius: 7px;
   
}
.site-page .nx-element.nx-item-077db21 .nx-icon svg {
    height: 20px;
   
}
.site-page .nx-element.nx-item-bbd4ed9 .nx-icon-wrapper {
    text-align: center;
   
}
.site-page .nx-element.nx-item-bbd4ed9.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-bbd4ed9.nx-view-default .nx-icon {
    color: #ffffff;
    border-color: #ffffff;
   
}
.site-page .nx-element.nx-item-bbd4ed9.nx-view-framed .nx-icon, .site-page .nx-element.nx-item-bbd4ed9.nx-view-default .nx-icon svg {
    fill: #ffffff;
   
}
.site-page .nx-element.nx-item-bbd4ed9 .nx-icon {
    font-size: 20px;
    border-radius: 7px;
   
}
.site-page .nx-element.nx-item-bbd4ed9 .nx-icon svg {
    height: 20px;
   
}
.site-page .nx-element.nx-item-38150a5e {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-38150a5e.layout {
    --flex-grow: 0;
    --flex-shrink: 0;
   
}
.site-page .nx-element.nx-item-74d330ba .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: bold;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-37a28587 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-1df02fde .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-4e33368 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-2c6b4bb .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-37a9cbca .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-439525d8 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-25a69864 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
   
}
.site-page .nx-element.nx-item-25a69864.layout {
    --flex-grow: 0;
    --flex-shrink: 0;
   
}
.site-page .nx-element.nx-item-780c116d .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-5ce21ca9 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-17b1b1c .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-2ad586c4 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-5f205b02 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.nx-item-3059aae3 .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
.site-page .nx-element.section-copyright {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --padding-top: 20px;
    --padding-bottom: 100px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.section-copyright:not(.nx-motion-effects-element-type-background), .site-page .nx-element.section-copyright > .nx-motion-effects-container > .nx-motion-effects-layer {
    background-color: var(--nx-ink);
   
}
.site-page .nx-element.nx-item-6e56a6df {
    text-align: center;
   
}
.site-page .nx-element.nx-item-6e56a6df .nx-heading-title {
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    color: #ffffff;
   
}
@media (max-width: 1024px) {
.site-page .nx-element.nx-item-b0119f6 {
    --grid-auto-flow: row;
   
}
.site-page .nx-element.nx-item-2b32f3f8 {
    --grid-auto-flow: row;
   
}
.site-page .nx-element.nx-item-465a1b2 {
    --grid-auto-flow: row;
   
}
.site-page .nx-element.nx-item-df69a6a {
    --grid-auto-flow: row;
   
}
}
@media (max-width: 767px) {
.site-page .nx-element.section-hero {
    --padding-top: 15px;
    --padding-bottom: 0px;
    --padding-left: 15px;
    --padding-right: 15px;
   
}
.site-page .nx-element.nx-item-53530b8a {
    --padding-top: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-2f06632c .nx-heading-title {
    font-size: 25px;
    line-height: 1.5em;
   
}
.site-page .nx-element.nx-item-95d078d .nx-heading-title {
    font-size: 25px;
    line-height: 1.5em;
   
}
.site-page .nx-element.section-clients {
    --margin-top: 50px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 0px;
    --padding-bottom: 0px;
    --padding-left: 15px;
    --padding-right: 15px;
   
}
.site-page .nx-element.section-numbers {
    --margin-top: 50px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.nx-item-55f142cb {
    --margin-top: 0px;
    --margin-bottom: 30px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.nx-item-1343f1a5 {
    --margin-top: 0px;
    --margin-bottom: 30px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.nx-item-62f05106 {
    --margin-top: 0px;
    --margin-bottom: 30px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.section-solutions {
    --margin-top: 0100px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.nx-item-2158bb32 .nx-heading-title {
    font-size: 25px;
    line-height: 1.5em;
   
}
.site-page .nx-element.nx-item-b0119f6 {
    --layout-grid-template-columns: repeat(1, 1fr);
    --grid-auto-flow: row;
   
}
.site-page .nx-element.section-benefits-title {
    --margin-top: 80px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
   
}
.site-page .nx-element.nx-item-31d805f4 .nx-heading-title {
    font-size: 25px;
    line-height: 1.5em;
   
}
.site-page .nx-element.nx-item-b1c24e3 {
    --padding-top: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-7d9f4120 .nx-heading-title {
    font-size: 25px;
    line-height: 1.5em;
   
}
.site-page .nx-element.nx-item-5da8e734 {
    --padding-top: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-118fa1fe .nx-heading-title {
    font-size: 25px;
    line-height: 1.5em;
   
}
.site-page .nx-element.nx-item-790d500b {
    --padding-top: 25px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-37f31352 .nx-heading-title {
    font-size: 25px;
   
}
.site-page .nx-element.section-features {
    --padding-top: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-411c2c47 .nx-heading-title {
    font-size: 25px;
    line-height: 1.5em;
   
}
.site-page .nx-element.nx-item-2b32f3f8 {
    --layout-grid-template-columns: repeat(1, 1fr);
    --grid-auto-flow: row;
   
}
.site-page .nx-element.nx-item-465a1b2 {
    --layout-grid-template-columns: repeat(1, 1fr);
    --grid-auto-flow: row;
   
}
.site-page .nx-element.section-location {
    --padding-top: 70px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-ac587bd .nx-heading-title {
    font-size: 25px;
    line-height: 1.5em;
   
}
.site-page .nx-element.section-footer {
    --margin-top: 50px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --margin-right: 0px;
    --padding-top: 25px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
   
}
.site-page .nx-element.nx-item-df69a6a {
    --layout-grid-template-columns: repeat(2, 1fr);
    --layout-grid-template-rows: repeat(1, 1fr);
    --grid-auto-flow: row;
   
}
}
@media (min-width: 768px) {
.site-page .nx-element.nx-item-53530b8a {
    --width: 50%;
   
}
.site-page .nx-element.nx-item-1f9f2dbb {
    --width: 50%;
   
}
.site-page .nx-element.nx-item-1cf80416 {
    --width: 50%;
   
}
.site-page .nx-element.nx-item-2d63932d {
    --width: 50%;
   
}
.site-page .nx-element.section-divider {
    --width: 100%;
   
}
.site-page .nx-element.nx-item-55f142cb {
    --width: 25%;
   
}
.site-page .nx-element.nx-item-1343f1a5 {
    --width: 25%;
   
}
.site-page .nx-element.nx-item-62f05106 {
    --width: 25%;
   
}
.site-page .nx-element.nx-item-3550ecf8 {
    --width: 25%;
   
}
.site-page .nx-element.nx-item-7ffd10ba {
    --width: 50%;
   
}
.site-page .nx-element.nx-item-b1c24e3 {
    --width: 50%;
   
}
.site-page .nx-element.nx-item-5da8e734 {
    --width: 50%;
   
}
.site-page .nx-element.nx-item-50be2bf5 {
    --width: 50%;
   
}
.site-page .nx-element.nx-item-3eebac36 {
    --width: 50%;
   
}
.site-page .nx-element.nx-item-790d500b {
    --width: 50%;
   
}
.site-page .nx-element.nx-item-344a4a00 {
    --width: 27.381%;
   
}
.site-page .nx-element.nx-item-38150a5e {
    --width: 27.344%;
   
}
.site-page .nx-element.nx-item-25a69864 {
    --width: 27.344%;
   
}
}

/* Foco visível para navegação por teclado. */
a:focus-visible {
    outline: 2px solid var(--nx-primary);
    outline-offset: 5px;
   
}

/* Vitrine do produto: componentes isolados do layout institucional. */
.product-tour {
    margin-top: 100px;
    padding: 80px 28px 38px;
    color: #fff;
    background: radial-gradient(ellipse at 80% 35%, var(--nx-dark-accent) 0%, transparent 50%), var(--nx-dark);
    font-family: Roboto, sans-serif;
    overflow: hidden;
}
.tour-container { max-width: 1200px; margin: auto; }
.tour-header { text-align: center; }
.tour-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--nx-light); font-size: 11px; font-weight: 700; letter-spacing: 2.5px; }
.tour-eyebrow > span { width: 7px; height: 7px; background: var(--nx-primary); border-radius: 50%; box-shadow: 0 0 0 5px #17A2B814; }
.product-tour h2 { margin: 18px 0 15px; font: 700 clamp(27px, 3.1vw, 40px)/1.2 Roboto, sans-serif; color: #fff; letter-spacing: -.8px; }
.tour-header > p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--nx-on-dark); }
.tour-filters { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 30px 0 42px; }
.product-tour button, .screen-viewer button { font-family: Roboto, sans-serif; cursor: pointer; }
.tour-filters button { display: flex; align-items: center; gap: 9px; border: 1px solid #ffffff21; padding: 10px 17px; border-radius: 30px; background: #ffffff04; color: var(--nx-on-dark); font-size: 13px; transition: background .2s, color .2s, border-color .2s; }
.tour-filters button:hover { background: #ffffff12; border-color: var(--nx-light); }
.tour-filters button[aria-pressed="true"] { background: var(--nx-primary); color: var(--nx-ink); border-color: var(--nx-primary); font-weight: 700; }
.tour-filters button > span { background: #0B34401f; padding: 1px 6px; border-radius: 10px; font-size: 11px; }
.tour-stage { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 38px; align-items: center; }
.tour-category { display: inline-block; font-size: 11px; text-transform: uppercase; font-weight: 700; letter-spacing: 2px; color: var(--nx-light); }
.product-tour h3 { font: 700 33px/1.17 Roboto, sans-serif; letter-spacing: -.7px; color: #fff; margin: 15px 0 18px; min-height: 78px; }
.tour-story > p { font-size: 14px; line-height: 1.75; color: var(--nx-on-dark); min-height: 98px; margin: 0 0 22px; }
.tour-expand { display: inline-flex; align-items: center; gap: 10px; border: 0; border-bottom: 1px solid #8AD8E45c; padding: 0 0 10px; background: none; color: var(--nx-light); font-size: 14px; font-weight: 500; }
.tour-expand > span { font-size: 23px; line-height: 1; }
.tour-expand:hover { color: #fff; border-color: #fff; }
.tour-pagination { display: flex; justify-content: space-between; align-items: center; margin-top: 34px; padding-top: 20px; border-top: 1px solid #ffffff14; }
#tour-counter { font-size: 26px; font-weight: 300; font-variant-numeric: tabular-nums; }
#tour-counter span { color: var(--nx-on-dark); font-size: 15px; }
.tour-pagination > div { display: flex; gap: 8px; }
.tour-pagination button { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #ffffff30; color: #fff; background: transparent; font-size: 19px; }
.tour-pagination button:hover { background: var(--nx-primary); color: var(--nx-dark); border-color: var(--nx-primary); }
.tour-browser { border: 1px solid #ffffff35; border-radius: 13px; overflow: hidden; box-shadow: 0 24px 65px #0005; background: var(--nx-surface); transform: perspective(1400px) rotateY(-2deg); transition: transform .3s; }
.tour-browser:hover { transform: none; }
.tour-browser-bar { height: 39px; background: var(--nx-surface); display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 15px; color: var(--nx-muted); font-size: 10px; }
.tour-window-dots { display: flex; gap: 5px; }
.tour-window-dots i { width: 7px; height: 7px; background: var(--nx-border); border-radius: 50%; }
.tour-window-dots i:first-child { background: var(--nx-border); }
.tour-window-dots i:nth-child(2) { background: var(--nx-light); }
.tour-window-dots i:last-child { background: var(--nx-light); }
.tour-live { display: flex; align-items: center; gap: 5px; font-size: 8px; letter-spacing: .8px; }
.tour-live i { width: 5px; height: 5px; background: var(--nx-primary); border-radius: 50%; }
.tour-preview { display: block; position: relative; width: 100%; border: 0; padding: 0; background: var(--nx-surface); cursor: zoom-in !important; overflow: hidden; }
.tour-preview img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; }
.tour-image-hint { position: absolute; bottom: 16px; right: 16px; display: flex; align-items: center; gap: 7px; padding: 9px 13px; background: #0B3440ee; color: #fff; border: 1px solid #ffffff40; border-radius: 30px; font-size: 11px; backdrop-filter: blur(10px); transition: background .2s; }
.tour-preview:hover .tour-image-hint { background: var(--nx-primary-hover); }
.tour-strip-heading { display: flex; justify-content: space-between; gap: 12px; margin: 43px 0 14px; font-size: 10px; letter-spacing: 1.4px; color: var(--nx-on-dark); }
.tour-strip-help { letter-spacing: 0; color: var(--nx-on-dark); font-size: 11px; }
.tour-strip-help > span { margin-left: 10px; }
.tour-thumbnails { display: flex; gap: 12px; overflow-x: auto; padding: 3px 2px 16px; scrollbar-width: thin; scrollbar-color: var(--nx-dark-accent) transparent; scroll-snap-type: x proximity; }
.nx .tour-thumbnail { flex: 0 0 155px; min-width: 0; color: var(--nx-on-dark); padding: 6px; border: 1px solid #ffffff13; border-radius: 9px; background: #ffffff04; transition: border-color .2s, background .2s; scroll-snap-align: start; }
.nx .tour-thumbnail:hover { color: #fff; border-color: #ffffff65; background: #ffffff0d; }
.nx .tour-thumbnail[aria-current="true"] { border-color: var(--nx-primary); background: #17A2B814; color: var(--nx-light); box-shadow: 0 0 0 1px var(--nx-primary); }
.tour-thumb-image { display: block; position: relative; }
.nx .tour-thumb-image img { display: block; width: 100%; border-radius: 4px; aspect-ratio: 16 / 9; object-fit: contain; }
.tour-thumb-image > span { position: absolute; bottom: 5px; left: 5px; background: #0B3440ee; color: white; border-radius: 3px; padding: 1px 5px; font-size: 9px; }
.tour-thumb-label { display: block; padding: 9px 3px 3px; font-size: 11px; font-weight: 500; white-space: nowrap; }
.tour-footnote { margin: 25px 0 0; padding-top: 22px; border-top: 1px solid #ffffff10; text-align: center; font-size: 12px; color: var(--nx-on-dark); }
.tour-footnote > span { color: var(--nx-light); margin-right: 6px; }
.tour-thumbnail[hidden] { display: none; }
.product-tour :focus-visible, .screen-viewer :focus-visible { outline: 2px solid var(--nx-light); outline-offset: 4px; }
.product-tour button:disabled, .screen-viewer button:disabled { opacity: .3; cursor: default; }
.screen-viewer { position: fixed; inset: 0; width: min(1500px, 96vw); max-width: 96vw; height: min(950px, 94dvh); max-height: 94dvh; padding: 0; border: 1px solid var(--nx-dark-accent); border-radius: 16px; color: #fff; background: var(--nx-dark); box-shadow: 0 30px 100px #0008; overflow: hidden; }
.screen-viewer[open] { display: flex; flex-direction: column; }
.screen-viewer::backdrop { background: #06242De8; backdrop-filter: blur(8px); }
.viewer-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 18px 23px; border-bottom: 1px solid #ffffff15; }
.viewer-eyebrow { font: 500 9px/1 Roboto, sans-serif; letter-spacing: 1.8px; color: var(--nx-on-dark); }
.screen-viewer h2 { font: 500 20px/1.2 Roboto, sans-serif; color: #fff; margin: 7px 0 0; }
.viewer-actions { display: flex; gap: 10px; align-items: center; }
.screen-viewer button { border: 1px solid #ffffff30; background: #ffffff09; color: #fff; border-radius: 7px; padding: 10px 15px; font-size: 13px; }
.screen-viewer button:hover { background: #17A2B833; }
#viewer-close { font-size: 18px; padding: 7px 12px; }
.viewer-canvas { flex: 1; min-height: 0; overflow: auto; display: grid; place-items: center; background: var(--nx-deep); padding: 12px; overscroll-behavior: contain; }
.nx .viewer-canvas img { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(94dvh - 185px); object-fit: contain; }
.viewer-canvas.is-zoomed { display: block; }
.nx .viewer-canvas.is-zoomed img { width: 1920px; max-width: none; max-height: none; height: auto; }
.viewer-footer { display: flex; justify-content: space-between; align-items: center; padding: 12px 23px; }
.viewer-footer p { margin: 0; color: var(--nx-on-dark); font: 400 13px/1 Roboto, sans-serif; font-variant-numeric: tabular-nums; }
@media (max-width: 1050px) {
    .tour-stage { grid-template-columns: 210px minmax(0, 1fr); gap: 24px; }
    .product-tour h3 { font-size: 28px; }
    .tour-live { display: none; }
}
@media (max-width: 767px) {
    .product-tour { padding: 55px 20px 30px; }
    .tour-header > p { font-size: 14px; }
    .tour-header br { display: none; }
    .tour-filters { margin: 24px 0 28px; gap: 7px; }
    .tour-filters button { font-size: 11px; padding: 9px 12px; }
    .tour-stage { display: flex; flex-direction: column-reverse; gap: 25px; align-items: stretch; }
    .tour-browser { transform: none; border-radius: 9px; }
    .tour-browser-bar { height: 30px; padding: 0 10px; }
    .tour-story { position: relative; }
    .product-tour h3 { font-size: 28px; min-height: 0; margin: 10px 0 12px; }
    .tour-story > p { min-height: 0; margin-bottom: 17px; }
    .tour-pagination { margin-top: 23px; padding-top: 16px; }
    .tour-strip-heading { margin-top: 26px; font-size: 9px; letter-spacing: 1px; }
    .tour-strip-help { font-size: 0; }
    .tour-strip-help > span { font-size: 15px; }
    .tour-image-hint { bottom: 8px; right: 8px; font-size: 10px; padding: 6px 9px; }
    .nx .tour-thumbnail { flex-basis: 130px; }
    .tour-thumb-label { font-size: 10px; }
    .tour-footnote { font-size: 11px; line-height: 1.6; }
    .viewer-toolbar { padding: 14px; }
    .screen-viewer h2 { font-size: 17px; }
    .viewer-actions { gap: 6px; }
    .screen-viewer button { font-size: 11px; padding: 9px; }
    .viewer-footer { padding: 12px 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .product-tour *, .screen-viewer * { transition: none !important; scroll-behavior: auto !important; }
}

/* Galeria simples: a interface do sistema é o conteúdo principal. */
.section-numbers [data-count] { display: inline-flex; align-items: center; justify-content: center; gap: 4px; }
.metric-value { display: inline-block; min-width: .55em; font-variant-numeric: tabular-nums; }
.metric-arrow {
    display: inline-block;
    margin-left: 2px;
    color: var(--nx-primary);
    font: 500 .42em/1 Roboto, sans-serif;
    opacity: .65;
    transform: translateY(5px);
}
.section-numbers [data-count].is-counting .metric-arrow { animation: metric-arrow-rise 1.25s cubic-bezier(.2,.75,.25,1) both; }
.section-numbers [data-count="350"].is-counting .metric-arrow,
.section-numbers [data-count="1000"].is-counting .metric-arrow { animation-duration: 1.9s; }
.section-numbers [data-count].has-counted .metric-arrow { opacity: 1; transform: translateY(-7px); }
@keyframes metric-arrow-rise {
    0% { opacity: 0; transform: translateY(16px) scale(.75); }
    55% { opacity: 1; }
    100% { opacity: 1; transform: translateY(-7px) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    .metric-arrow { opacity: 1; transform: translateY(-7px); }
}

.business-segments { width: 100%; padding: 78px 24px 84px; background: #fff; font-family: Roboto, sans-serif; }
.segment-icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.business-segments-inner { width: min(1180px, 100%); margin: 0 auto; }
.business-segments-header { text-align: center; }
.business-segments-header > span { color: var(--nx-primary); font-size: 10px; font-weight: 700; letter-spacing: 2.2px; }
.business-segments-header h2 { margin: 14px 0 10px; color: var(--nx-ink); font: 700 clamp(29px, 3vw, 40px)/1.16 Roboto, sans-serif; letter-spacing: -.7px; }
.business-segments-header p { margin: 0; color: var(--nx-muted); font-size: 15px; }
.business-segments-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; margin-top: 39px; }
.business-segment-card {
    position: relative;
    display: flex;
    min-height: 178px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 25px 18px;
    overflow: hidden;
    border: 1px solid var(--nx-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px #12343b0a;
    transition: transform .24s, border-color .24s, box-shadow .24s, background .24s;
}
.business-segment-card::after { content: ''; position: absolute; inset: auto 0 0; height: 3px; background: var(--nx-primary); transform: scaleX(0); transition: transform .24s; }
.business-segment-icon { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 16px; background: var(--nx-surface); color: var(--nx-primary); transition: color .24s, background .24s, transform .24s; }
.business-segment-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.business-segment-card h3 { margin: 0; color: var(--nx-ink); font: 600 16px/1.3 Roboto, sans-serif; text-align: center; transition: color .24s; }
.business-segment-card:hover { border-color: var(--nx-primary); background: var(--nx-surface); box-shadow: 0 17px 34px #17a2b820; transform: translateY(-5px); }
.business-segment-card:hover::after { transform: scaleX(1); }
.business-segment-card:hover .business-segment-icon { background: var(--nx-primary); color: #fff; transform: rotate(-3deg) scale(1.06); }
@media (max-width: 900px) { .business-segments-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) {
    .business-segments { padding: 58px 18px 62px; }
    .business-segments-grid { gap: 10px; margin-top: 29px; }
    .business-segment-card { min-height: 150px; gap: 15px; padding: 18px 10px; }
    .business-segment-icon { width: 53px; height: 53px; border-radius: 13px; }
    .business-segment-card h3 { font-size: 14px; }
}

.client-cities {
    width: 100%;
    margin-top: 90px;
    padding: 76px 28px;
    background: linear-gradient(145deg, var(--nx-surface), #fff);
}
.client-cities-inner { width: min(1120px, 100%); margin: 0 auto; }
.client-cities-header { text-align: center; }
.client-cities-header > span {
    color: var(--nx-primary);
    font: 700 11px/1 Roboto, sans-serif;
    letter-spacing: 2.3px;
}
.client-cities-header h2 {
    margin: 13px 0 10px;
    color: var(--nx-ink);
    font: 700 clamp(29px, 3vw, 40px)/1.15 Roboto, sans-serif;
    letter-spacing: -.7px;
}
.client-cities-header p { margin: 0; color: var(--nx-muted); font-size: 16px; }
.cities-marquee {
    width: 100%;
    margin-top: 38px;
    overflow: hidden;
    padding: 6px 0 14px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.cities-track { display: flex; width: max-content; animation: cities-scroll 28s linear infinite; }
.cities-marquee:hover .cities-track { animation-play-state: paused; }
.cities-group { display: flex; gap: 14px; padding-right: 14px; }
.city-square {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 0 0 145px;
    width: 145px;
    height: 128px;
    padding: 20px;
    border: 1px solid var(--nx-border);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 12px 28px #12343b0c;
    transition: color .22s, background .22s, border-color .22s, transform .22s, box-shadow .22s;
}
.city-square > span { color: var(--nx-primary); font: 700 11px/1 Roboto, sans-serif; letter-spacing: 1.8px; transition: color .22s; }
.city-square > strong { color: var(--nx-ink); font: 700 17px/1.2 Roboto, sans-serif; transition: color .22s; }
.city-square:hover {
    border-color: var(--nx-primary);
    background: var(--nx-primary);
    box-shadow: 0 16px 30px #17a2b840;
    transform: translateY(-5px);
}
.city-square:hover > span, .city-square:hover > strong { color: #fff; }
@keyframes cities-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .cities-track { animation-play-state: paused; } }

.product-tour {
    padding: 68px 28px 44px;
    background:
        radial-gradient(circle at 50% 18%, #17A2B829 0, transparent 34%),
        linear-gradient(145deg, var(--nx-deep), var(--nx-dark));
}
.product-tour h2 { margin: 0 0 12px; }
.tour-header > p { font-size: 16px; }
.tour-simple { width: min(1040px, 100%); margin: 34px auto 0; }
.tour-simple .tour-browser {
    transform: none;
    box-shadow: 0 28px 65px #00161d73, 0 0 0 1px #ffffff14;
}
.tour-simple-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 15px 2px 0;
}
.tour-simple-controls > span {
    color: var(--nx-on-dark);
    font: 500 13px/1 Roboto, sans-serif;
    letter-spacing: 1.4px;
    font-variant-numeric: tabular-nums;
}
.tour-simple-controls > div { display: flex; gap: 8px; }
.tour-simple-controls button {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid #ffffff2e;
    border-radius: 9px;
    background: #ffffff08;
    color: #fff;
    font-size: 18px;
    transition: background .2s, border-color .2s, transform .2s;
}
.tour-simple-controls button:hover {
    border-color: var(--nx-primary);
    background: var(--nx-primary);
    transform: translateY(-2px);
}
.product-tour .tour-thumbnails {
    width: min(1040px, 100%);
    margin: 22px auto 0;
    padding: 3px 2px 12px;
}
.nx .product-tour .tour-thumbnail {
    flex-basis: 145px;
    padding: 5px;
    border-radius: 8px;
}
.nx .product-tour .tour-thumb-label {
    display: block;
    padding: 8px 3px 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 767px) {
    .client-cities { margin-top: 60px; padding: 52px 18px; }
    .client-cities-header p { font-size: 14px; }
    .cities-marquee { margin-top: 28px; }
    .cities-track { animation-duration: 23s; }
    .city-square { flex-basis: 125px; width: 125px; height: 112px; padding: 16px; }
    .city-square > strong { font-size: 15px; }
    .product-tour { margin-top: 70px; padding: 50px 18px 32px; }
    .product-tour h2 { font-size: 29px; letter-spacing: -.4px; }
    .tour-simple { margin-top: 27px; }
    .tour-simple-controls { padding-top: 12px; }
    .tour-simple-controls button { width: 38px; height: 38px; }
    .product-tour .tour-thumbnails { margin-top: 16px; gap: 9px; }
    .nx .product-tour .tour-thumbnail { flex-basis: 126px; }
}

/* Depoimento em vídeo na abertura. */
.floating-contact {
    position: fixed;
    z-index: 900;
    top: 50%;
    right: 18px;
    display: flex;
    flex-direction: column;
    gap: 11px;
    transform: translateY(-50%);
    font-family: Roboto, sans-serif;
}
.floating-contact-button { position: relative; display: flex; justify-content: flex-end; align-items: center; color: #fff; }
.floating-contact-icon {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 2px solid #fff;
    border-radius: 15px;
    background: var(--nx-primary);
    box-shadow: 0 9px 25px #06242d3d;
    transition: transform .2s, box-shadow .2s, border-radius .2s;
}
.floating-contact-icon svg { width: 24px; height: 24px; fill: currentColor; }
.is-whatsapp .floating-contact-icon { background: #25d366; }
.floating-contact-button.is-whatsapp:hover .floating-contact-icon { box-shadow: 0 12px 30px #25d36670; }
.is-instagram .floating-contact-icon {
    background: radial-gradient(circle at 31% 107%, #fdf497 0 5%, #fdf497 5% 10%, #fd5949 42%, #d6249f 62%, #285aeb 90%);
}
.floating-contact-button.is-instagram:hover .floating-contact-icon { box-shadow: 0 12px 30px #d6249f66; }
.floating-contact-label {
    position: absolute;
    right: 43px;
    padding: 12px 22px 12px 14px;
    border-radius: 9px 0 0 9px;
    background: var(--nx-dark);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    opacity: 0;
    transform: translateX(12px);
    transition: opacity .2s, transform .2s;
    pointer-events: none;
}
.floating-contact-button:hover { color: #fff; }
.floating-contact-button:hover .floating-contact-icon { border-radius: 50%; transform: scale(1.06); box-shadow: 0 12px 30px #17a2b85c; }
.floating-contact-button:hover .floating-contact-label { opacity: 1; transform: translateX(0); }
.floating-contact-button:focus-visible { outline: 2px solid var(--nx-primary); outline-offset: 4px; border-radius: 15px; }
@media (max-width: 767px) {
    .floating-contact { right: 10px; gap: 8px; }
    .floating-contact-icon { width: 48px; height: 48px; border-radius: 13px; }
    .floating-contact-icon svg { width: 22px; height: 22px; }
    .floating-contact-label { display: none; }
}

.site-footer {
    position: relative;
    margin-top: 110px;
    overflow: hidden;
    background: var(--nx-deep);
    color: #fff;
    font-family: Roboto, sans-serif;
}
.footer-glow {
    position: absolute;
    top: -240px;
    right: -130px;
    width: 560px;
    height: 560px;
    border-radius: 50%;
    background: radial-gradient(circle, #17a2b838 0, transparent 67%);
    pointer-events: none;
}
.footer-inner { position: relative; width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 72px 0 24px; }
.footer-top { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding-bottom: 46px; border-bottom: 1px solid #ffffff17; }
.footer-brand { display: flex; align-items: center; gap: 24px; }
.footer-logo {
    display: grid;
    place-items: center;
    flex: 0 0 86px;
    width: 86px;
    height: 86px;
    padding: 9px;
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
}
.nx .footer-logo img { width: 100%; height: 100%; object-fit: contain; }
.footer-kicker, .footer-nav > span, .footer-contact > span { color: var(--nx-light); font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.site-footer h2 { margin: 9px 0 0; color: #fff; font: 400 clamp(25px, 3vw, 38px)/1.14 Roboto, sans-serif; letter-spacing: -.6px; }
.site-footer h2 strong { color: var(--nx-light); font-weight: 700; }
.footer-cta {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    flex: 0 0 auto;
    padding: 15px 19px;
    border-radius: 9px;
    background: var(--nx-primary);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    transition: background .2s, transform .2s;
}
.footer-cta > span { font-size: 20px; line-height: 1; }
.footer-cta:hover { background: var(--nx-primary-hover); color: #fff; transform: translateY(-2px); }
.footer-content { display: grid; grid-template-columns: 1.5fr .8fr .8fr; gap: 60px; padding: 43px 0; }
.footer-description { max-width: 430px; margin: 0; color: var(--nx-on-dark); font-size: 15px; line-height: 1.7; }
.footer-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.footer-nav > span, .footer-contact > span { margin-bottom: 5px; }
.footer-nav a { color: #fff; font-size: 14px; transition: color .2s, transform .2s; }
.footer-nav a:hover { color: var(--nx-light); transform: translateX(3px); }
.footer-contact p { margin: 11px 0 19px; color: #fff; font-size: 14px; }
.footer-socials { display: flex; flex-wrap: wrap; gap: 9px; }
.footer-socials a { padding: 8px 11px; border: 1px solid #ffffff21; border-radius: 7px; color: var(--nx-on-dark); font-size: 11px; transition: color .2s, border-color .2s, background .2s; }
.footer-socials a:hover { border-color: var(--nx-primary); background: #17a2b81c; color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; padding-top: 22px; border-top: 1px solid #ffffff17; }
.footer-bottom p { margin: 0; color: #789aa1; font-size: 11px; line-height: 1.5; }
.footer-bottom span { margin: 0 7px; color: var(--nx-primary); }
.site-footer :focus-visible { outline: 2px solid var(--nx-light); outline-offset: 4px; }
@media (max-width: 767px) {
    .site-footer { margin-top: 75px; }
    .footer-inner { width: min(100% - 36px, 1180px); padding-top: 52px; }
    .footer-top { align-items: flex-start; flex-direction: column; padding-bottom: 34px; }
    .footer-brand { align-items: flex-start; gap: 16px; }
    .footer-logo { flex-basis: 66px; width: 66px; height: 66px; border-radius: 15px; }
    .site-footer h2 { font-size: 25px; }
    .footer-cta { width: 100%; justify-content: space-between; }
    .footer-content { grid-template-columns: 1fr 1fr; gap: 34px 24px; padding: 34px 0; }
    .footer-description { grid-column: 1 / -1; }
    .footer-bottom { flex-direction: column; gap: 7px; }
}

.testimonial-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    align-items: center;
    gap: clamp(32px, 4vw, 64px);
    max-width: 1500px;
    margin: 0 auto;
    padding: 90px clamp(24px, 6vw, 100px) 30px;
    font-family: Roboto, sans-serif;
}
.hero-network {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 2%;
    width: 96%;
    height: calc(100% + 30px);
    opacity: 1;
    filter: saturate(1.15) contrast(1.08);
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 18%, rgba(0, 0, 0, .30) 40%, rgba(0, 0, 0, .18) 82%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 18%, rgba(0, 0, 0, .30) 40%, rgba(0, 0, 0, .18) 82%, transparent 100%);
}
.testimonial-copy, .testimonial-media { position: relative; z-index: 1; }
.testimonial-hero .testimonial-brand {
    margin: 0 0 20px;
    font: 700 25px/1.4 Roboto, sans-serif;
    color: var(--nx-primary);
}
.testimonial-segments {
    margin: 0 0 25px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--nx-ink);
}
.testimonial-hero h1 {
    margin: 0 0 25px;
    font: 700 clamp(30px, 3vw, 44px)/1.2 Roboto, sans-serif;
    letter-spacing: -.6px;
    color: var(--nx-primary);
}
.testimonial-hero h1 span { white-space: nowrap; }
.testimonial-description {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: var(--nx-ink);
}
.testimonial-media { min-width: 0; }
.testimonial-video {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 14px;
    background: var(--nx-ink);
    box-shadow: 0 18px 45px #12343B20;
}
.nx .testimonial-video iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}
.nx .testimonial-youtube {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin: 14px 0 0 auto;
    font-size: 12px;
    color: var(--nx-muted);
}
.nx .testimonial-youtube:hover { color: var(--nx-primary-hover); }
@media (max-width: 767px) {
    .testimonial-hero { grid-template-columns: minmax(0, 1fr); padding: 30px 24px 0; gap: 30px; }
    .hero-network { display: none; }
    .testimonial-hero .testimonial-brand { font-size: 23px; margin-bottom: 16px; }
    .testimonial-segments { font-size: 15px; margin-bottom: 18px; }
    .testimonial-hero h1 { font-size: 31px; margin-bottom: 20px; }
    .testimonial-video { border-radius: 10px; }
}

/* Funcionalidades: quadrados com ícone, título e descrição. */
.nx-features { padding: 70px 24px; background: var(--nx-surface); font-family: Roboto, sans-serif; }
.features-wrap { max-width: 1200px; margin: 0 auto; }
.nx-features h2 { margin: 0 0 36px; text-align: center; color: var(--nx-ink); font: 700 clamp(25px, 3vw, 35px)/1.25 Roboto, sans-serif; }
.features-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.feature-card { aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px; background: #fff; border: 1px solid var(--nx-border); border-radius: 12px; text-align: center; transition: border-color .2s, box-shadow .2s; }
.feature-card:hover { border-color: var(--nx-primary); box-shadow: 0 8px 22px #12343B0a; }
.feature-card > svg { width: 40px; height: 40px; flex-shrink: 0; color: var(--nx-primary); }
.nx-features h3 { margin: 0; color: var(--nx-ink); font: 600 19px/1.3 Roboto, sans-serif; }
.feature-card > p { margin: 0; color: var(--nx-muted); font: 400 13px/1.65 Roboto, sans-serif; }
@media (max-width: 1100px) {
    .features-wrap { max-width: 760px; }
    .features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .feature-card { padding: 24px; }
}
@media (max-width: 767px) {
    .nx-features { padding: 45px 20px; }
    .nx-features h2 { margin-bottom: 26px; }
    .features-grid { gap: 14px; }
    .feature-card { padding: 18px; }
}
@media (max-width: 600px) {
    .features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; margin: 0; gap: 10px; }
    .feature-card { aspect-ratio: auto; min-height: 225px; padding: 14px 10px; gap: 10px; }
    .feature-card > svg { width: 32px; height: 32px; }
    .nx-features h3 { font-size: 15px; line-height: 1.25; }
    .feature-card > p { font-size: 11px; line-height: 1.45; }
}
@media (prefers-reduced-motion: reduce) { .feature-card { transition: none; } }

/* Título com segmentos digitados e cursor, sem deslocar o conteúdo. */
.testimonial-hero .hero-commitment { font-size: clamp(29px, 2.8vw, 42px); line-height: 1.18; color: var(--nx-ink); }
.testimonial-hero .hero-commitment span { white-space: normal; }
.hero-fixed { display: block; }
.hero-typed-stage { display: grid; margin-top: 9px; color: var(--nx-primary); }
.hero-typed-line, .hero-typed-measure { grid-area: 1 / 1; overflow-wrap: anywhere; }
.hero-typed-measure { visibility: hidden; pointer-events: none; user-select: none; }
#hero-typed-text { background: linear-gradient(100deg, var(--nx-primary) 0%, var(--nx-primary-hover) 55%, var(--nx-primary) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-caret { display: inline-block; width: .075em; height: .93em; margin-left: .1em; vertical-align: -.08em; background: var(--nx-primary); animation: hero-caret-blink .8s step-end infinite; }
@keyframes hero-caret-blink { 50% { opacity: 0; } }
@media (max-width: 767px) { .testimonial-hero .hero-commitment { font-size: 30px; } }
@media (prefers-reduced-motion: reduce) { .hero-caret { animation: none; display: none; } }

/* Contraste do botão de rota e degradê restrito aos tons da marca. */
.site-page .nx-button { background-color: var(--nx-primary-hover); }
.site-page .nx-button:hover { background-color: var(--nx-dark-accent); }
#hero-typed-text { background-image: linear-gradient(100deg, var(--nx-primary) 0%, var(--nx-primary-hover) 100%); }
