/* =====================================================================
   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 > img { position: static; width: 100%; height: auto; max-height: 92vh; object-fit: contain; }
.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; }
.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: #000; }
.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; }
@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: #000; 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(5,8,14,0.94) 0%, rgba(5,8,14,0.72) 38%, rgba(5,8,14,0.18) 72%, rgba(5,8,14,0.05) 100%),
              linear-gradient(0deg, var(--x-hero-fade) 0%, rgba(5,8,14,0) 32%), linear-gradient(0deg, rgba(5,8,14,0.78) 0%, rgba(5,8,14,0) 26%); }
[dir="rtl"] .x-hero::before { background: linear-gradient(270deg, rgba(5,8,14,0.94) 0%, rgba(5,8,14,0.72) 38%, rgba(5,8,14,0.18) 72%, rgba(5,8,14,0.05) 100%),
              linear-gradient(0deg, var(--x-hero-fade) 0%, rgba(5,8,14,0) 32%), linear-gradient(0deg, rgba(5,8,14,0.78) 0%, rgba(5,8,14,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(5,8,14,0) 0%, rgba(5,8,14,0) 40%, rgba(5,8,14,0.55) 62%, rgba(5,8,14,0.9) 100%),
  linear-gradient(0deg, var(--x-hero-fade) 0%, rgba(5,8,14,0) 30%), linear-gradient(0deg, rgba(5,8,14,0.78) 0%, rgba(5,8,14,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(5,8,14,0.98) 0%, rgba(5,8,14,0.78) 45%, rgba(5,8,14,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: #000; }
.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: #000; 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(5,8,14,0.96) 0%, rgba(5,8,14,0.55) 38%, rgba(5,8,14,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(5,8,14,0.96) 0%, rgba(5,8,14,0.78) 55%, rgba(5,8,14,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: #05080e; 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(5,8,14,0.94) 0%, rgba(5,8,14,0.55) 42%, rgba(5,8,14,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(5,8,14,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(5,8,14,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(5,8,14,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: #000; }
.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(5,8,14,0.88), rgba(5,8,14,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: #070b12; 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(5,8,14,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: #070b12; 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: #000; 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(0,0,0,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(5,8,14,0.9) 0%, rgba(5,8,14,0.66) 28%, rgba(5,8,14,0.14) 48%, rgba(5,8,14,0) 60%),
              linear-gradient(0deg, rgba(5,8,14,0.72) 0%, rgba(5,8,14,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(5,8,14,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(0,0,0,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: #05080e; 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(0,0,0,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: #05080e; 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(5,8,14,0.9), rgba(5,8,14,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: #070b12; 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, #05080e); }
.x-newsx__media--book img { inset: 8% 0; height: 84%; filter: drop-shadow(0 12px 22px rgba(0,0,0,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(5,8,14,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: #05080e; } .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(0,0,0,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(0,0,0,.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, #05080e); }
@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%, #05080e 100%); }
.x-press__media img { display: block; width: 100%; max-width: 440px; height: auto; object-fit: contain; box-shadow: 0 24px 60px rgba(0,0,0,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(5,8,14,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(5,8,14,.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(5,8,14,.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(5,8,14,.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(5,8,14,.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(5,8,14,.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(5,8,14,.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(5,8,14,.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(5,8,14,.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(0,0,0,.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%, #03070f 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(0,0,0,.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: #02050c; }
.x-film__video { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: contain; background: #02050c; }
.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(0,0,0,.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; }