/* =====================================================================
   D-FENCE website — site.css
   Extends the Global Standard design system (assets/ds/*). Prefix x-.
   Two themes on the system's role tokens (tokens are role-named, exactly so a
   second theme can be added):
   · LIGHT (default — the CEO's choice): the Global Standard palette as designed,
     white paper and one cobalt.
   · DARK, in blue tones: deep navy grounds, the same cobalt family lifted for
     contrast. Switched with the header toggle (html[data-theme="dark"]), saved
     per visitor; ?theme=dark / ?theme=light in the URL forces one.
   Components are unchanged; 3px rules, 2px max radius, motion <= 450 ms hold.
   ===================================================================== */

/* ---------- Light theme = tokens.css as delivered; only site-level roles here ---------- */
:root {
  --x-header-bg: rgba(255, 255, 255, 0.94);
  --x-header-line: #ccd3dd;
  --x-hero-fade: rgba(255, 255, 255, 0);   /* light pages: the dark photo band ends cleanly, no fade */
  color-scheme: light;
}
/* ---------- Dark theme in blue tones ---------- */
html[data-theme="dark"] {
  --paper: #081530;          /* page ground — deep navy */
  --paper-2: #0d1d40;        /* tiles, panels */
  --paper-3: #14285a;        /* pressed / placeholders */
  --rule: #203766;           /* hairlines */
  --rule-control: #5c74aa;   /* control borders, 3.4:1 on paper */
  --rule-strong: #e6edff;    /* the 3px editorial rule */
  --ink: #eef3ff;            /* headlines, numerals — 16:1 on paper */
  --ink-2: #b9c7e8;          /* body — 10:1 */
  --ink-3: #8c9ecb;          /* captions — 6.4:1 on paper, 5.9:1 on paper-2 */
  --cobalt-10: #10245a; --cobalt-20: #c9d8ff; --cobalt-50: #6b93ff; --cobalt-60: #3a6bff; --cobalt-70: #2d57e0; --cobalt-90: #0b1f66;
  --accent-ink: #92b3ff;     /* links / eyebrow indices — 8:1 */
  --link: #92b3ff; --link-hover: #c0d3ff;
  --action: #3a6bff; --action-hover: #2d57e0; --action-press: #1f43b8; --on-action: #ffffff; /* white on action 4.6:1 */
  --action-disabled: #18294f; --on-action-disabled: #7f91bd;
  --focus: #a9c2ff; --focus-on-slab: #ffffff;
  --bracket: #5b8cff;
  --ground-slab: #1f4fe0; --on-slab: #ffffff; --on-slab-muted: #d6e0ff;
  --tint: #10245a;
  --secure: #4adf9f; --secure-tint: #0b2b2b;
  --alarm: #d4112f; --alarm-tint: #2c0d1d; --on-alarm: #ffffff;
  --on-ink: #081530;
  --shadow-rule: 0 1px 0 #203766;
  --x-header-bg: rgba(8, 21, 48, 0.92);
  --x-header-line: #203766;
  --x-hero-fade: rgba(8, 21, 48, 1);       /* dark pages: the photo band melts into the navy */
  color-scheme: dark;
}
body { background: var(--paper); }
/* theme-dependent logo: full-colour on light, the company's white wordmark on dark */
.x-logo--dark { display: none !important; }
html[data-theme="dark"] .x-logo--light { display: none !important; }
html[data-theme="dark"] .x-logo--dark { display: block !important; }
/* theme toggle */
.x-theme svg { width: 22px; height: 22px; stroke-width: 1.5; }
.x-theme .x-theme__sun { display: none; }
html[data-theme="dark"] .x-theme .x-theme__sun { display: block; }
html[data-theme="dark"] .x-theme .x-theme__moon { display: none; }
.x-theme { box-shadow: inset 0 0 0 1px var(--rule-control); }
.x-theme:hover { background: var(--paper-2); }
.x-theme:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
/* certification marks are black-on-transparent artwork: give them a white chip on dark grounds */
html[data-theme="dark"] .gs-std__iso > img, html[data-theme="dark"] .gs-footer__std img { background: #fff; padding: 8px; border-radius: var(--radius-1); box-sizing: content-box; }
html[data-theme="dark"] .gs-footer__std img { padding: 4px; }
/* headers stay a solid band over photography */
.gs-header { background: var(--x-header-bg); backdrop-filter: saturate(1.2) blur(10px); -webkit-backdrop-filter: saturate(1.2) blur(10px); }
.gs-header.is-scrolled { box-shadow: 0 1px 0 var(--x-header-line); }
.x-sheet { background: var(--paper); }
/* surfaces that always sit on dark photography keep light text in BOTH themes */
.x-hero, .x-sol, .x-mob__tile, .x-mob__band {
  --ink: #f2f6ff; --ink-2: #d2dcf0; --ink-3: #a9b7d3; --accent-ink: #9dbaff; --link: #9dbaff; --link-hover: #c9d8ff;
  --rule-strong: #f2f6ff; --rule-control: rgba(255,255,255,0.55); --on-ink: #081530; --focus: #b5ccff; --paper-2: rgba(255,255,255,0.08);
}

/* ---------- Page scaffolding ---------- */
.gs-caption > b:first-child { margin-inline-end: 8px; }
/* the hero headline must stay on two lines at every width ("Know before / the line is crossed.") */
.gs-hero__title.gs-display--hero { font-size: clamp(44px, 8.6vw, 132px); }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height-scrolled) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.x-main { display: block; }
.x-sec { padding-block: var(--space-24); }
.x-sec--tight { padding-block: var(--space-16); }
.x-sec--paper2 { background: var(--paper-2); }
.x-sec + .x-sec { padding-top: 0; }
.x-sec--paper2 + .x-sec, .x-sec + .x-sec--paper2 { padding-top: var(--space-24); }
.x-mt-6 { margin-top: var(--space-6); } .x-mt-8 { margin-top: var(--space-8); } .x-mt-12 { margin-top: var(--space-12); } .x-mt-16 { margin-top: var(--space-16); }
.x-skip {
  position: absolute; inset-inline-start: 16px; top: -100px; z-index: 100; padding: 12px 18px;
  background: var(--action); color: var(--on-action); font-family: var(--font-display); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.04em; text-decoration: none;
}
.x-skip:focus { top: 12px; outline: 3px solid var(--focus); outline-offset: 3px; }

/* ---------- Header additions: language links + mobile sheet ---------- */
.gs-lang a {
  display: inline-grid; place-items: center; min-width: 44px; height: 40px; padding: 0 10px; border-radius: var(--radius-1);
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; font-weight: 500; color: var(--ink-2); text-decoration: none;
  transition: background-color var(--dur-base) var(--ease-in-out), color var(--dur-base) var(--ease-in-out);
}
.gs-lang a:lang(he) { font-family: var(--font-hebrew); font-size: 15px; letter-spacing: 0; }
.gs-lang a[aria-current="true"] { background: var(--ink); color: var(--on-ink); }
.gs-lang a:not([aria-current="true"]):hover { background: var(--paper-2); color: var(--ink); }
.gs-lang a:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }

.x-sheet {
  position: fixed; inset: 0; z-index: 60; display: flex; flex-direction: column; background: var(--paper);
  padding: 0 var(--gutter-mobile) var(--space-8); overflow-y: auto;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);
}
.x-sheet.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.x-sheet__top { display: flex; align-items: center; justify-content: space-between; height: 64px; border-bottom: 1px solid var(--rule); }
.x-sheet__top img { width: var(--logo-min); display: block; }
.x-sheet nav ul { display: grid; margin-top: var(--space-4); border-top: 3px solid var(--rule-strong); }
.x-sheet nav a {
  display: flex; align-items: center; justify-content: space-between; min-height: 64px; border-bottom: 1px solid var(--rule);
  font-family: var(--font-display); font-weight: 600; font-size: 34px; line-height: 1; text-transform: uppercase; letter-spacing: 0.01em;
  color: var(--ink); text-decoration: none;
}
.x-sheet nav a[aria-current="page"] { color: var(--accent-ink); }
.x-sheet nav a span { font-family: var(--font-mono); font-size: 12px; font-weight: 500; color: var(--ink-3); letter-spacing: 0.08em; }
.x-sheet__tools { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; justify-content: space-between; margin-top: var(--space-8); }
.x-sheet__chan { margin-top: var(--space-8); display: grid; gap: var(--space-3); }
.x-sheet__chan a { font-family: var(--font-display); font-weight: 600; font-size: 26px; color: var(--ink); text-decoration: none; direction: ltr; text-align: start; }
.x-sheet__chan small { display: block; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); }
body.x-locked { overflow: hidden; }
.gs-header .gs-header__menu { display: none; }
@media (max-width: 767px) {
  .gs-hero__top, .x-intro__top { flex-direction: column; align-items: flex-start; gap: 6px; padding-bottom: var(--space-6); }
  .gs-hero { padding-top: var(--space-8); }
  .x-intro { padding-bottom: var(--space-8); }
}
@media (max-width: 1023px) {
  .gs-header__tools { margin-inline-start: auto; }
  .gs-header .gs-header__menu { display: inline-grid; }
  .gs-header { padding-inline: var(--gutter-mobile); height: 72px; }
  .gs-header .gs-header__tools .gs-btn { display: none; }
  .gs-header__brand img { width: var(--logo-min); }
}
@media (min-width: 1024px) { .x-sheet { display: none; } }
@media (min-width: 1024px) and (max-width: 1240px) {
  .gs-nav ul { gap: 14px; }
  .gs-nav a { font-size: 15px; letter-spacing: 0.03em; }
  .gs-header { gap: var(--space-4); }
  .gs-header__brand img { width: 150px; }
}

/* ---------- Breadcrumbs + inner-page intro ---------- */
.x-crumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: var(--space-8);
  font-family: var(--font-mono); font-size: 12px; line-height: 16px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); }
.x-crumbs a { color: var(--ink-2); text-decoration: none; min-height: 32px; display: inline-flex; align-items: center; }
.x-crumbs a:hover { color: var(--accent-ink); }
.x-crumbs i { width: 14px; height: 1px; background: var(--rule-strong); display: inline-block; }
.x-intro { padding-top: var(--space-8); padding-bottom: var(--space-12); }
.x-intro__top { display: flex; justify-content: space-between; gap: var(--space-8); align-items: baseline; padding-bottom: var(--space-6); }
.x-intro__title { font-size: clamp(56px, 9vw, 136px); line-height: 0.9; margin-inline-start: -0.03em; }
.x-intro__row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-8) var(--grid-gap); margin-top: var(--space-8); align-items: end; }
.x-intro__lede { grid-column: 1 / span 7; }
.x-intro__side { grid-column: 9 / span 4; display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: flex-end; }
@media (max-width: 767px) {
  .x-intro__row { grid-template-columns: minmax(0, 1fr); }
  .x-intro__lede, .x-intro__side { grid-column: 1 / -1; justify-content: flex-start; }
}

/* ---------- Full-bleed bands ---------- */
.x-band { position: relative; overflow: hidden; background: var(--paper-3); height: clamp(320px, 52vw, 720px); }
.x-band > img, .x-band > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.x-band--short { height: clamp(260px, 36vw, 520px); }
.x-band--contain { background: var(--paper-2); height: auto; }
.x-band--contain { isolation: isolate; }
.x-band--contain > img { position: relative; z-index: 1; width: 100%; height: auto; max-height: 92vh; object-fit: contain; }   /* above its blurred .x-fill copy (a static image painted under the absolutely positioned fill) */
.x-band__open {
  position: absolute; inset-inline-end: var(--gutter); bottom: var(--space-6); z-index: 2;
}
@media (max-width: 767px) { .x-band__open { inset-inline-end: var(--gutter-mobile); bottom: var(--space-4); } }

/* ---------- Buttons on photos / small helpers ---------- */
.x-btn-paper { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.x-btn-paper:hover { background: var(--ink); color: var(--on-ink); border-color: var(--ink); }
.x-num-ltr { direction: ltr; unicode-bidi: isolate; display: inline-block; }

/* ---------- The product catalogue (Products page) ---------- */
.x-famhead { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-6); flex-wrap: wrap;
  padding-top: var(--space-4); border-top: 3px solid var(--rule-strong); margin-top: var(--space-16); }
.x-famhead:first-child { margin-top: 0; }
.x-famhead h2 { font-size: clamp(40px, 5vw, 72px); line-height: 0.95; }
.x-famhead p { max-width: 56ch; }
.x-cat { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: var(--space-6); }
.x-plate { position: relative; display: grid; grid-column: span 6; background: var(--paper-2); color: var(--ink); text-decoration: none; min-width: 0; }
.x-plate--wide { grid-column: span 7; }
.x-plate--narrow { grid-column: span 5; }
.x-plate--full { grid-column: 1 / -1; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.x-plate--third { grid-column: span 4; }
.x-plate::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; z-index: 3; background: var(--bracket);
  transform: scaleX(0); transform-origin: 0 50%; transition: transform var(--dur-fast) var(--ease-out);
}
.x-plate:hover::before, .x-plate:focus-visible::before { transform: scaleX(1); }
.x-plate:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.x-plate__media { position: relative; overflow: hidden; background: var(--paper-3); aspect-ratio: 4 / 3; }
.x-plate--full .x-plate__media { aspect-ratio: auto; min-height: 520px; }
.x-plate__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 420ms var(--ease-out); }
.x-plate__media--sheet { background: var(--paper); }
.x-plate__media--sheet img { object-fit: contain; padding: var(--space-4); }
.x-plate:hover .x-plate__media img { transform: scale(1.025); }
.x-plate__idx { position: absolute; top: 0; inset-inline-start: 0; z-index: 2; padding: 10px 14px; background: var(--paper);
  font-family: var(--font-mono); font-size: 12px; line-height: 16px; letter-spacing: 0.08em; color: var(--ink); }
.x-plate__idx b { color: var(--accent-ink); font-weight: 500; margin-inline-end: 6px; }
.x-plate__count { position: absolute; bottom: 0; inset-inline-end: 0; z-index: 2; padding: 8px 12px; background: var(--ink); color: var(--on-ink);
  font-family: var(--font-mono); font-size: 12px; line-height: 16px; letter-spacing: 0.06em; display: inline-flex; gap: 8px; align-items: center; }
.x-plate__count svg { width: 14px; height: 14px; stroke-width: 1.75; }
.x-plate__body { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-6); }
.x-plate--full .x-plate__body { padding: var(--space-10); justify-content: flex-end; }
.x-plate__fam { font-family: var(--font-mono); font-size: 12px; line-height: 16px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.x-plate__fam b { color: var(--accent-ink); font-weight: 500; }
.x-plate__name { font-family: var(--font-display); font-weight: 600; font-size: 40px; line-height: 40px; letter-spacing: 0.005em; }
.x-plate--full .x-plate__name { font-size: clamp(48px, 5.4vw, 88px); line-height: 0.92; }
.x-plate__value { font-size: 16px; line-height: 24px; color: var(--ink-2); max-width: 52ch; }
.x-plate__specs { display: flex; flex-wrap: wrap; gap: 6px; }
.x-plate__go { margin-top: auto; padding-top: var(--space-2); display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-display); font-weight: 600; font-size: 16px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--link); }
.x-plate__go svg { width: 20px; height: 20px; stroke-width: 1.75; transition: transform var(--dur-fast) var(--ease-out); }
.x-plate:hover .x-plate__go svg { transform: translateX(4px); }
@media (max-width: 1023px) {
  .x-plate, .x-plate--wide, .x-plate--narrow, .x-plate--third { grid-column: span 6; }
  .x-plate--full { grid-template-columns: minmax(0, 1fr); }
  .x-plate--full .x-plate__media { min-height: 0; aspect-ratio: 16 / 10; }
}
@media (max-width: 767px) {
  .x-cat { grid-template-columns: minmax(0, 1fr); }
  .x-plate, .x-plate--wide, .x-plate--narrow, .x-plate--third, .x-plate--full { grid-column: 1 / -1; }
  .x-plate__media { margin-inline: calc(var(--gutter-mobile) * -1); }
  .x-plate__name { font-size: 34px; line-height: 34px; }
}

/* family jump chips */
.x-jump { display: flex; flex-wrap: wrap; gap: 8px; }
.x-jump a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px; border-radius: var(--radius-1);
  font-family: var(--font-display); font-weight: 600; font-size: 17px; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); text-decoration: none; box-shadow: inset 0 0 0 1px var(--rule-control); background: var(--paper);
  transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.x-jump a:hover { background: var(--ink); color: var(--on-ink); }
.x-jump a b { font-family: var(--font-mono); font-size: 12px; font-weight: 500; color: var(--accent-ink); letter-spacing: 0.06em; }
.x-jump a:hover b { color: var(--on-ink); }

/* ---------- Product page ---------- */
.x-phero { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-8) var(--grid-gap); padding-top: var(--space-8); padding-bottom: var(--space-10); align-items: end; }
.x-phero__text { grid-column: 1 / span 7; display: flex; flex-direction: column; gap: var(--space-4); }
.x-phero__name { font-family: var(--font-display); font-weight: 600; font-size: clamp(60px, 9.4vw, 150px); line-height: 0.88; letter-spacing: 0; margin-inline-start: -0.03em; }
.x-phero__side { grid-column: 9 / span 4; display: flex; flex-direction: column; gap: var(--space-4); }
.x-phero__cta { display: flex; flex-wrap: wrap; gap: var(--space-3); }
@media (max-width: 1023px) { .x-phero__text, .x-phero__side { grid-column: 1 / -1; } }
@media (max-width: 767px) { .x-phero { grid-template-columns: minmax(0, 1fr); } }

.x-pgrid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-10) var(--grid-gap); }
.x-pgrid__main { grid-column: 1 / span 7; }
.x-pgrid__aside { grid-column: 9 / span 4; }
@media (max-width: 1023px) { .x-pgrid { grid-template-columns: minmax(0, 1fr); } .x-pgrid__main, .x-pgrid__aside { grid-column: 1 / -1; } }
.x-prose { display: grid; gap: var(--space-4); max-width: 68ch; }
.x-prose p { font-size: 18px; line-height: 30px; color: var(--ink-2); }
.x-prose p:first-child { font-size: 21px; line-height: 32px; color: var(--ink); }

.x-feats { counter-reset: feat; border-top: 3px solid var(--rule-strong); margin-top: var(--space-10); }
.x-feats li { counter-increment: feat; display: grid; grid-template-columns: 44px 1fr; gap: 2px 12px; padding-block: 16px; border-bottom: 1px solid var(--rule); }
.x-feats li::before { content: counter(feat, decimal-leading-zero); grid-row: span 2; font-family: var(--font-mono); font-size: 12px; line-height: 26px; letter-spacing: 0.06em; color: var(--accent-ink); }
.x-feats h3 { font-size: 18px; line-height: 26px; font-weight: 600; color: var(--ink); }
.x-feats p { font-size: 15px; line-height: 23px; color: var(--ink-2); }

.x-specs { border-top: 3px solid var(--rule-strong); }
.x-specs__title { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); padding-block: 12px; border-bottom: 1px solid var(--rule); display: flex; justify-content: space-between; gap: 12px; }
.x-specs__title b { color: var(--ink); font-weight: 500; }
.x-specs dl { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.x-specs dt, .x-specs dd { padding-block: 12px; border-bottom: 1px solid var(--rule); margin: 0; }
.x-specs dt { font-family: var(--font-mono); font-size: 12px; line-height: 20px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-3); padding-inline-end: 12px; }
.x-specs dd { font-size: 15px; line-height: 21px; color: var(--ink); font-weight: 500; }
.x-aside-block + .x-aside-block { margin-top: var(--space-10); }
.x-aside-block h2, .x-aside-block h3.x-kicker { font-family: var(--font-mono); font-weight: 400; font-size: 12px; line-height: 16px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); padding-bottom: 12px; border-bottom: 3px solid var(--rule-strong); margin-bottom: var(--space-4); }

/* ---------- Gallery: images shown whole (masonry columns) ---------- */
.x-gallery { columns: 3 320px; column-gap: var(--grid-gap); }
.x-gallery--2 { columns: 2 380px; }
.x-gallery--4 { columns: 4 240px; }
.x-shot { break-inside: avoid; margin: 0 0 var(--grid-gap); position: relative; background: var(--paper-2); }
.x-shot > button, .x-shot > a { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; position: relative; text-align: start; color: inherit; }
.x-shot img { display: block; width: 100%; height: auto; }
.x-shot > button:focus-visible, .x-shot > a:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.x-shot figcaption { padding: 10px 14px 12px; font-family: var(--font-mono); font-size: 12px; line-height: 16px; letter-spacing: 0.04em; color: var(--ink-3); }
.x-shot figcaption b { color: var(--ink); font-weight: 500; letter-spacing: 0.08em; margin-inline-end: 6px; unicode-bidi: isolate; white-space: nowrap; }
.x-shot__zoom { position: absolute; top: 10px; inset-inline-end: 10px; width: 36px; height: 36px; display: grid; place-items: center; background: var(--paper); color: var(--ink);
  opacity: 0; transform: translateY(-4px); transition: opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.x-shot__zoom svg { width: 18px; height: 18px; stroke-width: 1.75; }
.x-shot:hover .x-shot__zoom, .x-shot:focus-within .x-shot__zoom { opacity: 1; transform: none; }
.x-shot--sheet { background: var(--paper); box-shadow: inset 0 0 0 1px var(--rule); }
.x-shot--sheet img { padding: 10px; }
@media (max-width: 767px) { .x-gallery, .x-gallery--2, .x-gallery--4 { columns: 1; } .x-gallery--4 { columns: 2; } }

/* filmstrip: manual horizontal scroll, snaps, never auto-plays */
.x-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 30%); gap: var(--grid-gap); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: var(--space-4); scrollbar-width: thin; }
.x-strip > * { scroll-snap-align: start; }
.x-strip .x-shot { margin: 0; }
.x-strip .x-shot img { aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 767px) { .x-strip { grid-auto-columns: 82%; } }

/* ---------- Video tiles ---------- */
.x-videos { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); }
.x-vid { grid-column: span 4; position: relative; display: flex; flex-direction: column; background: var(--paper-2); }
.x-vid--wide { grid-column: span 8; }
.x-vid--half { grid-column: span 6; }
.x-vid__btn { position: relative; display: block; width: 100%; padding: 0; border: 0; cursor: pointer; background: var(--ink); aspect-ratio: 16 / 9; overflow: hidden; }
.x-vid__btn img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 420ms var(--ease-out), opacity var(--dur-base) var(--ease-out); }
.x-vid__btn:hover img { transform: scale(1.02); }
.x-vid__play { position: absolute; inset-inline-start: 0; bottom: 0; z-index: 2; display: inline-flex; align-items: center; gap: 12px; height: 56px; padding: 0 22px 0 18px;
  background: var(--action); color: var(--on-action); font-family: var(--font-display); font-weight: 600; font-size: 18px; letter-spacing: 0.04em; text-transform: uppercase;
  transition: background-color var(--dur-fast) var(--ease-out); }
.x-vid__btn:hover .x-vid__play { background: var(--action-hover); }
.x-vid__play svg { width: 22px; height: 22px; stroke-width: 1.75; fill: currentColor; }
.x-vid__dur { position: absolute; top: 0; inset-inline-end: 0; z-index: 2; padding: 8px 12px; background: var(--paper); color: var(--ink); font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em; direction: ltr; }
.x-vid__btn:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.x-vid__body { padding: var(--space-4) var(--space-6) var(--space-6); display: grid; gap: 6px; }
.x-vid__title { font-family: var(--font-display); font-weight: 600; font-size: 26px; line-height: 28px; text-transform: uppercase; letter-spacing: 0.01em; }
.x-vid__meta { font-family: var(--font-mono); font-size: 12px; line-height: 16px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-3); }
.x-vid p { font-size: 15px; line-height: 22px; color: var(--ink-2); }
@media (max-width: 1023px) { .x-vid, .x-vid--wide, .x-vid--half { grid-column: span 6; } }
@media (max-width: 767px) { .x-videos { grid-template-columns: minmax(0, 1fr); } .x-vid, .x-vid--wide, .x-vid--half { grid-column: 1 / -1; } }

/* ---------- Lightbox (images + video) ---------- */
.x-lb { position: fixed; inset: 0; z-index: 90; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0;
  background: rgba(10, 20, 48, 0.97); color: var(--on-ink); display: none; }
.x-lb[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.x-lb::backdrop { background: rgba(10, 20, 48, 0.97); }
.x-lb__bar { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: 12px var(--gutter); }
.x-lb__count { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; color: var(--cobalt-20); direction: ltr; }
.x-lb__tools { display: flex; gap: 8px; }
.x-lb__btn { display: inline-grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(255,255,255,0.35); border-radius: var(--radius-1);
  background: transparent; color: var(--on-ink); cursor: pointer; text-decoration: none; transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.x-lb__btn:hover { background: var(--paper); color: var(--ink); }
.x-lb__btn:focus-visible { outline: 3px solid var(--focus-on-slab); outline-offset: 3px; }
.x-lb__btn svg { width: 22px; height: 22px; stroke-width: 1.75; }
.x-lb__stage { position: relative; display: grid; place-items: center; min-height: 0; padding: 0 76px; }
.x-lb__stage img, .x-lb__stage video { max-width: 100%; max-height: 100%; width: auto; height: auto; display: block; object-fit: contain; background: #06122e; }
.x-lb__stage img { background: transparent; }
.x-lb__stage img.is-in { animation: x-lb-in var(--dur-base) var(--ease-out); }
@keyframes x-lb-in { from { opacity: 0.001; transform: scale(0.985); } to { opacity: 1; transform: none; } }
.x-lb__nav { position: absolute; top: 50%; margin-top: -28px; width: 56px; height: 56px; }
.x-lb__nav--prev { inset-inline-start: 12px; }
.x-lb__nav--next { inset-inline-end: 12px; }
[dir="rtl"] .x-lb__nav svg { transform: scaleX(-1); }
.x-lb__cap { padding: 14px var(--gutter) 18px; display: flex; justify-content: space-between; gap: var(--space-6); align-items: baseline; border-top: 1px solid rgba(255,255,255,0.18); }
.x-lb__cap p { font-family: var(--font-mono); font-size: 13px; line-height: 20px; letter-spacing: 0.03em; color: var(--paper-3); max-width: 110ch; }
.x-lb__cap b { color: var(--on-ink); font-weight: 500; letter-spacing: 0.08em; margin-inline-end: 8px; unicode-bidi: isolate; white-space: nowrap; }
@media (max-width: 767px) {
  .x-lb__stage { padding: 0 8px; }
  .x-lb__nav { top: auto; bottom: 8px; margin-top: 0; background: rgba(10,20,48,0.8); }
  .x-lb__bar, .x-lb__cap { padding-inline: var(--gutter-mobile); }
}
@media (prefers-reduced-motion: reduce) { .x-lb__stage img.is-in { animation: none; } }

/* ---------- Certificates wall ---------- */
.x-certs { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); }
.x-cert { grid-column: span 3; display: flex; flex-direction: column; background: var(--paper-2); position: relative; min-width: 0; }
.x-cert--feature { grid-column: span 6; }
.x-cert::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; z-index: 3; background: var(--bracket);
  transform: scaleX(0); transform-origin: 0 50%; transition: transform var(--dur-fast) var(--ease-out);
}
.x-cert:hover::before, .x-cert:focus-within::before { transform: scaleX(1); }
.x-cert__doc { display: block; width: 100%; padding: var(--space-6) var(--space-6) 0; border: 0; background: none; cursor: zoom-in; }
.x-cert__doc span { display: block; aspect-ratio: 1 / 1.414; background: var(--paper); box-shadow: inset 0 0 0 1px var(--rule); overflow: hidden; position: relative; }
.x-cert--landscape .x-cert__doc span { aspect-ratio: 1.414 / 1; }
.x-cert__doc img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; }
.x-cert__doc:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.x-cert__body { padding: var(--space-4) var(--space-6) var(--space-6); display: flex; flex-direction: column; gap: 8px; flex: 1; }
.x-cert__kind { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent-ink); }
.x-cert__title { font-family: var(--font-display); font-weight: 600; font-size: 26px; line-height: 27px; text-transform: uppercase; letter-spacing: 0.01em; }
.x-cert__meta { font-size: 14px; line-height: 20px; color: var(--ink-2); }
.x-cert__links { margin-top: auto; padding-top: 8px; display: flex; gap: 20px; flex-wrap: wrap; }
.x-cert__links .gs-arrowlink { font-size: 15px; min-height: 36px; }
@media (max-width: 1023px) { .x-cert { grid-column: span 6; } .x-cert--feature { grid-column: 1 / -1; } }
@media (max-width: 520px) { .x-certs { grid-template-columns: minmax(0, 1fr); } .x-cert, .x-cert--feature { grid-column: 1 / -1; } }

/* ---------- Downloads ---------- */
.x-docs { border-top: 3px solid var(--rule-strong); }
.x-doc { display: grid; grid-template-columns: 32px 1fr auto; gap: 14px; align-items: center; min-height: 64px; padding-block: 10px; border-bottom: 1px solid var(--rule); color: var(--ink); text-decoration: none; }
.x-doc svg { width: 22px; height: 22px; stroke-width: 1.5; }
.x-doc b { display: block; font-weight: 600; font-size: 16px; line-height: 22px; }
.x-doc small { display: block; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-3); }
.x-doc:hover { color: var(--accent-ink); }
.x-doc:hover > svg:last-child { transform: translateY(2px); }
.x-doc > svg:last-child { transition: transform var(--dur-fast) var(--ease-out); }
.x-doc:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }

/* ---------- Trust strip (clients as text) ---------- */
.x-trust { border-top: 3px solid var(--rule-strong); padding-top: var(--space-6); display: grid; grid-template-columns: 220px 1fr; gap: var(--space-6); }
.x-trust ul { display: flex; flex-wrap: wrap; }
.x-trust li { font-family: var(--font-display); font-weight: 600; font-size: 24px; line-height: 40px; letter-spacing: 0.01em; color: var(--ink-2);
  padding-inline-end: 16px; margin-inline-end: 16px; border-inline-end: 1px solid var(--rule); margin-bottom: 6px; }
.x-trust li:last-child { border-inline-end: 0; }
@media (max-width: 767px) { .x-trust { grid-template-columns: minmax(0, 1fr); } .x-trust li { font-size: 20px; line-height: 32px; } }

/* ---------- Sector detail rows (Solutions page) ---------- */
.x-sector { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-8) var(--grid-gap); padding-block: var(--space-12); border-top: 3px solid var(--rule-strong); }
.x-sector__head { grid-column: 1 / span 5; display: flex; flex-direction: column; gap: var(--space-4); }
.x-sector__n { font-family: var(--font-display); font-weight: 700; font-size: 120px; line-height: 0.8; color: var(--ink); direction: ltr; text-align: start; }
.x-sector__name { font-size: clamp(40px, 4.6vw, 64px); line-height: 0.95; }
.x-sector__body { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: var(--space-4); }
.x-sector__media { grid-column: 1 / -1; }
.x-sector__prods { display: flex; flex-wrap: wrap; gap: 8px; }
.x-sector__prods a { text-decoration: none; }
.x-sector__prods a:hover .gs-tag { background: var(--ink); color: var(--on-ink); box-shadow: none; }
@media (max-width: 1023px) { .x-sector__head, .x-sector__body { grid-column: 1 / -1; } .x-sector__n { font-size: 88px; } }

/* ---------- Sector ladder placement (the staircase) ---------- */
.x-ladder a.gs-sector { text-decoration: none; }
.x-ladder a.gs-sector:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.x-ladder .x-s1 { grid-column: 1 / 3; grid-row: 6 / 9; }
.x-ladder .x-s2 { grid-column: 3 / 5; grid-row: 5 / 9; }
.x-ladder .x-s3 { grid-column: 5 / 7; grid-row: 4 / 9; }
.x-ladder .x-s4 { grid-column: 7 / 9; grid-row: 3 / 9; }
.x-ladder .x-s5 { grid-column: 9 / 11; grid-row: 2 / 9; }
.x-ladder .x-s6 { grid-column: 11 / 13; grid-row: 1 / 9; }
.x-ladder .x-s7 { grid-column: 1 / 5; grid-row: 9 / 14; }
.x-ladder .x-s8 { grid-column: 5 / 13; grid-row: 9 / 14; }
.x-ladder .x-s9 { grid-column: 1 / 13; grid-row: 14 / 21; }
.x-ladder .x-s7 .gs-sector__name, .x-ladder .x-s8 .gs-sector__name, .x-ladder .x-s9 .gs-sector__name { font-size: 34px; line-height: 34px; }
.x-ladder .x-s7 .gs-sector__line { max-width: 30ch; font-size: 16px; line-height: 23px; }
.x-ladder .gs-sector--photo > img { transition: transform 420ms var(--ease-out); }
.x-ladder .gs-sector--photo:hover > img { transform: scale(1.02); }
.x-ladder__legend { grid-column: 7 / 9; grid-row: 1 / 3; padding-top: 22px; }
.x-axis { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.x-axis span { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink); }
.x-axis i { flex: 1; height: 1px; background: var(--rule-strong); position: relative; }
.x-axis i::after { content: ""; position: absolute; right: -1px; top: -4px; border: 4.5px solid transparent; border-left: 7px solid var(--rule-strong); border-right: 0; }
[dir="rtl"] .x-axis i::after { right: auto; left: -1px; border-left: 0; border-right: 7px solid var(--rule-strong); }
@media (max-width: 1023px) {
  .x-ladder { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: auto; }
  .x-ladder > * { grid-column: auto / span 2 !important; grid-row: auto !important; min-height: calc(120px + var(--rung, 1) * 14px); }
  .x-ladder .gs-ladder__head { grid-column: 1 / -1 !important; }
  .x-ladder .x-ladder__legend { grid-column: 1 / -1 !important; min-height: 0; }
  .x-ladder .x-s7, .x-ladder .x-s8, .x-ladder .x-s9 { grid-column: 1 / -1 !important; min-height: 0; aspect-ratio: 16 / 9; }
}
@media (max-width: 767px) {
  .x-ladder { grid-template-columns: minmax(0, 1fr); }
  .x-ladder > * { grid-column: 1 / -1 !important; }
  .x-ladder .x-s8, .x-ladder .x-s9 { aspect-ratio: 4 / 3; margin-inline: calc(var(--gutter-mobile) * -1); }
}

/* ---------- Home: product band + media band ---------- */
.x-feature-band { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); }
.x-feature-band > .x-plate { grid-column: span 4; }
.x-feature-band > .x-plate--wide { grid-column: span 8; }
@media (max-width: 1023px) { .x-feature-band > .x-plate, .x-feature-band > .x-plate--wide { grid-column: span 6; } }
@media (max-width: 767px) { .x-feature-band { grid-template-columns: minmax(0, 1fr); } .x-feature-band > .x-plate, .x-feature-band > .x-plate--wide { grid-column: 1 / -1; } }

/* ---------- Enquiry form helpers ---------- */
.x-form-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.x-form-note { grid-column: 1 / -1; font-family: var(--font-mono); font-size: 12px; line-height: 18px; color: var(--ink-3); }

/* ---------- Honesty / draft note ---------- */
.x-flag { display: inline-flex; gap: 8px; align-items: center; padding: 6px 10px; background: var(--tint); color: var(--accent-ink);
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; }

/* =====================================================================
   The owner's brief — first screen, domains, challenge, solutions,
   integrators, catalog, product template. Threat → product → value.
   ===================================================================== */

/* ---------- First screen: full-bleed night image, one strong headline ---------- */
.x-hero { position: relative; isolation: isolate; overflow: hidden; background: #06122e; color: var(--ink);
  min-height: min(100svh, 980px); display: flex; flex-direction: column; justify-content: flex-end;
  margin-top: calc(var(--header-height) * -1); padding-top: var(--header-height); }
.x-hero__media { position: absolute; inset: 0; z-index: -2; }
.x-hero__media img, .x-hero__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.x-hero__media img { transform-origin: 70% 40%; animation: x-drift 26s ease-in-out infinite alternate; }
@keyframes x-drift { from { transform: scale(1); } to { transform: scale(1.07) translate3d(-1%, 0, 0); } }
.x-hero::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(6,18,46,0.94) 0%, rgba(6,18,46,0.72) 38%, rgba(6,18,46,0.18) 72%, rgba(6,18,46,0.05) 100%),
              linear-gradient(0deg, var(--x-hero-fade) 0%, rgba(6,18,46,0) 32%), linear-gradient(0deg, rgba(6,18,46,0.78) 0%, rgba(6,18,46,0) 26%); }
[dir="rtl"] .x-hero::before { background: linear-gradient(270deg, rgba(6,18,46,0.94) 0%, rgba(6,18,46,0.72) 38%, rgba(6,18,46,0.18) 72%, rgba(6,18,46,0.05) 100%),
              linear-gradient(0deg, var(--x-hero-fade) 0%, rgba(6,18,46,0) 32%), linear-gradient(0deg, rgba(6,18,46,0.78) 0%, rgba(6,18,46,0) 26%); }
.x-hero__inner { padding-block: var(--space-16) var(--space-10); display: grid; gap: var(--space-6); }
.x-hero__eyebrow { color: var(--ink-2); }
.x-hero__title { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; letter-spacing: 0; line-height: 0.9;
  font-size: clamp(52px, 8vw, 136px); max-width: 11.5ch; margin-inline-start: -0.03em; }
.x-hero__title em { font-style: normal; color: var(--accent-ink); }
.x-hero__sub { font-size: clamp(18px, 1.6vw, 23px); line-height: 1.45; color: var(--ink-2); max-width: 44ch; }
.x-hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-2); }
.x-hero__cta .gs-btn { height: 56px; padding: 0 28px; font-size: 19px; }
.x-hero__plate { display: flex; justify-content: space-between; gap: var(--space-6); flex-wrap: wrap; margin-top: var(--space-8);
  padding-top: var(--space-3); border-top: 1px solid rgba(255,255,255,0.18); }
.x-hero__cue { display: inline-flex; align-items: center; gap: 12px; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3); text-decoration: none; }
.x-hero__cue i { position: relative; display: block; width: 1px; height: 36px; background: rgba(255,255,255,0.2); overflow: hidden; }
.x-hero__cue i::after { content: ""; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: var(--bracket); animation: x-cue 1.8s var(--ease-in-out) infinite; }
@keyframes x-cue { to { top: 100%; } }
@media (prefers-reduced-motion: reduce) { .x-hero__media img, .x-hero__cue i::after { animation: none; } }
/* variant: the photo's subject sits on its left and its right side is dark — copy goes into the dark side (both languages) */
.x-hero--copy-right .x-hero__media img { object-position: 12% 50%; transform-origin: 25% 50%; }
.x-hero--copy-right::before, [dir="rtl"] .x-hero--copy-right::before { background: linear-gradient(90deg, rgba(6,18,46,0) 0%, rgba(6,18,46,0) 40%, rgba(6,18,46,0.55) 62%, rgba(6,18,46,0.9) 100%),
  linear-gradient(0deg, var(--x-hero-fade) 0%, rgba(6,18,46,0) 30%), linear-gradient(0deg, rgba(6,18,46,0.78) 0%, rgba(6,18,46,0) 26%); }
.x-hero__copy { display: grid; gap: var(--space-6); }
.x-hero--copy-right .x-hero__copy { margin-left: auto; width: min(100%, 660px); }
@media (max-width: 1023px) { .x-hero--copy-right .x-hero__copy { margin-left: 0; } .x-hero--copy-right .x-hero__media img { object-position: 30% 50%; } }
@media (max-width: 767px) {
  .x-hero { min-height: 92svh; margin-top: -72px; padding-top: 72px; }
  .x-hero::before { background: linear-gradient(0deg, rgba(6,18,46,0.98) 0%, rgba(6,18,46,0.78) 45%, rgba(6,18,46,0.25) 100%); }
  .x-hero__cta .gs-btn { width: 100%; }
}

/* ---------- Domain strip: Perimeter | Critical Infrastructure | Mobile Security | Cyber ---------- */
.x-domains { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.x-domains a { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 96px; padding: 20px 24px;
  color: var(--ink); text-decoration: none; transition: background-color var(--dur-fast) var(--ease-out); }
.x-domains a + a { border-inline-start: 1px solid var(--rule); }
.x-domains a::before { content: ""; position: absolute; inset: -1px 0 auto 0; height: 3px; background: var(--bracket); transform: scaleX(0); transform-origin: 0 50%; transition: transform var(--dur-fast) var(--ease-out); }
[dir="rtl"] .x-domains a::before { transform-origin: 100% 50%; }
.x-domains a:hover { background: var(--paper-2); }
.x-domains a:hover::before, .x-domains a:focus-visible::before { transform: scaleX(1); }
.x-domains b { font-family: var(--font-display); font-weight: 600; font-size: clamp(20px, 2vw, 30px); line-height: 1; text-transform: uppercase; letter-spacing: 0.01em; }
.x-domains span { font-family: var(--font-mono); font-size: 12px; color: var(--accent-ink); letter-spacing: 0.08em; }
.x-domains svg { width: 26px; height: 26px; stroke-width: 1.5; color: var(--ink-3); flex: none; }
@media (max-width: 767px) { .x-domains { grid-template-columns: repeat(2, minmax(0, 1fr)); } .x-domains a:nth-child(3) { border-inline-start: 0; } .x-domains a:nth-child(n+3) { border-top: 1px solid var(--rule); } .x-domains a { min-height: 76px; padding: 14px 16px; } }
@media (max-width: 479px) { .x-domains a { gap: 8px; padding: 12px; } .x-domains b { font-size: 18px; min-width: 0; overflow-wrap: anywhere; } .x-domains svg { width: 20px; height: 20px; } }

/* ---------- The Challenge: threat questions that open to the solution ---------- */
.x-challenge { display: grid; gap: var(--grid-gap); margin-top: var(--space-8); }
.x-q { position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); min-height: 540px; background: var(--paper-2);
  color: var(--ink); text-decoration: none; overflow: hidden; }
.x-q:nth-child(even) { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.x-q:nth-child(even) .x-q__media { order: 2; }
.x-q::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; z-index: 3; background: var(--bracket); transform: scaleX(0); transform-origin: 0 50%; transition: transform var(--dur-fast) var(--ease-out); }
.x-q:hover::before, .x-q:focus-visible::before { transform: scaleX(1); }
.x-q:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.x-q__media { position: relative; overflow: hidden; background: #06122e; }
.x-q__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--ease-out), opacity var(--dur-base) var(--ease-out); opacity: 0.92; }
.x-q:hover .x-q__media img { transform: scale(1.035); opacity: 1; }
.x-q__tag { position: absolute; top: 20px; inset-inline-start: 20px; z-index: 2; display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px;
  background: var(--alarm); color: var(--on-alarm); font-family: var(--font-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; }
.x-q__tag i { width: 8px; height: 8px; background: currentColor; display: block; animation: x-blink 1.6s steps(2, jump-none) infinite; }
@keyframes x-blink { 50% { opacity: 0.2; } }
@media (prefers-reduced-motion: reduce) { .x-q__tag i { animation: none; } }
.x-q__body { display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-4); padding: var(--space-12) var(--space-10); }
.x-q__n { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3); }
.x-q__n b { color: var(--accent-ink); font-weight: 500; margin-inline-end: 8px; }
.x-q__question { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; font-size: clamp(40px, 4.4vw, 72px); line-height: 0.92; letter-spacing: 0; }
.x-q__answer { font-size: 18px; line-height: 28px; color: var(--ink-2); max-width: 42ch; }
.x-q__product { display: flex; align-items: center; gap: 12px; padding-top: var(--space-4); border-top: 1px solid var(--rule); }
.x-q__product b { font-family: var(--font-display); font-weight: 600; font-size: 22px; letter-spacing: 0.01em; }
.x-q__go { margin-inline-start: auto; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-weight: 600; font-size: 17px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--link); }
.x-q__go svg { width: 20px; height: 20px; transition: transform var(--dur-fast) var(--ease-out); }
.x-q:hover .x-q__go svg { transform: translateX(4px); }
[dir="rtl"] .x-q__go svg { transform: scaleX(-1); }
[dir="rtl"] .x-q:hover .x-q__go svg { transform: scaleX(-1) translateX(4px); }
@media (max-width: 1023px) {
  .x-q, .x-q:nth-child(even) { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .x-q:nth-child(even) .x-q__media { order: 0; }
  .x-q__media { aspect-ratio: 16 / 10; }
  .x-q__body { padding: var(--space-8) var(--space-6); }
}

/* ---------- Big solution cards (home "Our Solutions") ---------- */
.x-solutions { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: var(--space-8); }
.x-sol { position: relative; grid-column: span 4; min-height: 560px; display: flex; flex-direction: column; justify-content: flex-end;
  color: var(--ink); text-decoration: none; overflow: hidden; background: #06122e; isolation: isolate; }
.x-sol--wide { grid-column: span 8; }
.x-sol--half { grid-column: span 6; }
.x-sol > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 700ms var(--ease-out); }
.x-sol::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(6,18,46,0.96) 0%, rgba(6,18,46,0.55) 38%, rgba(6,18,46,0) 70%); transition: opacity var(--dur-base) var(--ease-out); }
.x-sol:hover > img { transform: scale(1.04); }
.x-sol::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; z-index: 2; background: var(--bracket); transform: scaleX(0); transform-origin: 0 50%; transition: transform var(--dur-fast) var(--ease-out); }
.x-sol:hover::before, .x-sol:focus-visible::before { transform: scaleX(1); }
.x-sol:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.x-sol__body { padding: var(--space-8); display: grid; gap: 10px; }
.x-sol__fam { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent-ink); }
.x-sol__threat { font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.04em; color: var(--ink-2); }
.x-sol__name { font-family: var(--font-display); font-weight: 600; font-size: clamp(34px, 3.2vw, 52px); line-height: 0.95; letter-spacing: 0.005em; }
.x-sol__value { font-size: 16px; line-height: 24px; color: var(--ink-2); max-width: 46ch; }
.x-sol__go { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; font-family: var(--font-display); font-weight: 600; font-size: 16px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink); }
.x-sol__go svg { width: 20px; height: 20px; transition: transform var(--dur-fast) var(--ease-out); }
.x-sol:hover .x-sol__go svg { transform: translateX(4px); }
[dir="rtl"] .x-sol__go svg { transform: scaleX(-1); }
[dir="rtl"] .x-sol:hover .x-sol__go svg { transform: scaleX(-1) translateX(4px); }
@media (max-width: 1023px) { .x-sol, .x-sol--wide, .x-sol--half { grid-column: span 6; min-height: 460px; } }
@media (max-width: 767px) { .x-solutions { grid-template-columns: minmax(0, 1fr); } .x-sol, .x-sol--wide, .x-sol--half { grid-column: 1 / -1; min-height: 420px; } }

@media (max-width: 767px) {
  /* photo cards get taller copy on phones: darken more of the frame so kickers stay legible on bright photos */
  .x-sol::after, .x-mob__tile::after { background: linear-gradient(0deg, rgba(6,18,46,0.96) 0%, rgba(6,18,46,0.78) 55%, rgba(6,18,46,0.25) 100%); }
}

/* ---------- Home key-facts rail ---------- */
.x-facts { grid-template-columns: 1fr 1fr 1.4fr 1fr; }
.x-facts .gs-num { font-size: 112px; }
@media (max-width: 1199px) { .x-facts .gs-num { font-size: 88px; } }
@media (max-width: 1023px) { .x-facts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 639px) {
  .x-facts .gs-num { font-size: 50px; }
  .x-facts .gs-lock__tag { white-space: normal; font-size: 10px; line-height: 14px; }
  .x-facts .gs-rail__cell { min-width: 0; }
}

/* ---------- Mobile security: "When the threat moves" (home) ---------- */
.x-mob { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(360px, 42vh)); gap: var(--grid-gap); margin-top: var(--space-8); }
.x-mob__tile { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 300px; overflow: hidden; background: #08173a; color: var(--ink); isolation: isolate; }
.x-mob__tile--lead { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.x-mob__tile--noa { grid-column: 3 / span 2; }
.x-mob__loop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 900ms var(--ease-out); }
.x-mob__tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(6,18,46,0.94) 0%, rgba(6,18,46,0.55) 42%, rgba(6,18,46,0) 72%); }
.x-mob__tile::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; z-index: 2; background: var(--bracket); transform: scaleX(0); transform-origin: 0 50%; transition: transform var(--dur-fast) var(--ease-out); }
.x-mob__tile:hover::before, .x-mob__tile:focus-within::before { transform: scaleX(1); }
.x-mob__tile:hover .x-mob__loop { transform: scale(1.035); }
.x-mob__body { position: relative; display: grid; gap: 10px; padding: var(--space-6); max-width: 620px; }
.x-mob__tile--lead .x-mob__body { gap: 14px; padding: var(--space-10); }
.x-mob__kicker { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent-ink); }
.x-mob__title { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; font-size: clamp(26px, 2.2vw, 36px); line-height: 0.95; }
.x-mob__tile--lead .x-mob__title { font-size: clamp(40px, 4.2vw, 72px); line-height: 0.92; }
.x-mob__text { font-size: 15px; line-height: 22px; color: var(--ink-2); max-width: 44ch; }
.x-mob__tile--lead .x-mob__text { font-size: 18px; line-height: 27px; }
.x-mob__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 4px; padding: 0; list-style: none; }
.x-mob__chips li { padding: 6px 10px; border: 1px solid rgba(255,255,255,0.3); background: rgba(6,18,46,0.4); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink); }
.x-mob__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-6); margin-top: 4px; }
.x-mob__play { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 18px 0 14px; border: 0; cursor: pointer;
  background: var(--action); color: var(--on-action); font-family: var(--font-display); font-weight: 600; font-size: 16px; letter-spacing: 0.05em; text-transform: uppercase;
  transition: background var(--dur-fast) var(--ease-out); }
.x-mob__play:hover { background: var(--action-hover); }
.x-mob__play:active { background: var(--action-press); }
.x-mob__play:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.x-mob__play svg { width: 18px; height: 18px; fill: currentColor; }
.x-mob__play--quiet { background: rgba(6,18,46,0.45); border: 1px solid rgba(255,255,255,0.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.x-mob__play--quiet:hover { background: rgba(6,18,46,0.7); }
.x-mob__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-family: var(--font-display); font-weight: 600; font-size: 16px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink); text-decoration: none; }
.x-mob__link:hover { color: var(--accent-ink); }
.x-mob__link:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.x-mob__link svg { width: 20px; height: 20px; transition: transform var(--dur-fast) var(--ease-out); }
.x-mob__link:hover svg { transform: translateX(4px); }
[dir="rtl"] .x-mob__link svg { transform: scaleX(-1); }
[dir="rtl"] .x-mob__link:hover svg { transform: scaleX(-1) translateX(4px); }
/* NOA: observation brackets over the clip — a hint of what the roof head sees */
.x-mob__hud { position: absolute; inset: var(--space-6); z-index: 0; pointer-events: none; }
.x-mob__hud i { position: absolute; width: 26px; height: 26px; border: 0 solid var(--bracket); }
.x-mob__hud i:nth-child(1) { top: 0; left: 0; border-top-width: 2px; border-left-width: 2px; }
.x-mob__hud i:nth-child(2) { top: 0; right: 0; border-top-width: 2px; border-right-width: 2px; }
.x-mob__hud i:nth-child(3) { bottom: 0; left: 0; border-bottom-width: 2px; border-left-width: 2px; }
.x-mob__hud i:nth-child(4) { bottom: 0; right: 0; border-bottom-width: 2px; border-right-width: 2px; }
.x-mob__hud b { position: absolute; top: 5px; inset-inline-end: 38px; display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: #fff; }
.x-mob__hud b::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--secure); animation: x-blink 1.6s steps(2, jump-none) infinite; }
.x-mob__tile--noa .x-mob__body { padding-bottom: calc(var(--space-6) + 12px); }
/* armed D-DOG: red "defence configuration" tag */
.x-mob__tag { position: absolute; top: 20px; inset-inline-start: 20px; z-index: 2; display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px;
  background: var(--alarm); color: var(--on-alarm); font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; }
.x-mob__tag i { width: 8px; height: 8px; background: currentColor; display: block; animation: x-blink 1.6s steps(2, jump-none) infinite; }
.x-mob__note { font-family: var(--font-mono); font-size: 11px; line-height: 16px; letter-spacing: 0.04em; color: var(--ink-3); }

/* field band: the owner's photos + the argument, always on a deep navy slab */
.x-mob__band { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 4fr); margin-top: var(--grid-gap); background: #06101f; color: var(--ink); }
.x-mob__ph { position: relative; margin: 0; min-height: 560px; overflow: hidden; background: #06122e; }
.x-mob__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.x-mob__ph--site img { object-position: 30% 50%; }
.x-mob__ph--noa img { object-position: 62% 40%; }
.x-mob__ph figcaption { position: absolute; inset: auto 0 0 0; padding: 48px var(--space-4) var(--space-4); background: linear-gradient(0deg, rgba(6,18,46,0.88), rgba(6,18,46,0)); color: var(--ink-2); }
.x-mob__say { display: flex; flex-direction: column; justify-content: center; gap: var(--space-6); padding: clamp(32px, 4vw, 64px); }
.x-mob__quote { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; font-size: clamp(38px, 3.6vw, 64px); line-height: 0.92; }
.x-mob__quote em { font-style: normal; color: var(--accent-ink); }
.x-mob__lede { font-size: 18px; line-height: 28px; color: var(--ink-2); max-width: 44ch; }
.x-mob__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid rgba(255,255,255,0.2); }
.x-mob__stats div { padding: var(--space-4) var(--space-3) 0 0; }
[dir="rtl"] .x-mob__stats div { padding: var(--space-4) 0 0 var(--space-3); }
.x-mob__stats div + div { border-inline-start: 1px solid rgba(255,255,255,0.14); padding-inline-start: var(--space-4); }
.x-mob__stats dt { font-family: var(--font-display); font-weight: 700; font-size: clamp(34px, 3vw, 48px); line-height: 1; color: var(--ink); white-space: nowrap; }
.x-mob__stats dt small { font-size: 0.42em; font-weight: 600; margin-inline-start: 4px; color: var(--accent-ink); text-transform: uppercase; }
.x-mob__stats dd { margin: 8px 0 0; font-family: var(--font-mono); font-size: 11px; line-height: 15px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); }
.x-mob__say .gs-btn { align-self: flex-start; }
@media (prefers-reduced-motion: reduce) {
  .x-mob__loop, .x-mob__tile:hover .x-mob__loop { transition: none; transform: none; }
  .x-mob__hud b::before, .x-mob__tag i { animation: none; }
}
@media (max-width: 1023px) {
  .x-mob { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: minmax(320px, auto); }
  .x-mob__tile--lead, .x-mob__tile--noa { grid-column: 1 / -1; grid-row: auto; }
  .x-mob__tile--lead { min-height: 520px; }
  .x-mob__band { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .x-mob__say { grid-column: 1 / -1; order: -1; }
  .x-mob__ph { min-height: 440px; }
}
@media (max-width: 639px) {
  .x-mob { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; }
  .x-mob__tile { min-height: 380px; }
  .x-mob__tile--lead { min-height: 520px; }
  .x-mob__tile--lead .x-mob__body, .x-mob__body { padding: var(--space-6) var(--space-4); }
  .x-mob__band { grid-template-columns: minmax(0, 1fr); }
  .x-mob__ph { min-height: 0; aspect-ratio: 4 / 5; }
  .x-mob__ph--noa { aspect-ratio: 4 / 3; }
  .x-mob__say { padding: var(--space-8) var(--space-4); }
  .x-mob__stats dt { font-size: 32px; }
}

/* ---------- For integrators band ---------- */
.x-integ { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-8) var(--grid-gap); margin-top: var(--space-8); }
.x-integ__list { grid-column: 1 / span 6; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--grid-gap); align-content: start; }
.x-integ__item { background: var(--paper-2); padding: var(--space-6); display: grid; gap: 10px; align-content: start; }
.x-integ__item h3 { font-family: var(--font-display); font-weight: 600; font-size: 24px; line-height: 26px; text-transform: uppercase; }
.x-integ__item p { font-size: 15px; line-height: 22px; color: var(--ink-2); }
.x-integ__side { grid-column: 8 / span 5; display: flex; flex-direction: column; gap: var(--space-4); }
.x-integ__side .gs-code { background: var(--paper-2); }
@media (max-width: 1023px) { .x-integ__list, .x-integ__side { grid-column: 1 / -1; } }
@media (max-width: 520px) { .x-integ__list { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Catalog teaser ---------- */
.x-catband { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-8) var(--grid-gap); align-items: center; background: var(--paper-2); padding: var(--space-12) var(--space-10); margin-top: var(--space-8); overflow: hidden; }
.x-catband__text { grid-column: 1 / span 5; display: grid; gap: var(--space-4); }
.x-catband__books { grid-column: 6 / span 7; display: flex; gap: 18px; justify-content: flex-end; align-items: flex-end; perspective: 1200px; }
.x-catband__book { display: block; width: min(30%, 230px); aspect-ratio: 1 / 1.414; background: #fff; overflow: hidden; transform: rotateY(-14deg); transform-origin: 100% 50%;
  transition: transform var(--dur-base) var(--ease-out); box-shadow: 0 1px 0 rgba(255,255,255,0.08); }
.x-catband__book:nth-child(2) { transform: rotateY(-6deg); width: min(36%, 280px); }
.x-catband__book:hover { transform: rotateY(0deg) translateY(-6px); }
.x-catband__book img { width: 100%; height: 100%; object-fit: cover; display: block; }
.x-catband__langs { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 1023px) { .x-catband__text, .x-catband__books { grid-column: 1 / -1; justify-content: flex-start; } .x-catband { padding: var(--space-8) var(--space-6); } }

/* ---------- Closing statement ---------- */
.x-closing { padding-block: var(--space-24); border-top: 3px solid var(--rule-strong); }
.x-closing p { font-family: var(--font-display); font-weight: 600; text-transform: uppercase; font-size: clamp(40px, 5.6vw, 92px); line-height: 0.95; max-width: 18ch; }
.x-closing p em { font-style: normal; color: var(--accent-ink); }

/* ---------- Product page (brief template) ---------- */
.x-pbenefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: var(--space-8); }
.x-benefit { position: relative; background: var(--paper-2); padding: var(--space-8); display: grid; gap: 12px; align-content: start; min-height: 260px; }
.x-benefit__n { font-family: var(--font-display); font-weight: 700; font-size: 72px; line-height: 0.8; color: var(--accent-ink); }
.x-benefit h3 { font-family: var(--font-display); font-weight: 600; font-size: 30px; line-height: 31px; text-transform: uppercase; }
.x-benefit p { font-size: 16px; line-height: 25px; color: var(--ink-2); }
@media (max-width: 767px) { .x-pbenefits { grid-template-columns: minmax(0, 1fr); } .x-benefit { min-height: 0; } }
.x-flow { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; margin-top: var(--space-8); counter-reset: flow; }
.x-flow li { position: relative; counter-increment: flow; padding: var(--space-6) var(--space-6) var(--space-6) 0; border-top: 3px solid var(--rule-strong); display: grid; gap: 8px; align-content: start; }
.x-flow li + li { padding-inline-start: var(--space-6); }
.x-flow li::before { content: counter(flow, decimal-leading-zero); font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; color: var(--accent-ink); }
.x-flow li::after { content: ""; position: absolute; top: -9px; inset-inline-end: -8px; width: 15px; height: 15px; background: var(--paper); border-top: 3px solid var(--rule-strong); border-inline-end: 3px solid var(--rule-strong); transform: rotate(45deg); z-index: 1; }
[dir="rtl"] .x-flow li::after { transform: rotate(-45deg); }
.x-flow li:last-child::after { display: none; }
.x-flow li:last-child { border-top-color: var(--bracket); }
.x-flow h3 { font-family: var(--font-display); font-weight: 600; font-size: 24px; line-height: 26px; text-transform: uppercase; }
.x-flow p { font-size: 15px; line-height: 22px; color: var(--ink-2); }
@media (max-width: 767px) { .x-flow { grid-auto-flow: row; } .x-flow li, .x-flow li + li { padding-inline-start: 0; } .x-flow li::after { display: none; } }
.x-diagram { margin-top: var(--space-8); background: #fff; padding: var(--space-4); }
.x-diagram img { display: block; width: 100%; height: auto; }
.x-discuss { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-8) var(--grid-gap); align-items: end; background: var(--ground-slab); color: var(--on-slab); padding: var(--space-16) var(--space-10); }
.x-discuss h2 { grid-column: 1 / span 8; font-family: var(--font-display); font-weight: 700; text-transform: uppercase; font-size: clamp(44px, 5.4vw, 88px); line-height: 0.92; }
.x-discuss p { grid-column: 1 / span 7; color: var(--on-slab-muted); font-size: 19px; line-height: 30px; }
.x-discuss__cta { grid-column: 9 / span 4; display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.x-discuss .gs-btn--primary { background: #fff; color: #1740d8; }
.x-discuss .gs-btn--primary:hover { background: #dfe7ff; }
.x-discuss .gs-btn--secondary { color: #fff; border-color: #fff; }
.x-discuss .gs-btn--secondary:hover { background: #fff; color: #1740d8; }
@media (max-width: 1023px) { .x-discuss h2, .x-discuss p, .x-discuss__cta { grid-column: 1 / -1; } .x-discuss { padding: var(--space-10) var(--space-6); } }
.x-plate__threat { font-family: var(--font-mono); font-size: 12px; line-height: 17px; letter-spacing: 0.03em; color: var(--accent-ink); }
.x-phero__threat { display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--alarm); color: var(--on-alarm); font-family: var(--font-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; width: fit-content; }
.x-phero__threat i { width: 8px; height: 8px; background: currentColor; }

/* ---------- Digital catalog (page-flip reader) ---------- */
.x-book { margin-top: var(--space-6); }
.x-book__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 0; border-top: 3px solid var(--rule-strong); border-bottom: 1px solid var(--rule); }
.x-book__bar .gs-select { min-width: 190px; }
.x-book__bar .gs-input { height: 44px; font-size: 16px; }
.x-book__count { font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.06em; color: var(--ink-2); min-width: 92px; text-align: center; direction: ltr; }
.x-book__spacer { flex: 1; }
.x-book [hidden] { display: none !important; }
.x-book .x-snd-off, .x-book[data-sound="off"] .x-snd-on { display: none; }
.x-book[data-sound="off"] .x-snd-off { display: block; }
.x-iconbtn2 { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; min-width: 44px; padding: 0 12px; border: 1px solid var(--rule-control); border-radius: var(--radius-1); background: transparent; color: var(--ink); cursor: pointer; text-decoration: none;
  font-family: var(--font-display); font-weight: 600; font-size: 15px; letter-spacing: 0.04em; text-transform: uppercase; transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.x-iconbtn2:hover { background: var(--ink); color: var(--on-ink); }
.x-iconbtn2:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.x-iconbtn2 svg { width: 20px; height: 20px; stroke-width: 1.75; }
.x-iconbtn2[aria-pressed="true"] { background: var(--ink); color: var(--on-ink); }
[dir="rtl"] .x-iconbtn2 .x-flipdir { transform: scaleX(-1); }
.x-book__stage { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-6); padding-block: var(--space-8); }
.x-book__toc { width: 280px; max-height: 76vh; overflow: auto; border-inline-end: 1px solid var(--rule); padding-inline-end: var(--space-4); display: none; }
.x-book.is-toc .x-book__toc { display: block; }
.x-book__toc h2 { font-family: var(--font-mono); font-weight: 400; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); padding-bottom: 10px; border-bottom: 3px solid var(--rule-strong); }
.x-book__toc button { display: flex; justify-content: space-between; gap: 12px; width: 100%; min-height: 40px; padding: 8px 0; border: 0; border-bottom: 1px solid var(--rule); background: none; color: var(--ink); cursor: pointer; text-align: start; font: inherit; font-size: 15px; }
.x-book__toc button span { font-family: var(--font-mono); font-size: 12px; color: var(--ink-3); direction: ltr; }
.x-book__toc button:hover { color: var(--accent-ink); }
.x-book__flip { grid-column: 2; display: flex; justify-content: center; align-items: center; min-height: 60vh; }
.x-book:not(.is-toc) .x-book__flip { grid-column: 1 / -1; }
.x-book__flip .stf__parent { margin: 0 auto; }
/* the flip library sizes itself from its parent: give it the full width, capped so a two-page spread fits the screen height */
.x-book__flip > [data-x-book-flip] { width: 100%; max-width: min(1180px, calc((100vh - 200px) * 1.414)); margin-inline: auto; }
.x-book:fullscreen .x-book__flip > [data-x-book-flip] { max-width: min(1600px, calc((100vh - 140px) * 1.414)); }
.x-book__loading { font-family: var(--font-mono); font-size: 13px; color: var(--ink-3); }
.x-book__thumbs { display: grid; grid-auto-flow: column; grid-auto-columns: 84px; gap: 8px; overflow-x: auto; padding-bottom: 10px; scrollbar-width: thin; }
.x-book__thumbs button { padding: 0; border: 2px solid transparent; background: #fff; cursor: pointer; line-height: 0; }
.x-book__thumbs button[aria-current="true"] { border-color: var(--bracket); }
.x-book__thumbs img { width: 100%; height: auto; display: block; }
.x-book:fullscreen { background: var(--paper); padding: 16px 24px; overflow: auto; }
.x-book:fullscreen .x-book__flip { min-height: 80vh; }
@media (max-width: 1023px) { .x-book__stage { grid-template-columns: minmax(0, 1fr); } .x-book__toc { width: auto; max-height: 40vh; border-inline-end: 0; } .x-book__flip { grid-column: 1; } }

/* ---------- Mobile fixes for system components used full-page ---------- */
@media (max-width: 1023px) {
  .gs-cost__why, .gs-cost__table { grid-column: 1 / -1 !important; }
  .gs-cost__figs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .gs-std__iso, .gs-std__ledger { grid-column: 1 / -1; }
  .gs-open__pillars, .gs-open__ifaces, .gs-open__code { grid-column: 1 / -1; }
  .gs-globe__lead, .gs-globe__side { grid-column: 1 / -1; }
  .gs-contact__lead, .gs-contact__form { grid-column: 1 / -1; }
  .gs-path { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .gs-path__link { height: 28px; width: 1px; margin-inline: 24px; }
  .gs-path__link span { left: 16px; top: 4px; transform: none; }
  .gs-path__link::after { display: none; }
}
@media (max-width: 767px) {
  .gs-cost__figs { grid-template-columns: minmax(0, 1fr) !important; }
  .gs-cmp { font-size: 13px; min-width: 620px; }
  .gs-std__iso { grid-template-columns: 96px 1fr; padding: var(--space-6); }
  .gs-std__iso img { width: 96px; height: 96px; }
  .gs-std__row { grid-template-columns: 36px minmax(0, 1fr); }
  .gs-std__meta { grid-column: 2; }
  .gs-chan dd { font-size: 30px; line-height: 34px; }
  .gs-chan { grid-template-columns: minmax(0, 1fr); }
  .gs-footer__std + .gs-footer__std { padding-inline-start: 0; border-inline-start: 0; }
  .gs-partners { grid-template-columns: minmax(0, 1fr); }
  .gs-partners li { font-size: 22px; line-height: 34px; }
  .gs-units__row { grid-auto-columns: 12px; gap: 3px; } .gs-units__row i { width: 12px; height: 12px; }
  .gs-globe__side { grid-template-columns: minmax(0, 1fr); }
  .gs-hero__cta { justify-content: flex-start; }
}

/* ---------- 404 ---------- */
.x-404 { min-height: 60vh; display: grid; align-content: center; gap: var(--space-6); padding-block: var(--space-16); }

/* =====================================================================
   Hebrew / RTL
   Condensed Latin display has no Hebrew glyphs: per-character fallback to
   Noto Sans Hebrew, one weight up, no tracking, a notch smaller.
   Numerals, units, e-mail, phone and code stay LTR in their own faces.
   ===================================================================== */
:root:lang(he) {
  --font-display: 'Barlow Condensed', 'Noto Sans Hebrew', 'Arial Narrow', sans-serif;
  --font-sans: 'Noto Sans Hebrew', Barlow, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', 'Noto Sans Hebrew', Consolas, monospace;
}
:lang(he) .gs-display, :lang(he) .gs-h1, :lang(he) .gs-h2, :lang(he) .gs-metric__label, :lang(he) .gs-sector__name,
:lang(he) .gs-std__name, :lang(he) .gs-pillar h3, :lang(he) .x-plate__name, :lang(he) .x-cert__title, :lang(he) .x-vid__title,
:lang(he) .gs-product__name, :lang(he) .gs-globe__fact .gs-h2 { font-weight: 700; letter-spacing: 0; }
:lang(he) .gs-display--hero { font-size: clamp(48px, 8.4vw, 124px); line-height: 1; }
:lang(he) .gs-display--l { font-size: 64px; line-height: 1.02; }
:lang(he) .gs-display--m { font-size: 46px; line-height: 1.05; }
:lang(he) .x-intro__title { font-size: clamp(46px, 7vw, 104px); line-height: 1; }
:lang(he) .x-famhead h2 { font-size: clamp(34px, 4vw, 56px); line-height: 1.05; }
:lang(he) .x-sector__name { font-size: clamp(34px, 3.8vw, 52px); line-height: 1.05; }
:lang(he) .gs-metric__label { font-size: 24px; line-height: 30px; }
:lang(he) .gs-rail .gs-metric__label { font-size: 19px; line-height: 24px; }
:lang(he) .gs-eyebrow, :lang(he) .gs-caption, :lang(he) .gs-tag, :lang(he) .gs-plate, :lang(he) .x-plate__fam, :lang(he) .x-crumbs,
:lang(he) .gs-lock__tag, :lang(he) .x-specs dt, :lang(he) .x-vid__meta, :lang(he) .x-cert__kind, :lang(he) .gs-footer__chan dt,
:lang(he) .gs-chan dt, :lang(he) .gs-note, :lang(he) .gs-metric__source, :lang(he) .x-shot figcaption, :lang(he) .x-lb__cap p,
:lang(he) .gs-footer__col h3, :lang(he) .gs-proof li, :lang(he) .gs-units__label, :lang(he) .gs-legend, :lang(he) .gs-sector__kind,
:lang(he) .x-doc small, :lang(he) .x-specs__title, :lang(he) .gs-cmp thead th, :lang(he) .gs-footer__std { letter-spacing: 0.01em; }
:lang(he) .gs-btn, :lang(he) .gs-nav a, :lang(he) .gs-arrowlink, :lang(he) .x-jump a, :lang(he) .x-plate__go, :lang(he) .x-vid__play,
:lang(he) .x-sheet nav a { letter-spacing: 0; font-weight: 700; }
:lang(he) .gs-nav a { font-size: 16px; }
[dir="rtl"] .gs-btn__arrow, [dir="rtl"] .gs-arrowlink svg, [dir="rtl"] .x-plate__go svg, [dir="rtl"] .x-doc > svg:last-child { transform: scaleX(-1); }
[dir="rtl"] .gs-btn:hover .gs-btn__arrow, [dir="rtl"] .gs-arrowlink:hover svg, [dir="rtl"] .x-plate:hover .x-plate__go svg { transform: scaleX(-1) translateX(4px); }
[dir="rtl"] .gs-path__link::after { right: auto; left: 0; border-left: 0; border-right: 7px solid var(--rule-strong); }
[dir="rtl"] .gs-tile::before, [dir="rtl"] .gs-sector::before, [dir="rtl"] .gs-product::before, [dir="rtl"] .x-plate::before,
[dir="rtl"] .x-cert::before, [dir="rtl"] .gs-nav a::after { transform-origin: 100% 50%; }
[dir="rtl"] .gs-code, [dir="rtl"] .gs-num, [dir="rtl"] .x-lb__count { direction: ltr; }
[dir="rtl"] .gs-cmp th:first-child, [dir="rtl"] .gs-cmp tbody th { text-align: right; }
[dir="rtl"] .x-strip { direction: rtl; }

/* ---------- Whole images, never cropped (owner's rule, Sep 2026) ----------
   Every photo is shown in full inside its frame; the space around it is filled with a blurred copy
   of the same photo (a .x-fill span added by site.js), so frames stay full without trimming the image. */
.x-band > img, .x-band > video, .x-plate__media img, .x-vid__btn img, .x-hero__media img, .x-hero__media video,
.x-q__media img, .x-sol > img, .x-mob__loop, .x-mob__ph img, .x-catband__book img,
.gs-tile--photo > img, .gs-sector--photo > img, .gs-flag__media img, .x-strip .x-shot img {
  object-fit: contain !important; object-position: 50% 50% !important;
}
.x-strip .x-shot img { aspect-ratio: auto; }
.x-band, .x-plate__media, .x-vid__btn, .x-q__media, .x-sol, .x-mob__tile, .x-mob__ph, .x-catband__book,
.gs-tile--photo, .gs-sector--photo, .gs-flag__media { background-color: #0a1a40; overflow: hidden; }
/* no hover zoom: scaling up would clip the edges of the photo */
.x-plate:hover .x-plate__media img, .x-q:hover .x-q__media img, .x-sol:hover > img, .x-mob__tile:hover .x-mob__loop,
.x-vid__btn:hover img, .gs-tile--photo:hover > img, .gs-sector--photo:hover > img { transform: none !important; }
.x-fill { position: absolute; inset: -32px; background: center / cover no-repeat; filter: blur(26px) saturate(1.1) brightness(0.5);
  pointer-events: none; transform: translateZ(0); }
.x-sol > .x-fill, .x-mob__tile > .x-fill { z-index: -3; }

/* ---------- Hero proof chips ---------- */
.x-hero__proof { display: flex; flex-wrap: wrap; gap: 8px; margin: var(--space-6) 0 0; padding: 0; list-style: none; }
.x-hero__proof li { padding: 7px 12px; border: 1px solid rgba(255,255,255,0.32); background: rgba(6,18,46,0.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink); }
.x-hero__proof li:first-child { border-color: var(--accent-ink); color: var(--accent-ink); }
.x-hero__title em { font-size: 0.62em; display: inline-block; line-height: 1.05; }

/* ---------- Global footprint (globe) — always a deep navy slab ---------- */
.x-global { position: relative; overflow: hidden; margin-top: var(--space-16); padding: clamp(56px, 7vw, 104px) 0;
  background: radial-gradient(60% 70% at 78% 30%, rgba(58,107,255,0.22), transparent 62%), linear-gradient(165deg, #0a1a3f 0%, #040b1d 100%);
  --ink: #f2f6ff; --ink-2: #c9d5f0; --ink-3: #93a6cf; --accent-ink: #9dbaff; --rule: rgba(255,255,255,0.14); color: var(--ink); }
.x-global__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.x-global__text { display: flex; flex-direction: column; gap: var(--space-6); }
.x-global .gs-eyebrow { color: var(--accent-ink); }
.x-global__title { color: var(--ink); }
.x-global__title em { font-style: normal; color: var(--accent-ink); }
.x-global__lede { font-size: 18px; line-height: 28px; color: var(--ink-2); max-width: 48ch; }
.x-global__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.x-global__stats div { padding: var(--space-4) var(--space-3); }
.x-global__stats div + div { border-inline-start: 1px solid var(--rule); }
.x-global__stats dt { font-family: var(--font-display); font-weight: 700; font-size: clamp(34px, 3.4vw, 54px); line-height: 1; color: var(--ink); }
.x-global__stats dd { margin: 8px 0 0; font-family: var(--font-mono); font-size: 11px; line-height: 15px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); }
.x-global__legend { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; list-style: none; font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--ink-2); }
.x-global__legend li { display: inline-flex; align-items: center; gap: 8px; }
.x-global__legend i { width: 10px; height: 10px; border-radius: 50%; display: block; }
.x-global__globe { position: relative; margin: 0; }
.x-global__globe canvas { display: block; width: 100%; max-width: 680px; height: auto; aspect-ratio: 1; margin: 0 auto; cursor: grab; touch-action: pan-y; }
.x-global__globe canvas:active { cursor: grabbing; }
.x-global__globe figcaption { text-align: center; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3); margin-top: 6px; }
.x-global__regions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin-top: clamp(32px, 4vw, 56px); background: var(--rule); border: 1px solid var(--rule); }
.x-region { background: rgba(4,11,29,0.72); padding: var(--space-6) var(--space-4); }
.x-region h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-family: var(--font-display); font-weight: 600; font-size: 20px; text-transform: uppercase; color: var(--ink); margin-bottom: 10px; }
.x-region h3 span { font-family: var(--font-mono); font-size: 12px; color: var(--accent-ink); }
.x-region p { font-size: 13px; line-height: 21px; color: var(--ink-2); }
@media (max-width: 1023px) { .x-global__in { grid-template-columns: minmax(0, 1fr); } .x-global__globe { order: -1; } .x-global__regions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .x-global__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .x-global__stats div:nth-child(3) { border-inline-start: 0; } .x-global__stats div:nth-child(n+3) { border-top: 1px solid var(--rule); } .x-global__regions { grid-template-columns: minmax(0, 1fr); } }

/* ---------- In the media: TV report + exhibition photos ---------- */
.x-news { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto auto; gap: var(--grid-gap); margin-top: var(--space-8); }
.x-news figure { margin: 0; background: var(--paper-2); }
.x-news__main { grid-row: 1 / span 2; }
.x-news figcaption { padding: 12px 16px 14px; display: grid; gap: 4px; font-size: 14px; line-height: 20px; color: var(--ink-2); }
.x-news figcaption b { font-family: var(--font-display); font-weight: 600; font-size: 20px; line-height: 24px; color: var(--ink); }
.x-news figcaption span { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.05em; color: var(--ink-3); }
.x-news__ph { position: relative; background: #0a1a40; aspect-ratio: 16 / 10; overflow: hidden; }
.x-news__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.x-yt { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #06122e; cursor: pointer; aspect-ratio: 16 / 9; overflow: hidden; }
.x-yt img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.x-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.x-yt__play { position: absolute; inset-inline-start: 20px; bottom: 20px; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 20px 0 16px;
  background: var(--alarm); color: #fff; font-family: var(--font-display); font-weight: 600; font-size: 17px; letter-spacing: 0.05em; text-transform: uppercase; box-shadow: 0 10px 30px rgba(3,10,32,0.4); }
.x-yt__play svg { width: 20px; height: 20px; fill: currentColor; }
.x-yt:hover .x-yt__play { filter: brightness(1.08); }
.x-yt:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
@media (max-width: 1023px) { .x-news { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .x-news__main { grid-column: 1 / -1; grid-row: auto; } }
@media (max-width: 639px) { .x-news { grid-template-columns: minmax(0, 1fr); } }

.gs-eyebrow > b { white-space: nowrap; flex: none; }

/* ---------- Board & leadership: one card design for every person — photo, name, role, logo ---------- */
.x-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: var(--space-8); align-items: start; }
.x-person { display: grid; gap: var(--space-4); }
.x-person__card { margin: 0; background: #fff; border: 1px solid var(--rule); overflow: hidden; }
.x-person__ph { position: relative; aspect-ratio: 1 / 1; background: #fff; overflow: hidden; }
.x-person__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: 50% 100%; }
.x-person__cap { display: grid; justify-items: center; gap: 6px; padding: var(--space-4) var(--space-4) var(--space-6); border-top: 3px solid #c8102e; text-align: center; }
.x-person__cap b { font-family: var(--font-sans); font-weight: 700; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.1; color: #0b1f4d; }
.x-person__cap span { font-size: 15px; line-height: 20px; color: #1b2b52; }
.x-person__logo { display: block; width: 150px; height: auto; margin-top: 8px; }
.x-person__bio { font-size: 15px; line-height: 23px; color: var(--ink-2); }
[lang="he"] .x-person__cap b { font-family: var(--font-hebrew); }
@media (max-width: 1023px) { .x-board { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .x-board { grid-template-columns: minmax(0, 1fr); } }

/* Uriel's photo is landscape with little headroom: lift it so the eye line matches the other two portraits
   (eyes ~31% from the top), keep its full width, and fade the bottom of the white shirt into the white frame */
.x-person--lift .x-person__ph img { inset: 7% 0 auto 0; width: 100%; height: auto; object-fit: fill;
  -webkit-mask-image: linear-gradient(180deg, #000 76%, transparent 100%); mask-image: linear-gradient(180deg, #000 76%, transparent 100%); }

/* ---------- Home hero "stage": the whole photo at its own proportions (3008 × 1960), with overlays pinned to it ---------- */
.x-hero--stage .x-hero__media { container-type: size; overflow: hidden; }
.x-hero__backdrop { position: absolute; inset: -40px; background: center / cover no-repeat; filter: blur(30px) brightness(0.45) saturate(1.1); }
.x-hero__stage { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(100cqw, calc(100cqh * 1.5347)); aspect-ratio: 3008 / 1960; }
.x-hero--stage .x-hero__stage > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill !important; animation: none !important; transform: none !important; }
.x-hero--stage { min-height: min(calc(100vw / 1.5347), 94svh); display: flex; align-items: flex-end; }
.x-hero--stage .x-hero__inner { width: 100%; padding-block: var(--space-12) var(--space-8); }
.x-hero--stage .x-hero__copy { margin: 0 auto 0 0; width: min(100%, 560px); }
.x-hero--stage .x-hero__title { font-size: clamp(52px, 6.2vw, 104px); }
.x-hero--stage::before, [dir="rtl"] .x-hero--stage::before {
  background: linear-gradient(90deg, rgba(6,18,46,0.9) 0%, rgba(6,18,46,0.66) 28%, rgba(6,18,46,0.14) 48%, rgba(6,18,46,0) 60%),
              linear-gradient(0deg, rgba(6,18,46,0.72) 0%, rgba(6,18,46,0) 34%); }
/* the sensor post on the fence, framed like a target lock */
.x-hero__lock { position: absolute; left: 67.2%; top: 71%; width: 6.4%; height: 14.2%; pointer-events: none; }
.x-hero__lock i { position: absolute; width: 22%; height: 16%; border: 0 solid #ff4d5e; }
.x-hero__lock i:nth-child(1) { top: 0; left: 0; border-top-width: 2px; border-left-width: 2px; }
.x-hero__lock i:nth-child(2) { top: 0; right: 0; border-top-width: 2px; border-right-width: 2px; }
.x-hero__lock i:nth-child(3) { bottom: 0; left: 0; border-bottom-width: 2px; border-left-width: 2px; }
.x-hero__lock i:nth-child(4) { bottom: 0; right: 0; border-bottom-width: 2px; border-right-width: 2px; }
.x-hero__lock b { position: absolute; left: 115%; top: 6%; white-space: nowrap; display: inline-flex; align-items: center; gap: 7px; padding: 5px 9px;
  background: rgba(6,18,46,0.78); color: #fff; font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; }
.x-hero__lock b::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #3ddc97; box-shadow: 0 0 0 0 rgba(61,220,151,0.6); animation: x-ping 2s infinite; }
.x-hero__lock::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: rgba(255,77,94,0.85); box-shadow: 0 0 10px rgba(255,77,94,0.8); animation: x-scan 2.6s ease-in-out infinite alternate; }
@keyframes x-scan { from { top: 0; } to { top: calc(100% - 2px); } }
@keyframes x-ping { 70% { box-shadow: 0 0 0 8px rgba(61,220,151,0); } 100% { box-shadow: 0 0 0 0 rgba(61,220,151,0); } }
/* the patent seal, in the open sky */
.x-seal { position: absolute; left: 83%; top: 6%; width: 12.5%; height: auto; filter: drop-shadow(0 10px 24px rgba(3,10,32,0.35)); }
.x-seal__ring { transform-origin: 100px 100px; animation: x-spin 60s linear infinite; }
@keyframes x-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .x-hero__lock::after, .x-hero__lock b::before, .x-seal__ring { animation: none; } }
/* phones and tablets: the photo on top, whole, and the copy below it */
@media (max-width: 1023px) {
  .x-hero--stage { display: block; min-height: 0; margin-top: 0; padding-top: 0; }
  .x-hero--stage .x-hero__media { position: relative; inset: auto; height: auto; container-type: normal; }
  .x-hero--stage .x-hero__stage { position: relative; left: auto; top: auto; transform: none; width: 100%; }
  .x-hero__backdrop { display: none; }
  .x-hero--stage::before { display: none; }
  .x-hero--stage .x-hero__inner { background: #08173a; padding-block: var(--space-8); }
  .x-hero--stage .x-hero__copy { width: 100%; }
  .x-hero__lock b { font-size: 9px; padding: 3px 6px; left: auto; right: 115%; }
  .x-seal { width: 17%; left: 80%; top: 4%; }
}

/* patent seal v2: a glass medallion that lets the sky through — gold line work, rotating ring text, the logo at its heart */
.x-seal { position: absolute; left: 82%; top: 5%; width: 13.5%; height: auto; aspect-ratio: 1; border-radius: 50%; overflow: hidden; filter: none;
  background: radial-gradient(circle at 34% 28%, rgba(255,255,255,0.26), rgba(255,255,255,0) 42%), radial-gradient(circle, rgba(8,21,48,0.38) 0%, rgba(8,21,48,0.2) 64%, rgba(8,21,48,0.08) 100%);
  -webkit-backdrop-filter: blur(8px) saturate(1.35); backdrop-filter: blur(8px) saturate(1.35);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.28), inset 0 -14px 34px rgba(3,10,32,0.22), 0 20px 44px rgba(5,15,40,0.32), 0 0 0 6px rgba(255,255,255,0.05); }
.x-seal svg { display: block; width: 100%; height: 100%; }
.x-seal__rosette { transform-origin: 100px 100px; animation: x-spin 140s linear infinite reverse; }
.x-seal__shine { position: absolute; inset: 0; border-radius: 50%; pointer-events: none; mix-blend-mode: overlay;
  background: linear-gradient(115deg, rgba(255,255,255,0) 36%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0) 64%); transform: translateX(-130%); animation: x-shine 7s ease-in-out infinite; }
@keyframes x-shine { 0%, 62% { transform: translateX(-130%); } 100% { transform: translateX(130%); } }
@media (prefers-reduced-motion: reduce) { .x-seal__rosette, .x-seal__shine { animation: none; } .x-seal__shine { display: none; } }
@media (max-width: 1023px) { .x-seal { width: 18%; left: 79%; top: 4%; } }

/* ---------- PIDS guide + FAQ ---------- */
.x-steps { list-style: none; margin: var(--space-8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--grid-gap); counter-reset: st; }
.x-steps li { counter-increment: st; background: var(--paper-2); padding: var(--space-6); display: grid; gap: 8px; border-top: 3px solid var(--bracket); }
.x-steps li::before { content: "0" counter(st); font-family: var(--font-mono); font-size: 12px; color: var(--accent-ink); letter-spacing: 0.1em; }
.x-steps b { font-family: var(--font-display); font-weight: 700; font-size: 28px; text-transform: uppercase; line-height: 1; }
.x-steps span { font-size: 15px; line-height: 22px; color: var(--ink-2); }
.x-cmp { margin-top: var(--space-8); overflow-x: auto; border: 1px solid var(--rule); }
.x-cmp table { width: 100%; min-width: 820px; border-collapse: collapse; font-size: 15px; line-height: 22px; }
.x-cmp th, .x-cmp td { padding: 14px 16px; text-align: start; vertical-align: top; border-bottom: 1px solid var(--rule); }
.x-cmp thead th { background: var(--paper-2); font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3); }
.x-cmp tbody th { font-family: var(--font-display); font-weight: 600; font-size: 19px; line-height: 22px; color: var(--ink); width: 22%; }
.x-cmp td { color: var(--ink-2); }
.x-cmp__us th, .x-cmp__us td { background: color-mix(in srgb, var(--action) 9%, transparent); color: var(--ink); }
.x-cmp__us th { color: var(--accent-ink); }
.x-checklist { margin: var(--space-8) 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--rule); border: 1px solid var(--rule); counter-reset: ck; }
.x-checklist li { counter-increment: ck; background: var(--paper); padding: var(--space-4) var(--space-6); display: flex; gap: 14px; font-size: 17px; line-height: 25px; }
.x-checklist li::before { content: counter(ck, decimal-leading-zero); font-family: var(--font-mono); font-size: 13px; color: var(--accent-ink); padding-top: 3px; }
.x-linkgrid { margin: var(--space-8) 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: var(--rule); border: 1px solid var(--rule); }
.x-linkgrid a { display: grid; gap: 4px; height: 100%; padding: var(--space-4); background: var(--paper); color: var(--ink); text-decoration: none; transition: background var(--dur-fast) var(--ease-out); }
.x-linkgrid a:hover { background: var(--paper-2); }
.x-linkgrid b { font-family: var(--font-display); font-weight: 600; font-size: 20px; text-transform: uppercase; }
.x-linkgrid span { font-size: 13px; line-height: 18px; color: var(--ink-3); }
.x-guide__more { display: flex; flex-wrap: wrap; gap: var(--space-6); margin-top: var(--space-6); }
.x-guideband { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-6); padding: var(--space-8); background: var(--paper-2); border-top: 3px solid var(--bracket); }
.x-faq { margin-top: var(--space-8); border-top: 1px solid var(--rule); }
.x-faq__item { border-bottom: 1px solid var(--rule); }
.x-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-6) 0; cursor: pointer; list-style: none; }
.x-faq__item summary::-webkit-details-marker { display: none; }
.x-faq__item summary h3 { font-family: var(--font-display); font-weight: 600; font-size: clamp(20px, 1.8vw, 26px); line-height: 1.2; margin: 0; }
.x-faq__item summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.x-faq__icon { width: 24px; height: 24px; flex: none; color: var(--accent-ink); transition: transform var(--dur-fast) var(--ease-out); }
.x-faq__item[open] .x-faq__icon { transform: rotate(45deg); }
.x-faq__item p { padding: 0 0 var(--space-6); max-width: 78ch; font-size: 17px; line-height: 27px; color: var(--ink-2); }
@media (max-width: 1023px) { .x-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .x-linkgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .x-steps, .x-checklist, .x-linkgrid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- D-FENCE NEWS ---------- */
.x-newsx__banner { position: relative; margin: var(--space-8) 0 0; aspect-ratio: 21 / 8; background: #08173a; overflow: hidden; isolation: isolate; }
.x-newsx__banner > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; z-index: -1; }
.x-newsx__banner > .x-fill { z-index: -2; }
.x-newsx__banner figcaption { position: absolute; inset: auto 0 0 0; display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 24px; padding: 64px var(--space-8) var(--space-6);
  background: linear-gradient(0deg, rgba(6,18,46,0.9), rgba(6,18,46,0)); color: #f2f6ff; --ink: #f2f6ff; --accent-ink: #9dbaff; }
.x-newsx__banner figcaption b { font-family: var(--font-display); font-weight: 700; font-size: clamp(24px, 2.6vw, 40px); line-height: 1; text-transform: uppercase; max-width: 26ch; }
.x-newsx__tag { display: inline-block; padding: 5px 10px; background: var(--alarm); color: #fff; font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; }
.x-newsx { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: var(--grid-gap); }
.x-newsx__card { display: flex; flex-direction: column; background: var(--paper-2); }
.x-newsx__media { position: relative; display: block; aspect-ratio: 16 / 10; background: #0a1a40; overflow: hidden; }
.x-newsx__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.x-newsx__media--book { background: linear-gradient(160deg, #0d1d40, #08173a); }
.x-newsx__media--book img { inset: 8% 0; height: 84%; filter: drop-shadow(0 12px 22px rgba(3,10,32,0.45)); transition: transform var(--dur-base) var(--ease-out); }
.x-newsx__media--book:hover img { transform: translateY(-4px); }
.x-newsx__body { display: grid; gap: 10px; align-content: start; padding: var(--space-6); }
.x-newsx__body .x-newsx__tag { justify-self: start; }
.x-newsx__body h3 { font-family: var(--font-display); font-weight: 600; font-size: 24px; line-height: 1.1; }
.x-newsx__body p { font-size: 15px; line-height: 22px; color: var(--ink-2); }
.x-newsx__body .x-mob__link { color: var(--link); }
@media (max-width: 1023px) { .x-newsx { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .x-newsx__banner { aspect-ratio: 16 / 9; } }
@media (max-width: 639px) { .x-newsx { grid-template-columns: minmax(0, 1fr); } .x-newsx__banner { aspect-ratio: 4 / 3; } .x-newsx__banner figcaption { padding: 48px var(--space-4) var(--space-4); } }

/* NEWS banner with the owner's key visual: shown whole at its own proportions, with the slogan */
.x-newsx__banner { aspect-ratio: 1672 / 941; }
.x-newsx__banner figcaption { align-items: flex-end; padding-top: 120px; }
.x-newsx__slogan { display: flex; flex-wrap: wrap; gap: 4px 18px; width: 100%; max-width: none !important; font-family: var(--font-display); font-weight: 700; text-transform: uppercase; line-height: 0.95; font-size: clamp(30px, 4.2vw, 64px); }
.x-newsx__slogan span { display: inline-flex; align-items: center; gap: 18px; }
.x-newsx__slogan span + span::before { content: ""; width: 10px; height: 10px; background: #ff4d5e; border-radius: 50%; flex: none; }
.x-newsx__slogan span:first-child { color: #9dbaff; }
.x-newsx__sub { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: #c9d5f0; }
.x-newsx__illus { position: absolute; top: 14px; inset-inline-end: 14px; padding: 4px 8px; background: rgba(6,18,46,0.55); color: #c9d5f0; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; }
@media (max-width: 1023px) { .x-newsx__banner { aspect-ratio: auto; display: flex; flex-direction: column; } .x-newsx__banner > img { position: relative; inset: auto; height: auto; aspect-ratio: 1672 / 941; } .x-newsx__banner figcaption { position: relative; padding: var(--space-6) var(--space-4); background: #08173a; } .x-newsx__slogan { font-size: clamp(26px, 7vw, 40px); } }

/* the home page opens with D-FENCE NEWS, right under the header */
.x-sec--first { padding-top: var(--space-8); margin-top: 0; }
.x-sec--first .gs-sechead { margin-bottom: 0; }
.x-sec--first .x-newsx__banner { margin-top: var(--space-6); }

/* first screen = the NEWS banner itself: its red 'D-FENCE NEWS' tag is the visible title; the section heading stays for screen readers */
.x-sec--first { padding-top: var(--space-4); }
.x-sec--first > .gs-sechead { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; margin: 0; padding: 0; border: 0; }
.x-sec--first .x-newsx__banner { margin-top: 0; }
.x-sec--first .x-newsx__tag { font-size: 13px; padding: 7px 12px; }

/* phone legibility: nothing below 11px */
.x-newsx__illus, .gs-lock__tag { font-size: 11px; }

/* ---------- phone fixes (mobile audit, 30 Sep 2026) ---------- */
@media (max-width: 1023px) { .x-seal { left: auto; right: 3%; width: 17%; } }
@media (max-width: 639px) {
  .gs-std__iso { grid-template-columns: minmax(0, 1fr) !important; gap: var(--space-4) !important; }
  .gs-std__iso > * { min-width: 0; }
  .gs-std__iso > img { width: 104px; height: auto; }
  .gs-std__iso h3 { font-size: 40px !important; }
  .gs-std__dl { grid-template-columns: minmax(0, 1fr) !important; }
  .gs-std__dl dd { overflow-wrap: anywhere; }
}

/* ---------- phone fixes, round 2 ---------- */
/* wide comparison tables scroll inside their own box instead of widening the page */
*:has(> table.gs-cmp) { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.gs-grid > * { min-width: 0; }
@media (max-width: 639px) {
  .gs-grid > * { grid-column: 1 / -1 !important; }
  .x-facts .gs-lock__tag { font-size: 11px !important; }
}
/* comfortable tap areas */
.x-crumbs a { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; padding: 0 4px; }
.x-sector__prods a { display: inline-flex; min-height: 36px; align-items: center; }
.x-sector__prods .gs-tag { min-height: 36px; display: inline-flex; align-items: center; }

/* design-system photo tiles combine an aspect ratio with a min-height; on a phone that forced them wider than the screen */
.gs-tile, .gs-tile--photo { max-width: 100%; }
@media (max-width: 639px) { .gs-tile--photo { min-height: 0 !important; aspect-ratio: 4 / 3; } }

/* phone menu never wider than the screen */
.x-sheet { max-width: 100vw; }
@media (max-width: 639px) { .x-sheet { width: 100vw !important; } }
/* integration diagram labels: stack under their line on phones instead of running off the edge */
@media (max-width: 639px) { .gs-path__link span { position: static !important; transform: none !important; display: block; white-space: normal; margin-top: 6px; } }

/* ---------- Arabic: same treatment as Hebrew, with Noto Sans Arabic ---------- */
:root:lang(ar) {
  --font-display: 'Barlow Condensed', 'Noto Sans Arabic', 'Arial Narrow', sans-serif;
  --font-sans: 'Noto Sans Arabic', Barlow, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', 'Noto Sans Arabic', Consolas, monospace;
}
:lang(ar) .gs-display, :lang(ar) .gs-h1, :lang(ar) .gs-h2, :lang(ar) .gs-metric__label, :lang(ar) .gs-sector__name,
:lang(ar) .gs-std__name, :lang(ar) .gs-pillar h3, :lang(ar) .x-plate__name, :lang(ar) .x-cert__title, :lang(ar) .x-vid__title,
:lang(ar) .gs-product__name, :lang(ar) .gs-globe__fact .gs-h2 { font-weight: 700; letter-spacing: 0; }
:lang(ar) .gs-display--hero { font-size: clamp(48px, 8.4vw, 124px); line-height: 1; }
:lang(ar) .gs-display--l { font-size: 64px; line-height: 1.02; }
:lang(ar) .gs-display--m { font-size: 46px; line-height: 1.05; }
:lang(ar) .x-intro__title { font-size: clamp(46px, 7vw, 104px); line-height: 1; }
:lang(ar) .x-famhead h2 { font-size: clamp(34px, 4vw, 56px); line-height: 1.05; }
:lang(ar) .x-sector__name { font-size: clamp(34px, 3.8vw, 52px); line-height: 1.05; }
:lang(ar) .gs-metric__label { font-size: 24px; line-height: 30px; }
:lang(ar) .gs-rail .gs-metric__label { font-size: 19px; line-height: 24px; }
:lang(ar) .gs-eyebrow, :lang(ar) .gs-caption, :lang(ar) .gs-tag, :lang(ar) .gs-plate, :lang(ar) .x-plate__fam, :lang(ar) .x-crumbs,
:lang(ar) .gs-lock__tag, :lang(ar) .x-specs dt, :lang(ar) .x-vid__meta, :lang(ar) .x-cert__kind, :lang(ar) .gs-footer__chan dt,
:lang(ar) .gs-chan dt, :lang(ar) .gs-note, :lang(ar) .gs-metric__source, :lang(ar) .x-shot figcaption, :lang(ar) .x-lb__cap p,
:lang(ar) .gs-footer__col h3, :lang(ar) .gs-proof li, :lang(ar) .gs-units__label, :lang(ar) .gs-legend, :lang(ar) .gs-sector__kind,
:lang(ar) .x-doc small, :lang(ar) .x-specs__title, :lang(ar) .gs-cmp thead th, :lang(ar) .gs-footer__std { letter-spacing: 0.01em; }
:lang(ar) .gs-btn, :lang(ar) .gs-nav a, :lang(ar) .gs-arrowlink, :lang(ar) .x-jump a, :lang(ar) .x-plate__go, :lang(ar) .x-vid__play,
:lang(ar) .x-sheet nav a { letter-spacing: 0; font-weight: 700; }
:lang(ar) .gs-nav a { font-size: 16px; }
:lang(ar) .x-person__cap b { font-family: 'Noto Sans Arabic', sans-serif; }
.x-langmenu a:lang(ar), .x-langrow a:lang(ar) { font-family: 'Noto Sans Arabic', sans-serif; }
.x-langmenu a:lang(he), .x-langrow a:lang(he) { font-family: var(--font-hebrew); }

/* ---------- language menu (header) + language row (phone menu, footer) ---------- */
.x-langmenu { position: relative; }
.x-langmenu > summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 10px; border: 1px solid var(--rule-control); cursor: pointer;
  font-family: var(--font-mono); font-size: 13px; font-weight: 500; letter-spacing: 0.06em; color: var(--ink); background: transparent; user-select: none; }
.x-langmenu > summary::-webkit-details-marker { display: none; }
.x-langmenu > summary:hover { border-color: var(--accent-ink); }
.x-langmenu > summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.x-langmenu > summary svg { width: 16px; height: 16px; }
.x-langmenu__chev { transition: transform var(--dur-fast) var(--ease-out); }
.x-langmenu[open] .x-langmenu__chev { transform: rotate(180deg); }
.x-langmenu ul { position: absolute; top: calc(100% + 6px); inset-inline-end: 0; z-index: 90; min-width: 180px; margin: 0; padding: 6px; list-style: none;
  background: var(--paper-2); border: 1px solid var(--rule); box-shadow: 0 18px 40px rgba(3,10,32,0.4); }
.x-langmenu a { display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 12px; color: var(--ink); text-decoration: none; font-size: 15px; }
.x-langmenu a:hover, .x-langmenu a:focus-visible { background: var(--paper-3); outline: none; }
.x-langmenu a[aria-current="true"] { color: var(--accent-ink); font-weight: 600; }
.x-langmenu a[aria-current="true"]::after { content: "✓"; margin-inline-start: auto; }
.x-langrow { display: flex; flex-wrap: wrap; gap: 6px; }
.x-langrow a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 12px; border: 1px solid var(--rule); color: var(--ink); text-decoration: none; font-size: 14px; }
.x-langrow a:hover { border-color: var(--accent-ink); }
.x-langrow a[aria-current="true"] { border-color: var(--accent-ink); color: var(--accent-ink); font-weight: 600; }
@media (max-width: 639px) { .gs-header .x-langmenu > summary { padding: 0 8px; } .gs-header .x-langmenu__chev { display: none; } }

/* hero headline over the airport photo */
.x-hero__stage { container-type: inline-size; }
.x-hero__tag { position: absolute; left: 62%; top: 30%; max-width: 34%; margin: 0; padding: 1.1cqw 1.5cqw 1.2cqw; display: flex; flex-direction: column; gap: .55cqw;
  background: linear-gradient(135deg, rgba(5,15,38,.78), rgba(8,21,48,.55)); -webkit-backdrop-filter: blur(10px) saturate(1.2); backdrop-filter: blur(10px) saturate(1.2);
  border: 1px solid rgba(255,255,255,.16); border-inline-start: 3px solid #e3242b; border-radius: 4px; box-shadow: 0 14px 40px rgba(3,10,28,.35); color: #fff; pointer-events: none; }
.x-hero__tag small { font: 600 max(9px, .95cqw)/1.2 var(--font-mono, ui-monospace, monospace); letter-spacing: .14em; text-transform: uppercase; color: #ffb3b6; }
.x-hero__tag strong { font: 700 max(13px, 2.9cqw)/1.06 var(--font-display, "Barlow Condensed", sans-serif); letter-spacing: .005em; text-wrap: balance; text-shadow: 0 2px 14px rgba(3,10,32,.35); }
:lang(he) .x-hero__tag strong, :lang(ar) .x-hero__tag strong { line-height: 1.18; letter-spacing: 0; }
:lang(he) .x-hero__tag small, :lang(ar) .x-hero__tag small { letter-spacing: .1em; font-family: var(--font-mono, ui-monospace, monospace); }
@media (max-width: 1023px) { .x-hero__tag { left: 3.2%; top: 13%; max-width: 33%; } }
@media (max-width: 767px) { .x-hero__tag { max-width: 34%; top: 6%; left: 2.5%; padding: 5px 7px 6px; gap: 2px; border-inline-start-width: 2px; } .x-hero__tag small { font-size: 10px; letter-spacing: .1em; } .x-hero__tag strong { font-size: 12px; line-height: 1.15; } }
/* NEWS banner: the whole picture first, the slogan below it (nothing laid over the image) */
.x-newsx__banner { aspect-ratio: auto !important; display: flex; flex-direction: column; }
.x-newsx__banner > img { position: relative; inset: auto; height: auto; aspect-ratio: 1672 / 941; }
.x-newsx__banner figcaption { position: relative; inset: auto; padding: var(--space-6) var(--space-8) var(--space-8); background: linear-gradient(180deg, #081530, #08173a); }
@media (max-width: 639px) { .x-newsx__banner figcaption { padding: var(--space-5, 20px) var(--space-4) var(--space-6); } }
/* NEWS · in the press: the newspaper page whole, beside the story */
.x-press { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0; margin-top: var(--grid-gap); background: var(--paper-2); align-items: stretch; }
.x-press__media { position: relative; display: flex; align-items: center; justify-content: center; padding: var(--space-8); background: radial-gradient(120% 90% at 50% 20%, #13306a 0%, #081530 55%, #08173a 100%); }
.x-press__media img { display: block; width: 100%; max-width: 440px; height: auto; object-fit: contain; box-shadow: 0 24px 60px rgba(3,10,32,0.5), 0 0 0 1px rgba(255,255,255,0.08); transition: transform var(--dur-base) var(--ease-out); }
.x-press__media:hover img { transform: translateY(-4px); }
.x-press__zoom { position: absolute; top: 14px; inset-inline-end: 14px; display: grid; place-items: center; width: 40px; height: 40px; background: rgba(6,18,46,0.6); color: #fff; border: 1px solid rgba(255,255,255,0.18); }
.x-press__zoom svg { width: 18px; height: 18px; }
.x-press__body { display: grid; gap: 16px; align-content: center; padding: var(--space-10, 40px) var(--space-8); }
.x-press__body .x-newsx__tag { justify-self: start; }
.x-press__body h3 { font-family: var(--font-display); font-weight: 700; font-size: clamp(28px, 3.1vw, 46px); line-height: 1.04; text-wrap: balance; }
.x-press__body p { font-size: 17px; line-height: 26px; color: var(--ink-2); max-width: 52ch; }
.x-press__memo { padding-inline-start: 14px; border-inline-start: 2px solid #9dbaff; color: #c9d5f0 !important; font-style: italic; }
:lang(he) .x-press__memo, :lang(ar) .x-press__memo { font-style: normal; }
.x-press__body .x-mob__link { color: var(--link); }
@media (max-width: 1023px) { .x-press { grid-template-columns: minmax(0, 1fr); } .x-press__media { padding: var(--space-6) var(--space-4); } .x-press__media img { max-width: 360px; } .x-press__body { padding: var(--space-6) var(--space-4) var(--space-8); } }
/* diagrams and sheets are shown whole: tall sheets are scaled to fit the screen, never cut */
.x-diagram img { width: auto; max-width: 100%; max-height: 88vh; margin-inline: auto; object-fit: contain; }
/* Arabic: letter-spacing breaks the joining of Arabic letters — none anywhere on Arabic pages */
html[lang="ar"] body, html[lang="ar"] body * { letter-spacing: normal !important; }
/* catalogue: download the chosen book as PDF, or any language from the list below the reader */
.x-book__dl { background: var(--accent, #2f5bff); border-color: transparent; color: #fff; }
.x-book__dl:hover { filter: brightness(1.1); }
.x-book__dl[hidden] { display: none !important; }
.x-book__downloads { margin-top: var(--space-8); padding: var(--space-6); background: var(--paper-2); border: 1px solid var(--line, rgba(255,255,255,0.1)); }
.x-book__downloads h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 var(--space-4); font-family: var(--font-display); font-weight: 600; font-size: 22px; line-height: 1.2; }
.x-book__downloads h3 svg { width: 20px; height: 20px; color: #9dbaff; }
.x-book__downloads ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.x-book__dlbtn { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-items: center; column-gap: 12px; min-height: 60px; padding: 10px 14px; background: rgba(157,186,255,0.06); border: 1px solid rgba(157,186,255,0.22); color: var(--ink, #fff); text-decoration: none; transition: background var(--dur-base, .2s), border-color var(--dur-base, .2s); }
.x-book__dlbtn:hover, .x-book__dlbtn:focus-visible { background: rgba(157,186,255,0.14); border-color: #9dbaff; }
.x-book__dlbtn > span { font-weight: 600; font-size: 16px; }
.x-book__dlbtn small { grid-column: 1; font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; color: var(--ink-2, #c9d5f0); }
.x-book__dlbtn svg { grid-column: 2; grid-row: 1 / span 2; width: 20px; height: 20px; color: #9dbaff; }
/* phones: longer Spanish / French / German labels wrap instead of running past the screen edge */
@media (max-width: 767px) {
  .gs-eyebrow { flex-wrap: wrap; white-space: normal; max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
  .gs-sechead__eyebrow, .x-intro__top { flex-wrap: wrap; row-gap: 6px; min-width: 0; }
  .gs-tag { white-space: normal; max-width: 100%; height: auto; min-height: 28px; text-align: start; }
  .gs-btn { white-space: normal; max-width: 100%; height: auto; min-height: 48px; padding-block: 10px; text-align: center; line-height: 1.2; }
  .x-catband__langs { flex-wrap: wrap; min-width: 0; }
  :lang(de) h1, :lang(de) h2, :lang(de) h3 { overflow-wrap: break-word; hyphens: auto; }
}@media (max-width: 767px) {
  .x-guideband > div, .gs-sechead > *, .x-intro > * { min-width: 0; }
  :lang(de) .gs-display, :lang(fr) .gs-display, :lang(es) .gs-display { overflow-wrap: anywhere; hyphens: auto; }
}
/* ===== Home · PIDS in layers: one perimeter, six layers, one command ===== */
.x-layers { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(24px, 4vw, 72px); align-items: start; margin-top: var(--space-8); }
.x-layers__viz { position: sticky; top: 96px; margin: 0; display: grid; justify-items: center; gap: 14px; }
.x-rings { display: block; width: 100%; max-width: 560px; height: auto; overflow: visible; }
.x-ring { transition: opacity .35s ease, filter .35s ease; }
.x-ring__line { fill: none; stroke: #9dbaff; stroke-opacity: .5; stroke-width: 1.6; transition: stroke .35s, stroke-opacity .35s, stroke-width .35s; }
.x-ring__line--thin { stroke-width: 1; stroke-opacity: .3; }
.x-ring__line--fence { stroke-width: 3; stroke-opacity: .8; }
.x-ring__posts { fill: none; stroke: #9dbaff; stroke-opacity: .55; stroke-width: 2; transition: stroke .35s, stroke-opacity .35s; }
.x-ring__marks { fill: #0b1a3a; stroke: #9dbaff; stroke-width: 1.4; transition: stroke .35s; }
.x-ring--core text { fill: #fff; font: 700 17px var(--font-mono, monospace); letter-spacing: .06em; }
.x-rings__pulse { fill: none; stroke: #ff5a63; stroke-width: 2; transform-box: fill-box; transform-origin: center; animation: x-core-pulse 2.4s ease-out infinite; }
@keyframes x-core-pulse { 0% { transform: scale(1); opacity: .85; } 100% { transform: scale(2.2); opacity: 0; } }
.x-rings__tags text { fill: #c9d5f0; font: 700 11px var(--font-mono, monospace); letter-spacing: .08em; text-anchor: middle; paint-order: stroke; stroke: #081530; stroke-width: 5px; stroke-linejoin: round; }
.x-rings__wire { fill: none; stroke: #ff5a63; stroke-opacity: .4; stroke-width: 1.2; stroke-dasharray: 2 5; }
.x-rings__dot { fill: #ff5a63; filter: drop-shadow(0 0 5px #ff5a63); }
.x-layers.is-active .x-ring { opacity: .22; }
.x-layers .x-ring.is-on { opacity: 1; filter: drop-shadow(0 0 7px rgba(157,186,255,.9)); }
.x-ring.is-on .x-ring__line, .x-ring.is-on .x-ring__posts { stroke: #fff; stroke-opacity: 1; }
.x-ring.is-on .x-ring__line { stroke-width: 3; }
.x-ring.is-on .x-ring__line--thin { stroke-width: 1.5; }
.x-ring.is-on .x-ring__marks { stroke: #fff; }
.x-layers .x-ring--core.is-on { filter: drop-shadow(0 0 12px rgba(255,90,99,.95)); }
.x-layers__viz figcaption { display: inline-flex; align-items: center; gap: 8px; font: 500 12px/1.3 var(--font-mono, monospace); letter-spacing: .1em; text-transform: uppercase; color: #c9d5f0; text-align: center; }
.x-layers__viz figcaption svg { width: 16px; height: 16px; color: #ff5a63; flex: none; }
.x-layers__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.x-layer { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; padding: 16px 18px; background: var(--paper-2); border: 1px solid rgba(157,186,255,.14); border-inline-start: 3px solid rgba(157,186,255,.35); cursor: default; transition: border-color .3s, background-color .3s; }
.x-layer.is-on { background-color: rgba(47,91,255,.13); border-color: rgba(157,186,255,.45); border-inline-start-color: #9dbaff; }
.x-layer__n { font: 700 15px/1 var(--font-mono, monospace); color: #9dbaff; letter-spacing: .08em; padding-top: 5px; }
.x-layer h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font: 600 21px/1.15 var(--font-display); }
.x-layer h3 svg { width: 20px; height: 20px; color: #9dbaff; flex: none; }
.x-layer p { margin: 0 0 10px; font-size: 15px; line-height: 22px; color: var(--ink-2); }
.x-layer__prods { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.x-layer__prods a { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 10px; border: 1px solid rgba(157,186,255,.28); background: rgba(6,18,46,.35); color: var(--ink, #fff); font-size: 13px; font-weight: 600; line-height: 1.2; text-decoration: none; transition: background-color .2s, border-color .2s; }
.x-layer__prods a:hover, .x-layer__prods a:focus-visible { background: #2f5bff; border-color: #2f5bff; color: #fff; }
.x-layer--core { border-inline-start-color: #e3242b; }
.x-layer--core .x-layer__n, .x-layer--core h3 svg { color: #ff8a90; }
.x-layer--core.is-on { background-color: rgba(227,36,43,.12); border-color: rgba(227,36,43,.5); border-inline-start-color: #e3242b; }
.x-chain { list-style: none; margin: var(--space-10, 40px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(157,186,255,.2); }
.x-chain li { position: relative; padding: 22px 24px 4px 0; padding-inline: 0 24px; }
.x-chain li + li { padding-inline-start: 28px; border-inline-start: 1px solid rgba(157,186,255,.2); }
.x-chain__n { display: block; margin-bottom: 8px; font: 700 12px var(--font-mono, monospace); letter-spacing: .12em; color: #ff5a63; }
.x-chain b { display: block; margin-bottom: 8px; font: 700 clamp(26px, 2.6vw, 38px)/1 var(--font-display); text-transform: uppercase; }
.x-chain p { margin: 0; font-size: 15px; line-height: 22px; color: var(--ink-2); }
.x-layers__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: var(--space-8); }
@media (prefers-reduced-motion: reduce) { .x-rings__sweep, .x-rings__dot { display: none; } .x-rings__pulse { animation: none; } }
@media (max-width: 1023px) { .x-layers { grid-template-columns: minmax(0, 1fr); } .x-layers__viz { position: relative; top: auto; } .x-rings { max-width: 420px; } }
@media (max-width: 639px) {
  .x-layer { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 14px; }
  .x-layer h3 { font-size: 19px; }
  .x-chain { grid-template-columns: minmax(0, 1fr); }
  .x-chain li, .x-chain li + li { padding: 18px 0 6px; border-inline-start: 0; }
  .x-chain li + li { border-top: 1px solid rgba(157,186,255,.2); }
}
/* catalogue bar: the download sits right beside the language choice — one click downloads that language */
.x-book__dl { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 18px 6px 14px; background: #2f5bff; border: 0; color: #fff !important; text-decoration: none; box-shadow: 0 10px 26px rgba(47,91,255,.35); transition: background-color .2s, transform .2s; }
.x-book__dl:hover, .x-book__dl:focus-visible { background: #4a70ff; transform: translateY(-1px); }
.x-book__dl svg { width: 20px; height: 20px; flex: none; }
.x-book__dl > span { display: grid; gap: 2px; line-height: 1.1; text-align: start; }
.x-book__dl b { font-size: 14px; font-weight: 700; white-space: nowrap; }
.x-book__dl small { font: 500 11px var(--font-mono, monospace); letter-spacing: .08em; opacity: .85; }
.x-book__bar .gs-select select { min-width: 150px; }
@media (max-width: 639px) { .x-book__dl { flex: 1 1 auto; justify-content: center; } }
/* ===== About us: the vision as one big statement ===== */
.x-vision { position: relative; overflow: hidden; isolation: isolate; padding: clamp(28px, 6vw, 88px); border: 1px solid rgba(157,186,255,.18);
  background: radial-gradient(120% 140% at 88% -10%, rgba(47,91,255,.32), transparent 55%), radial-gradient(90% 120% at -5% 110%, rgba(227,36,43,.16), transparent 60%), linear-gradient(160deg, #0c1f4a 0%, #060d1f 100%); }
.x-vision::after { content: "PLUG & PLAY"; position: absolute; inset-inline-end: -1%; bottom: -5%; z-index: -1; font: 800 clamp(72px, 13vw, 210px)/.8 var(--font-display); letter-spacing: -.01em; white-space: nowrap; color: transparent; -webkit-text-stroke: 1px rgba(157,186,255,.13); pointer-events: none; }
.x-vision__eyebrow { color: #c9d5f0; }
.x-vision__quote { margin: 20px 0 0; max-width: 21ch; font: 700 clamp(34px, 5.2vw, 76px)/1.02 var(--font-display); text-wrap: balance; }
:lang(he) .x-vision__quote, :lang(ar) .x-vision__quote { line-height: 1.14; max-width: 18ch; }
.x-vision__quote em { font-style: normal; color: #9dbaff; background: linear-gradient(90deg, #9dbaff 0%, #ffffff 55%, #9dbaff 100%); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: x-shimmer 6s ease-in-out infinite; }
@keyframes x-shimmer { 0%, 100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }
.x-vision__pillars { list-style: none; margin: clamp(32px, 5vw, 64px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(157,186,255,.22); }
.x-vision__pillars li { display: grid; align-content: start; gap: 10px; padding: 26px 26px 6px 0; padding-inline: 0 26px; }
.x-vision__pillars li + li { padding-inline-start: 26px; border-inline-start: 1px solid rgba(157,186,255,.22); }
.x-vision__pillars svg { width: 28px; height: 28px; color: #9dbaff; }
.x-vision__n { font: 700 12px var(--font-mono, monospace); letter-spacing: .12em; color: #ff5a63; }
.x-vision__pillars b { font: 700 clamp(22px, 2.1vw, 30px)/1.1 var(--font-display); }
.x-vision__pillars p { margin: 0; font-size: 16px; line-height: 25px; color: var(--ink-2); }
.x-aboutfacts { list-style: none; margin: var(--grid-gap) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--grid-gap); }
.x-aboutfacts li { display: grid; gap: 6px; padding: 22px 24px; background: var(--paper-2); border-top: 2px solid #2f5bff; }
.x-aboutfacts b { font: 700 clamp(40px, 4.4vw, 64px)/1 var(--font-display); }
.x-aboutfacts span { font: 500 12px/1.35 var(--font-mono, monospace); letter-spacing: .1em; text-transform: uppercase; color: #c9d5f0; }
.x-aboutlinks { display: flex; flex-wrap: wrap; gap: 14px 32px; margin-top: var(--space-6); }
@media (prefers-reduced-motion: reduce) { .x-vision__quote em { animation: none; } }
@media (max-width: 1023px) { .x-aboutfacts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .x-vision__pillars { grid-template-columns: minmax(0, 1fr); }
  .x-vision__pillars li, .x-vision__pillars li + li { padding: 22px 0 8px; border-inline-start: 0; }
  .x-vision__pillars li + li { border-top: 1px solid rgba(157,186,255,.22); }
}
/* ===== Product page · kit for integrators & consultants ===== */
.x-pkit { display: grid; gap: 10px; margin-top: var(--space-2); padding: 16px; background: linear-gradient(160deg, rgba(47,91,255,.14), rgba(6,18,46,.4)); border: 1px solid rgba(157,186,255,.22); }
.x-pkit__title { margin: 0; font: 600 11px/1.3 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: #c9d5f0; }
.x-pkit__layer { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 10px 12px; background: rgba(6,18,46,.45); border: 1px solid rgba(157,186,255,.18); color: var(--ink); text-decoration: none; transition: border-color .2s, background-color .2s; }
.x-pkit__layer:hover, .x-pkit__layer:focus-visible { border-color: #9dbaff; background: rgba(47,91,255,.18); }
.x-pkit__ln { display: grid; place-items: center; width: 40px; height: 40px; border: 2px solid #9dbaff; border-radius: 50%; font: 700 13px var(--font-mono); color: #9dbaff; box-shadow: 0 0 0 4px rgba(157,186,255,.08), 0 0 18px rgba(157,186,255,.25); }
.x-pkit__layer small { display: block; font: 500 11px var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3, #9aa7c2); }
.x-pkit__layer b { display: block; font: 600 17px/1.2 var(--font-display); }
.x-pkit__go { width: 18px; height: 18px; color: #9dbaff; }
[dir="rtl"] .x-pkit__go { transform: scaleX(-1); }
.x-pkit__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.x-pkit__btn { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; min-height: 56px; padding: 8px 12px; background: #2f5bff; color: #fff; text-decoration: none; transition: background-color .2s, transform .2s; }
.x-pkit__btn + .x-pkit__btn { background: rgba(6,18,46,.55); border: 1px solid rgba(157,186,255,.3); }
.x-pkit__btn:hover, .x-pkit__btn:focus-visible { background: #4a70ff; transform: translateY(-1px); }
.x-pkit__btn svg { width: 22px; height: 22px; }
.x-pkit__btn b { display: block; font-size: 14px; font-weight: 700; line-height: 1.2; }
.x-pkit__btn small { display: block; font: 500 11px var(--font-mono); letter-spacing: .08em; opacity: .8; }
@media (max-width: 479px) { .x-pkit__btns { grid-template-columns: 1fr; } }

/* ===== Product page · tender specification text ===== */
.x-spectext { margin-top: var(--space-8); border: 1px solid rgba(157,186,255,.22); background: #071229; }
.x-spectext__bar { position: sticky; top: 72px; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 14px 20px; background: rgba(8,21,48,.96); border-bottom: 1px solid rgba(157,186,255,.22); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.x-spectext__doc { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.x-spectext__doc svg { width: 20px; height: 20px; color: #9dbaff; flex: none; }
.x-spectext__doc b { font: 600 18px var(--font-display); }
.x-spectext__doc span { font: 500 11px var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: #c9d5f0; }
.x-spectext__acts { display: inline-flex; flex-wrap: wrap; gap: 10px; }
.x-spectext__acts .gs-btn { display: inline-flex; align-items: center; gap: 8px; }
.x-spectext__acts svg { width: 18px; height: 18px; }
[data-x-copy].is-copied { background: #1f9d63 !important; border-color: #1f9d63 !important; }
.x-spectext__body { max-height: 560px; overflow: auto; padding: clamp(18px, 3vw, 36px); font-size: 15px; line-height: 24px; color: var(--ink-2); scrollbar-color: #2f5bff transparent; }
.x-spectext__list { margin: 0; padding-inline-start: 1.6em; display: grid; gap: 20px; }
.x-spectext__list > li::marker { font: 700 15px var(--font-mono); color: #9dbaff; }
.x-spectext__list h4 { margin: 0 0 6px; font: 700 15px var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.x-spectext__list p { margin: 0; }
.x-spectext__list ul, .x-spectext__list ol { margin: 0; padding-inline-start: 1.2em; display: grid; gap: 4px; }
.x-spectext__list b { color: var(--ink); font-weight: 600; }
:lang(he) .x-spectext__list h4, :lang(ar) .x-spectext__list h4 { letter-spacing: 0; }

/* ===== How it works · a live signal runs through the steps ===== */
.x-flow li { background-image: linear-gradient(90deg, transparent, #ff5a63 45%, #ffd0d3 50%, #ff5a63 55%, transparent); background-repeat: no-repeat; background-size: 45% 3px; background-position: -70% 0; animation: x-flowrun 5s linear infinite; }
.x-flow li:nth-child(2) { animation-delay: 1s; } .x-flow li:nth-child(3) { animation-delay: 2s; } .x-flow li:nth-child(4) { animation-delay: 3s; } .x-flow li:nth-child(5) { animation-delay: 4s; }
@keyframes x-flowrun { 0% { background-position: -70% 0; } 20% { background-position: 170% 0; } 100% { background-position: 170% 0; } }
[dir="rtl"] .x-flow li { animation-name: x-flowrun-rtl; }
@keyframes x-flowrun-rtl { 0% { background-position: 170% 0; } 20% { background-position: -70% 0; } 100% { background-position: -70% 0; } }
.x-flow li::before { animation: x-flowlit 5s linear infinite; animation-delay: inherit; }
@keyframes x-flowlit { 0%, 22% { color: #ff5a63; text-shadow: 0 0 10px rgba(255,90,99,.7); } 30%, 100% { color: var(--accent-ink); text-shadow: none; } }
@media (prefers-reduced-motion: reduce) { .x-flow li, .x-flow li::before { animation: none; } }
/* ===== Technology · live sensor demo ===== */
.x-live { margin-top: var(--space-10, 40px); padding: clamp(18px, 3vw, 32px); border: 1px solid rgba(157,186,255,.2); background: radial-gradient(90% 120% at 100% 0%, rgba(47,91,255,.18), transparent 60%), #06102a; transition: box-shadow .4s, border-color .4s; }
.x-live.is-alarm { border-color: rgba(255,90,99,.6); box-shadow: 0 0 0 1px rgba(255,90,99,.35), 0 0 60px rgba(227,36,43,.18); }
.x-live__head { display: grid; gap: 6px; margin-bottom: 18px; }
.x-live__badge { justify-self: start; display: inline-flex; align-items: center; gap: 8px; padding: 4px 10px; border: 1px solid rgba(255,90,99,.5); font: 700 11px var(--font-mono); letter-spacing: .16em; color: #ff8a90; }
.x-live__badge i { width: 8px; height: 8px; border-radius: 50%; background: #ff5a63; animation: x-ping 1.6s infinite; box-shadow: 0 0 0 0 rgba(255,90,99,.6); }
.x-live__head h3 { margin: 0; font: 700 clamp(26px, 3vw, 40px)/1.05 var(--font-display); }
.x-live__head p { margin: 0; color: var(--ink-2); font-size: 16px; }
.x-live__body { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 18px; align-items: stretch; }
.x-live__chart { margin: 0; position: relative; padding: 10px 10px 4px; background: rgba(6,18,46,.55); border: 1px solid rgba(157,186,255,.14); }
.x-live__chart figcaption { position: absolute; top: 12px; left: 64px; font: 500 11px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: #8fa2cf; }
.x-live__svg { display: block; width: 100%; height: auto; overflow: visible; }
.x-live__grid line { stroke: rgba(157,186,255,.12); stroke-width: 1; }
.x-live__grid text, .x-live__axis { fill: #8fa2cf; font: 500 11px var(--font-mono); }
.x-live__band { fill: rgba(255,90,99,.07); }
.x-live__thr { stroke: #ff5a63; stroke-width: 1.5; stroke-dasharray: 6 6; }
.x-live__thrlabel { fill: #ff8a90; font: 600 11px var(--font-mono); letter-spacing: .04em; }
.x-live__line { fill: none; stroke: #9dbaff; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; filter: drop-shadow(0 0 6px rgba(157,186,255,.6)); transition: stroke .3s; }
.x-live__area { fill: rgba(157,186,255,.10); transition: fill .3s; }
.x-live__dot { fill: #fff; stroke: #9dbaff; stroke-width: 3; }
.x-live.is-alarm .x-live__line { stroke: #ff5a63; filter: drop-shadow(0 0 8px rgba(255,90,99,.8)); }
.x-live.is-alarm .x-live__area { fill: rgba(255,90,99,.14); }
.x-live.is-alarm .x-live__dot { stroke: #ff5a63; }
.x-live__panel { display: grid; align-content: start; gap: 14px; padding: 16px; background: rgba(6,18,46,.55); border: 1px solid rgba(157,186,255,.14); }
.x-live__status { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: rgba(31,157,99,.14); border: 1px solid rgba(31,157,99,.55); color: #7fe0b0; transition: background-color .3s, border-color .3s, color .3s; }
.x-live__status i { width: 12px; height: 12px; border-radius: 50%; background: #3ddc97; box-shadow: 0 0 12px #3ddc97; flex: none; }
.x-live__status b { font: 700 15px/1.2 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; }
.x-live.is-alarm .x-live__status { background: rgba(227,36,43,.22); border-color: #ff5a63; color: #fff; animation: x-alarmflash .9s ease-in-out infinite alternate; }
.x-live.is-alarm .x-live__status i { background: #ff5a63; box-shadow: 0 0 14px #ff5a63; }
@keyframes x-alarmflash { from { background-color: rgba(227,36,43,.18); } to { background-color: rgba(227,36,43,.42); } }
.x-live__read { display: flex; align-items: baseline; gap: 8px; }
.x-live__read b { font: 700 54px/1 var(--font-display); font-variant-numeric: tabular-nums; min-width: 4ch; }
.x-live__read span { font: 600 14px var(--font-mono); color: #8fa2cf; }
.x-live__why { margin: 0; font-size: 15px; line-height: 22px; color: var(--ink-2); min-height: 66px; }
.x-live__scen { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.x-live__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; background: rgba(6,18,46,.55); border: 1px solid rgba(157,186,255,.28); color: var(--ink); font: 600 14px var(--font-sans, inherit); cursor: pointer; transition: background-color .2s, border-color .2s; }
.x-live__btn svg { width: 18px; height: 18px; color: #9dbaff; }
.x-live__btn--threat svg { color: #ff8a90; }
.x-live__btn:hover { border-color: #9dbaff; }
.x-live__btn[aria-pressed="true"] { background: #2f5bff; border-color: #2f5bff; color: #fff; }
.x-live__btn[aria-pressed="true"] svg { color: #fff; }
.x-live__btn--threat[aria-pressed="true"] { background: #c81f26; border-color: #c81f26; }
@media (max-width: 899px) { .x-live__body { grid-template-columns: minmax(0, 1fr); } .x-live__panel { grid-template-columns: 1fr auto; align-items: center; } .x-live__why { grid-column: 1 / -1; min-height: 0; } .x-live__read b { font-size: 40px; } }
@media (max-width: 479px) { .x-live__btn { flex: 1 1 calc(50% - 8px); justify-content: center; } }
/* ===== Products · filter by PIDS layer ===== */
.x-lfilter { position: sticky; top: 72px; z-index: 5; margin: 0 0 var(--space-8); padding: 14px 16px; background: rgba(6,13,31,.94); border: 1px solid rgba(157,186,255,.2); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.x-lfilter__lbl { margin: 0 0 10px; font: 600 11px var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: #c9d5f0; }
.x-lfilter__chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.x-lfilter__chips::-webkit-scrollbar { display: none; }
.x-lfilter__chip { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 6px 12px; background: rgba(6,18,46,.5); border: 1px solid rgba(157,186,255,.25); color: var(--ink); font: 600 14px var(--font-sans, inherit); white-space: nowrap; cursor: pointer; transition: background-color .2s, border-color .2s; }
.x-lfilter__chip b { font-family: var(--font-mono); color: #9dbaff; }
.x-lfilter__chip small { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; background: rgba(157,186,255,.14); font: 600 11px var(--font-mono); color: #c9d5f0; }
.x-lfilter__chip svg { width: 26px; height: 26px; flex: none; }
.x-lfilter__chip svg circle { fill: none; stroke: rgba(157,186,255,.35); stroke-width: .9; }
.x-lfilter__chip svg circle.core { fill: rgba(255,90,99,.5); stroke: none; }
.x-lfilter__chip svg circle.on { stroke: #fff; stroke-width: 2; filter: drop-shadow(0 0 2px #9dbaff); }
.x-lfilter__chip svg circle.core.on { fill: #ff5a63; filter: drop-shadow(0 0 3px #ff5a63); }
.x-lfilter__chip:hover { border-color: #9dbaff; }
.x-lfilter__chip[aria-pressed="true"] { background: #2f5bff; border-color: #2f5bff; color: #fff; }
.x-lfilter__chip[aria-pressed="true"] b, .x-lfilter__chip[aria-pressed="true"] small { color: #fff; }
.x-lfilter__chip[aria-pressed="true"] small { background: rgba(255,255,255,.2); }
.x-lfilter__results { margin-bottom: var(--space-10, 40px); }
.x-lfilter__in { animation: x-lfin .45s cubic-bezier(.2,.7,.2,1) both; }
@keyframes x-lfin { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .x-lfilter__in { animation: none; } }
@media (max-width: 767px) { .x-lfilter { top: 60px; padding: 10px 12px; } }
/* the comparison table scrolls inside its own box: make that box the containing block, so the hidden
   screen-reader labels inside the cells (position:absolute) scroll with it instead of widening the page on phones */
.gs-cost__table, *:has(> table.gs-cmp) { position: relative; }
/* home facts: "6,500+ km worldwide" is the longest figure — a wider cell and a slightly smaller number */
.x-facts { grid-template-columns: 1fr 1fr 1.75fr 1fr; }
.x-facts .gs-rail__cell:nth-child(3) .gs-num { font-size: 96px; }
@media (max-width: 1199px) { .x-facts .gs-rail__cell:nth-child(3) .gs-num { font-size: 70px; } }
@media (max-width: 1023px) { .x-facts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .x-facts .gs-rail__cell:nth-child(3) .gs-num { font-size: 40px; } }
/* NEWS banner: the "illustration" label sits under the picture, not on it */
.x-newsx__banner > .x-newsx__illus { position: static; order: 1; align-self: flex-start; margin: 10px var(--space-8) 0; background: rgba(157,186,255,.1); }
.x-newsx__banner > figcaption { order: 2; }
@media (max-width: 639px) { .x-newsx__banner > .x-newsx__illus { margin: 10px var(--space-4) 0; } }
/* ===== Catalogue · "A4 pages" view: large pages one under another, like a PDF on screen ===== */
.x-book.is-a4 .x-book__bar { position: sticky; top: var(--hdr, 72px); z-index: 6; background: rgba(6,13,31,.96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.x-book.is-a4:fullscreen .x-book__bar { top: 0; }
.x-book.is-a4 [data-x-book-flip], .x-book.is-a4 .x-book__thumbs, .x-book.is-a4 [data-x-book-sound] { display: none !important; }
.x-book:not(.is-a4) .x-book__pages, .x-book:not(.is-a4) .x-book__zoomgrp { display: none !important; }
.x-book.is-a4 .x-book__flip { display: block; min-height: 0; }
.x-book.is-a4 .x-book__stage { padding-block: var(--space-6) 0; }
.x-book.is-a4 .x-book__toc { position: sticky; top: calc(var(--hdr, 72px) + var(--barh, 60px) + 16px); align-self: start; max-height: calc(100vh - var(--hdr, 72px) - var(--barh, 60px) - 32px); }
.x-book__pages { --a4w: 1000px; display: grid; justify-items: center; gap: 28px; padding: 28px 16px 44px; background: radial-gradient(70% 40% at 50% 0%, rgba(47,91,255,.16), transparent 70%), #050c1f; border: 1px solid rgba(157,186,255,.12); }
.x-a4 { margin: 0; width: min(var(--a4w), 100%); scroll-margin-top: calc(var(--hdr, 72px) + var(--barh, 60px) + 16px); content-visibility: auto; contain-intrinsic-size: auto 1414px; }
.x-a4 img { display: block; width: 100%; height: auto; background: #fff; box-shadow: 0 22px 60px rgba(3,10,32,.6), 0 0 0 1px rgba(255,255,255,.06); }
.x-a4 figcaption { margin-top: 10px; text-align: center; font: 500 12px var(--font-mono); letter-spacing: .08em; color: #8fa2cf; direction: ltr; }
.x-book__modes { display: inline-flex; border: 1px solid rgba(157,186,255,.28); }
.x-book__modes .x-iconbtn2 { border: 0; display: inline-flex; align-items: center; gap: 6px; }
.x-book__modes .x-iconbtn2[aria-pressed="true"] { background: #2f5bff; color: #fff; }
.x-book__zoomgrp { display: inline-flex; align-items: center; gap: 4px; }
.x-book__zoomgrp .x-iconbtn2:disabled { opacity: .35; cursor: default; }
.x-book__zval { min-width: 48px; text-align: center; font: 600 12px var(--font-mono); color: #c9d5f0; direction: ltr; }
@media (max-width: 639px) {
  .x-book.is-a4 .x-book__bar { gap: 6px; padding-block: 6px; }
  .x-book.is-a4 [data-x-book-share], .x-book.is-a4 [data-x-book-full], .x-book.is-a4 [data-x-book-zoom], .x-book.is-a4 .x-book__spacer { display: none !important; }
  .x-book__modes .x-iconbtn2 span { display: none; }
  .x-book__pages { padding: 14px 0 28px; gap: 16px; border-inline: 0; }
}/* A4 view: one toolbar row — the +/- size buttons replace the magnifier, "share" keeps only its icon */
.x-book.is-a4 [data-x-book-zoom], .x-book.is-a4 [data-x-book-share-label] { display: none !important; }
.x-book.is-a4 .x-book__bar { flex-wrap: wrap; row-gap: 8px; }.x-book__pages { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 639px) {
  .x-book.is-a4 .x-book__zoomgrp { display: none !important; }
  .x-book.is-a4 .x-book__bar .gs-select { flex: 1 1 130px; min-width: 0; }
  .x-book.is-a4 .x-book__bar .gs-select select { min-width: 0; }
  .x-book.is-a4 .x-book__dl { flex: 0 0 auto; min-height: 44px; padding: 6px 12px; box-shadow: none; }
  .x-book.is-a4 .x-book__dl b, .x-book.is-a4 [data-x-book-toc] span { display: none; }
  .x-book.is-a4 .x-book__count { min-width: 0; font-size: 12px; }
}
.x-book.is-a4 .x-book__spacer { flex: 1 1 0; min-width: 0; }
@media (max-width: 1399px) { .x-book__modes .x-iconbtn2 span { display: none; } }

/* ===== Catalogue · digital magazine: open → the book fills the whole screen ===== */
html.x-noscroll { overflow: hidden; }
.x-book__flip { position: relative; }
.x-book__open { position: absolute; z-index: 5; left: 50%; bottom: 7%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 12px; min-height: 56px; padding: 12px 22px; background: #2f5bff; border: 0; color: #fff; font: 700 17px var(--font-sans, inherit); letter-spacing: .02em; cursor: pointer; box-shadow: 0 18px 44px rgba(47,91,255,.5), 0 0 0 6px rgba(47,91,255,.18); animation: x-openpulse 2.4s ease-in-out infinite; }
.x-book__open svg { width: 22px; height: 22px; }
.x-book__open:hover, .x-book__open:focus-visible { background: #4a70ff; }
@keyframes x-openpulse { 0%, 100% { box-shadow: 0 18px 44px rgba(47,91,255,.5), 0 0 0 6px rgba(47,91,255,.18); } 50% { box-shadow: 0 18px 44px rgba(47,91,255,.6), 0 0 0 14px rgba(47,91,255,.06); } }
.x-book.is-a4 .x-book__open, .x-book.is-immersive .x-book__open { display: none; }
.x-book__close { display: none !important; }
.x-book.is-immersive .x-book__close { display: inline-flex !important; }
.x-book.is-immersive { position: fixed; inset: 0; z-index: 1000; margin: 0; padding: 8px clamp(10px, 2vw, 24px) 10px; display: flex; flex-direction: column; overflow: hidden; background: radial-gradient(80% 60% at 50% 40%, #12285a 0%, #060d22 60%, #071536 100%); }
.x-book.is-immersive.is-a4 { overflow: auto; }
.x-book.is-immersive .x-book__bar { position: relative; top: 0; flex: none; border-top: 0; padding: 6px 0; background: transparent; }
.x-book.is-immersive .x-book__stage { flex: 1 1 auto; min-height: 0; padding-block: 8px 0; }
.x-book.is-immersive .x-book__flip { min-height: 0; height: 100%; }
.x-book.is-immersive:not(.is-a4) .x-book__flip > [data-x-book-flip] { max-width: min(100%, calc((100svh - 96px) * 1.414)); }
.x-book.is-immersive .x-book__thumbs, .x-book.is-immersive + .x-book__downloads { display: none; }
@media (max-width: 767px) { .x-book.is-immersive:not(.is-a4) .x-book__flip > [data-x-book-flip] { max-width: min(100%, calc((100svh - 130px) * 0.707)); } }
@media (prefers-reduced-motion: reduce) { .x-book__open { animation: none; } }.x-book.is-immersive .x-book__downloads, .x-book.is-immersive .x-book__thumbs { display: none !important; }
.x-book.is-immersive:not(.is-a4) .x-book__flip { overflow: hidden; }@media (max-width: 639px) {
  .x-book.is-immersive .x-book__bar { gap: 6px; padding: 4px 0; }
  .x-book.is-immersive .x-book__bar .gs-select { flex: 1 1 110px; min-width: 0; }
  .x-book.is-immersive .x-book__bar .gs-select select { min-width: 0; }
  .x-book.is-immersive .x-book__dl b, .x-book.is-immersive [data-x-book-toc] span, .x-book.is-immersive .x-book__modes span { display: none !important; }
  .x-book.is-immersive [data-x-book-share], .x-book.is-immersive [data-x-book-full], .x-book.is-immersive [data-x-book-zoom], .x-book.is-immersive .x-book__spacer, .x-book.is-immersive .x-book__zoomgrp { display: none !important; }
  .x-book.is-immersive .x-book__dl { flex: 0 0 auto; min-height: 44px; padding: 6px 12px; box-shadow: none; }
  .x-book.is-immersive .x-book__count { min-width: 0; font-size: 12px; }
}@media (max-width: 639px) { .x-book.is-immersive .x-book__modes { display: none !important; } .x-book.is-immersive .x-book__bar { justify-content: space-between; } }
@media (max-width: 639px) { .x-book.is-immersive .x-book__bar > * { order: 3; } .x-book.is-immersive .x-book__bar > .gs-select, .x-book.is-immersive .x-book__dl, .x-book.is-immersive [data-x-book-toc] { order: 1; } .x-book.is-immersive [data-x-book-prev], .x-book.is-immersive .x-book__count, .x-book.is-immersive [data-x-book-next] { order: 2; } .x-book.is-immersive [data-x-book-prev] { margin-inline-start: 0; } }
@media (max-width: 639px) { .x-book.is-immersive .x-book__bar .gs-select { flex: 1 1 150px; } }
/* the "open" button sits under the book, never on the cover */
.x-book:not(.is-a4):not(.is-immersive) .x-book__flip { flex-direction: column; gap: 18px; }
.x-book__open { position: static; left: auto; bottom: auto; transform: none; }.x-book:not(.is-a4):not(.is-immersive) .x-book__flip > [data-x-book-flip] { max-width: min(1180px, calc((100svh - 300px) * 1.414)); }

/* the book view shows only the book, like a newspaper — no thumbnail strip */
.x-book__thumbs { display: none !important; }

/* ==========================================================================
   Home v3 (owner, 4 Oct 2026): the airport fence edge to edge with PIDS under it, solutions told one at a time
   in a 3D scroll story, then products, integrators, technology, airports, patented fences and observation.
   Images stay whole everywhere (contain + blurred fill of the same photo).
   ========================================================================== */

/* ---------- hero: full-width airport-fence image, the PIDS headline right below it ---------- */
.x-top { position: relative; background: #050b1c; }
.x-top__media { position: relative; }
.x-top .x-hero__backdrop { display: none; }
.x-top .x-hero__stage { position: relative; left: auto; top: auto; transform: none; width: 100%; aspect-ratio: 2400 / 1564; }
.x-top .x-hero__stage > img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; animation: none; transform: none; }
.x-top__band { position: relative; overflow: hidden; isolation: isolate; color: #eef3ff;
  background: radial-gradient(110% 140% at 12% 0%, #12306f 0%, #081530 52%, #050b1c 100%); border-top: 1px solid rgba(157,186,255,.28); }
.x-top__grid { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgba(157,186,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(157,186,255,.07) 1px, transparent 1px);
  background-size: 48px 48px; -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 92%); mask-image: linear-gradient(180deg, #000 0%, transparent 92%); }
.x-top__beam { position: absolute; top: 0; bottom: 0; left: 0; width: 28%; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(157,186,255,.11), transparent); animation: x-beam 8s linear infinite; }
@keyframes x-beam { from { transform: translateX(-100%); } to { transform: translateX(460%); } }
.x-top__in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px 56px; align-items: end; padding-block: clamp(36px, 5vw, 76px); }
.x-top__h1 { margin: 0; display: grid; gap: 10px; }
.x-top__pids { font-family: var(--font-display); font-weight: 700; font-size: clamp(96px, 13vw, 210px); line-height: .8; letter-spacing: .03em;
  background: linear-gradient(100deg, #ffffff 0%, #c9d8ff 30%, #5f86ff 55%, #ffffff 78%); background-size: 240% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; animation: x-sheen 7s ease-in-out infinite; filter: drop-shadow(0 6px 30px rgba(47,91,255,.35)); }
@keyframes x-sheen { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
.x-top__full { font-family: var(--font-display); font-weight: 600; font-size: clamp(26px, 3.1vw, 48px); line-height: 1.04; letter-spacing: .02em; text-transform: uppercase; color: #eef3ff; }
:lang(he) .x-top__full, :lang(ar) .x-top__full { text-transform: none; letter-spacing: 0; line-height: 1.18; }
.x-top__sub { margin: 20px 0 0; max-width: 62ch; font-size: clamp(17px, 1.3vw, 20px); line-height: 1.55; color: #c9d5f0; }
.x-top__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.x-top__facts { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(157,186,255,.2); border: 1px solid rgba(157,186,255,.2); }
.x-top__facts > div { position: relative; padding: 20px 22px; background: rgba(6,16,40,.94); }
.x-top__facts > div::before { content: ""; position: absolute; top: -1px; inset-inline-start: -1px; width: 14px; height: 14px; border-top: 2px solid #9dbaff; border-inline-start: 2px solid #9dbaff; }
.x-top__facts dt { font-family: var(--font-display); font-weight: 700; font-size: clamp(36px, 3.4vw, 54px); line-height: 1; color: #fff; }
.x-top__facts dd { margin: 8px 0 0; font-size: 15px; line-height: 1.35; color: #c9d5f0; }
@media (max-width: 1023px) { .x-top__in { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 639px) { .x-top__pids { font-size: 92px; } .x-top__facts > div { padding: 14px 14px 16px; } .x-top__facts dt { font-size: 32px; } .x-top__facts dd { font-size: 14px; } }

/* ---------- shared HUD bits: corner brackets and a scan line over a figure ---------- */
.x-story__hud { position: absolute; inset: 14px; z-index: 3; pointer-events: none; }
.x-story__hud i { position: absolute; width: 22px; height: 22px; border: 0 solid #9dbaff; opacity: .9; }
.x-story__hud i:nth-child(1) { top: 0; left: 0; border-top-width: 2px; border-left-width: 2px; }
.x-story__hud i:nth-child(2) { top: 0; right: 0; border-top-width: 2px; border-right-width: 2px; }
.x-story__hud i:nth-child(3) { bottom: 0; left: 0; border-bottom-width: 2px; border-left-width: 2px; }
.x-story__hud i:nth-child(4) { bottom: 0; right: 0; border-bottom-width: 2px; border-right-width: 2px; }
.x-story__scan { position: absolute; inset: 0; z-index: 2; pointer-events: none; border-top: 2px solid rgba(190,210,255,.75);
  background: linear-gradient(180deg, rgba(107,147,255,.18), rgba(107,147,255,0) 70px); animation: x-scan 5.5s ease-in-out infinite alternate; }
@keyframes x-scan { from { transform: translateY(0); } to { transform: translateY(calc(100% - 2px)); } }

/* ---------- solutions story: stacked on phones/tablets, a sticky 3D stage on desktop ---------- */
.x-story-sec { padding-bottom: var(--space-8); }
.x-story { position: relative; margin-top: var(--space-8); overflow-x: clip; }
.x-story__grid, .x-story__rail { display: none; }
.x-story__slide { position: relative; margin: 0 0 clamp(44px, 7vw, 80px); }
.x-story__media { position: relative; margin: 0; overflow: hidden; isolation: isolate; background: #050b1c; }
.x-story__media > img { position: relative; z-index: 1; display: block; width: 100%; height: auto; }
.x-story__duo { position: relative; z-index: 1; display: grid; grid-template-columns: 3fr 5.333fr; gap: 6px; }
.x-story__duo img { display: block; width: 100%; height: auto; }
.x-story__copy { position: relative; max-width: 780px; padding: 26px var(--gutter-mobile) 0; }
.x-story__num { display: block; margin-bottom: 12px; font-family: var(--font-display); font-weight: 700; font-size: clamp(60px, 7vw, 124px); line-height: .8;
  color: transparent; -webkit-text-stroke: 1.5px rgba(157,186,255,.6); }
.x-story__title { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(30px, 3.2vw, 54px); line-height: 1.02; text-transform: uppercase; color: #fff; text-wrap: balance; }
:lang(he) .x-story__title, :lang(ar) .x-story__title { text-transform: none; line-height: 1.15; }
.x-story__text { margin: 16px 0 0; font-size: clamp(16px, 1.2vw, 19px); line-height: 1.6; color: #c9d5f0; }
.x-story__chips { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.x-story__chips li { padding: 7px 12px; border: 1px solid rgba(157,186,255,.35); background: rgba(157,186,255,.07); font-size: 14px; line-height: 1.25; color: #eef3ff; }
.x-story__link { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding-bottom: 3px; border-bottom: 1px solid currentColor; color: #9dbaff; font-weight: 600; text-decoration: none; }
.x-story__link:hover { color: #fff; }
.x-story__link svg { width: 18px; height: 18px; transition: transform .2s; }
.x-story__link:hover svg { transform: translateX(4px); }
[dir="rtl"] .x-story__link svg { transform: scaleX(-1); }
[dir="rtl"] .x-story__link:hover svg { transform: scaleX(-1) translateX(4px); }
@media (min-width: 768px) { .x-story__copy { padding-inline: var(--gutter); } }

/* stacked entrance: each solution arrives from a different direction ("another dimension") */
@media (prefers-reduced-motion: no-preference) {
  .x-story--js:not(.is-on) .x-story__slide { opacity: 0; transition: opacity .7s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
  .x-story--js:not(.is-on) [data-fx="tilt"] { transform: perspective(1200px) translateY(60px) rotateX(16deg); }
  .x-story--js:not(.is-on) [data-fx="flip"] { transform: perspective(1200px) rotateY(-20deg); }
  .x-story--js:not(.is-on) [data-fx="zoom"] { transform: scale(.86); }
  .x-story--js:not(.is-on) [data-fx="depth"] { transform: perspective(1200px) translateZ(-240px); }
  .x-story--js:not(.is-on) [data-fx="pan"] { transform: translateX(-12%); }
  [dir="rtl"] .x-story--js:not(.is-on) [data-fx="pan"] { transform: translateX(12%); }
  .x-story--js:not(.is-on) [data-fx="rise"] { transform: perspective(1200px) rotateX(-18deg); transform-origin: 50% 0; }
  .x-story--js:not(.is-on) [data-fx="orbit"] { transform: perspective(1200px) rotateY(18deg) rotateZ(-2deg); }
  .x-story--js:not(.is-on) .x-story__slide.is-in { opacity: 1; transform: none; }
}

/* desktop story mode (set by site.js): one solution at a time on a sticky stage */
.x-story.is-on { height: calc(var(--n) * 90svh + 10svh); overflow: visible; margin-bottom: 0; }
.x-story.is-on .x-story__stage { position: sticky; top: var(--hdr, 72px); height: calc(100svh - var(--hdr, 72px)); overflow: hidden; perspective: 1700px;
  background: radial-gradient(90% 120% at 30% 10%, #0f2558 0%, #081530 55%, #040a19 100%); }
.x-story.is-on .x-story__grid { display: block; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(157,186,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(157,186,255,.05) 1px, transparent 1px); background-size: 56px 56px; }
.x-story.is-on .x-story__slide { position: absolute; inset: 0 0 88px; margin: 0; display: grid; grid-template-columns: minmax(0, 64fr) minmax(0, 36fr); align-items: center;
  opacity: calc(1 - var(--ad, 0) * 1.7); transform-style: preserve-3d; backface-visibility: hidden; will-change: transform, opacity; pointer-events: none; }
.x-story.is-on .x-story__slide.is-active { pointer-events: auto; }
.x-story.is-on .x-story__slide:nth-of-type(even) { grid-template-columns: minmax(0, 36fr) minmax(0, 64fr); }
.x-story.is-on .x-story__slide:nth-of-type(even) .x-story__media { order: 2; }
.x-story.is-on .x-story__media { height: 100%; container-type: size; background: transparent; }
.x-story.is-on .x-story__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.x-story.is-on .x-story__duo { position: absolute; inset: 0; margin: auto; width: min(100cqw - 40px, (100cqh - 40px) * 2.08); height: fit-content; }
.x-story.is-on .x-story__copy { max-width: 620px; padding: 0 clamp(28px, 4vw, 72px); transform: translate3d(0, calc(var(--d, 0) * 46px), 0); }
.x-story.is-on .x-story__num { transform: translate3d(calc(var(--d, 0) * -70px), 0, 0); }
.x-story.is-on [data-fx="tilt"] { transform: translate3d(0, calc(var(--d, 0) * 28%), 0) rotateX(calc(var(--d, 0) * -26deg)); }
.x-story.is-on [data-fx="flip"] { transform: rotateY(calc(var(--d, 0) * -70deg)) translate3d(calc(var(--d, 0) * 16%), 0, 0); }
.x-story.is-on [data-fx="zoom"] { transform: scale(calc(1 - var(--d, 0) * .34)); }
.x-story.is-on [data-fx="depth"] { transform: translate3d(0, 0, calc(var(--d, 0) * -760px)); }
.x-story.is-on [data-fx="pan"] { transform: translate3d(calc(var(--d, 0) * 72%), 0, 0) skewX(calc(var(--d, 0) * -9deg)); }
.x-story.is-on [data-fx="rise"] { transform-origin: 50% 100%; transform: rotateX(calc(var(--d, 0) * 72deg)); }
.x-story.is-on [data-fx="orbit"] { transform: rotateY(calc(var(--d, 0) * 56deg)) rotateZ(calc(var(--d, 0) * -5deg)) translate3d(calc(var(--d, 0) * 24%), 0, 0); }
.x-story.is-on .x-story__rail { display: block; position: absolute; inset: auto 0 0; z-index: 4; padding: 0 var(--gutter) 22px; }
.x-story__rail ol { list-style: none; margin: 0 auto; padding: 0; max-width: var(--container); display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 12px; }
.x-story__rail a { position: relative; display: flex; gap: 8px; align-items: baseline; padding-top: 14px; color: #93a6cf; font-size: 14px; line-height: 1.25; text-decoration: none; transition: color .2s; }
.x-story__rail a > i { position: absolute; top: 0; left: 0; right: 0; height: 3px; overflow: hidden; background: rgba(157,186,255,.2); }
.x-story__rail a > i::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #5f86ff, #eef3ff); transform: scaleX(var(--fill, 0)); transform-origin: 0 50%; }
[dir="rtl"] .x-story__rail a > i::after { transform-origin: 100% 50%; background: linear-gradient(270deg, #5f86ff, #eef3ff); }
.x-story__rail b { font: 600 12px var(--font-mono, monospace); color: #6b93ff; }
.x-story__rail a:hover, .x-story__rail a.is-on { color: #fff; }
.x-story__rail a:focus-visible { outline: 2px solid #b5ccff; outline-offset: 4px; }

/* ---------- integrators: how an alarm reaches the integrator's own system ---------- */
.x-iflow { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(90px, .5fr) minmax(0, 1fr) minmax(90px, .5fr) minmax(0, 1fr); align-items: center;
  padding: clamp(22px, 3vw, 40px); background: linear-gradient(180deg, #0d1d40, #081530); border: 1px solid rgba(157,186,255,.2); overflow: hidden; isolation: isolate; }
.x-iflow::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(157,186,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(157,186,255,.05) 1px, transparent 1px); background-size: 32px 32px; }
.x-iflow__node { display: grid; justify-items: center; gap: 8px; padding: 22px 16px; text-align: center; background: rgba(6,16,40,.92); border: 1px solid rgba(157,186,255,.3); }
.x-iflow__node--core { border-color: #6b93ff; box-shadow: 0 0 0 4px rgba(107,147,255,.12), 0 0 34px rgba(107,147,255,.28); }
.x-iflow__node--you { border-color: rgba(238,243,255,.6); }
.x-iflow__ico { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; border: 2px solid #9dbaff; color: #eef3ff; box-shadow: 0 0 20px rgba(157,186,255,.3); }
.x-iflow__ico svg { width: 26px; height: 26px; }
.x-iflow__node b { font-family: var(--font-display); font-weight: 700; font-size: 21px; line-height: 1.1; text-transform: uppercase; color: #fff; }
:lang(he) .x-iflow__node b, :lang(ar) .x-iflow__node b { text-transform: none; }
.x-iflow__node small { font-size: 14px; line-height: 1.35; color: #c9d5f0; }
.x-iflow__wire { position: relative; height: 2px; margin-inline: 8px; background: repeating-linear-gradient(90deg, rgba(157,186,255,.65) 0 6px, transparent 6px 11px); }
.x-iflow__wire i { position: absolute; top: -5px; inset-inline-start: 0; width: 12px; height: 12px; border-radius: 50%; background: #ff5a63; box-shadow: 0 0 14px #ff5a63; animation: x-wire 2.2s linear infinite; }
.x-iflow__wire:nth-child(4) i { background: #9dbaff; box-shadow: 0 0 14px #9dbaff; animation-delay: 1.1s; }
@keyframes x-wire { from { inset-inline-start: 0; } to { inset-inline-start: calc(100% - 12px); } }
.x-iflow__wire span { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); white-space: nowrap; font: 600 12px var(--font-mono, monospace); letter-spacing: .05em; color: #9dbaff; }
@media (max-width: 899px) {
  .x-iflow { grid-template-columns: minmax(0, 1fr); justify-items: stretch; }
  .x-iflow__wire { width: 2px; height: 64px; margin: 4px auto; background: repeating-linear-gradient(180deg, rgba(157,186,255,.65) 0 6px, transparent 6px 11px); }
  .x-iflow__wire i { top: 0; left: -5px; inset-inline-start: auto; animation-name: x-wirev; }
  @keyframes x-wirev { from { top: 0; } to { top: calc(100% - 12px); } }
  .x-iflow__wire span { bottom: auto; top: 50%; left: 18px; transform: translateY(-50%); }
}
.x-ikit { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px 28px; align-items: center; margin-top: var(--grid-gap); padding: 24px 28px; background: var(--paper-2); border-inline-start: 3px solid #5f86ff; }
.x-ikit__ico { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: rgba(95,134,255,.16); color: #c9d8ff; }
.x-ikit__ico svg { width: 26px; height: 26px; }
.x-ikit h3 { margin: 0 0 6px; font-family: var(--font-display); font-weight: 700; font-size: 24px; line-height: 1.1; text-transform: uppercase; color: #fff; }
:lang(he) .x-ikit h3, :lang(ar) .x-ikit h3 { text-transform: none; }
.x-ikit p { margin: 0; font-size: 16px; line-height: 1.5; color: #c9d5f0; }
@media (max-width: 767px) { .x-ikit { grid-template-columns: minmax(0, 1fr); } }

/* ---------- airports: a live perimeter diagram + the two flagship airports ---------- */
.x-air__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--grid-gap); margin-top: var(--space-8); }
.x-air__map { margin: 0; display: grid; place-items: center; padding: clamp(10px, 2vw, 26px); background: radial-gradient(80% 90% at 50% 40%, #0f2558, #061029); border: 1px solid rgba(157,186,255,.2); }
.x-air__map svg { display: block; width: 100%; height: auto; }
.x-air__cards { display: grid; gap: var(--grid-gap); }
.x-air__card { display: grid; gap: 8px; align-content: start; padding: 22px 24px; background: var(--paper-2); border-top: 2px solid #2f5bff; }
.x-air__num { margin: 0; display: flex; align-items: baseline; gap: 8px; font-family: var(--font-display); font-weight: 700; font-size: clamp(42px, 4vw, 62px); line-height: 1; color: #fff; }
.x-air__num small { font-size: .42em; font-weight: 600; color: #9dbaff; }
.x-air__num--icon svg { width: 46px; height: 46px; color: #9dbaff; }
.x-air__card h3 { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 22px; line-height: 1.15; text-transform: uppercase; color: #eef3ff; }
:lang(he) .x-air__card h3, :lang(ar) .x-air__card h3 { text-transform: none; }
.x-air__card p:not(.x-air__num) { margin: 0; font-size: 16px; line-height: 1.5; color: #c9d5f0; }
.x-air__patrol { animation: x-patrol 10s linear infinite; }
@keyframes x-patrol { to { stroke-dashoffset: -1000; } }
.x-air__alarm { animation: x-alarm 6s ease-in-out infinite; }
@keyframes x-alarm { 0%, 38% { opacity: 0; } 46%, 88% { opacity: 1; } 100% { opacity: 0; } }
.x-air__alarm text { fill: #ff8a90; font: 600 15px var(--font-mono, monospace); letter-spacing: .05em; }
.x-air__ping { transform-box: fill-box; transform-origin: center; animation: x-ping 1.2s ease-out infinite; }
@keyframes x-ping { from { transform: scale(.6); opacity: 1; } to { transform: scale(2.6); opacity: 0; } }
.x-air__fov { transform-box: fill-box; transform-origin: 100% 100%; animation: x-fov 6s ease-in-out infinite; }
@keyframes x-fov { 0%, 38% { transform: rotate(-80deg); } 50%, 88% { transform: rotate(0deg); } 100% { transform: rotate(-80deg); } }
.x-air__plane { animation: x-plane 12s linear infinite; }
@keyframes x-plane { 0% { transform: translateX(-60px); opacity: 0; } 10%, 80% { opacity: 1; } 100% { transform: translateX(360px); opacity: 0; } }
@media (max-width: 1023px) { .x-air__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- fences: the patented technology + the perimeter family ---------- */
.x-fen__top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--grid-gap); margin-top: var(--space-8); align-items: start; }
.x-fen__ph { position: relative; margin: 0; overflow: hidden; isolation: isolate; background: #050b1c; aspect-ratio: 1400 / 788; }
.x-fen__ph > img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: contain; }
.x-fen__side { display: grid; gap: var(--grid-gap); }
.x-fen__pat { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--grid-gap); }
.x-fen__pat > div { display: grid; gap: 6px; align-content: start; padding: 18px 20px; background: linear-gradient(160deg, #14306c, #0a1a40); border: 1px solid rgba(201,162,74,.5); }
.x-fen__pat b { font-family: var(--font-display); font-weight: 700; font-size: clamp(38px, 3.4vw, 54px); line-height: 1;
  background: linear-gradient(120deg, #f7e7b0, #c9a24a 45%, #f3d98c 70%, #b8903c); -webkit-background-clip: text; background-clip: text; color: transparent; }
.x-fen__pat span { font-size: 14px; line-height: 1.35; color: #e9dfc4; }
.x-fen__pts { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--grid-gap); }
.x-fen__pts li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding: 16px 18px; background: var(--paper-2); }
.x-fen__pts li > svg { width: 28px; height: 28px; margin-top: 2px; color: #9dbaff; }
.x-fen__pts h3 { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 20px; line-height: 1.15; text-transform: uppercase; color: #fff; }
:lang(he) .x-fen__pts h3, :lang(ar) .x-fen__pts h3 { text-transform: none; }
.x-fen__pts p { margin: 4px 0 0; font-size: 15px; line-height: 1.5; color: #c9d5f0; }
.x-fen__fam { margin: var(--space-12) 0 var(--space-4); font-family: var(--font-display); font-weight: 700; font-size: clamp(24px, 2.4vw, 36px); line-height: 1.1; text-transform: uppercase; color: #fff; }
:lang(he) .x-fen__fam, :lang(ar) .x-fen__fam { text-transform: none; }
.x-mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); }
.x-mini__card { display: grid; grid-template-rows: auto 1fr; background: var(--paper-2); color: var(--ink); text-decoration: none; border: 1px solid rgba(157,186,255,.12); transition: border-color .2s, transform .2s; }
.x-mini__card:hover { border-color: #5f86ff; transform: translateY(-3px); }
.x-mini__card:focus-visible { outline: 2px solid #b5ccff; outline-offset: 2px; }
.x-mini__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; isolation: isolate; background: #050b1c; }
.x-mini__media img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: contain; }
.x-mini__body { display: grid; gap: 6px; align-content: start; padding: 14px 16px 18px; }
.x-mini__body b { font-family: var(--font-display); font-weight: 700; font-size: 22px; line-height: 1.1; text-transform: uppercase; color: #fff; }
.x-mini__body span { font-size: 15px; line-height: 1.45; color: #c9d5f0; }
@media (max-width: 1023px) { .x-fen__top { grid-template-columns: minmax(0, 1fr); } .x-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) {
  .x-mini { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 80%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: thin; }
  .x-mini__card { scroll-snap-align: start; }
}

/* ---------- news: the banner runs edge to edge; the TV report and the press article side by side ---------- */
.x-newsec .x-newsx__banner { margin: var(--space-8) 0 0; }
.x-newsec .x-newsx__banner > figcaption { padding-inline: max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter))); }
.x-newsec .x-newsx__banner > .x-newsx__illus { margin-inline: max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter))); }
@media (max-width: 767px) {
  .x-newsec .x-newsx__banner > figcaption { padding-inline: var(--gutter-mobile); }
  .x-newsec .x-newsx__banner > .x-newsx__illus { margin-inline: var(--gutter-mobile); }
}
.x-newsrow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--grid-gap); margin-top: var(--space-6); align-items: start; }
.x-newsrow > .x-press { margin-top: 0; }
@media (max-width: 1023px) { .x-newsrow { grid-template-columns: minmax(0, 1fr); } }

/* ---------- clients: a real heading instead of a caption ---------- */
.x-trust__h { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: clamp(26px, 2.4vw, 38px); line-height: 1.05; text-transform: uppercase; color: var(--ink); }
:lang(he) .x-trust__h, :lang(ar) .x-trust__h { text-transform: none; }
.x-trust__note { margin: 8px 0 0; font-size: 14px; line-height: 1.4; color: var(--ink-3); }

/* ---------- observation tiles: the product name reads as a name, not a tiny label ---------- */
.x-mob__kicker { font: 600 16px/1.3 var(--font-display); letter-spacing: .04em; text-transform: uppercase; color: #9dbaff; }
:lang(he) .x-mob__kicker, :lang(ar) .x-mob__kicker { letter-spacing: 0; }

@media (prefers-reduced-motion: reduce) {
  .x-top__beam, .x-top__pids, .x-story__scan, .x-iflow__wire i, .x-air__patrol, .x-air__ping, .x-air__fov, .x-air__plane { animation: none !important; }
  .x-air__alarm { animation: none; opacity: 1; }
  .x-air__fov { transform: none; }
}

.x-nw { white-space: nowrap; }
@media (max-width: 639px) { .x-air__alarm text { font-size: 26px; } }

/* ---------- contact: after sending, every route stays one click away ---------- */
.x-sendpanel { margin-top: 14px; padding: 16px 18px; background: var(--paper-2); border: 1px solid rgba(157,186,255,.28); border-inline-start: 3px solid #5f86ff; }
.x-sendpanel__t { margin: 0 0 12px; font-size: 15px; line-height: 1.4; font-weight: 600; color: var(--ink); }
.x-sendpanel__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.x-sendpanel__btns .gs-btn svg { width: 16px; height: 16px; }
/* contact fixes (4 Oct 2026): errors only when a field is really wrong; the address never breaks across lines */
.gs-field__error[hidden] { display: none !important; }
.gs-chan { grid-template-columns: minmax(0, 1fr); }
.gs-chan dd:not(.gs-chan__act) { font-size: clamp(26px, 2.6vw, 40px); line-height: 1.1; white-space: nowrap; }
.gs-chan dd.gs-chan__act { flex-wrap: wrap; }
/* catalog teaser (4 Oct 2026): one sharp cover, "D-FENCE NEWS, innovation in security" */
.x-catband__book { position: relative; isolation: isolate; }
.x-catband__book img { position: relative; z-index: 1; }
.x-catband__books--one { justify-content: center; }
.x-catband__books--one .x-catband__book { width: min(62%, 340px); transform: rotateY(-10deg); box-shadow: 0 30px 60px rgba(3,10,32,.5), 0 0 0 1px rgba(255,255,255,.08); }
[dir="rtl"] .x-catband__books--one .x-catband__book { transform: rotateY(10deg); transform-origin: 0 50%; }
.x-catband__books--one .x-catband__book:hover { transform: rotateY(0deg) translateY(-6px); }
@media (max-width: 1023px) { .x-catband__books--one { justify-content: center; } .x-catband__books--one .x-catband__book { width: min(70%, 300px); } }
/* ---------- opening film (owner, 4 Oct 2026): full width, muted autoplay loop, sound on request ---------- */
.x-film { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #051033; }
.x-film__video { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: contain; background: #051033; }
.x-film__ctl { position: absolute; z-index: 2; inset-inline-end: clamp(12px, 2vw, 32px); bottom: clamp(12px, 2vw, 28px); display: flex; gap: 8px; }
.x-film__btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.5); background: rgba(2,6,16,.55); color: #fff; font: 600 15px/1 inherit; font-family: inherit; letter-spacing: .02em; cursor: pointer; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: background .2s; }
.x-film__btn:hover { background: rgba(47,91,255,.65); }
.x-film__btn:focus-visible { outline: 2px solid #b5ccff; outline-offset: 3px; }
.x-film__btn svg { width: 18px; height: 18px; }
.x-film__btn[aria-pressed="true"] { background: rgba(47,91,255,.75); border-color: #9dbaff; }
.x-film__play { padding: 14px 24px; font-size: 17px; }
@media (max-width: 639px) { .x-film__btn { padding: 10px; } .x-film__btn:not(.x-film__play) span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } }
/* the punchline is the page's H1; the big PIDS word stays the visual anchor */
.x-top__pids { display: block; }
.x-top__h1 { display: block; margin: 12px 0 0; max-width: 24ch; font-family: var(--font-display); font-weight: 700; font-size: clamp(34px, 3.5vw, 60px); line-height: 1.04; letter-spacing: .005em; color: #fff; text-wrap: balance; }
:lang(he) .x-top__h1, :lang(ar) .x-top__h1 { line-height: 1.2; letter-spacing: 0; }
.x-top__kw { background: linear-gradient(100deg, #ffffff, #9dbaff 55%, #ffffff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.x-top__full { margin: 16px 0 0; font-family: var(--font-display); font-weight: 600; font-size: clamp(18px, 1.6vw, 26px); line-height: 1.2; letter-spacing: .06em; text-transform: uppercase; color: #9dbaff; }
:lang(he) .x-top__full, :lang(ar) .x-top__full { letter-spacing: 0; text-transform: none; }
/* the airport photo now opens the Airports section, edge to edge and whole */
.x-air__photo { margin-top: var(--space-8); }
.x-air__photo .x-hero__backdrop { display: none; }
.x-air__photo .x-hero__stage { position: relative; left: auto; top: auto; transform: none; width: 100%; aspect-ratio: 2400 / 1564; }
.x-air__photo .x-hero__stage > img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; animation: none; transform: none; }
@media (prefers-reduced-motion: reduce) { .x-film__video { display: block; } }
/* header order (owner, 4 Oct 2026): PIDS, film, integrators first */
.gs-nav .x-nav-pids { font-weight: 800; letter-spacing: .08em; }
.gs-nav .x-nav-film { display: inline-flex; align-items: center; gap: 6px; }
.gs-nav .x-nav-film svg { width: 14px; height: 14px; stroke-width: 2.4; }
/* landing pages (Airports, Borders) */
.x-landing__photo { margin: 0; background: #050b1c; }
.x-landing__photo img { display: block; width: 100%; height: auto; }
.x-tun__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-8) var(--grid-gap); align-items: center; }
.x-tun__ph { position: relative; margin: 0; background: #050b1c; }
.x-tun__ph img { display: block; width: 100%; height: auto; }
.x-tun__copy { display: grid; gap: 18px; align-content: start; }
@media (max-width: 1023px) { .x-tun__grid { grid-template-columns: minmax(0, 1fr); } }
/* the film's buttons obey [hidden] */
.x-film__btn[hidden] { display: none !important; }
/* 11 tabs fit on laptop widths: the header CTA steps aside (Contact is a tab) and the tabs tighten */
@media (min-width: 1024px) and (max-width: 1559px) { .gs-header .gs-header__tools .gs-btn { display: none; } }
@media (min-width: 1024px) and (max-width: 1399px) { .gs-nav ul { gap: 11px; } .gs-nav a { font-size: 14px; letter-spacing: .01em; } :lang(he) .gs-nav a, :lang(ar) .gs-nav a { font-size: 15px; } }
@media (min-width: 1024px) and (max-width: 1199px) { .gs-nav ul { gap: 8px; } .gs-nav a { font-size: 13px; } :lang(he) .gs-nav a, :lang(ar) .gs-nav a { font-size: 14px; } .gs-header__brand img { width: 128px; height: auto; } }
/* 12 tabs: the header CTA steps aside up to 1759 px, the tabs tighten up to 1499 px (Spanish labels are the longest) */
@media (min-width: 1024px) and (max-width: 1759px) { .gs-header .gs-header__tools .gs-btn { display: none; } }
@media (min-width: 1400px) and (max-width: 1499px) { .gs-nav ul { gap: 11px; } .gs-nav a { font-size: 14px; letter-spacing: .01em; } :lang(he) .gs-nav a, :lang(ar) .gs-nav a { font-size: 15px; } }
/* very large headings on phones may still wrap a product name */
@media (max-width: 479px) { .gs-display .x-nw, .x-intro__title .x-nw, .x-story__title .x-nw { white-space: normal; } }
@media (max-width: 479px) { .x-phero__name .x-nw { white-space: normal; } }

/* Borders: the Syrian-border TV report */
.x-borvid__head { display: grid; gap: 18px; max-width: 980px; margin-bottom: var(--space-8); }
.x-borvid__media { box-shadow: 0 30px 80px rgba(3,10,32,.45); }

/* catalog (owner, 4 Oct 2026): only language, flip like a newspaper (with sound), download and share */
.x-book [data-x-book-toc], .x-book .x-book__modes, .x-book .x-book__zoomgrp, .x-book [data-x-book-zoom], .x-book [data-x-book-full],
.x-book .x-book__toc, .x-book .x-book__thumbs, .x-book .x-book__downloads { display: none !important; }
.x-book .x-book__stage { grid-template-columns: minmax(0, 1fr) !important; }
/* ---------- two-tier header (owner, 4 Oct 2026: "bigger text in the bar"): logo + tools on top, a full-width row of large tabs below ---------- */
@media (min-width: 1024px) {
  .gs-header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "brand . tools" "nav nav nav"; align-items: center; height: auto; column-gap: var(--space-6); row-gap: 0; padding-top: 14px; }
  .gs-header.is-scrolled { height: auto; padding-top: 8px; }
  .gs-header__brand { grid-area: brand; }
  .gs-header__tools { grid-area: tools; margin-inline-start: 0; }
  .gs-header .gs-header__tools .gs-btn { display: inline-flex; }
  .gs-nav { grid-area: nav; margin: 12px calc(var(--gutter) * -1) 0; padding-inline: var(--gutter); border-top: 1px solid rgba(157,186,255,.16); background: linear-gradient(180deg, rgba(4,10,26,.35), rgba(4,10,26,.65)); }
  .gs-header.is-scrolled .gs-nav { margin-top: 8px; }
  .gs-nav ul { justify-content: space-between; gap: 8px; max-width: calc(var(--container) - var(--gutter) * 2); margin-inline: auto; }
  .gs-nav a { min-height: 56px; font-size: 19px; letter-spacing: .05em; }
  .gs-header.is-scrolled .gs-nav a { min-height: 48px; }
  .gs-nav a::after { bottom: 9px; height: 3px; }
  :lang(he) .gs-nav a, :lang(ar) .gs-nav a { font-size: 20px; letter-spacing: 0; }
  .gs-nav .x-nav-film svg { width: 16px; height: 16px; }
  html { scroll-padding-top: 150px; }
}
@media (min-width: 1280px) and (max-width: 1499px) { .gs-nav a { font-size: 17px; letter-spacing: .04em; } :lang(he) .gs-nav a, :lang(ar) .gs-nav a { font-size: 18px; } }
@media (min-width: 1150px) and (max-width: 1279px) { .gs-nav a { font-size: 16px; letter-spacing: .03em; } :lang(he) .gs-nav a, :lang(ar) .gs-nav a { font-size: 17px; } }
@media (min-width: 1024px) and (max-width: 1149px) { .gs-nav a { font-size: 14px; letter-spacing: .02em; } :lang(he) .gs-nav a, :lang(ar) .gs-nav a { font-size: 15px; } .gs-nav ul { gap: 4px; } }@media (min-width: 1280px) and (max-width: 1499px) { .gs-nav a { font-size: 18px; letter-spacing: .04em; } :lang(he) .gs-nav a, :lang(ar) .gs-nav a { font-size: 19px; } }

/* ---------- Simplified Chinese (zh, Oct 2026): CJK fallbacks, no tracking, roomier line height ---------- */
:root:lang(zh) {
  --font-display: 'Barlow Condensed', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-sans: Barlow, 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif;
  --font-mono: 'JetBrains Mono', 'Noto Sans SC', Consolas, monospace;
}
:root:lang(ja) {
  --font-display: 'Barlow Condensed', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'YuGothic', 'Meiryo', 'Noto Sans JP', sans-serif;
  --font-sans: Barlow, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'YuGothic', 'Meiryo', 'Noto Sans JP', Arial, sans-serif;
  --font-mono: 'JetBrains Mono', 'Hiragino Sans', 'Yu Gothic', Consolas, monospace;
}
:lang(ja) { line-break: strict; word-break: normal; overflow-wrap: anywhere; }
:is(:lang(zh),:lang(ja)) body, :is(:lang(zh),:lang(ja)) .gs-lede, :is(:lang(zh),:lang(ja)) p, :is(:lang(zh),:lang(ja)) li { line-height: 1.75; }
:is(:lang(zh),:lang(ja)) .gs-display, :is(:lang(zh),:lang(ja)) .x-top__h1, :is(:lang(zh),:lang(ja)) .x-story__title, :is(:lang(zh),:lang(ja)) .x-intro__title, :is(:lang(zh),:lang(ja)) .gs-sechead__title, :is(:lang(zh),:lang(ja)) h2, :is(:lang(zh),:lang(ja)) h3 { line-height: 1.2; letter-spacing: 0; text-transform: none; }
:is(:lang(zh),:lang(ja)) .gs-nav a, :is(:lang(zh),:lang(ja)) .gs-btn, :is(:lang(zh),:lang(ja)) .x-top__full, :is(:lang(zh),:lang(ja)) .x-story__chips li, :is(:lang(zh),:lang(ja)) .x-mob__kicker, :is(:lang(zh),:lang(ja)) .x-iflow__node b, :is(:lang(zh),:lang(ja)) .x-air__card h3, :is(:lang(zh),:lang(ja)) .x-fen__pts h3, :is(:lang(zh),:lang(ja)) .x-trust__h, :is(:lang(zh),:lang(ja)) .x-mini__body b { letter-spacing: 0; text-transform: none; }
:is(:lang(zh),:lang(ja)) .gs-nav a { font-weight: 700; }
:lang(ja) :is(h1, h2, h3, .gs-display, .x-top__h1, .x-story__title, .x-intro__title, .gs-sechead__title) { text-wrap: balance; }
:lang(ja) :is(p, li, .gs-lede) { text-wrap: pretty; }
:lang(ja) :is(em, i, h1, h2, h3, .gs-display, .x-top__h1) { font-style: normal; }
/* ── Solutions story: product shown on the slide ── */
.x-story__prod { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 8px 14px; border: 1px solid rgba(157,186,255,.45); background: rgba(47,91,255,.16); font-family: var(--font-display); font-weight: 700; font-size: 18px; line-height: 1; letter-spacing: .08em; color: #fff; text-decoration: none; transition: background .2s, border-color .2s; }
.x-story__prod svg { width: 18px; height: 18px; color: #9dbaff; }
.x-story__prod:hover, .x-story__prod:focus-visible { background: rgba(47,91,255,.32); border-color: #9dbaff; }

/* ── Cable theft teaser (D-BOLT, D-Cable) ── */
.x-theft { position: relative; isolation: isolate; background: radial-gradient(70% 60% at 88% 12%, rgba(212,17,47,.24), transparent 65%), radial-gradient(60% 60% at 0% 100%, rgba(47,91,255,.12), transparent 60%), #070c1a; border-block: 1px solid rgba(255,77,94,.2); }
.x-sec + .x-theft, .x-theft + .x-sec { padding-top: var(--space-24); }
.x-theft__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-12) var(--grid-gap); align-items: center; }
.x-theft__copy { display: grid; gap: 18px; align-content: start; }
.x-theft__eyebrow { margin: 0; display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #ff8a96; }
.x-theft__ping { flex: none; width: 10px; height: 10px; border-radius: 50%; background: #ff4d5e; animation: x-theft-ping 1.6s ease-out infinite; }
@keyframes x-theft-ping { 0% { box-shadow: 0 0 0 0 rgba(255,77,94,.65); } 100% { box-shadow: 0 0 0 16px rgba(255,77,94,0); } }
.x-theft__q { margin: 0; }
.x-theft__q em { font-style: normal; color: #ff4d5e; }
.x-theft__punch { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: clamp(24px, 2.4vw, 34px); line-height: 1.2; color: #eef3ff; }
.x-theft__punch b { padding: 0 .22em; background: linear-gradient(90deg, #d4112f, #ff4d5e); color: #fff; }
.x-theft__lede { margin: 0; max-width: 60ch; font-size: 18px; line-height: 1.6; color: #c9d5f0; }
.x-theft__feats { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 12px; }
.x-theft__feats li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; align-items: start; padding: 14px 16px; background: rgba(255,255,255,.035); border-inline-start: 2px solid #ff4d5e; }
.x-theft__feats svg { width: 28px; height: 28px; margin-top: 2px; color: #ff8a96; }
.x-theft__feats h3 { margin: 0 0 4px; font-family: var(--font-display); font-weight: 700; font-size: 20px; line-height: 1.15; text-transform: uppercase; color: #eef3ff; }
.x-theft__feats p { margin: 0; font-size: 15.5px; line-height: 1.5; color: #c9d5f0; }
.x-theft__where { margin: 0; font-family: var(--font-mono); font-size: 13px; line-height: 1.7; letter-spacing: .05em; color: #93a6cf; }
.x-theft__cta { display: flex; flex-wrap: wrap; gap: 14px 26px; align-items: center; margin-top: 4px; }
.x-theft .gs-btn--primary { background: #d4112f; border-color: #d4112f; color: #fff; }
.x-theft .gs-btn--primary:hover, .x-theft .gs-btn--primary:focus-visible { background: #f0203f; border-color: #f0203f; }
.x-theft__media { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 14px; align-items: start; }
.x-theft__stack { display: grid; gap: 14px; }
.x-theft__ph { margin: 0; background: #050b1c; border: 1px solid rgba(157,186,255,.16); }
.x-theft__ph img { display: block; width: 100%; height: auto; }
.x-theft__ph figcaption { padding: 10px 12px; color: #c9d5f0; }
:lang(he) .x-theft__feats h3, :lang(ar) .x-theft__feats h3, :is(:lang(zh),:lang(ja)) .x-theft__feats h3 { text-transform: none; }
@media (max-width: 1023px) { .x-theft__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .x-theft__media { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .x-theft__ping { animation: none; } }

/* ── Jewish communities in Germany ── */
.x-comm__tag { display: block; margin-bottom: 10px; font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase; color: #d8b46a; }
.x-comm__media { display: grid; grid-template-columns: minmax(0, 1.19fr) minmax(0, .75fr); gap: var(--grid-gap); margin-top: var(--space-8); align-items: start; }
.x-comm__ph { margin: 0; background: #050b1c; border: 1px solid rgba(216,180,106,.25); }
.x-comm__ph img { display: block; width: 100%; height: auto; }
.x-comm__ph figcaption { padding: 10px 12px; color: #c9d5f0; }
.x-comm__layers { list-style: none; margin: var(--space-8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); }
.x-comm__layers li { display: grid; gap: 8px; align-content: start; padding: 22px 24px; background: var(--paper-2); border-top: 2px solid #d8b46a; }
.x-comm__n { font-family: var(--font-display); font-weight: 700; font-size: 44px; line-height: 1; color: transparent; -webkit-text-stroke: 1.2px rgba(216,180,106,.85); }
.x-comm__layers h3 { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 22px; line-height: 1.15; text-transform: uppercase; color: #eef3ff; }
.x-comm__layers p { margin: 0; font-size: 16px; line-height: 1.5; color: #c9d5f0; }
.x-comm__chips { margin-top: var(--space-6); }
:lang(he) .x-comm__layers h3, :lang(ar) .x-comm__layers h3, :is(:lang(zh),:lang(ja)) .x-comm__layers h3, :lang(he) .x-comm__tag, :lang(ar) .x-comm__tag { text-transform: none; letter-spacing: .04em; }
@media (max-width: 1023px) { .x-comm__layers { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) { .x-comm__media { grid-template-columns: minmax(0, 1fr); } }
/* cable theft: patent seal + flashing header CTA */
.x-theft__top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.x-theft__patent { margin: 0; display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px 7px 10px; border: 1.5px solid #e2b64a; border-radius: 999px; background: radial-gradient(120% 140% at 30% 20%, rgba(255,214,102,.28), rgba(120,82,10,.18)); font-family: var(--font-display); font-weight: 700; font-size: 16px; line-height: 1; letter-spacing: .08em; text-transform: uppercase; color: #ffd36a; box-shadow: 0 0 22px rgba(226,182,74,.25); }
.x-theft__patent svg { width: 20px; height: 20px; color: #ffd36a; }
:lang(he) .x-theft__patent, :lang(ar) .x-theft__patent, :is(:lang(zh),:lang(ja)) .x-theft__patent { letter-spacing: .02em; }
.x-cta-blink { animation: x-cta-blink 1.6s ease-in-out infinite; }
@keyframes x-cta-blink { 0%, 100% { box-shadow: 0 0 0 0 rgba(77,124,255,.75); filter: brightness(1); } 50% { box-shadow: 0 0 0 9px rgba(77,124,255,0); filter: brightness(1.3); } }
.x-cta-blink:hover, .x-cta-blink:focus-visible { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .x-cta-blink { animation: none; } }
/* board cards: smaller centred logo under the role */
.x-person__logo { width: 96px; height: auto; margin: 10px auto 0; justify-self: center; }
@media (max-width: 600px) { .x-person__logo { width: 84px; } }
/* long product names (AI-EYE IN THE SKY, Tunnel Observation System, D-Command Control…) fit beside the side panel */
.x-phero__name--long { font-size: clamp(44px, 5.4vw, 86px); line-height: 0.95; }
@media (max-width: 1023px) { .x-phero__name--long { font-size: clamp(40px, 8.4vw, 76px); } }
/* contact banner: the owner's "Your Security. Our Commitment." picture + one-click e-mail and WhatsApp */
.x-cvis { margin-block: var(--space-8) var(--space-12); }
.x-cvis__ph { margin: 0 0 var(--space-6); border: 1px solid rgba(157,186,255,.2); background: #050b1c; box-shadow: 0 30px 80px rgba(3,10,32,.45); }
.x-cvis__ph img { display: block; width: 100%; height: auto; }
.x-cvis__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; padding: 22px 26px; background: linear-gradient(120deg, rgba(47,91,255,.18), rgba(37,211,102,.08)); border: 1px solid rgba(157,186,255,.28); }
.x-cvis__t { margin: 0; display: grid; gap: 6px; max-width: 56ch; font-size: 17px; line-height: 1.5; color: #c9d5f0; }
.x-cvis__t b { font-family: var(--font-display); font-weight: 700; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.05; letter-spacing: .02em; text-transform: uppercase; color: #fff; }
:lang(he) .x-cvis__t b, :lang(ar) .x-cvis__t b, :is(:lang(zh),:lang(ja)) .x-cvis__t b { text-transform: none; letter-spacing: 0; }
.x-cvis__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.x-cvis__btns .gs-btn { display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 26px; font-size: 18px; }
.x-cvis__btns svg { width: 22px; height: 22px; }
.x-cvis__mail { animation: x-cta-blink 1.8s ease-in-out infinite; }
.x-cvis__wa { background: #1fae54; border-color: #1fae54; color: #fff; }
.x-cvis__wa:hover, .x-cvis__wa:focus-visible { background: #25d366; border-color: #25d366; color: #04140a; }
.x-cvis .x-sendpanel { margin-top: 14px; }
@media (max-width: 640px) { .x-cvis__btns, .x-cvis__btns .gs-btn { width: 100%; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .x-cvis__mail { animation: none; } }
/* header "Talk to an expert": strong blue/red flash with glow (owner: "blinking, prominent") */
.x-cta-blink { animation: x-cta-flash 1.1s ease-in-out infinite; color: #fff; font-weight: 700; will-change: transform, box-shadow; }
@keyframes x-cta-flash {
  0%, 100% { background: #2f5bff; border-color: #2f5bff; box-shadow: 0 0 0 0 rgba(77,124,255,.85), 0 0 16px rgba(77,124,255,.55); transform: scale(1); }
  50% { background: #e0263b; border-color: #ff5a6a; box-shadow: 0 0 0 9px rgba(255,59,79,0), 0 0 34px rgba(255,59,79,.9); transform: scale(1.07); }
}
.x-cta-blink:hover, .x-cta-blink:focus-visible { animation-play-state: paused; background: #e0263b; border-color: #ff5a6a; }
@media (prefers-reduced-motion: reduce) { .x-cta-blink { animation: none; background: #e0263b; border-color: #ff5a6a; box-shadow: 0 0 22px rgba(255,59,79,.7); } }
/* cable theft: the owner's "Stop Copper Cable Theft" picture leads, D-BOLT and D-Cable side by side below */
.x-theft__media--hero { grid-template-columns: minmax(0, 1fr); }
.x-theft__ph--hero { border-color: rgba(255,77,94,.35); box-shadow: 0 26px 70px rgba(3,10,32,.5), 0 0 0 1px rgba(255,77,94,.15); }
.x-theft__duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: start; }
@media (max-width: 420px) { .x-theft__duo { grid-template-columns: minmax(0, 1fr); } }
/* ---- buttons instead of the phone number; floating WhatsApp; clearer footer headings; alarm card instead of JSON code ---- */
.x-btn-wa, .x-cvis__wa { background: #1fae54; border-color: #1fae54; color: #fff; }
.x-btn-wa:hover, .x-btn-wa:focus-visible { background: #25d366; border-color: #25d366; color: #04140a; }
.x-foot-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.x-foot-btns a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border: 1px solid rgba(157,186,255,.35); font-weight: 700; font-size: 14px; color: #eef3ff; text-decoration: none; }
.x-foot-btns .x-foot-wa { background: #1fae54; border-color: #1fae54; color: #fff; }
.x-foot-btns a:hover, .x-foot-btns a:focus-visible { filter: brightness(1.15); }
.x-wa-float { position: fixed; z-index: 60; inset-block-end: 22px; inset-inline-end: 22px; display: inline-flex; align-items: center; gap: 10px; height: 60px; min-width: 60px; padding: 0 18px; justify-content: center; border-radius: 999px; background: #1fae54; color: #fff; text-decoration: none; font-weight: 700; font-size: 16px; box-shadow: 0 12px 30px rgba(3,10,32,.45), 0 0 0 0 rgba(37,211,102,.6); animation: x-wa-pulse 2.4s ease-out infinite; transition: transform .2s, background .2s; }
.x-wa-float svg { width: 28px; height: 28px; }
.x-wa-float:hover, .x-wa-float:focus-visible { transform: translateY(-3px); background: #25d366; color: #04140a; }
@keyframes x-wa-pulse { 0% { box-shadow: 0 12px 30px rgba(3,10,32,.45), 0 0 0 0 rgba(37,211,102,.55); } 70%, 100% { box-shadow: 0 12px 30px rgba(3,10,32,.45), 0 0 0 16px rgba(37,211,102,0); } }
@media (max-width: 640px) { .x-wa-float { height: 56px; min-width: 56px; padding: 0; inset-block-end: 16px; inset-inline-end: 16px; } .x-wa-float__label { display: none; } }
@media (prefers-reduced-motion: reduce) { .x-wa-float { animation: none; } }
.gs-footer__col h3 { font-size: 16px; font-weight: 700; color: #eef3ff; letter-spacing: .06em; }
:lang(he) .gs-footer__col h3, :lang(ar) .gs-footer__col h3, :is(:lang(zh),:lang(ja)) .gs-footer__col h3 { font-size: 17px; letter-spacing: 0; text-transform: none; }
.x-alarmcard { display: grid; gap: 14px; align-content: start; padding: 20px 22px; background: linear-gradient(160deg, rgba(212,17,47,.18), rgba(10,20,48,.92) 55%); border: 1px solid rgba(255,77,94,.45); box-shadow: 0 0 0 1px rgba(255,77,94,.12), 0 24px 60px rgba(3,10,32,.4); }
.x-alarmcard--fill { flex: 1; }
.x-alarmcard__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.x-alarmcard__dot { flex: none; width: 12px; height: 12px; border-radius: 50%; background: #ff4d5e; animation: x-theft-ping 1.4s ease-out infinite; }
.x-alarmcard__head b { font-family: var(--font-display); font-weight: 700; font-size: 24px; line-height: 1.1; letter-spacing: .04em; text-transform: uppercase; color: #fff; }
.x-alarmcard__live { margin-inline-start: auto; font-family: var(--font-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #ff8a96; }
.x-alarmcard__grid { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.x-alarmcard__grid div { padding: 12px 14px; background: rgba(255,255,255,.04); border-inline-start: 2px solid rgba(255,77,94,.7); }
.x-alarmcard__grid dt { margin: 0 0 4px; font-size: 13px; color: #93a6cf; }
.x-alarmcard__grid dd { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 26px; line-height: 1.1; color: #fff; }
.x-alarmcard__foot { margin: 0; font-size: 14px; line-height: 1.5; color: #c9d5f0; }
:lang(he) .x-alarmcard__head b, :lang(ar) .x-alarmcard__head b, :is(:lang(zh),:lang(ja)) .x-alarmcard__head b, :lang(he) .x-alarmcard__live, :lang(ar) .x-alarmcard__live { text-transform: none; letter-spacing: 0; }
@media (max-width: 420px) { .x-alarmcard__grid dd { font-size: 22px; } }
/* transparent product cut-outs (AI-EYE IN THE SKY 5.0): studio glow instead of the blurred self-copy */
.x-cutout { background: radial-gradient(60% 70% at 50% 55%, rgba(80,130,255,.28), rgba(10,22,52,.6) 55%, #050a18 100%) !important; }
.x-band--contain.x-cutout > img { max-height: 86vh; padding-block: clamp(16px, 3vw, 40px); filter: drop-shadow(0 30px 40px rgba(3,10,32,.55)); }
.x-plate__media.x-cutout img, .x-story__duo img[src*=".png"] { filter: drop-shadow(0 18px 26px rgba(3,10,32,.5)); }
/* AI-EYE IN THE SKY stays on one line everywhere; in big phone headings it shrinks to fit instead of wrapping */
.x-nw--eye { white-space: nowrap !important; }
@media (max-width: 600px) {
  h1 .x-nw--eye, h2 .x-nw--eye, h3 .x-nw--eye, .gs-display .x-nw--eye, .x-phero__name .x-nw--eye, .x-story__title .x-nw--eye, .x-intro__title .x-nw--eye { font-size: min(1em, 8.6vw); letter-spacing: 0; }
}
/* animated images (owner: "like the other images, a line going up and down that invites action") */
.x-cvis__ph, .x-theft__ph--hero { position: relative; overflow: hidden; }
.x-cvis__ph { cursor: pointer; animation: x-frame-glow 3.2s ease-in-out infinite; }
@keyframes x-frame-glow { 0%, 100% { box-shadow: 0 30px 80px rgba(3,10,32,.45), 0 0 0 1px rgba(157,186,255,.22); } 50% { box-shadow: 0 30px 80px rgba(3,10,32,.45), 0 0 0 1px rgba(157,186,255,.65), 0 0 46px rgba(47,91,255,.5); } }
.x-band.x-cutout::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 100%; z-index: 2; pointer-events: none; border-top: 2px solid rgba(190,210,255,.7); background: linear-gradient(180deg, rgba(107,147,255,.16), rgba(107,147,255,0) 80px); animation: x-scan 6s ease-in-out infinite alternate; }
.x-cvis__btns .gs-btn.is-ping { animation: x-btn-ping .5s ease-in-out 3; }
@keyframes x-btn-ping { 50% { transform: scale(1.07); box-shadow: 0 0 0 8px rgba(77,124,255,.35); } }
@media (prefers-reduced-motion: reduce) { .x-cvis__ph, .x-band.x-cutout::after, .x-cvis__btns .gs-btn.is-ping { animation: none; } }
/* enquiry form in a pop-up window */
.gs-contact__grid--solo { grid-template-columns: minmax(0, 1fr) !important; }
.x-form-open { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; min-height: 58px; padding: 0 30px; font-size: 18px; }
.x-form-open svg { width: 22px; height: 22px; }
.x-dlg { padding: 0; border: 0; background: transparent; width: min(640px, 94vw); max-width: 94vw; max-height: 92vh; overflow: visible; color: inherit; }
.x-dlg[open] { animation: x-dlg-in .28s ease-out; }
@keyframes x-dlg-in { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }
.x-dlg::backdrop { background: rgba(2,6,16,.74); backdrop-filter: blur(4px); }
.x-dlg__body { position: relative; max-height: 92vh; overflow: auto; }
.x-dlg__body .gs-contact__form { margin: 0; }
.x-dlg__close { position: absolute; top: 10px; inset-inline-end: 10px; z-index: 3; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(157,186,255,.45); background: #0b1735; color: #fff; cursor: pointer; }
.x-dlg__close:hover, .x-dlg__close:focus-visible { background: #1b2f66; }
.x-dlg__close svg { width: 20px; height: 20px; }
/* "Send an enquiry" button on the blue contact slab: a bright white call to action, not a full-width bar */
.gs-contact .x-form-open { justify-self: start; width: fit-content; background: #fff; border-color: #fff; color: #0b1f4d; font-weight: 800; box-shadow: 0 10px 30px rgba(2,8,30,.35); animation: x-form-glow 2.4s ease-in-out infinite; }
.gs-contact .x-form-open svg { color: #2f5bff; }
.gs-contact .x-form-open:hover, .gs-contact .x-form-open:focus-visible { background: #eef3ff; color: #0b1f4d; transform: translateY(-2px); }
@keyframes x-form-glow { 0%, 100% { box-shadow: 0 10px 30px rgba(2,8,30,.35), 0 0 0 0 rgba(255,255,255,.55); } 50% { box-shadow: 0 10px 30px rgba(2,8,30,.35), 0 0 0 10px rgba(255,255,255,0); } }
@media (max-width: 640px) { .gs-contact .x-form-open { width: 100%; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .gs-contact .x-form-open { animation: none; } }
/* LIVE from the impact zone (owner's control-room screenshot, Iran war, June 2025): full-bleed, no frame, scan line, call to action */
.x-lf { position: relative; background: radial-gradient(70% 50% at 50% 0%, rgba(212,17,47,.18), transparent 70%), #050913; }
.x-sec + .x-lf, .x-lf + .x-sec { padding-top: var(--space-24); }
.x-lf__head { display: grid; gap: 16px; justify-items: start; margin-bottom: var(--space-8); }
.x-lf__tag { margin: 0; display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px; border: 1px solid rgba(255,77,94,.55); background: rgba(212,17,47,.16); font-family: var(--font-mono); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #ffb3bb; }
.x-lf__dot { width: 10px; height: 10px; border-radius: 50%; background: #ff3b4f; animation: x-theft-ping 1.4s ease-out infinite; }
.x-lf__title { margin: 0; }
.x-lf__title em { font-style: normal; color: #ff4d5e; }
.x-lf__lede { margin: 0; max-width: 70ch; color: #c9d5f0; }
.x-lf__ph { position: relative; margin: 0; overflow: hidden; background: #050913; line-height: 0; }
.x-lf__ph img { display: block; width: 100%; height: auto; }
.x-lf__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px 40px; margin-top: var(--space-8); }
.x-lf__facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 14px; }
.x-lf__facts li { display: grid; gap: 4px; min-width: 170px; padding: 14px 18px; background: rgba(255,255,255,.04); border-inline-start: 3px solid #ff4d5e; }
.x-lf__facts b { font-family: var(--font-display); font-weight: 700; font-size: 34px; line-height: 1; color: #fff; }
.x-lf__facts span { font-size: 14px; line-height: 1.4; color: #c9d5f0; }
.x-lf__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; }
.x-lf__btn { background: #d4112f; border-color: #d4112f; color: #fff; animation: x-cta-blink 1.8s ease-in-out infinite; }
.x-lf__btn:hover, .x-lf__btn:focus-visible { background: #f0203f; border-color: #f0203f; }
:lang(he) .x-lf__tag, :lang(ar) .x-lf__tag, :is(:lang(zh),:lang(ja)) .x-lf__tag { letter-spacing: .04em; text-transform: none; }
@media (max-width: 640px) { .x-lf__facts li { flex: 1 1 100%; } .x-lf__btn { width: 100%; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .x-lf__dot, .x-lf__btn { animation: none; } }
/* hero headline: the opening sentence stands on its own line */
.x-top__hook { display: block; }

/* D-FENCE Germany card (communities section): MADE IN GERMANY badge + local lead */
.x-comm__de { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 2.2fr); gap: var(--grid-gap); margin-top: var(--space-8); background: linear-gradient(135deg, rgba(216,180,106,.10), rgba(8,21,48,.0) 60%), var(--paper-2); border: 1px solid rgba(216,180,106,.35); }
.x-comm__made { display: grid; align-content: center; justify-items: start; gap: 10px; padding: 26px 28px; border-inline-end: 1px solid rgba(216,180,106,.25); }
.x-comm__flag { display: grid; grid-template-rows: repeat(3, 7px); width: 54px; box-shadow: 0 0 0 1px rgba(255,255,255,.18); }
.x-comm__flag i:nth-child(1) { background: #000; } .x-comm__flag i:nth-child(2) { background: #dd0000; } .x-comm__flag i:nth-child(3) { background: #ffce00; }
.x-comm__made b { font-family: var(--font-display); font-weight: 700; font-size: clamp(24px, 2.4vw, 34px); line-height: 1; letter-spacing: .04em; color: #eef3ff; direction: ltr; unicode-bidi: isolate; }
.x-comm__made small { font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: #d8b46a; }
.x-comm__lead { display: grid; align-content: center; gap: 8px; padding: 26px 28px; }
.x-comm__lead p { margin: 0; font-size: 16px; line-height: 1.55; color: #c9d5f0; }
.x-comm__who { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
.x-comm__who b { font-family: var(--font-display); font-weight: 700; font-size: 24px; color: #eef3ff; direction: ltr; unicode-bidi: isolate; }
.x-comm__who span { font-family: var(--font-mono); font-size: 13px; letter-spacing: .08em; color: #d8b46a; }
.x-comm__local { padding-top: 8px; border-top: 1px dashed rgba(216,180,106,.3); font-size: 15px !important; }
:lang(he) .x-comm__made small, :lang(ar) .x-comm__made small, :is(:lang(zh),:lang(ja)) .x-comm__made small { text-transform: none; letter-spacing: .04em; }
@media (max-width: 700px) { .x-comm__de { grid-template-columns: minmax(0, 1fr); } .x-comm__made { border-inline-end: 0; border-bottom: 1px solid rgba(216,180,106,.25); } }

/* footer social links */
.x-social { display: flex; flex-wrap: wrap; gap: 10px; }
.x-social a { display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(157,186,255,.35); color: #eef3ff; transition: background .2s, border-color .2s, transform .2s; }
.x-social a svg { width: 19px; height: 19px; }
.x-social a:hover, .x-social a:focus-visible { background: #2f6bff; border-color: #2f6bff; transform: translateY(-2px); }

/* case study page */
.x-case__intro .x-lf__tag { margin-bottom: var(--space-6); }
.x-case__facts { margin-bottom: var(--space-10); }
.x-case__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gap); }
.x-case__grid article { display: grid; align-content: start; gap: 10px; padding: 26px 26px 28px; background: var(--paper-2); border-top: 3px solid #ff4d5e; }
.x-case__n { font-family: var(--font-display); font-weight: 700; font-size: 44px; line-height: 1; color: transparent; -webkit-text-stroke: 1.2px rgba(255,77,94,.9); }
.x-case__grid h2 { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 26px; line-height: 1.1; text-transform: uppercase; color: #eef3ff; }
.x-case__grid p { margin: 0; font-size: 17px; line-height: 1.55; color: #c9d5f0; }
.x-case__split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-10); margin-top: var(--space-8); align-items: start; }
.x-case__time { list-style: none; margin: 0; padding: 0; position: relative; }
.x-case__time::before { content: ""; position: absolute; inset-block: 8px; inset-inline-start: 7px; width: 2px; background: linear-gradient(#ff4d5e, rgba(255,77,94,.15)); }
.x-case__time li { position: relative; padding-inline-start: 36px; padding-bottom: 26px; }
.x-case__time li::before { content: ""; position: absolute; inset-inline-start: 0; top: 6px; width: 16px; height: 16px; border-radius: 50%; background: #081530; border: 3px solid #ff4d5e; }
.x-case__time li:nth-child(4)::before { background: #ff4d5e; box-shadow: 0 0 0 6px rgba(255,77,94,.18); }
.x-case__time b { display: block; font-family: var(--font-display); font-weight: 700; font-size: 21px; text-transform: uppercase; color: #eef3ff; }
.x-case__time p { margin: 4px 0 0; font-size: 16px; line-height: 1.55; color: #c9d5f0; }
.x-case__ph { margin: 0; background: #050913; border: 1px solid rgba(255,77,94,.3); }
.x-case__ph img { display: block; width: 100%; height: auto; }
.x-case__ph figcaption { padding: 10px 12px; color: #c9d5f0; }
:lang(he) .x-case__grid h2, :lang(ar) .x-case__grid h2, :is(:lang(zh),:lang(ja)) .x-case__grid h2, :lang(he) .x-case__time b, :lang(ar) .x-case__time b, :is(:lang(zh),:lang(ja)) .x-case__time b { text-transform: none; }
@media (max-width: 1023px) { .x-case__grid, .x-case__split { grid-template-columns: minmax(0, 1fr); } }

/* German site: e-mail as an envelope button (the address is not shown) */
.gs-footer__chan .x-mailbtn { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border: 1px solid rgba(157,186,255,.35); font-weight: 700; font-size: 14px; color: #eef3ff; text-decoration: none; }
.gs-footer__chan .x-mailbtn svg { width: 18px; height: 18px; }
.gs-footer__chan .x-mailbtn:hover, .gs-footer__chan .x-mailbtn:focus-visible { background: #2f6bff; border-color: #2f6bff; }
.x-sheet__chan a[data-x-mail] svg { width: 16px; height: 16px; vertical-align: -3px; }

/* German homepage: D-FENCE Deutschland lead (Robert Klemm), right after the film */
.x-leader { position: relative; background: radial-gradient(120% 140% at 85% 0%, rgba(216,180,106,.16), rgba(8,21,48,0) 55%), linear-gradient(180deg, #0a1a3d, #081530); border-top: 1px solid rgba(216,180,106,.35); border-bottom: 1px solid rgba(216,180,106,.2); }
.x-leader::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, #000 0 33.3%, #dd0000 33.3% 66.6%, #ffce00 66.6% 100%); }
.x-leader__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: var(--space-10); align-items: center; }
.x-leader__ph { position: relative; margin: 0; background: #fff; border: 1px solid rgba(216,180,106,.5); box-shadow: 0 30px 80px rgba(3,10,32,.45), 0 0 0 8px rgba(216,180,106,.08); }
.x-leader__ph img { display: block; width: 100%; height: auto; }
.x-leader__badge { position: absolute; inset-inline-start: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 10px; padding: 9px 14px; background: rgba(8,21,48,.92); border: 1px solid rgba(216,180,106,.55); font-family: var(--font-display); font-weight: 700; font-size: 18px; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.x-leader__badge .x-comm__flag { width: 34px; grid-template-rows: repeat(3, 5px); }
.x-leader__eyebrow { margin: 0 0 10px; font-family: var(--font-mono); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: #d8b46a; }
.x-leader__name { margin: 0; color: #fff; }
.x-leader__role { margin: 10px 0 0; font-family: var(--font-display); font-weight: 600; font-size: clamp(19px, 1.7vw, 24px); letter-spacing: .04em; text-transform: uppercase; color: #d8b46a; }
.x-leader__lede { margin-top: var(--space-6); color: #dfe7fb; }
.x-leader__facts { list-style: none; margin: var(--space-8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.x-leader__facts li { display: grid; gap: 4px; align-content: start; padding: 14px 16px; background: rgba(255,255,255,.05); border-top: 2px solid #d8b46a; }
.x-leader__facts b { font-family: var(--font-display); font-weight: 700; font-size: 21px; text-transform: uppercase; color: #fff; }
.x-leader__facts span { font-size: 14px; line-height: 1.45; color: #c9d5f0; }
.x-leader__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: var(--space-8); }
@media (max-width: 1023px) { .x-leader__in { grid-template-columns: minmax(0, 1fr); } .x-leader__ph { max-width: 520px; } }
@media (max-width: 700px) { .x-leader__facts { grid-template-columns: minmax(0, 1fr); } .x-leader__cta .gs-btn { width: 100%; justify-content: center; } }

/* German About page: four executives in one row on wide screens */
.x-board--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1199px) { .x-board--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .x-board--4 { grid-template-columns: minmax(0, 1fr); } }

/* German homepage: control room (D-Command) and the short "other products" strip */
.x-c2__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--space-8); margin-top: var(--space-8); align-items: start; }
.x-c2__ph { position: relative; margin: 0; overflow: hidden; background: #050913; border: 1px solid rgba(157,186,255,.25); line-height: 0; }
.x-c2__ph img { display: block; width: 100%; height: auto; }
.x-c2__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.x-c2__list li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; align-items: start; padding: 14px 16px; background: var(--paper-2); border-inline-start: 3px solid #2f6bff; }
.x-c2__list svg { width: 26px; height: 26px; color: #9dbaff; }
.x-c2__list b { display: block; font-family: var(--font-display); font-weight: 700; font-size: 20px; text-transform: uppercase; color: #eef3ff; }
.x-c2__list span { font-size: 15px; line-height: 1.5; color: #c9d5f0; }
.x-more { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto; gap: var(--space-6); align-items: center; padding-block: var(--space-10); border-top: 1px solid rgba(157,186,255,.18); border-bottom: 1px solid rgba(157,186,255,.18); }
.x-more__title { margin: 6px 0; font-family: var(--font-display); font-weight: 700; font-size: 28px; text-transform: uppercase; color: #eef3ff; }
.x-more__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.x-more__list a { display: grid; gap: 4px; height: 100%; padding: 14px 16px; background: rgba(255,255,255,.04); border: 1px solid rgba(157,186,255,.22); text-decoration: none; transition: border-color .2s, background .2s; }
.x-more__list a:hover, .x-more__list a:focus-visible { border-color: #2f6bff; background: rgba(47,107,255,.12); }
.x-more__list b { font-family: var(--font-display); font-weight: 700; font-size: 18px; color: #fff; }
.x-more__list span { font-size: 14px; color: #c9d5f0; }
@media (max-width: 1199px) { .x-more { grid-template-columns: minmax(0, 1fr); } .x-more__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1023px) { .x-c2__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .x-more__list { grid-template-columns: minmax(0, 1fr); } }

/* German layer list: the highlighted product chip (D-Palisade) */
.x-layer__prods .x-layer__star a { background: #d8b46a; border-color: #d8b46a; color: #081530; font-weight: 800; }

/* German homepage: D-PALISADE highlight */
.x-pal__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--space-10); align-items: center; }
.x-pal__lede { margin-top: var(--space-6); }
.x-pal__slogan { display: inline-block; margin: var(--space-6) 0 0; padding: 10px 16px; border: 1px solid #d8b46a; background: rgba(216,180,106,.12); font-family: var(--font-display); font-weight: 700; font-size: clamp(18px, 1.6vw, 22px); letter-spacing: .06em; text-transform: uppercase; color: #ffe3a6; }
.x-pal__pts { list-style: none; margin: var(--space-6) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.x-pal__pts li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding: 12px 14px; background: var(--paper-2); border-inline-start: 3px solid #d8b46a; }
.x-pal__pts svg { width: 22px; height: 22px; color: #d8b46a; }
.x-pal__pts b { display: block; font-family: var(--font-display); font-weight: 700; font-size: 17px; text-transform: uppercase; color: #eef3ff; }
.x-pal__pts span { font-size: 14px; line-height: 1.45; color: #c9d5f0; }
.x-pal__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: var(--space-8); }
.x-pal__ph { position: relative; margin: 0; overflow: hidden; background: #050913; border: 1px solid rgba(216,180,106,.4); line-height: 0; }
.x-pal__ph img { display: block; width: 100%; height: auto; }
@media (max-width: 1023px) { .x-pal__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .x-pal__pts { grid-template-columns: minmax(0, 1fr); } }

/* German spotlight: name + logo caption under Robert's photo (like the board cards); Made in Germany sits in the header */
.x-leader__cap { display: grid; justify-items: center; gap: 6px; padding: 18px 16px 22px; background: #fff; border-top: 3px solid #c8102e; text-align: center; }
.x-leader__cap b { font-family: var(--font-sans); font-weight: 700; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.1; color: #0b1f4d; }
.x-leader__cap span { font-size: 15px; line-height: 20px; color: #1b2b52; }
.x-leader__cap img { display: block; width: 150px; height: auto; margin-top: 6px; }
/* German header: MADE IN GERMANY badge next to the "Experten fragen" button */
.x-made { display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 14px; border: 1px solid rgba(216,180,106,.65); background: rgba(216,180,106,.1); font-family: var(--font-display); font-weight: 700; font-size: 16px; letter-spacing: .08em; text-transform: uppercase; color: #fff; white-space: nowrap; }
.x-made .x-comm__flag { width: 30px; grid-template-rows: repeat(3, 5px); }
.x-sheet .x-made { margin: 0 0 14px; }
@media (max-width: 767px) { .gs-header__tools .x-made { display: none; } }

/* German site: contact as symbols only (e-mail, WhatsApp, call), no words or addresses */
.x-icos { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.x-ico { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; color: #fff; text-decoration: none; transition: transform .2s, filter .2s, box-shadow .2s; }
.x-ico svg { width: 22px; height: 22px; }
.x-ico--mail { background: #2f6bff; }
.x-ico--wa { background: #25d366; }
.x-ico--call { background: transparent; box-shadow: inset 0 0 0 2px rgba(157,186,255,.6); }
.x-ico:hover, .x-ico:focus-visible { transform: translateY(-2px); filter: brightness(1.12); }
.x-ico--call:hover, .x-ico--call:focus-visible { background: rgba(157,186,255,.18); }
.x-icos--l .x-ico { width: 62px; height: 62px; }
.x-icos--l .x-ico svg { width: 28px; height: 28px; }
.x-icos--l .x-ico--mail { box-shadow: 0 10px 30px rgba(47,107,255,.35); }
.x-icos--l .x-ico--wa { box-shadow: 0 10px 30px rgba(37,211,102,.35); }
.gs-on-paper .x-ico--call, .x-cvis .x-ico--call { box-shadow: inset 0 0 0 2px currentColor; }
.x-sheet__chan .x-icos { padding: 6px 0; }
.x-leader__cta { align-items: center; }


/* German site: the floating WhatsApp button as the symbol only */
.x-wa-float--ico { width: 64px; height: 64px; padding: 0; justify-content: center; border-radius: 50%; }
.x-wa-float--ico svg { width: 32px; height: 32px; }

/* German site: Robert Klemm's one-pager (preview shown whole + PDF) */
.x-op { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--space-10); align-items: center; }
.x-op__sheet { position: relative; display: block; width: 100%; max-width: 460px; justify-self: center; background: #fff; box-shadow: 0 26px 60px rgba(8,21,48,.28), 0 2px 6px rgba(8,21,48,.14); transform: rotate(-1.2deg); transition: transform .3s, box-shadow .3s; }
.x-op__sheet img { display: block; width: 100%; height: auto; }
.x-op__sheet:hover, .x-op__sheet:focus-visible { transform: rotate(0deg) translateY(-4px); box-shadow: 0 34px 70px rgba(8,21,48,.34), 0 2px 6px rgba(8,21,48,.14); }
.x-op__tag { position: absolute; inset-inline-end: 12px; top: 12px; padding: 6px 12px; background: #d8b46a; color: #081530; font-family: var(--font-display); font-weight: 700; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; }
.x-op__copy h2 { margin-top: var(--space-4); }
.x-op__lede { margin-top: var(--space-6); }
.x-op__list { list-style: none; margin: var(--space-6) 0 0; padding: 0; display: grid; gap: 10px; }
.x-op__list li { position: relative; padding-inline-start: 24px; font-weight: 600; }
.x-op__list li::before { content: ""; position: absolute; inset-inline-start: 2px; top: .5em; width: 9px; height: 9px; background: #d8b46a; transform: rotate(45deg); }
.x-op__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: var(--space-8); }
.x-op__cta .gs-btn svg:first-child, .x-leader__op svg:first-child { width: 18px; height: 18px; flex: none; }
@media (max-width: 1023px) { .x-op { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); } .x-op__sheet { max-width: 420px; } }
@media (max-width: 700px) { .x-op__sheet { transform: none; max-width: 100%; } .x-op__cta .gs-btn { width: 100%; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .x-op__sheet { transition: none; } }
/* German D-Palisade highlight: installation photo + bracket details, both shown whole, captions below the images */
.x-pal__media { display: grid; gap: 14px; }
.x-pal__fig { margin: 0; background: #050913; border: 1px solid rgba(216,180,106,.4); }
.x-pal__fig .x-pal__ph { border: 0; }
.x-pal__fig--2 { width: 74%; justify-self: end; }
.x-pal__cap { display: block; padding: 10px 14px; line-height: 1.35; font-family: var(--font-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #d8b46a; border-top: 1px solid rgba(216,180,106,.3); }
@media (max-width: 700px) { .x-pal__fig--2 { width: 100%; } }
/* Made in <country> badge for every language (owner, 6 Oct 2026); German keeps its striped flag */
.x-made__flag { flex: none; width: 30px; height: 20px; box-shadow: 0 0 0 1px rgba(255,255,255,.22); }

/* ---------- product film stage (D-DOG: "Moti, the new guard", owner 15 Oct 2026) ---------- */
.x-guard { position: relative; isolation: isolate; overflow: hidden; overflow: clip; color: #eef3ff; padding-block: clamp(48px, 7vw, 112px);
  background: radial-gradient(80% 110% at 82% 18%, #1c428f 0%, #0a1a3d 46%, #040a18 100%); border-block: 1px solid rgba(157,186,255,.25); }
.x-guard__grid { position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background-image: linear-gradient(rgba(157,186,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(157,186,255,.07) 1px, transparent 1px); background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(120% 90% at 70% 40%, #000 20%, transparent 85%); mask-image: radial-gradient(120% 90% at 70% 40%, #000 20%, transparent 85%); }
.x-guard__glow { position: absolute; z-index: -1; pointer-events: none; top: 50%; inset-inline-end: 4%; width: min(62vw, 820px); aspect-ratio: 1; translate: 0 -50%; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(47,91,255,.5), rgba(47,91,255,.12) 55%, rgba(47,91,255,0)); animation: x-guard-pulse 7s ease-in-out infinite; }
@keyframes x-guard-pulse { 50% { opacity: .65; scale: 1.06; } }
.x-guard__in { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr); grid-template-areas: "head stage" "body stage"; column-gap: clamp(32px, 5.5vw, 104px); align-items: start; }
.x-guard__head { grid-area: head; }
.x-guard__body { grid-area: body; }
.x-guard__stage { grid-area: stage; align-self: start; position: sticky; top: 96px; justify-self: center; width: min(100%, 410px, calc((100vh - 190px) * 9 / 16)); min-width: 260px; margin: 0; }
.x-guard__eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 8px 14px; border: 1px solid rgba(157,186,255,.38); border-radius: 999px; background: rgba(47,91,255,.14);
  font: 600 12px/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: #b5ccff; }
.x-guard__eyebrow i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #ff4141; box-shadow: 0 0 0 0 rgba(255,65,65,.7); animation: x-guard-ping 1.8s ease-out infinite; }
@keyframes x-guard-ping { 0% { box-shadow: 0 0 0 0 rgba(255,65,65,.7); } 80%, 100% { box-shadow: 0 0 0 10px rgba(255,65,65,0); } }
.x-guard__title { margin: 20px 0 0; font-family: var(--font-display); font-weight: 800; font-size: clamp(46px, 6.2vw, 104px); line-height: .96; letter-spacing: .004em; text-wrap: balance; }
.x-guard__title span { display: block; color: #fff; }
.x-guard__title em { display: block; font-style: normal; padding-bottom: .06em; background: linear-gradient(100deg, #ffffff 0%, #b5ccff 38%, #4d78ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
:lang(he) .x-guard__title, :lang(ar) .x-guard__title { line-height: 1.12; letter-spacing: 0; }
:lang(he) .x-guard__eyebrow, :lang(ar) .x-guard__eyebrow, :is(:lang(zh),:lang(ja)) .x-guard__eyebrow { letter-spacing: .02em; font-family: var(--font-sans); font-size: 13px; }
.x-guard__lede { margin: 22px 0 0; max-width: 58ch; font-size: clamp(17px, 1.25vw, 20px); line-height: 1.6; color: #c9d6f2; }
.x-guard__facts { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 0; }
.x-guard__facts div { flex: 1 1 120px; max-width: 200px; padding: 14px 18px; border: 1px solid rgba(157,186,255,.24); background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.015)); }
.x-guard__facts dt { font-family: var(--font-display); font-weight: 700; font-size: clamp(30px, 2.6vw, 40px); line-height: 1; color: #fff; }
.x-guard__facts dd { margin: 7px 0 0; font-size: 13px; line-height: 1.35; letter-spacing: .07em; text-transform: uppercase; color: #9fb3da; }
:lang(he) .x-guard__facts dd, :lang(ar) .x-guard__facts dd, :is(:lang(zh),:lang(ja)) .x-guard__facts dd { letter-spacing: 0; font-size: 14px; }
.x-guard__steps { list-style: none; margin: 30px 0 0; padding: 0; counter-reset: g; border-inline-start: 2px solid rgba(157,186,255,.22); }
.x-guard__steps li { counter-increment: g; position: relative; padding: 0 0 20px; padding-inline-start: 30px; }
.x-guard__steps li:last-child { padding-bottom: 0; }
.x-guard__steps li::before { content: counter(g, decimal-leading-zero); position: absolute; top: -2px; inset-inline-start: -16px; width: 30px; height: 30px; border-radius: 50%; box-sizing: border-box;
  border: 2px solid #4d78ff; background: #0a1a3d; color: #fff; font: 700 11px/26px var(--font-mono); text-align: center; box-shadow: 0 0 18px rgba(77,120,255,.55); }
.x-guard__steps b { display: block; font-family: var(--font-display); font-weight: 700; font-size: clamp(20px, 1.6vw, 24px); line-height: 1.15; color: #fff; }
.x-guard__steps span { display: block; margin-top: 5px; max-width: 54ch; font-size: 15px; line-height: 1.55; color: #b8c7e6; }
.x-guard__cta { margin-top: 30px; }
.x-guard__frame { position: relative; aspect-ratio: 9 / 16; overflow: hidden; border-radius: 34px; background: #051033; border: 1px solid rgba(157,186,255,.5);
  box-shadow: 0 0 0 9px rgba(6,14,32,.92), 0 0 0 10px rgba(157,186,255,.32), 0 46px 120px -24px rgba(47,91,255,.6), 0 0 90px rgba(47,91,255,.22); }
.x-guard__frame::after { content: ""; position: absolute; inset: 14px; z-index: 1; pointer-events: none; opacity: .85;
  background: linear-gradient(#b5ccff, #b5ccff) top left / 26px 2px, linear-gradient(#b5ccff, #b5ccff) top left / 2px 26px, linear-gradient(#b5ccff, #b5ccff) top right / 26px 2px, linear-gradient(#b5ccff, #b5ccff) top right / 2px 26px,
    linear-gradient(#b5ccff, #b5ccff) bottom left / 26px 2px, linear-gradient(#b5ccff, #b5ccff) bottom left / 2px 26px, linear-gradient(#b5ccff, #b5ccff) bottom right / 26px 2px, linear-gradient(#b5ccff, #b5ccff) bottom right / 2px 26px; background-repeat: no-repeat; }
.x-guard__scan { position: absolute; inset-inline: 0; top: 0; height: 18%; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(157,186,255,0), rgba(157,186,255,.16), rgba(157,186,255,0)); animation: x-guard-scan 5s linear infinite; }
@keyframes x-guard-scan { from { transform: translateY(-100%); } to { transform: translateY(560%); } }
.x-guard__frame .x-film__ctl { z-index: 2; inset-inline-end: 14px; bottom: 14px; }
.x-guard__frame > .x-film__play { position: absolute; z-index: 2; top: 50%; left: 50%; translate: -50% -50%; }
.x-guard__cap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; margin-top: 22px; font: 500 12px/1.4 var(--font-mono); letter-spacing: .05em; text-transform: uppercase; color: #8fa3cc; }
:lang(he) .x-guard__cap, :lang(ar) .x-guard__cap, :is(:lang(zh),:lang(ja)) .x-guard__cap { font-family: var(--font-sans); letter-spacing: 0; font-size: 13px; }
@media (max-width: 899px) {
  .x-guard__in { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "stage" "body"; row-gap: 34px; }
  .x-guard__stage { position: static; width: min(100%, 360px, calc((100svh - 150px) * 9 / 16)); min-width: 240px; }
  .x-guard__glow { inset-inline-end: -20%; top: 45%; width: 120vw; }
}
@media (prefers-reduced-motion: reduce) { .x-guard__glow, .x-guard__scan, .x-guard__eyebrow i { animation: none; } .x-guard__scan { display: none; } }

/* ---------- product "in the media" (press coverage, owner 18 Oct 2026) ---------- */
.x-coverage { display: grid; gap: 24px; }
.x-coverage__item { display: grid; grid-template-columns: minmax(200px, 300px) minmax(0, 1fr); gap: clamp(20px, 3.5vw, 48px); align-items: center; padding: clamp(16px, 2vw, 24px);
  border: 1px solid var(--rule); background: linear-gradient(135deg, rgba(47,91,255,.08), rgba(47,91,255,0) 60%), var(--paper-2); }
.x-coverage__media { position: relative; display: block; width: 100%; margin: 0; padding: 0; border: 0; background: #051033; cursor: pointer; overflow: hidden; aspect-ratio: 4 / 5; box-shadow: 0 24px 60px -24px rgba(8,21,48,.55); }
.x-coverage__media img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .5s ease; }
.x-coverage__media:hover img { transform: scale(1.03); }
.x-coverage__play { position: absolute; top: 50%; left: 50%; translate: -50% -50%; display: grid; place-items: center; width: 74px; height: 74px; border-radius: 50%; background: rgba(47,91,255,.92); color: #fff;
  box-shadow: 0 0 0 10px rgba(47,91,255,.25), 0 10px 30px rgba(3,10,32,.4); transition: transform .2s; }
.x-coverage__play svg { width: 30px; height: 30px; margin-inline-start: 4px; }
.x-coverage__media:hover .x-coverage__play { transform: scale(1.08); }
.x-coverage__media:focus-visible { outline: 3px solid #4d78ff; outline-offset: 3px; }
.x-coverage__media .x-vid__dur { position: absolute; bottom: 10px; inset-inline-end: 10px; }
.x-coverage__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0; font: 500 13px/1.4 var(--font-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--ink-3); }
:lang(he) .x-coverage__meta, :lang(ar) .x-coverage__meta, :is(:lang(zh),:lang(ja)) .x-coverage__meta { font-family: var(--font-sans); letter-spacing: 0; font-size: 14px; }
.x-coverage__tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; background: #c8102e; color: #fff; font-weight: 700; }
.x-coverage__tag svg { width: 15px; height: 15px; }
.x-coverage__title { margin: 14px 0 0; color: var(--ink); font-family: var(--font-display); font-weight: 700; font-size: clamp(26px, 2.6vw, 40px); line-height: 1.1; text-wrap: balance; }
:lang(he) .x-coverage__title, :lang(ar) .x-coverage__title { line-height: 1.25; }
.x-coverage__desc { margin: 12px 0 22px; max-width: 62ch; font-size: 17px; line-height: 1.6; color: var(--ink-2); }
@media (max-width: 699px) { .x-coverage__item { grid-template-columns: minmax(0, 1fr); } .x-coverage__media { max-width: 340px; justify-self: center; } }
.x-coverage__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin: 0; }
.x-coverage__desc + .gs-btn { justify-self: start; }
.x-newscover { margin-top: var(--space-6); }
.x-coverage__media .x-vid__dur { z-index: 1; }

/* ---------- German homepage: D-DRONE highlight (owner, 19 Oct 2026) ---------- */
.x-dd__panel { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); grid-template-areas: "media copy" "steps steps" "note note"; gap: clamp(22px, 3.2vw, 48px); padding: clamp(18px, 3vw, 44px);
  border: 1px solid rgba(157,186,255,.25); border-radius: 18px; color: #e9eef7; background: radial-gradient(90% 120% at 85% 0%, #17336f 0%, #0a1630 50%, #060c1a 100%); }
.x-dd__media { grid-area: media; position: relative; margin: 0; overflow: hidden; border-radius: 14px; border: 1px solid rgba(157,186,255,.32); background: #050a16; line-height: 0; align-self: start; }
.x-dd__media img { display: block; width: 100%; height: auto; }
.x-dd__tag { position: absolute; z-index: 2; top: 16px; inset-inline-start: 16px; padding: 9px 13px; border: 1px solid #e8b84a; border-radius: 9px; background: rgba(6,12,26,.84); font-size: 13px; line-height: 1.35; color: #e9eef7; }
.x-dd__tag b { display: block; font-family: var(--font-display); font-weight: 700; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; color: #e8b84a; }
.x-dd__ring { position: absolute; z-index: 2; bottom: 16px; inset-inline-start: 16px; width: 92px; height: 92px; border-radius: 50%; border: 3px solid #4fd1e8; background: rgba(6,12,26,.86); display: grid; place-content: center; text-align: center; line-height: 1; }
.x-dd__ring b { font-family: var(--font-display); font-weight: 800; font-size: 30px; color: #fff; }
.x-dd__ring span { margin-top: 4px; font-size: 11px; letter-spacing: .06em; color: #b9c7e4; }
.x-dd__copy { grid-area: copy; align-self: center; }
.x-dd__eyebrow { display: flex; align-items: flex-start; gap: 10px; max-width: 100%; margin: 0; font: 700 13px/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: #e8b84a; }
.x-dd__eyebrow i { flex: none; width: 40px; height: 3px; margin-top: .6em; background: linear-gradient(90deg, #c8102e, #e8b84a); }
.x-dd__eyebrow span { min-width: 0; }
@media (max-width: 539px) { .x-dd__eyebrow { letter-spacing: .08em; font-size: 12px; } .x-dd__eyebrow i { width: 24px; } }
.x-dd__title { margin: 16px 0 0; font-family: var(--font-display); font-weight: 800; font-size: clamp(38px, 4.6vw, 72px); line-height: .98; text-wrap: balance; }
.x-dd__title > span { display: block; color: #fff; }
.x-dd__title em { display: block; font-style: normal; padding-bottom: .05em; background: linear-gradient(100deg, #ffe3a6 0%, #e8b84a 55%, #c98f1e 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.x-dd__lede { margin: 18px 0 0; max-width: 60ch; font-size: clamp(16px, 1.2vw, 19px); line-height: 1.6; color: #c9d6f2; }
.x-dd .x-nb { white-space: nowrap; }
.x-dd__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 26px 0 0; }
.x-dd__facts div { padding: 14px 16px; border: 1px solid rgba(157,186,255,.22); border-radius: 12px; background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); }
.x-dd__facts dt { font-family: var(--font-display); font-weight: 800; font-size: clamp(26px, 2.4vw, 36px); line-height: 1; color: #e8b84a; }
.x-dd__facts dd { margin: 7px 0 0; font-size: 13px; line-height: 1.35; color: #b9c7e4; }
.x-dd__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 26px; }
.x-dd__steps { grid-area: steps; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.x-dd__steps li { overflow: hidden; border: 1px solid rgba(157,186,255,.22); border-radius: 12px; background: rgba(255,255,255,.03); }
.x-dd__ph { position: relative; display: block; aspect-ratio: 16 / 9; background: #050a16; line-height: 0; }
.x-dd__ph img { width: 100%; height: 100%; object-fit: contain; }
.x-dd__ph b { position: absolute; bottom: 8px; inset-inline-start: 12px; font: 800 32px/1 var(--font-display); color: #e8b84a; text-shadow: 0 2px 10px rgba(3,10,32,.85); }
.x-dd__steps h3 { margin: 14px 16px 6px; font-family: var(--font-display); font-weight: 800; font-size: 20px; letter-spacing: .04em; text-transform: uppercase; color: #fff; }
.x-dd__steps p { margin: 0 16px 16px; font-size: 14.5px; line-height: 1.5; color: #b9c7e4; }
.x-dd__note { grid-area: note; margin: 0; font-size: 12.5px; line-height: 1.5; color: #8fa3cc; }
@media (max-width: 1023px) { .x-dd__panel { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "media" "steps" "note"; } .x-dd__media { max-width: 460px; justify-self: center; } .x-dd__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .x-dd__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 539px) { .x-dd__steps { grid-template-columns: minmax(0, 1fr); } }
/* ---------- Oct 2026 home redesign: product wall (PIDS section) ---------- */
.x-pw { position: relative; margin-top: clamp(56px, 7vw, 112px); }
.x-pw__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: clamp(20px, 2.4vw, 32px); }
.x-pw__title { margin: 0; max-width: 22ch; font: 800 clamp(30px, 3.4vw, 56px)/1 var(--font-display); letter-spacing: .01em; text-transform: uppercase; text-wrap: balance;
  background: linear-gradient(100deg, #ffffff 0%, #cfe0ff 48%, #e8b84a 100%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
:lang(he) .x-pw__title, :lang(ar) .x-pw__title, :is(:lang(zh),:lang(ja)) .x-pw__title { text-transform: none; letter-spacing: 0; }
.x-pw__rows { display: grid; gap: 18px; direction: ltr; overflow: hidden; padding-block: 10px 18px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); }
.x-pw__row { overflow: hidden; padding-block: 8px; }
.x-pw__lane { display: flex; width: max-content; animation: x-pw-run 90s linear infinite; will-change: transform; }
.x-pw__row--rev .x-pw__lane { animation-direction: reverse; animation-duration: 110s; }
.x-pw__rows:hover .x-pw__lane, .x-pw__rows:focus-within .x-pw__lane { animation-play-state: paused; }
@keyframes x-pw-run { to { transform: translateX(-50%); } }
.x-pw__track { display: flex; gap: 18px; margin: 0; padding: 0 9px; list-style: none; }
.x-pw__card { position: relative; display: grid; grid-template-rows: 186px auto; width: 280px; height: 100%; color: var(--ink); text-decoration: none; overflow: hidden; isolation: isolate;
  background: linear-gradient(160deg, #142c6b 0%, #0b1d40 58%, #0a1a3d 100%); border: 1px solid rgba(157,186,255,.2); border-radius: 18px;
  box-shadow: 0 18px 40px rgba(3,10,32,.45); transition: transform .35s var(--ease-out), border-color .35s, box-shadow .35s; }
.x-pw__card:hover, .x-pw__card:focus-visible { transform: translateY(-6px); border-color: rgba(232,184,74,.65); outline: none;
  box-shadow: 0 26px 60px rgba(3,10,32,.6), 0 0 0 1px rgba(232,184,74,.3), 0 0 46px rgba(58,107,255,.3); }
.x-pw__ph { position: relative; display: grid; place-items: center; padding: 12px; background: radial-gradient(120% 95% at 50% 25%, #23479f 0%, #10245a 45%, #0b1d40 100%); overflow: hidden; }
.x-pw__ph img { display: block; width: 100%; height: 162px; object-fit: contain; filter: drop-shadow(0 10px 18px rgba(3,10,32,.55)); }
.x-pw__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.12) 50%, transparent 65%); transform: translateX(-120%); transition: transform .8s var(--ease-out); pointer-events: none; }
.x-pw__card:hover .x-pw__ph::after { transform: translateX(120%); }
.x-pw__meta { display: grid; gap: 6px; padding: 12px 16px 16px; border-top: 1px solid rgba(157,186,255,.16); }
[dir="rtl"] .x-pw__meta { direction: rtl; }
.x-pw__meta b { font: 700 20px/1.1 var(--font-display); letter-spacing: .02em; text-transform: uppercase; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] .x-pw__meta b { text-align: right; }
.x-pw__meta small { display: flex; align-items: center; gap: 8px; min-width: 0; font: 500 12.5px/1.3 var(--font-sans); color: #a9b7d3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.x-pw__meta small i { flex: none; font: 600 11px/1 var(--font-mono); font-style: normal; padding: 4px 7px; border-radius: 6px; background: rgba(58,107,255,.22); color: #cfe0ff; border: 1px solid rgba(157,186,255,.32); }
.x-pw__card[data-l="c"] small i { background: rgba(212,17,47,.24); border-color: rgba(255,90,99,.45); color: #ffd3d8; }
.x-pw__card[data-l="1"] small i { background: rgba(79,209,232,.18); border-color: rgba(79,209,232,.45); color: #c9f4fb; }
@media (max-width: 767px) { .x-pw__card { width: 224px; grid-template-rows: 150px auto; } .x-pw__ph img { height: 128px; } .x-pw__meta b { font-size: 18px; } }
@media (prefers-reduced-motion: reduce) { .x-pw__lane { animation: none; } .x-pw__row { overflow-x: auto; } .x-pw__track[aria-hidden="true"] { display: none; } }

/* ---------- leaping security (was "six layers"): the film replaces the ring diagram ---------- */
.x-leap__tag { display: block; margin-bottom: 12px; font: 700 clamp(22px, 2vw, 30px)/1.15 var(--font-display); letter-spacing: .01em; color: #fff; }
.x-leap__tag::before { content: ""; display: block; width: 56px; height: 3px; margin-bottom: 12px; background: linear-gradient(90deg, #e8b84a, #4fd1e8); }
.x-leap__frame { position: relative; width: min(100%, 560px); aspect-ratio: 1; overflow: hidden; border-radius: 28px; background: #081530;
  border: 1px solid rgba(157,186,255,.28); box-shadow: 0 30px 80px rgba(3,10,32,.55), 0 0 0 8px rgba(58,107,255,.07), 0 0 80px rgba(58,107,255,.18); }
.x-leap__vid { display: block; width: 100%; height: 100%; object-fit: contain; background: #081530; }
.x-leap__badge { position: absolute; top: 16px; inset-inline-end: 16px; padding: 8px 14px; border-radius: 999px; font: 800 18px/1 var(--font-display); letter-spacing: .04em; color: #e8b84a;
  border: 1px solid rgba(232,184,74,.55); background: rgba(8,21,48,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }

/* ---------- observation, split into AI-EYE IN THE SKY / D-DOG / NOA sections ---------- */
.x-obs__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--grid-gap); margin-top: var(--space-8); }
.x-obs__grid > .x-mob__tile { min-height: clamp(440px, 54vh, 640px); }
.x-obs__grid > .x-obs__ph { min-height: clamp(440px, 54vh, 640px); }
.x-obs__grid--noa { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.x-obs__band { display: block; margin-top: var(--grid-gap); background: linear-gradient(120deg, #0b1d40 0%, #10245a 60%, #0b1d40 100%); border: 1px solid rgba(157,186,255,.18); }
.x-obs__band .x-mob__say { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 18px clamp(32px, 4vw, 72px); align-items: start; padding: clamp(32px, 4vw, 64px); }
.x-obs__band .x-mob__say > .gs-eyebrow { grid-column: 1; grid-row: 1; }
.x-obs__band .x-mob__quote { grid-column: 1; grid-row: 2 / span 3; margin: 0; font-size: clamp(38px, 4vw, 70px); }
.x-obs__band .x-mob__quote em { color: #e8b84a; }
.x-obs__band .x-mob__lede { grid-column: 2; grid-row: 1 / span 2; margin: 0; max-width: 52ch; }
.x-obs__band .x-mob__stats { grid-column: 2; grid-row: 3; }
.x-obs__band .gs-btn { grid-column: 2; grid-row: 4; }
.x-obs__trio { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--grid-gap); margin-top: var(--space-8); }
.x-obs__trio > .x-mob__tile { min-height: clamp(420px, 52vh, 600px); }
.x-obs__moti::before { background: #e8b84a; }
.x-obs__moti .x-mob__tag { color: #e8b84a; border-color: rgba(232,184,74,.55); }
@media (max-width: 1100px) { .x-obs__trio { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .x-obs__trio > .x-obs__patrol { grid-column: 1 / -1; } }
@media (max-width: 1023px) {
  .x-obs__grid, .x-obs__grid--noa { grid-template-columns: minmax(0, 1fr); }
  .x-obs__grid > .x-obs__ph { min-height: 0; aspect-ratio: 4 / 3; }
  .x-obs__band .x-mob__say { grid-template-columns: minmax(0, 1fr); }
  .x-obs__band .x-mob__say > * { grid-column: 1 !important; grid-row: auto !important; }
}
@media (max-width: 640px) { .x-obs__trio { grid-template-columns: minmax(0, 1fr); } .x-obs__trio > .x-mob__tile { min-height: 420px; } }

/* ---------- 0 false alarms ---------- */
.x-live__zero { display: flex; align-items: baseline; gap: 12px; padding: 10px 14px; border: 1px solid rgba(74,223,159,.45); border-radius: 12px; background: rgba(74,223,159,.08); }
.x-live__zero b { font: 800 52px/1 var(--font-display); color: var(--secure); text-shadow: 0 0 24px rgba(74,223,159,.35); }
.x-live__zero span { font: 600 14px/1.2 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: #c4f5de; }
:lang(he) .x-live__zero span, :lang(ar) .x-live__zero span, :is(:lang(zh),:lang(ja)) .x-live__zero span { letter-spacing: 0; font-family: var(--font-sans); font-size: 16px; }
.x-air__card p.x-air__zero { display: inline-flex; align-items: center; justify-self: start; gap: 8px; margin: 6px 0 0; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(74,223,159,.55);
  background: rgba(74,223,159,.1); color: #c4f5de; font: 700 17px/1 var(--font-display); letter-spacing: .04em; text-transform: uppercase; }
:lang(he) .x-air__card p.x-air__zero, :lang(ar) .x-air__card p.x-air__zero, :is(:lang(zh),:lang(ja)) .x-air__card p.x-air__zero { text-transform: none; letter-spacing: 0; }
.x-air__zero svg { width: 18px; height: 18px; color: var(--secure); }

/* ---------- representative clients: logo wall ---------- */
.x-trust--logos { grid-template-columns: 240px minmax(0, 1fr); align-items: start; }
.x-trust .x-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.x-trust .x-logos li.x-logo { display: grid; grid-template-rows: 104px auto; gap: 10px; margin: 0; padding: 0; border: 0; font: inherit; line-height: normal; color: inherit; }
.x-logo__ph { display: grid; place-items: center; padding: 14px 18px; background: #fff; border-radius: 14px; box-shadow: 0 12px 30px rgba(3,10,32,.35); transition: transform .3s var(--ease-out), box-shadow .3s; }
.x-logo:hover .x-logo__ph { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(3,10,32,.5), 0 0 0 2px rgba(232,184,74,.55); }
.x-logo__ph img { display: block; max-width: 100%; max-height: 70px; width: auto; height: auto; }
.x-logo__name { font: 500 13px/1.35 var(--font-sans); color: #a9b7d3; text-align: center; text-wrap: balance; }
.x-logo--text .x-logo__ph { background: linear-gradient(135deg, #10245a, #23479f); border: 1px solid rgba(157,186,255,.4); }
.x-logo--text .x-logo__ph b { font: 800 26px/1.05 var(--font-display); letter-spacing: .04em; color: #fff; text-align: center; }
@media (max-width: 767px) { .x-trust--logos { grid-template-columns: minmax(0, 1fr); } .x-trust .x-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .x-trust .x-logos li.x-logo { grid-template-rows: 88px auto; } }

/* ---------- "Your security. Our mission." with Hadas Shpaner ---------- */
.x-cvis__hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: clamp(24px, 4vw, 64px);
  min-height: clamp(420px, 42vw, 600px); margin: 0 0 var(--space-6); padding: clamp(28px, 4.5vw, 72px); overflow: hidden; cursor: pointer;
  background: radial-gradient(90% 120% at 80% 35%, #23479f 0%, #10245a 38%, #0b1d40 70%, #081530 100%); border: 1px solid rgba(157,186,255,.22);
  box-shadow: 0 30px 80px rgba(3,10,32,.45); animation: x-frame-glow 3.2s ease-in-out infinite; }
.x-cvis__hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(157,186,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(157,186,255,.08) 1px, transparent 1px);
  background-size: 48px 48px; -webkit-mask-image: radial-gradient(80% 90% at 30% 50%, #000 10%, transparent 80%); mask-image: radial-gradient(80% 90% at 30% 50%, #000 10%, transparent 80%); }
.x-cvis__copy { display: grid; justify-items: start; gap: clamp(16px, 2vw, 28px); }
.x-cvis__logo { width: 168px; height: auto; padding: 8px 12px; background: #fff; border-radius: 4px; }
.x-cvis__h { margin: 0; font: 800 clamp(44px, 5.6vw, 96px)/.95 var(--font-display); letter-spacing: .005em; text-transform: uppercase; color: #fff; }
:lang(he) .x-cvis__h, :lang(ar) .x-cvis__h, :is(:lang(zh),:lang(ja)) .x-cvis__h { text-transform: none; line-height: 1.05; }
.x-cvis__h span, .x-cvis__h em { display: block; }
.x-cvis__h em { font-style: normal; background: linear-gradient(100deg, #ffe3a6 0%, #e8b84a 55%, #c98f1e 100%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .05em; }
.x-cvis__sub { display: grid; gap: 12px; margin: 0; font: 600 clamp(18px, 1.7vw, 26px)/1.2 var(--font-sans); color: #dfe8ff; }
.x-cvis__sub i { display: block; width: 120px; height: 3px; background: linear-gradient(90deg, #4fd1e8, #3a6bff); }
.x-cvis__portrait { position: relative; justify-self: center; width: min(100%, 440px); }
.x-cvis__portrait img { position: relative; z-index: 1; display: block; width: 100%; height: auto; border-radius: 18px; border: 3px solid rgba(232,184,74,.8);
  box-shadow: 0 30px 70px rgba(3,10,32,.6), 0 0 0 10px rgba(58,107,255,.12), 0 0 90px rgba(58,107,255,.35); }
.x-cvis__ring { position: absolute; inset: -22px; border-radius: 30px; border: 1px dashed rgba(157,186,255,.4); }
.x-cvis__who { position: absolute; z-index: 2; inset-inline-start: -18px; bottom: 22px; display: grid; gap: 2px; padding: 10px 16px; border-radius: 12px;
  background: rgba(8,21,48,.9); border: 1px solid rgba(232,184,74,.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.x-cvis__who b { font: 700 20px/1.1 var(--font-display); color: #fff; }
.x-cvis__who span { font-size: 13px; line-height: 1.3; color: #c9d5f0; }
@media (max-width: 860px) { .x-cvis__hero { grid-template-columns: minmax(0, 1fr); } .x-cvis__portrait { width: min(82%, 380px); } .x-cvis__who { inset-inline-start: 8px; } }
@media (prefers-reduced-motion: reduce) { .x-cvis__hero { animation: none; } }
.x-pw__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.x-pw__sub { grid-column: 1; margin: 0; max-width: 72ch; font-size: clamp(15px, 1.15vw, 18px); line-height: 1.55; color: #c9d5f0; }
.x-pw__head > .gs-arrowlink { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
@media (max-width: 767px) { .x-pw__head { grid-template-columns: minmax(0, 1fr); } .x-pw__head > .gs-arrowlink { grid-column: 1; grid-row: auto; } }
.x-obs__grid > .x-mob__tile, .x-obs__grid > .x-mob__tile--lead, .x-obs__grid > .x-mob__tile--noa { grid-column: auto; grid-row: auto; }
.x-board-home .gs-sechead__title > .gs-line:first-child { display: none; }
.x-pw__meta b { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.05; min-height: 2.1em; display: flex; align-items: flex-end; }
.x-pw__title .x-nw { white-space: nowrap; }
.x-dd__tag { max-width: calc(100% - 28px); }

/* ---------- hero: orbiting product family (fills the empty side of the PIDS band) ---------- */
.x-top__in { align-items: end; }
.x-top__side { display: grid; gap: clamp(14px, 1.6vw, 24px); align-self: end; min-width: 0; }
.x-art { position: relative; container-type: inline-size; width: 100%; height: clamp(290px, 78cqw, 420px); margin: 0 auto; isolation: isolate; user-select: none; }
.x-art__glow { position: absolute; left: 50%; top: 52%; width: 94%; height: 70%; transform: translate(-50%, -50%); z-index: -3; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(58,107,255,.38), rgba(58,107,255,.12) 55%, transparent 80%); filter: blur(6px); }
.x-art__sweep { position: absolute; left: 50%; top: 52%; width: 82%; aspect-ratio: 1; z-index: -2; border-radius: 50%;
  background: conic-gradient(from 0deg, rgba(79,209,232,0) 0deg, rgba(79,209,232,.34) 42deg, rgba(79,209,232,0) 43deg);
  transform: translate(-50%, -50%) scaleY(.52) rotate(0deg); animation: x-art-sweep 9s linear infinite; -webkit-mask-image: radial-gradient(closest-side, #000 25%, transparent 100%); mask-image: radial-gradient(closest-side, #000 25%, transparent 100%); }
@keyframes x-art-sweep { to { transform: translate(-50%, -50%) scaleY(.52) rotate(360deg); } }
.x-art__path { position: absolute; left: 50%; top: 52%; z-index: -1; border-radius: 50%; border: 1px dashed rgba(157,186,255,.38); transform: translate(-50%, -50%); pointer-events: none; }
.x-art__path--o { width: 81%; height: 60%; } .x-art__path--i { width: 45%; height: 32%; border-style: solid; border-color: rgba(157,186,255,.26); }
.x-art__core { position: absolute; left: 50%; top: 52%; width: 15cqw; max-width: 74px; aspect-ratio: 1; transform: translate(-50%, -50%); display: grid; place-items: center; border-radius: 50%; z-index: 40;
  background: radial-gradient(circle at 35% 30%, #ff6a73, #e3242b 62%, #8f0f15); box-shadow: 0 0 34px rgba(227,36,43,.65), 0 0 0 5px rgba(227,36,43,.18); }
.x-art__core b { font: 800 clamp(14px, 4.2cqw, 20px)/1 var(--font-display); letter-spacing: .04em; color: #fff; }
.x-art__core i { position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(255,90,99,.7); animation: x-art-ping 2.8s ease-out infinite; }
.x-art__core i + i { animation-delay: 1.4s; }
@keyframes x-art-ping { from { transform: scale(1); opacity: .9; } to { transform: scale(3.4, 2.1); opacity: 0; } }
.x-art__ring { position: absolute; inset: 0; z-index: 2; } .x-art__ring--in { z-index: 1; }
.x-art__card { position: absolute; left: 0; top: 0; display: grid; gap: 4px; width: 25cqw; max-width: 132px; will-change: transform; text-decoration: none; color: #fff;
  transform: translate(-999px, -999px); outline: none; }
.x-art__ring--in .x-art__card { width: 17cqw; max-width: 92px; }
.x-art__ph { display: grid; place-items: center; aspect-ratio: 7 / 6; padding: 5px; overflow: hidden; border-radius: 12px; border: 1px solid rgba(157,186,255,.38);
  background: radial-gradient(120% 95% at 50% 20%, #23479f 0%, #10245a 52%, #0b1d40 100%); box-shadow: 0 14px 30px rgba(3,10,32,.55), inset 0 0 0 1px rgba(255,255,255,.05); transition: border-color .25s, box-shadow .25s; }
.x-art__ph img { display: block; width: 100%; height: 100%; object-fit: contain; }
.x-art__name { position: absolute; left: 50%; bottom: -4px; transform: translate(-50%, 100%); padding: 4px 9px; border-radius: 999px; white-space: nowrap; font: 600 11px/1 var(--font-mono); letter-spacing: .06em; text-transform: uppercase;
  color: #0b1d40; background: #e8b84a; opacity: 0; pointer-events: none; transition: opacity .2s; }
.x-art__card:hover .x-art__ph, .x-art__card:focus-visible .x-art__ph { border-color: #e8b84a; box-shadow: 0 18px 40px rgba(3,10,32,.65), 0 0 0 2px rgba(232,184,74,.5), 0 0 40px rgba(58,107,255,.45); }
.x-art__card:hover .x-art__name, .x-art__card:focus-visible .x-art__name { opacity: 1; }
@media (max-width: 1023px) { .x-art { max-width: 520px; } }
@media (prefers-reduced-motion: reduce) { .x-art__sweep, .x-art__core i { animation: none; } .x-art__core i { opacity: 0; } }

/* ---------- bottom visual: the old control-room backdrop is back as a wall of every D-FENCE product, behind Hadas; the logo sits on the navy without the white box ---------- */
.x-cvis__logo { width: clamp(150px, 15vw, 210px); height: auto; padding: 0; background: none; border-radius: 0; filter: drop-shadow(0 6px 18px rgba(3,10,32,.55)); }
.x-cvis__wall { position: absolute; inset: -2%; z-index: -2; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: minmax(0, 1fr); gap: 10px; padding: 10px;
  transform: perspective(1500px) rotateX(5deg) scale(1.04); transform-origin: 50% 40%; }
.x-cvis__tile { position: relative; display: grid; place-items: center; min-height: 0; padding: 7px; overflow: hidden; border-radius: 10px; border: 1px solid rgba(157,186,255,.3);
  background: radial-gradient(120% 100% at 50% 15%, #1d3f92 0%, #10245a 55%, #0b1d40 100%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); animation: x-wall-glow 7s ease-in-out infinite; animation-delay: calc(var(--i) * -.55s); }
.x-cvis__tile::after { content: ""; position: absolute; top: 7px; inset-inline-end: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--secure); opacity: .85; animation: x-blink 1.8s steps(2, jump-none) infinite; animation-delay: calc(var(--i) * -.23s); }
.x-cvis__tile img { display: block; width: 100%; height: 100%; object-fit: contain; }
@keyframes x-wall-glow { 0%, 100% { opacity: .78; } 50% { opacity: 1; } }
.x-cvis__veil { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, rgba(8,21,48,.94) 0%, rgba(8,21,48,.8) 30%, rgba(8,21,48,.36) 58%, rgba(8,21,48,.1) 100%), radial-gradient(60% 80% at 82% 45%, rgba(35,71,159,.4), transparent 70%); }
[dir="rtl"] .x-cvis__veil { background: linear-gradient(270deg, rgba(8,21,48,.94) 0%, rgba(8,21,48,.8) 30%, rgba(8,21,48,.36) 58%, rgba(8,21,48,.1) 100%), radial-gradient(60% 80% at 18% 45%, rgba(35,71,159,.4), transparent 70%); }
.x-cvis__hero::before { z-index: -1; opacity: .55; }
@media (max-width: 860px) { .x-cvis__wall { grid-template-columns: repeat(3, minmax(0, 1fr)); } .x-cvis__veil { background: linear-gradient(180deg, rgba(8,21,48,.94) 0%, rgba(8,21,48,.7) 45%, rgba(8,21,48,.4) 100%); } [dir="rtl"] .x-cvis__veil { background: linear-gradient(180deg, rgba(8,21,48,.94) 0%, rgba(8,21,48,.7) 45%, rgba(8,21,48,.4) 100%); } }
@media (prefers-reduced-motion: reduce) { .x-cvis__tile, .x-cvis__tile::after { animation: none; } }

/* solutions page: "Leaping security." + a long marketing line */
.x-intro__title--long, :lang(he) .x-intro__title--long, :lang(ar) .x-intro__title--long { font-size: clamp(46px, 7.4vw, 112px); line-height: 1; }
.x-intro__title--long .gs-line:last-child { margin-top: .16em; }
.x-intro__title--long .gs-line:last-child > span { display: block; max-width: 34ch; font-size: .42em; line-height: 1.16; padding-bottom: .1em; letter-spacing: 0;
  background: linear-gradient(100deg, #ffe3a6 0%, #e8b84a 55%, #c98f1e 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
:is(:lang(zh),:lang(ja)) .x-intro__title--long .gs-line:last-child > span { max-width: 18ch; }

/* communities: the sensor photo (whole) with a caption card beside it */
.x-comm__ph--sensor { grid-column: 1; }
.x-comm__card { grid-column: 2; align-self: stretch; display: grid; align-content: center; gap: 14px; padding: clamp(22px, 2.6vw, 40px); border: 1px solid rgba(232,184,74,.4); border-inline-start: 6px solid #e8b84a;
  background: linear-gradient(135deg, #10245a 0%, #0b1d40 100%); }
.x-comm__card h3 { margin: 0; font: 800 clamp(28px, 2.8vw, 44px)/1.05 var(--font-display); color: #fff; text-wrap: balance; }
:lang(en) .x-comm__card h3, :lang(es) .x-comm__card h3, :lang(fr) .x-comm__card h3, :lang(de) .x-comm__card h3, :lang(pl) .x-comm__card h3 { text-transform: uppercase; }
.x-comm__card p { margin: 0; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.6; color: #c9d5f0; }
.x-comm__card-k { display: block; width: 64px; height: 3px; background: linear-gradient(90deg, #e8b84a, #4fd1e8); }
@media (max-width: 700px) { .x-comm__ph--sensor, .x-comm__card { grid-column: 1; } }

/* ---------- PIDS guide, rebuilt: marketing hero + animated detection chain, short cards, real sensor photo, image cards ---------- */
.x-pids { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: clamp(28px, 4vw, 72px); align-items: center; padding-bottom: var(--space-8); }
.x-pids__copy { display: grid; gap: clamp(14px, 1.6vw, 24px); align-content: center; min-width: 0; }
.x-pids .x-intro__top { padding-bottom: 0; flex-wrap: wrap; }
.x-pids__title { font-size: clamp(42px, 5.6vw, 92px); line-height: .96; margin: 0; }
:lang(he) .x-pids__title, :lang(ar) .x-pids__title { font-size: clamp(40px, 5vw, 80px); line-height: 1.08; }
.x-pids__title em { font-style: normal; background: linear-gradient(100deg, #ffe3a6 0%, #e8b84a 55%, #c98f1e 100%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .06em; }
.x-pids__lede { margin: 0; max-width: 46ch; font-size: clamp(17px, 1.35vw, 21px); line-height: 1.6; color: var(--ink-2); }
.x-pids__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.x-pchain { margin: 0; }
.x-pchain svg { display: block; width: 100%; height: auto; border-radius: 22px; border: 1px solid rgba(157,186,255,.3); box-shadow: 0 30px 80px rgba(3,10,32,.5), 0 0 0 8px rgba(58,107,255,.06); }
.x-pchain svg [class^="x-pchain__"] { transform-box: fill-box; transform-origin: center; }
.x-pchain__intruder { animation: pc-climb 8s ease-in-out infinite; }
.x-pchain__zone { opacity: 0; animation: pc-zone 8s linear infinite; }
.x-pchain__glow { opacity: 0; animation: pc-glow 8s linear infinite; }
.x-pchain__sensor { animation: pc-sensor 8s linear infinite; }
.x-pchain__ping { opacity: 0; animation: pc-ping 8s ease-out infinite; }
.x-pchain__data { stroke-dasharray: 10 8; opacity: 0; animation: pc-data 8s linear infinite; }
.x-pchain__fov { opacity: 0; animation: pc-fov 8s linear infinite; }
.x-pchain__siren { animation: pc-siren 8s steps(1) infinite; }
.x-pchain__dot { animation: pc-dot 8s steps(1) infinite; }
@keyframes pc-climb { 0%, 4% { transform: translateY(0); opacity: 0; } 8% { opacity: 1; } 36% { transform: translateY(-112px); opacity: 1; } 62% { transform: translateY(-112px); opacity: 1; } 72%, 100% { transform: translateY(-112px); opacity: 0; } }
@keyframes pc-zone { 0%, 36% { opacity: 0; } 40%, 80% { opacity: .36; } 90%, 100% { opacity: 0; } }
@keyframes pc-glow { 0%, 36% { opacity: 0; } 40%, 80% { opacity: 1; } 90%, 100% { opacity: 0; } }
@keyframes pc-sensor { 0%, 35% { fill: #4fd1e8; } 38%, 80% { fill: #ff4d5e; } 90%, 100% { fill: #4fd1e8; } }
@keyframes pc-ping { 0%, 36% { opacity: 0; transform: scale(.6); } 37% { opacity: .9; } 52%, 100% { opacity: 0; transform: scale(3.4); } }
@keyframes pc-data { 0%, 40% { opacity: 0; stroke-dashoffset: 0; } 42% { opacity: .95; } 80% { opacity: .95; stroke-dashoffset: -200; } 88%, 100% { opacity: 0; stroke-dashoffset: -200; } }
@keyframes pc-fov { 0%, 44% { opacity: 0; } 50%, 80% { opacity: .3; } 90%, 100% { opacity: 0; } }
@keyframes pc-siren { 0%, 58% { opacity: .25; } 60% { opacity: 1; } 64% { opacity: .25; } 68% { opacity: 1; } 72% { opacity: .25; } 76% { opacity: 1; } 80%, 100% { opacity: .25; } }
@keyframes pc-dot { 0%, 50% { opacity: .2; } 52% { opacity: 1; } 56% { opacity: .2; } 60% { opacity: 1; } 64% { opacity: .2; } 68% { opacity: 1; } 80%, 100% { opacity: .2; } }
.x-chainsteps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.x-chainsteps li { position: relative; display: grid; gap: 6px; padding: 18px 18px 20px; border: 1px solid rgba(157,186,255,.22); border-radius: 16px; background: linear-gradient(160deg, #10245a 0%, #0b1d40 100%); }
.x-chainsteps svg { width: 26px; height: 26px; color: #9dbaff; }
.x-chainsteps b { font: 800 clamp(22px, 2vw, 30px)/1 var(--font-display); letter-spacing: .02em; text-transform: uppercase; color: #fff; }
:lang(he) .x-chainsteps b, :lang(ar) .x-chainsteps b, :is(:lang(zh),:lang(ja)) .x-chainsteps b { text-transform: none; letter-spacing: 0; }
.x-chainsteps span { font-size: 15px; line-height: 1.45; color: #c9d5f0; }
.x-chainsteps li:nth-child(1) { animation: pc-step 8s linear 2.9s infinite; } .x-chainsteps li:nth-child(2) { animation: pc-step 8s linear 3.3s infinite; }
.x-chainsteps li:nth-child(3) { animation: pc-step 8s linear 4s infinite; } .x-chainsteps li:nth-child(4) { animation: pc-step 8s linear 4.8s infinite; }
@keyframes pc-step { 0%, 26% { border-color: #e8b84a; background: linear-gradient(160deg, #2a3f78 0%, #14295f 100%); box-shadow: 0 0 0 1px rgba(232,184,74,.35), 0 14px 34px rgba(3,10,32,.5); } 34%, 100% { border-color: rgba(157,186,255,.22); } }
.x-tech { list-style: none; margin: var(--space-8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.x-tech__c { display: grid; gap: 8px; align-content: start; padding: 22px 22px 24px; border: 1px solid rgba(157,186,255,.22); border-radius: 18px; background: linear-gradient(160deg, #10245a 0%, #0b1d40 100%); transition: transform .3s var(--ease-out), border-color .3s; }
.x-tech__c:hover { transform: translateY(-4px); border-color: rgba(157,186,255,.5); }
.x-tech__c svg { width: 30px; height: 30px; color: #9dbaff; }
.x-tech__c h3 { margin: 4px 0 0; font: 700 clamp(22px, 1.9vw, 28px)/1.1 var(--font-display); color: #fff; }
.x-tech__c p { margin: 0; font-size: 16px; line-height: 1.5; color: #c9d5f0; }
.x-tech__c--us { border-color: rgba(232,184,74,.65); background: linear-gradient(160deg, #1d3f92 0%, #10245a 100%); box-shadow: 0 0 0 1px rgba(232,184,74,.3), 0 24px 60px rgba(3,10,32,.5), 0 0 60px rgba(58,107,255,.25); }
.x-tech__c--us svg, .x-tech__c--us h3 { color: #e8b84a; }
.x-pidsproof { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: var(--grid-gap); margin-top: var(--space-8); align-items: stretch; }
.x-pidsproof__ph { margin: 0; background: #07122c; border: 1px solid rgba(216,180,106,.3); }
.x-pidsproof__ph img { display: block; width: 100%; height: auto; }
.x-pidsproof__ph figcaption { padding: 10px 12px; color: #c9d5f0; }
.x-pidsproof__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; }
.x-pidsproof__stats > div { display: grid; align-content: center; gap: 6px; padding: 22px; border: 1px solid rgba(157,186,255,.22); border-radius: 18px; background: linear-gradient(160deg, #10245a 0%, #0b1d40 100%); }
.x-pidsproof__stats > div:first-child { border-color: rgba(74,223,159,.55); background: linear-gradient(160deg, rgba(74,223,159,.14) 0%, #0b1d40 100%); }
.x-pidsproof__stats > div:first-child dt { color: var(--secure); text-shadow: 0 0 26px rgba(74,223,159,.35); }
.x-pidsproof__stats dt { font: 800 clamp(44px, 4.6vw, 76px)/1 var(--font-display); color: #fff; }
.x-pidsproof__stats dt small { font-size: .4em; margin-inline-start: 4px; color: #9dbaff; }
.x-pidsproof__stats dd { margin: 0; font-size: 15px; line-height: 1.4; color: #c9d5f0; }
.x-pidsfam { list-style: none; margin: var(--space-8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.x-pidsfam a { display: grid; grid-template-rows: auto auto 1fr; gap: 6px; height: 100%; overflow: hidden; border: 1px solid rgba(157,186,255,.22); border-radius: 18px; color: var(--ink); text-decoration: none; background: linear-gradient(160deg, #10245a 0%, #0b1d40 100%); transition: transform .3s var(--ease-out), border-color .3s, box-shadow .3s; }
.x-pidsfam a:hover, .x-pidsfam a:focus-visible { transform: translateY(-5px); border-color: rgba(232,184,74,.65); outline: none; box-shadow: 0 24px 60px rgba(3,10,32,.55), 0 0 40px rgba(58,107,255,.25); }
.x-pidsfam__ph { display: grid; place-items: center; aspect-ratio: 16 / 10; overflow: hidden; background: radial-gradient(120% 95% at 50% 20%, #23479f 0%, #10245a 52%, #0b1d40 100%); }
.x-pidsfam__ph img { display: block; width: 100%; height: 100%; object-fit: contain; }
.x-pidsfam b { padding: 6px 16px 0; font: 700 clamp(20px, 1.7vw, 26px)/1.1 var(--font-display); text-transform: uppercase; color: #fff; }
.x-pidsfam a > span:last-child { padding: 0 16px 16px; font-size: 14.5px; line-height: 1.45; color: #c9d5f0; }
.x-checklist { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1023px) { .x-pids { grid-template-columns: minmax(0, 1fr); } .x-pchain { max-width: 560px; justify-self: center; width: 100%; } .x-chainsteps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .x-tech, .x-pidsfam { grid-template-columns: repeat(2, minmax(0, 1fr)); } .x-pidsproof { grid-template-columns: minmax(0, 1fr); } .x-checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .x-chainsteps { grid-template-columns: minmax(0, 1fr); } .x-tech, .x-pidsfam, .x-checklist { grid-template-columns: minmax(0, 1fr); } .x-pidsproof__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .x-pidsproof__stats > div { padding: 16px; } }
@media (prefers-reduced-motion: reduce) {
  .x-pchain svg [class^="x-pchain__"], .x-chainsteps li { animation: none !important; }
  .x-pchain__intruder { transform: translateY(-112px); } .x-pchain__zone { opacity: .36; } .x-pchain__glow { opacity: 1; } .x-pchain__sensor { fill: #ff4d5e; } .x-pchain__fov { opacity: .3; } .x-pchain__data { opacity: .9; stroke-dasharray: none; } .x-pchain__siren { opacity: 1; } .x-pchain__dot { opacity: 1; }
}
/* Technology page: force dial (hero art), 3-step strip */
.x-tdial { margin: 0; display: grid; gap: 14px; }
.x-tdial svg { display: block; width: 100%; height: auto; border-radius: 22px; border: 1px solid rgba(157,186,255,.3); box-shadow: 0 30px 80px rgba(3,10,32,.5), 0 0 0 8px rgba(58,107,255,.06); }
.x-tdial text { font-family: var(--font-mono); }
.x-tdial svg [class^="x-tdial__"] { transform-box: fill-box; transform-origin: center; }
.x-tdial svg .x-tdial__needle { transform-box: view-box; transform-origin: 280px 268px; transform: rotate(-81deg); animation: td-needle 8s ease-in-out infinite; }
.x-tdial__hub { animation: td-hub 8s steps(1) infinite; }
.x-tdial__arcw { animation: td-arcw 8s linear infinite; }
.x-tdial__arca { animation: td-arca 8s linear infinite; }
.x-tdial__glow { opacity: 0; animation: td-glow 8s linear infinite; }
.x-tdial__wind { animation: td-wind 8s linear infinite; }
.x-tdial__wind > g { animation: td-drift 2.4s ease-in-out infinite alternate; }
.x-tdial__fig { opacity: 0; animation: td-fig 8s ease-out infinite; }
.x-tdial__chip { opacity: 0; animation: td-chip 8s linear infinite; }
.x-tdial__siren { opacity: .25; animation: td-siren 8s steps(1) infinite; }
.x-tdial__legend { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; font-size: 14.5px; line-height: 1.3; color: #c9d5f0; }
.x-tdial__legend li { display: flex; align-items: center; gap: 9px; }
.x-tdial__legend i { flex: none; width: 12px; height: 12px; border-radius: 50%; background: #4fd1e8; box-shadow: 0 0 14px rgba(79,209,232,.7); }
.x-tdial__legend .is-alarm i { background: #ff4d5e; box-shadow: 0 0 14px rgba(255,77,94,.7); }
@keyframes td-needle { 0% { transform: rotate(-81deg); } 6% { transform: rotate(-50deg); } 11% { transform: rotate(-62deg); } 17% { transform: rotate(-33deg); } 23% { transform: rotate(-58deg); } 29% { transform: rotate(-36deg); } 35% { transform: rotate(-66deg); } 41% { transform: rotate(-44deg); } 45% { transform: rotate(-54deg); } 50% { transform: rotate(72deg); } 53% { transform: rotate(50deg); } 56% { transform: rotate(63deg); } 62% { transform: rotate(56deg); } 68% { transform: rotate(61deg); } 74% { transform: rotate(54deg); } 80% { transform: rotate(58deg); } 87%, 100% { transform: rotate(-81deg); } }
@keyframes td-hub { 0% { fill: #4fd1e8; } 47% { fill: #ff4d5e; } 85% { fill: #4fd1e8; } }
@keyframes td-arcw { 0%, 44% { opacity: 1; } 48%, 86% { opacity: .4; } 92%, 100% { opacity: 1; } }
@keyframes td-arca { 0%, 46% { opacity: .6; } 49%, 82% { opacity: 1; } 90%, 100% { opacity: .6; } }
@keyframes td-glow { 0%, 46% { opacity: 0; } 50%, 82% { opacity: .9; } 90%, 100% { opacity: 0; } }
@keyframes td-wind { 0%, 44% { opacity: 1; } 48%, 90% { opacity: 0; } 96%, 100% { opacity: 1; } }
@keyframes td-drift { from { transform: translateX(-12px); } to { transform: translateX(14px); } }
@keyframes td-fig { 0%, 46% { opacity: 0; transform: translateY(8px); } 52% { opacity: 1; transform: translateY(0); } 80% { opacity: 1; transform: translateY(-8px); } 86%, 100% { opacity: 0; transform: translateY(-8px); } }
@keyframes td-chip { 0%, 50% { opacity: 0; } 54%, 82% { opacity: 1; } 88%, 100% { opacity: 0; } }
@keyframes td-siren { 0%, 52% { opacity: .25; } 54% { opacity: 1; } 58% { opacity: .25; } 62% { opacity: 1; } 66% { opacity: .25; } 70% { opacity: 1; } 74%, 100% { opacity: .25; } }
.x-chainsteps.x-chainsteps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x-chainsteps--3 li:nth-child(1) { animation: pc-step 8s linear 0s infinite; } .x-chainsteps--3 li:nth-child(2) { animation: pc-step 8s linear 1.8s infinite; } .x-chainsteps--3 li:nth-child(3) { animation: pc-step 8s linear 3.8s infinite; }
@media (max-width: 1023px) { .x-tdial { max-width: 560px; justify-self: center; width: 100%; } .x-chainsteps.x-chainsteps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 639px) { .x-chainsteps.x-chainsteps--3 { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) {
  .x-tdial svg [class^="x-tdial__"], .x-chainsteps--3 li { animation: none !important; }
  .x-tdial svg .x-tdial__needle { transform: rotate(-45deg); } .x-tdial__arca { opacity: .6; }
}
.gs-cost .gs-cost__table { grid-column: 1 / -1; }
.x-tdial svg { direction: ltr; }
.x-pidsproof--tech .x-pidsproof__stats dt { font-size: clamp(34px, 3.5vw, 58px); }
.x-pidsproof--tech .x-pidsproof__stats dt bdi { white-space: nowrap; }
/* Homepage: D-TOWER project completed (x-tp) and D-CATCHER (x-cc), built on the x-dd panel */
.x-dd.x-tp .x-dd__panel { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); grid-template-areas: "media copy" "row row" "note note"; }
.x-tp__main { padding: 0; }
.x-tp__film { aspect-ratio: 16 / 9; }
.x-tp__film img { object-fit: cover; }
.x-tp__lab { position: absolute; inset-inline: 0; bottom: 0; padding: 26px 18px 14px; text-align: start; font-size: 14px; line-height: 1.3; color: #e9eef7; background: linear-gradient(0deg, rgba(6,12,26,.92), rgba(6,12,26,0)); }
.x-tp__lab b { display: block; font: 700 18px/1.2 var(--font-display); letter-spacing: .04em; text-transform: uppercase; color: #e8b84a; }
.x-tp__film .x-coverage__play { width: 64px; height: 64px; }
.x-tp__row { grid-area: row; display: flex; gap: 14px; align-items: flex-start; }
.x-tp__fig { margin: 0; min-width: 0; }
.x-tp__fig--film { flex: 1.77 1 0; } .x-tp__fig--tall { flex: .75 1 0; } .x-tp__fig--wide { flex: 2.17 1 0; }
.x-tp__fig > img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid rgba(157,186,255,.3); }
.x-tp__fig .x-tp__film { border-radius: 12px; border: 1px solid rgba(157,186,255,.3); }
.x-tp__fig .x-tp__lab { font-size: 12.5px; padding: 22px 12px 10px; } .x-tp__fig .x-tp__lab b { font-size: 15px; }
.x-tp__fig figcaption { margin-top: 8px; font: 12.5px/1.4 var(--font-mono); letter-spacing: .04em; color: #9fb0d6; }
.x-dd.x-cc .x-dd__panel { grid-template-areas: "media copy" "rows rows" "note note"; }
.x-cc__rows { grid-area: rows; display: grid; gap: 16px; }
.x-cc__vers { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.x-cc__ver { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); overflow: hidden; border: 1px solid rgba(157,186,255,.22); border-radius: 14px; background: rgba(255,255,255,.03); }
.x-cc__ph { display: block; background: #0b1d40; line-height: 0; } .x-cc__ph img { display: block; width: 100%; height: 100%; object-fit: contain; }
.x-cc__ver > div { padding: 16px 18px; min-width: 0; }
.x-cc__ver h3 { margin: 0; font: 800 28px/1 var(--font-display); text-transform: uppercase; color: #fff; }
.x-cc__ver p { margin: 6px 0 12px; font-size: 15px; line-height: 1.4; color: #c9d6f2; }
.x-cc__vs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.x-cc__vs div { padding: 8px 10px; border: 1px solid rgba(157,186,255,.2); border-radius: 10px; background: rgba(255,255,255,.04); }
.x-cc__vs b { display: block; font: 800 20px/1 var(--font-display); color: #e8b84a; } .x-cc__vs span { display: block; margin-top: 4px; font-size: 12px; line-height: 1.25; color: #b9c7e4; }
.x-cc__flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.x-cc__flow li { padding: 14px 16px 16px; border: 1px solid rgba(157,186,255,.22); border-radius: 12px; background: rgba(255,255,255,.03); }
.x-cc__flow .n { display: block; font: 800 30px/1 var(--font-display); color: #e8b84a; }
.x-cc__flow h3 { margin: 6px 0 4px; font: 800 19px/1.1 var(--font-display); letter-spacing: .04em; text-transform: uppercase; color: #fff; }
.x-cc__flow p { margin: 0; font-size: 14px; line-height: 1.45; color: #b9c7e4; }
:lang(he) .x-cc__ver h3, :lang(ar) .x-cc__ver h3, :is(:lang(zh),:lang(ja)) .x-cc__ver h3 { text-transform: none; }
:lang(he) .x-cc__flow h3, :lang(ar) .x-cc__flow h3, :is(:lang(zh),:lang(ja)) .x-cc__flow h3 { text-transform: none; letter-spacing: 0; }
@media (max-width: 1023px) {
  .x-dd.x-tp .x-dd__panel { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "media" "row" "note"; }
  .x-dd.x-cc .x-dd__panel { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "media" "rows" "note"; }
  .x-tp__main { max-width: none; width: 100%; }
  .x-tp__row { flex-wrap: wrap; } .x-tp__fig--film { flex: 1 1 100%; } .x-tp__fig--tall { flex: 1 1 34%; } .x-tp__fig--wide { flex: 1 1 60%; }
  .x-cc__flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 819px) { .x-cc__vers { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 539px) { .x-tp__fig--tall, .x-tp__fig--wide { flex: 1 1 100%; } .x-cc__flow { grid-template-columns: minmax(0, 1fr); } .x-cc__ver { grid-template-columns: minmax(0, 1fr); } .x-cc__ph { max-height: 240px; } }
.x-coverage__media.x-tp__film .x-vid__dur { top: 12px; bottom: auto; inset-inline-end: 12px; padding: 5px 9px; border-radius: 6px; background: rgba(6,12,26,.86); color: #e9eef7; }
.x-cc__vs b { font-size: 18px; white-space: nowrap; }
.x-dd.x-cc .x-dd__tag { inset-inline-start: auto; inset-inline-end: 14px; top: 14px; }
.x-dd.x-cc .x-dd__tag { inset-inline: auto; left: auto; right: 14px; }

/* D-CATCHER on the homepage: the two demo films above the version cards */
.x-cc__films { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.x-cc__film { margin: 0; min-width: 0; }
.x-cc__film .x-tp__film { border-radius: 12px; border: 1px solid rgba(157,186,255,.3); width: 100%; }
@media (max-width: 639px) { .x-cc__films { grid-template-columns: minmax(0, 1fr); } }

/* PIDS page hero: a real film instead of the drawn fence (x-pfilm) */
.x-pfilm { margin: 0; }
.x-pfilm .x-pfilm__btn { aspect-ratio: 1280 / 536; border-radius: 22px; border: 1px solid rgba(157,186,255,.3); box-shadow: 0 30px 80px rgba(3,10,32,.5), 0 0 0 8px rgba(58,107,255,.06); }
.x-pfilm__vid { display: block; width: 100%; height: 100%; object-fit: cover; background: #051033; }
.x-pfilm .x-tp__lab { padding: 44px 20px 16px; font-size: 16px; } .x-pfilm .x-tp__lab b { font-size: 17px; letter-spacing: .03em; }
.x-pfilm .x-coverage__play { width: 64px; height: 64px; }
@media (max-width: 1023px) { .x-pfilm { max-width: 640px; justify-self: center; width: 100%; } }
@media (max-width: 699px) { .x-pfilm .x-pfilm__btn { max-width: none; } }

/* Legal pages (privacy, cookies, accessibility, terms) and the footer legal links */
.x-legal { padding-block: var(--space-8, 64px) var(--space-9, 96px); }
.x-legal__head { max-width: 860px; display: grid; gap: 14px; margin-bottom: clamp(28px, 4vw, 56px); }
.x-legal__head .x-intro__title { font-size: clamp(36px, 4.6vw, 72px); line-height: 1.02; margin: 0; }
:lang(he) .x-legal__head .x-intro__title, :lang(ar) .x-legal__head .x-intro__title { line-height: 1.12; }
.x-legal__date { margin: 0; font: 500 14px/1.4 var(--font-mono); letter-spacing: .04em; color: var(--ink-3); }
.x-legal__grid { display: grid; grid-template-columns: minmax(200px, 270px) minmax(0, 780px); gap: clamp(28px, 5vw, 72px); align-items: start; }
.x-legal__toc { position: sticky; top: 96px; padding: 18px 20px; border: 1px solid var(--rule); border-radius: 14px; background: rgba(255,255,255,.03); }
.x-legal__toch { margin: 0 0 10px; font: 700 13px/1.2 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.x-legal__toc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.x-legal__toc a { color: var(--ink-2); text-decoration: none; font-size: 14.5px; line-height: 1.35; display: block; padding-block: 2px; }
.x-legal__toc a:hover, .x-legal__toc a:focus-visible { color: var(--ink); text-decoration: underline; }
.x-legal__body { min-width: 0; }
.x-legal__body section { padding-block: 0 clamp(22px, 3vw, 36px); scroll-margin-top: 96px; }
.x-legal__body h2 { margin: 0 0 12px; font: 700 clamp(21px, 1.8vw, 26px)/1.25 var(--font-display); letter-spacing: .02em; color: var(--ink); }
.x-legal__body p, .x-legal__body li { font-size: 17px; line-height: 1.75; color: var(--ink-2); }
.x-legal__body p { margin: 0 0 14px; }
.x-legal__body ul { margin: 0 0 14px; padding-inline-start: 1.3em; display: grid; gap: 8px; }
.x-legal a { color: var(--link, #8fb1ff); text-decoration: underline; text-underline-offset: 3px; }
.x-legal__table { overflow-x: auto; margin: 0 0 14px; border: 1px solid var(--rule); border-radius: 12px; }
.x-legal__table:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.x-legal__table table { width: 100%; border-collapse: collapse; min-width: 560px; font-size: 15px; line-height: 1.5; }
.x-legal__table th, .x-legal__table td { padding: 10px 14px; text-align: start; vertical-align: top; border-bottom: 1px solid var(--rule); color: var(--ink-2); }
.x-legal__table thead th { font: 700 13px/1.3 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); background: rgba(255,255,255,.04); }
.x-legal__table tbody tr:last-child > * { border-bottom: 0; }
.x-legal__table code { font: 500 14px/1.4 var(--font-mono); color: var(--ink); direction: ltr; unicode-bidi: isolate; }
.x-legal__more { display: flex; flex-wrap: wrap; gap: 10px 14px; margin-top: clamp(24px, 3vw, 44px); padding-top: 24px; border-top: 1px solid var(--rule); }
.x-legal__more a { padding: 9px 16px; border: 1px solid var(--rule); border-radius: 999px; color: var(--ink-2); text-decoration: none; font-size: 15px; }
.x-legal__more a:hover, .x-legal__more a:focus-visible { color: var(--ink); border-color: var(--ink-3); }
.x-legal__more a[aria-current="page"] { color: var(--ink); border-color: var(--ink-3); background: rgba(255,255,255,.06); }
.x-legalnav { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; }
.x-legalnav a { font-size: 14px; line-height: 20px; color: var(--ink-3); text-decoration: underline; text-underline-offset: 3px; }
.x-legalnav a:hover, .x-legalnav a:focus-visible { color: var(--ink); }
@media (max-width: 899px) { .x-legal__grid { grid-template-columns: minmax(0, 1fr); } .x-legal__toc { position: static; } }
@media print { .x-legal__toc, .x-legal__more { display: none; } .x-legal__grid { display: block; } }

.x-form-privacy { grid-column: 1 / -1; margin: 12px 0 0; font-size: 13px; line-height: 1.55; color: var(--ink-3); }
.x-form-privacy a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

.x-legal bdi[dir="ltr"] { display: inline-block; max-width: 100%; text-align: start; }
