/*
 * Welgama Industrial — NovaCMS theme
 * Brand palette (config/tokens.json, editable in the Customizer): safety orange on deep navy, teal accents.
 * Contrast: orange (#FF5E14) is used for fills and on navy (6.1:1); orange text on white uses accent-ink (#C2410C, 5.2:1);
 * orange buttons carry navy text (6.1:1).
 *
 * Block classes for the page builder (Advanced → CSS classes), see README.md:
 *   section  wg-s--mist | wg-s--navy | wg-s--steel | wg-s--tight | wg-s--flush | wg-hero | wg-cta-band | wg-overlap
 *   text     wg-eyebrow | wg-lead | wg-checklist | wg-hero-points | wg-muted | wg-center
 *   heading  wg-display | wg-title | wg-center
 *   columns  wg-stats | wg-features | wg-logos | wg-split
 *   column   wg-stat | wg-feature wg-ic-<icon> | wg-panel
 *   container wg-btn-row | wg-section-head | wg-service-card
 *   image    wg-photo | wg-photo--frame | wg-logo-img
 *   query    wg-service-grid
 *   button   (variants) primary = orange, secondary = navy, outline; + wg-on-dark on dark sections
 */

/* ---------- Base ---------- */
:root {
    --wg-accent: var(--nova-color-accent, #FF5E14);
    --wg-accent-ink: var(--nova-color-accent-ink, #C2410C);
    --wg-accent-soft: var(--nova-color-accent-soft, #FFF1EA);
    --wg-navy: var(--nova-color-navy, #0A1229);
    --wg-navy-deep: var(--nova-color-navy-deep, #000F2B);
    --wg-steel: var(--nova-color-steel, #153243);
    --wg-teal: var(--nova-color-teal, #1A6C7A);
    --wg-sky: var(--nova-color-sky, #BFD1FF);
    --wg-mist: var(--nova-color-mist, #F3F9FB);
    --wg-surface: var(--nova-color-surface, #FFFFFF);
    --wg-text: var(--nova-color-text, #3A3A3A);
    --wg-heading: var(--nova-color-heading, #0A1229);
    --wg-muted: var(--nova-color-muted, #5B6577);
    --wg-line: var(--nova-color-line, #E2E8F0);
    --wg-font-heading: var(--nova-font-heading, 'Barlow', system-ui, sans-serif);
    --wg-font-body: var(--nova-font-body, 'Source Sans 3', system-ui, sans-serif);
    --wg-radius-sm: var(--nova-radius-sm, 4px);
    --wg-radius: var(--nova-radius-md, 8px);
    --wg-radius-lg: var(--nova-radius-lg, 14px);
    --wg-container: var(--nova-container-max-width, 1200px);
    --wg-gutter: clamp(16px, 4vw, 32px);
    --wg-shadow-sm: 0 1px 2px rgba(10, 18, 41, .06), 0 1px 3px rgba(10, 18, 41, .08);
    --wg-shadow: 0 10px 30px -12px rgba(10, 18, 41, .25);
    --wg-shadow-lg: 0 24px 60px -24px rgba(10, 18, 41, .45);
    --wg-ease: cubic-bezier(.2, .7, .2, 1);
    --wg-header-h: 80px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--wg-header-h) + 16px); }
body {
    margin: 0;
    font-family: var(--wg-font-body);
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--wg-text);
    background: var(--wg-surface);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 {
    margin: 0 0 .5em;
    font-family: var(--wg-font-heading);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.01em;
    color: var(--wg-heading);
    text-wrap: balance;
}
h1 { font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem); }
h2 { font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.5rem); }
h3 { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); }
h4 { font-size: 1.125rem; }
p { margin: 0 0 1em; }
a { color: var(--wg-accent-ink); text-underline-offset: .18em; }
a:hover { color: var(--wg-navy); }
:focus-visible { outline: 3px solid var(--wg-accent); outline-offset: 3px; border-radius: 2px; }
#main:focus { outline: none; }
::selection { background: var(--wg-accent); color: var(--wg-navy); }

.wg-visually-hidden {
    position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.wg-skip {
    position: absolute; left: 16px; top: -100px; z-index: 100; padding: 12px 18px;
    background: var(--wg-accent); color: var(--wg-navy); font-weight: 700; border-radius: var(--wg-radius);
    text-decoration: none; transition: top .2s var(--wg-ease);
}
.wg-skip:focus { top: 12px; color: var(--wg-navy); }

.wg-container { width: 100%; max-width: calc(var(--wg-container) + 2 * var(--wg-gutter)); margin: 0 auto; padding-inline: var(--wg-gutter); }
.wg-container--narrow { max-width: calc(860px + 2 * var(--wg-gutter)); }
.wg-section { padding-block: clamp(48px, 7vw, 96px); }

/* ---------- Buttons ---------- */
.wg-btn, .nb-button {
    display: inline-flex; align-items: center; justify-content: center; gap: .5em;
    min-height: 48px; padding: .75em 1.5em;
    border: 2px solid transparent; border-radius: var(--wg-radius);
    font-family: var(--wg-font-heading); font-size: 1rem; font-weight: 700; letter-spacing: .02em; line-height: 1.1;
    text-decoration: none; cursor: pointer;
    transition: background-color .2s var(--wg-ease), color .2s var(--wg-ease), border-color .2s var(--wg-ease), transform .2s var(--wg-ease), box-shadow .2s var(--wg-ease);
}
.wg-btn:hover, .nb-button:hover { opacity: 1; transform: translateY(-1px); }
.wg-btn:active, .nb-button:active { transform: translateY(0); }
.wg-btn--accent, .nb-button--primary { background: var(--wg-accent); color: var(--wg-navy); box-shadow: 0 8px 20px -10px rgba(255, 94, 20, .8); }
.wg-btn--accent:hover, .nb-button--primary:hover { background: #FF7433; color: var(--wg-navy); }
.wg-btn--secondary, .nb-button--secondary { background: var(--wg-navy); color: #fff; }
.wg-btn--secondary:hover, .nb-button--secondary:hover { background: var(--wg-steel); color: #fff; }
.wg-btn--outline, .nb-button--outline { background: transparent; border-color: var(--wg-navy); color: var(--wg-navy); }
.wg-btn--outline:hover, .nb-button--outline:hover { background: var(--wg-navy); color: #fff; }
.nb-button.wg-on-dark.nb-button--outline, .wg-btn--light { border-color: rgba(255, 255, 255, .7); color: #fff; }
.nb-button.wg-on-dark.nb-button--outline:hover, .wg-btn--light:hover { background: #fff; border-color: #fff; color: var(--wg-navy); }
.wg-btn--ghost { background: var(--wg-mist); color: var(--wg-navy); }
.wg-btn--ghost:hover { background: var(--wg-sky); color: var(--wg-navy); }
.wg-btn--lg, .nb-button--lg { min-height: 56px; padding: .9em 1.9em; font-size: 1.0625rem; }
.nb-button--sm { min-height: 40px; padding: .5em 1.1em; font-size: .9375rem; }
.wg-btn--block { width: 100%; }
.wg-btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.nb-container.wg-btn-row { flex-direction: row; align-items: center; }
.wg-btn-row .nb-button-wrap { margin: 0; }
@media (max-width: 479.98px) {
    .wg-btn-row .nb-button-wrap, .wg-btn-row .nb-button { width: 100%; }
}

.wg-link-arrow, .wg-service-card .nb-button {
    display: inline-flex; align-items: center; gap: .45em; min-height: 0; padding: 0; border: 0; background: none; box-shadow: none;
    font-family: var(--wg-font-heading); font-weight: 700; color: var(--wg-accent-ink); text-decoration: none;
}
.wg-link-arrow::after, .wg-service-card .nb-button::after {
    content: ""; width: 1em; height: 1em; background: currentColor;
    -webkit-mask: var(--wg-arrow) center/contain no-repeat; mask: var(--wg-arrow) center/contain no-repeat;
    transition: transform .2s var(--wg-ease);
}
.wg-link-arrow:hover, .wg-service-card .nb-button:hover { color: var(--wg-navy); background: none; transform: none; }
.wg-link-arrow:hover::after, .wg-service-card .nb-button:hover::after { transform: translateX(4px); }

/* ---------- Top bar & header ---------- */
.wg-topbar { background: var(--wg-navy); color: #C9D3E6; font-size: .875rem; }
.wg-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 40px; }
.wg-topbar__contact { display: flex; gap: 24px; }
.wg-topbar__item { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: inherit; text-decoration: none; }
.wg-topbar__item .wg-icon { color: var(--wg-accent); }
a.wg-topbar__item:hover { color: #fff; }

.wg-header {
    position: sticky; top: 0; z-index: 40;
    /* Solid on purpose: backdrop-filter would make the header the containing block of the fixed mobile menu. */
    background: #fff;
    border-bottom: 1px solid var(--wg-line);
    transition: box-shadow .25s var(--wg-ease);
}
.wg-header.is-scrolled { box-shadow: var(--wg-shadow); }
.wg-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--wg-header-h); }
.wg-brand { display: inline-flex; flex: 0 0 auto; }
.wg-brand img { display: block; width: auto; height: 44px; }

.wg-nav { display: flex; align-items: center; gap: 28px; }
.wg-menu { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.wg-menu__item { position: relative; display: flex; align-items: center; }
.wg-menu__link {
    display: block; padding: 10px 12px;
    font-family: var(--wg-font-heading); font-size: 1rem; font-weight: 600; color: var(--wg-navy); text-decoration: none;
    border-radius: var(--wg-radius-sm);
}
.wg-menu__link:hover, .wg-menu__item.is-active > .wg-menu__link { color: var(--wg-accent-ink); }
.wg-menu__item.is-active > .wg-menu__link { box-shadow: inset 0 -3px 0 var(--wg-accent); border-radius: 0; }
.wg-menu__toggle {
    display: inline-grid; place-items: center; width: 28px; height: 28px; margin-left: -8px; padding: 0;
    border: 0; background: none; color: var(--wg-navy); cursor: pointer; border-radius: var(--wg-radius-sm);
}
.wg-menu__toggle::before {
    content: ""; width: 14px; height: 14px; background: currentColor;
    -webkit-mask: var(--wg-chevron) center/contain no-repeat; mask: var(--wg-chevron) center/contain no-repeat;
    transition: transform .2s var(--wg-ease);
}
.wg-menu__toggle[aria-expanded="true"]::before { transform: rotate(180deg); }
.wg-submenu {
    position: absolute; top: calc(100% + 8px); left: 0; z-index: 50; min-width: 280px; margin: 0; padding: 8px; list-style: none;
    background: #fff; border: 1px solid var(--wg-line); border-top: 3px solid var(--wg-accent); border-radius: 0 0 var(--wg-radius) var(--wg-radius);
    box-shadow: var(--wg-shadow-lg);
    opacity: 0; visibility: hidden; transform: translateY(6px);
    transition: opacity .18s var(--wg-ease), transform .18s var(--wg-ease), visibility .18s;
}
.wg-submenu a { display: block; padding: 10px 14px; border-radius: var(--wg-radius-sm); color: var(--wg-navy); font-weight: 600; text-decoration: none; }
.wg-submenu a:hover, .wg-submenu a[aria-current] { background: var(--wg-mist); color: var(--wg-accent-ink); }
.wg-menu__item.is-open > .wg-submenu { opacity: 1; visibility: visible; transform: translateY(0); }
@media (hover: hover) and (min-width: 1080px) {
    .wg-menu__item.has-sub:hover > .wg-submenu, .wg-menu__item.has-sub:focus-within > .wg-submenu { opacity: 1; visibility: visible; transform: translateY(0); }
}
.wg-nav__cta { white-space: nowrap; }

.wg-nav-toggle { display: none; }

@media (max-width: 1079.98px) {
    :root { --wg-header-h: 68px; }
    .wg-brand img { height: 38px; }
    .wg-nav-toggle {
        display: inline-grid; place-items: center; width: 48px; height: 48px; padding: 0;
        border: 1px solid var(--wg-line); border-radius: var(--wg-radius); background: #fff; color: var(--wg-navy); cursor: pointer;
    }
    .wg-nav-toggle__bars, .wg-nav-toggle__bars::before, .wg-nav-toggle__bars::after {
        display: block; width: 22px; height: 2px; background: currentColor; border-radius: 2px; transition: transform .2s var(--wg-ease), opacity .2s;
    }
    .wg-nav-toggle__bars { position: relative; }
    .wg-nav-toggle__bars::before, .wg-nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
    .wg-nav-toggle__bars::before { top: -7px; }
    .wg-nav-toggle__bars::after { top: 7px; }
    .wg-nav-toggle[aria-expanded="true"] .wg-nav-toggle__bars { background: transparent; }
    .wg-nav-toggle[aria-expanded="true"] .wg-nav-toggle__bars::before { transform: translateY(7px) rotate(45deg); }
    .wg-nav-toggle[aria-expanded="true"] .wg-nav-toggle__bars::after { transform: translateY(-7px) rotate(-45deg); }

    .wg-nav {
        position: fixed; inset: var(--wg-header-offset, var(--wg-header-h)) 0 0 0; z-index: 39;
        flex-direction: column; align-items: stretch; gap: 16px; padding: 16px var(--wg-gutter) 32px;
        background: #fff; overflow-y: auto;
        visibility: hidden; opacity: 0; transform: translateY(-8px);
        transition: opacity .2s var(--wg-ease), transform .2s var(--wg-ease), visibility .2s;
    }
    .wg-nav.is-open { visibility: visible; opacity: 1; transform: none; }
    .wg-menu { flex-direction: column; align-items: stretch; gap: 0; }
    .wg-menu__item { flex-wrap: wrap; border-bottom: 1px solid var(--wg-line); }
    .wg-menu__link { flex: 1; padding: 14px 4px; font-size: 1.125rem; }
    .wg-menu__item.is-active > .wg-menu__link { box-shadow: none; }
    .wg-menu__toggle { width: 48px; height: 48px; margin: 0; }
    .wg-submenu {
        position: static; display: none; width: 100%; min-width: 0; margin: 0 0 12px; padding: 4px 0 4px 12px;
        border: 0; border-left: 3px solid var(--wg-accent); border-radius: 0; box-shadow: none;
        opacity: 1; visibility: visible; transform: none;
    }
    .wg-menu__item.is-open > .wg-submenu { display: block; }
    .wg-nav__cta { margin-top: 8px; }
    body.wg-nav-open { overflow: hidden; }
}
@media (max-width: 719.98px) {
    .wg-topbar__inner > .wg-topbar__item { display: none; }
    .wg-topbar__contact { width: 100%; justify-content: space-between; gap: 12px; }
}

/* ---------- Page banner (inner pages) ---------- */
.wg-page-banner, .wg-banner {
    position: relative; overflow: hidden; isolation: isolate;
    padding-block: clamp(48px, 7vw, 88px) clamp(40px, 6vw, 72px);
    background: radial-gradient(1200px 400px at 85% -10%, rgba(26, 108, 122, .55), transparent 60%), linear-gradient(135deg, var(--wg-navy-deep), var(--wg-navy) 55%, var(--wg-steel));
    color: #DCE4F2;
}
.wg-page-banner::after, .wg-banner::after {
    content: ""; position: absolute; inset: auto 0 0 auto; z-index: -1; width: min(520px, 60%); height: 100%;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 2px, transparent 2px 18px);
    -webkit-mask: linear-gradient(to left, #000, transparent); mask: linear-gradient(to left, #000, transparent);
}
.wg-page-banner__title { max-width: 22ch; margin-bottom: .35em; color: #fff; }
.wg-page-banner__lead { max-width: 62ch; margin: 0; font-size: 1.1875rem; color: #C9D3E6; }
.wg-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 20px; padding: 0; list-style: none; font-size: .9375rem; }
.wg-breadcrumb li { display: inline-flex; align-items: center; gap: 6px; color: #9FB0CC; }
.wg-breadcrumb li + li::before { content: "/"; color: rgba(255, 255, 255, .35); }
.wg-breadcrumb a { color: #DCE4F2; text-decoration: none; }
.wg-breadcrumb a:hover { color: var(--wg-accent); text-decoration: underline; }
.wg-breadcrumb [aria-current] { color: #fff; }

/* ---------- Eyebrow, lead, lists ---------- */
.wg-eyebrow:not(.nb-text), .nb-text.wg-eyebrow p {
    display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px;
    font-family: var(--wg-font-heading); font-size: .875rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    color: var(--wg-accent-ink);
}
.wg-eyebrow:not(.nb-text)::before, .nb-text.wg-eyebrow p::before { content: ""; width: 28px; height: 3px; background: var(--wg-accent); border-radius: 2px; }
.wg-eyebrow--on-dark, .wg-s--navy .nb-text.wg-eyebrow p, .wg-s--steel .nb-text.wg-eyebrow p, .wg-hero .nb-text.wg-eyebrow p,
.wg-cta-band .nb-text.wg-eyebrow p, .wg-banner .nb-text.wg-eyebrow p { color: var(--wg-accent); }
.nb-text.wg-eyebrow { margin: 0; }
.wg-lead, .nb-text.wg-lead { font-size: clamp(1.125rem, 1.05rem + .3vw, 1.25rem); line-height: 1.6; color: var(--wg-muted); }
.wg-muted { color: var(--wg-muted); }
.wg-center, .nb-heading.wg-center, .nb-text.wg-center { text-align: center; margin-inline: auto; }
.nb-text.wg-center .wg-eyebrow, .nb-text.wg-center.wg-eyebrow p { justify-content: center; }

.wg-checklist ul, ul.wg-checklist { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.wg-checklist li { position: relative; padding-left: 34px; }
.wg-checklist li::before {
    content: ""; position: absolute; left: 0; top: .2em; width: 22px; height: 22px; border-radius: 50%;
    background: var(--wg-accent-soft);
}
.wg-checklist li::after {
    content: ""; position: absolute; left: 5px; top: calc(.2em + 5px); width: 12px; height: 12px; background: var(--wg-accent-ink);
    -webkit-mask: var(--wg-check) center/contain no-repeat; mask: var(--wg-check) center/contain no-repeat;
}
.wg-checklist strong { color: var(--wg-heading); }

/* ---------- Page builder sections ---------- */
.wg-canvas .nb-section { padding-block: clamp(56px, 8vw, 104px); }
.wg-canvas .nb-section > .nb-section__inner { max-width: calc(var(--wg-container) + 2 * var(--wg-gutter)); padding-inline: var(--wg-gutter); }
.wg-canvas .nb-section--full > .nb-section__inner { max-width: none; padding-inline: 0; }
.wg-canvas .nb-section.wg-s--tight { padding-block: clamp(36px, 5vw, 56px); }
.wg-canvas .nb-section.wg-s--flush { padding-block: 0; }
.wg-s--mist { background-color: var(--wg-mist); }
.wg-s--navy { background-color: var(--wg-navy); color: #C9D3E6; }
.wg-s--steel { background-color: var(--wg-steel); color: #D2DEE6; }
.wg-s--navy :is(h1, h2, h3, h4), .wg-s--steel :is(h1, h2, h3, h4), .wg-banner :is(h1, h2, h3, h4) { color: #fff; }
.wg-s--navy .wg-lead, .wg-s--steel .wg-lead, .wg-banner .wg-lead { color: #C9D3E6; }
.wg-banner .nb-heading { max-width: 22ch; }
.wg-banner .wg-lead { max-width: 62ch; }
.wg-s--navy a:not(.nb-button), .wg-s--steel a:not(.nb-button) { color: var(--wg-accent); }

.wg-section-head { max-width: 760px; margin: 0 auto clamp(32px, 4vw, 56px); text-align: center; align-items: center; }
.wg-section-head .nb-text.wg-eyebrow p { justify-content: center; }
.wg-section-head .nb-heading { margin-bottom: .35em; }
.wg-display { font-size: clamp(2.5rem, 1.7rem + 3.4vw, 4.25rem); line-height: 1.04; letter-spacing: -.02em; }
.wg-title { font-size: clamp(1.875rem, 1.4rem + 1.8vw, 2.75rem); }

/* Hero: photograph under a navy gradient, content on the left. */
.wg-hero {
    position: relative; isolation: isolate; overflow: hidden;
    min-height: min(86vh, 760px); display: flex; align-items: center;
    background-color: var(--wg-navy); color: #DCE4F2;
}
.wg-canvas .nb-section.wg-hero { padding-block: clamp(72px, 10vw, 136px) clamp(112px, 12vw, 168px); }
.wg-hero::before {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(100deg, rgba(0, 15, 43, .96) 0%, rgba(10, 18, 41, .88) 38%, rgba(10, 18, 41, .45) 70%, rgba(10, 18, 41, .2) 100%);
}
.wg-hero::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: -1; height: 6px;
    background: linear-gradient(90deg, var(--wg-accent) 0 30%, var(--wg-teal) 30% 100%);
}
.wg-hero > .nb-section__inner { width: 100%; }
.wg-hero .nb-heading { max-width: 15ch; color: #fff; }
.wg-hero .wg-lead, .wg-hero .nb-text.wg-lead { max-width: 56ch; color: #C9D3E6; }
.wg-hero--plain { padding-block: clamp(80px, 10vw, 140px); min-height: 0; background: linear-gradient(135deg, var(--wg-navy-deep), var(--wg-steel)); }
.wg-hero__title { max-width: 18ch; color: #fff; }
.wg-hero-points ul { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 28px 0 0; padding: 0; list-style: none; font-weight: 600; color: #fff; }
.wg-hero-points li { display: inline-flex; align-items: center; gap: 10px; }
.wg-hero-points li::before {
    content: ""; width: 18px; height: 18px; background: var(--wg-accent);
    -webkit-mask: var(--wg-check) center/contain no-repeat; mask: var(--wg-check) center/contain no-repeat;
}
@media (max-width: 767.98px) {
    .wg-hero::before { background: linear-gradient(180deg, rgba(0, 15, 43, .92), rgba(10, 18, 41, .86)); }
    .wg-hero { min-height: 0; }
}

/* Stats bar that overlaps the section above it. */
.wg-canvas .nb-section.wg-overlap { padding-block: 0; background: linear-gradient(var(--wg-navy) 0 50%, transparent 50%); }
.wg-canvas .nb-section.wg-overlap.wg-overlap--mist { background: transparent; margin-top: calc(-1 * clamp(64px, 7vw, 96px)); position: relative; z-index: 2; }
.wg-stats { gap: 0 !important; background: #fff; border-radius: var(--wg-radius-lg); box-shadow: var(--wg-shadow-lg); overflow: hidden; }
.wg-stat { padding: clamp(24px, 3vw, 36px) clamp(20px, 2.4vw, 32px); border-left: 1px solid var(--wg-line); }
.wg-stat:first-child { border-left: 0; }
.wg-stat .nb-text { margin: 0; color: var(--wg-muted); font-weight: 600; line-height: 1.4; }
.wg-stat .nb-text.wg-stat-value p {
    margin: 0 0 4px; font-family: var(--wg-font-heading); font-size: clamp(2rem, 1.6rem + 1.4vw, 2.75rem); font-weight: 800; line-height: 1; color: var(--wg-navy);
}
.wg-stat .nb-text.wg-stat-value p::after { content: ""; display: block; width: 32px; height: 3px; margin: 12px 0 8px; background: var(--wg-accent); border-radius: 2px; }
@media (max-width: 1023.98px) {
    .wg-stat { border-left: 0; border-top: 1px solid var(--wg-line); }
    .wg-stat:first-child { border-top: 0; }
}

/* Two-column split: photo + copy. */
.wg-split { gap: clamp(32px, 5vw, 72px) !important; }
.wg-photo img { display: block; width: 100%; border-radius: var(--wg-radius-lg); box-shadow: var(--wg-shadow); object-fit: cover; aspect-ratio: 4 / 3; }
.wg-photo { margin: 0; }
.wg-photo--frame { position: relative; margin: 0 18px 18px 0; }
.wg-photo--frame::before {
    content: ""; position: absolute; inset: 18px -18px -18px 18px; z-index: -1;
    border: 3px solid var(--wg-accent); border-radius: var(--wg-radius-lg);
}
.wg-split .nb-column { position: relative; z-index: 0; }

/* Feature grid with icons. */
.wg-features { gap: clamp(16px, 2vw, 24px) !important; flex-wrap: wrap; }
.wg-features > .nb-column { flex: 1 1 200px; }
.nb-columns.wg-features { flex-direction: row; }
.wg-feature {
    padding: 28px; background: #fff; border: 1px solid var(--wg-line); border-radius: var(--wg-radius-lg);
    transition: border-color .2s var(--wg-ease), box-shadow .2s var(--wg-ease), transform .2s var(--wg-ease);
}
.wg-feature:hover { border-color: transparent; box-shadow: var(--wg-shadow); transform: translateY(-3px); }
.wg-feature::before {
    content: ""; display: block; width: 52px; height: 52px; margin-bottom: 20px; border-radius: 12px;
    background: var(--wg-accent-soft) no-repeat center / 26px;
    -webkit-mask: none; mask: none;
    box-shadow: inset 0 0 0 1px rgba(255, 94, 20, .15);
}
.wg-feature::after {
    content: ""; position: absolute; top: 41px; left: 41px; width: 26px; height: 26px; background: var(--wg-accent-ink);
    -webkit-mask: var(--wg-i) center/contain no-repeat; mask: var(--wg-i) center/contain no-repeat;
}
.wg-feature { position: relative; }
.wg-feature .nb-heading { font-size: 1.25rem; margin-bottom: .4em; }
.wg-feature .nb-text { color: var(--wg-muted); font-size: 1rem; }
.wg-s--navy .wg-feature, .wg-s--steel .wg-feature { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .12); }
.wg-s--navy .wg-feature .nb-text, .wg-s--steel .wg-feature .nb-text { color: #B7C4DA; }
.wg-s--navy .wg-feature::before, .wg-s--steel .wg-feature::before { background-color: rgba(255, 94, 20, .14); }
.wg-s--navy .wg-feature::after, .wg-s--steel .wg-feature::after { background: var(--wg-accent); }

/* Services: query loop of the service content type. */
.wg-service-grid { gap: clamp(16px, 2vw, 24px) !important; }
.wg-service-card {
    height: 100%; gap: 0 !important; overflow: hidden;
    background: #fff; border: 1px solid var(--wg-line); border-radius: var(--wg-radius-lg);
    transition: box-shadow .25s var(--wg-ease), transform .25s var(--wg-ease), border-color .25s;
}
.wg-service-card:hover { transform: translateY(-4px); box-shadow: var(--wg-shadow-lg); border-color: transparent; }
.wg-service-card .nb-image { margin: 0; overflow: hidden; }
.wg-service-card .nb-image img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; transition: transform .5s var(--wg-ease); }
.wg-service-card:hover .nb-image img { transform: scale(1.04); }
.wg-service-card > :not(.nb-image) { padding-inline: 24px; }
.wg-service-card .nb-heading { margin: 22px 0 8px; font-size: 1.3125rem; }
.wg-service-card .nb-heading::before { content: ""; display: block; width: 32px; height: 3px; margin-bottom: 14px; background: var(--wg-accent); border-radius: 2px; }
.wg-service-card .nb-text { flex: 1; color: var(--wg-muted); font-size: 1rem; }
.wg-service-card .nb-button-wrap { margin: 8px 0 24px; }
.nb-query__item { display: flex; }
@media (max-width: 1199.98px) and (min-width: 768px) { .wg-service-grid.nb-query--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nb-query__item > * { flex: 1; }

/* Logo wall. */
.wg-logos { flex-wrap: wrap; justify-content: center; gap: 16px !important; }
.wg-logos > .nb-column { flex: 0 1 112px; }
.wg-logo-img { margin: 0; padding: 14px; background: #fff; border: 1px solid var(--wg-line); border-radius: var(--wg-radius); }
.wg-logo-img img { display: block; width: 100%; height: 88px; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .25s, opacity .25s; }
.wg-logo-img:hover img { filter: none; opacity: 1; }

/* Panels (contact cards, value cards). */
.wg-panel {
    padding: clamp(24px, 3vw, 36px); background: #fff; border: 1px solid var(--wg-line); border-radius: var(--wg-radius-lg);
    box-shadow: var(--wg-shadow-sm);
}
.wg-panel[class*="wg-ic-"] { position: relative; padding-top: calc(clamp(24px, 3vw, 36px) + 64px); }
.wg-panel[class*="wg-ic-"]::before {
    content: ""; position: absolute; top: clamp(24px, 3vw, 36px); left: clamp(24px, 3vw, 36px); width: 48px; height: 48px; border-radius: 12px;
    background: var(--wg-navy);
}
.wg-panel[class*="wg-ic-"]::after {
    content: ""; position: absolute; top: calc(clamp(24px, 3vw, 36px) + 12px); left: calc(clamp(24px, 3vw, 36px) + 12px); width: 24px; height: 24px;
    background: var(--wg-accent); -webkit-mask: var(--wg-i) center/contain no-repeat; mask: var(--wg-i) center/contain no-repeat;
}
.wg-panel .nb-heading { font-size: 1.25rem; }
.wg-panel .nb-text { color: var(--wg-muted); }
.wg-panel .nb-text a { font-weight: 700; }
.wg-panel--accent { border-top: 4px solid var(--wg-accent); }

/* Call-to-action band. */
.wg-cta-band {
    position: relative; isolation: isolate; overflow: hidden;
    background: linear-gradient(120deg, var(--wg-steel), var(--wg-teal)); color: #E3EEF2;
}
.wg-cta-band::before {
    content: ""; position: absolute; right: -80px; top: -120px; z-index: -1; width: 420px; height: 420px; border-radius: 50%;
    border: 60px solid rgba(255, 94, 20, .18);
}
.wg-cta-band :is(h2, h3) { color: #fff; }
.wg-cta-band .nb-text { color: #D2E3E9; }
.wg-cta-band .nb-columns { align-items: center; }

/* ---------- Service / article layout ---------- */
.wg-layout-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(32px, 5vw, 64px); align-items: start; }
@media (max-width: 1023.98px) { .wg-layout-sidebar { grid-template-columns: minmax(0, 1fr); } }
.wg-feature-image { margin: 0 0 32px; }
.wg-feature-image img { display: block; width: 100%; border-radius: var(--wg-radius-lg); aspect-ratio: 16 / 9; object-fit: cover; }

.wg-prose { font-size: 1.0625rem; line-height: 1.75; }
.wg-prose > :first-child { margin-top: 0; }
.wg-prose h2 { margin-top: 1.6em; font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); }
.wg-prose h3 { margin-top: 1.4em; font-size: 1.3125rem; }
.wg-prose h2::before { content: ""; display: block; width: 36px; height: 3px; margin-bottom: 16px; background: var(--wg-accent); border-radius: 2px; }
.wg-prose ul, .wg-prose ol { padding-left: 1.3em; }
.wg-prose li { margin: .35em 0; }
.wg-prose ul li::marker { color: var(--wg-accent); }
.wg-prose blockquote { margin: 1.5em 0; padding: 20px 24px; background: var(--wg-mist); border-left: 4px solid var(--wg-accent); border-radius: 0 var(--wg-radius) var(--wg-radius) 0; }
.wg-prose table { width: 100%; margin: 1.5em 0; border-collapse: collapse; font-size: 1rem; }
.wg-prose th, .wg-prose td { padding: 12px 14px; border-bottom: 1px solid var(--wg-line); text-align: left; vertical-align: top; }
.wg-prose th { background: var(--wg-navy); color: #fff; font-family: var(--wg-font-heading); font-weight: 600; }
.wg-prose tr:nth-child(even) td { background: var(--wg-mist); }
.wg-prose img { border-radius: var(--wg-radius); }
.wg-byline { color: var(--wg-muted); font-style: italic; }
.wg-table-scroll { overflow-x: auto; }

.wg-inline-cta {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-top: 48px; padding: 28px 32px;
    background: var(--wg-navy); color: #C9D3E6; border-radius: var(--wg-radius-lg); border-left: 6px solid var(--wg-accent);
}
.wg-inline-cta h2 { margin: 0 0 4px; font-size: 1.375rem; color: #fff; }
.wg-inline-cta p { margin: 0; }

.wg-sidebar { display: grid; gap: 24px; position: sticky; top: calc(var(--wg-header-h) + 24px); }
@media (max-width: 1023.98px) { .wg-sidebar { position: static; } }
.wg-side-nav { padding: 8px; background: var(--wg-mist); border-radius: var(--wg-radius-lg); }
.wg-side-nav__title { margin: 12px 14px 8px; font-size: .875rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wg-muted); }
.wg-side-nav .menu { margin: 0; padding: 0; list-style: none; }
.wg-side-nav .menu .menu { padding-left: 12px; }
.wg-side-nav a {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px;
    border-radius: var(--wg-radius); color: var(--wg-navy); font-weight: 600; text-decoration: none;
}
.wg-side-nav a::after { content: ""; width: 16px; height: 16px; background: currentColor; opacity: .35; -webkit-mask: var(--wg-arrow) center/contain no-repeat; mask: var(--wg-arrow) center/contain no-repeat; }
.wg-side-nav a:hover { background: #fff; color: var(--wg-accent-ink); }
.wg-side-nav .is-current > a { background: var(--wg-navy); color: #fff; }
.wg-side-nav .is-current > a::after { opacity: 1; background: var(--wg-accent); }

.wg-help-card { padding: 28px; background: var(--wg-navy); color: #C9D3E6; border-radius: var(--wg-radius-lg); }
.wg-help-card > .wg-icon { width: 36px; height: 36px; margin-bottom: 14px; color: var(--wg-accent); }
.wg-help-card h2 { font-size: 1.375rem; color: #fff; }
.wg-help-card__phone { display: block; margin-bottom: 18px; font-family: var(--wg-font-heading); font-size: 1.5rem; font-weight: 700; color: #fff; text-decoration: none; }
.wg-help-card__phone:hover { color: var(--wg-accent); }

.wg-sidebar .widget { padding: 24px; border: 1px solid var(--wg-line); border-radius: var(--wg-radius-lg); }
.wg-sidebar .widget-title { margin: 0 0 12px; font-size: 1.125rem; }

/* ---------- Cards (listings) ---------- */
.wg-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1023.98px) { .wg-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639.98px) { .wg-card-grid { grid-template-columns: minmax(0, 1fr); } }
.wg-card {
    display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--wg-line); border-radius: var(--wg-radius-lg);
    transition: box-shadow .25s var(--wg-ease), transform .25s var(--wg-ease);
}
.wg-card:hover { transform: translateY(-4px); box-shadow: var(--wg-shadow-lg); }
.wg-card__media { display: block; overflow: hidden; aspect-ratio: 16 / 10; background: var(--wg-mist); }
.wg-card__media img, .wg-card__media picture { display: block; width: 100%; height: 100%; object-fit: cover; }
.wg-card__placeholder { display: grid; place-items: center; height: 100%; background: linear-gradient(135deg, var(--wg-navy), var(--wg-steel)); color: var(--wg-accent); }
.wg-card__placeholder .wg-icon { width: 48px; height: 48px; }
.wg-card__body { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 24px; }
.wg-card__meta { margin: 0; font-size: .875rem; color: var(--wg-muted); }
.wg-card__title { margin: 0; font-size: 1.3125rem; }
.wg-card__title a { color: inherit; text-decoration: none; }
.wg-card__title a:hover { color: var(--wg-accent-ink); }
.wg-card__text { flex: 1; margin: 0 0 8px; color: var(--wg-muted); }

.wg-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 40px; }
.wg-pagination__status { color: var(--wg-muted); font-size: .9375rem; }
.wg-empty { display: grid; justify-items: center; gap: 12px; padding: 56px 24px; text-align: center; color: var(--wg-muted); background: var(--wg-mist); border-radius: var(--wg-radius-lg); }
.wg-empty .wg-icon { width: 40px; height: 40px; color: var(--wg-teal); }

/* ---------- Careers ---------- */
.wg-job {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-bottom: 16px; padding: 24px 28px;
    background: #fff; border: 1px solid var(--wg-line); border-left: 4px solid var(--wg-accent); border-radius: var(--wg-radius);
    transition: box-shadow .2s var(--wg-ease);
}
.wg-job:hover { box-shadow: var(--wg-shadow); }
.wg-job__main { flex: 1 1 420px; min-width: 0; }
.wg-job__title { margin: 0 0 8px; font-size: 1.375rem; }
.wg-job__title a { color: inherit; text-decoration: none; }
.wg-job__title a:hover { color: var(--wg-accent-ink); }
.wg-job__text { margin: 12px 0 0; color: var(--wg-muted); }
.wg-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.wg-chips li { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; background: var(--wg-mist); color: var(--wg-steel); font-size: .9375rem; font-weight: 600; }
.wg-chips .wg-icon { color: var(--wg-teal); }
.wg-chips--on-dark { margin-top: 20px; }
.wg-chips--on-dark li { background: rgba(255, 255, 255, .1); color: #fff; }
.wg-chips--on-dark .wg-icon { color: var(--wg-accent); }

/* ---------- Search, 404 ---------- */
.wg-search { display: flex; gap: 12px; margin: 0 0 32px; }
.wg-search input {
    flex: 1; min-width: 0; min-height: 48px; padding: 0 16px; font: inherit; color: var(--wg-text);
    border: 2px solid var(--wg-line); border-radius: var(--wg-radius); background: #fff;
}
.wg-search input:focus { border-color: var(--wg-teal); outline: none; box-shadow: 0 0 0 4px rgba(26, 108, 122, .15); }
.wg-notfound { text-align: center; }
.wg-notfound__code { margin: 0; font-family: var(--wg-font-heading); font-size: clamp(5rem, 14vw, 9rem); font-weight: 800; line-height: 1; color: var(--wg-accent); }
.wg-notfound .wg-btn-row { justify-content: center; margin: 24px 0 40px; }
.wg-notfound .wg-search { max-width: 560px; margin-inline: auto; }

/* ---------- Footer ---------- */
.wg-footer { background: var(--wg-navy-deep); color: #A9B4C7; font-size: 1rem; }
.wg-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 40px; padding-block: clamp(56px, 7vw, 88px) 48px; }
@media (max-width: 1023.98px) { .wg-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599.98px) { .wg-footer__grid { grid-template-columns: 1fr; } }
.wg-footer__brand img { display: block; height: 44px; width: auto; margin-bottom: 20px; }
.wg-footer__brand p { max-width: 36ch; }
.wg-footer__title { margin: 0 0 18px; font-size: 1rem; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.wg-footer__title::after { content: ""; display: block; width: 28px; height: 3px; margin-top: 10px; background: var(--wg-accent); border-radius: 2px; }
.wg-footer .menu { margin: 0; padding: 0; list-style: none; }
.wg-footer .menu .menu { display: none; }
.wg-footer .menu a { display: inline-block; padding: 6px 0; color: #C9D3E6; text-decoration: none; }
.wg-footer .menu a:hover { color: var(--wg-accent); }
.wg-contact-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.wg-contact-list li { display: flex; gap: 12px; }
.wg-contact-list .wg-icon { margin-top: .2em; color: var(--wg-accent); }
.wg-contact-list a { color: #C9D3E6; text-decoration: none; }
.wg-contact-list a:hover { color: #fff; text-decoration: underline; }
.wg-socials { display: flex; gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.wg-socials a {
    display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .18); color: #fff; transition: background-color .2s, border-color .2s, color .2s;
}
.wg-socials a:hover { background: var(--wg-accent); border-color: var(--wg-accent); color: var(--wg-navy); }
.wg-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .08); font-size: .9375rem; }
.wg-footer__bottom-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-block: 20px; }
.wg-footer__bottom p { margin: 0; }

/* Floating WhatsApp button. */
.wg-whatsapp {
    position: fixed; right: 20px; bottom: 20px; z-index: 30; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
    background: #25D366; color: #fff; box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .45);
    transition: transform .2s var(--wg-ease);
}
.wg-whatsapp:hover { transform: scale(1.06); color: #fff; }
.wg-whatsapp .wg-icon { width: 28px; height: 28px; }

/* ---------- Widgets (core) ---------- */
.widget { margin-bottom: 0; }
.widget-list { list-style: none; margin: 0; padding: 0; }
.widget-list li { padding: 6px 0; border-bottom: 1px solid var(--wg-line); }
.widget-html > :last-child { margin-bottom: 0; }

/* ---------- Hero slider ----------
 * Section `wg-hero wg-hero-slider` > Columns `wg-slides` > one Column `wg-slide` per slide
 * (an Image `wg-slide__bg` for the photo, then eyebrow, heading, lead and buttons).
 * All slides share one grid cell, so the hero is as tall as its tallest slide and nothing jumps.
 * Without JavaScript only the first slide shows. */
.wg-canvas .nb-section.wg-hero-slider { padding-block: 0; background-image: none; }
.wg-hero-slider > .nb-section__inner { display: flex; flex-direction: column; padding-block: clamp(72px, 10vw, 136px) clamp(112px, 12vw, 168px); }
.nb-columns.wg-slides { display: grid; gap: 0; }
.wg-slides > .nb-column.wg-slide { grid-area: 1 / 1; position: static; min-width: 0; }
.wg-slide:not(:first-child) { visibility: hidden; opacity: 0; }
.wg-slide .nb-image.wg-slide__bg { position: absolute; inset: 0; z-index: -2; margin: 0; overflow: hidden; }
.wg-slide__bg picture, .wg-slide__bg img { display: block; width: 100%; height: 100%; }
.wg-slide__bg img { object-fit: cover; object-position: 70% 50%; border-radius: 0; transform-origin: 70% 50%; }

.wg-slider-ready .wg-slide { visibility: hidden; opacity: 0; transition: opacity .9s var(--wg-ease), visibility 0s linear .9s; }
.wg-slider-ready .wg-slide.is-active { visibility: visible; opacity: 1; transition: opacity .9s var(--wg-ease), visibility 0s; }
.wg-slider-ready .wg-slide.is-active .wg-slide__bg img { animation: wg-kenburns 9s linear both; }
.wg-slider-ready .wg-slide > :not(.wg-slide__bg) { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--wg-ease), transform .7s var(--wg-ease); }
.wg-slider-ready .wg-slide.is-active > :not(.wg-slide__bg) { opacity: 1; transform: none; }
.wg-slider-ready .wg-slide.is-active > :nth-child(2) { transition-delay: .25s; }
.wg-slider-ready .wg-slide.is-active > :nth-child(3) { transition-delay: .35s; }
.wg-slider-ready .wg-slide.is-active > :nth-child(4) { transition-delay: .45s; }
.wg-slider-ready .wg-slide.is-active > :nth-child(n+5) { transition-delay: .55s; }
@keyframes wg-kenburns { from { transform: scale(1.1); } to { transform: scale(1); } }

.wg-slider-nav { display: flex; align-items: center; gap: 20px; margin-top: clamp(36px, 4.5vw, 56px); }
.wg-hero-slider .wg-hero-points ul { margin-top: clamp(24px, 3vw, 32px); padding-top: clamp(20px, 2.5vw, 28px); border-top: 1px solid rgba(255, 255, 255, .14); }
.wg-slider-dots { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
.wg-slider-dot {
    position: relative; width: 56px; height: 32px; padding: 0; border: 0; background: none; cursor: pointer;
}
.wg-slider-dot::before, .wg-slider-dot::after { content: ""; position: absolute; left: 0; top: 50%; height: 3px; margin-top: -1.5px; border-radius: 2px; }
.wg-slider-dot::before { right: 0; background: rgba(255, 255, 255, .3); }
.wg-slider-dot::after { width: 0; background: var(--wg-accent); }
.wg-slider-dot[aria-current="true"]::after { width: 100%; }
.wg-slider-running .wg-slider-dot[aria-current="true"]::after { width: 0; animation: wg-progress var(--wg-slide-time, 7s) linear forwards; }
.wg-slider-held .wg-slider-dot[aria-current="true"]::after { animation-play-state: paused; }
.wg-slider-dot:hover::before { background: rgba(255, 255, 255, .6); }
@keyframes wg-progress { to { width: 100%; } }
.wg-slider-btn {
    display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; flex: none;
    border: 1.5px solid rgba(255, 255, 255, .45); border-radius: 50%; background: transparent; color: #fff; cursor: pointer;
    transition: background-color .2s, border-color .2s, color .2s;
}
.wg-slider-btn:hover { background: #fff; border-color: #fff; color: var(--wg-navy); }
.wg-slider-btn .wg-icon { width: 18px; height: 18px; }
.wg-slider-btn--prev .wg-icon { transform: rotate(180deg); }
.wg-slider-btn--pause .wg-icon { --wg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Crect x='6' y='4' width='4' height='16' rx='1'/%3E%3Crect x='14' y='4' width='4' height='16' rx='1'/%3E%3C/svg%3E"); }
.wg-slider-paused .wg-slider-btn--pause .wg-icon { --wg-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7 4.5v15a1 1 0 0 0 1.5.86l12-7.5a1 1 0 0 0 0-1.72l-12-7.5A1 1 0 0 0 7 4.5z'/%3E%3C/svg%3E"); }
.wg-slider-count { margin-left: auto; font-family: var(--wg-font-heading); font-weight: 700; letter-spacing: .08em; color: #fff; font-variant-numeric: tabular-nums; }
.wg-slider-count span { color: rgba(255, 255, 255, .55); }
@media (max-width: 767.98px) {
    .wg-slider-count, .wg-slider-btn--prev { display: none; }
    .wg-slider-dot { width: 36px; }
    .wg-slider-nav { gap: 12px; padding-right: 72px; }   /* room for the floating WhatsApp button */
}

/* ---------- Scroll reveal ----------
 * Content is visible by default; theme.js marks elements below the fold with [data-reveal] and
 * adds .is-revealed as they enter the viewport. Siblings are staggered with --wg-reveal-delay. */
.wg-motion [data-reveal] {
    opacity: 0; transform: translate3d(0, 28px, 0);
    transition: opacity .8s var(--wg-ease), transform .9s var(--wg-ease);
    transition-delay: var(--wg-reveal-delay, 0s);
}
.wg-motion [data-reveal="left"] { transform: translate3d(-36px, 0, 0); }
.wg-motion [data-reveal="right"] { transform: translate3d(36px, 0, 0); }
.wg-motion [data-reveal="zoom"] { transform: scale(.94); }
.wg-motion [data-reveal].is-revealed { opacity: 1; transform: none; }
.wg-motion .nb-image[data-reveal] img { transition: transform 1.4s var(--wg-ease); transform: scale(1.06); }
.wg-motion .nb-image[data-reveal].is-revealed img { transform: none; }

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
    .wg-motion [data-reveal] { opacity: 1; transform: none; }
    .wg-slider-ready .wg-slide > :not(.wg-slide__bg) { opacity: 1; transform: none; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
/* ---------- Icons (Lucide-style outlines as CSS masks; colored with currentColor) ---------- */
.wg-icon{display:inline-block;flex:0 0 auto;width:1.15em;height:1.15em;background:currentColor;-webkit-mask:var(--wg-i) center/contain no-repeat;mask:var(--wg-i) center/contain no-repeat;vertical-align:-.2em;}
:root{--wg-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");--wg-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--wg-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");}
.wg-icon--clock,.wg-ic-clock{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");}
.wg-icon--phone,.wg-ic-phone{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");}
.wg-icon--mail,.wg-ic-mail{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");}
.wg-icon--pin,.wg-ic-pin{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");}
.wg-icon--shield,.wg-ic-shield{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");}
.wg-icon--headset,.wg-ic-headset{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E");}
.wg-icon--briefcase,.wg-ic-briefcase{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3C/svg%3E");}
.wg-icon--search,.wg-ic-search{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");}
.wg-icon--check,.wg-ic-check{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");}
.wg-icon--arrow,.wg-ic-arrow{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");}
.wg-icon--chevron,.wg-ic-chevron{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");}
.wg-icon--award,.wg-ic-award{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.48 12.89 17 22l-5-3-5 3 1.52-9.11'/%3E%3C/svg%3E");}
.wg-icon--gauge,.wg-ic-gauge{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 14 4-4'/%3E%3Cpath d='M3.34 19a10 10 0 1 1 17.32 0'/%3E%3C/svg%3E");}
.wg-icon--droplets,.wg-ic-droplets{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z'/%3E%3Cpath d='M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97'/%3E%3C/svg%3E");}
.wg-icon--wrench,.wg-ic-wrench{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E");}
.wg-icon--users,.wg-ic-users{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");}
.wg-icon--clipboard,.wg-ic-clipboard{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='2' width='8' height='4' rx='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E");}
.wg-icon--graduation,.wg-ic-graduation{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5 10-5z'/%3E%3Cpath d='M6 12v5c3 3 9 3 12 0v-5'/%3E%3C/svg%3E");}
.wg-icon--globe,.wg-ic-globe{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E");}
.wg-icon--leaf,.wg-ic-leaf{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10z'/%3E%3Cpath d='M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12'/%3E%3C/svg%3E");}
.wg-icon--whatsapp,.wg-ic-whatsapp{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22z'/%3E%3Cpath d='M9 10a.5.5 0 0 0 1 0V9a.5.5 0 0 0-1 0v1a5 5 0 0 0 5 5h1a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1'/%3E%3C/svg%3E");}
.wg-icon--linkedin,.wg-ic-linkedin{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-4 0v7h-4v-7a6 6 0 0 1 6-6z'/%3E%3Crect x='2' y='9' width='4' height='12'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E");}
.wg-icon--facebook,.wg-ic-facebook{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");}
.wg-icon--instagram,.wg-ic-instagram{--wg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M17.5 6.5h.01'/%3E%3C/svg%3E");}
