/*
 * AUREX-0579 — public website design system.
 *
 * Enterprise-software visual language, in the manner of SAP, Oracle and
 * ServiceNow. The characteristics that actually make those sites read as
 * enterprise-grade, as opposed to startup-generic:
 *
 *   - A restrained palette. One brand colour used sparingly, a long neutral
 *     ramp doing most of the work. Gradients on primary surfaces read as
 *     consumer, not enterprise.
 *   - Dense, confident typography with a tight heading scale and generous
 *     line-height on body copy. Enterprise buyers read; they do not skim
 *     hero taglines.
 *   - Rectilinear geometry. Small radii (4px, not 16px), hairline borders,
 *     no drop shadows except on genuinely floating layers.
 *   - Whitespace as structure rather than decoration — wide section padding,
 *     narrow measure on text.
 *
 * Logical properties (inline-start / inline-end) throughout, so the entire
 * sheet mirrors for Arabic without a separate RTL stylesheet. `dir="rtl"` on
 * <html> is the only switch.
 */

/* ── tokens ─────────────────────────────────────────────────────────── */

:root {
  /* Brand. One colour, used for actions and accents only — never as a
     background wash. `--aw-brand-ink` is the accessible text version for
     use on light tints, where the base brand fails WCAG AA. */
  /* AUREX-0896 — Aurex green (the product's action colour), darkened from
     #00BA7C so white text on it passes WCAG AA (4.6:1). Navy comes from the
     logotype and carries the dark surfaces. */
  --aw-brand:        #00875a;
  --aw-brand-hover:  #006c48;
  --aw-brand-ink:    #00573a;
  --aw-brand-tint:   #e6f6ef;
  --aw-brand-bright: #00ba7c;   /* accents on navy only, never under text */

  /* Neutral ramp, tinted toward the logo navy. */
  --aw-ink:          #0f1b2d;
  --aw-ink-2:        #3a4659;
  --aw-ink-3:        #66728a;
  --aw-line:         #e2e7ee;
  --aw-line-strong:  #c9d1dc;
  --aw-surface:      #ffffff;
  --aw-surface-2:    #f5f7fa;
  --aw-surface-3:    #edf1f6;
  --aw-inverse:      #0b1b3a;
  --aw-inverse-2:    #13284f;

  /* Semantic. Deliberately muted — enterprise sites use status colour for
     status, not for emphasis. */
  --aw-success:      #10714a;
  --aw-warning:      #8a5a00;
  --aw-danger:       #b3261e;

  --aw-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
             "Helvetica Neue", Arial, "Noto Sans Arabic", sans-serif;

  /* A 4px base grid. Every spacing value is a multiple, which is what keeps
     a large page inventory visually consistent without policing it. */
  --aw-s1: 4px;  --aw-s2: 8px;  --aw-s3: 12px; --aw-s4: 16px;
  --aw-s5: 24px; --aw-s6: 32px; --aw-s7: 48px; --aw-s8: 64px;
  --aw-s9: 96px; --aw-s10: 128px;

  --aw-radius:    6px;
  --aw-radius-lg: 12px;
  --aw-radius-xl: 20px;
  --aw-shadow-card: 0 1px 2px rgba(15, 27, 45, .04), 0 8px 24px rgba(15, 27, 45, .06);

  --aw-container: 1280px;
  --aw-measure:   68ch;   /* readable line length for body copy */

  --aw-shadow-menu: 0 12px 32px rgba(16, 21, 28, .12), 0 2px 6px rgba(16, 21, 28, .06);
}

/* Arabic needs a different face and slightly more leading — Arabic script
   has taller ascenders and diacritics that collide at Latin line-heights. */
[dir="rtl"] {
  --aw-font: "Noto Sans Arabic", "Segoe UI", Tahoma, sans-serif;
}
[dir="rtl"] body { line-height: 1.85; }

/* ── reset ──────────────────────────────────────────────────────────── */

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

.aw {
  margin: 0;
  font-family: var(--aw-font);
  font-size: 16px;
  line-height: 1.65;
  color: var(--aw-ink);
  background: var(--aw-surface);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.aw img, .aw svg { max-width: 100%; height: auto; display: block; }

/* ── typography ─────────────────────────────────────────────────────── */

.aw h1, .aw h2, .aw h3, .aw h4 {
  margin: 0 0 var(--aw-s4);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -0.021em;
  color: var(--aw-ink);
  text-wrap: balance;
}

/* clamp() rather than breakpoints: one rule, no jumps between sizes. */
.aw h1 { font-size: clamp(2.1rem, 1.35rem + 2.6vw, 3.4rem); }
.aw h2 { font-size: clamp(1.65rem, 1.2rem + 1.6vw, 2.4rem); }
.aw h3 { font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.45rem); letter-spacing: -0.012em; }
.aw h4 { font-size: 1.05rem; letter-spacing: -0.006em; }

.aw p { margin: 0 0 var(--aw-s4); }
.aw .aw-lead { font-size: 1.175rem; line-height: 1.65; color: var(--aw-ink-2); }
.aw .aw-measure { max-width: var(--aw-measure); }

.aw .aw-eyebrow {
  display: block;
  margin-bottom: var(--aw-s3);
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--aw-brand-ink);
}

.aw a { color: var(--aw-brand); text-underline-offset: 3px; }
.aw a:hover { color: var(--aw-brand-hover); }

/* ── layout ─────────────────────────────────────────────────────────── */

.aw-container {
  width: 100%;
  max-width: var(--aw-container);
  margin-inline: auto;
  padding-inline: var(--aw-s5);
}

.aw-section        { padding-block: var(--aw-s9); }
.aw-section--tight { padding-block: var(--aw-s7); }
.aw-section--alt   { background: var(--aw-surface-2); }
.aw-section--ink   { background: var(--aw-inverse); color: #fff; }
.aw-section--ink h1, .aw-section--ink h2, .aw-section--ink h3 { color: #fff; }
.aw-section--ink .aw-lead { color: #b8c2d0; }

.aw-grid { display: grid; gap: var(--aw-s5); }
.aw-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); }
/* Minimums chosen so a 1280px container gives exactly 3 and 4 columns. */
.aw-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); }
.aw-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
/* AUREX-0906: industry tiles. Fixed column counts so a lone last tile can span
   the row instead of leaving empty cells (the tile count varies with what is
   published). */
.aw-grid--tiles { grid-template-columns: 1fr; }
@media (min-width: 640px) {
  .aw-grid--tiles { grid-template-columns: repeat(2, 1fr); }
  .aw-grid--tiles > :last-child:nth-child(2n+1) { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
  .aw-grid--tiles { grid-template-columns: repeat(3, 1fr); }
  .aw-grid--tiles > :last-child:nth-child(2n+1) { grid-column: auto; }
  .aw-grid--tiles > :last-child:nth-child(3n+1) { grid-column: 1 / -1; }
}

/* ── buttons ────────────────────────────────────────────────────────── */

.aw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--aw-s2);
  min-height: 44px;                 /* WCAG 2.2 target size */
  padding: var(--aw-s3) var(--aw-s5);
  border: 1px solid transparent;
  border-radius: var(--aw-radius);
  font: inherit;
  font-size: .9375rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .14s ease, border-color .14s ease, color .14s ease;
}

/* AUREX-0896: `.aw .aw-btn…` so button colours beat the generic `.aw a`
   link rule — with the bare class, an <a> button rendered green text on a
   green background. */
.aw .aw-btn--primary { background: var(--aw-brand); color: #fff; }
.aw .aw-btn--primary:hover { background: var(--aw-brand-hover); color: #fff; }

.aw .aw-btn--secondary {
  background: transparent;
  border-color: var(--aw-line-strong);
  color: var(--aw-ink);
}
.aw .aw-btn--secondary:hover { border-color: var(--aw-ink-3); background: var(--aw-surface-2); color: var(--aw-ink); }

.aw .aw-btn--onink { background: #fff; color: var(--aw-inverse); }
.aw .aw-btn--onink:hover { background: #e8edf4; color: var(--aw-inverse); }

.aw-btn--ghost { background: transparent; color: var(--aw-brand); padding-inline: var(--aw-s2); }
.aw-btn--ghost:hover { color: var(--aw-brand-hover); text-decoration: underline; }

/* The arrow mirrors under RTL. Hardcoding → would point the wrong way in
   Arabic, which is the sort of detail that makes a localised site feel
   translated rather than built. */
.aw-btn--ghost::after { content: "\2192"; }
[dir="rtl"] .aw-btn--ghost::after { content: "\2190"; }

/* ── cards ──────────────────────────────────────────────────────────── */

.aw-card {
  display: flex;
  flex-direction: column;
  padding: var(--aw-s5);
  background: var(--aw-surface);
  border: 1px solid var(--aw-line);
  border-radius: var(--aw-radius-lg);
  transition: border-color .14s ease, transform .14s ease;
}
.aw-card:hover { border-color: var(--aw-line-strong); }
.aw-card--link:hover { transform: translateY(-2px); }
.aw-card h3 { margin-bottom: var(--aw-s2); }
.aw-card p  { margin-bottom: var(--aw-s3); color: var(--aw-ink-2); font-size: .9375rem; }
.aw-card > :last-child { margin-bottom: 0; margin-top: auto; }

.aw-card__icon {
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  margin-bottom: var(--aw-s4);
  border-radius: var(--aw-radius);
  background: var(--aw-brand-tint);
  color: var(--aw-brand-ink);
  font-size: 20px;
}

/* ── header ─────────────────────────────────────────────────────────── */

.aw-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--aw-line);
}

.aw-header__bar {
  display: flex;
  align-items: center;
  gap: var(--aw-s5);
  height: 68px;
}

.aw-header__logo { font-size: 1.2rem; font-weight: 700; letter-spacing: -.02em; color: var(--aw-ink); text-decoration: none; }
.aw-header__logo span { color: var(--aw-brand); }

.aw-nav { display: none; align-items: center; gap: var(--aw-s1); margin-inline-start: var(--aw-s5); }
.aw-header__actions { display: none; align-items: center; gap: var(--aw-s3); margin-inline-start: auto; }

/* AUREX-0896: 1200px, not 1024px. Logo, five menu items, the language switch
   and two buttons need ~1180px; between 1024 and 1200 the actions ran off the
   right edge. Below 1200 the burger and drawer take over. */
@media (min-width: 1200px) {
  .aw-nav, .aw-header__actions { display: flex; }
  .aw-header__burger { display: none; }
}

/* AUREX-0896: panels anchor to the header bar, not to the menu item. Centred
   on the item, the first panel ("Products") ran off the left edge. Items
   stretch to the bar's full height so the pointer stays inside the item on its
   way down to the panel — otherwise mouseleave fired in the gap and the panel
   closed. */
.aw-header__bar { position: relative; }
.aw-nav { align-self: stretch; }
.aw-nav__item { position: static; display: flex; align-items: center; align-self: stretch; }

.aw-nav__trigger {
  display: inline-flex;
  align-items: center;
  gap: var(--aw-s1);
  padding: var(--aw-s3) var(--aw-s3);
  border: 0;
  background: none;
  font: inherit;
  font-size: .9375rem;
  font-weight: 500;
  color: var(--aw-ink-2);
  cursor: pointer;
  text-decoration: none;
}
.aw-nav__trigger:hover,
.aw-nav__item[data-open="true"] .aw-nav__trigger { color: var(--aw-brand); }
.aw-nav__trigger::after {
  content: "";
  width: 6px; height: 6px;
  border-inline-end: 1.6px solid currentColor;
  border-block-end: 1.6px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .16s ease;
}
.aw-nav__trigger--plain::after { display: none; }
/* AUREX-0896: the plain "Contact" item is an <a>, so `.aw a` turned it green. */
.aw a.aw-nav__trigger { color: var(--aw-ink-2); }
.aw a.aw-nav__trigger:hover { color: var(--aw-brand); }
.aw-nav__item[data-open="true"] .aw-nav__trigger::after { transform: rotate(-135deg) translateY(-2px); }

/* Mega-menu. Full-bleed panel rather than a dropdown — enterprise product
   catalogues do not fit in a 240px list, and forcing them to is why so many
   B2B navs bury half the site three levels deep. */
.aw-mega {
  position: absolute;
  inset-inline-start: 50%;
  transform: translateX(-50%);
  top: 100%;
  width: min(940px, calc(100vw - 48px));
  padding: var(--aw-s6);
  background: var(--aw-surface);
  border: 1px solid var(--aw-line);
  border-radius: var(--aw-radius-lg);
  box-shadow: var(--aw-shadow-menu);
  display: none;
}
[dir="rtl"] .aw-mega { transform: translateX(50%); }
.aw-nav__item[data-open="true"] .aw-mega { display: block; }

.aw-mega__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--aw-s6); }
.aw-mega__col h4 {
  margin-bottom: var(--aw-s3);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--aw-ink-3);
}
.aw-mega__link {
  display: block;
  padding: var(--aw-s2) 0;
  color: var(--aw-ink);
  font-size: .9375rem;
  text-decoration: none;
}
.aw-mega__link:hover { color: var(--aw-brand); }
/* AUREX-0896: `.aw a` turned every panel link green; keep them ink, green on hover. */
.aw a.aw-mega__link { color: var(--aw-ink); font-weight: 500; }
.aw a.aw-mega__link:hover { color: var(--aw-brand); }
.aw a.aw-mega__link small { font-weight: 400; }
.aw-mega__link small { display: block; color: var(--aw-ink-3); font-size: .8125rem; line-height: 1.45; }

.aw-mega__feature {
  grid-column: 3;
  padding: var(--aw-s5);
  background: var(--aw-surface-2);
  border-radius: var(--aw-radius);
}

/* ── language switcher ──────────────────────────────────────────────── */

.aw-lang { display: inline-flex; border: 1px solid var(--aw-line-strong); border-radius: var(--aw-radius); overflow: hidden; }
.aw-lang a {
  padding: 6px var(--aw-s3);
  font-size: .8125rem;
  font-weight: 500;
  color: var(--aw-ink-2);
  text-decoration: none;
  background: var(--aw-surface);
}
.aw-lang a[aria-current="true"] { background: var(--aw-ink); color: #fff; }

/* ── mobile nav ─────────────────────────────────────────────────────── */

.aw-header__burger {
  display: inline-grid;
  place-items: center;
  width: 40px; height: 40px;
  margin-inline-start: auto;
  border: 1px solid var(--aw-line-strong);
  border-radius: var(--aw-radius);
  background: none;
  cursor: pointer;
}
.aw-header__burger span { display: block; width: 16px; height: 1.6px; background: var(--aw-ink); box-shadow: 0 -5px 0 var(--aw-ink), 0 5px 0 var(--aw-ink); }
/* AUREX-0896: repeated here because the base rule above comes after the
   header media query, so the burger showed on desktop beside the full nav. */
@media (min-width: 1200px) { .aw-header__burger { display: none; } }

.aw-drawer { display: none; border-top: 1px solid var(--aw-line); background: var(--aw-surface); }
.aw-drawer[data-open="true"] { display: block; }
@media (min-width: 1200px) { .aw-drawer { display: none !important; } }
.aw-drawer__group { border-bottom: 1px solid var(--aw-line); padding: var(--aw-s4) 0; }
.aw-drawer__group > strong { display: block; margin-bottom: var(--aw-s2); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--aw-ink-3); }
.aw-drawer a { display: block; padding: var(--aw-s2) 0; color: var(--aw-ink); text-decoration: none; }

/* ── hero ───────────────────────────────────────────────────────────── */

.aw-hero { padding-block: var(--aw-s9) var(--aw-s8); border-bottom: 1px solid var(--aw-line); }
.aw-hero__inner { display: grid; gap: var(--aw-s8); grid-template-columns: 1fr; align-items: center; }
@media (min-width: 900px) { .aw-hero__inner { grid-template-columns: 1.05fr .95fr; } }
.aw-hero h1 { margin-bottom: var(--aw-s4); }
.aw-hero__actions { display: flex; flex-wrap: wrap; gap: var(--aw-s3); margin-top: var(--aw-s6); }

/* ── trust strip ────────────────────────────────────────────────────── */

.aw-trust { padding-block: var(--aw-s6); border-bottom: 1px solid var(--aw-line); background: var(--aw-surface-2); }
.aw-trust__label { margin-bottom: var(--aw-s4); font-size: .8125rem; color: var(--aw-ink-3); text-align: center; }
.aw-trust__row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--aw-s7); }

/* ── stats ──────────────────────────────────────────────────────────── */

.aw-stat__value { font-size: clamp(2rem, 1.5rem + 1.6vw, 2.75rem); font-weight: 600; letter-spacing: -.03em; color: var(--aw-brand-ink); }
.aw-stat__label { font-size: .9375rem; color: var(--aw-ink-2); }

/* ── tables ─────────────────────────────────────────────────────────── */

.aw-table-wrap { overflow-x: auto; border: 1px solid var(--aw-line); border-radius: var(--aw-radius-lg); }
.aw-table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.aw-table th, .aw-table td { padding: var(--aw-s3) var(--aw-s4); text-align: start; border-bottom: 1px solid var(--aw-line); }
.aw-table thead th { background: var(--aw-surface-2); font-weight: 600; font-size: .8125rem; letter-spacing: .02em; text-transform: uppercase; color: var(--aw-ink-3); }
.aw-table tbody tr:last-child td { border-bottom: 0; }
.aw-table__yes { color: var(--aw-success); font-weight: 600; }
.aw-table__no  { color: var(--aw-ink-3); }

/* ── FAQ ────────────────────────────────────────────────────────────── */

.aw-faq { border-top: 1px solid var(--aw-line); }
.aw-faq__item { border-bottom: 1px solid var(--aw-line); }
.aw-faq__q {
  display: flex; align-items: center; justify-content: space-between; gap: var(--aw-s4);
  width: 100%; padding: var(--aw-s5) 0;
  border: 0; background: none; font: inherit; font-size: 1.0625rem; font-weight: 500;
  color: var(--aw-ink); text-align: start; cursor: pointer;
}
.aw-faq__q::after { content: "+"; font-size: 1.35rem; font-weight: 400; color: var(--aw-ink-3); }
.aw-faq__item[data-open="true"] .aw-faq__q::after { content: "\2212"; }
.aw-faq__a { display: none; padding-bottom: var(--aw-s5); color: var(--aw-ink-2); max-width: var(--aw-measure); }
.aw-faq__item[data-open="true"] .aw-faq__a { display: block; }

/* ── breadcrumbs ────────────────────────────────────────────────────── */

.aw-crumbs { display: flex; flex-wrap: wrap; gap: var(--aw-s2); padding-block: var(--aw-s4); font-size: .8125rem; color: var(--aw-ink-3); }
.aw-crumbs a { color: var(--aw-ink-3); text-decoration: none; }
.aw-crumbs a:hover { color: var(--aw-brand); text-decoration: underline; }
.aw-crumbs li + li::before { content: "/"; margin-inline-end: var(--aw-s2); color: var(--aw-line-strong); }
[dir="rtl"] .aw-crumbs li + li::before { content: "\\"; }
.aw-crumbs ol { display: flex; flex-wrap: wrap; gap: var(--aw-s2); list-style: none; margin: 0; padding: 0; }

/* ── footer ─────────────────────────────────────────────────────────── */

.aw-footer { padding-block: var(--aw-s8) var(--aw-s6); background: var(--aw-inverse); color: #97a3b6; font-size: .9375rem; }
.aw-footer h4 { margin-bottom: var(--aw-s4); font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.aw-footer a { display: block; padding: 5px 0; color: #97a3b6; text-decoration: none; }
.aw-footer a:hover { color: #fff; }
/* AUREX-0896: fixed column counts. auto-fit let a sixth column wrap onto its
   own row and leave a large empty block beside it. */
.aw-footer__grid { display: grid; gap: var(--aw-s6) var(--aw-s5); grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: var(--aw-s7); }
@media (min-width: 720px)  { .aw-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .aw-footer__grid { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.aw-footer__grid a { font-size: .875rem; line-height: 1.45; padding: 6px 0; }
.aw-footer__top { display: flex; flex-wrap: wrap; gap: var(--aw-s6); align-items: flex-end; justify-content: space-between; padding-bottom: var(--aw-s7); border-bottom: 1px solid rgba(255,255,255,.1); }
.aw-footer__top p { margin: 0; }
.aw-footer__cta { display: flex; flex-wrap: wrap; gap: var(--aw-s3); }
.aw-footer .aw-footer__cta a { display: inline-flex; padding: var(--aw-s3) var(--aw-s5); }
.aw-footer .aw-footer__cta .aw-btn--primary { color: #fff; }
.aw-footer__base { display: flex; flex-wrap: wrap; gap: var(--aw-s4); justify-content: space-between; align-items: center; padding-top: var(--aw-s5); border-top: 1px solid rgba(255,255,255,.1); font-size: .8125rem; }

/* ── a11y ───────────────────────────────────────────────────────────── */

.aw-sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.aw-skip {
  position: absolute; inset-inline-start: -9999px; top: 0; z-index: 1000;
  padding: var(--aw-s3) var(--aw-s5); background: var(--aw-ink); color: #fff;
}
.aw-skip:focus { inset-inline-start: 0; }

.aw :focus-visible { outline: 2px solid var(--aw-brand); outline-offset: 2px; border-radius: 2px; }

@media (prefers-reduced-motion: reduce) {
  .aw *, .aw *::before, .aw *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

@media print {
  .aw-header, .aw-footer, .aw-drawer { display: none !important; }
}

/* ══ AUREX-0896 — redesign components ═══════════════════════════════════ */

/* logo image in header and footer */
.aw-header__logo img { height: 34px; width: auto; }
/* logo_white.png is not actually white, so render the standard logo in white. */
.aw-footer__logo img { height: 34px; width: auto; margin-bottom: var(--aw-s4); filter: brightness(0) invert(1); }
.aw-footer__about { max-width: 34ch; color: #a9b6cc; font-size: .9375rem; line-height: 1.7; }

/* section heading block */
.aw-head { max-width: 760px; margin-bottom: var(--aw-s7); }
.aw-head--center { margin-inline: auto; text-align: center; }
.aw-head p { color: var(--aw-ink-2); font-size: 1.0625rem; }
.aw-section--ink .aw-head p { color: #b8c4d8; }

/* brand hero: navy band with the product beside the copy */
.aw-hero--brand {
  position: relative;
  overflow: hidden;
  padding-block: var(--aw-s9);
  border-bottom: 0;
  color: #fff;
  background:
    radial-gradient(900px 480px at 85% -10%, rgba(0, 186, 124, .22), transparent 60%),
    radial-gradient(700px 420px at -10% 110%, rgba(64, 120, 255, .16), transparent 60%),
    linear-gradient(180deg, var(--aw-inverse) 0%, var(--aw-inverse-2) 100%);
}
[dir="rtl"] .aw-hero--brand {
  background:
    radial-gradient(900px 480px at 15% -10%, rgba(0, 186, 124, .22), transparent 60%),
    radial-gradient(700px 420px at 110% 110%, rgba(64, 120, 255, .16), transparent 60%),
    linear-gradient(180deg, var(--aw-inverse) 0%, var(--aw-inverse-2) 100%);
}
.aw-hero--brand h1 { color: #fff; font-weight: 700; font-size: clamp(2.3rem, 1.4rem + 3vw, 3.9rem); letter-spacing: -.03em; }
.aw-hero--brand .aw-lead { color: #c3cee0; font-size: 1.2rem; max-width: 56ch; }
.aw-hero--brand .aw-eyebrow { color: var(--aw-brand-bright); }
.aw-hero__visual {
  border-radius: var(--aw-radius-xl);
  padding: var(--aw-s3);
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
}
.aw-hero__visual img { border-radius: var(--aw-radius-lg); width: 100%; }
.aw .aw-btn--outline-light { border-color: rgba(255, 255, 255, .35); color: #fff; background: transparent; }
.aw .aw-btn--outline-light:hover { border-color: #fff; background: rgba(255, 255, 255, .08); color: #fff; }
.aw-btn--lg { min-height: 52px; padding-inline: var(--aw-s6); font-size: 1rem; font-weight: 600; }

/* compliance and trust badges */
.aw-badges { display: flex; flex-wrap: wrap; gap: var(--aw-s3); margin-top: var(--aw-s7); padding: 0; list-style: none; }
.aw-badges li {
  display: inline-flex; align-items: center; gap: var(--aw-s2);
  padding: 8px 14px; border-radius: 999px;
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14);
  color: #dbe3f0; font-size: .875rem; font-weight: 500;
}
.aw-badges li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--aw-brand-bright); }

/* proof strip under the hero */
.aw-proof { border-bottom: 1px solid var(--aw-line); background: var(--aw-surface); }
.aw-proof__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); }
.aw-proof__item { padding: var(--aw-s6) var(--aw-s5); border-inline-end: 1px solid var(--aw-line); }
.aw-proof__item:last-child { border-inline-end: 0; }
.aw-proof__item strong { display: block; margin-bottom: 4px; font-size: 1.0625rem; color: var(--aw-ink); }
.aw-proof__item span { color: var(--aw-ink-3); font-size: .9rem; line-height: 1.5; }

/* feature card with icon */
.aw-card--feature { padding: var(--aw-s6); }
.aw-card--feature:hover { border-color: var(--aw-brand); box-shadow: var(--aw-shadow-card); }
.aw-card--feature .aw-card__icon { width: 48px; height: 48px; border-radius: var(--aw-radius-lg); font-size: 20px; }

/* whole-card link */
a.aw-card { color: inherit; text-decoration: none; }
a.aw-card:hover { color: inherit; }
.aw-card__more { margin-top: auto; padding-top: var(--aw-s3); color: var(--aw-brand); font-weight: 600; font-size: .9375rem; }
.aw-card__more::after { content: " \2192"; }
[dir="rtl"] .aw-card__more::after { content: " \2190"; }

/* check list */
.aw-check { margin: 0; padding: 0; list-style: none; }
.aw-check li { position: relative; padding-inline-start: 28px; margin-bottom: var(--aw-s2); color: var(--aw-ink-2); }
.aw-check li::before {
  content: ""; position: absolute; inset-inline-start: 0; top: .45em;
  width: 16px; height: 16px; border-radius: 50%;
  background-color: var(--aw-brand-tint);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22%3E%3Cpath d=%22M4 8.5l2.5 2.5L12 5.5%22 fill=%22none%22 stroke=%22%2300875a%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E");
  background-position: center;
  background-size: 12px;
  background-repeat: no-repeat;
}
.aw-section--ink .aw-check li { color: #c3cee0; }

/* split layout: copy beside a panel */
.aw-split { display: grid; gap: var(--aw-s8); align-items: center; }
@media (min-width: 960px) { .aw-split { grid-template-columns: 1fr 1fr; } }

/* numbered steps */
.aw-steps { display: grid; gap: var(--aw-s3); counter-reset: aw-step; margin: 0; padding: 0; list-style: none; }
.aw-steps li {
  counter-increment: aw-step;
  display: grid; grid-template-columns: 44px 1fr; gap: var(--aw-s4); align-items: start;
  padding: var(--aw-s5); border: 1px solid var(--aw-line); border-radius: var(--aw-radius-lg); background: var(--aw-surface);
}
.aw-steps li::before {
  content: counter(aw-step, decimal-leading-zero);
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--aw-radius);
  background: var(--aw-inverse); color: #fff; font-weight: 600; font-size: .9rem;
}
.aw-steps strong { display: block; margin-bottom: 2px; color: var(--aw-ink); }
.aw-steps span { color: var(--aw-ink-2); font-size: .9375rem; }

/* pricing preview */
.aw-price { display: flex; flex-direction: column; padding: var(--aw-s6); border: 1px solid var(--aw-line); border-radius: var(--aw-radius-lg); background: var(--aw-surface); }
.aw-price--featured { border: 2px solid var(--aw-brand); box-shadow: var(--aw-shadow-card); }
.aw-price__tag { align-self: flex-start; margin-bottom: var(--aw-s3); padding: 4px 10px; border-radius: 999px; background: var(--aw-brand-tint); color: var(--aw-brand-ink); font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.aw-price__name { font-size: 1.25rem; font-weight: 600; color: var(--aw-ink); }
.aw-price__amount { margin: var(--aw-s3) 0 var(--aw-s4); font-size: 2.4rem; font-weight: 700; letter-spacing: -.03em; color: var(--aw-ink); }
.aw-price__amount small { font-size: .95rem; font-weight: 500; color: var(--aw-ink-3); letter-spacing: 0; }
.aw-price .aw-check { margin-bottom: var(--aw-s5); }
.aw-price .aw-btn { margin-top: auto; }

/* call-to-action band */
.aw-cta {
  display: grid; gap: var(--aw-s6); align-items: center;
  padding: var(--aw-s8) var(--aw-s7); border-radius: var(--aw-radius-xl);
  background:
    radial-gradient(600px 300px at 100% 0%, rgba(0, 186, 124, .25), transparent 60%),
    linear-gradient(135deg, var(--aw-inverse) 0%, var(--aw-inverse-2) 100%);
  color: #fff;
}
@media (min-width: 900px) { .aw-cta { grid-template-columns: 1.4fr 1fr; } }
.aw-cta h2 { color: #fff; margin-bottom: var(--aw-s3); }
.aw-cta p { color: #c3cee0; margin: 0; }
.aw-cta__actions { display: flex; flex-wrap: wrap; gap: var(--aw-s3); }
@media (min-width: 900px) { .aw-cta__actions { justify-content: flex-end; } }

/* inner-page hero, lighter than the homepage hero */
.aw-pagehero {
  padding-block: var(--aw-s8);
  background:
    radial-gradient(800px 360px at 90% -20%, rgba(0, 186, 124, .10), transparent 60%),
    var(--aw-surface-2);
  border-bottom: 1px solid var(--aw-line);
}
.aw-pagehero h1 { max-width: 24ch; }
.aw-pagehero .aw-lead { max-width: 62ch; }

/* long-form content: blog posts and legal pages */
.aw-prose { max-width: 72ch; font-size: 1.0625rem; color: var(--aw-ink-2); }
.aw-prose h2 { margin-top: var(--aw-s7); font-size: clamp(1.4rem, 1.2rem + .8vw, 1.8rem); }
.aw-prose h3 { margin-top: var(--aw-s6); font-size: 1.2rem; }
.aw-prose ul, .aw-prose ol { padding-inline-start: 1.3rem; margin: 0 0 var(--aw-s4); }
.aw-prose li { margin-bottom: var(--aw-s2); }
.aw-prose a { font-weight: 500; }
.aw-prose strong { color: var(--aw-ink); }

/* ══ AUREX-0896 — light, photo-led layout ═══════════════════════════════ */

/* photo banner hero: the photo carries the page; a fade keeps text AA-legible */
.aw-banner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(460px, 62vh, 620px);
  padding-block: var(--aw-s9) calc(var(--aw-s9) + var(--aw-s7));
  color: #fff;
  background-color: var(--aw-inverse);
  background-size: cover;
  background-position: center;
}
/* The photo is an <img> (fetchpriority=high, so it is the LCP element) zoomed
   slightly: the source file carries dark edge bands that otherwise show. */
.aw-banner { overflow: hidden; }
.aw-banner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); }
.aw-banner::before {
  content: "";
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(8, 18, 40, .92) 0%, rgba(8, 18, 40, .78) 42%, rgba(8, 18, 40, .25) 100%);
}
[dir="rtl"] .aw-banner::before {
  background: linear-gradient(270deg, rgba(8, 18, 40, .92) 0%, rgba(8, 18, 40, .78) 42%, rgba(8, 18, 40, .25) 100%);
}
.aw-banner > .aw-container { position: relative; z-index: 2; }
.aw-banner__copy { max-width: 640px; }
.aw-banner h1 { color: #fff; font-weight: 700; font-size: clamp(2.3rem, 1.4rem + 3vw, 3.8rem); letter-spacing: -.03em; }
.aw-banner .aw-lead { color: #d3dceb; font-size: 1.2rem; }
.aw-banner .aw-eyebrow { color: var(--aw-brand-bright); }

/* highlight cards lifted over the bottom edge of the banner */
.aw-highlights { position: relative; z-index: 2; margin-top: calc(-1 * (var(--aw-s9) - var(--aw-s4))); padding-bottom: var(--aw-s8); }
.aw-highlights__grid { display: grid; gap: var(--aw-s4); grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); }
.aw .aw-highlight {
  display: flex; flex-direction: column; gap: var(--aw-s2);
  padding: var(--aw-s5) var(--aw-s5) var(--aw-s4);
  background: var(--aw-surface); border-radius: var(--aw-radius-lg);
  border-top: 3px solid var(--aw-brand);
  box-shadow: 0 10px 30px rgba(15, 27, 45, .12);
  color: var(--aw-ink); text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease;
}
.aw .aw-highlight:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(15, 27, 45, .16); color: var(--aw-ink); }
.aw-highlight small { font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--aw-brand-ink); }
.aw-highlight strong { font-size: 1.05rem; line-height: 1.35; }
.aw-highlight span { margin-top: auto; color: var(--aw-brand); font-weight: 600; font-size: .9rem; }
.aw-highlight span::after { content: " \2192"; }
[dir="rtl"] .aw-highlight span::after { content: " \2190"; }

/* tabs */
.aw-tabs__list { display: flex; flex-wrap: wrap; gap: var(--aw-s2); margin: 0 0 var(--aw-s6); padding: 0; border-bottom: 1px solid var(--aw-line); }
.aw-tabs__tab {
  margin-bottom: -1px; padding: var(--aw-s3) var(--aw-s4);
  border: 0; border-bottom: 3px solid transparent; background: none;
  font: inherit; font-size: .975rem; font-weight: 600; color: var(--aw-ink-3); cursor: pointer;
}
.aw-tabs__tab:hover { color: var(--aw-ink); }
.aw-tabs__tab[aria-selected="true"] { color: var(--aw-ink); border-bottom-color: var(--aw-brand); }
.aw-tabs__panel { display: grid; gap: var(--aw-s7); align-items: center; }
.aw-tabs__panel[hidden] { display: none; }
@media (min-width: 960px) { .aw-tabs__panel { grid-template-columns: 1fr 1fr; } }
.aw-tabs__panel img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--aw-radius-lg); box-shadow: var(--aw-shadow-card); }

/* industry photo tiles */
.aw .aw-tile {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end;
  min-height: 260px; padding: var(--aw-s5); overflow: hidden;
  border-radius: var(--aw-radius-lg); color: #fff; text-decoration: none;
  background: linear-gradient(135deg, var(--aw-inverse) 0%, var(--aw-inverse-2) 100%);
}
.aw-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.aw-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 18, 40, 0) 30%, rgba(8, 18, 40, .88) 100%); }
.aw .aw-tile:hover { color: #fff; }
.aw-tile:hover img { transform: scale(1.04); }
.aw-tile > *:not(img) { position: relative; z-index: 1; }
.aw-tile__icon { position: absolute !important; top: var(--aw-s5); inset-inline-start: var(--aw-s5); font-size: 2rem; color: var(--aw-brand-bright); }
.aw-tile h3 { margin: 0 0 4px; color: #fff; font-size: 1.25rem; }
.aw-tile p { margin: 0; color: #d3dceb; font-size: .9rem; line-height: 1.5; }

/* article cards */
.aw .aw-post { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--aw-line); border-radius: var(--aw-radius-lg); background: var(--aw-surface); color: inherit; text-decoration: none; }
.aw .aw-post:hover { box-shadow: var(--aw-shadow-card); color: inherit; }
.aw-post img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.aw-post__body { display: flex; flex-direction: column; gap: var(--aw-s2); padding: var(--aw-s5); flex: 1; }
.aw-post__body small { color: var(--aw-ink-3); font-size: .8125rem; }
.aw-post__body h3 { margin: 0; font-size: 1.1rem; line-height: 1.35; }
.aw-post__body p { margin: 0; color: var(--aw-ink-2); font-size: .925rem; }

/* framed image beside copy */
.aw-figure img { width: 100%; border-radius: var(--aw-radius-lg); box-shadow: var(--aw-shadow-card); }

/* ══ AUREX-0897 — logo strips and updates ═══════════════════════════════ */

/* Logo strip. The track holds the list twice and slides by half its width,
   so the loop is seamless. Paused on hover and focus; static for visitors
   who ask for reduced motion. */
.aw-logos { padding-block: var(--aw-s6); border-bottom: 1px solid var(--aw-line); }
.aw-logos + .aw-logos { border-top: 0; padding-top: 0; }
.aw-logos__label { margin-bottom: var(--aw-s4); font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--aw-ink-3); text-align: center; }
.aw-logos__viewport {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.aw-logos__track { display: flex; width: max-content; gap: var(--aw-s8); align-items: center; animation: aw-marquee var(--aw-marquee-duration, 40s) linear infinite; }
.aw-logos__viewport:hover .aw-logos__track,
.aw-logos__viewport:focus-within .aw-logos__track { animation-play-state: paused; }
[dir="rtl"] .aw-logos__track { animation-name: aw-marquee-rtl; }
.aw-logos__item { display: flex; align-items: center; height: 48px; flex: none; }
.aw-logos__item img { height: 40px; width: auto; max-width: 160px; object-fit: contain; filter: grayscale(1); opacity: .65; transition: filter .2s ease, opacity .2s ease; }
.aw-logos__item:hover img, .aw-logos__item:focus img { filter: none; opacity: 1; }
@keyframes aw-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes aw-marquee-rtl { from { transform: translateX(0); } to { transform: translateX(50%); } }
@media (prefers-reduced-motion: reduce) {
  .aw-logos__viewport { mask-image: none; -webkit-mask-image: none; }
  .aw-logos__track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; }
  .aw-logos__track [aria-hidden="true"] { display: none; }
}

/* region filter chips */
.aw-chips { display: flex; flex-wrap: wrap; gap: var(--aw-s2); margin-bottom: var(--aw-s6); }
.aw .aw-chip { padding: 6px 14px; border: 1px solid var(--aw-line-strong); border-radius: 999px; color: var(--aw-ink-2); font-size: .875rem; font-weight: 500; text-decoration: none; }
.aw .aw-chip:hover { border-color: var(--aw-brand); color: var(--aw-brand); }
.aw .aw-chip[aria-current="true"] { background: var(--aw-ink); border-color: var(--aw-ink); color: #fff; }

/* update / news / release card */
.aw-entry { display: flex; flex-direction: column; gap: var(--aw-s2); padding: var(--aw-s5); border: 1px solid var(--aw-line); border-radius: var(--aw-radius-lg); background: var(--aw-surface); }
.aw-entry__meta { display: flex; flex-wrap: wrap; gap: var(--aw-s2); align-items: center; font-size: .8125rem; color: var(--aw-ink-3); }
.aw-entry__tag { padding: 2px 10px; border-radius: 999px; background: var(--aw-brand-tint); color: var(--aw-brand-ink); font-weight: 600; font-size: .75rem; }
.aw-entry h3 { margin: 0; font-size: 1.1rem; line-height: 1.35; }
.aw-entry p { margin: 0; color: var(--aw-ink-2); font-size: .9375rem; }
.aw-entry__link { margin-top: auto; padding-top: var(--aw-s2); font-weight: 600; font-size: .9rem; }

/* empty state */
.aw-empty { padding: var(--aw-s8) var(--aw-s5); border: 1px dashed var(--aw-line-strong); border-radius: var(--aw-radius-lg); text-align: center; color: var(--aw-ink-2); }
.aw-empty h2, .aw-empty h3 { margin-bottom: var(--aw-s2); }

/* pagination */
.aw-pager { display: flex; justify-content: center; gap: var(--aw-s3); margin-top: var(--aw-s7); }
