/* ══════════════════════════════════════════════════════════════════
   x101 · flat theme
   Loads last, after style.css / x101.css / x101-illustrations.css.

   Removes every decorative gradient in the page chrome and replaces it
   with one flat dark ground plus a solid accent:

     · background art on in-page content sections           → off
     · blurred colour glows (.blurry-shape-*)                → off
     · --bg-gradient fills (buttons, pills, icon tiles)      → solid accent
     · gradient-filled text (background-clip: text)          → solid accent
     · scrims and tints that only existed to tame bright art → off

   Structure now comes from surface steps and hairline borders, not from
   colour washes. Everything here is an override, so deleting the single
   <link> to this file restores the gradient theme exactly.
   ══════════════════════════════════════════════════════════════════ */

/* ── 1 · Tokens ─────────────────────────────────────────────────── */
:root {
  /* The theme builds every accent fill from this one variable, so
     flattening it here retires most gradients site-wide in one line. */
  --bg-gradient: var(--color-primary);
  --bg-gradient-secondary: var(--color-secondary);
  --gradient-bg: var(--color-primary);

  /* The two band tones are pulled further apart than a conventional
     dark-on-dark step, so section boundaries read at a glance without
     a divider: the ground goes nearly black, the alternate band sits a
     clear step above it. */
  --x-ground: #07080e;      /* odd section bands */
  --x-band: #191d28;        /* even section bands — the lighter step */
  /* Cards are a translucent white rather than a fixed colour, so one
     value lifts correctly off both band tones. */
  --x-surface: rgba(255, 255, 255, 0.045);
  --x-surface-2: rgba(255, 255, 255, 0.07);
  --x-hairline: rgba(255, 255, 255, 0.10);
}

/* ── 2 · One flat ground ────────────────────────────────────────── */
body,
.smooth-scroll-yes.bg-dark {
  background-color: var(--x-ground) !important;
}

/* Section bands: whatever utility class they carry, they all land on
   the same ground. Specificity has to beat `.bg-dark .bg-dark` and
   `.bg-dark .bg-gray` from the theme. */
.bg-dark [class*="-area"],
.bg-dark [class*="-area"].bg-gray,
.bg-dark [class*="-area"].bg-dark,
.bg-dark [class*="-area"].bg-theme,
.bg-dark footer.footer-style-one {
  background-color: var(--x-ground) !important;
  background-image: none !important;
}

/* Every other band steps up one tone, so sections separate without a
   gradient or a border. nth-of-type counts the <div> bands only — the
   <header> and <footer> are different elements, so the alternation is
   not thrown off by them. */
.bg-dark > div[class*="-area"]:nth-of-type(even) {
  background-color: var(--x-band) !important;
}

/* The same utility classes are reused on cards inside those bands —
   those keep a surface step so they still read as objects. */
.bg-dark .bg-gray:not([class*="-area"]),
.bg-dark .bg-dark:not([class*="-area"]) {
  background-color: var(--x-surface) !important;
  background-image: none !important;
  border: 1px solid var(--x-hairline);
}

/* ── 3 · Decorative background art ──────────────────────────────── */
/* Page heroes keep their artwork — every band listed further down is a
   hero on some page, and .x-bg-banner-2 is the "new interface"
   headline highlight. What goes is the art on in-page content
   sections, which is what made the middle of a page busy:
     · .x-bg-banner-17 — the "Voice" section
     · .x-bg-banner-22 — "How x101 compares"
     · .x-bg-1 / -3 / -8, .x-bg-44-* — noise textures and swooshes
   `.x-bg-map` also stays: a dotted world map, not a wash. */
.x-bg-banner-7,
.x-bg-banner-17,
.x-bg-banner-22,
.x-bg-1,
.x-bg-3,
.x-bg-8,
.x-bg-44-left,
.x-bg-44-right,
.x-bg-abstract-blue-purple-wavy-gradient-background {
  background-image: none !important;
}

/* Section 2 blanks background-image on every band, so the hero images
   are re-declared here, after it. The `[class*="-area"]` compound is
   needed to outrank `.bg-dark [class*="-area"].bg-theme` up there,
   which every hero matches. */
.bg-dark [class*="-area"].x-bg-banner-1,
.bg-dark .x-bg-banner-1 {
  background-image: url(../img/shape/banner-1.jpg) !important;   /* the home page hero */
}
.bg-dark [class*="-area"].x-bg-banner-10,
.bg-dark .x-bg-banner-10 {
  background-image: url(../img/shape/banner-10.jpg) !important;   /* connectors hero */
}
.bg-dark [class*="-area"].x-bg-banner-11,
.bg-dark .x-bg-banner-11 {
  background-image: url(../img/shape/banner-11.jpg) !important;   /* compare / glossary heroes */
}
.bg-dark [class*="-area"].x-bg-banner-14,
.bg-dark .x-bg-banner-14 {
  background-image: url(../img/shape/banner-14.jpg) !important;   /* platform-family heroes */
}
.bg-dark [class*="-area"].x-bg-banner-15,
.bg-dark .x-bg-banner-15 {
  background-image: url(../img/shape/banner-15.jpg) !important;   /* platform hero */
}
.bg-dark [class*="-area"].x-bg-banner-18,
.bg-dark .x-bg-banner-18 {
  background-image: url(../img/shape/banner-18.jpg) !important;   /* "Built to connect" and the case-study heroes */
}
.bg-dark [class*="-area"].x-bg-banner-23,
.bg-dark .x-bg-banner-23 {
  background-image: url(../img/shape/banner-23.jpg) !important;   /* contact hero */
}
.bg-dark [class*="-area"].x-bg-banner-25,
.bg-dark .x-bg-banner-25 {
  background-image: url(../img/shape/banner-25.jpg) !important;   /* privacy / terms / DPA heroes */
}

/* ── 4 · Blurred colour glows off ───────────────────────────────── */
[class*="blurry-shape"]::before,
[class*="blurry-shape"]::after,
footer.footer-style-one::after,
.bg-dark footer.footer-style-one.bg-gray::after {
  display: none !important;
}

/* ── 5 · Tints on sections whose artwork is gone ────────────────── */
/* The hero scrims in x101.css are left alone on purpose: they carry
   headline contrast over the hero photographs, which are still there. */
#compare-teaser .curve-text {
  background: rgba(9, 10, 20, 0.55) !important;
  box-shadow: none !important;
}

/* ── 6 · Gradient-filled text back to solid ─────────────────────── */
.sub-title,
.bg-dark.text-light .sub-title,
footer .gradient-text,
.x-map-core-id b,
.gradient-text {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--color-primary) !important;
}
footer .gradient-text { box-shadow: none !important; }

/* The hero kicker is a bordered pill, so its own background must survive
   the rule above — only the text fill was gradient there. */
.x-hero-split .banner-one-content h4.sub-title {
  background: transparent !important;
  color: var(--color-primary) !important;
}

/* ── 8 · No coloured drop shadows on the illustration cards ─────── */
/* The three shadow tokens were purple-tinted glows, which read as a
   halo around every framed mock. On the flat ground the hairline
   border carries the edge on its own. */
.x-illus {
  --shadow-1: none;
  --shadow-2: none;
  --shadow-brand: none;
}
.x-illus .frame,
.x-illus .x-art-panel,
.x-illus .arch-frame,
.x-illus .dg-art { box-shadow: none !important; }

/* ── 9 · Panels and cards: surface step + hairline ──────────────── */
.x-hero-trust .x-trust-item {
  background: var(--x-surface) !important;
  backdrop-filter: none;
  border-color: var(--x-hairline);
}

/* ── 10 · Map/diagram tiles in the hero-map variant ─────────────── */
.x-map-band--core {
  background: rgba(116, 118, 255, 0.10) !important;
}

/* ── 11 · Hero proof points as glass chips ──────────────────────── */
/* Back under the CTA, inside the copy column. The two short chips
   share the first line; the wide "100%" chip is last in the markup and
   wraps onto its own line beneath them — 242 + 303 + gap fits the
   663px column, 338 more does not, so the break is the natural one. */
.banner-one-content .x-hero-checks {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}
.x-hero-checks li {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 14px 7px 11px;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1.4;
  white-space: nowrap;

  /* Glass: translucent ground, blurred backdrop, a brighter hairline
     and a top inner highlight so the pill catches light on its edge. */
  background: rgba(255, 255, 255, 0.07);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 2px 10px -6px rgba(0, 0, 0, 0.6);
}
.x-hero-checks li b { font-weight: 700; color: #fff; }
.x-hero-checks li .ph { font-size: 13px; }

@media (max-width: 1399px) {
  /* Narrower column: a size down keeps the first line to two chips. */
  .banner-one-content .x-hero-checks { gap: 8px; }
  .x-hero-checks li { font-size: 12.5px; padding: 6px 12px 6px 10px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  /* Narrowest desktop column (483px): one more size step keeps the two
     short chips together on the first line. */
  .banner-one-content .x-hero-checks { gap: 6px; }
  .x-hero-checks li {
    font-size: 11.5px;
    padding: 5px 10px 5px 8px;
    gap: 5px;
  }
  /* The check marks are decoration; dropping them here buys the ~34px
     the two chips need to stay on one line in a 456px column. */
  .x-hero-checks li .ph { display: none; }
}
@media (max-width: 991px) {
  .banner-one-content .x-hero-checks { justify-content: center; margin-top: 24px; }
}
@media (max-width: 575px) {
  .x-hero-checks li { white-space: normal; }
}
