/* ADS Wind "AI" theme, light edition: off-white canvas with a pastel aurora and a fine grid,
   white cards with hairline borders, ink-black pill buttons, violet-to-blue gradient accents,
   Geist type. Dark is kept only for contrast moments: the hero dashboard, CTA bands and footer.
   Loaded after refresh.css on every page and overrides the old theme colours. */
:root {
  --ai-bg: #f7f7fa;
  --ai-surface: #ffffff;
  --ai-ink: #0b0b12;
  --ai-text: #0b0b12;
  --ai-body: #4a4f63;
  --ai-muted: #7a8095;
  --ai-line: #e7e7ef;
  --ai-line-2: #d8d8e4;
  --ai-soft: #f3f3f8;
  --ai-violet: #7c3aed;
  --ai-indigo: #4f46e5;
  --ai-blue: #2563eb;
  --ai-cyan: #06b6d4;
  --ai-grad: linear-gradient(100deg, #7c3aed 0%, #4f46e5 38%, #2563eb 68%, #06b6d4 100%);
  --ai-grad-soft: linear-gradient(120deg, #ede9fe 0%, #e0e7ff 50%, #cffafe 100%);
  --ai-shadow: 0 1px 2px rgba(16, 18, 40, .04), 0 12px 32px -18px rgba(16, 18, 40, .18);
  --ai-shadow-hover: 0 1px 2px rgba(16, 18, 40, .05), 0 24px 50px -22px rgba(79, 70, 229, .35);
  --ai-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --aw-display: "Geist", "Mulish", system-ui, sans-serif;
  --aw-grad: var(--ai-grad);
  --aw-grad-text: var(--ai-grad);
  --aw-ink: var(--ai-ink);
  --aw-line: var(--ai-line);
  --aw-blue: #4f46e5;
  --aw-cyan: #06b6d4;
  color-scheme: light;
}

/* ---------- Canvas ---------- */
html { background: var(--ai-bg) !important; }
body, .tm-page, .tm-page-container { background: transparent !important; }
body {
  color: var(--ai-body);
  font-family: "Geist", "Mulish", system-ui, sans-serif;
  font-feature-settings: "ss01", "cv11";
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(38% 34% at 8% 0%, rgba(167, 139, 250, .35), transparent 70%),
    radial-gradient(36% 32% at 92% 2%, rgba(96, 165, 250, .32), transparent 70%),
    radial-gradient(30% 28% at 55% 0%, rgba(103, 232, 249, .18), transparent 70%);
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(15, 15, 40, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 15, 40, .045) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 85% 55% at 50% 0%, #000 10%, transparent 72%);
  mask-image: radial-gradient(ellipse 85% 55% at 50% 0%, #000 10%, transparent 72%);
}
::selection { background: rgba(124, 58, 237, .18); color: var(--ai-ink); }

.uk-section-default, .uk-section-muted, .uk-background-default, .uk-background-muted,
.uk-tile-default, .uk-tile-muted, .tm-headerbar-default, .tm-toolbar-default { background-color: transparent !important; }
.uk-section-default.uk-background-cover:not(.aw-hero) { background-image: none !important; }
img[src*="ellipse0"] { opacity: .45; }

/* ---------- Type ---------- */
p, li, td, th, dd, dt, label, address, figcaption, .el-content, .uk-text-lead, .uk-panel { color: var(--ai-body); }
h1, h2, h3, h4, h5, h6, .uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6,
.uk-heading-small, .uk-heading-medium, .uk-heading-large, .uk-heading-hero, .uk-card-title, .el-title,
b, strong { color: var(--ai-ink) !important; }
h1, .uk-h1, h2, .uk-h2, .uk-heading-small, .uk-heading-medium, .uk-heading-large, .uk-heading-hero {
  font-weight: 600 !important;
  letter-spacing: -0.045em;
  line-height: 1.05 !important;
}
h1, .uk-h1 { font-size: clamp(32px, 4.2vw, 58px) !important; }
h2, .uk-h2 { font-size: clamp(28px, 3.2vw, 46px) !important; }
.uk-heading-medium, .uk-heading-hero { font-size: clamp(36px, 4.6vw, 66px) !important; }
h3, .uk-h3 { letter-spacing: -0.02em; }
h1.uk-h3, h2.uk-h3, h1.uk-h4, h2.uk-h4, h2.uk-h5, h3.uk-h4, .uk-card h2.el-title {
  font-size: clamp(18px, 1.6vw, 21px) !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em;
  font-weight: 600 !important;
}
.uk-text-meta, .uk-text-muted, .el-meta, .uk-article-meta, small { color: var(--ai-muted) !important; }
.uk-text-primary { color: var(--ai-indigo) !important; }
h1 .uk-text-primary, h2 .uk-text-primary, .uk-h1 .uk-text-primary, .uk-h2 .uk-text-primary,
.uk-heading-medium .uk-text-primary, .uk-heading-hero .uk-text-primary, .uk-text-secondary2 {
  -webkit-text-stroke: 0 !important;
  background: var(--ai-grad) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
}
a { color: var(--ai-indigo); }
a:hover { color: var(--ai-violet); }
hr, .uk-hr { border-color: var(--ai-line) !important; }

/* Section headings get a short gradient rule above them. */
.uk-section > .uk-container > .uk-grid:first-child h2.uk-h1::before,
.uk-section > .uk-container > .uk-grid:first-child h2.uk-h2::before {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  margin-bottom: 18px;
  border-radius: 3px;
  background: var(--ai-grad);
}

/* ---------- Header ---------- */
.tm-header .uk-navbar-container, .tm-header-mobile .uk-navbar-container,
.uk-navbar-container:not(.uk-navbar-transparent) {
  background: rgba(255, 255, 255, .72) !important;
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
  border-bottom: 1px solid var(--ai-line) !important;
}
.uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle, .tm-header .uk-navbar-item a { color: #2a2d3b !important; }
.uk-navbar-nav > li:hover > a, .uk-navbar-nav > li.uk-active > a { color: var(--ai-ink) !important; }
.uk-navbar-nav > li > a::after { bottom: 22px; }
.uk-navbar-dropdown, .uk-dropdown, .wpml-ls-sub-menu, .wpml-ls-legacy-dropdown a {
  background: #fff !important;
  border-color: var(--ai-line) !important;
  color: #2a2d3b !important;
}
.uk-navbar-dropdown-nav > li > a, .uk-nav-default > li > a, .uk-nav-primary > li > a { color: var(--ai-body) !important; }
.uk-navbar-dropdown-nav > li > a:hover, .uk-nav-default > li > a:hover, .uk-nav-primary > li > a:hover { color: var(--ai-ink) !important; }
.uk-icon-button { background: #fff !important; color: #2a2d3b !important; box-shadow: none !important; border: 1px solid var(--ai-line); }
.uk-icon-button:hover { background: var(--ai-ink) !important; color: #fff !important; border-color: var(--ai-ink); }
.uk-offcanvas-bar, .uk-modal-dialog, .uk-modal-full .uk-modal-dialog { background: #fff !important; color: var(--ai-body); }

/* ---------- Buttons ---------- */
.uk-button-primary {
  background: var(--ai-ink) !important;
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .08) inset, 0 1px 0 rgba(255, 255, 255, .18) inset, 0 12px 30px -12px rgba(11, 11, 18, .55) !important;
  position: relative;
}
.uk-button-primary:hover {
  background: linear-gradient(100deg, #1a1033, #0b0b12 60%) !important;
  box-shadow: 0 0 0 1px rgba(167, 139, 250, .5) inset, 0 16px 40px -14px rgba(79, 70, 229, .65) !important;
}
.uk-button-default, .uk-button-secondary {
  background: #fff !important;
  background-image: none !important;
  color: var(--ai-ink) !important;
  border: 1px solid var(--ai-line-2) !important;
  box-shadow: 0 1px 2px rgba(16, 18, 40, .05) !important;
}
.uk-button-default:hover, .uk-button-secondary:hover { border-color: var(--ai-ink) !important; }
.uk-button-text { color: var(--ai-indigo) !important; }

/* ---------- Cards ---------- */
.uk-card-default, .uk-card-secondary, .uk-tile, .uk-card-primary {
  background: var(--ai-surface) !important;
  border: 1px solid var(--ai-line) !important;
  color: var(--ai-body);
  box-shadow: var(--ai-shadow) !important;
}
.uk-card-hover:hover, .uk-card-default.el-item:hover, a.uk-card-default:hover {
  border-color: rgba(124, 58, 237, .35) !important;
  box-shadow: var(--ai-shadow-hover) !important;
}

/* Home services cards */
a.uk-card.uk-link-toggle:has(> picture) > picture { background: var(--ai-soft); border-bottom: 1px solid var(--ai-line); }
a.uk-card.uk-link-toggle:has(> picture) > .el-title { color: var(--ai-ink) !important; font-weight: 600; letter-spacing: -0.02em; }
a.uk-card.uk-link-toggle:has(> picture) > .el-title::after {
  background-color: var(--ai-soft);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0b12' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");
  box-shadow: 0 0 0 1px var(--ai-line) inset;
}
a.uk-card.uk-link-toggle:has(> picture):hover > .el-title::after {
  background-color: var(--ai-ink);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");
  box-shadow: 0 10px 24px -8px rgba(11, 11, 18, .5);
}

/* ---------- Hero: light, with the dashboard as a dark device ---------- */
.aw-hero {
  background-color: transparent !important;
  background-image:
    radial-gradient(620px 420px at 82% 30%, rgba(129, 140, 248, .28), transparent 65%),
    radial-gradient(520px 420px at 5% 85%, rgba(167, 139, 250, .25), transparent 65%) !important;
  border-bottom: 1px solid var(--ai-line);
}
.aw-hero::before {
  background-image:
    linear-gradient(rgba(15, 15, 40, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 15, 40, .05) 1px, transparent 1px);
  background-size: 64px 64px;
}
.aw-hero, .aw-hero p, .aw-hero li, .aw-hero .uk-text-lead, .aw-hero .el-content { color: var(--ai-body) !important; }
.aw-hero h1, .aw-hero h2, .aw-hero .uk-h1, .aw-hero .uk-h2, .aw-hero .uk-heading-medium, .aw-hero .uk-heading-hero,
.aw-hero .uk-h3, .aw-hero h3, .aw-hero .sub-head-hero { color: var(--ai-ink) !important; }
.aw-hero .sub-head-hero { opacity: 1; color: var(--ai-body) !important; }
.aw-hero .uk-text-primary, .aw-hero [uk-icon] { color: var(--ai-violet) !important; }
.aw-hero .uk-breadcrumb a, .aw-hero .uk-breadcrumb span { color: var(--ai-muted) !important; }
.aw-hero .uk-card-default { background: #fff !important; border-color: var(--ai-line) !important; color: var(--ai-body); }
.aw-hero .uk-button.uk-button-primary { color: #fff !important; }

.aw-viz__glow { background: radial-gradient(closest-side, rgba(124, 58, 237, .45), transparent); }
.aw-viz__card, .aw-viz__flow {
  background: linear-gradient(160deg, #161a33 0%, #0b0b14 70%) !important;
  border: 1px solid rgba(255, 255, 255, .1) !important;
  box-shadow: 0 40px 80px -30px rgba(30, 27, 75, .55), inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}
.aw-viz__card::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(140deg, rgba(196, 181, 253, .8), rgba(255, 255, 255, .05) 40%, rgba(103, 232, 249, .6));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.aw-viz__num b { background: linear-gradient(100deg, #fff 25%, #c4b5fd 60%, #67e8f9); -webkit-background-clip: text; background-clip: text; }
.aw-viz__head, .aw-viz__period, .aw-viz__kpis small, .aw-viz__lbl small { font-family: var(--ai-mono); letter-spacing: .02em; }
.aw-viz__head { font-size: 12px; text-transform: uppercase; }
.aw-viz p, .aw-viz small, .aw-viz__period, .aw-viz__kpis small { color: #9aa3c7 !important; }
.aw-viz__kpis b, .aw-viz__lbl, .aw-viz__num b { color: #fff !important; }
.aw-viz__num b { color: transparent !important; }
.aw-viz__toast {
  background: rgba(255, 255, 255, .92);
  color: var(--ai-ink);
  border: 1px solid var(--ai-line);
  box-shadow: 0 20px 40px -18px rgba(16, 18, 40, .35);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.aw-viz__tt b { color: var(--ai-ink) !important; }
.aw-viz__tt small { color: var(--ai-muted) !important; }
.aw-viz__step { --c: #7c3aed; }
.aw-viz__step:nth-child(3) { --c: #2563eb; }
.aw-viz__step:last-child { --c: #10b981; }

/* ---------- Contrast bands and footer (dark) ---------- */
.uk-section-primary {
  background-color: #0b0b14 !important;
  background-image:
    radial-gradient(700px 360px at 85% 0%, rgba(99, 102, 241, .45), transparent 65%),
    radial-gradient(600px 360px at 5% 100%, rgba(124, 58, 237, .4), transparent 65%) !important;
}
.uk-section-primary, .uk-section-primary p, .uk-section-primary li, .uk-section-primary .el-content { color: #c9cde0 !important; }
.uk-section-primary h1, .uk-section-primary h2, .uk-section-primary h3, .uk-section-primary .uk-h1, .uk-section-primary .uk-h2,
.uk-section-primary .uk-heading-medium, .uk-section-primary b, .uk-section-primary strong,
.uk-section-primary .uk-h3, .uk-section-primary .uk-h4, .uk-section-primary .uk-h5, .uk-section-primary .el-title { color: #fff !important; }
.uk-section-primary .uk-card-default { background: rgba(255, 255, 255, .04) !important; border-color: rgba(255, 255, 255, .1) !important; }
.uk-section-primary .uk-button-primary, .uk-section-primary .uk-button-default {
  background: #fff !important;
  color: var(--ai-ink) !important;
  border: 0 !important;
}
.uk-overlay-primary { background: rgba(11, 11, 20, .62) !important; }
.uk-section-secondary { background: #0b0b14 !important; border-top: 1px solid var(--ai-line); }
.uk-section-secondary, .uk-section-secondary p, .uk-section-secondary li, .uk-section-secondary a { color: #a9aec4 !important; }
.uk-section-secondary h1, .uk-section-secondary h2, .uk-section-secondary h3, .uk-section-secondary .el-title,
.uk-section-secondary .uk-h1, .uk-section-secondary .uk-h2, .uk-section-secondary .uk-h3, .uk-section-secondary .uk-h4, .uk-section-secondary .uk-h5,
.uk-section-secondary b, .uk-section-secondary strong { color: #fff !important; }
.uk-section-secondary .uk-list a:hover, .uk-section-secondary .el-link:hover, .uk-section-secondary a:hover { color: #fff !important; }
.uk-section-secondary img[src$="logo.svg"] { filter: invert(1) hue-rotate(180deg) brightness(1.3); }

/* ---------- Forms ---------- */
.uk-input, .uk-select, .uk-textarea {
  background: #fff !important;
  color: var(--ai-ink) !important;
  border: 1px solid var(--ai-line-2) !important;
  box-shadow: 0 1px 2px rgba(16, 18, 40, .04) !important;
}
.uk-input:focus, .uk-select:focus, .uk-textarea:focus { border-color: var(--ai-violet) !important; box-shadow: 0 0 0 4px rgba(124, 58, 237, .14) !important; }
.adsw-lead, .adsw-ty {
  --adsw-blue: #4f46e5;
  --adsw-sky: #06b6d4;
  --adsw-ink: #0b0b12;
  --adsw-muted: #7a8095;
  --adsw-line: #d8d8e4;
  --adsw-field: #fff;
  --adsw-grad: linear-gradient(100deg, #0b0b12, #1e1b4b);
  font-family: "Geist", "Mulish", system-ui, sans-serif;
}
.adsw-lead[data-compact] {
  background: #fff;
  border: 1px solid var(--ai-line);
  box-shadow: 0 30px 60px -30px rgba(16, 18, 40, .4);
}
.adsw-chip span { background: #fff !important; color: var(--ai-body) !important; }
.adsw-chip input:checked + span { background: var(--ai-ink) !important; color: #fff !important; border-color: var(--ai-ink) !important; }
.adsw-ty__steps li, .adsw-404__grid a { background: #fff !important; border-color: var(--ai-line) !important; }

/* ---------- Articles ---------- */
.aw-blog-post .aw-article {
  background: transparent !important;
  color: var(--ai-body) !important;
  font-family: "Geist", "Mulish", system-ui, sans-serif !important;
  font-size: 17px;
  line-height: 1.75;
}
.aw-blog-post .aw-article p, .aw-blog-post .aw-article li, .aw-blog-post .aw-article td,
.aw-blog-post .aw-article .aw-tip p, .aw-blog-post .aw-article .aw-warning p, .aw-blog-post .aw-article .aw-step p,
.aw-blog-post .aw-article .aw-faq-a, .aw-blog-post .aw-article .aw-faq-body p, .aw-blog-post .aw-article .aw-card-text { color: var(--ai-body) !important; }
.aw-blog-post .aw-article h2, .aw-blog-post .aw-article h3, .aw-blog-post .aw-article strong,
.aw-blog-post .aw-article .aw-lead, .aw-blog-post .aw-article .aw-quote-text, .aw-blog-post .aw-article .aw-step-title,
.aw-blog-post .aw-article .aw-faq-q, .aw-blog-post .aw-article .aw-faq-accordion summary, .aw-blog-post .aw-article .aw-card-title { color: var(--ai-ink) !important; }
.aw-blog-post .aw-article h2 { font-size: clamp(24px, 2.4vw, 32px) !important; line-height: 1.2 !important; letter-spacing: -0.03em; font-weight: 600; }
.aw-blog-post .aw-article h3 { font-size: clamp(19px, 1.8vw, 22px) !important; }
.aw-blog-post .aw-article .aw-lead, .uk-article blockquote, .aw-blog-post .aw-article .aw-quote { border-left: 3px solid var(--ai-violet) !important; }
.aw-blog-post .aw-article .aw-link { color: var(--ai-indigo) !important; }
.uk-article blockquote, .aw-blog-post .aw-article .aw-box, .aw-blog-post .aw-article .aw-quote,
.aw-blog-post .aw-article .aw-step, .aw-blog-post .aw-article tr:nth-child(2n) td, .aw-blog-post .aw-article .aw-cards-table td {
  background: #fff !important;
  border-color: var(--ai-line) !important;
}
.aw-blog-post .aw-article .aw-box { border: 1px solid rgba(124, 58, 237, .35) !important; box-shadow: var(--ai-shadow); }
.aw-blog-post .aw-article .aw-highlight, .aw-blog-post .aw-article .aw-video-feature,
.aw-blog-post .aw-article .aw-step::before, .aw-blog-post .aw-article .aw-divider, .aw-blog-post .aw-article th {
  background: linear-gradient(120deg, #7c3aed, #4f46e5 50%, #2563eb) !important;
}
.aw-blog-post .aw-article .aw-tip { background: #ecfdf5 !important; }
.aw-blog-post .aw-article .aw-warning { background: #fffbeb !important; }
.aw-blog-post .aw-article .aw-stats-table th { background: none !important; color: var(--ai-indigo) !important; border-bottom-color: rgba(79, 70, 229, .4) !important; }
.aw-blog-post .aw-article .aw-stats-table td { background: none !important; color: var(--ai-muted) !important; }
.aw-blog-post .aw-article .aw-faq-accordion summary::after { color: var(--ai-violet); }
.aw-blog-post .aw-article .aw-cta { background: var(--ai-ink) !important; color: #fff !important; box-shadow: 0 12px 30px -12px rgba(11, 11, 18, .55); }
.aw-blog-post .aw-article .aw-quote-author, .aw-blog-post .aw-article .aw-video-caption { color: var(--ai-muted) !important; }
.uk-table th, .uk-table td, table td, table th { border-color: var(--ai-line) !important; }
code, pre { background: var(--ai-soft) !important; color: #312e81 !important; font-family: var(--ai-mono); }
.uk-breadcrumb > * > *, .uk-breadcrumb a { color: var(--ai-muted) !important; }
.uk-pagination > * > * { color: var(--ai-body); }
.uk-pagination > .uk-active > * { color: var(--ai-ink); }

/* ---------- Sliders ---------- */
.uk-slidenav, .el-slidenav {
  background: #fff !important;
  border: 1px solid var(--ai-line-2) !important;
  color: var(--ai-ink) !important;
  box-shadow: var(--ai-shadow) !important;
}
.uk-slidenav:hover, .el-slidenav:hover { background: var(--ai-ink) !important; color: #fff !important; border-color: var(--ai-ink) !important; }
.uk-dotnav > * > * { border-color: var(--ai-line-2) !important; background: transparent; }
.uk-dotnav > .uk-active > * { background: var(--ai-ink) !important; border-color: var(--ai-ink) !important; }

/* ---------- Artwork ---------- */
img[src^="/assets/services/"] {
  border-radius: 24px;
  border: 1px solid var(--ai-line);
  box-shadow: 0 30px 70px -36px rgba(79, 70, 229, .45);
}
a.uk-card.uk-link-toggle:has(> picture) > picture img[src^="/assets/services/"] { border: 0; box-shadow: none; }
img[src^="/assets/art/"] { max-width: 100%; height: auto; }
@media (min-width: 960px) {
  .uk-grid:has(> div > .el-item > a.uk-link-toggle > picture) > :nth-child(n+4) a.uk-card > picture { flex-basis: 40%; }
}
