/* 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); }
.tiles.cols-2 { grid-template-columns: repeat(2, 1fr); max-width: 620px; margin-inline: auto; }
.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; }
/* each dot is a 24px tap target (WCAG 2.5.8); the visible dot is drawn inside it */
.t-dots button { width: 24px; height: 24px; border: 0; background: none; padding: 0; cursor: pointer; position: relative; display: grid; place-items: center; }
.t-dots button::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #cfcfcf; }
.t-dots button[aria-current="true"]::before { 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 ---------- */
/* the relocation service: a peach band like the page banners, ending every page before the footer */
.relo-band { background: var(--peach) url(/assets/img/section99.webp) center/cover no-repeat; background-blend-mode: multiply; padding: 54px 0; margin-top: 30px; }
.relo-strip { display: flex; align-items: center; gap: 30px; }
.relo-icon { width: 104px; height: 112px; border-radius: 52px 18px 52px 52px; background: #fff; color: var(--orange); display: grid; place-items: center; flex-shrink: 0; }
.relo-text { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.relo-eyebrow { color: var(--orange-text); font-size: 17px; font-weight: 600; }
.relo-text strong { font-size: 32px; font-weight: 700; line-height: 1.25; color: var(--navy); }
.relo-text span:last-child { font-size: 19px; color: var(--navy); }
.relo-strip .btn { flex-shrink: 0; }
.relo-band + .site-footer { margin-top: 0; }

.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-properties { position: relative; border-top: 1px solid rgba(255,255,255,.18); padding: 14px 0; font-size: 15.5px; }
.footer-properties .container { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; }
.footer-properties span { color: #c3ccd4; }
.footer-properties ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.footer-properties a { color: #fff; text-decoration: none; }   /* same as the footer's own links */
.footer-properties a:hover { color: 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-band { padding: 40px 0; }
  .relo-strip { flex-direction: column; text-align: center; gap: 18px; }
  .relo-icon { width: 84px; height: 90px; }
  .relo-text strong { font-size: 25px; }
  .relo-text span:last-child { font-size: 17px; }
  .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; gap: 0; }
.t-dots button { transition: width .3s; }
.t-dots button::before { transition: width .3s, background .3s; }
.t-dots button[aria-current="true"] { width: 40px; }
.t-dots button[aria-current="true"]::before { width: 26px; border-radius: 6px; background: var(--orange-btn); }
.is-counting .t-dots button[aria-current="true"]::after { content: ""; position: absolute; top: 50%; left: 50%; width: 26px; height: 9px; margin: -4.5px 0 0 -13px; border-radius: 6px; 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; }
/* step aside for the banner with translate, not bottom: moving a box with translate is not a layout shift */
.a11y-root { transition: translate .3s ease; }
.wa-float { transition: transform .25s, translate .3s ease; }
body.has-consent-banner .a11y-root, body.has-consent-banner .wa-float { translate: 0 -130px; }
.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 { translate: 0 -230px; }
  body.has-consent-banner .a11y-root { translate: 0 -234px; }
}

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

/* ---------------------------------------------------------------------------
   Classes that replace the last inline style="" attributes on the site.
   They exist so the Content-Security-Policy can drop 'unsafe-inline' from
   style-src: a hash covers a <style> block, but nothing covers a style
   attribute, so the attributes themselves had to go. Each one declares exactly
   what the attribute it replaced declared, nothing more, so no page changes
   appearance. Appended at the end deliberately - several of them override a
   base class of the same specificity (.section, .section-head, .t-bubble),
   and at equal specificity the later rule wins.
   --------------------------------------------------------------------------- */
.section-tight { padding-top: 0; }
.section-head-tight { margin-bottom: 30px; }
.btn-row-center { justify-content: center; }
.prose-wide { max-width: 980px; }
.t-bubble-white { background: #fff; }
.t-slide-narrow { max-width: 760px; margin: 0 auto; }
.h2-small { font-size: 22px; }
.text-sm { font-size: 15.5px; }
.note-center { text-align: center; margin-top: 24px; }
.home-note { text-align: center; margin: 26px 0 0; }
.home-lead-gap { margin-top: 34px; }
