/* Rubik, self-hosted (variable 300–800). Served from this site so visitors' IPs are not sent to Google Fonts. */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/assets/fonts/rubik-hebrew.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/assets/fonts/rubik-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(/assets/fonts/rubik-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Globalex — site styles.
   Every value here is taken from the current globalex.co.il design (Elementor kit + page CSS):
   navy #182c3c, orange #F4743C, peach bands, Rubik, 5px buttons, rounded orange contact card,
   network-line banners and the navy footer with the G watermark. */

:root {
  --navy: #182c3c;
  --navy-2: #1f3547;
  --orange: #f4743c;          /* brand orange: fills, icons, large headings */
  --orange-btn: #e9662d;      /* a hair deeper so white button text passes contrast */
  --orange-text: #a8430f;     /* orange for small text on white and peach (AA 4.5:1) */
  --peach: #f5dfd5;           /* page banners, partners band */
  --peach-soft: #f5e9e3;      /* stats band */
  --peach-blob: #f7ece6;      /* icon blobs */
  --grey-bg: #f7f7f7;
  --bubble: #f9fafa;
  --text: #182c3c;
  --muted: #4d5b67;
  --line: #e6e1dd;
  --radius-btn: 5px;
  --container: 1240px;
  --font: "Rubik", "Arial Hebrew", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
/* reduce-motion: see the block at the end — big movement off, gentle fades and counters stay */
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* clip, not hidden: hidden still lets focus/scrollIntoView slide the page sideways */
html, body { overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
body { margin: 0; font-family: var(--font); color: var(--text); background: #fff; font-size: 18px; line-height: 1.65; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
p { margin: 0 0 1em; }
h1, h2, h3, h4 { font-family: var(--font); color: var(--navy); line-height: 1.2; margin: 0 0 .5em; }
h1 { font-weight: 700; }
h2 { font-weight: 700; }
h3 { font-weight: 600; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; top: -60px; right: 16px; background: var(--navy); color: #fff; padding: 10px 18px; z-index: 100; border-radius: var(--radius-btn); }
.skip-link:focus { top: 10px; }
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: 16px; }
.hl { color: var(--orange-btn); }  /* large bold heading text: 3:1 on white */

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font: 700 19px/1 var(--font); padding: 15px 30px; border-radius: var(--radius-btn); text-decoration: none; border: 2px solid transparent; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.btn-orange { background: var(--orange-btn); color: #fff; }
.btn-orange:hover { background: var(--navy); }
.btn-outline { background: #fff; color: var(--navy); border-color: var(--orange); }
.btn-outline:hover { background: var(--orange); color: #fff; }
.btn-navy { background: var(--navy); color: #fff; }
.btn-navy:hover { background: var(--orange-btn); }
.btn-row { display: flex; flex-wrap: wrap; gap: 16px; }
.link-arrow { color: var(--orange-text); font-weight: 600; text-decoration: none; }
.link-arrow::after { content: " ‹"; }
.link-arrow:hover { text-decoration: underline; }

/* ---------- header ---------- */
.site-header { background: #fff; position: sticky; top: 0; z-index: 50; box-shadow: 0 1px 0 rgba(24,44,60,.06); transition: box-shadow .3s; }
.site-header.is-scrolled { box-shadow: 0 8px 24px rgba(24,44,60,.09); }
.header-row { display: flex; align-items: center; gap: 24px; min-height: 110px; transition: min-height .3s; }
.is-scrolled .header-row { min-height: 80px; }
.logo img { transition: width .3s; }
.is-scrolled .logo img { width: 160px; }
.is-scrolled .menu > li > a { padding-block: 20px; }
.is-scrolled .menu > li > a::after { bottom: 16px; }
.menu > li > a { transition: padding .3s, color .2s; }
.logo img { width: 190px; height: auto; }
.site-nav { display: flex; align-items: center; flex: 1; justify-content: space-between; gap: 24px; }
.menu { list-style: none; margin: 0 auto; padding: 0; display: flex; gap: 4px; }
.menu > li { position: relative; }
.menu > li > a { display: block; padding: 34px 20px; font-size: 17px; text-decoration: none; color: var(--navy); position: relative; }
.menu > li > a::after { content: ""; position: absolute; inset-inline: 0; bottom: 30px; height: 3px; background: var(--orange); transform: scaleX(0); transition: transform .2s; }
.menu > li:hover > a, .menu > li.active > a { color: var(--orange-text); }
.menu > li:hover > a::after, .menu > li.active > a::after { transform: scaleX(1); }
.sub-toggle { display: none; }
.sub { list-style: none; margin: 0; padding: 10px 0; position: absolute; top: 100%; right: 0; min-width: 260px; background: #fff; box-shadow: 0 12px 30px rgba(24,44,60,.12); border-top: 3px solid var(--orange); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s; }
.has-sub:hover .sub, .has-sub:focus-within .sub { opacity: 1; visibility: visible; transform: none; }
.sub a { display: block; padding: 9px 22px; text-decoration: none; font-size: 16px; }
.sub a:hover { background: var(--peach-soft); color: var(--orange-text); }
.header-cta { font-size: 19px; padding: 12px 24px; }
.menu-toggle { display: none; }

/* ---------- home: hero ---------- */
.hero { padding: 30px 0 0; }
.hero .container { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; }
.hero-text { max-width: 640px; justify-self: center; }
.hero h1 { font-size: 56px; margin-bottom: 22px; }
.hero h1 small { display: block; font-size: 24px; font-weight: 500; color: var(--orange-text); margin-bottom: 10px; }
.hero p { font-size: 21px; line-height: 1.75; }
.hero .btn-row { margin-top: 36px; }
.hero-media img { width: 100%; max-width: 640px; margin-inline-start: auto; }

/* ---------- home: stats band ---------- */
.stats { background: var(--peach-soft) url(/assets/img/section2.webp) center/cover no-repeat; padding: 70px 0 64px; text-align: center; margin-top: 0; }
.stats h2 { font-size: 46px; font-weight: 800; max-width: 900px; margin: 0 auto 36px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; list-style: none; padding: 0; margin: 0 0 40px; }
.stat-num { display: block; font-size: 70px; font-weight: 800; line-height: 1; color: var(--navy); direction: ltr; }
.stat-label { display: block; font-size: 21px; font-weight: 500; color: var(--orange-text); margin-top: 8px; }
.stats-why { max-width: 980px; margin: 0 auto; }
.stats-why h3 { font-size: 26px; font-weight: 600; }
.stats-why p { font-size: 18px; }

/* ---------- section scaffolding ---------- */
.section { padding: 90px 0; }
.section-grey { background: var(--grey-bg) url(/assets/img/section99.webp) center/cover no-repeat; }
.section-peach { background: var(--peach); }
.section-head { text-align: center; max-width: 820px; margin: 0 auto 48px; }
.section-head h2 { font-size: 48px; }
.section-head p { font-size: 19px; color: var(--muted); }

/* ---------- services: the icon-blob tiles ---------- */
.services-intro { display: grid; grid-template-columns: 1.6fr 1fr; gap: 50px; align-items: center; }
.services-intro h2 { font-size: 50px; }
.services-man img { max-width: 360px; margin-inline: auto; }
.tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px 26px; list-style: none; padding: 0; margin: 0; }
.tiles.cols-3 { grid-template-columns: repeat(3, 1fr); }
.tiles.cols-5 { grid-template-columns: repeat(5, 1fr); }
.tile { text-align: center; }
.tile a { text-decoration: none; display: block; }
.blob { width: 121px; height: 131px; margin: 0 auto 14px; display: grid; place-items: center; background: var(--peach-blob); border-radius: 60px 22px 60px 60px; transition: transform .2s; }
.blob.has-img img { width: 121px; height: 131px; }
.blob .ico { width: 64px; height: 64px; }
.blob.has-img { background: none; }
.tile a:hover .blob { transform: translateY(-4px); }
.tile h3 { font-size: 20px; font-weight: 600; margin-bottom: 6px; }
.tile p { font-size: 15.5px; color: var(--muted); line-height: 1.55; margin: 0; }
.tile a:hover h3 { color: var(--orange-text); }

/* ---------- "how a call flows" strip ---------- */
.flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; list-style: none; padding: 0; margin: 0; counter-reset: step; }
.flow li { position: relative; padding: 0 18px; text-align: center; counter-increment: step; }
.flow li::before { content: counter(step); display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 50%; background: var(--orange); color: #fff; font-weight: 700; font-size: 22px; position: relative; z-index: 1; }
.flow li:not(:last-child)::after { content: ""; position: absolute; top: 28px; right: 50%; width: 100%; border-top: 2px dashed #e8b9a3; }
.flow h3 { font-size: 19px; margin-bottom: 4px; }
.flow p { font-size: 15.5px; color: var(--muted); margin: 0; }

/* ---------- clients ---------- */
.clients { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 18px; list-style: none; padding: 0; margin: 0; }
.clients li { background: #fff; border: 1px solid var(--line); border-radius: 40px; padding: 12px 26px; font-weight: 500; font-size: 17px; }
.clients li span { display: block; font-size: 13.5px; color: var(--muted); font-weight: 400; }
.clients li { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.clients li strong { font-weight: 500; }
.clients li .client-logo { display: block; max-height: 56px; max-width: 150px; width: auto; height: auto; object-fit: contain; margin: 2px auto 6px; }
.clients li.has-logo { border-radius: 20px; padding: 14px 22px; }
.clients li.logo-only { padding: 12px 22px; }
.clients li.logo-only .client-logo { margin: 0 auto; }
.clients li.logo-only strong, .clients li.logo-only span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- partners carousel ---------- */
.carousel { position: relative; padding-inline: 50px; }
.carousel-track { display: flex; gap: 40px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; align-items: center; padding: 10px 0; }
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-track > * { scroll-snap-align: start; flex: 0 0 auto; }
.partner-logo { height: 90px; width: 150px; display: grid; place-items: center; }
.partner-logo img { max-height: 90px; max-width: 150px; width: auto; object-fit: contain; }
.carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: 0; width: 40px; height: 40px; cursor: pointer; color: var(--navy); }
.carousel-btn svg { width: 22px; height: 22px; }
.carousel-btn.prev { right: 0; }
.carousel-btn.next { left: 0; }

/* ---------- testimonials ---------- */
.testimonials { position: relative; padding-top: 110px; }
.testimonials .quote-mark { position: absolute; top: -45px; right: calc(50% - 560px); width: 190px; }
.testimonials .section-head h2 { font-size: 54px; }
.t-slider { position: relative; max-width: 760px; margin: 0 auto; padding-inline: 70px; }
.t-slide { text-align: center; margin: 0 0 30px; }
.t-bubble { background: var(--bubble); border-radius: 30px; padding: 28px 26px; font-size: 18.5px; line-height: 1.7; position: relative; margin: 0 0 26px; box-shadow: 0 2px 0 rgba(24,44,60,.03); }
.t-bubble::after { content: ""; position: absolute; bottom: -10px; left: 50%; margin-left: -11px; border: 11px solid transparent; border-top-color: var(--bubble); border-bottom: 0; }
.t-bubble[lang="en"] { direction: ltr; text-align: left; }
.t-name { font-weight: 700; font-size: 15px; display: block; }
.t-role { font-size: 14px; color: var(--muted); }
.t-dots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.t-dots button { width: 9px; height: 9px; border-radius: 50%; border: 0; background: #cfcfcf; padding: 0; cursor: pointer; }
.t-dots button[aria-current="true"] { background: var(--navy); }

/* ---------- contact card (orange) ---------- */
.contact-band { background: linear-gradient(rgba(255,255,255,.88), rgba(255,255,255,.88)), url(/assets/img/office-bg.webp) center/cover; padding: 80px 0 60px; }
.contact-card { max-width: 760px; margin: 0 auto; background: var(--orange-btn); border-radius: 60px; padding: 40px 40px 46px; text-align: center; color: #fff; box-shadow: 0 25px 40px rgba(24,44,60,.18); }
.contact-card h2 { color: #fff; font-size: 44px; margin-bottom: 4px; }
.contact-card > p { font-size: 24px; font-weight: 400; margin-bottom: 26px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 10px; }
.form-row label { position: relative; }
.form-row input { width: 100%; height: 42px; border-radius: 30px; border: 1px solid #fff; background: #fff; color: var(--navy); padding: 0 18px; font: 16px var(--font); }
.form-row input::placeholder { color: var(--muted); opacity: 1; }
.form-row input:focus-visible { outline: 3px solid var(--navy); outline-offset: 1px; }
.form-row .btn-navy { height: 42px; border-radius: 30px; padding: 0 44px; }
.form-note { font-size: 15px; margin: 14px 0 0; }
.contact-band .form-note { color: var(--navy); text-align: center; }
.contact-band .form-note a { color: var(--navy); font-weight: 600; }
.form-status { margin-top: 14px; font-weight: 600; min-height: 1.2em; }
.contact-card .form-status { font-size: 19px; font-weight: 700; }

/* ---------- page banner (inner pages) ---------- */
.page-banner { background: var(--peach) url(/assets/img/section99.webp) center/cover no-repeat; background-blend-mode: multiply; padding: 56px 0 60px; text-align: center; }
.page-banner h1 { font-size: 54px; margin: 0; }
.page-banner p { font-size: 20px; max-width: 760px; margin: 12px auto 0; color: var(--navy); }
.crumbs ol { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0 0 14px; padding: 0; font-size: 14.5px; color: var(--muted); }
.crumbs li + li::before { content: "‹"; margin-inline-end: 6px; color: var(--orange); }
.crumbs a { text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }

/* ---------- inner content ---------- */
.content-office { background: linear-gradient(rgba(255,255,255,.92), rgba(255,255,255,.92)), url(/assets/img/office-bg.webp) center/cover; }
.prose { max-width: 820px; margin-inline: auto; }
.prose h2 { font-size: 34px; margin-top: 1.4em; }
.prose h2:first-child { margin-top: 0; }
.prose h3 { font-size: 23px; margin-top: 1.3em; }
.prose ul, .prose ol { padding-inline-start: 1.3em; }
.prose li { margin-bottom: .45em; }
.prose a { color: var(--orange-text); }
.lead { font-size: 21px; line-height: 1.75; }

.split { display: grid; grid-template-columns: 1.35fr 1fr; gap: 56px; align-items: start; }
.split-aside { background: var(--peach-soft); border-radius: 30px; padding: 30px; position: sticky; top: 140px; }
.split-aside h2 { font-size: 24px; }
.split-aside ul { list-style: none; padding: 0; margin: 0 0 22px; }
.split-aside li { padding: 8px 0; border-bottom: 1px solid #ead5cb; font-size: 16.5px; }
.split-aside li:last-child { border: 0; }

.checks { list-style: none; padding: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 30px; }
.checks li { position: relative; padding-inline-start: 34px; margin: 0; }
.checks li::before { content: ""; position: absolute; right: 0; top: 4px; width: 22px; height: 22px; border-radius: 50%; background: var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat; }
.checks li strong { display: block; }

.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; list-style: none; padding: 0; margin: 0; }
.feature { background: #fff; border: 1px solid var(--line); border-radius: 30px; padding: 28px 26px; }
.feature h3 { font-size: 20px; margin-bottom: 8px; }
.feature p { font-size: 16px; color: var(--muted); margin: 0; }
.feature .blob { width: 64px; height: 68px; margin: 0 0 14px; border-radius: 32px 12px 32px 32px; }
.feature .blob .ico { width: 38px; height: 38px; }

.faq { max-width: 860px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { cursor: pointer; list-style: none; padding: 20px 0; font-weight: 600; font-size: 19px; display: flex; justify-content: space-between; gap: 20px; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; color: var(--orange); font-size: 26px; line-height: 1; font-weight: 400; }
.faq-item[open] summary::after { content: "−"; }
.faq-item > div { padding: 0 0 20px; color: var(--muted); }

.cta-band { background: var(--navy); color: #fff; border-radius: 30px; padding: 44px 50px; display: flex; align-items: center; justify-content: space-between; gap: 30px; position: relative; overflow: hidden; }
.cta-band::before { content: ""; position: absolute; inset-inline-end: -60px; top: -80px; width: 300px; height: 300px; background: url(/assets/img/footer-g.webp) center/contain no-repeat; opacity: .07; }
.cta-band h2 { color: #fff; font-size: 32px; margin-bottom: 6px; }
.cta-band p { margin: 0; color: #d6dde3; }
.cta-band .btn-row { flex-shrink: 0; }

/* ---------- news ---------- */
.news-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; list-style: none; padding: 0; margin: 0; }
.news-card { border-radius: 40px; padding: 34px 28px; min-height: 280px; display: flex; flex-direction: column; background: var(--orange); color: var(--navy); }
.news-grid > li:nth-child(8n+5) .news-card, .news-grid > li:nth-child(8n+6) .news-card, .news-grid > li:nth-child(8n+7) .news-card, .news-grid > li:nth-child(8n+8) .news-card { background: var(--navy); color: #fff; }
.news-card h2 { font-size: 21px; color: inherit; margin-bottom: 10px; }
.news-card p { font-size: 15.5px; line-height: 1.6; flex: 1; }
.news-card a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.news-tag { font-size: 13px; font-weight: 600; letter-spacing: .02em; margin-bottom: 8px; }

/* ---------- integrations ---------- */
.int-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; list-style: none; padding: 0; margin: 0; }
.int-card { border: 1px solid var(--line); border-radius: 30px; padding: 26px; background: #fff; }
.int-card .int-logo { height: 60px; display: flex; align-items: center; margin-bottom: 14px; }
.int-card .int-logo img { max-height: 56px; max-width: 170px; width: auto; }
.int-card .int-logo .int-word { font-weight: 700; font-size: 26px; color: var(--navy); }
.int-card h3 { font-size: 19px; }
.int-card p { font-size: 15.5px; color: var(--muted); margin: 0; }

/* ---------- tools / tables ---------- */
.tools-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; list-style: none; padding: 0; }
.tool { display: flex; gap: 16px; align-items: center; border: 1px solid var(--line); border-radius: 22px; padding: 20px; text-decoration: none; background: #fff; height: 100%; }
.tool:hover { border-color: var(--orange); }
.tool .blob { width: 56px; height: 60px; margin: 0; border-radius: 28px 10px 28px 28px; flex-shrink: 0; }
.tool .blob .ico { width: 32px; height: 32px; }
.tool strong { display: block; font-size: 17.5px; }
.tool span { font-size: 14.5px; color: var(--muted); }

.table-wrap { overflow-x: auto; margin: 0 0 1.5em; }
table { border-collapse: collapse; width: 100%; font-size: 15.5px; }
th, td { border: 1px solid var(--line); padding: 9px 12px; text-align: start; vertical-align: top; }
th { background: var(--peach-soft); font-weight: 600; }
code, pre { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 14px; direction: ltr; }
pre { background: var(--navy); color: #e8eef3; padding: 16px 18px; border-radius: 14px; overflow-x: auto; text-align: left; white-space: pre-wrap; word-break: break-all; }
:not(pre) > code { background: var(--peach-soft); padding: 1px 6px; border-radius: 4px; }
.ltr { direction: ltr; text-align: left; }
.note { background: var(--peach-soft); border-inline-start: 4px solid var(--orange); padding: 14px 18px; border-radius: 8px; }

/* ---------- relocation strip + footer ---------- */
.relo-strip { display: flex; align-items: center; gap: 22px; background: linear-gradient(135deg, var(--navy), #121f2c); color: #fff; border-radius: 16px; padding: 22px 26px; margin-block: 30px 0; }
.relo-icon { width: 52px; height: 52px; border-radius: 12px; background: rgba(244,116,60,.15); color: var(--orange); display: grid; place-items: center; flex-shrink: 0; }
.relo-text { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.relo-eyebrow { color: var(--orange); font-size: 13px; font-weight: 600; }
.relo-text strong { font-size: 18px; }
.relo-text span:last-child { font-size: 14.5px; color: #c3ccd4; }
.relo-strip .btn { padding: 13px 26px; }

.site-footer { background: var(--navy) url(/assets/img/footer-g.webp) no-repeat; background-size: 520px; background-position: left 15% top -40px; color: #fff; margin-top: 10px; position: relative; }
.site-footer::before { content: ""; position: absolute; inset: 0; background: rgba(24,44,60,.78); pointer-events: none; }
.footer-grid { position: relative; display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 40px; padding-block: 80px 60px; }
.footer-col h2 { color: #fff; font-size: 28px; font-weight: 600; margin-bottom: 20px; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin-bottom: 8px; font-size: 16.5px; }
.footer-col a { text-decoration: none; }
.footer-col a:hover { color: var(--orange); }
.contact-list li { display: flex; align-items: center; gap: 10px; }
.contact-list svg { width: 19px; height: 19px; fill: #fff; flex-shrink: 0; }
.social { display: flex; gap: 8px; margin-top: 22px; }
.social a { width: 46px; height: 46px; border-radius: 50%; background: #fff; display: grid; place-items: center; }
.social svg { width: 22px; height: 22px; fill: var(--navy); }
.social a:hover { background: var(--orange); }
.footer-bottom { position: relative; border-top: 1px solid rgba(255,255,255,.18); padding: 14px 0; font-size: 15px; }
.footer-bottom .container { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.legal-links { display: flex; gap: 20px; }
.footer-bottom a { text-decoration: none; }
.footer-bottom a:hover { text-decoration: underline; }

/* ---------- about ---------- */
.timeline { list-style: none; padding: 0; margin: 0; position: relative; }
.timeline::before { content: ""; position: absolute; right: 64px; top: 6px; bottom: 6px; border-right: 2px dashed #e8b9a3; }
.timeline li { display: grid; grid-template-columns: 130px 1fr; gap: 20px; padding-bottom: 26px; position: relative; }
.timeline .when { font-weight: 800; font-size: 20px; color: var(--navy); text-align: center; background: #fff; position: relative; z-index: 1; align-self: start; }
.timeline .when.dot { background: none; font-size: 0; }
.timeline .when.dot::before { content: ""; display: block; width: 18px; height: 18px; margin: 4px auto 0; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px #fff; }
.timeline h3 { font-size: 20px; margin-bottom: 4px; }
.timeline p { margin: 0; color: var(--muted); font-size: 16.5px; }
.values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; list-style: none; padding: 0; }

/* ---------- 404 ---------- */
.notfound { text-align: center; padding: 100px 0; }
.notfound .big { font-size: 130px; font-weight: 800; color: var(--orange-btn); line-height: 1; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .menu > li > a { padding-inline: 12px; font-size: 16px; }
  .hero h1 { font-size: 46px; }
  .tiles, .tiles.cols-5 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1024px) {
  .header-row { min-height: 80px; }
  .logo img { width: 150px; }
  .menu-toggle { display: block; margin-inline-start: auto; width: 44px; height: 44px; background: none; border: 0; cursor: pointer; position: relative; }
  .menu-toggle span:first-child, .menu-toggle span:first-child::before, .menu-toggle span:first-child::after { position: absolute; right: 9px; width: 26px; height: 3px; border-radius: 2px; background: var(--navy); content: ""; transition: .2s; }
  .menu-toggle span:first-child { top: 20px; }
  .menu-toggle span:first-child::before { top: -8px; right: 0; }
  .menu-toggle span:first-child::after { top: 8px; right: 0; }
  .menu-toggle[aria-expanded="true"] span:first-child { background: transparent; }
  .menu-toggle[aria-expanded="true"] span:first-child::before { top: 0; transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:first-child::after { top: 0; transform: rotate(-45deg); }
  .site-nav { display: none; position: absolute; top: 100%; right: 0; left: 0; background: #fff; flex-direction: column; align-items: stretch; padding: 8px 16px 22px; box-shadow: 0 16px 30px rgba(24,44,60,.15); max-height: calc(100vh - 80px); overflow-y: auto; }
  .site-nav.open { display: flex; }
  .menu { flex-direction: column; margin: 0; }
  .menu > li { border-bottom: 1px solid var(--line); display: flex; flex-wrap: wrap; align-items: center; }
  .menu > li > a { padding: 14px 4px; flex: 1; }
  .menu > li > a::after { display: none; }
  .sub-toggle { display: block; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; position: relative; }
  .sub-toggle::before { content: ""; position: absolute; inset: 0; margin: auto; width: 10px; height: 10px; border-left: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(-45deg); transition: .2s; }
  .sub-toggle[aria-expanded="true"]::before { transform: rotate(135deg); }
  .sub { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; display: none; width: 100%; padding: 0 0 10px; background: var(--peach-soft); border-radius: 10px; }
  .has-sub.open .sub { display: block; }
  .header-cta { margin-top: 16px; }
  .hero .container, .services-intro, .split { grid-template-columns: 1fr; }
  .hero-text { max-width: none; }
  .hero-media { order: 2; }
  .services-man img { max-width: 260px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
  .feature-grid, .int-grid, .tools-grid, .values { grid-template-columns: repeat(2, 1fr); }
  .news-grid { grid-template-columns: repeat(2, 1fr); }
  .split-aside { position: static; }
  .flow { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }
  .flow li:nth-child(2)::after { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .testimonials .quote-mark { right: 16px; width: 110px; top: -10px; }
}
@media (max-width: 680px) {
  body { font-size: 17px; }
  .section { padding: 60px 0; }
  .hero h1 { font-size: 36px; }
  .hero p { font-size: 18px; }
  .stats h2 { font-size: 30px; }
  .stat-num { font-size: 50px; }
  .stat-label { font-size: 17px; }
  .section-head h2, .services-intro h2, .testimonials .section-head h2 { font-size: 34px; }
  .page-banner { padding: 36px 0 40px; }
  .page-banner h1 { font-size: 36px; }
  .page-banner p { font-size: 17px; }
  .tiles, .tiles.cols-3, .tiles.cols-5 { grid-template-columns: repeat(2, 1fr); gap: 26px 12px; }
  .blob, .blob.has-img img { width: 100px; height: 108px; }
  .blob .ico { width: 54px; height: 54px; }
  .tile h3 { font-size: 17px; }
  .tile p { display: none; }
  .feature-grid, .int-grid, .tools-grid, .values, .news-grid, .checks { grid-template-columns: 1fr; }
  .news-card { min-height: 0; }
  .flow { grid-template-columns: 1fr; }
  .flow li::after { display: none; }
  .t-slider { padding-inline: 0; }
  .t-slider .carousel-btn { display: none; }
  .contact-card { border-radius: 36px; padding: 30px 20px; }
  .contact-card h2 { font-size: 34px; }
  .form-row { grid-template-columns: 1fr; }
  .cta-band { flex-direction: column; align-items: flex-start; padding: 32px 24px; }
  .relo-strip { flex-wrap: wrap; margin-inline: 16px; width: auto; }
  .relo-strip .btn { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; padding-block: 50px 30px; }
  .footer-bottom .container { flex-direction: column; align-items: flex-start; }
  .timeline::before { right: 40px; }
  .timeline li { grid-template-columns: 80px 1fr; }
  .carousel { padding-inline: 36px; }
}

/* ---------- contact page form ---------- */
.contact-page-form { display: grid; gap: 16px; max-width: 560px; }
.contact-page-form label { display: grid; gap: 6px; font-weight: 500; font-size: 16.5px; }
.contact-page-form .opt { font-weight: 400; color: var(--muted); font-size: 14.5px; }
.contact-page-form input, .contact-page-form select, .contact-page-form textarea { font: 16px var(--font); color: var(--text); border: 1px solid #cfc7c2; border-radius: var(--radius-btn); padding: 11px 14px; background: #fff; width: 100%; }
.contact-page-form input:focus-visible, .contact-page-form select:focus-visible, .contact-page-form textarea:focus-visible { outline: 3px solid var(--orange); outline-offset: 1px; border-color: var(--orange); }
.contact-page-form .btn { justify-self: start; padding-inline: 48px; }
.contact-page-form .form-note { color: var(--muted); margin: 0; }


/* =====================================================================
   Motion. Everything below is progressive: the page is complete without it,
   and prefers-reduced-motion switches it all off (see the rule at the top).
   ===================================================================== */

/* reveal on scroll */
.js .reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s cubic-bezier(.2,.7,.2,1) var(--d, 0ms), transform .7s cubic-bezier(.2,.7,.2,1) var(--d, 0ms); }
.js .reveal.in { opacity: 1; transform: none; }

/* hero entrance + gentle float on the hero picture */
@keyframes rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes floaty { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.js .hero-text > * { animation: rise .8s cubic-bezier(.2,.7,.2,1) both; }
.js .hero-text > :nth-child(2) { animation-delay: .12s; }
.js .hero-text > :nth-child(3) { animation-delay: .24s; }
.js .hero-media img { animation: rise 1s .15s cubic-bezier(.2,.7,.2,1) both, floaty 7s 1.2s ease-in-out infinite; }

/* count-up: a small settle when the number lands */
@keyframes settle { 0% { transform: scale(1); } 40% { transform: scale(1.06); } 100% { transform: scale(1); } }
.stat-num { font-variant-numeric: tabular-nums; }
.stat-num.done { animation: settle .45s ease-out; }
.stats-grid li { position: relative; }
.stats-grid li::after { content: ""; display: block; width: 0; height: 3px; margin: 12px auto 0; background: var(--orange); border-radius: 2px; transition: width .9s .3s cubic-bezier(.2,.7,.2,1); }
.stats-grid li.in::after, .no-js .stats-grid li::after { width: 46px; }

/* service tiles: the blob breathes on hover */
.blob { transition: transform .35s cubic-bezier(.2,.7,.2,1), border-radius .5s, box-shadow .35s; }
.tile a:hover .blob, .tile a:focus-visible .blob { transform: translateY(-6px) rotate(-3deg); border-radius: 22px 60px 60px 60px; box-shadow: 0 14px 26px rgba(244,116,60,.18); }
.tile a:hover .blob img, .tile a:focus-visible .blob img { transform: rotate(3deg) scale(1.05); }
.blob img { transition: transform .35s cubic-bezier(.2,.7,.2,1); }

/* flow strip: line draws, step numbers pulse in */
.flow li:not(:last-child)::after { transform-origin: right; transform: scaleX(0); transition: transform 1s cubic-bezier(.6,.1,.2,1); }
.flow li:nth-child(2)::after { transition-delay: .35s; }
.flow li:nth-child(3)::after { transition-delay: .7s; }
.flow.drawn li::after, .no-js .flow li::after { transform: scaleX(1); }
.flow li::before { transition: transform .4s, box-shadow .4s; }
.flow li:hover::before { transform: scale(1.1); box-shadow: 0 0 0 8px rgba(244,116,60,.15); }

/* partners marquee */
.is-marquee .carousel-track { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-lane { display: flex; gap: 40px; align-items: center; width: max-content; animation: marquee 38s linear infinite; }
.is-marquee .carousel-btn { display: none; }
.is-marquee:hover .marquee-lane, .is-marquee:focus-within .marquee-lane, .is-marquee.is-paused .marquee-lane { animation-play-state: paused; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(50%); } }
.partner-logo img { filter: grayscale(1) opacity(.75); transition: filter .3s, transform .3s; }
.partner-logo:hover img, .partner-logo:focus-visible img { filter: none; transform: scale(1.06); }
.marquee-toggle { display: block; margin: 14px auto 0; background: none; border: 1px solid rgba(24,44,60,.25); border-radius: 30px; padding: 6px 16px; font: 500 14px var(--font); color: var(--navy); cursor: pointer; }
.marquee-toggle::before { content: "❚❚ "; font-size: 11px; }
.marquee-toggle[aria-pressed="true"]::before { content: "▶ "; }

/* testimonials: stacked crossfade with direction-aware slide */
.js .t-slider.is-ready .t-stage { display: grid; overflow-x: clip; padding-bottom: 14px; }
.js .t-slider.is-ready .t-slide { grid-area: 1 / 1; margin: 0; opacity: 0; visibility: hidden; transform: translateX(calc(var(--dir, 1) * -40px)) scale(.98); filter: blur(4px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1), filter .7s, visibility 0s .7s; }
.js .t-slider.is-ready .t-slide.is-leaving { transform: translateX(calc(var(--dir, 1) * 40px)) scale(.98); }
.js .t-slider.is-ready .t-slide.is-active { opacity: 1; visibility: visible; transform: none; filter: none; transition-delay: .08s, .08s, .08s, 0s; }
.t-slide.is-active figcaption { animation: rise .6s .35s both; }
.t-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 22px; }
.t-dots { margin: 0; }
.t-dots button { transition: width .3s, background .3s; }
.t-dots button[aria-current="true"] { width: 26px; border-radius: 6px; background: var(--orange-btn); position: relative; overflow: hidden; }
.is-counting .t-dots button[aria-current="true"]::after { content: ""; position: absolute; inset: 0; background: var(--navy); transform-origin: right; transform: scaleX(0); animation: tprogress var(--t-interval, 8s) linear forwards; }
@keyframes tprogress { to { transform: scaleX(1); } }
.t-play { width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(24,44,60,.25); background: #fff; cursor: pointer; display: grid; place-items: center; color: var(--navy); }
.t-play::before { content: ""; width: 10px; height: 12px; border-inline: 3px solid currentColor; }
.t-play.is-paused::before { width: 0; height: 0; border: 0; border-block: 7px solid transparent; border-right: 11px solid currentColor; margin-right: -3px; }
.testimonials .quote-mark { transition: transform 1.2s cubic-bezier(.2,.7,.2,1), opacity 1.2s; }
.js .testimonials .quote-mark.reveal { opacity: 0; transform: translateY(-20px) rotate(-12deg); }
.js .testimonials .quote-mark.reveal.in { opacity: 1; transform: none; }

/* news: filter chips, featured card, hover */
.news-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 30px; }
.news-filter { display: flex; flex-wrap: wrap; gap: 10px; }
.news-filter button { font: 500 16px var(--font); color: var(--navy); background: #fff; border: 1.5px solid var(--line); border-radius: 30px; padding: 9px 20px; cursor: pointer; transition: background .2s, border-color .2s, color .2s, transform .2s; }
.news-filter button:hover { border-color: var(--orange); transform: translateY(-2px); }
.news-filter button[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.news-count { color: var(--muted); font-size: 15px; font-variant-numeric: tabular-nums; }
.news-card { position: relative; overflow: hidden; transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s; }
.news-card:hover, .news-card:focus-within { transform: translateY(-6px); box-shadow: 0 18px 34px rgba(24,44,60,.18); }
.news-card::before { content: ""; position: absolute; inset-inline-start: -40px; bottom: -40px; width: 140px; height: 140px; border-radius: 50%; background: rgba(255,255,255,.12); transition: transform .5s; }
.news-card:hover::before { transform: scale(1.6); }
.news-card a { position: relative; text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.news-card a::after { content: "‹"; transition: transform .25s; }
.news-card:hover a::after { transform: translateX(-5px); }
.news-card a::before { content: ""; position: absolute; inset: -400px; }   /* whole card clickable */
.news-grid > li.featured { grid-column: span 2; }
.news-grid > li.featured .news-card { background: var(--navy); color: #fff; min-height: 300px; justify-content: flex-end; background-image: radial-gradient(circle at 15% 20%, rgba(244,116,60,.35), transparent 45%); }
.news-grid > li.featured h2 { font-size: 32px; }
.news-grid > li.featured p { flex: 0; font-size: 17px; max-width: 520px; }
.badge-new { display: inline-flex; align-items: center; gap: 7px; background: var(--orange-btn); color: #fff; font-weight: 700; font-size: 13px; padding: 4px 12px; border-radius: 20px; align-self: flex-start; margin-bottom: 14px; }
.badge-new::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: ping 1.6s infinite; }
@keyframes ping { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.8); } 100% { box-shadow: 0 0 0 9px rgba(255,255,255,0); } }
@keyframes popin { from { opacity: 0; transform: scale(.94) translateY(10px); } to { opacity: 1; transform: none; } }
.news-grid > li.pop { animation: popin .45s cubic-bezier(.2,.7,.2,1); }

/* floating WhatsApp button */
.wa-float { position: fixed; left: 20px; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 60; width: 58px; height: 58px; border-radius: 50%; background: #1f9e55; color: #fff; display: grid; place-items: center; box-shadow: 0 10px 24px rgba(24,44,60,.25); transition: transform .25s; }
.wa-float:hover { transform: scale(1.08); }
.wa-float svg { width: 30px; height: 30px; fill: currentColor; }
.wa-float::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #1f9e55; animation: ring 2.8s 2s infinite; }
@keyframes ring { 0% { transform: scale(1); opacity: .7; } 70%, 100% { transform: scale(1.5); opacity: 0; } }
.wa-float .wa-tip { position: absolute; left: 70px; white-space: nowrap; background: var(--navy); color: #fff; font-size: 14px; padding: 6px 12px; border-radius: 8px; opacity: 0; transform: translateX(-6px); transition: .2s; pointer-events: none; }
.wa-float:hover .wa-tip, .wa-float:focus-visible .wa-tip { opacity: 1; transform: none; }

/* buttons: a little lift */
.btn { transition: background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(24,44,60,.15); }
.btn:active { transform: none; }

/* contact card sent state */
.contact-card form.is-sent .form-row { opacity: .6; }

@media (max-width: 1024px) {
  .news-grid > li.featured { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .news-grid > li.featured h2 { font-size: 25px; }
  .wa-float { width: 52px; height: 52px; left: 14px; }
}
/* "Reduce motion" (Windows "Animation effects" off, Remote Desktop, iOS/Android setting):
   no sliding, floating, scrolling or wobbling — but fades, the count-up and the line drawing stay,
   so the page still feels alive. The admin's "animations off" switch (.no-motion) stops everything. */
@keyframes fadeonly { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .js .reveal { transform: none !important; transition: opacity .7s ease var(--d, 0ms) !important; }
  .js .hero-text > *, .js .hero-media img { animation: fadeonly .8s ease both !important; }
  .js .t-slider.is-ready .t-slide, .js .t-slider.is-ready .t-slide.is-leaving { transform: none !important; filter: none !important; }
  .blob, .blob img, .btn, .news-card, .partner-logo img, .wa-float, .flow li::before, .news-filter button { transform: none !important; }
  .badge-new::before, .wa-float::after, .stat-num.done, .cb-dialog[open], .news-grid > li.pop { animation: none !important; }
}

/* honeypot: visually hidden in place. Never push it off-canvas: on an RTL page a far-left
   element makes the whole page scroll sideways. */
.hp { position: absolute !important; width: 1px !important; height: 1px !important; min-width: 0 !important; margin: -1px !important; padding: 0 !important; border: 0 !important; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); opacity: 0; pointer-events: none; }

/* ---------- embedded webhook reference (/api/webhooks/) ---------- */
.page-docs .page-banner { padding: 34px 0 36px; }
.page-docs .page-banner h1 { font-size: 40px; }
.docs-embed { border-top: 1px solid var(--line); background: #f7f5f3; }
.docs-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding-block: 12px; font-size: 15px; color: var(--muted); }
.docs-frame { display: block; width: 100%; height: calc(100vh - 80px); min-height: 560px; border: 0; border-top: 1px solid var(--line); background: #fff; }

/* eSIM page */
.esim-aside img { width: 150px; margin: 0 auto 18px; }
.prose .flow-compact { grid-template-columns: repeat(2, 1fr); row-gap: 28px; padding: 0; }
.prose .flow-compact li { margin: 0; }
.prose .flow-compact li:nth-child(2)::after { display: none; }
@media (max-width: 680px) { .prose .flow-compact { grid-template-columns: 1fr; } }

/* admin switches */
.no-motion *, .no-motion *::before, .no-motion *::after { animation: none !important; transition: none !important; }
.gx-preview-flag { position: fixed; bottom: 16px; inset-inline-end: 16px; z-index: 70; background: #182c3c; color: #fff; padding: 9px 16px; border-radius: 10px; font-size: 14.5px; box-shadow: 0 8px 20px rgba(0,0,0,.25); }
.gx-preview-flag a { color: #ffc4a8; }

/* "לשיחה עם נציג" dialog — same card language as the orange contact card */
.cb-dialog { border: 0; padding: 34px 32px 28px; width: min(440px, calc(100vw - 32px)); border-radius: 30px; background: #fff; color: var(--navy); text-align: center; box-shadow: 0 30px 60px rgba(24,44,60,.3); }
.cb-dialog::backdrop { background: rgba(24,44,60,.55); }
.cb-dialog[open] { animation: rise .35s cubic-bezier(.2,.7,.2,1); }
.cb-dialog h2 { font-size: 28px; margin: 0 0 6px; }
.cb-dialog .cb-text { color: var(--muted); margin: 0 0 18px; }
.cb-form { display: grid; gap: 12px; }
.cb-form input[type=tel] { font: 22px var(--font); text-align: center; letter-spacing: .04em; padding: 12px 16px; border: 2px solid var(--line); border-radius: 14px; color: var(--navy); }
.cb-form input[type=tel]:focus-visible { outline: none; border-color: var(--orange); box-shadow: 0 0 0 4px rgba(244,116,60,.18); }
.cb-form .btn { width: 100%; }
.cb-status { min-height: 1.4em; margin: 14px 0 0; font-weight: 500; }
.cb-dialog.is-done .cb-status { font-size: 19px; color: var(--navy); }
.cb-dialog.is-done .cb-status::before { content: ""; display: block; width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 50%; background: var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/28px no-repeat; }
.cb-close { position: absolute; top: 12px; left: 14px; width: 38px; height: 38px; border: 0; background: none; font-size: 28px; line-height: 1; color: var(--muted); cursor: pointer; border-radius: 50%; }
.cb-close:hover { background: var(--peach-soft); color: var(--navy); }

/* =====================================================================
   Accessibility toolbar (our own). Floating button above the WhatsApp button.
   ===================================================================== */
.a11y-root { position: fixed; left: 20px; bottom: calc(92px + env(safe-area-inset-bottom, 0px)); z-index: 65; direction: rtl; }
.a11y-btn { width: 52px; height: 52px; border-radius: 50%; border: 0; cursor: pointer; background: #1d4ed8; color: #fff; display: grid; place-items: center; box-shadow: 0 8px 20px rgba(24,44,60,.25); }
.a11y-btn svg { width: 30px; height: 30px; fill: currentColor; }
.a11y-btn:hover, .a11y-btn[aria-expanded="true"] { background: var(--navy); }
.a11y-btn:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.a11y-panel { position: absolute; left: 0; bottom: 62px; width: 300px; max-height: calc(100vh - 180px); overflow: auto; background: #fff; color: #182c3c; border-radius: 18px; padding: 14px; box-shadow: 0 20px 45px rgba(24,44,60,.3); font: 15px/1.4 Rubik, Arial, sans-serif; }
.a11y-panel[hidden] { display: none; }
.a11y-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.a11y-head strong { font-size: 18px; }
.a11y-close { border: 0; background: none; font-size: 26px; line-height: 1; cursor: pointer; color: #4d5b67; width: 36px; height: 36px; border-radius: 50%; }
.a11y-close:hover { background: #f5e9e3; }
.a11y-fs { display: flex; align-items: center; justify-content: space-between; background: #f5e9e3; border-radius: 12px; padding: 6px; margin-bottom: 10px; }
.a11y-fs button { width: 52px; height: 40px; border: 0; border-radius: 9px; background: #fff; font: 700 17px Rubik, Arial; color: #182c3c; cursor: pointer; }
.a11y-fs-val { font-weight: 600; font-variant-numeric: tabular-nums; }
.a11y-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.a11y-grid button { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 6px; border: 2px solid #e6e1dd; border-radius: 12px; background: #fff; color: #182c3c; font: 500 14px Rubik, Arial; cursor: pointer; }
.a11y-grid button span { font-size: 19px; line-height: 1; }
.a11y-grid button:hover { border-color: #f4743c; }
.a11y-grid button[aria-pressed="true"] { border-color: #1d4ed8; background: #e8efff; }
.a11y-panel button:focus-visible, .a11y-panel a:focus-visible { outline: 3px solid #f4743c; outline-offset: 2px; }
.a11y-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; }
.a11y-reset { border: 0; background: none; color: #a8430f; font: 600 14px Rubik, Arial; cursor: pointer; text-decoration: underline; }
.a11y-foot a { color: #182c3c; font-size: 14px; }

/* the choices (classes on <html>); the toolbar itself is never filtered */
html.a11y-fs-1 body { zoom: 1.15; }
html.a11y-fs-2 body { zoom: 1.3; }
html.a11y-fs-3 body { zoom: 1.45; }
html.a11y-fs-1 .a11y-root { zoom: .87; }
html.a11y-fs-2 .a11y-root { zoom: .77; }
html.a11y-fs-3 .a11y-root { zoom: .69; }
/* filters go on <html> so fixed buttons (WhatsApp, this toolbar) stay where they are */
html.a11y-gray { filter: grayscale(1); }
html.a11y-invert { filter: invert(1) hue-rotate(180deg); background: #fff; }
html.a11y-invert img, html.a11y-invert .a11y-root { filter: invert(1) hue-rotate(180deg); }
html.a11y-contrast body, html.a11y-contrast body *:not(.a11y-root):not(.a11y-root *) { background: #000 !important; background-image: none !important; color: #fff !important; border-color: #fff !important; box-shadow: none !important; text-shadow: none !important; }
html.a11y-contrast body a:not(.a11y-root *), html.a11y-contrast body a:not(.a11y-root *) * { color: #ffeb3b !important; }
html.a11y-contrast img { background: transparent !important; }
html.a11y-light body, html.a11y-light body *:not(.a11y-root):not(.a11y-root *) { background-color: #fff !important; background-image: none !important; color: #000 !important; text-shadow: none !important; }
html.a11y-light .btn:not(.a11y-root *) { border: 2px solid #000 !important; }
html.a11y-links a:not(.a11y-root *) { text-decoration: underline !important; text-underline-offset: 3px; outline: 2px solid #f4743c; outline-offset: 1px; }
html.a11y-font body *:not(.a11y-root *) { font-family: Arial, "Arial Hebrew", sans-serif !important; letter-spacing: .01em; }
@media (max-width: 680px) {
  .a11y-root { left: 14px; bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
  .a11y-btn { width: 48px; height: 48px; }
  .a11y-panel { width: min(300px, calc(100vw - 28px)); }
}
html.a11y-contrast *, html.a11y-light * { transition: none !important; }

/* privacy notice under forms */
.privacy-notice { font-size: 13px; line-height: 1.55; color: var(--muted); margin: 12px 0 0; text-align: start; }
.privacy-notice a { color: var(--orange-text); }
.contact-band .privacy-notice { color: var(--navy); text-align: center; max-width: 640px; margin-inline: auto; }
.cb-dialog .privacy-notice { font-size: 12.5px; text-align: center; }

/* cookie banner + preferences (same card language as the site) */
.consent-banner { position: fixed; z-index: 80; inset-inline: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); max-width: 980px; margin-inline: auto; background: #fff; color: var(--navy); border-radius: 20px; box-shadow: 0 18px 50px rgba(24,44,60,.28); padding: 18px 22px; display: flex; gap: 18px; align-items: center; border-top: 4px solid var(--orange); }
.consent-banner p { margin: 0; font-size: 15px; line-height: 1.6; flex: 1; }
.consent-banner a { color: var(--orange-text); }
.consent-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; flex-shrink: 0; }
.consent-actions .btn { padding: 12px 22px; }   /* keep 19px bold: white on orange needs large text */
.consent-link { background: none; border: 0; color: var(--navy); text-decoration: underline; font: 600 15px var(--font); cursor: pointer; padding: 8px 6px; }
body.has-consent-banner .a11y-root, body.has-consent-banner .wa-float { bottom: calc(150px + env(safe-area-inset-bottom, 0px)); }
body.has-consent-banner .a11y-root { bottom: calc(222px + env(safe-area-inset-bottom, 0px)); }
.consent-prefs { border: 0; padding: 30px 28px 24px; width: min(560px, calc(100vw - 32px)); border-radius: 24px; color: var(--navy); box-shadow: 0 30px 60px rgba(24,44,60,.3); }
.consent-prefs::backdrop { background: rgba(24,44,60,.55); }
.consent-prefs h2 { font-size: 26px; margin: 0 0 6px; }
.consent-intro { color: var(--muted); font-size: 15px; }
.consent-cat { display: flex; gap: 16px; justify-content: space-between; align-items: flex-start; border-top: 1px solid var(--line); padding: 14px 0; }
.consent-cat strong { font-size: 17px; }
.consent-cat p { margin: 4px 0 0; font-size: 14px; color: var(--muted); }
.consent-always { font-size: 13px; font-weight: 600; color: var(--muted); white-space: nowrap; padding-top: 3px; }
.consent-foot { font-size: 14px; margin: 14px 0 0; }
.consent-foot a { color: var(--orange-text); }
.switch { position: relative; flex-shrink: 0; width: 50px; height: 28px; cursor: pointer; }
.switch input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.switch span { position: absolute; inset: 0; background: #c9c3bf; border-radius: 20px; transition: background .2s; }
.switch span::before { content: ""; position: absolute; top: 3px; right: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.switch input:checked + span { background: var(--orange-btn); }
.switch input:checked + span::before { transform: translateX(-22px); }
.switch input:focus-visible + span { outline: 3px solid var(--navy); outline-offset: 2px; }
.legal-links { flex-wrap: wrap; }
.legal-links a[data-consent-open] { cursor: pointer; }
@media (max-width: 760px) {
  .consent-banner { flex-direction: column; align-items: stretch; padding: 16px; inset-inline: 10px; }
  .consent-actions .btn { flex: 1; }
  body.has-consent-banner .wa-float { bottom: calc(250px + env(safe-area-inset-bottom, 0px)); }
  body.has-consent-banner .a11y-root { bottom: calc(312px + env(safe-area-inset-bottom, 0px)); }
}

.prose a.btn-orange, .prose a.btn-navy { color: #fff; text-decoration: none; }
.prose a.btn-outline { color: var(--navy); text-decoration: none; }
