/* ==========================================================
   Msite theme - main stylesheet (RTL, mobile-first breakpoints)
   Breakpoints: tablet <= 1024px, large phone <= 782px, phone <= 520px
   ========================================================== */
:root {
  --ink: #0B1B3A;
  --ink2: #4A5B7C;
  --bg: #EEF3FB;
  --line: #D6E1F5;
  --navy: #0D2F8F;
  --blue: #1B5FD6;
  --cyan: #9FE7F7;
  --accent: #1B5FD6;
  --glow: #38D6F5;
  --pad: 32px;
  --card: #fff;
  --nav: #33466B;
  --field-line: #B8C8E6;
  --footer: #0B1B3A;
  --navy-text: #0D2F8F;
  --chip: #EEF3FB;
  --thumb: linear-gradient(135deg, #DCE6FA, #C5D6F5);
  color-scheme: light;
}
html[data-theme="dark"] {
  --ink: #E6EEFF;
  --ink2: #9FB0D3;
  --bg: #070D1F;
  --line: #1F2F58;
  --card: #0F1A36;
  --nav: #B9C8E8;
  --field-line: #2A3C6B;
  --footer: #040813;
  --navy-text: #9FE7F7;
  --chip: #16244A;
  --thumb: linear-gradient(135deg, #16244A, #1D3166);
  --blue: #7FB2FF;
  color-scheme: dark;
}
html[data-theme="dark"] body {
  background-image: linear-gradient(rgba(127, 178, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(127, 178, 255, .05) 1px, transparent 1px);
}
html[data-theme="dark"] .skip-link { color: #0B1B3A; }
html[data-theme="dark"] .pill.on, html[data-theme="dark"] .pager .current { background: var(--accent); border-color: var(--accent); color: #fff; }
html[data-theme="dark"] .brand-name { color: var(--ink); }
html, body, .card, .path, .stack-box, .contact-form { transition: background-color .25s, color .25s, border-color .25s; }
*, *::before, *::after { box-sizing: border-box; }
html { direction: rtl; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: 'Heebo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--ink);
  background-color: var(--bg);
  background-image:
    linear-gradient(rgba(27, 95, 214, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(27, 95, 214, .06) 1px, transparent 1px);
  background-size: 40px 40px;
  line-height: 1.55;
  overflow-x: hidden;
}
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
a:hover { opacity: .88; }
img, svg { max-width: 100%; height: auto; }
h1, h2, h3 { font-family: 'Rubik', 'Heebo', sans-serif; margin: 0; line-height: 1.12; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
.mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }
.wrap { width: 100%; max-width: clamp(1240px, 76vw, 1840px); margin: 0 auto; padding: 0 var(--pad); }
.narrow { max-width: 860px; }
.skip-link { position: absolute; top: -60px; inset-inline-start: 12px; background: #fff; padding: 10px 16px; border-radius: 8px; z-index: 100; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid var(--glow); outline-offset: 3px; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 12px 28px; border-radius: 999px;
  font: 700 17px/1.2 'Heebo', sans-serif; border: 2px solid transparent; cursor: pointer;
  text-align: center;
}
.btn-primary { background: var(--accent); color: #fff; }
.btn-light { background: #fff; color: var(--navy); }
.btn-ghost { border-color: rgba(255, 255, 255, .55); color: #fff; }
.btn-outline { border-color: var(--ink); color: var(--ink); }

/* ---------- Header ---------- */
.site-header { position: relative; z-index: 30; }

.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; padding-bottom: 20px; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark { width: 34px; height: 34px; border-radius: 50%; border: 4px solid var(--accent); display: flex; align-items: center; justify-content: center; flex: none; }
.brand-mark span { width: 10px; height: 10px; border-radius: 50%; background: var(--glow); }
.brand-name { font: 800 26px/1 'Rubik', sans-serif; letter-spacing: .5px; direction: ltr; }
.brand-sub { font-size: 14px; color: var(--ink2); }
.brand-img { height: 44px; width: auto; }
.main-nav { display: flex; align-items: center; gap: 28px; }
.nav { display: flex; align-items: center; gap: 26px; font-weight: 500; color: var(--nav); }
.nav a { padding: 8px 0; display: inline-block; }
.nav .current-menu-item > a, .nav a[aria-current="page"] { color: var(--accent); font-weight: 700; }
.nav-cta { min-height: 44px; padding: 10px 22px; font-size: 16px; }
.nav-toggle { display: none; width: 48px; height: 48px; border: 1px solid var(--line); background: var(--card); border-radius: 12px; cursor: pointer; padding: 0; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.nav-toggle span { display: block; width: 22px; height: 2px; background: var(--ink); border-radius: 2px; }

/* ---------- Hero ---------- */
.hero { padding-top: 12px; }
.hero-panel {
  position: relative; overflow: hidden; color: #fff; border-radius: 32px;
  background: linear-gradient(135deg, #0D2F8F, #1B5FD6);
  padding: 64px 56px; display: flex; flex-direction: column; gap: 48px;
}
.hero-glow { position: absolute; top: -120px; left: -80px; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, rgba(56, 214, 245, .45), rgba(56, 214, 245, 0) 70%); pointer-events: none; }
.hero-grid { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: 40px 40px; }
.hero-top { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 40px; }
.hero-text { display: flex; flex-direction: column; gap: 22px; flex: 1 1 520px; max-width: 720px; min-width: 0; }
.chip-pill { align-self: flex-start; font-size: 13px; border: 1px solid rgba(255, 255, 255, .35); padding: 6px 14px; border-radius: 999px; direction: ltr; }
.hero h1 { font-weight: 800; font-size: clamp(34px, 5.4vw, 64px); letter-spacing: -1px; line-height: 1.06; }
.hero h1 .line1 { display: block; }
.typed-wrap { display: block; margin-top: 12px; font-size: clamp(26px, 3.6vw, 44px); line-height: 1.2; min-height: 1.3em; font-weight: 700; letter-spacing: -.5px; color: var(--cyan); }
.cursor { display: inline-block; width: 3px; height: .85em; background: var(--cyan); margin-inline-start: 6px; vertical-align: -.1em; animation: blink 1s steps(1) infinite; }
.hero-lead { font-size: clamp(17px, 1.7vw, 20px); line-height: 1.6; color: #DCE8FF; max-width: 620px; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }

/* Globe */
.globe-float { flex: 0 0 auto; width: 300px; height: 300px; margin-inline: auto; display: flex; align-items: center; justify-content: center; animation: gfloat 6s ease-in-out infinite; }
.globe { position: relative; width: 280px; height: 280px; perspective: 900px; }
.globe-ball { position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 35% 30%, rgba(56, 214, 245, .35), rgba(13, 47, 143, .15) 60%, rgba(13, 47, 143, 0) 72%); box-shadow: 0 0 80px 10px rgba(56, 214, 245, .25); }
.globe-spin { position: absolute; inset: 0; transform-style: preserve-3d; animation: gspin 24s linear infinite; }
.g-ring { position: absolute; inset: 0; border: 1.5px solid rgba(255, 255, 255, .5); border-radius: 50%; }
.g-eq { position: absolute; left: 50%; top: 50%; width: 280px; height: 280px; margin: -140px 0 0 -140px; border: 2px solid var(--glow); border-radius: 50%; transform: rotateX(90deg); }
.g-lat { position: absolute; left: 50%; top: 50%; border: 1.5px solid rgba(255, 255, 255, .3); border-radius: 50%; }
.g-dot { position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--glow); box-shadow: 0 0 14px 4px var(--glow); }
.g-dot.w { background: #fff; box-shadow: 0 0 14px 4px rgba(255, 255, 255, .8); }
.arc-dot { position: absolute; left: 50%; top: 50%; width: 4px; height: 4px; margin: -2px 0 0 -2px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 6px 1px var(--cyan); opacity: .15; animation: arcpulse 1.8s ease-in-out infinite; }

/* Two-way flow */
.flow { position: relative; display: flex; align-items: center; justify-content: center; gap: 20px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22); border-radius: 24px; padding: 32px; }
.flow-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.flow-row { display: flex; align-items: center; }
.flow-chip { flex: 1; min-width: 0; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .28); border-radius: 12px; padding: 11px 16px; font-weight: 500; }
.flow-chip.more { background: rgba(255, 255, 255, .06); border-style: dashed; border-color: rgba(255, 255, 255, .55); color: #DCE8FF; }
.conn { position: relative; width: 44px; flex: none; display: flex; align-items: center; }
.conn .ln { flex: 1; height: 2px; background: var(--cyan); }
.conn .ah { width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.conn .ah.l { border-right: 8px solid var(--cyan); }
.conn .ah.r { border-left: 8px solid var(--cyan); }
.conn .dot { position: absolute; top: 50%; margin-top: -3px; width: 6px; height: 6px; border-radius: 50%; background: #fff; box-shadow: 0 0 8px 2px #fff; animation: flowdot 1.8s ease-in-out infinite alternate; }
.ai-card { flex: 0 1 260px; background: var(--card); color: var(--ink); border-radius: 20px; padding: 28px; text-align: center; box-shadow: 0 20px 50px -12px rgba(5, 20, 70, .55); }
.ai-label { font-size: 12px; color: var(--blue); direction: ltr; }
.ai-title { font: 800 28px/1.1 'Rubik', sans-serif; margin: 6px 0; }
.ai-text { font-size: 15px; color: var(--ink2); line-height: 1.5; }

/* ---------- Sections ---------- */
.section { padding: 72px 0; }
.section h2, .page-hero h1 { font-weight: 700; font-size: clamp(28px, 3.6vw, 44px); letter-spacing: -.5px; }
.lead { margin-top: 12px; font-size: clamp(16px, 1.6vw, 18px); line-height: 1.6; color: var(--ink2); max-width: 700px; }
.kicker { display: block; font-size: 13px; color: var(--accent); direction: ltr; text-align: right; margin-bottom: 12px; }
.section > .wrap > .lead { margin-bottom: 40px; }
.section-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 40px; }
.section-row .lead { margin-bottom: 0; }

.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
.card { display: flex; flex-direction: column; gap: 12px; background: var(--card); border: 1px solid var(--line); border-radius: 20px; padding: 32px; box-shadow: 0 12px 30px -18px rgba(27, 95, 214, .4); }
a.card:hover { opacity: 1; transform: translateY(-3px); box-shadow: 0 18px 36px -16px rgba(27, 95, 214, .55); }
.card { transition: transform .2s, box-shadow .2s; }
.card-num { font-size: 13px; color: var(--accent); direction: ltr; text-align: right; }
.card h3 { font-size: 24px; }
.card p { color: var(--ink2); line-height: 1.6; }

.paths { display: grid; grid-template-columns: 1fr 1fr 1.1fr; gap: 20px; align-items: stretch; }
.path { display: flex; flex-direction: column; gap: 14px; background: var(--card); border: 1px solid var(--line); border-radius: 20px; padding: 32px; box-shadow: 0 12px 30px -18px rgba(27, 95, 214, .4); }
.path h3 { font-size: 26px; }
.path p { color: var(--ink2); line-height: 1.6; }
.path-foot { margin-top: auto; font-size: 14px; color: var(--nav); }
.path { transition: background .5s, color .5s, border-color .5s, box-shadow .5s; }
.path.goal, .path.is-on { background: linear-gradient(135deg, #0D2F8F, #1B5FD6); color: #fff; border-color: transparent; box-shadow: 0 24px 50px -20px rgba(13, 47, 143, .7); }
.path.goal .card-num, .path.is-on .card-num { color: var(--cyan); }
.path.goal p, .path.goal .path-foot, .path.is-on p, .path.is-on .path-foot { color: #DCE8FF; }
.path.is-on h3 { color: #fff; }
.paths.anim .path.goal:not(.is-on) { background: var(--card); color: inherit; border-color: var(--line); box-shadow: 0 12px 30px -18px rgba(27, 95, 214, .4); }
.paths.anim .path.goal:not(.is-on) .card-num { color: var(--accent); }
.paths.anim .path.goal:not(.is-on) p { color: var(--ink2); }
.paths.anim .path.goal:not(.is-on) .path-foot { color: var(--nav); }
.quote { text-align: center; max-width: 900px; margin: 32px auto 0; font-size: clamp(17px, 2vw, 20px); font-weight: 700; color: var(--navy-text); }

/* Logos slider */
.logos { padding: 36px 0 8px; }
.logos-title { text-align: center; font-size: 13px; color: var(--ink2); letter-spacing: .04em; margin-bottom: 18px; }
.marquee { overflow: hidden; direction: ltr; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.track { display: flex; width: max-content; animation: marquee var(--speed, 40s) linear infinite; }
.marquee:hover .track { animation-play-state: paused; }
.logo-set { display: flex; align-items: center; flex: none; }
.logo-item { flex: none; padding: 0 28px; display: flex; align-items: center; justify-content: center; height: 72px; }
.logo-item img { height: 44px; width: auto; max-width: 160px; object-fit: contain; filter: grayscale(1); opacity: .65; transition: filter .2s, opacity .2s; }
.logo-item:hover img { filter: none; opacity: 1; }
.logo-ph { display: inline-flex; align-items: center; justify-content: center; height: 44px; min-width: 130px; padding: 0 18px; border: 1px dashed #9FB3D9; border-radius: 10px; color: var(--ink2); font-size: 14px; white-space: nowrap; }

/* Works */
.works-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.work-link { display: flex; flex-direction: column; gap: 10px; }
.work-link:hover { opacity: 1; }
.work-thumb { aspect-ratio: 16 / 10; border-radius: 16px; overflow: hidden; background: var(--thumb); display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); }
.work-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.work-link:hover .work-thumb img { transform: scale(1.04); }
.work-ph { color: var(--ink2); padding: 16px; text-align: center; }
.work-title { font-size: 20px; }
.work-cats { font-size: 12px; color: var(--accent); direction: rtl; }
.work-result { color: var(--ink2); font-size: 15px; }
.work-hero { margin: 0 0 24px; border-radius: 20px; overflow: hidden; border: 1px solid var(--line); }
.work-hero img { display: block; width: 100%; }

/* Cases */
.cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 40px; }
.case { display: flex; flex-direction: column; gap: 14px; }
.case h3 { font-size: 24px; }
.case p { color: var(--ink2); line-height: 1.6; }
.terminal { background: #0F2347; color: #B9C8E8; border-radius: 16px; padding: 20px; font-size: 13px; line-height: 1.8; text-align: left; min-height: 140px; overflow-x: auto; }
.terminal-note { color: #8497BF; }

/* Stack */
.stack { padding: 24px 0 40px; }
.stack-box { background: var(--card); border: 1px solid var(--line); border-radius: 24px; padding: 40px; display: flex; flex-wrap: wrap; gap: 28px; align-items: center; justify-content: space-between; }
.stack-box h2 { font-size: clamp(24px, 3vw, 36px); }
.chips { flex: 1 1 520px; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-start; }
.chip { font-size: 14px; background: var(--chip); color: var(--navy-text); border-radius: 999px; padding: 9px 16px; }

/* About */
.about-inner { display: flex; flex-wrap: wrap; gap: 56px; align-items: center; }
.about-photo { flex: 1 1 300px; min-width: 0; height: 380px; border-radius: 24px; background: var(--thumb); display: flex; align-items: center; justify-content: center; color: var(--ink2); overflow: hidden; }
.about-photo img { width: 100%; height: 100%; object-fit: cover; }
.about-text { flex: 1.4 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.about-text p { font-size: 18px; line-height: 1.7; color: var(--ink2); }

/* Inner page hero */
.page-hero { padding: 56px 0 32px; }
.page-hero h1 { font-size: clamp(32px, 4.6vw, 56px); font-weight: 800; letter-spacing: -.8px; max-width: 900px; }
.page-hero .hero-cta { margin-top: 24px; }
.filters { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.pill { padding: 9px 20px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); font-weight: 500; }
.pill.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.pager { margin-top: 32px; text-align: center; }
.pager .page-numbers { display: inline-block; padding: 8px 14px; border-radius: 10px; }
.pager .current { background: var(--ink); color: #fff; }
.entry { font-size: 18px; line-height: 1.8; color: #1f2f50; }
.entry p { margin: 0 0 1.1em; }
.entry h2, .entry h3 { margin: 1.4em 0 .5em; }
.entry img { border-radius: 12px; }
.entry a { color: var(--accent); text-decoration: underline; }
.post-item { padding: 20px 0; border-bottom: 1px solid var(--line); }

/* Contact */
.contact { padding: 24px 0 72px; }
.contact-panel { background: linear-gradient(135deg, #0D2F8F, #1B5FD6); color: #fff; border-radius: 32px; padding: 64px 56px; display: flex; flex-wrap: wrap; gap: 56px; }
.contact-text { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.contact-text h2 { font-weight: 800; font-size: clamp(28px, 3.6vw, 46px); line-height: 1.1; }
.contact-text p { font-size: 18px; color: #DCE8FF; line-height: 1.6; }
.contact-line { direction: ltr; font-size: 20px; font-weight: 500; }
.contact-meta { color: #DCE8FF; }
.contact-form { flex: 1 1 420px; min-width: 0; background: var(--card); color: var(--ink); border-radius: 20px; padding: 36px; display: flex; flex-direction: column; gap: 16px; }
.field { display: flex; flex-direction: column; gap: 6px; font-weight: 700; font-size: 15px; }
.field input, .field textarea { padding: 14px; border: 1px solid var(--field-line); border-radius: 10px; font: 400 16px 'Heebo', sans-serif; width: 100%; background: var(--card); color: var(--ink); }
.hp { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
.notice-ok, .notice-err { padding: 12px 16px; border-radius: 10px; font-weight: 500; }
.notice-ok { background: #E3F7EC; color: #0B5B33; }
.notice-err { background: #FDE8E4; color: #8A1F0F; }

/* Footer */
.site-footer { background: var(--footer); color: #9FB0D3; font-size: 14px; }
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 24px; padding-bottom: 24px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 20px; }

/* ---------- Animations ---------- */
@keyframes blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@keyframes gspin { from { transform: rotateX(-18deg) rotateY(0deg); } to { transform: rotateX(-18deg) rotateY(360deg); } }
@keyframes gfloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes arcpulse { 0%, 100% { opacity: .15; } 50% { opacity: 1; } }
@keyframes flowdot { from { left: 8px; } to { left: calc(100% - 14px); } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .globe-spin, .globe-float, .cursor, .conn .dot, .arc-dot, .track { animation: none !important; }
  .arc-dot { opacity: .7; }
  .marquee { overflow-x: auto; }
}

/* ==========================================================
   Tablet (<= 1024px)
   ========================================================== */
@media (max-width: 1024px) {
  :root { --pad: 28px; }
  .hero-panel { padding: 48px 36px; gap: 40px; }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .works-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .paths { grid-template-columns: 1fr 1fr; }
  .paths .path.goal { grid-column: 1 / -1; }
  .contact-panel { padding: 48px 36px; gap: 40px; }
  .globe-float { width: 260px; height: 260px; }
  .globe { transform: scale(.92); }
  /* collapsible menu from tablet down */
  .nav-toggle { display: inline-flex; }
  .main-nav {
    position: fixed; inset: 0; top: 0; z-index: 40; background: rgba(238, 243, 251, .98);
    flex-direction: column; justify-content: center; align-items: center; gap: 28px;
    padding: 90px 28px 40px; transform: translateY(-100%); visibility: hidden; transition: transform .3s, visibility .3s;
  }
  .main-nav.open { transform: none; visibility: visible; }
  .nav { flex-direction: column; gap: 6px; font-size: 22px; text-align: center; }
  .nav a { padding: 12px 20px; }
  .nav-toggle { position: relative; z-index: 50; }
}

/* ==========================================================
   Flow diagram goes vertical on narrow tablets and phones (<= 900px)
   systems -> AI -> outputs
   ========================================================== */
@media (max-width: 900px) {
  .flow { flex-direction: column; padding: 22px; gap: 34px; }
  .flow-col { width: 100%; flex: none; }
  .flow .conn { display: none; }
  .ai-card { width: 100%; max-width: 420px; flex: none; position: relative; }
  .ai-card::before, .ai-card::after { content: '\2195'; display: block; position: absolute; left: 50%; transform: translateX(-50%); font-size: 22px; line-height: 1; color: var(--cyan); }
  .ai-card::before { top: -26px; }
  .ai-card::after { bottom: -26px; }
}

/* ==========================================================
   Large phone / small tablet (<= 782px)
   ========================================================== */
@media (max-width: 782px) {
  :root { --pad: 20px; }
  .section { padding: 52px 0; }
  .hero-panel { padding: 36px 22px; border-radius: 24px; gap: 32px; }
  .hero-top { gap: 28px; }
  .globe-float { width: 220px; height: 220px; }
  .globe { transform: scale(.78); }
  .hero-cta .btn { flex: 1 1 100%; }
  .cards, .works-grid, .cases, .paths { grid-template-columns: 1fr; }
  .paths .path.goal { grid-column: auto; }
  .card, .path { padding: 24px; }
  .stack-box { padding: 26px 22px; }
  .about-inner { gap: 28px; }
  .about-photo { height: 280px; }
  .contact-panel { padding: 32px 22px; border-radius: 24px; gap: 28px; }
  .contact-form { padding: 24px 20px; }
  .brand-sub { display: none; }
  .logo-item { padding: 0 20px; height: 60px; }
  .logo-item img { height: 36px; }
}

/* ==========================================================
   Phone (<= 520px)
   ========================================================== */
@media (max-width: 520px) {
  .brand-name { font-size: 22px; }
  .header-inner { padding-top: 14px; padding-bottom: 14px; }
  .btn { width: 100%; }
  .nav-cta { width: auto; }
  .typed-wrap { font-size: 23px; min-height: 2.5em; margin-top: 8px; }
  .terminal { font-size: 12px; }
  .footer-inner { flex-direction: column; }
}

/* Wide screens */
@media (min-width: 1700px) {
  .wrap { --pad: 40px; }
  .hero h1 { font-size: 72px; }
  .typed-wrap { font-size: 50px; }
  .hero-text { max-width: 880px; }
  .hero-lead { font-size: 22px; max-width: 760px; }
}

/* Dark mode toggle */
.theme-toggle { width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--line); background: var(--card); color: var(--ink); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0; flex: none; }
.theme-toggle svg { width: 20px; height: 20px; }
.theme-toggle .i-sun { display: none; }
html[data-theme="dark"] .theme-toggle .i-sun { display: block; }
html[data-theme="dark"] .theme-toggle .i-moon { display: none; }
@media (max-width: 1024px) { .theme-toggle { order: 2; margin-inline-start: auto; } .nav-toggle { order: 3; } }

html[data-theme="dark"] .brand-img { background: #fff; border-radius: 10px; padding: 4px 8px; }
.brand-img { height: 56px; }

/* Work mockups */
.work-thumb { aspect-ratio: 16 / 11; border-radius: 20px; overflow: hidden; background: radial-gradient(120% 120% at 20% 0%, rgba(56, 214, 245, .28), rgba(27, 95, 214, .18) 55%, rgba(13, 47, 143, .22)), var(--thumb); display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); padding: 7% 8% 0; }
.mock { width: 100%; height: 100%; display: flex; flex-direction: column; border-radius: 12px 12px 0 0; overflow: hidden; background: var(--card); box-shadow: 0 22px 40px -14px rgba(5, 20, 70, .55), 0 0 0 1px rgba(11, 27, 58, .08); transition: transform .35s; }
.mock-bar { flex: none; display: flex; align-items: center; gap: 6px; padding: 9px 12px; background: #E4EBF8; direction: ltr; }
html[data-theme="dark"] .mock-bar { background: #1A2A52; }
.mock-bar i { width: 9px; height: 9px; border-radius: 50%; background: #FF6058; }
.mock-bar i:nth-child(2) { background: #FFBD2E; }
.mock-bar i:nth-child(3) { background: #27C93F; }
.mock-url { margin-inline-start: 10px; flex: 1; max-width: 70%; background: #fff; color: #4A5B7C; border-radius: 999px; padding: 3px 12px; font: 400 11px/1.4 'JetBrains Mono', monospace; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left; }
html[data-theme="dark"] .mock-url { background: #0F1A36; color: #B9C8E8; }
.mock-screen { position: relative; flex: 1; overflow: hidden; min-height: 0; background: var(--card); display: flex; align-items: center; justify-content: center; }
.mock-screen img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 2.2s ease-in-out; }
.mock.is-shot .mock-screen { align-items: flex-start; }
.mock.is-shot .mock-screen img { height: auto; }
.work-link:hover .mock.is-shot .mock-screen img { transform: translateY(-48%); }
.work-link:hover .mock { transform: translateY(-4px); }
.mock-lg { max-width: 980px; margin: 0 auto; }
.work-hero { margin: 0 0 24px; border-radius: 24px; padding: 40px 40px 0; background: radial-gradient(120% 120% at 20% 0%, rgba(56, 214, 245, .28), rgba(27, 95, 214, .18) 55%, rgba(13, 47, 143, .22)), var(--thumb); border: 1px solid var(--line); overflow: hidden; }
.work-hero .mock { height: auto; aspect-ratio: 16 / 10; }
@media (max-width: 782px) { .work-hero { padding: 20px 16px 0; } }
.mock-screen { background: linear-gradient(180deg, var(--card), var(--chip)); }

/* Work mockups: show the top of the page uncropped in a 3:2 screen */
.work-thumb { align-items: flex-end; }
.mock { height: auto; }
.mock-screen { flex: none; aspect-ratio: 3 / 2; align-items: flex-start; }
.mock-screen img, .mock.is-shot .mock-screen img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.work-link:hover .mock.is-shot .mock-screen img { transform: none; }
.work-hero .mock { aspect-ratio: auto; }

/* Work mockup: natural-height screenshot, keep top visible */
.work-thumb { align-items: flex-start; }
.mock-screen { aspect-ratio: auto; }
.mock-screen img, .mock.is-shot .mock-screen img { height: auto; object-fit: initial; }
.work-hero .mock-screen img { max-height: 620px; object-fit: cover; object-position: top center; }
/* Mobile globe: no tilt, no distortion, room around it */
@keyframes gspinm { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } }
@media (max-width: 782px) {
  .globe-float { width: 260px; height: 260px; overflow: visible; margin-block: 8px; }
  .globe { width: 220px; height: 220px; transform: none; perspective: 1800px; }
  .globe-spin { animation-name: gspinm; }
  .g-eq { width: 220px; height: 220px; margin: -110px 0 0 -110px; }
}

@media (max-width: 782px) {
  .globe { width: 280px; height: 280px; transform: scale(.78); }
  .g-eq { width: 280px; height: 280px; margin: -140px 0 0 -140px; }
}



/* Capability cards: 4 + 3 on desktop, 2 columns on tablet (last full), 1 on phone */
@media (min-width: 1101px) {
  .cards { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .cards > * { grid-column: span 4; }
  .cards > *:nth-child(-n+4) { grid-column: span 3; }
  .cards > *:nth-child(n+5):last-child:nth-child(7) { grid-column: span 4; }
}
@media (min-width: 783px) and (max-width: 1100px) {
  .cards > *:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* Hebrew inside mono-styled labels: fall back to Heebo (JetBrains Mono has no Hebrew) */
.mono, .work-cats, .kicker, .card-num, .chip, .mock-url, .path-foot { font-family: 'JetBrains Mono', 'Heebo', ui-monospace, monospace; }
.work-cats, .kicker { letter-spacing: .02em; }

/* Two-way connectors v2: a thin conduit with light pulses travelling in both directions */
.conn { width: 56px; height: 14px; }
.conn::before, .conn::after { content: ''; position: absolute; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; border: 1.5px solid var(--cyan); background: rgba(13, 47, 143, .9); z-index: 1; }
.conn::before { left: 0; }
.conn::after { right: 0; }
.conn .ah, .conn .dot { display: none; }
.conn .ln { position: absolute; left: 3px; right: 3px; top: 50%; margin-top: -1px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, rgba(56, 214, 245, .25), rgba(56, 214, 245, .7), rgba(56, 214, 245, .25)); }
.conn .pl { position: absolute; top: 50%; margin-top: -2px; width: 14px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fff); box-shadow: 0 0 8px 1px rgba(160, 235, 255, .9); animation: pulse-r 1.8s linear infinite; }
.conn .pl.b { background: linear-gradient(270deg, rgba(255, 255, 255, 0), #fff); animation-name: pulse-l; }
@keyframes pulse-r { from { left: 3px; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } to { left: calc(100% - 17px); opacity: 0; } }
@keyframes pulse-l { from { left: calc(100% - 17px); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } to { left: 3px; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .conn .pl { animation: none !important; opacity: 0; } }
@keyframes pulse-down { from { background-position: 0 -60%, 0 160%; } to { background-position: 0 160%, 0 -60%; } }
@media (max-width: 900px) {
  .ai-card::before, .ai-card::after { content: ''; display: block; position: absolute; left: 50%; width: 2px; height: 30px; margin-left: -1px; border-radius: 2px; font-size: 0; transform: none;
    background-color: rgba(56, 214, 245, .25);
    background-image: linear-gradient(180deg, rgba(255,255,255,0), #fff 50%, rgba(255,255,255,0)), linear-gradient(0deg, rgba(255,255,255,0), #9fe9ff 50%, rgba(255,255,255,0));
    background-size: 100% 55%, 100% 55%; background-repeat: no-repeat; animation: pulse-down 1.8s linear infinite; }
  .ai-card::before { top: -32px; }
  .ai-card::after { bottom: -32px; animation-delay: -.9s; }
}

/* Placeholder screen for sites that block automatic previews */
.mock-screen .work-ph { width: 100%; height: 100%; min-height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 8% 12%; background: linear-gradient(135deg, rgba(27, 95, 214, .12), rgba(56, 214, 245, .18)), var(--card); }
.work-ph strong { font: 700 clamp(22px, 3.2vw, 38px)/1.15 'Rubik', 'Heebo', sans-serif; color: var(--ink); text-align: center; }
.work-ph em { font: 400 13px/1.3 'JetBrains Mono', monospace; color: var(--accent); font-style: normal; direction: ltr; }
.ph-line { display: block; height: 8px; width: 70%; border-radius: 6px; background: rgba(27, 95, 214, .14); }
.ph-line.s { width: 30%; height: 10px; background: rgba(27, 95, 214, .28); margin-bottom: 8px; }
.ph-line.m { width: 50%; }

/* About page */
.about-stats-wrap { padding-top: 0; padding-bottom: 0; }
.about-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px; }
.about-stat { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 6px; box-shadow: 0 12px 30px -20px rgba(27, 95, 214, .4); }
.about-stat strong { font: 800 34px/1 'Rubik', 'Heebo', sans-serif; color: var(--accent); }
.about-stat span { color: var(--ink2); line-height: 1.5; }
.entry h2 { margin: 36px 0 12px; }
.entry ul { padding-inline-start: 22px; line-height: 1.8; }

/* אפקט קו מתמלא בתפריט העליון */
.nav a { position: relative; }
.nav a::after { content: ""; position: absolute; inset-inline: 0; bottom: 2px; height: 2px; border-radius: 2px; background: var(--accent); transform: scaleX(0); transform-origin: right center; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.nav a:hover::after, .nav a:focus-visible::after, .nav .current-menu-item > a::after, .nav .current-menu-ancestor > a::after, .nav .current_page_item > a::after, .nav a[aria-current="page"]::after { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) { .nav a::after { transition: none; } }

/* טופס: שורות כפולות ושדה בחירה */
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field select { padding: 14px; border: 1px solid var(--field-line); border-radius: 10px; font: 400 16px 'Heebo', sans-serif; width: 100%; background: var(--card); color: var(--ink); min-height: 50px; }
.field textarea::placeholder, .field input::placeholder { color: var(--ink2); opacity: .7; }
@media (max-width: 600px) { .field-row { grid-template-columns: 1fr; } }

/* עימוד */
.pager .nav-links { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px; }
.pager .page-numbers { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 46px; height: 46px; padding: 0 16px; border-radius: 14px; background: var(--card); border: 1px solid var(--line); font-weight: 600; color: var(--ink); transition: background-color .2s, color .2s, border-color .2s, transform .2s; }
.pager a.page-numbers:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-2px); }
.pager .page-numbers.current { background: var(--ink); color: #fff; border-color: var(--ink); }
.pager .page-numbers.dots { background: none; border-color: transparent; min-width: 24px; padding: 0; }
.pager .prev.page-numbers::before, .pager .next.page-numbers::after { content: ""; width: 8px; height: 8px; border-top: 2px solid currentColor; border-inline-start: 2px solid currentColor; }
.pager .prev.page-numbers::before { transform: rotate(45deg); }
.pager .next.page-numbers::after { transform: rotate(-135deg); }

/* מילים שצצות סביב הגלובוס */
.globe-float { position: relative; }
.gwords { position: absolute; left: 50%; top: 50%; width: 0; height: 0; pointer-events: none; z-index: 3; }
.gw { position: absolute; left: 0; top: 0; direction: ltr; white-space: nowrap; font: 500 13px/1 'JetBrains Mono', 'Heebo', monospace; color: #E9F6FF; background: rgba(13, 47, 143, .55); border: 1px solid rgba(56, 214, 245, .55); border-radius: 999px; padding: 7px 13px; box-shadow: 0 0 18px rgba(56, 214, 245, .35); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transform: translate(-50%, -50%) scale(.7); transition: opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1); }
.gw.on { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.gl { position: absolute; left: 0; top: 0; height: 2px; transform-origin: 0 50%; background: linear-gradient(90deg, rgba(56, 214, 245, .9), rgba(56, 214, 245, 0)); border-radius: 2px; opacity: 0; transition: opacity .5s ease, width .6s ease; }
.gl::before { content: ""; position: absolute; left: -3px; top: -2px; width: 6px; height: 6px; border-radius: 50%; background: #7DE8FF; box-shadow: 0 0 10px #38D6F5; }
.gl.on { opacity: 1; }
@media (max-width: 600px) { .gw { font-size: 11px; padding: 5px 10px; } }
@media (prefers-reduced-motion: reduce) { .gwords { display: none; } }

/* גלובוס באזור יצירת הקשר */
.contact-globe { flex: 0 0 300px; display: flex; align-items: center; justify-content: center; position: relative; order: 0; }
@media (max-width: 1180px) { .contact-globe { display: none; } }

/* הדר סטיקי בכל הרוחבים */
.site-header { position: sticky; top: 0; z-index: 60; background: color-mix(in srgb, var(--bg) 94%, transparent); border-bottom: 1px solid transparent; transition: box-shadow .25s, border-color .25s; }
.site-header.is-stuck { border-bottom-color: var(--line); box-shadow: 0 8px 24px -16px rgba(11, 27, 58, .35); }
.site-header .header-inner { padding-top: 14px; padding-bottom: 14px; }
body.admin-bar .site-header { top: 32px; }
@media (min-width: 1025px) { .site-header { -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); background: color-mix(in srgb, var(--bg) 88%, transparent); } }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .site-header { top: 0; } }
/* כפתור וואטסאפ בהדר (טאבלט ונייד) */
.head-wa { display: none; width: 44px; height: 44px; border-radius: 12px; background: #25D366; color: #fff; align-items: center; justify-content: center; flex: none; box-shadow: 0 6px 14px -6px rgba(37, 211, 102, .7); }
.head-wa .wa-ico { width: 24px; height: 24px; }
.btn-wa .wa-ico { width: 20px; height: 20px; flex: none; }
@media (max-width: 1024px) { .head-wa { display: inline-flex; order: 2; margin-inline-start: auto; } .theme-toggle { margin-inline-start: 0 !important; } }

/* גלובוס: לא להתכווץ */
.globe { flex: none; width: 280px; height: 280px; min-width: 280px; }
.globe-float { overflow: visible; }

/* טקסט לקוראי מסך בלבד */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; white-space: nowrap; }

/* רקע היי-טק: מטריצת נקודות וזוהר רך */
body {
  background-image:
    radial-gradient(1000px 520px at 88% -120px, rgba(56, 214, 245, .20), transparent 70%),
    radial-gradient(900px 520px at 6% 380px, rgba(27, 95, 214, .12), transparent 70%),
    radial-gradient(circle, rgba(27, 95, 214, .24) 1.1px, transparent 1.6px);
  background-size: auto, auto, 26px 26px;
  background-repeat: no-repeat, no-repeat, repeat;
}
html[data-theme="dark"] body {
  background-image:
    radial-gradient(1000px 520px at 88% -120px, rgba(56, 214, 245, .16), transparent 70%),
    radial-gradient(900px 520px at 6% 380px, rgba(27, 95, 214, .22), transparent 70%),
    radial-gradient(circle, rgba(127, 178, 255, .20) 1.1px, transparent 1.6px);
}
.hero-grid { background-image: radial-gradient(circle, rgba(255, 255, 255, .22) 1.1px, transparent 1.6px); background-size: 26px 26px; -webkit-mask-image: radial-gradient(120% 120% at 70% 30%, #000 30%, transparent 85%); mask-image: radial-gradient(120% 120% at 70% 30%, #000 30%, transparent 85%); }

/* רקע היי-טק: נתיבי מעגל חשמלי עדינים (מחליף את מטריצת הנקודות) */
body { position: relative; background-image: radial-gradient(1000px 520px at 88% -120px, rgba(56, 214, 245, .20), transparent 70%), radial-gradient(900px 520px at 6% 380px, rgba(27, 95, 214, .12), transparent 70%); background-size: auto, auto; background-repeat: no-repeat; }
html[data-theme="dark"] body { background-image: radial-gradient(1000px 520px at 88% -120px, rgba(56, 214, 245, .16), transparent 70%), radial-gradient(900px 520px at 6% 380px, rgba(27, 95, 214, .22), transparent 70%); }
body::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(135deg, #38D6F5 0%, #1B5FD6 55%, #0D2F8F 100%); opacity: .16; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22640%22 height=%22640%22 viewBox=%220 0 640 640%22%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M-172 198L-87 113L-27 113L44 184L184 184M-166 205L-81 120L-21 120L50 190L190 190M-159 211L-74 126L-14 126L56 197L196 197M-153 217L-68 132L-8 132L63 203L203 203M-147 224L-62 139L-2 139L69 209L209 209%22/%3E%3Cpath d=%22M238 -289L238 -229L323 -145L323 -45L224 54L124 54M229 -289L229 -229L314 -145L314 -45L215 54L115 54M220 -289L220 -229L305 -145L305 -45L206 54L106 54M184 -13L184 107L255 178L375 178L417 220L557 220M171 -13L171 107L242 178L362 178L404 220L544 220M158 -13L158 107L229 178L349 178L391 220L531 220M145 -13L145 107L216 178L336 178L378 220L518 220M342 -250L243 -151L243 -31L158 54M336 -256L237 -157L237 -37L152 48M329 -262L230 -163L230 -43L146 41M323 -269L224 -170L224 -50L139 35M317 -275L218 -176L218 -56L133 29%22/%3E%3Cpath d=%22M207 97L347 97L418 26L418 -114M207 106L347 106L418 35L418 -105M529 79L529 -61L430 -160L430 -220L388 -262L288 -262M542 79L542 -61L443 -160L443 -220L401 -262L301 -262M555 79L555 -61L456 -160L456 -220L414 -262L314 -262M238 351L238 411L323 495L323 595L224 694L124 694M229 351L229 411L314 495L314 595L215 694L115 694M220 351L220 411L305 495L305 595L206 694L106 694M184 627L184 747L255 818L375 818L417 860L557 860M171 627L171 747L242 818L362 818L404 860L544 860M158 627L158 747L229 818L349 818L391 860L531 860M145 627L145 747L216 818L336 818L378 860L518 860M468 198L553 113L613 113L684 184L824 184M474 205L559 120L619 120L690 190L830 190M481 211L566 126L626 126L696 197L836 197M487 217L572 132L632 132L703 203L843 203M493 224L578 139L638 139L709 209L849 209M276 352L191 267L111 267L54 324L54 404M283 344L198 260L118 260L62 316L62 396M342 390L243 489L243 609L158 694M336 384L237 483L237 603L152 688M329 378L230 477L230 597L146 681M323 371L224 470L224 590L139 675M317 365L218 464L218 584L133 669M607 393L607 533L551 589L451 589M598 393L598 533L542 589L442 589M589 393L589 533L533 589L433 589M580 393L580 533L524 589L424 589M571 393L571 533L515 589L415 589M330 131L231 230L231 370L189 413M324 125L225 224L225 364L183 406M318 119L219 218L219 358L176 400M311 112L212 211L212 351L170 394M125 153L68 97L-72 97L-142 26L-202 26L-287 -59M134 144L78 87L-62 87L-133 17L-193 17L-278 -68M143 135L87 78L-53 78L-124 8L-184 8L-269 -77M52 65L122 -5L122 -125L37 -210M61 75L131 4L131 -116L47 -201%22/%3E%3Cpath d=%22M207 737L347 737L418 666L418 526M207 746L347 746L418 675L418 535M529 719L529 579L430 480L430 420L388 378L288 378M542 719L542 579L443 480L443 420L401 378L301 378M555 719L555 579L456 480L456 420L414 378L314 378M125 793L68 737L-72 737L-142 666L-202 666L-287 581M134 784L78 727L-62 727L-133 657L-193 657L-278 572M143 775L87 718L-53 718L-124 648L-184 648L-269 563M52 705L122 635L122 515L37 430M61 715L131 644L131 524L47 439%22/%3E%3Cpath d=%22M765 153L708 97L568 97L498 26L438 26L353 -59M774 144L718 87L578 87L507 17L447 17L362 -68M783 135L727 78L587 78L516 8L456 8L371 -77%22/%3E%3Cpath d=%22M765 793L708 737L568 737L498 666L438 666L353 581M774 784L718 727L578 727L507 657L447 657L362 572M783 775L727 718L587 718L516 648L456 648L371 563%22/%3E%3Ccircle cx=%22184%22 cy=%22184%22 r=%223.4%22/%3E%3Ccircle cx=%22190%22 cy=%22190%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22196%22 cy=%22197%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22203%22 cy=%22203%22 r=%223.4%22/%3E%3Ccircle cx=%22209%22 cy=%22209%22 r=%223.4%22/%3E%3Ccircle cx=%22124%22 cy=%2254%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22115%22 cy=%2254%22 r=%223.4%22/%3E%3Ccircle cx=%22106%22 cy=%2254%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22557%22 cy=%22220%22 r=%223.4%22/%3E%3Ccircle cx=%22544%22 cy=%22220%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22531%22 cy=%22220%22 r=%223.4%22/%3E%3Ccircle cx=%22518%22 cy=%22220%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22158%22 cy=%2254%22 r=%223.4%22/%3E%3Ccircle cx=%22152%22 cy=%2248%22 r=%223.4%22/%3E%3Ccircle cx=%22146%22 cy=%2241%22 r=%223.4%22/%3E%3Ccircle cx=%22139%22 cy=%2235%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22133%22 cy=%2229%22 r=%223.4%22/%3E%3Ccircle cx=%22207%22 cy=%2297%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22542%22 cy=%2279%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22238%22 cy=%22351%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22171%22 cy=%22627%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22145%22 cy=%22627%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22493%22 cy=%22224%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%2254%22 cy=%22404%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22276%22 cy=%22352%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%2262%22 cy=%22396%22 r=%223.4%22/%3E%3Ccircle cx=%22283%22 cy=%22344%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22329%22 cy=%22378%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22323%22 cy=%22371%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22451%22 cy=%22589%22 r=%223.4%22/%3E%3Ccircle cx=%22442%22 cy=%22589%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22433%22 cy=%22589%22 r=%223.4%22/%3E%3Ccircle cx=%22589%22 cy=%22393%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22424%22 cy=%22589%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22415%22 cy=%22589%22 r=%223.4%22/%3E%3Ccircle cx=%22189%22 cy=%22413%22 r=%223.4%22/%3E%3Ccircle cx=%22330%22 cy=%22131%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22183%22 cy=%22406%22 r=%223.4%22/%3E%3Ccircle cx=%22176%22 cy=%22400%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22170%22 cy=%22394%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%2261%22 cy=%2275%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22418%22 cy=%22526%22 r=%223.4%22/%3E%3Ccircle cx=%22418%22 cy=%22535%22 r=%223.4%22/%3E%3Ccircle cx=%22288%22 cy=%22378%22 r=%223.4%22/%3E%3Ccircle cx=%22301%22 cy=%22378%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22314%22 cy=%22378%22 r=%223.4%22/%3E%3Ccircle cx=%2237%22 cy=%22430%22 r=%223.4%22/%3E%3Ccircle cx=%2247%22 cy=%22439%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22353%22 cy=%22581%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22362%22 cy=%22572%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22371%22 cy=%22563%22 r=%223.4%22/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(#000 0, rgba(0,0,0,.55) 700px, rgba(0,0,0,.28) 100%); mask-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22640%22 height=%22640%22 viewBox=%220 0 640 640%22%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M-172 198L-87 113L-27 113L44 184L184 184M-166 205L-81 120L-21 120L50 190L190 190M-159 211L-74 126L-14 126L56 197L196 197M-153 217L-68 132L-8 132L63 203L203 203M-147 224L-62 139L-2 139L69 209L209 209%22/%3E%3Cpath d=%22M238 -289L238 -229L323 -145L323 -45L224 54L124 54M229 -289L229 -229L314 -145L314 -45L215 54L115 54M220 -289L220 -229L305 -145L305 -45L206 54L106 54M184 -13L184 107L255 178L375 178L417 220L557 220M171 -13L171 107L242 178L362 178L404 220L544 220M158 -13L158 107L229 178L349 178L391 220L531 220M145 -13L145 107L216 178L336 178L378 220L518 220M342 -250L243 -151L243 -31L158 54M336 -256L237 -157L237 -37L152 48M329 -262L230 -163L230 -43L146 41M323 -269L224 -170L224 -50L139 35M317 -275L218 -176L218 -56L133 29%22/%3E%3Cpath d=%22M207 97L347 97L418 26L418 -114M207 106L347 106L418 35L418 -105M529 79L529 -61L430 -160L430 -220L388 -262L288 -262M542 79L542 -61L443 -160L443 -220L401 -262L301 -262M555 79L555 -61L456 -160L456 -220L414 -262L314 -262M238 351L238 411L323 495L323 595L224 694L124 694M229 351L229 411L314 495L314 595L215 694L115 694M220 351L220 411L305 495L305 595L206 694L106 694M184 627L184 747L255 818L375 818L417 860L557 860M171 627L171 747L242 818L362 818L404 860L544 860M158 627L158 747L229 818L349 818L391 860L531 860M145 627L145 747L216 818L336 818L378 860L518 860M468 198L553 113L613 113L684 184L824 184M474 205L559 120L619 120L690 190L830 190M481 211L566 126L626 126L696 197L836 197M487 217L572 132L632 132L703 203L843 203M493 224L578 139L638 139L709 209L849 209M276 352L191 267L111 267L54 324L54 404M283 344L198 260L118 260L62 316L62 396M342 390L243 489L243 609L158 694M336 384L237 483L237 603L152 688M329 378L230 477L230 597L146 681M323 371L224 470L224 590L139 675M317 365L218 464L218 584L133 669M607 393L607 533L551 589L451 589M598 393L598 533L542 589L442 589M589 393L589 533L533 589L433 589M580 393L580 533L524 589L424 589M571 393L571 533L515 589L415 589M330 131L231 230L231 370L189 413M324 125L225 224L225 364L183 406M318 119L219 218L219 358L176 400M311 112L212 211L212 351L170 394M125 153L68 97L-72 97L-142 26L-202 26L-287 -59M134 144L78 87L-62 87L-133 17L-193 17L-278 -68M143 135L87 78L-53 78L-124 8L-184 8L-269 -77M52 65L122 -5L122 -125L37 -210M61 75L131 4L131 -116L47 -201%22/%3E%3Cpath d=%22M207 737L347 737L418 666L418 526M207 746L347 746L418 675L418 535M529 719L529 579L430 480L430 420L388 378L288 378M542 719L542 579L443 480L443 420L401 378L301 378M555 719L555 579L456 480L456 420L414 378L314 378M125 793L68 737L-72 737L-142 666L-202 666L-287 581M134 784L78 727L-62 727L-133 657L-193 657L-278 572M143 775L87 718L-53 718L-124 648L-184 648L-269 563M52 705L122 635L122 515L37 430M61 715L131 644L131 524L47 439%22/%3E%3Cpath d=%22M765 153L708 97L568 97L498 26L438 26L353 -59M774 144L718 87L578 87L507 17L447 17L362 -68M783 135L727 78L587 78L516 8L456 8L371 -77%22/%3E%3Cpath d=%22M765 793L708 737L568 737L498 666L438 666L353 581M774 784L718 727L578 727L507 657L447 657L362 572M783 775L727 718L587 718L516 648L456 648L371 563%22/%3E%3Ccircle cx=%22184%22 cy=%22184%22 r=%223.4%22/%3E%3Ccircle cx=%22190%22 cy=%22190%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22196%22 cy=%22197%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22203%22 cy=%22203%22 r=%223.4%22/%3E%3Ccircle cx=%22209%22 cy=%22209%22 r=%223.4%22/%3E%3Ccircle cx=%22124%22 cy=%2254%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22115%22 cy=%2254%22 r=%223.4%22/%3E%3Ccircle cx=%22106%22 cy=%2254%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22557%22 cy=%22220%22 r=%223.4%22/%3E%3Ccircle cx=%22544%22 cy=%22220%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22531%22 cy=%22220%22 r=%223.4%22/%3E%3Ccircle cx=%22518%22 cy=%22220%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22158%22 cy=%2254%22 r=%223.4%22/%3E%3Ccircle cx=%22152%22 cy=%2248%22 r=%223.4%22/%3E%3Ccircle cx=%22146%22 cy=%2241%22 r=%223.4%22/%3E%3Ccircle cx=%22139%22 cy=%2235%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22133%22 cy=%2229%22 r=%223.4%22/%3E%3Ccircle cx=%22207%22 cy=%2297%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22542%22 cy=%2279%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22238%22 cy=%22351%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22171%22 cy=%22627%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22145%22 cy=%22627%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22493%22 cy=%22224%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%2254%22 cy=%22404%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22276%22 cy=%22352%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%2262%22 cy=%22396%22 r=%223.4%22/%3E%3Ccircle cx=%22283%22 cy=%22344%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22329%22 cy=%22378%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22323%22 cy=%22371%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22451%22 cy=%22589%22 r=%223.4%22/%3E%3Ccircle cx=%22442%22 cy=%22589%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22433%22 cy=%22589%22 r=%223.4%22/%3E%3Ccircle cx=%22589%22 cy=%22393%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22424%22 cy=%22589%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22415%22 cy=%22589%22 r=%223.4%22/%3E%3Ccircle cx=%22189%22 cy=%22413%22 r=%223.4%22/%3E%3Ccircle cx=%22330%22 cy=%22131%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22183%22 cy=%22406%22 r=%223.4%22/%3E%3Ccircle cx=%22176%22 cy=%22400%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22170%22 cy=%22394%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%2261%22 cy=%2275%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22418%22 cy=%22526%22 r=%223.4%22/%3E%3Ccircle cx=%22418%22 cy=%22535%22 r=%223.4%22/%3E%3Ccircle cx=%22288%22 cy=%22378%22 r=%223.4%22/%3E%3Ccircle cx=%22301%22 cy=%22378%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22314%22 cy=%22378%22 r=%223.4%22/%3E%3Ccircle cx=%2237%22 cy=%22430%22 r=%223.4%22/%3E%3Ccircle cx=%2247%22 cy=%22439%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22353%22 cy=%22581%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22362%22 cy=%22572%22 r=%222.2%22 fill=%22%23000%22/%3E%3Ccircle cx=%22371%22 cy=%22563%22 r=%223.4%22/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(#000 0, rgba(0,0,0,.55) 700px, rgba(0,0,0,.28) 100%); -webkit-mask-size: 640px 640px, 100% 100%; mask-size: 640px 640px, 100% 100%; -webkit-mask-repeat: repeat, no-repeat; mask-repeat: repeat, no-repeat; -webkit-mask-composite: source-in; mask-composite: intersect; }
html[data-theme="dark"] body::before { opacity: .22; background: linear-gradient(135deg, #7DE8FF 0%, #38D6F5 45%, #1B5FD6 100%); }
@media (max-width: 700px) { body::before { -webkit-mask-size: 420px 420px, 100% 100%; mask-size: 420px 420px, 100% 100%; opacity: .13; } }

/* כרטיסי יכולות: אייקון וחץ "למידע נוסף" */
.card-top { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 4px; }
.card-ico { width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; color: var(--accent); background: linear-gradient(135deg, rgba(56, 214, 245, .22), rgba(27, 95, 214, .14)); border: 1px solid var(--line); transition: background-color .25s, color .25s, transform .25s; }
.card-ico svg { width: 26px; height: 26px; }
a.card:hover .card-ico { background: var(--accent); color: #fff; border-color: var(--accent); transform: rotate(-4deg) scale(1.05); }
.card-more { margin-top: auto; padding-top: 10px; display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; font-weight: 700; font-size: 15px; color: var(--accent); }
.card-more i { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: #fff; transition: transform .25s, background-color .25s; }
.card-more svg { width: 16px; height: 16px; }
a.card:hover .card-more i { transform: translateX(-6px); background: var(--navy); }
a.card:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
html[data-theme="dark"] .card-more i { color: #070D1F; }

.works-more { display: flex; justify-content: center; margin-top: 36px; }
.works-more .btn { width: auto; gap: 10px; padding-inline: 32px; }

.svc-logos { padding-block: 40px; }
.svc-logos-title { text-align: center; font-size: 1.15rem; color: var(--muted, #5b6b85); font-weight: 600; margin-bottom: 24px; }
.svc-logos-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 28px 44px; }
.svc-logos-list li { display: flex; align-items: center; justify-content: center; }
.svc-logo-img { max-height: 54px; width: auto; max-width: 160px; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .25s, opacity .25s; }
.svc-logos-list li:hover .svc-logo-img { filter: none; opacity: 1; }

.cookie-bar { position: fixed; inset-inline: 16px; bottom: 16px; z-index: 9999; max-width: 760px; margin-inline: auto; display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 18px 22px; background: var(--card, #fff); color: var(--ink, #0b1b3a); border: 1px solid var(--line, #dbe3f1); border-radius: 18px; box-shadow: 0 18px 50px rgba(11, 27, 58, .22); }
.cookie-bar[hidden] { display: none; }
.cookie-text { flex: 1 1 320px; }
.cookie-text p { margin: 4px 0 0; font-size: .92rem; line-height: 1.55; color: var(--muted, #5b6b85); }
.cookie-text a { text-decoration: underline; }
.cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cookie-actions .btn { padding: 10px 18px; width: auto; }
@media (max-width: 600px) { .cookie-bar { inset-inline: 10px; bottom: 10px; } .cookie-actions { width: 100%; } .cookie-actions .btn { flex: 1; } }

/* logo cards */
.logo-item { padding: 0 10px; height: 92px; }
.logo-item > *, .logo-item img { }
.logo-item { }
.logo-item img, .logo-item .logo-ph { box-sizing: border-box; }
.logo-item::before { content: none; }
.logo-item img { width: 176px; height: 76px; padding: 14px 22px; object-fit: contain; background: #fff; border: 1px solid rgba(11, 27, 58, .08); border-radius: 16px; box-shadow: 0 6px 18px rgba(11, 27, 58, .06); filter: grayscale(1); opacity: .85; max-width: none; }
.logo-item:hover img { filter: none; opacity: 1; }
.svc-logos-list li { width: 176px; height: 76px; background: #fff; border: 1px solid rgba(11, 27, 58, .08); border-radius: 16px; box-shadow: 0 6px 18px rgba(11, 27, 58, .06); padding: 14px 22px; box-sizing: border-box; }
.svc-logos-list .svc-logo-img { max-height: 100%; max-width: 100%; opacity: .85; }

/* logo colors */
.logo-item img, .logo-item:hover img, .svc-logo-img, .svc-logos-list li:hover .svc-logo-img { filter: none !important; opacity: 1 !important; }

/* globe waves */
.globe-float::before, .globe-float::after { content: ""; position: absolute; left: 50%; top: 50%; width: 270px; height: 270px; margin: -135px 0 0 -135px; border-radius: 50%; border: 1.5px solid rgba(140, 220, 255, .55); box-shadow: 0 0 22px rgba(80, 190, 255, .25), inset 0 0 22px rgba(80, 190, 255, .12); pointer-events: none; opacity: 0; animation: globe-wave 4.8s cubic-bezier(.2, .6, .3, 1) infinite; }
.globe-float::after { animation-delay: 2.4s; }
@keyframes globe-wave { 0% { transform: scale(.9); opacity: 0; } 12% { opacity: .85; } 100% { transform: scale(2.1); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .globe-float::before, .globe-float::after { animation: none; } }

.consent { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 16px; font-size: .88rem; line-height: 1.5; color: var(--muted, #5b6b85); cursor: pointer; }
.consent input { width: 18px; height: 18px; margin-top: 2px; flex: none; accent-color: #1b5fd6; }

/* globe wp logo */
.globe-logo { position: absolute; left: 50%; top: 50%; width: 74px; height: 74px; margin: -37px 0 0 -37px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: radial-gradient(circle, rgba(10, 60, 170, .85) 0%, rgba(10, 60, 170, .55) 60%, rgba(10, 60, 170, 0) 100%); box-shadow: 0 0 36px rgba(100, 200, 255, .55); pointer-events: none; z-index: 3; }
.globe-logo svg { width: 52px; height: 52px; filter: drop-shadow(0 0 8px rgba(140, 220, 255, .9)); }

/* wp logo blue */
.globe-logo { width: 68px; height: 68px; margin: -34px 0 0 -34px; background: none; box-shadow: 0 0 30px rgba(100, 200, 255, .6), 0 4px 14px rgba(0, 20, 80, .4); }
.globe-logo svg { width: 68px; height: 68px; filter: none; border-radius: 50%; }

/* wp logo behind */
.globe-logo { width: 74px; height: 74px; margin: -37px 0 0 -37px; background: radial-gradient(circle, rgba(10, 60, 170, .85) 0%, rgba(10, 60, 170, .55) 60%, rgba(10, 60, 170, 0) 100%); box-shadow: 0 0 36px rgba(100, 200, 255, .55); z-index: 0; }
.globe-logo svg { width: 52px; height: 52px; border-radius: 0; filter: drop-shadow(0 0 8px rgba(140, 220, 255, .9)); }
.globe-float .globe { z-index: 1; }

/* about redesign */
.about-hero { padding-bottom: 8px; }
.about-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 56px; align-items: center; }
.about-hero h1 { font-size: clamp(2rem, 3.4vw, 2.9rem); line-height: 1.15; margin: 8px 0 12px; }
.about-hero .lead { font-size: 1.1rem; max-width: 36ch; }
.about-photo { margin: 0; justify-self: end; width: 100%; max-width: 380px; }
.about-photo img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: center top; border-radius: 28px; box-shadow: 0 22px 54px rgba(11, 27, 58, .22); border: 6px solid #fff; display: block; }
.about-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; }
.about-entry { max-width: none; }
.about-entry h2 { font-size: 1.45rem; line-height: 1.25; margin: 30px 0 10px; }
.about-entry h2:first-child { margin-top: 0; }
.about-entry p, .about-entry li { font-size: 1rem; line-height: 1.75; }
.about-aside { position: sticky; top: 110px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.about-aside .about-stat { background: var(--card, #fff); border: 1px solid var(--line, #dbe3f1); border-radius: 18px; padding: 18px 16px; box-shadow: 0 8px 24px rgba(11, 27, 58, .06); display: flex; flex-direction: column; gap: 4px; }
.about-aside .about-stat strong { font-size: 1.7rem; line-height: 1.1; color: #1b5fd6; }
.about-aside .about-stat span { font-size: .85rem; line-height: 1.4; color: var(--muted, #5b6b85); }
@media (max-width: 900px) {
  .about-hero-grid { grid-template-columns: 1fr; gap: 26px; }
  .about-photo { justify-self: start; max-width: 240px; }
  .about-grid { grid-template-columns: 1fr; gap: 32px; }
  .about-aside { position: static; order: -1; }
}

/* about tweak */
.about-aside { grid-auto-rows: 1fr; }
.about-body { padding-top: 36px; }
.about-hero { padding-top: 40px; }
.about-hero .lead { margin-bottom: 0; }

/* about side */
.about-hero-grid { grid-template-columns: minmax(0, 1fr) 380px; }
.about-grid { grid-template-columns: minmax(0, 1fr) 380px; }
.about-photo { max-width: 380px; width: 380px; }
.about-side { position: sticky; top: 110px; display: grid; gap: 18px; }
.about-side .about-aside { position: static; }
.about-aside .about-stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
.about-tech { background: var(--card, #fff); border: 1px solid var(--line, #dbe3f1); border-radius: 18px; padding: 18px; box-shadow: 0 8px 24px rgba(11, 27, 58, .06); }
.about-tech-title { font-size: .95rem; margin: 0 0 14px; color: var(--ink, #0b1b3a); }
.about-tech-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.about-tech-list li { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px; background: #fff; border: 1px solid rgba(11, 27, 58, .08); border-radius: 14px; font-size: .78rem; font-weight: 600; color: #0b1b3a; }
@media (max-width: 900px) {
  .about-hero-grid, .about-grid { grid-template-columns: 1fr; }
  .about-photo { width: 240px; max-width: 100%; }
  .about-side { position: static; order: -1; }
}

/* about final */
.about-hero-grid { grid-template-columns: 1fr; }
.about-hero { padding-bottom: 0; }
.about-body { padding-top: 24px; }
.about-photo-side { width: 100%; max-width: none; justify-self: stretch; }
.about-tech .about-tech-title { font-size: .95rem; line-height: 1.3; margin: 0 0 14px; }
.about-side { gap: 16px; }
@media (max-width: 900px) { .about-photo-side { width: 240px; } }

/* about infra */
.about-infra-list { grid-template-columns: repeat(3, 1fr); align-items: stretch; }
.about-infra-list li { justify-content: center; min-height: 74px; }
.infra-logo { max-width: 100%; max-height: 34px; width: auto; height: auto; object-fit: contain; }
.infra-name { font-size: .95rem; letter-spacing: .01em; color: #0b1b3a; }

/* about mobile */
@media (max-width: 900px) {
  .about-grid { display: flex; flex-direction: column; gap: 24px; }
  .about-side { display: contents; }
  .about-photo-side { order: 0; width: 100%; max-width: 300px; margin: 0 auto; justify-self: auto; }
  .about-photo-side img { width: 100%; height: auto; aspect-ratio: 1 / 1; }
  .about-entry { order: 1; }
  .about-aside { order: 2; position: static; }
  .about-tech { order: 3; }
}

/* mobile bleed */
@media (max-width: 782px) {
  .hero-panel, .contact-panel { margin-inline: calc(var(--pad) * -1); border-radius: 0; padding: 44px var(--pad); }
  .hero { padding-top: 0; }
  .about-grid { align-items: stretch; }
  .about-tech, .about-aside, .about-photo-side { width: 100%; box-sizing: border-box; }
  .about-photo-side { max-width: 300px; }
}

/* privacy page */
.privacy-art { margin: 0; padding: 18px; background: var(--card, #fff); border: 1px solid var(--line, #dbe3f1); border-radius: 24px; box-shadow: 0 8px 24px rgba(11, 27, 58, .06); display: flex; justify-content: center; }
.privacy-art svg { width: 100%; max-width: 300px; height: auto; display: block; }
.privacy-card p { margin: 0 0 14px; font-size: .92rem; line-height: 1.6; color: var(--muted, #5b6b85); }
.privacy-card .btn { width: 100%; justify-content: center; font-size: .85rem; word-break: break-all; }
.privacy-entry h2 { font-size: 1.3rem; margin: 28px 0 8px; }
.privacy-entry > p:first-child { color: var(--muted, #5b6b85); font-size: .9rem; }
.privacy-entry ul { padding-inline-start: 1.2em; }
@media (max-width: 900px) { .privacy-art { order: 0; } .about-grid .about-side > .privacy-art { order: -1; max-width: 300px; margin-inline: auto; } .privacy-card { order: 3; } }

/* legal lead */
.about-hero .lead { max-width: none; white-space: normal; }
@media (min-width: 783px) { .about-hero .lead { white-space: nowrap; } }

.consent-note { margin: -8px 0 14px; font-size: .8rem; line-height: 1.5; color: var(--muted, #5b6b85); }
.consent-note a { text-decoration: underline; }

/* form validation */
.contact-form input[type=tel], .contact-form input[type=email] { direction: ltr; text-align: right; }
.contact-form input[type=tel]::placeholder, .contact-form input[type=email]::placeholder { text-align: right; }
.contact-form .is-bad { border-color: #d63638 !important; box-shadow: 0 0 0 3px rgba(214, 54, 56, .15); }

/* הודעת שגיאה מתחת לשדה */
.msite-err{display:block;color:#d92d20;font-size:13px;line-height:1.4;margin-top:6px;text-align:right}
