/* ==========================================================================
   ש. גוטובסקי – עיצוב "קינטי-תאגידי" (בהשראת אתרי קבוצות בנייה גדולות)
   טיפוגרפיה ענקית וכבדה, שחור/נייר, הדגשה בכחול הלוגו, תמונות במסך מלא,
   אנימציות גלילה (GSAP + ScrollTrigger) עם נפילה חיננית ללא JS/בהפחתת תנועה
   מובייל תחילה, RTL
   ========================================================================== */

:root {
  --paper: #eeece7;
  --paper-2: #e3e0d9;
  --white: #ffffff;
  --black: #322d2a;
  --black-2: #3a3431;
  --black-3: #46403c;
  --ink: #1a1a1a;
  --ink-2: #3d3a37;
  --muted: #65605e;
  --on-dark: #ecebe6;
  --on-dark-muted: #9ea3ab;
  --line: #d1cec6;
  --line-dark: rgba(255,255,255,.12);
  --accent: #1c82ad;
  --accent-2: #4fbbea;
  --accent-deep: #0b668f;
  --radius: 12px;
  --radius-lg: 24px;
  --radius-xl: 40px;
  --carbon: #322d2a;
  --onyx: #0f0e12;
  --ring: 0 0 0 4px rgba(31,143,191,.18);
  --shadow-sm: none;
  --shadow-md: none;
  --grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --max: 1200px;
  --gutter: 20px;
  --header-h: 80px;
  --font: "Heebo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-display: "Bellefair", "Frank Ruhl Libre", "David Libre", Georgia, serif;
  --font-body: "Frank Ruhl Libre", "David Libre", Georgia, serif;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --shadow: none;
  /* צבעי הכותרת העליונה – מתחלפים לפי הקטע שמתחתיה */
  --hdr-fg: #fff;
  --hdr-line: rgba(255,255,255,.35);
}
@media (min-width: 800px) { :root { --gutter: 40px; } }
@media (min-width: 1200px) { :root { --gutter: 56px; } }

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; font-size: 100%; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
body { margin: 0; font-family: var(--font); font-size: 1.0625rem; line-height: 1.65; color: var(--ink); background: var(--paper); direction: rtl; text-align: right; overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
[id] { scroll-margin-top: calc(var(--header-h) + 12px); }
h1, h2, h3 { text-wrap: balance; }
p, li { text-wrap: pretty; }
a, button, summary, [role="button"] { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0 0 .4em; line-height: 1.05; font-weight: 800; color: inherit; letter-spacing: -.02em; }
h1 { font-size: clamp(2.8rem, 9vw, 7.6rem); line-height: .98; letter-spacing: -.03em; font-weight: 900; }
h2 { font-size: clamp(2.2rem, 6vw, 4.8rem); font-weight: 900; letter-spacing: -.03em; }
h3 { font-size: 1.5rem; font-weight: 700; }
h4 { font-size: 1rem; font-weight: 700; }
h1 em, h2 em { font-style: normal; color: var(--accent); }
p { margin: 0 0 1em; }
ul { padding-inline-start: 1.2em; }
button { font: inherit; cursor: pointer; color: inherit; }
a, button, [role="button"] { cursor: pointer; }
:focus-visible { outline: 3px solid var(--accent-2); outline-offset: 3px; }
::selection { background: var(--accent); color: #fff; }

.skip-link { position: absolute; top: -60px; right: 16px; z-index: 1000; background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 0 0 var(--radius) var(--radius); }
.skip-link:focus { top: 0; }

.container { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: clamp(80px, 12vw, 160px); position: relative; }
.section--dark { background: var(--black); color: var(--on-dark); }
.section--paper2 { background: var(--paper-2); }
.section--tight { padding-block: clamp(56px, 8vw, 100px); }

.section-head { display: grid; gap: 18px; margin-bottom: clamp(40px, 6vw, 72px); }
.section-head p { color: var(--muted); font-size: clamp(1.05rem, 1.5vw, 1.3rem); margin: 0; max-width: 50ch; font-weight: 300; line-height: 1.6; }
.section--dark .section-head p { color: var(--on-dark-muted); }
.kicker { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: var(--accent-deep); }
.kicker::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); }
.section--dark .kicker { color: var(--accent-2); }
.section-head--split { grid-template-columns: 1fr; align-items: end; }
@media (min-width: 900px) { .section-head--split { grid-template-columns: 1.4fr 1fr; gap: 40px; } .section-head--split p { justify-self: start; } }

/* ---------- Word / line split reveals ---------- */
[data-split] .w { display: inline-block; overflow: hidden; vertical-align: bottom; padding-bottom: .08em; margin-bottom: -.08em; }
[data-split] .w > span { display: inline-block; will-change: transform; }
.line { display: block; overflow: hidden; padding-bottom: .06em; margin-bottom: -.06em; }
.line > span { display: block; will-change: transform; }

/* ---------- Buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 12px 30px; border-radius: 999px; font-weight: 700; font-size: 1rem; border: 1.5px solid transparent; text-decoration: none !important; white-space: nowrap; position: relative; overflow: hidden; isolation: isolate; transition: color .35s var(--ease), border-color .35s var(--ease), transform .35s var(--ease-out); }
.btn::before { content: ""; position: absolute; inset: 0; background: var(--btn-hover, #000); border-radius: inherit; transform: translateY(101%); transition: transform .45s var(--ease-out); z-index: -1; }
.btn:hover::before { transform: translateY(0); }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0) scale(.975); transition-duration: .12s; }
.btn--primary { box-shadow: 0 12px 28px -12px rgba(31,143,191,.7); }
.btn--primary:hover { box-shadow: 0 16px 32px -12px rgba(11,11,12,.5); }
.btn svg { width: 20px; height: 20px; flex: none; }
.btn--primary { background: var(--accent); color: #fff; --btn-hover: #0b0b0c; }
.btn--light { background: #fff; color: var(--ink); --btn-hover: var(--accent); }
.btn--light:hover { color: #fff; }
.btn--dark { background: var(--ink); color: #fff; --btn-hover: var(--accent); }
.btn--outline { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); --btn-hover: #fff; }
.btn--outline:hover { color: var(--ink); border-color: #fff; }
.btn--ghost { background: transparent; color: var(--ink); border-color: var(--ink); --btn-hover: var(--ink); }
.btn--ghost:hover { color: #fff; }
.btn--whatsapp { background: #1f9d4e; color: #fff; --btn-hover: #14733a; }
.btn--instagram { background: var(--ink); color: #fff; --btn-hover: #333; }
.btn--mail { background: var(--accent); color: #fff; --btn-hover: var(--accent-deep); }
.btn--block { width: 100%; }
.btn--xl { min-height: 68px; padding-inline: 40px; font-size: 1.15rem; }
/* כפתור "לקבלת הצעת מחיר" מעוצב (תמונה + טקסט) */
.btn--quote { position: relative; isolation: isolate; background: none; border: 0; min-height: 0; height: 74px; min-width: 222px; padding: 0; padding-inline-start: 60px; padding-inline-end: 20px; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 800; font-size: 1.08rem; letter-spacing: -.01em; line-height: 1.1; text-shadow: 0 1px 2px rgba(0,0,0,.35); border-radius: 999px; box-shadow: 0 16px 32px -14px rgba(31,143,191,.8); transition: transform .35s var(--ease-out), box-shadow .35s; }
.btn--quote::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../images/btn-quote.webp") center / 100% 100% no-repeat; border-radius: inherit; transform: none; transition: filter .3s; }
.btn--quote:hover::before, .btn--quote:focus-visible::before { transform: none; filter: brightness(1.1) saturate(1.05); }
.btn--quote:hover { transform: translateY(-2px); box-shadow: 0 22px 40px -14px rgba(31,143,191,.9); }
.btn--quote:active { transform: translateY(1px) scale(.98); }
.btn--quote svg { display: none; }
@media (max-width: 480px) { .btn--quote { height: 64px; min-width: 192px; padding-inline-start: 52px; padding-inline-end: 16px; font-size: .98rem; } }

/* ---------- Loader ---------- */
.loader { position: fixed; inset: 0; z-index: 2000; background: var(--black); color: #fff; display: flex; align-items: flex-end; justify-content: space-between; padding: 28px var(--gutter); animation: loader-out .7s var(--ease-out) 1.6s forwards; }
.loader__num { font-size: clamp(4rem, 14vw, 10rem); font-weight: 900; line-height: .9; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.loader__name { font-size: .85rem; letter-spacing: .2em; color: var(--on-dark-muted); }
.loader.is-done { display: none; }
@keyframes loader-out { to { transform: translateY(-101%); visibility: hidden; } }
@media (prefers-reduced-motion: reduce) { .loader { display: none; } }

/* ---------- Header ---------- */
.header { position: fixed; inset: 0 0 auto 0; z-index: 100; height: var(--header-h); color: var(--hdr-fg); transition: color .4s var(--ease), background .4s var(--ease), transform .4s var(--ease-out); }
.header.is-hidden { transform: translateY(-100%); }
.header__inner { display: flex; align-items: center; justify-content: space-between; height: var(--header-h); gap: 16px; }
.logo { display: inline-flex; align-items: center; background: #fff; padding: 6px 14px; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.logo img { height: 52px; width: auto; }
@media (max-width: 480px) { .logo img { height: 44px; } }
.nav { display: none; }
.header__quote { display: none; min-height: 44px; padding: 8px 22px; font-size: .92rem; }
@media (min-width: 1200px) { .header__quote { display: inline-flex; margin-inline-start: 8px; } }
@media (min-width: 1000px) and (max-width: 1199px) { .nav a { padding: 8px 9px; font-size: .9rem; } }
.nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.nav a { display: block; padding: 8px 12px; font-weight: 600; font-size: .95rem; position: relative; }
.nav ul > li > a::after { content: ""; position: absolute; inset-inline: 12px; bottom: 4px; height: 2px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .35s var(--ease-out); }
.nav ul > li > a:hover::after, .nav ul > li > a.is-active::after { transform: scaleX(1); }
/* תפריט נפתח: תחומי פעילות */
.nav__item--sub { position: relative; display: flex; align-items: center; }
.nav__item--sub .nav__parent { padding-inline-end: 4px; }
.nav__caret { display: grid; place-items: center; width: 30px; height: 30px; margin-inline-end: 4px; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; }
.nav__caret svg { width: 15px; height: 15px; transition: transform .3s var(--ease-out); }
.nav__caret:hover, .nav__caret:focus-visible { background: rgba(127,127,127,.18); }
.nav__item--sub:hover .nav__caret svg, .nav__item--sub.is-open .nav__caret svg { transform: rotate(180deg); }
.nav__sub { position: absolute; top: calc(100% + 8px); inset-inline-start: -6px; width: 372px; padding: 10px; display: grid; gap: 2px; background: #fff; color: var(--ink); border-radius: 16px; box-shadow: 0 28px 64px -22px rgba(14,18,22,.5), 0 0 0 1px rgba(14,18,22,.07); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .25s var(--ease-out), transform .3s var(--ease-out), visibility 0s .3s; z-index: 5; }
.nav__sub::before { content: ""; position: absolute; top: -14px; inset-inline: 0; height: 14px; }
.nav__item--sub:hover .nav__sub, .nav__item--sub:focus-within .nav__sub, .nav__item--sub.is-open .nav__sub { opacity: 1; visibility: visible; transform: none; transition: opacity .25s var(--ease-out), transform .3s var(--ease-out), visibility 0s; }
.nav__sub a { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 11px; font-weight: 600; font-size: .92rem; line-height: 1.25; color: var(--ink); transition: background .2s; }
.nav__sub a:hover, .nav__sub a:focus-visible, .nav__sub a.is-current { background: var(--paper); }
.nav__sub a.is-current strong { color: var(--accent-deep); }
.nav__sub img { width: 42px; height: 42px; flex: none; border-radius: 11px; background: var(--paper); object-fit: cover; }
.nav__sub strong { display: block; font-weight: 700; }
.nav__sub small { display: block; font-weight: 400; font-size: .78rem; color: var(--muted); margin-top: 2px; }
.nav__sub .nav__sub-all { justify-content: center; margin-top: 6px; padding: 10px; border-top: 1px solid var(--line); border-radius: 0 0 11px 11px; color: var(--accent-deep); font-size: .86rem; letter-spacing: .02em; }
.header.is-hidden .nav__sub { visibility: hidden; opacity: 0; }
.nav-toggle { display: inline-flex; align-items: center; gap: 12px; height: 48px; padding: 0 6px 0 18px; border-radius: 999px; border: 1px solid var(--hdr-line); background: transparent; color: inherit; font-weight: 700; font-size: .95rem; transition: border-color .4s; }
.nav-toggle .nav-toggle__icon { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: currentColor; }
.nav-toggle span.bars, .nav-toggle span.bars::before, .nav-toggle span.bars::after { display: block; width: 16px; height: 2px; background: var(--hdr-bg, #000); position: relative; transition: transform .25s var(--ease), opacity .25s; }
.nav-toggle span.bars::before, .nav-toggle span.bars::after { content: ""; position: absolute; right: 0; }
.nav-toggle span.bars::before { top: -5px; }
.nav-toggle span.bars::after { top: 5px; }
.nav-toggle[aria-expanded="true"] span.bars { background: transparent; }
.nav-toggle[aria-expanded="true"] span.bars::before { transform: translateY(5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span.bars::after { transform: translateY(-5px) rotate(-45deg); }
.header[data-theme="light"] { --hdr-fg: var(--ink); --hdr-line: rgba(0,0,0,.25); --hdr-bg: #fff; }
.header[data-theme="dark"] { --hdr-fg: #fff; --hdr-line: rgba(255,255,255,.35); --hdr-bg: #0b0b0c; }
.header.is-scrolled { backdrop-filter: blur(10px); }
.header.is-scrolled[data-theme="light"] { background: rgba(243,241,236,.85); box-shadow: 0 1px 0 rgba(14,18,22,.08); }
.header.is-scrolled[data-theme="dark"] { background: rgba(11,11,12,.72); box-shadow: 0 1px 0 rgba(255,255,255,.08); }
/* תפריט מסך מלא */
.mobile-menu { position: fixed; inset: 0; z-index: 99; background: var(--black); color: #fff; padding: calc(var(--header-h) + 20px) var(--gutter) 40px; overflow-y: auto; clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path .7s var(--ease-out), visibility 0s .7s; display: grid; align-content: space-between; gap: 32px; }
.mobile-menu::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(60% 50% at 100% 0%, rgba(31,143,191,.28), transparent 70%), linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 100% 100%, 56px 56px, 56px 56px; -webkit-mask-image: linear-gradient(#000 40%, transparent); mask-image: linear-gradient(#000 40%, transparent); }
.mobile-menu.is-open { clip-path: inset(0); visibility: visible; transition: clip-path .7s var(--ease-out), visibility 0s; }
.mobile-menu > ul, .mobile-menu__foot { position: relative; width: 100%; max-width: 860px; }
.mobile-menu ul { list-style: none; margin: 0; padding: 0; }
.mobile-menu li { overflow: hidden; }
.mobile-menu ul a { display: flex; align-items: center; gap: 14px; padding: 13px 0; font-size: clamp(1.45rem, 4.6vw, 2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; border-bottom: 1px solid rgba(255,255,255,.09); transform: translateY(110%); transition: transform .8s var(--ease-out), color .3s; }
.mobile-menu ul a small { font-size: .72rem; font-weight: 700; color: var(--accent-2); letter-spacing: .1em; min-width: 22px; font-variant-numeric: tabular-nums; }
.mobile-menu ul a:hover { color: var(--accent-2); }
.mobile-menu__arrow { margin-inline-start: auto; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); display: grid; place-items: center; color: #fff; opacity: .55; transition: background .3s, color .3s, opacity .3s, transform .45s var(--ease-out); }
.mobile-menu__arrow svg { width: 16px; height: 16px; }
.mobile-menu ul a:hover .mobile-menu__arrow { background: #fff; color: var(--ink); border-color: #fff; opacity: 1; transform: rotate(-45deg); }
.mobile-menu.is-open ul a { transform: none; }
.mobile-menu.is-open li:nth-child(1) a { transition-delay: .15s; } .mobile-menu.is-open li:nth-child(2) a { transition-delay: .2s; } .mobile-menu.is-open li:nth-child(3) a { transition-delay: .25s; } .mobile-menu.is-open li:nth-child(4) a { transition-delay: .3s; } .mobile-menu.is-open li:nth-child(5) a { transition-delay: .35s; } .mobile-menu.is-open li:nth-child(6) a { transition-delay: .4s; } .mobile-menu.is-open li:nth-child(7) a { transition-delay: .45s; } .mobile-menu.is-open li:nth-child(8) a { transition-delay: .5s; }
.mobile-menu__sub { list-style: none; margin: 0; padding: 10px 0 18px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
@media (min-width: 700px) { .mobile-menu__sub { grid-template-columns: repeat(3, 1fr); gap: 10px; } }
.mobile-menu ul .mobile-menu__sub a { display: flex; align-items: center; gap: 10px; padding: 9px 12px 9px 10px; min-height: 52px; font-size: .9rem; font-weight: 700; letter-spacing: 0; line-height: 1.2; color: var(--on-dark); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.045); transition: transform .8s var(--ease-out), border-color .25s, color .25s, background .25s; }
.mobile-menu ul .mobile-menu__sub a img { width: 34px; height: 34px; flex: none; border-radius: 9px; background: rgba(255,255,255,.08); padding: 2px; }
.mobile-menu ul .mobile-menu__sub a:hover, .mobile-menu ul .mobile-menu__sub a[aria-current="page"] { color: #fff; border-color: var(--accent-2); background: rgba(79,187,234,.14); }
.mobile-menu__foot { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; color: var(--on-dark-muted); font-size: .95rem; }
.mobile-menu__pill { display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 8px 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); color: #fff; font-weight: 600; font-size: .95rem; transition: background .25s, border-color .25s, transform .3s var(--ease-out); }
.mobile-menu__pill svg { width: 18px; height: 18px; flex: none; }
.mobile-menu__pill b { font-weight: 800; }
.mobile-menu__pill:hover { background: rgba(255,255,255,.1); border-color: #fff; transform: translateY(-2px); }
.mobile-menu__pill--wa { background: #25d366; border-color: #25d366; color: #05301a; }
.mobile-menu__pill--wa:hover { background: #3ee07b; border-color: #3ee07b; }
.mobile-menu__addr { flex-basis: 100%; font-size: .88rem; }
@media (min-width: 1000px) {
  .nav { display: block; }
  .mobile-menu ul a { font-size: 2.3rem; }
  .mobile-menu ul .mobile-menu__sub a { font-size: .98rem; min-height: 56px; }
  .mobile-menu ul .mobile-menu__sub a img { width: 38px; height: 38px; }
}

/* ---------- Custom cursor ---------- */
.cursor { display: none; }
@media (hover: hover) and (pointer: fine) {
  .cursor { display: block; position: fixed; top: 0; left: 0; z-index: 3000; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--accent); pointer-events: none; mix-blend-mode: difference; transition: transform .3s var(--ease-out), background .3s; }
  .cursor.is-hover { transform: scale(5); background: #fff; }
  .cursor.is-hidden { opacity: 0; }
  html.a11y-cursor .cursor { display: none; }
}

/* ---------- Hero ---------- */
.hero { position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; overflow: hidden; background: var(--black); }
.hero__media { position: absolute; inset: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; transform-origin: center; filter: saturate(.82) contrast(.96); will-change: transform; }
/* תנועת "רחפן" ללא GSAP */
html.hero-drift .hero__media img { animation: drone 22s ease-in-out infinite alternate; }
@keyframes drone { from { transform: scale(1.02) translate(0, 0); } to { transform: scale(1.14) translate(-2.5%, 2.2%) rotate(.4deg); } }
.hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(38,52,66,.55) 0%, rgba(38,52,66,.08) 32%, rgba(14,18,22,.35) 62%, rgba(14,18,22,.96) 100%); }
.hero__shade::after { content: ""; position: absolute; inset: 0; background-image: var(--grain); opacity: .06; mix-blend-mode: soft-light; pointer-events: none; }
.hero__inner { position: relative; padding-top: calc(var(--header-h) + 40px); padding-bottom: 32px; display: grid; gap: 28px; }
.hero__kicker { display: inline-flex; align-items: center; gap: 12px; font-size: .82rem; letter-spacing: .2em; font-weight: 600; color: rgba(255,255,255,.85); margin: 0 0 clamp(10px, 3vw, 36px); }
.hero__kicker::before { content: ""; width: 44px; height: 1px; background: var(--accent-2); }
.hero h1 { color: #fff; max-width: 14ch; }
.hero__row { display: grid; gap: 28px; align-items: end; }
.hero__lead { font-size: clamp(1.1rem, 1.6vw, 1.4rem); line-height: 1.55; font-weight: 300; max-width: 46ch; color: rgba(255,255,255,.9); margin: 0; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.hero__trust { flex-basis: 100%; margin: 4px 0 0; font-size: .82rem; color: rgba(255,255,255,.75); letter-spacing: .02em; }
.hero__foot { position: relative; border-top: 1px solid rgba(255,255,255,.2); margin-top: 20px; padding-top: 22px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; }
.facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 18px 44px; }
.facts li { display: grid; gap: 2px; }
.facts strong { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 900; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.facts b { color: var(--accent-2); font-weight: inherit; }
.facts small { font-size: .82rem; color: rgba(255,255,255,.7); letter-spacing: .04em; }
.scroll-cue { display: inline-flex; align-items: center; gap: 12px; font-size: .78rem; letter-spacing: .2em; color: rgba(255,255,255,.7); }
.scroll-cue i { width: 1px; height: 44px; background: rgba(255,255,255,.35); position: relative; overflow: hidden; }
.scroll-cue i::after { content: ""; position: absolute; inset: 0; background: #fff; transform-origin: top; animation: cue 2s var(--ease) infinite; }
@keyframes cue { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
.hero__stamp { position: absolute; top: calc(var(--header-h) + 16px); inset-inline-end: var(--gutter); font-size: .72rem; letter-spacing: .12em; color: rgba(255,255,255,.8); border: 1px solid rgba(255,255,255,.35); padding: 5px 12px; border-radius: 999px; backdrop-filter: blur(6px); }
@media (min-width: 900px) { .hero__row { grid-template-columns: 1.2fr 1fr; } .hero__actions { justify-self: end; } }

/* ---------- Clients marquee ---------- */
.marquee { background: var(--black); color: #fff; padding-block: 34px; overflow: hidden; border-block: 1px solid var(--line-dark); }
.marquee__label { text-align: center; font-size: .78rem; letter-spacing: .2em; color: var(--on-dark-muted); margin: 0 0 22px; }
.marquee__track { display: flex; gap: 0; width: max-content; animation: marquee 40s linear infinite; will-change: transform; backface-visibility: hidden; }
.marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.marquee--reverse .marquee__track { animation-direction: reverse; }
/* המרקיזה רצה תמיד, גם בריחוף */
@keyframes marquee { to { transform: translateX(50%); } }
.marquee__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 0; }
.marquee__list li { display: inline-flex; align-items: center; gap: 28px; padding-inline: 34px; font-size: clamp(1.8rem, 4.5vw, 3.6rem); font-weight: 900; letter-spacing: -.03em; color: #fff; white-space: nowrap; }
.marquee__list li::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); flex: none; }
.marquee__list img { height: clamp(52px, 6vw, 72px); width: auto; background: #fff; padding: 8px 16px; border-radius: 10px; }
.marquee__list .txt { font-family: var(--font); }
.marquee__list .txt small { display: block; font-size: .7rem; font-weight: 500; letter-spacing: .1em; color: var(--on-dark-muted); }
.marquee__list .txt.ltr { direction: ltr; text-align: left; }

/* ---------- Standards strip ---------- */
.standards { background: var(--paper); border-bottom: 1px solid var(--line); }
.standards__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding-block: 20px; }
.standards__label { margin: 0; font-size: .78rem; letter-spacing: .16em; font-weight: 700; color: var(--muted); }
.standards__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 10px; }
.standards__list li { display: inline-flex; align-items: center; gap: 12px; font-size: .92rem; font-weight: 700; padding: 6px 18px 6px 6px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink); transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out), border-color .3s; }
.standards__list li:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); border-color: rgba(31,143,191,.4); }
.standards__list img { width: 60px; height: 60px; flex: none; border-radius: 50%; background: #f2f0eb; }
@media (max-width: 480px) { .standards__list { display: grid; grid-template-columns: 1fr; width: 100%; } .standards__list li { border-radius: 16px; } }

/* ---------- Quick lead block ---------- */
.quick { background: var(--accent); color: #fff; }
.quick__inner { display: grid; gap: 28px; padding-block: clamp(48px, 7vw, 88px); align-items: center; }
.quick__title { font-size: clamp(1.8rem, 4vw, 3rem); margin-bottom: 8px; }
.quick p { margin: 0; color: rgba(255,255,255,.9); font-weight: 300; font-size: 1.05rem; }
.quick p a { font-weight: 700; text-decoration: underline; }
@media (min-width: 900px) { .quick__sub { white-space: nowrap; font-size: .98rem; } .quick__inner { grid-template-columns: auto 1fr; } }
.quick__form { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: start; }
.quick__form input[type="tel"] { min-height: 56px; padding: 12px 18px; border-radius: 999px; border: 0; font: inherit; font-size: 1.05rem; color: var(--ink); background: #fff; width: 100%; }
.quick__form input[type="tel"]:focus { outline: 3px solid #fff; outline-offset: 3px; }
.quick__form .btn { background: var(--ink); color: #fff; --btn-hover: #000; min-height: 56px; }
.quick__consent { grid-column: 1 / -1; font-size: .78rem !important; color: rgba(255,255,255,.8) !important; }
.quick__consent a { text-decoration: underline; }
.quick__form .form__notice { grid-column: 1 / -1; margin-top: 0; }
@media (min-width: 900px) { .quick__inner { grid-template-columns: 1.1fr 1fr; gap: 56px; } }
@media (max-width: 480px) { .quick__form { grid-template-columns: 1fr; } .quick__form .btn { width: 100%; } }

/* ---------- FAQ ---------- */
.faq { max-width: 900px; }
.faq__list { border-top: 1px solid var(--line); }
.faq__item { border-bottom: 1px solid var(--line); }
.faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0; font-size: clamp(1.1rem, 1.8vw, 1.35rem); font-weight: 700; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary:hover { color: var(--accent-deep); }
.faq__item summary:hover .faq__icon { border-color: var(--accent-deep); color: var(--accent-deep); }
.faq__icon { width: 36px; height: 36px; flex: none; border-radius: 50%; border: 1px solid var(--ink); position: relative; transition: transform .4s var(--ease-out), background .3s; }
.faq__icon::before, .faq__icon::after { content: ""; position: absolute; top: 50%; left: 50%; width: 14px; height: 2px; background: currentColor; transform: translate(-50%, -50%); }
.faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq__item[open] .faq__icon { transform: rotate(45deg); background: var(--ink); color: #fff; }
.faq__item p { margin: 0 0 24px; color: var(--ink-2); font-weight: 300; line-height: 1.7; max-width: 66ch; }
.req { color: var(--accent); }

/* ---------- Mobile CTA bar ---------- */
.mobile-cta { position: fixed; inset: auto 0 0 0; z-index: 95; display: grid; grid-template-columns: 1fr 1fr; background: rgba(11,11,12,.96); backdrop-filter: blur(10px); border-top: 1px solid var(--line-dark); padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); gap: 6px; }
.mobile-cta a { display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: 999px; color: #fff; font-weight: 700; font-size: .9rem; border: 1px solid var(--line-dark); }
.mobile-cta a svg { width: 20px; height: 20px; }
.mobile-cta__main { background: var(--accent); border-color: var(--accent) !important; }
.mobile-cta__call { position: relative; isolation: isolate; justify-self: center; width: 100%; max-width: 156px; min-height: 52px; border: 0 !important; background: none; padding-inline-start: 46px; padding-inline-end: 14px; font-weight: 800; font-size: .95rem; text-shadow: 0 1px 2px rgba(0,0,0,.35); box-shadow: 0 10px 22px -10px rgba(31,143,191,.85); transition: transform .25s var(--ease-out); }
.mobile-cta__call::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../images/btn-call.webp") center / 100% 100% no-repeat; border-radius: 999px; }
.mobile-cta__call:active { transform: scale(.96); }
.mobile-cta__wa { border: 0 !important; background: transparent; position: relative; overflow: visible; gap: 2px; flex-direction: column !important; }
.mobile-cta__wa img { width: 58px; height: auto; margin-top: -26px; filter: drop-shadow(0 8px 14px rgba(0,0,0,.35)); animation: wa-bob 3.8s ease-in-out infinite; transform-origin: 50% 90%; }
.mobile-cta__wa span { font-size: .72rem; margin-top: -6px; }
@media (min-width: 1000px) { .mobile-cta { display: none; } }
@media (max-width: 999px) { body { padding-bottom: 72px; } .wa-float { display: none !important; } .a11y { bottom: 84px !important; } }

/* ---------- Manifesto (text scrub) ---------- */
.manifesto { background: var(--paper); }
.manifesto p { font-size: clamp(1.6rem, 4.2vw, 3.6rem); font-weight: 700; line-height: 1.25; letter-spacing: -.02em; max-width: 26ch; margin: 0; }
.manifesto .sw { transition: opacity .2s; }
.manifesto .accent { color: var(--accent); }
.manifesto__meta { margin-top: 48px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; font-size: .9rem; color: var(--muted); }
.manifesto__meta > div { display: grid; gap: 2px; align-content: start; padding: 18px 20px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); transition: transform .4s var(--ease-out), box-shadow .4s var(--ease-out); }
.manifesto__meta > div:hover { transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.manifesto__meta img { width: 72px; height: 72px; margin-bottom: 8px; transition: transform .4s var(--ease-out); }
.manifesto__meta > div:hover img { transform: translateY(-3px) rotate(-3deg); }
.manifesto__meta strong { display: block; color: var(--ink); font-size: 1.1rem; }

/* ---------- About ---------- */
.about { display: grid; gap: 44px; align-items: center; }
.about__media { position: relative; }
.about__img { overflow: hidden; border-radius: var(--radius); aspect-ratio: 4/5; }
.about__illu { position: relative; aspect-ratio: 4/5; border-radius: var(--radius-lg); overflow: hidden; background: #f3f1ec; border: 1px solid var(--line); }
.about__illu > img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.about__illu-tag { position: absolute; top: 14px; inset-inline-start: 14px; font-size: .7rem; letter-spacing: .12em; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: rgba(12,13,15,.75); color: #fff; }
.about__illu-brand { position: absolute; top: 12px; inset-inline-end: 12px; display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: 999px; padding: 6px 16px 6px 8px; }
.about__illu-brand img { height: 34px; width: auto; }
.about__illu-brand span { font-size: .78rem; letter-spacing: .2em; font-weight: 700; color: var(--muted); }
.about__logo { aspect-ratio: 4/5; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); display: grid; place-items: center; align-content: center; gap: 22px; padding: 12%; position: relative; overflow: hidden; }
.about__logo::before { content: ""; position: absolute; inset: auto -30% -40% auto; width: 120%; aspect-ratio: 1; border-radius: 50%; border: 1px solid var(--line); }
.about__logo::after { content: ""; position: absolute; inset: auto -30% -40% auto; width: 90%; aspect-ratio: 1; border-radius: 50%; border: 1px solid var(--line); }
.about__logo img { width: 100%; max-width: 360px; height: auto; position: relative; z-index: 1; }
.about__logo-line { position: relative; z-index: 1; font-size: .8rem; letter-spacing: .22em; font-weight: 600; color: var(--muted); }
.about__img img { width: 100%; height: 100%; object-fit: cover; }
.about__badge { position: absolute; bottom: -22px; inset-inline-start: -14px; display: flex; align-items: center; gap: 14px; padding: 12px 22px 12px 16px; border-radius: 999px; background: rgba(255,255,255,.94); border: 1px solid var(--line); box-shadow: 0 16px 40px rgba(0,0,0,.12); backdrop-filter: blur(6px); }
.about__badge strong { font-size: clamp(2.2rem, 3.4vw, 3rem); font-weight: 900; line-height: 1; letter-spacing: -.04em; color: var(--accent-deep); }
.about__badge small { font-size: .78rem; line-height: 1.25; font-weight: 700; color: var(--muted); letter-spacing: .04em; }
.about__body p { color: var(--ink-2); font-weight: 300; font-size: 1.1rem; line-height: 1.7; }
.about__body p strong { color: var(--ink); font-weight: 700; }
.about__list { list-style: none; padding: 0; margin: 28px 0 0; display: grid; }
.about__list li { display: flex; gap: 16px; align-items: flex-start; padding: 18px 0; border-top: 1px solid var(--line); }
.about__list img { width: 56px; height: 56px; flex: none; border-radius: 14px; background: #f3f1ec; border: 1px solid var(--line); transition: transform .4s var(--ease-out); }
.about__list li:hover img { transform: translateY(-3px) rotate(-3deg); }
.about__list strong { display: block; margin-bottom: 2px; }
.about__list span { color: var(--muted); font-size: .95rem; }
@media (min-width: 900px) { .about { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 80px; } }

/* ---------- Story (family) ---------- */
.story { background: var(--paper); }
.story__inner { display: grid; gap: 44px; align-items: start; }
.story__body p { color: var(--ink-2); font-weight: 300; font-size: 1.12rem; line-height: 1.75; max-width: 66ch; }
.story__body p strong { color: var(--ink); font-weight: 700; }
.story__sign { margin-top: 20px !important; font-weight: 800 !important; color: var(--accent-deep) !important; font-size: 1.05rem !important; letter-spacing: .02em; }
.story__sign::before { content: ""; display: inline-block; width: 36px; height: 2px; background: var(--accent); vertical-align: middle; margin-inline-end: 12px; }
.story__quote { margin: 28px 0 0; padding: 22px 26px; border-inline-start: 4px solid var(--accent); background: var(--white); border-radius: 0 var(--radius-lg) var(--radius-lg) 0; box-shadow: var(--shadow-sm); }
[dir="rtl"] .story__quote { border-radius: var(--radius-lg) 0 0 var(--radius-lg); }
.story__quote p { margin: 0; font-size: clamp(1.3rem, 2.4vw, 1.8rem); font-weight: 800; letter-spacing: -.02em; color: var(--ink); line-height: 1.25; }
.story__quote footer { margin-top: 8px; font-size: .85rem; color: var(--muted); }
.timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; position: relative; }
.timeline::before { content: ""; position: absolute; top: 12px; bottom: 12px; inset-inline-start: 11px; width: 2px; background: var(--line); }
.timeline li { position: relative; display: grid; gap: 4px; padding: 0 0 30px 0; padding-inline-start: 40px; }
.timeline li:last-child { padding-bottom: 0; }
.timeline li::before { content: ""; position: absolute; top: 8px; inset-inline-start: 4px; width: 16px; height: 16px; border-radius: 50%; background: var(--paper); border: 3px solid var(--accent); box-shadow: 0 0 0 4px var(--paper); }
.timeline li:last-child::before { background: var(--accent); }
.timeline__year { font-size: clamp(2rem, 3vw, 2.6rem); font-weight: 900; line-height: 1; letter-spacing: -.03em; color: var(--accent-deep); font-variant-numeric: tabular-nums; }
.timeline strong { font-size: 1.05rem; }
.timeline li > span:last-child { color: var(--muted); font-size: .95rem; line-height: 1.6; max-width: 34ch; }
@media (min-width: 900px) { .story__inner { grid-template-columns: minmax(0, 860px); gap: 80px; } .timeline { position: sticky; top: calc(var(--header-h) + 32px); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 30px 28px; box-shadow: var(--shadow-sm); } .timeline::before { top: 42px; bottom: 42px; inset-inline-start: 39px; } .timeline li::before { inset-inline-start: 32px; box-shadow: 0 0 0 4px var(--white); } .timeline li { padding-inline-start: 68px; } .timeline li::before { background: var(--white); } .timeline li:last-child::before { background: var(--accent); } }

/* ---------- Fields: interactive list with hover preview ---------- */
.fields { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-dark); position: relative; }
.field { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line-dark); color: inherit; position: relative; transition: padding .4s var(--ease-out); }
.field:hover, .field:focus-visible { padding-inline-start: 14px; }
.field__icon { display: grid; justify-items: center; gap: 4px; align-self: start; }
.field__icon img { width: 56px; height: 56px; border-radius: 16px; background: rgba(255,255,255,.06); border: 1px solid var(--line-dark); padding: 4px; transition: transform .5s var(--ease-out), background .35s, border-color .35s; }
.field:hover .field__icon img { transform: translateY(-4px) rotate(-4deg) scale(1.05); background: rgba(255,255,255,.12); border-color: rgba(79,187,234,.5); }
.field__num { font-size: .72rem; color: var(--accent-2); font-weight: 600; letter-spacing: .1em; font-variant-numeric: tabular-nums; }
.field__body { display: grid; gap: 4px; }
.field h3 { font-size: clamp(1.5rem, 3.6vw, 3rem); font-weight: 800; letter-spacing: -.03em; margin: 0; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 12px; transition: color .3s; }
.field:hover h3 { color: var(--accent-2); }
.field p { margin: 0; color: var(--on-dark-muted); font-size: 1rem; max-width: 60ch; font-weight: 300; }
.field__badge { font-size: .88rem; font-weight: 700; letter-spacing: .08em; padding: 7px 16px; border-radius: 999px; background: var(--accent); color: #fff; vertical-align: middle; box-shadow: 0 6px 16px -6px rgba(31,143,191,.7); }
.field__arrow { width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--line-dark); display: grid; place-items: center; transition: background .35s, border-color .35s, transform .5s var(--ease-out); }
.field__arrow svg { width: 22px; height: 22px; }
.field:hover .field__arrow { background: #fff; color: var(--ink); border-color: #fff; transform: rotate(-45deg); }
.field__thumb { grid-column: 1 / -1; aspect-ratio: 16/9; overflow: hidden; border-radius: 12px; }
.field__thumb img { width: 100%; height: 100%; object-fit: cover; }
.fields__preview { display: none; }
/* תחומי פעילות: אריחים קומפקטיים בעמוד הבית */
.fields-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 560px) { .fields-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .fields-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
.field-tile { position: relative; display: grid; gap: 22px; justify-items: start; align-content: space-between; min-height: 100%; padding: 26px 24px 24px; border: 1px solid var(--line-dark); border-radius: var(--radius-lg); background: rgba(255,255,255,.035); color: #fff; transition: background .35s var(--ease), border-color .35s var(--ease), transform .45s var(--ease-out); }
.field-tile img { width: 68px; height: 68px; border-radius: 18px; background: rgba(255,255,255,.06); border: 1px solid var(--line-dark); padding: 5px; transition: transform .45s var(--ease-out), background .35s, border-color .35s; }
.field-tile__name { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: clamp(1.25rem, 1.8vw, 1.6rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; transition: color .3s; }
.field-tile__name .field__badge { font-size: .72rem; padding: 5px 11px; }
.field-tile__arrow { position: absolute; top: 22px; inset-inline-end: 22px; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line-dark); display: grid; place-items: center; color: #fff; transition: background .3s, color .3s, border-color .3s, transform .45s var(--ease-out); }
.field-tile__arrow svg { width: 20px; height: 20px; }
.field-tile:hover, .field-tile:focus-visible { background: rgba(255,255,255,.075); border-color: rgba(79,187,234,.55); transform: translateY(-5px); }
.field-tile:hover img { transform: translateY(-3px) rotate(-4deg) scale(1.05); background: rgba(255,255,255,.12); border-color: rgba(79,187,234,.5); }
.field-tile:hover .field-tile__name { color: var(--accent-2); }
.field-tile:hover .field-tile__arrow { background: #fff; color: var(--ink); border-color: #fff; transform: rotate(-45deg); }
/* עמודי משנה ראשיים (אודות, פרויקטים, גלריה, מאמרים, צור קשר) */
@media (max-width: 559px) {
  .field-tile { grid-template-columns: auto 1fr; align-items: center; gap: 14px; padding: 14px 16px 14px 62px; }
  .field-tile img { width: 52px; height: 52px; border-radius: 14px; }
  .field-tile__name { font-size: 1.15rem; }
  .field-tile__arrow { top: 50%; inset-inline-end: 14px; width: 36px; height: 36px; transform: translateY(-50%); }
  .field-tile:hover .field-tile__arrow { transform: translateY(-50%) rotate(-45deg); }
}
.page-hero { padding-block: 56px 64px; }
.page-hero h1 { max-width: 16ch; }
.page-hero + .section { padding-top: clamp(56px, 8vw, 96px); }
@media (min-width: 1000px) {
  .field { grid-template-columns: 96px 1fr auto; padding: 34px 0; }
  .field__icon img { width: 68px; height: 68px; }
  .field__thumb { display: none; }
  .fields__preview { display: block; position: fixed; top: 0; left: 0; width: 360px; aspect-ratio: 4/3; border-radius: var(--radius); overflow: hidden; pointer-events: none; z-index: 50; opacity: 0; transform: scale(.85); transition: opacity .35s var(--ease), transform .5s var(--ease-out); box-shadow: var(--shadow); }
  .fields__preview.is-on { opacity: 1; transform: scale(1); }
  .fields__preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .35s; }
  .fields__preview img.is-on { opacity: 1; }
}

/* ---------- Projects: horizontal scroll ---------- */
.hscroll { background: var(--paper); overflow: hidden; }
.hscroll__head { padding-block: clamp(80px, 12vw, 160px) 40px; }
.hscroll__viewport { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; padding-bottom: 24px; scrollbar-width: none; cursor: grab; }
.hscroll__viewport.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.hscroll__nav { display: flex; gap: 10px; padding: 8px var(--gutter) clamp(60px, 8vw, 120px); }
.hscroll__viewport::-webkit-scrollbar { display: none; }
.hscroll__track { display: flex; gap: 20px; padding-inline: var(--gutter); width: max-content; }
.pcard { position: relative; width: min(86vw, 520px); flex: none; scroll-snap-align: start; display: grid; gap: 18px; color: inherit; }
.pcard__media { position: relative; aspect-ratio: 4/3; overflow: hidden; border-radius: var(--radius); background: var(--black-3); }
.pcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-out); }
.pcard:hover .pcard__media img { transform: scale(1.06); }
.pcard__tag { position: absolute; top: 14px; inset-inline-start: 14px; font-size: .72rem; letter-spacing: .1em; font-weight: 600; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.9); color: var(--ink); }
.pcard__tag--render { background: var(--accent); color: #fff; }
.pcard__num { position: absolute; bottom: 12px; inset-inline-end: 16px; font-size: clamp(3rem, 6vw, 5rem); font-weight: 900; color: #fff; line-height: 1; letter-spacing: -.04em; opacity: .9; text-shadow: 0 6px 30px rgba(0,0,0,.5); }
.pcard h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 800; letter-spacing: -.02em; margin: 0; }
.pcard p { color: var(--ink-2); font-weight: 300; margin: 0; font-size: .98rem; line-height: 1.6; }
.pcard__meta { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pcard__meta li { font-size: .78rem; padding: 4px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-2); }
.pcard--end { width: min(70vw, 360px); display: grid; place-items: center; align-content: center; text-align: center; gap: 20px; }
.pcard--end h3 { font-size: clamp(1.6rem, 3vw, 2.6rem); }
@media (min-width: 1000px) {
  .hscroll__track { gap: 32px; padding-inline: var(--gutter); }
  .pcard { width: min(44vw, 640px); }
  .pcard__media { aspect-ratio: 16/10; }
}

/* ---------- Cases (projects, text only) ---------- */
.cases { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.case { display: grid; gap: 18px; padding-block: 36px; border-bottom: 1px solid var(--line); }
.case__head { display: grid; gap: 10px; align-content: start; }
.case__num { font-size: .85rem; letter-spacing: .14em; color: var(--accent-deep); font-weight: 700; font-variant-numeric: tabular-nums; }
.case__title { font-size: clamp(1.5rem, 3vw, 2.3rem); font-weight: 800; letter-spacing: -.02em; margin: 0; line-height: 1.15; }
.case__title em { font-style: normal; color: var(--muted); font-weight: 500; }
.case__lead { margin: 0; font-size: 1.05rem; color: var(--ink); font-weight: 500; max-width: 42ch; }
.case__tags { list-style: none; padding: 0; margin: 6px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.case__tags li { font-size: .78rem; padding: 4px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-2); background: var(--paper); }
.case__body p { margin: 0; color: var(--ink-2); font-weight: 300; line-height: 1.7; max-width: 62ch; }
@media (min-width: 900px) { .case { grid-template-columns: 1.05fr 1fr; gap: 56px; padding-block: 52px; } }

/* ---------- Projects: map panel with pins ---------- */
.projects__layout { display: grid; gap: 32px; }
.map-panel { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 20px 22px 16px; display: grid; gap: 8px; justify-items: center; box-shadow: var(--shadow-sm); }
.map-panel__kicker { margin: 0; font-size: .72rem; letter-spacing: .2em; font-weight: 700; color: var(--muted); justify-self: start; }
.ilmap { width: min(100%, 220px); height: auto; overflow: visible; display: block; }
.map__land { fill: var(--paper); stroke: var(--line); stroke-width: 1.5; stroke-linejoin: round; transition: fill .4s; }
.map__pin .map__dot { fill: var(--muted); stroke: #fff; stroke-width: 2.5; transform-box: fill-box; transform-origin: center; transition: fill .35s, transform .35s var(--ease-out); }
.map__pin .map__ring { fill: var(--accent); opacity: 0; transform-box: fill-box; transform-origin: center; transform: scale(.3); }
.map__pin .map__label { font-family: var(--font); font-size: 13px; font-weight: 700; fill: var(--muted); text-anchor: end; letter-spacing: .02em; transition: fill .35s; direction: ltr; unicode-bidi: isolate; }
.map__pin .map__label--r { text-anchor: start; }
.map__pin.is-on .map__dot { fill: var(--accent); transform: scale(1.4); }
.map__pin.is-on .map__label { fill: var(--accent-deep); }
.map__pin.is-on .map__ring { animation: map-pulse 1.8s var(--ease-out) infinite; }
@keyframes map-pulse { 0% { opacity: .45; transform: scale(.3); } 100% { opacity: 0; transform: scale(1.6); } }
.map-panel__caption { margin: 4px 0 0; font-size: .92rem; font-weight: 700; color: var(--ink); text-align: center; min-height: 1.5em; transition: opacity .3s; }
.map-panel__city:not(:empty)::after { content: " · "; color: var(--muted); }
.case.is-active .case__title { color: var(--accent-deep); }
.case__gallery .gallery__item { transition: opacity .4s; }
@media (min-width: 1000px) {
  .projects__layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 64px; align-items: start; }
  .map-panel { position: sticky; top: calc(var(--header-h) + 24px); }
  .ilmap { width: auto; max-width: 100%; height: min(600px, calc(100vh - 300px)); }
  .cases.has-active .case:not(.is-active) .case__gallery .gallery__item { opacity: .55; }
}
@media (max-width: 999px) {
  /* במובייל: המפה בעמודה צרה בצד, צמודה בגלילה, כמו במחשב */
  .projects__layout { grid-template-columns: minmax(0, 1fr) 84px; gap: 14px; align-items: start; }
  .map-panel { order: 0; position: sticky; top: calc(var(--header-h) + 12px); z-index: 5; display: grid; justify-items: center; gap: 6px; padding: 10px 6px 8px; border-radius: 16px; background: rgba(255,255,255,.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 10px 28px -12px rgba(14,18,22,.35); }
  .ilmap { width: 100%; height: auto; }
  .map__pin .map__label { display: none; }
  .map__pin .map__dot { r: 14; stroke-width: 4; }
  .map__pin.is-on .map__ring { r: 30; }
  .map-panel__kicker { display: none; }
  .map-panel__caption { margin: 0; font-size: .8rem; min-height: 0; text-align: center; line-height: 1.2; }
  .map-panel__city:not(:empty)::after { content: none; }
  .map-panel__city:not(:empty) + .map-panel__name { display: none; }
  .case { grid-template-columns: 1fr; }
  .case__title { font-size: clamp(1.3rem, 5.6vw, 1.9rem); }
}
}
}

/* ---------- Stats band ---------- */
.stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px 20px; }
.stats li { display: grid; gap: 8px; border-top: 1px solid var(--line-dark); padding-top: 22px; }
.stats strong { font-size: clamp(3rem, 8vw, 7rem); font-weight: 900; line-height: .95; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.stats b { color: var(--accent-2); font-weight: inherit; }
.stats span { color: var(--on-dark-muted); font-size: .95rem; max-width: 22ch; }
@media (min-width: 900px) { .stats { grid-template-columns: repeat(4, 1fr); gap: 40px; } }

/* ---------- Wide landscape band (aerial mood) ---------- */
.band { position: relative; height: clamp(320px, 52vw, 640px); overflow: hidden; background: var(--black); color: #fff; }
.band img { position: absolute; inset: -5% 0; width: 100%; height: 110%; object-fit: cover; object-position: center 50%; filter: saturate(.9); }
.band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(38,52,66,.35), rgba(14,18,22,.15) 45%, rgba(14,18,22,.8)); }
.band__inner { position: absolute; inset: auto 0 0 0; padding-bottom: clamp(32px, 5vw, 64px); z-index: 1; display: grid; gap: 10px; }
.band__kicker { position: absolute; top: clamp(18px, 4vw, 44px); inset-inline: 0; z-index: 2; text-align: center; font-size: .78rem; letter-spacing: .2em; color: rgba(255,255,255,.85); margin: 0; }
.band__kicker::after { content: ""; display: block; width: 1px; height: clamp(20px, 4vw, 40px); margin: 10px auto 0; background: linear-gradient(180deg, rgba(255,255,255,.7), transparent); }
.band__text { font-size: clamp(1.4rem, 3.4vw, 2.8rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; max-width: 22ch; margin: 0; }
.band__text em { font-style: normal; color: var(--accent-2); }

/* ---------- Process ---------- */
.process { list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: 0; }
.process::before { content: ""; position: absolute; top: 0; bottom: 0; inset-inline-start: 27px; width: 1px; background: var(--line); }
.process__line { position: absolute; top: 0; bottom: 0; inset-inline-start: 27px; width: 1px; background: var(--accent); transform-origin: top; transform: scaleY(0); }
.process li { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 6px 20px; padding-block: 28px; counter-increment: step; }
.process__icon { grid-row: 1 / span 2; }
.process li h3, .process li p { grid-column: 2; }
.process li::before { content: none; }
.process__icon { width: 56px; height: 56px; border-radius: 50%; background: var(--paper); border: 1px solid var(--line); position: relative; z-index: 1; transition: border-color .4s, box-shadow .4s; }
.process li.is-on .process__icon { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(31,143,191,.2); }

.process h3 { font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 800; letter-spacing: -.02em; margin-bottom: 6px; }
.process p { margin: 0; color: var(--muted); max-width: 56ch; font-weight: 300; }
@media (min-width: 900px) {
  .process { grid-template-columns: repeat(5, 1fr); gap: 32px; }
  .process::before, .process__line { top: 27px; bottom: auto; inset-inline: 0; height: 1px; width: auto; transform-origin: right; transform: scaleX(0); }
  .process::before { transform: none; }
  .process li { grid-template-columns: 1fr; padding-block: 0; }
  .process__icon { grid-row: auto; }
  .process li h3, .process li p { grid-column: 1; }
}

/* ---------- Testimonials ---------- */
.carousel { position: relative; }
.carousel__track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 8px; }
.carousel__track::-webkit-scrollbar { display: none; }
.testimonial { flex: 0 0 min(88%, 520px); scroll-snap-align: start; background: var(--white); border-radius: var(--radius); padding: 34px 30px 28px; position: relative; display: grid; gap: 22px; align-content: space-between; border: 1px solid var(--line); }
.testimonial::before { content: "“"; position: absolute; top: 10px; inset-inline-end: 24px; font-size: 6rem; line-height: 1; font-weight: 900; color: var(--accent); opacity: .9; }
.testimonial blockquote { margin: 34px 0 0; font-size: 1.08rem; line-height: 1.7; color: var(--ink-2); font-weight: 300; }
.testimonial footer { display: flex; align-items: center; gap: 14px; border-top: 1px solid var(--line); padding-top: 18px; }
.testimonial__avatar { width: 46px; height: 46px; border-radius: 50%; background: var(--ink); color: #fff; display: grid; place-items: center; flex: none; }
.testimonial__avatar svg { width: 22px; height: 22px; }
.testimonial footer strong { display: block; }
.testimonial footer span { font-size: .88rem; color: var(--muted); }
.carousel__nav { display: flex; gap: 10px; margin-top: 22px; }
.carousel__btn { width: 54px; height: 54px; border-radius: 50%; border: 1px solid var(--ink); background: transparent; color: var(--ink); display: grid; place-items: center; transition: background .3s, color .3s; }
.carousel__btn:hover { background: var(--ink); color: #fff; }
.carousel__btn svg { width: 22px; height: 22px; }
@media (min-width: 1000px) { .testimonial { flex-basis: calc((100% - 40px) / 3); } }

/* ---------- Gallery ---------- */
.gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; grid-auto-flow: dense; }
.gallery:not(.is-expanded) .gallery__item--more { display: none; }
.gallery__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 28px; }
.gallery__more { border-color: rgba(255,255,255,.35); }
.gallery__more[hidden] { display: none; }
.gallery__item { position: relative; border: 0; padding: 0; background: var(--black-3); border-radius: 10px; overflow: hidden; cursor: zoom-in; aspect-ratio: 4/3; isolation: isolate; }
.gallery__item::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); pointer-events: none; }
.gallery__item:focus-visible { outline: 3px solid var(--accent-2); outline-offset: 3px; }
.gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out); }
.gallery__item:hover img { transform: scale(1.06); }
.gallery__caption { position: absolute; inset-inline: 0; bottom: 0; padding: 36px 14px 12px; font-size: .82rem; font-weight: 500; color: #fff; text-align: right; background: linear-gradient(0deg, rgba(0,0,0,.78), transparent); transition: transform .5s var(--ease-out); }
.gallery__item:hover .gallery__caption { transform: translateY(-2px); }
.gallery__item--wide { grid-column: span 2; aspect-ratio: 16/8; }
@media (min-width: 800px) { .gallery { grid-template-columns: repeat(3, 1fr); gap: 16px; } .gallery__item--wide { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; } }
.gallery-note { margin: 0; color: var(--on-dark-muted); font-size: .9rem; }
.lightbox { border: 0; padding: 0; background: transparent; max-width: min(96vw, 1280px); max-height: 100vh; color: #fff; }
.lightbox::backdrop { background: rgba(8,10,12,.94); backdrop-filter: blur(6px); }
.lightbox[open] { animation: lb-in .35s var(--ease-out); }
@keyframes lb-in { from { opacity: 0; transform: scale(.97); } }
.lightbox img { max-height: 80vh; width: auto; margin-inline: auto; border-radius: 10px; box-shadow: 0 40px 80px rgba(0,0,0,.5); }
.lightbox__caption { color: #fff; text-align: center; margin: 14px 0 0; font-size: .95rem; }
.lightbox__count { display: block; direction: ltr; text-align: center; color: rgba(255,255,255,.55); font-size: .78rem; letter-spacing: .14em; margin-top: 6px; font-variant-numeric: tabular-nums; }
.lightbox__close, .lightbox__nav { position: fixed; width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff; display: grid; place-items: center; backdrop-filter: blur(8px); transition: background .3s, transform .3s var(--ease-out); z-index: 2; }
.lightbox__close:hover, .lightbox__nav:hover { background: #fff; color: #000; transform: scale(1.06); }
.lightbox__close { top: 16px; inset-inline-start: 16px; font-size: 1.6rem; line-height: 1; }
.lightbox__nav { top: 50%; transform: translateY(-50%); }
.lightbox__nav:hover { transform: translateY(-50%) scale(1.06); }
.lightbox__nav svg { width: 24px; height: 24px; }
.lightbox__nav--prev { inset-inline-end: 16px; }
.lightbox__nav--next { inset-inline-start: 16px; }
@media (max-width: 640px) { .lightbox__nav { top: auto; bottom: 18px; transform: none; } .lightbox__nav:hover { transform: none; } .lightbox img { max-height: 70vh; } }

/* ---------- Articles ---------- */
.articles { display: grid; gap: 24px; }
.article-card { display: grid; grid-template-rows: auto 1fr; background: var(--white); border-radius: var(--radius-lg); overflow: hidden; color: inherit; border: 1px solid var(--line); transition: transform .5s var(--ease-out), box-shadow .5s var(--ease-out); }
.article-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.article-card > img { aspect-ratio: 16/10; width: 100%; object-fit: cover; transition: transform 1.2s var(--ease-out); }
.article-card:hover > img { transform: scale(1.04); }
.article-card__body { padding: 24px; display: grid; gap: 10px; align-content: start; }
.article-card__tag { font-size: .72rem; letter-spacing: .12em; font-weight: 700; color: var(--accent-deep); }
.article-card h3 { font-size: 1.25rem; font-weight: 700; margin: 0; line-height: 1.3; }
.article-card p { margin: 0; color: var(--muted); font-size: .95rem; font-weight: 300; }
.article-card__more { font-weight: 700; margin-top: 6px; }
.article-card__more::after { content: " ←"; display: inline-block; transition: transform .3s var(--ease-out); }
.article-card:hover .article-card__more::after { transform: translateX(-5px); }
@media (min-width: 900px) { .articles { grid-template-columns: repeat(3, 1fr); } }

/* ---------- Big CTA ---------- */
.cta { background: var(--black); color: #fff; position: relative; overflow: hidden; }
.cta__inner { display: grid; gap: 30px; position: relative; }
.cta h2 { font-size: clamp(3.2rem, 12vw, 11rem); line-height: .9; letter-spacing: -.05em; margin: 0; }
.cta h2 em { color: var(--accent-2); }
.cta p { color: var(--on-dark-muted); font-size: clamp(1.05rem, 1.6vw, 1.35rem); max-width: 40ch; font-weight: 300; margin: 0; }
.cta__row { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.cta__ring { position: absolute; inset-inline-end: -20vw; top: -30vw; width: 70vw; height: 70vw; border-radius: 50%; border: 1px solid var(--line-dark); pointer-events: none; }
.cta__ring::after { content: ""; position: absolute; inset: 18%; border-radius: 50%; border: 1px solid var(--line-dark); }

/* ---------- Contact ---------- */
.contact { display: grid; gap: 44px; }
.contact-list { list-style: none; padding: 0; margin: 0 0 24px; display: grid; }
.contact-list li { display: flex; gap: 18px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); }
.contact-list li:last-child { border-bottom: 1px solid var(--line); }
.contact-list img { width: 64px; height: 64px; flex: none; border-radius: 16px; background: #f3f1ec; border: 1px solid var(--line); padding: 4px; transition: transform .4s var(--ease-out), border-color .3s; }
.contact-list strong { display: block; font-size: .72rem; letter-spacing: .12em; color: var(--muted); font-weight: 600; }
.contact-list a, .contact-list span.rtl { font-size: 1.15rem; font-weight: 700; color: var(--ink); transition: color .25s; }
.contact-list a:hover { color: var(--accent-deep); }
.contact-list li:hover img { transform: translateY(-3px) rotate(-3deg); border-color: rgba(31,143,191,.45); }
.social { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; align-items: center; }
/* כפתור עם סמל תלת־ממדי */
.btn--pic { background: var(--white); color: var(--ink); border-color: var(--line); padding: 6px 22px 6px 8px; min-height: 60px; gap: 10px; --btn-hover: var(--paper-2); box-shadow: var(--shadow-sm); }
.btn--pic img { width: 50px; height: 50px; flex: none; transition: transform .4s var(--ease-out); }
.btn--pic img.is-photo { width: 46px; height: 46px; border-radius: 12px; object-fit: cover; box-shadow: 0 4px 10px rgba(0,0,0,.18); }
.btn--pic:hover { border-color: rgba(31,143,191,.45); color: var(--accent-deep); }
.btn--pic:hover img { transform: translateY(-3px) rotate(-4deg) scale(1.06); }
.map { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); aspect-ratio: 16/9; background: var(--paper-2); }
.map iframe { width: 100%; height: 100%; border: 0; display: block; }
/* טופס בסגנון "מסמך": נייר משורג, חותמת עדינה, פינה מקופלת (ללא טקסט חוזי) */
.form { position: relative; isolation: isolate; overflow: hidden; background-color: var(--white); background-image: repeating-linear-gradient(180deg, transparent 0 31px, rgba(31,143,191,.10) 31px 32px); background-origin: content-box; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 34px 28px; box-shadow: var(--shadow-md); }
.form::before { content: ""; position: absolute; top: 58px; inset-inline-start: 14px; width: 132px; height: 132px; background: url("../images/stamp.svg") center / contain no-repeat; opacity: .1; transform: rotate(-14deg); pointer-events: none; z-index: -1; }
.form::after { content: ""; position: absolute; bottom: 0; inset-inline-start: 0; width: 46px; height: 46px; background: linear-gradient(to top right, var(--paper-2) 0 49%, var(--paper) 50%, transparent 51%); border-top-right-radius: 6px; box-shadow: 2px -2px 6px rgba(0,0,0,.06); pointer-events: none; }
[dir="rtl"] .form::after { background: linear-gradient(to top left, var(--paper-2) 0 49%, var(--paper) 50%, transparent 51%); border-top-right-radius: 0; border-top-left-radius: 6px; box-shadow: -2px -2px 6px rgba(0,0,0,.06); }
.form__doc { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: .7rem; letter-spacing: .18em; font-weight: 700; color: var(--muted); border-bottom: 1px solid var(--ink); padding-bottom: 8px; margin-bottom: 18px; position: relative; }
.form__doc::after { content: ""; position: absolute; inset-inline: 0; bottom: -4px; height: 1px; background: var(--ink); opacity: .35; }
.form h3, .form > p, .form .field, .form .consent, .form__foot, .form__notice { position: relative; }
.form h3 { margin-bottom: 4px; font-size: 1.7rem; font-weight: 800; letter-spacing: -.02em; }
.form > p { color: var(--muted); font-size: .95rem; margin-bottom: 20px; font-weight: 300; }
.form__row { display: grid; gap: 14px; }
.field-group, .form .field { display: grid; gap: 6px; margin-bottom: 14px; }
.form .field { grid-template-columns: 1fr; padding: 0; border: 0; }
.form label { font-weight: 600; font-size: .9rem; }
.form input, .form select, .form textarea { width: 100%; font: inherit; padding: 13px 14px; border: 1.5px solid var(--line); border-radius: 10px; background: #faf9f6; color: var(--ink); min-height: 52px; transition: border-color .2s, background .2s, box-shadow .2s; }
.form input:hover, .form select:hover, .form textarea:hover { border-color: #b9b5ab; }
.form input:focus, .form select:focus, .form textarea:focus { outline: none; border-color: var(--accent); background: #fff; box-shadow: var(--ring); }
.form .field.is-invalid input, .form .field.is-invalid select { border-color: #c2410c; background: #fff7f3; }
.form .field.is-invalid label { color: #9a3412; }
.field__error { font-size: .82rem; color: #9a3412; font-weight: 500; display: flex; align-items: center; gap: 6px; }
.field__error::before { content: "!"; width: 16px; height: 16px; border-radius: 50%; background: #c2410c; color: #fff; font-size: .7rem; font-weight: 800; display: grid; place-items: center; flex: none; }
.field__error[hidden] { display: none; }
.form select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7079' stroke-width='2.4'><path d='m6 9 6 6 6-6'/></svg>"); background-repeat: no-repeat; background-position: left 14px center; padding-left: 40px; }
.form__foot { display: grid; gap: 10px; }
.form__foot small { color: var(--muted); font-size: .82rem; text-align: center; display: flex; align-items: center; justify-content: center; gap: 8px; }
.form__foot small svg { width: 16px; height: 16px; color: var(--accent-deep); }
.form textarea { min-height: 120px; resize: vertical; }
.consent { display: flex; gap: 10px; align-items: flex-start; font-size: .85rem; color: var(--ink-2); margin: 6px 0 18px; font-weight: 400; }
.consent input { width: 20px; height: 20px; min-height: 0; margin-top: 3px; flex: none; accent-color: var(--accent); }
.consent a { text-decoration: underline; }
.form__notice { margin-top: 14px; padding: 14px 16px; border-radius: var(--radius); background: #eaf5fa; border: 1px solid #a9d6ea; color: #0b3f56; font-size: .95rem; }
.form__notice[hidden] { display: none; }
.form__notice--ok { background: #e9f7ee; border-color: #9fd6b2; color: #14532d; }
.form__notice a { text-decoration: underline; }
.form__honey { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); opacity: 0; pointer-events: none; }
.form [type="submit"]:disabled { opacity: .6; cursor: progress; }
@media (min-width: 640px) { .form__row { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .contact { grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; } .form { position: sticky; top: calc(var(--header-h) + 20px); } }

/* ---------- Footer ---------- */
.footer { position: relative; background: var(--black); color: var(--on-dark-muted); padding-block: 72px 28px; font-size: .95rem; overflow: hidden; border-top: 1px solid var(--line-dark); }
.footer__mark { display: flex; justify-content: center; margin: 0 0 52px; }
.footer__mark img { width: min(78vw, 380px); height: auto; background: #fff; padding: 18px 34px; border-radius: 24px; box-shadow: 0 24px 56px -22px rgba(0,0,0,.7); }
.footer__grid { position: relative; display: grid; gap: 28px; margin-bottom: 40px; }
.footer__brand img { height: 64px; width: auto; background: #fff; padding: 8px 16px; border-radius: 14px; margin-bottom: 16px; }
.footer h4 { color: #fff; font-size: .78rem; letter-spacing: .16em; margin-bottom: 14px; }
.footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.footer a { color: var(--on-dark); }
.footer a:hover { color: #fff; text-decoration: underline; }
.footer__bottom { position: relative; border-top: 1px solid var(--line-dark); padding-top: 20px; display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; font-size: .85rem; }
.legal-links { display: flex; flex-wrap: wrap; gap: 6px 16px; }
@media (min-width: 800px) { .footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }

/* ---------- Floating WhatsApp ---------- */
.wa-float { position: fixed; bottom: 12px; inset-inline-end: 14px; z-index: 90; display: grid; justify-items: center; text-decoration: none !important; filter: drop-shadow(0 16px 22px rgba(0,0,0,.28)); transition: transform .45s var(--ease-out), filter .45s; }
.wa-float img { width: 68px; height: auto; animation: wa-bob 3.8s ease-in-out infinite; transform-origin: 50% 90%; }
.wa-float span { display: none; background: #1f9d4e; color: #fff; font-size: .78rem; font-weight: 800; letter-spacing: .06em; padding: 5px 14px; border-radius: 999px; margin-top: -14px; box-shadow: 0 6px 14px rgba(0,0,0,.25); position: relative; }
.wa-float:hover { transform: scale(1.07) translateY(-3px); filter: drop-shadow(0 22px 28px rgba(0,0,0,.32)); }
.wa-float:hover img { animation-play-state: paused; }
@keyframes wa-bob { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-7px) rotate(2deg); } }

/* ---------- Article / legal pages ---------- */
body:not(.has-hero) main { padding-top: var(--header-h); }
body:not(.has-hero) .header { --hdr-fg: #fff; }
.article-hero { background: var(--black); color: #fff; padding-block: 72px 64px; position: relative; overflow: hidden; }
.article-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(60% 120% at 100% 0%, #000, transparent); mask-image: radial-gradient(60% 120% at 100% 0%, #000, transparent); pointer-events: none; }
.article-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(79,187,234,.6), transparent); }
.article-hero .container { position: relative; }
.article-hero h1 { color: #fff; font-size: clamp(2.2rem, 5.5vw, 4.4rem); max-width: 20ch; }
.article-hero .crumbs { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 6px; font-size: .85rem; color: var(--on-dark-muted); letter-spacing: .04em; }
.article-hero .crumbs a { color: var(--on-dark); }
.article-hero .crumbs li + li::before { content: "/"; margin-inline-end: 6px; opacity: .5; }
.article-hero__meta { color: var(--on-dark-muted); font-size: .9rem; }
.article-layout { display: grid; gap: 40px; padding-block: 48px; }
.article-body { max-width: 760px; font-size: 1.08rem; line-height: 1.8; }
.article-body p, .article-body li { font-weight: 300; color: var(--ink-2); }
.article-body > p:first-of-type { font-size: 1.22rem; color: var(--ink); line-height: 1.7; }
.article-body strong { color: var(--ink); font-weight: 700; }
.article-body img { border-radius: var(--radius); margin: 8px 0 24px; box-shadow: var(--shadow); }
.article-figure { position: relative; margin: 8px 0 28px; }
.article-figure img { margin: 0; border-radius: var(--radius-lg); width: 100%; max-height: 360px; object-fit: cover; object-position: center 40%; }
.article-figure figcaption { position: absolute; top: 14px; inset-inline-start: 14px; font-size: .7rem; letter-spacing: .12em; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: rgba(12,13,15,.7); color: #fff; }
.article-body h2 { font-size: 2rem; margin-top: 1.6em; font-weight: 800; padding-top: .6em; border-top: 1px solid var(--line); }
.article-body h3 { font-size: 1.25rem; margin-top: 1.3em; font-weight: 700; }
.article-body ul, .article-body ol { margin-bottom: 1.2em; }
.article-body li { margin-bottom: .4em; }
.article-body .callout { border-inline-start: 3px solid var(--accent); background: var(--white); border: 1px solid var(--line); border-inline-start-width: 3px; border-inline-start-color: var(--accent); padding: 18px 22px; border-radius: 12px; margin: 28px 0; box-shadow: var(--shadow-sm); }
.article-body table { border-collapse: collapse; width: 100%; font-size: .95rem; margin: 16px 0 24px; }
.article-body table { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; border-spacing: 0; border-collapse: separate; }
.article-body th, .article-body td { border-bottom: 1px solid var(--line); padding: 12px 14px; text-align: right; vertical-align: top; }
.article-body tr:last-child td { border-bottom: 0; }
.article-body th { background: var(--black); color: #fff; font-weight: 600; font-size: .85rem; letter-spacing: .04em; }
.article-body tbody tr:nth-child(even) { background: var(--white); }
.article-body a { color: var(--accent-deep); text-decoration: underline; }
.article-aside { display: grid; gap: 20px; align-content: start; }
.aside-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px; }
.aside-card h3 { font-size: 1.1rem; font-weight: 700; }
.aside-card ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.aside-card a { color: var(--accent-deep); }
.aside-card--cta { background: linear-gradient(160deg, var(--accent) 0%, var(--accent-deep) 100%); color: #fff; border-color: transparent; box-shadow: 0 20px 40px -20px rgba(12,107,150,.6); }
.aside-card--cta h3 { color: #fff; }
.aside-card--cta p { color: rgba(255,255,255,.9); }
.aside-card--cta .btn--outline { border-color: rgba(255,255,255,.6); }
.aside-card--cta .btn { margin-top: 12px; width: 100%; }
@media (min-width: 960px) { .article-layout { grid-template-columns: minmax(0, 1fr) 320px; } .article-aside { position: sticky; top: calc(var(--header-h) + 20px); } }

.a11y-contact { margin: 16px 0 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.a11y-contact summary { cursor: pointer; padding: 14px 18px; font-weight: 700; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.a11y-contact summary::-webkit-details-marker { display: none; }
.a11y-contact summary::after { content: "+"; font-size: 1.3rem; color: var(--accent-deep); }
.a11y-contact[open] summary::after { content: "−"; }
.a11y-contact p { padding: 0 18px 18px; margin: 0; }

/* ---------- Reveal on scroll (נפילה ללא GSAP) ---------- */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.reveal.is-visible { opacity: 1; transform: none; }
.reveal:nth-child(2) { transition-delay: .08s; }
.reveal:nth-child(3) { transition-delay: .16s; }
.reveal:nth-child(4) { transition-delay: .24s; }
.reveal:nth-child(5) { transition-delay: .32s; }
.reveal:nth-child(6) { transition-delay: .4s; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; } }
.img-reveal { overflow: hidden; }
.img-reveal img { transform-origin: center; }

/* ---------- Utilities ---------- */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ltr { direction: ltr; unicode-bidi: embed; }
.nowrap { white-space: nowrap; }
#about-title em { display: block; }

/* ==========================================================================
   נגישות – תפריט התאמות (תקנות שוויון זכויות לאנשים עם מוגבלות, ת"י 5568)
   ========================================================================== */
html.a11y-font-lg { font-size: 118%; }
html.a11y-font-xl { font-size: 136%; }
html.a11y-links a { text-decoration: underline !important; text-underline-offset: 3px; }
html.a11y-readable body, html.a11y-readable button, html.a11y-readable input, html.a11y-readable select, html.a11y-readable textarea { font-family: Arial, Helvetica, sans-serif !important; letter-spacing: .02em; word-spacing: .08em; }
html.a11y-readable h1, html.a11y-readable h2, html.a11y-readable h3 { font-weight: 700; letter-spacing: 0; }
html.a11y-contrast { --ink: #000; --ink-2: #000; --muted: #1f2933; --line: #000; --paper: #fff; --paper-2: #f0f0f0; --accent: #004c6e; --accent-2: #9ddcf7; --accent-deep: #003a55; --on-dark: #fff; --on-dark-muted: #fff; --black: #000; --black-2: #000; --black-3: #111; }
html.a11y-contrast .hero__lead, html.a11y-contrast .facts small, html.a11y-contrast .cta p, html.a11y-contrast .scroll-cue, html.a11y-contrast .field p { color: #fff; }
html.a11y-contrast .hero__media img { opacity: .25; }
html.a11y-contrast .manifesto .sw { opacity: 1 !important; }
html.a11y-no-motion *, html.a11y-no-motion *::before, html.a11y-no-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html.a11y-no-motion .loader { display: none; }
html.a11y-no-motion .reveal { opacity: 1; transform: none; }
html.a11y-no-motion .marquee__track { animation: none; width: auto; flex-wrap: wrap; justify-content: center; }
html.a11y-no-motion .marquee__list--dup { display: none; }
html.a11y-no-motion .manifesto .sw { opacity: 1 !important; }
html.a11y-no-motion .process__line { transform: none; }
html.a11y-no-motion .cursor { display: none; }
html.a11y-cursor, html.a11y-cursor * { cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'><path d='M4 2l16 11h-7l4 8-3 1-4-8-6 6z' fill='%23000' stroke='%23fff' stroke-width='1.2'/></svg>") 4 2, auto !important; }
html.a11y-focus *:focus { outline: 4px solid #ff3d00 !important; outline-offset: 2px !important; }
.a11y { position: fixed; bottom: 18px; inset-inline-start: 18px; z-index: 95; }
.a11y__btn { width: 52px; height: 52px; border-radius: 50%; border: 0; background: var(--ink); color: #fff; display: grid; place-items: center; box-shadow: 0 10px 25px rgba(0,0,0,.3); transition: transform .15s var(--ease); }
.a11y__btn:hover { transform: scale(1.05); }
.a11y__btn svg { width: 28px; height: 28px; }
.a11y__panel { position: absolute; bottom: 64px; inset-inline-start: 0; width: min(320px, calc(100vw - 36px)); background: #fff; color: var(--ink); border-radius: var(--radius); box-shadow: var(--shadow); border: 1px solid var(--line); padding: 16px; display: none; }
.a11y__panel[data-open="true"] { display: block; }
.a11y__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.a11y__head h2 { font-size: 1.1rem; margin: 0; font-weight: 700; letter-spacing: 0; }
.a11y__close { border: 0; background: var(--paper-2); width: 36px; height: 36px; border-radius: 50%; font-size: 1.2rem; }
.a11y__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.a11y__list button { width: 100%; text-align: right; padding: 10px 12px; border-radius: var(--radius); border: 1px solid var(--line); background: #fff; display: flex; justify-content: space-between; align-items: center; font-weight: 500; color: var(--ink); }
.a11y__list button[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.a11y__list button[aria-pressed="true"]::after { content: "✓"; }
.a11y__foot { margin-top: 12px; display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: .9rem; }
.a11y__reset { border: 0; background: none; color: var(--accent-deep); font-weight: 600; text-decoration: underline; }

/* ---------- מד קריאה (עמודי מאמר) ---------- */
.progress { position: fixed; top: 0; inset-inline: 0; height: 3px; z-index: 120; background: var(--accent-2); transform-origin: right; transform: scaleX(var(--p, 0)); pointer-events: none; }

/* ---------- הדפסה ---------- */
@media print {
  .header, .mobile-menu, .loader, .cursor, .wa-float, .mobile-cta, .a11y, .progress, .hero__media, .hero__shade, .marquee, .fields__preview, .lightbox, .gallery__more { display: none !important; }
  body { background: #fff; color: #000; padding: 0; }
  .section, .hero { padding: 24px 0; min-height: 0; color: #000; background: #fff; }
  .section--dark, .cta, .footer, .hero { color: #000 !important; background: #fff !important; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; }
  .reveal, [data-split] .w > span, .line > span { opacity: 1 !important; transform: none !important; }
}

/* ---------- Service pages (עמודי תחומי פעילות) ---------- */
.service-hero { padding-block: 64px 72px; }
.service-hero .kicker { margin-bottom: 14px; color: var(--accent-2); }
.service-hero h1 { max-width: 18ch; }
.service-hero h1 em { color: var(--accent-2); }
.service-hero__lead { color: var(--on-dark-muted); font-size: clamp(1.05rem, 1.6vw, 1.3rem); font-weight: 300; max-width: 56ch; line-height: 1.6; margin: 14px 0 26px; }
.service-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.service-intro__grid { display: grid; gap: 32px; align-items: center; }
.service-figure { margin: 0; }
.service-figure img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.service-figure figcaption { margin-top: 10px; font-size: .85rem; color: var(--muted); }
.service-intro__body h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
.service-intro__body p { color: var(--ink-2); font-weight: 300; font-size: 1.08rem; line-height: 1.75; max-width: 60ch; }
@media (min-width: 900px) { .service-intro__grid { grid-template-columns: 1fr 1.1fr; gap: 64px; } }
.service-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.service-list li { display: grid; gap: 4px; padding: 20px 22px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); position: relative; padding-inline-start: 46px; transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out); }
.service-list li::before { content: ""; position: absolute; top: 26px; inset-inline-start: 20px; width: 12px; height: 12px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px rgba(31,143,191,.15); }
.service-list li:hover { transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.service-list strong { font-size: 1.08rem; }
.service-list span { color: var(--muted); font-size: .95rem; line-height: 1.6; }
@media (min-width: 720px) { .service-list { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .service-list { grid-template-columns: repeat(4, 1fr); } }
.service-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; counter-reset: s; }
.service-steps li { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; align-items: start; padding: 22px 0; border-top: 1px solid var(--line); }
.service-steps li:last-child { border-bottom: 1px solid var(--line); }
.service-steps li > span { grid-row: 1 / span 2; font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 900; color: var(--accent-deep); letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; min-width: 2.2ch; }
.service-steps strong { font-size: 1.15rem; }
.service-steps p { margin: 0; color: var(--muted); font-weight: 300; max-width: 60ch; }
@media (min-width: 900px) { .service-steps { grid-template-columns: repeat(3, 1fr); gap: 32px; } .service-steps li { grid-template-columns: 1fr; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 26px; background: var(--white); } .service-steps li > span { grid-row: auto; margin-bottom: 8px; } }
.service-case p { color: var(--on-dark-muted); font-weight: 300; font-size: 1.08rem; line-height: 1.75; max-width: 70ch; }
.service-case__tags li { border-color: var(--line-dark); color: var(--on-dark); background: transparent; }
.service-case__more { margin-top: 22px; color: var(--on-dark) !important; }
.service-case__more a { color: var(--accent-2); text-decoration: underline; }
.gallery--service { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 800px) { .gallery--service { grid-template-columns: repeat(3, 1fr); } }
.service-quote { display: grid; gap: 36px; }
.service-quote .section-head p { max-width: 60ch; }
@media (min-width: 1000px) { .service-quote { grid-template-columns: 1fr 1.1fr; gap: 72px; align-items: start; } }

/* ---------- טיפוגרפיה: Bellefair לכותרות, Frank Ruhl Libre למלל ---------- */
h1, h2, h3, .h { font-family: var(--font-display); font-weight: 400; letter-spacing: 0; }
h1 { font-size: clamp(2.6rem, 6.4vw, 5.6rem); }
.article-hero h1 { font-size: clamp(2.5rem, 6vw, 4.8rem); }
h2 { font-size: clamp(2.2rem, 4.6vw, 3.6rem); }
h3 { font-weight: 400; }
p, blockquote, figcaption, summary, dd, td, .lead, .service-hero__lead, .about__list, .service-list, .faq__item, .story__body, .case p, .article-body, .quick__sub, .cta p, .manifesto p, .contact-list { font-family: var(--font-body); }
p, .service-hero__lead, .section-head p { font-size: 1.14rem; }
.manifesto [data-scrub-text] { font-family: var(--font-body); }
.nav, .mobile-menu, .header, .footer ul, .footer h4, .crumbs, .marquee, .standards, .case__tags, .mobile-cta, .btn, .kicker, .field__badge, .form, .quick__form, .hero__kicker, .hero__facts, .loader, .wa-float, .a11y, .lightbox, .gallery__caption, .service-steps li span, .field-tile__name, .nav__sub, .manifesto__meta, .contact-list, .form__doc, label, input, select, textarea, button { font-family: var(--font); }
.field-tile__name { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.45rem, 2vw, 1.85rem); }

/* ---------- חתך תחנה (עמוד הקמת תחנות) ---------- */
.service-diagram { display: grid; gap: 28px; align-items: center; }
@media (min-width: 900px) { .service-diagram { grid-template-columns: 1fr 1.1fr; gap: 56px; } }
.service-diagram__body h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
.service-diagram__body p { color: var(--ink-2); max-width: 56ch; }
.service-figure--diagram img { aspect-ratio: auto; object-fit: contain; max-height: 720px; background: #fff; padding: 14px; box-sizing: border-box; }

/* כיתוב הפס הרחב: רקע קל לקריאות */
.band__kicker { display: flex; flex-direction: column; align-items: center; }
.band__kicker span { display: inline-block; padding: 7px 16px; border-radius: 999px; background: rgba(14,18,22,.42); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); color: #fff; }

/* ---------- תמונה רחבה מעל שלבי העבודה ---------- */
.process-figure { margin: 0 0 clamp(36px, 5vw, 64px); }
.process-figure img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; object-position: center 40%; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.process-figure figcaption { margin-top: 10px; font-size: .85rem; color: var(--muted); }
@media (max-width: 640px) { .process-figure img { aspect-ratio: 16 / 10; } }

/* ==========================================================================
   שכבת עיצוב: השראה מ-Contractbook ו-T1 Energy (הצעות 1-12)
   ========================================================================== */
/* 11. ריתמוס אנכי */
.section { padding-block: clamp(72px, 9vw, 120px); }
.section--tight { padding-block: clamp(56px, 7vw, 96px); }
/* 5. כותרות הדוקות */
h1, h2, .h { line-height: 1.02; }
.hero h1 { line-height: 1.0; }
/* 4. תוויות קטע עם ריבוע */
.kicker { color: var(--ink); font-weight: 500; letter-spacing: .16em; gap: 10px; }
.kicker::before { width: 5px; height: 5px; border-radius: 0; background: currentColor; }
.section--dark .kicker, .service-hero .kicker, .article-hero .kicker { color: var(--on-dark); }
.service-list li::before { border-radius: 0; width: 6px; height: 6px; background: var(--ink); top: 29px; }
/* 3. סרגל ניווט צף */
.header { height: auto; padding-inline: var(--gutter); }
.header .container.header__inner { max-width: var(--max); padding-inline: 10px; height: 64px; margin-top: 10px; border-radius: 18px; background: rgba(50,45,42,.94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); gap: 12px; }
.header[data-theme="light"], .header[data-theme="dark"] { --hdr-fg: #fff; --hdr-line: rgba(255,255,255,.35); --hdr-bg: #322d2a; }
.header.is-scrolled, .header.is-scrolled[data-theme="light"], .header.is-scrolled[data-theme="dark"] { background: transparent; box-shadow: none; backdrop-filter: none; }
.header .logo { box-shadow: none; padding: 5px 12px; border-radius: 12px; }
.header .logo img { height: 44px; }
.header__quote.btn--primary { background: #fff; color: var(--ink); --btn-hover: var(--paper-2); box-shadow: none; min-height: 40px; padding: 6px 18px; }
.header__quote.btn--primary:hover { color: var(--ink); box-shadow: none; }
.nav-toggle { height: 42px; }
.nav a { font-size: .92rem; padding: 8px 10px; }
.nav__sub { box-shadow: 0 18px 40px -20px rgba(14,18,22,.45); border: 1px solid var(--line); }
.nav__sub .nav__sub-all { color: var(--ink); }
/* 12. הירו: הכהיה רק בתחתית */
.hero__shade { background: linear-gradient(180deg, rgba(50,45,42,.28) 0%, rgba(50,45,42,0) 30%, rgba(50,45,42,0) 48%, rgba(20,16,12,.88) 100%); }
/* 1+2. רדיוסים אחידים והשטחה */
.btn--primary, .btn--primary:hover { box-shadow: none; }
.standards__list li:hover, .manifesto__meta > div:hover, .article-card:hover, .service-list li:hover { box-shadow: none; }
.standards__list li:hover { border-color: var(--ink); }
.manifesto__meta > div, .article-card, .aside-card, .map-panel, .service-list li, .service-steps li, .pcard__media, .field-tile, .form__notice, .testimonial, .a11y__panel { border-radius: var(--radius-lg); }
.about__badge { box-shadow: none; border: 1px solid var(--line); }
.map-panel { box-shadow: none; }
/* 6. תמונות כאשנבים */
.about__img, .about__illu, .about__logo, .service-figure img, .article-figure img, .process-figure img, .article-body img, .service-figure--diagram img, .map { border-radius: var(--radius-xl); box-shadow: none; }
.gallery__item { border-radius: var(--radius-lg); }
.gallery--service .gallery__item { border-radius: 20px; }
.band, .quick, .cta, .article-hero { margin-inline: var(--gutter); border-radius: var(--radius-xl); overflow: hidden; }
.band { margin-block: 0 24px; }
.cta { margin-bottom: 32px; }
.band__inner, .quick__inner, .cta__inner { padding-inline: clamp(20px, 4vw, 56px); }
@media (min-width: 1280px) { .band, .quick, .cta, .article-hero { margin-inline: auto; max-width: calc(var(--max) + 2 * var(--gutter)); } }
/* 7. שחור חם */
.footer { background: var(--onyx); border-top: 0; }
.footer__mark img { box-shadow: none; }
/* 8. תקציב צבע */
.field__badge { background: var(--carbon); color: #fff; box-shadow: none; }
.faq__item summary:hover { color: var(--ink); }
.faq__item summary:hover .faq__icon { border-color: var(--ink); color: var(--ink); }
.process li.is-on .process__icon { border-color: var(--ink); box-shadow: none; }
.mobile-menu ul a small { color: var(--on-dark-muted); }
.case__num, .case small.num { color: var(--muted); }
.field-tile:hover .field-tile__name { color: inherit; }
.field-tile:hover, .field-tile:focus-visible { border-color: var(--ink); background: #fff; transform: translateY(-3px); }
/* תחומי פעילות על רקע בהיר */
.section--paper2 .field-tile { background: #fff; color: var(--ink); border-color: var(--line); }
.section--paper2 .field-tile img { background: var(--paper); border-color: var(--line); }
.section--paper2 .field-tile__arrow { border-color: var(--line); color: var(--ink); }
.section--paper2 .field-tile:hover .field-tile__arrow { background: var(--ink); color: #fff; border-color: var(--ink); }
.section--paper2 .field-tile:hover img { background: var(--paper-2); border-color: var(--line); }
/* 9. שאלות נפוצות כאקורדיון */
.faq__list { border-top: 1px solid rgba(50,45,42,.35); }
.faq__item { border-bottom: 1px solid rgba(50,45,42,.35); }
.faq__item summary { font-weight: 500; font-size: clamp(1.05rem, 1.7vw, 1.3rem); padding: 20px 0; }
.faq__icon { width: 40px; height: 40px; background: #fff; border-color: var(--carbon); color: var(--carbon); }
.faq__item[open] .faq__icon { background: var(--carbon); color: #fff; }
/* 10. צ'יפים */
.case__tags li, .service-case__tags li { background: var(--paper); border: 1px solid var(--line); color: var(--ink); font-weight: 700; padding: 5px 14px; border-radius: 999px; }


/* ==========================================================================
   שכבת תנועה (בהשראת T1 Energy, לפי אישור): כניסה מדורגת, טקסט מחליק,
   שלבים כאקורדיון עם תמונה, טאבים עם סמן, גל בגריד, טעינה מטושטשת, לוגו בפוטר
   ========================================================================== */
:root { --m-ease: cubic-bezier(.22, .61, .36, 1); --m-in: .55s; --m-out: .35s; }

/* 2 – כניסה מדורגת: ההשהיה לפי מיקום בקבוצה (עד 8 פריטים) */
[data-stagger] .reveal { transition-delay: calc(var(--i, 0) * 90ms); }

/* 4/8 – טקסט שמחליק בהובר, אות אחר אות (רק עם עכבר) */
.tw { display: inline-grid; overflow: hidden; vertical-align: baseline; line-height: 1.3; padding-block: .05em; margin-block: -.05em; }
.tw > span { grid-area: 1 / 1; white-space: pre; display: inline-flex; }
.tw .ch { display: inline-block; transition: transform .32s cubic-bezier(.76, 0, .24, 1); transition-delay: calc(var(--i, 0) * 28ms); }
.tw > span + span .ch { transform: translateY(110%); }
@media (hover: hover) and (pointer: fine) {
  .has-tw:hover .tw > span:first-child .ch, .has-tw:focus-visible .tw > span:first-child .ch { transform: translateY(-110%); }
  .has-tw:hover .tw > span + span .ch, .has-tw:focus-visible .tw > span + span .ch { transform: translateY(0); }
}

/* 7 – שלבי העבודה כאקורדיון, התמונה מתחלפת לפי השלב הפתוח */
.steps { display: grid; gap: clamp(24px, 4vw, 48px); align-items: start; }
.steps__media { position: relative; margin: 0; aspect-ratio: 4 / 3; border-radius: var(--radius-lg); overflow: hidden; background: var(--paper-2); }
.steps__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity .6s var(--m-ease), transform 1.2s var(--m-ease); }
.steps__media img.is-on { opacity: 1; transform: none; }
.steps__cap { position: absolute; inset-inline: 0; bottom: 0; z-index: 1; margin: 0; padding: 44px 16px 14px; display: flex; align-items: center; gap: 10px; color: #fff; font-size: .88rem; background: linear-gradient(0deg, rgba(15,14,18,.78), transparent); }
.steps__tag { font-family: var(--font); font-size: .72rem; font-weight: 700; letter-spacing: .08em; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.18); backdrop-filter: blur(4px); flex: none; }
.steps__list { display: grid; }
.steps__item { border-top: 1px solid var(--line); }
.steps__item:last-child { border-bottom: 1px solid var(--line); }
.steps__title { margin: 0; font-size: inherit; line-height: inherit; }
.steps__btn { all: unset; box-sizing: border-box; display: flex; width: 100%; align-items: center; gap: 16px; padding: 20px 2px; cursor: pointer; touch-action: manipulation; }
.steps__btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 6px; }
.steps__num { font-family: var(--font); font-size: .78rem; font-weight: 700; letter-spacing: .1em; color: var(--accent-deep); font-variant-numeric: tabular-nums; }
.steps__name { flex: 1; font-family: var(--font-display); font-size: clamp(1.45rem, 2.6vw, 2.1rem); line-height: 1.05; color: var(--ink); transition: color .3s; }
.steps__btn:hover .steps__name { color: var(--accent-deep); }
.steps__ico { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--carbon); flex: none; position: relative; transition: background .3s, border-color .3s; }
.steps__ico::before, .steps__ico::after { content: ""; position: absolute; top: 50%; left: 50%; width: 14px; height: 1.5px; background: var(--carbon); transform: translate(-50%, -50%); transition: transform .45s var(--m-ease), background .3s; }
.steps__ico::after { transform: translate(-50%, -50%) rotate(90deg); }
.steps__item.is-open .steps__ico { background: var(--carbon); }
.steps__item.is-open .steps__ico::before, .steps__item.is-open .steps__ico::after { background: #fff; }
.steps__item.is-open .steps__ico::after { transform: translate(-50%, -50%) rotate(0); }
.steps__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s var(--m-ease); }
.steps__item.is-open .steps__panel { grid-template-rows: 1fr; }
.steps__panel > div { overflow: hidden; }
.steps__panel p { margin: 0; padding: 0 0 22px; color: var(--ink-2); max-width: 56ch; }
@media (min-width: 900px) { .steps { grid-template-columns: 1.05fr .95fr; } .steps__media { position: sticky; top: calc(var(--header-h) + 16px); } }
@media (max-width: 899px) { .steps__media { order: -1; } }

/* 7 – שאלות נפוצות: אייקון פלוס→מינוס, הגובה נפתח חלק (ב-JS) */
.faq__icon::before, .faq__icon::after { transition: transform .45s var(--m-ease); }
.faq__item[open] .faq__icon { transform: none; }
.faq__item[open] .faq__icon::after { transform: translate(-50%, -50%) rotate(0); }
.faq__item summary { touch-action: manipulation; }

/* 8 – גלריה: טאבים עם סמן מחליק */
.gtabs { position: relative; display: flex; gap: 4px; padding: 4px; margin: 0 0 22px; width: max-content; max-width: 100%; overflow-x: auto; scrollbar-width: none; background: rgba(255,255,255,.07); border: 1px solid var(--line-dark); border-radius: 999px; }
.gtabs::-webkit-scrollbar { display: none; }
.gtabs__tab { all: unset; box-sizing: border-box; position: relative; z-index: 1; font-family: var(--font); font-size: .9rem; font-weight: 600; color: rgba(255,255,255,.78); padding: 10px 16px; border-radius: 999px; cursor: pointer; white-space: nowrap; transition: color .3s var(--m-ease); touch-action: manipulation; }
.gtabs__tab:hover { color: #fff; }
.gtabs__tab[aria-selected="true"] { color: var(--ink); }
.gtabs__tab:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 2px; }
.gtabs__marker { position: absolute; top: 4px; bottom: 4px; left: 0; width: 0; background: #fff; border-radius: 999px; transition: transform .45s var(--m-ease), width .45s var(--m-ease); }
.gallery__item.is-off { display: none !important; }
.gallery:not(.is-expanded) .gallery__item--more.is-forced { display: block; }

/* 9 – טעינה מטושטשת: גרסה זעירה ברקע, התמונה המלאה מתגלה מעליה */
.lqip::before { content: ""; position: absolute; inset: 0; z-index: 0; background: var(--lqip) center / cover no-repeat; filter: blur(14px); transform: scale(1.12); }
.lqip img { position: relative; z-index: 1; opacity: 0; transition: opacity .7s var(--m-ease), transform 1s var(--ease-out); }
.lqip.is-loaded img { opacity: 1; }
.gallery__caption { z-index: 2; }

/* לוגו בפוטר: נפתח מימין לשמאל כשמגיעים לתחתית */
.footer__mark img { clip-path: inset(0 0 0 100%); opacity: 0; transform: translateY(14px); transition: clip-path 1.1s var(--m-ease), opacity .5s var(--m-ease), transform 1.1s var(--m-ease); }
.footer__mark.is-in img { clip-path: inset(0 0 0 0); opacity: 1; transform: none; }

/* הירו: זום איטי בלי סיבוב */
@keyframes drone { from { transform: scale(1.02) translate(0, 0); } to { transform: scale(1.12) translate(-2%, 1.6%); } }

/* בלי תנועה: הכול מוצג מיד */
@media (prefers-reduced-motion: reduce) {
  .lqip img, .footer__mark img, .steps__media img.is-on { opacity: 1; transition: none; clip-path: none; transform: none; }
  .steps__panel, .gtabs__marker, .tw > span { transition: none; }
}
html.a11y-no-motion .lqip img, html.a11y-no-motion .footer__mark img { opacity: 1; transition: none; clip-path: none; transform: none; }

/* ==========================================================================
   שכבת Monad (לפי אישור): תרשים צינור, שאלות בסריף עם זוהר, כרטיס צבעוני,
   לוגואים שקטים, מונו לתוויות, שטיפת צבע, פס הודעה, שלבים אוטומטיים,
   זוהר באריחים, פתיחה בלי מסך טעינה, שעה בפוטר
   ========================================================================== */
:root { --font-mono: "Cousine", "Noto Sans Mono", "Courier New", monospace; --tint: #dfeaf1; --ann-h: 38px; }
.loader { display: none !important; }

/* 1 – תרשים צינור */
.pipe-section .section-head { margin-bottom: clamp(28px, 4vw, 48px); }
.pipe { display: flex; align-items: center; }
.pipe__node { flex: none; display: inline-flex; align-items: center; gap: 10px; background: var(--paper); border: 1px solid var(--line); border-radius: 999px; padding: 12px 18px; font-family: var(--font); font-size: .9rem; font-weight: 600; color: var(--carbon); white-space: nowrap; line-height: 1.2; opacity: 0; transform: translateY(10px) scale(.96); transition: opacity .5s var(--m-ease), transform .5s var(--m-ease), border-color .3s, background .3s; }
.pipe.is-in .pipe__node { opacity: 1; transform: none; }
.pipe__node svg { width: 18px; height: 18px; flex: none; color: var(--accent-deep); }
.pipe__node.is-hub { background: var(--carbon); color: #fff; border-color: var(--carbon); }
.pipe__node.is-hub svg { color: var(--accent-2); }
.pipe__node.is-hub .pipe__sub { color: rgba(255,255,255,.7); }
.pipe__node:hover { border-color: var(--accent); background: #fff; }
.pipe__node.is-hub:hover { background: var(--onyx); border-color: var(--onyx); }
.pipe__sub { display: block; font-size: .72rem; font-weight: 500; color: var(--muted); margin-top: 3px; }
.pipe__link { flex: 1; min-width: 30px; height: 44px; position: relative; }
.pipe__link svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.pipe__link path { fill: none; stroke: var(--line); stroke-width: 1.5; }
.pipe__link .pipe__flow { stroke: var(--accent); stroke-dasharray: 6 10; opacity: 0; transition: opacity .6s; }
.pipe.is-in .pipe__flow { opacity: 1; animation: pipe-flow 1.4s linear infinite; }
@keyframes pipe-flow { to { stroke-dashoffset: -16; } }
.pipe__legend { margin: 22px 0 0; font-family: var(--font-mono); font-size: .8rem; color: var(--muted); max-width: 70ch; }
.pipe__legend::before { content: ""; display: inline-block; width: 18px; height: 2px; background: var(--accent); margin-inline-end: 8px; vertical-align: middle; }
@media (max-width: 1100px) {
  /* במסכים צרים: עמודה אנכית, קו מקווקו ישר בין הצמתים */
  .pipe { flex-direction: column; align-items: center; }
  .pipe__node { width: min(100%, 360px); justify-content: flex-start; white-space: normal; padding: 14px 20px; }
  .pipe__node > span { flex: 1; }
  .pipe__link { flex: none; width: 2px; height: 34px; min-width: 0; }
  .pipe__link svg { display: none; }
  .pipe__link::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(to bottom, var(--line) 0 6px, transparent 6px 14px); }
  .pipe__link::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(to bottom, var(--accent) 0 6px, transparent 6px 14px); opacity: 0; transition: opacity .6s; }
  .pipe.is-in .pipe__link::after { opacity: 1; animation: pipe-flow-v 1s linear infinite; }
}
@keyframes pipe-flow-v { to { background-position: 0 14px; } }
}

/* 2 – שאלות נפוצות: שאלה בסריף, זוהר מאחורי השורה הפתוחה */
.faq__item { position: relative; isolation: isolate; }
.faq__item summary { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.3rem, 2.4vw, 1.7rem); line-height: 1.15; padding: 28px 6px; position: relative; z-index: 1; }
.faq__item summary:hover { color: var(--carbon); }
.faq__item p { position: relative; z-index: 1; padding-inline: 6px; }
.faq__glow { position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .6s var(--m-ease); pointer-events: none; overflow: hidden; border-radius: 12px; }
.faq__glow::before, .faq__glow::after { content: ""; position: absolute; top: 50%; width: 38%; height: 150%; border-radius: 50%; filter: blur(40px); transform: translateY(-50%); }
.faq__glow::before { inset-inline-start: -8%; background: rgba(79,187,234,.5); }
.faq__glow::after { inset-inline-end: -8%; background: rgba(31,143,191,.3); }
.faq__item[open] .faq__glow, .faq__item:hover .faq__glow { opacity: 1; }

/* 3 – כרטיס צבעוני אחד: התחום החדש */
.section--paper2 .field-tile--tint { background: var(--tint); border-color: transparent; }
.section--paper2 .field-tile--tint:hover { background: #d3e3ee; }

/* 4 – לוגואי לקוחות: פס בהיר, לוגואים באפור בלי קופסאות, צבע בהובר */
.marquee--light { background: var(--paper); color: var(--ink); border-block: 1px solid var(--line); }
.marquee--light .marquee__label { color: var(--muted); font-family: var(--font-mono); letter-spacing: .12em; }
.marquee--light .marquee__list li { color: var(--muted); }
.marquee--light .marquee__list img { background: none; padding: 0; border-radius: 0; filter: grayscale(1) contrast(.9); opacity: .55; transition: filter .4s var(--m-ease), opacity .4s var(--m-ease); }
.marquee--light .marquee__list li:hover img { filter: none; opacity: 1; }
.marquee--light .marquee__list .txt { color: var(--muted); transition: color .4s; }
.marquee--light .marquee__list li:hover .txt { color: var(--carbon); }
.marquee--light .marquee__list .txt small { color: var(--muted); }
.marquee--light .marquee__list li::after { background: var(--line); }
.marquee--light { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee__track.is-js { animation: none; }

/* 5 – מונוספייס לתוויות בלבד */
.kicker, .hero__kicker, .hero__stamp, .band__kicker span, .standards__label, .steps__num, .steps__tag, .steps__cap, .gallery__caption, .service-figure figcaption, .process-figure figcaption, .crumbs, .footer__bottom, .article-card__tag, .facts small, .gallery-note, .lightbox__count { font-family: var(--font-mono); }
.kicker { letter-spacing: .08em; font-weight: 700; }
.hero__kicker { letter-spacing: .06em; }
.article-card__tag { letter-spacing: .06em; }
.crumbs { font-size: .8rem; }

/* 6 – שטיפת צבע מטושטשת במקום משטח כחול */
.quick { background: var(--paper-2); color: var(--ink); position: relative; isolation: isolate; }
.quick::before, .quick::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(70px); pointer-events: none; }
.quick::before { width: 460px; height: 340px; inset-inline-end: -90px; top: -140px; background: radial-gradient(circle, rgba(79,187,234,.75), rgba(79,187,234,0) 70%); }
.quick::after { width: 560px; height: 380px; inset-inline-start: -140px; bottom: -180px; background: radial-gradient(circle, rgba(31,143,191,.45), rgba(31,143,191,0) 70%); }
.quick p { color: var(--ink-2); }
.quick__consent { color: var(--muted) !important; }
.quick__form input[type="tel"] { border: 1px solid var(--line); }
.quick__form input[type="tel"]:focus { outline: 3px solid rgba(31,143,191,.35); }
.quick__form .btn { background: var(--accent); --btn-hover: var(--accent-deep); }
.quick .form__notice { color: var(--ink); }

/* 7 – פס הודעה מעל ההדר */
.ann { position: fixed; top: 0; left: 0; right: 0; z-index: 101; height: var(--ann-h); background: var(--onyx); color: #fff; font-family: var(--font); font-size: .82rem; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 0 48px 0 16px; }
.ann[hidden] { display: none; }
.ann__text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ann__link { color: #fff; font-weight: 700; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; padding: 3px 11px; text-decoration: none; font-size: .74rem; white-space: nowrap; flex: none; transition: background .3s, color .3s; }
.ann__link:hover { background: #fff; color: var(--onyx); }
.ann__close { position: absolute; inset-inline-end: 8px; top: 50%; transform: translateY(-50%); background: none; border: 0; color: #fff; font-size: 22px; line-height: 1; width: 32px; height: 32px; cursor: pointer; border-radius: 50%; }
.ann__close:hover { background: rgba(255,255,255,.12); }
body.has-ann .header { top: var(--ann-h); }
body.has-ann .hero__stamp { top: calc(var(--header-h) + 16px + var(--ann-h)); }
body.has-ann .mobile-menu { padding-top: var(--ann-h); }
@media (max-width: 480px) { .ann { font-size: .76rem; gap: 10px; } }

/* 10 – שלבים מתקדמים אוטומטית עם פס התקדמות */
.steps__item { position: relative; }
.steps__bar { position: absolute; inset-inline-start: 0; bottom: -1px; height: 2px; width: 100%; transform-origin: right; transform: scaleX(0); background: var(--accent); opacity: 0; pointer-events: none; }
html[dir="ltr"] .steps__bar { transform-origin: left; }
.steps__item.is-open .steps__bar { opacity: 1; }
.steps.is-running .steps__item.is-open .steps__bar { transition: transform var(--steps-dur, 7s) linear; transform: scaleX(1); }
.steps__ctrl { display: flex; gap: 8px; align-items: center; margin-top: 16px; font-family: var(--font-mono); font-size: .78rem; color: var(--muted); }
.steps__ctrl button { all: unset; box-sizing: border-box; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--carbon); display: grid; place-items: center; cursor: pointer; color: var(--carbon); transition: background .3s, color .3s; }
.steps__ctrl button svg { width: 16px; height: 16px; }
.steps__ctrl button:hover, .steps__ctrl button:focus-visible { background: var(--carbon); color: #fff; }
.steps__ctrl button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* 11 – זוהר בפינת האריח בהובר */
.field-tile, .article-card { position: relative; overflow: hidden; isolation: isolate; }
.field-tile::before, .article-card::before { content: ""; position: absolute; z-index: -1; width: 240px; height: 170px; inset-inline-end: -70px; top: -70px; border-radius: 50%; filter: blur(38px); opacity: 0; transition: opacity .5s var(--m-ease); background: radial-gradient(ellipse at center, rgba(79,187,234,.85), rgba(207,227,238,.55) 55%, transparent 75%); pointer-events: none; }
.field-tile:hover::before, .field-tile:focus-visible::before, .article-card:hover::before { opacity: 1; }
.article-card::before { z-index: 1; }

/* 13 – שעה בפוטר */
.footer__clock b { font-family: var(--font-mono); font-weight: 400; color: #fff; font-variant-numeric: tabular-nums; }

/* בלי תנועה */
@media (prefers-reduced-motion: reduce) {
  .pipe__node { opacity: 1; transform: none; }
  .pipe__flow, .pipe__link::after { animation: none !important; opacity: 1; }
  .steps__bar { display: none; }
  .tw .ch { transition: none; }
}
html.a11y-no-motion .pipe__node { opacity: 1; transform: none; }
html.a11y-no-motion .pipe__flow, html.a11y-no-motion .pipe__link::after { animation: none !important; opacity: 1; }
html.a11y-no-motion .steps__bar { display: none; }

/* תרשים הפוך: הסדר מהרחבה למטה, הדלק זורם מהמיכל אל המשאבות (נגד כיוון הקריאה) */
.pipe--reverse.is-in .pipe__flow { animation-direction: reverse; }
@media (max-width: 1100px) { .pipe--reverse.is-in .pipe__link::after { animation-direction: reverse; } }

/* שעות המשרד בפוטר */
.footer__office { display: flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: .8rem; color: var(--on-dark-muted); }
.footer__office-dot { width: 8px; height: 8px; border-radius: 50%; background: #6c6660; flex: none; }
.footer__office.is-open .footer__office-dot { background: #4fd08a; box-shadow: 0 0 0 4px rgba(79,208,138,.18); }
.footer__office.is-open [data-office] { color: var(--on-dark); }

/* פרויקטים: תמונה בתוך כרטיס פרויקט (נפתחת בלייטבוקס) */
.case__gallery { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 4px; }
.case__gallery .gallery__item { aspect-ratio: 4 / 3; border-radius: 16px; }
.case__gallery .gallery__item:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; border-radius: var(--radius-lg); }
.case__gallery .gallery__item img { object-position: var(--pos, center); }
.case__gallery .gallery__item:not(:first-child) .gallery__caption { display: none; }
@media (max-width: 640px) { .case__gallery { grid-template-columns: repeat(2, 1fr); } .case__gallery .gallery__item:first-child { grid-column: span 2; grid-row: auto; aspect-ratio: 4 / 3; } }
.case__gallery-note { grid-column: 1 / -1; margin: 2px 0 0; font-family: var(--font-mono); font-size: .74rem; color: var(--muted); }

/* פס פעולה תחתון: בועת הוואטסאפ נשארת בתוך הסרגל */
.mobile-cta__wa { flex-direction: row !important; gap: 8px; overflow: hidden; }
.mobile-cta__wa img { width: 40px; margin-top: 0; animation: none; filter: drop-shadow(0 4px 8px rgba(0,0,0,.35)); }
.mobile-cta__wa span { font-size: .9rem; margin-top: 0; }


/* ==========================================================================
   שכבת "גלריה" (בהשראת Aker, לפי אישור): טיפוגרפיה דקה ומונומנטלית,
   גלולת ניווט ותפריט מסך מלא עם כרטיסי תמונה, הירו עם המילה הגדולה,
   קווים שנמתחים, תוויות במונו שנכתבות, כפתורי טקסט וחץ, רשימה ממוספרת
   עם תמונה, פס תמונה מלא, מפה שמדפדפת לבד, זוג כרטיסים, מספרים שעולים,
   פוטר עם המילה הענקית, מעבר בין דפים, גוון אחיד לצילומים, גרעין פילם
   ========================================================================== */
:root {
  --font-display: "Heebo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-body: "Heebo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --serif: "Frank Ruhl Libre", "David Libre", Georgia, serif;
  --char: #1c1c1c;
  --iron: #262626;
  --smoke: #66615c;
  --g-ease: cubic-bezier(.16, 1, .3, 1);
}
body { font-weight: 400; }
::selection { background: var(--char); color: #fff; }

/* ---------- טיפוגרפיה: Heebo דק לכותרות, סריף רק להצהרות ---------- */
h1, h2, h3, h4, .h { font-family: var(--font); letter-spacing: -.01em; }
h1 { font-weight: 200; font-size: clamp(2.6rem, 6.6vw, 5.8rem); line-height: 1.02; }
h2 { font-weight: 300; font-size: clamp(2.1rem, 5vw, 4rem); line-height: 1.08; }
h3 { font-weight: 300; }
h4 { font-weight: 500; }
.article-hero h1, .page-hero h1, .service-hero h1 { font-weight: 200; font-size: clamp(2.5rem, 6.2vw, 5.4rem); line-height: 1.04; }
h1 em, h2 em, h3 em, .article-hero h1 em, .service-hero h1 em { font-style: normal; color: var(--accent); }
.section--dark h2 em, .article-hero h1 em, .service-hero h1 em { color: var(--accent-2); }
p, blockquote, figcaption, summary, dd, td, .lead, .service-hero__lead, .about__list, .service-list, .faq__item, .story__body, .case p, .article-body, .quick__sub, .cta p, .contact-list, .manifesto [data-scrub-text] { font-family: var(--font); }
p, .service-hero__lead, .section-head p { font-size: 1.05rem; }
.service-hero__lead, .section-head p, .hero__lead { font-weight: 300; }
.article-body { font-size: 1.05rem; line-height: 1.8; }
.article-body h2 { font-weight: 300; font-size: clamp(1.7rem, 3vw, 2.3rem); }
.article-body h3 { font-weight: 400; }
blockquote, .testimonial blockquote, .story__quote, .manifesto p, .statement { font-family: var(--serif); }
.field-tile__name, .steps__name, .case__title, .article-card h3, .service-list strong, .aside-card h3 { font-family: var(--font); font-weight: 300; }
.case__title { font-weight: 300; }
.article-card h3 { font-weight: 400; font-size: 1.2rem; }
.faq__item summary { font-family: var(--font); font-weight: 300; font-size: clamp(1.15rem, 2vw, 1.5rem); }
.mobile-menu ul a, .hero__kicker, .facts strong, .stats strong, .loader__num { font-family: var(--font); }
.stats strong { font-weight: 200; letter-spacing: -.02em; }
.facts strong { font-weight: 200; }
strong, b { font-weight: 600; }
.article-body strong { font-weight: 600; }

/* ---------- תוויות קטע: מונו קטן שנכתב אות אחר אות, בלי ריבוע ---------- */
.kicker, .hero__kicker, .section--dark .kicker, .service-hero .kicker, .article-hero .kicker, .band .kicker, .map-panel__kicker, .standards__label, .marquee__label {
  font-family: var(--font-mono); font-size: .76rem; letter-spacing: .06em; font-weight: 400; text-transform: none; color: var(--muted); gap: 0;
}
.kicker::before, .hero__kicker::before { display: none; }
.section--dark .kicker, .service-hero .kicker, .article-hero .kicker, .band .kicker, .mapsec .kicker, .cta .kicker, .footer .kicker { color: var(--on-dark-muted); }
.kicker .c { opacity: 0; }
.kicker.is-typed .c, html.a11y-no-motion .kicker .c { opacity: 1; }
.kicker .c { transition: opacity .05s linear; }

/* קו שנמתח מעל כל ראש קטע */
.section-head { position: relative; padding-top: 22px; gap: 12px; }
.section-head::before { content: ""; position: absolute; top: 0; inset-inline: 0; height: 1px; background: var(--line); transform: scaleX(0); transform-origin: right; transition: transform 1.2s var(--g-ease); }
.in .section-head::before, .section-head.in::before { transform: scaleX(1); }
.section--dark .section-head::before, .mapsec .section-head::before, .cta .section-head::before { background: var(--line-dark); }
.article-hero .container { padding-top: 22px; }
.article-hero .container::before { content: ""; position: absolute; top: 0; inset-inline: var(--gutter); height: 1px; background: var(--line-dark); transform: scaleX(0); transform-origin: right; transition: transform 1.2s var(--g-ease) .2s; }
.article-hero.in .container::before { transform: scaleX(1); }

/* ---------- כפתורים: גלולה כהה שקטה, וקישורי טקסט עם חץ בעיגול ---------- */
.btn { font-weight: 500; font-size: .92rem; min-height: 48px; padding: 10px 22px; letter-spacing: .01em; }
.btn--primary { background: var(--char); color: #fff; --btn-hover: var(--onyx); box-shadow: none; }
.btn--xl { min-height: 52px; padding-inline: 26px; font-size: .96rem; }
.btn--quote, .btn--quote:hover, .btn--quote:active { height: auto; min-height: 48px; min-width: 0; padding: 10px 22px; background: #fff; color: var(--ink); font-weight: 500; font-size: .92rem; letter-spacing: .01em; text-shadow: none; box-shadow: none; gap: 12px; }
.btn--quote::before { display: none; }
.btn--quote::after { content: ""; width: 14px; height: 14px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M19 12H5M12 19l-7-7 7-7'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M19 12H5M12 19l-7-7 7-7'/></svg>") center / contain no-repeat; transition: transform .45s var(--g-ease); }
.btn--quote:hover { background: var(--paper-2); transform: translateY(-1px); }
.btn--quote:hover::after { transform: translateX(-4px); }
.quick__form .btn--primary, .form .btn--primary, .cta .btn--primary { background: var(--char); color: #fff; }
.tbtn { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font); font-size: .95rem; font-weight: 400; padding: 8px 0; position: relative; color: inherit; }
.tbtn .arr { width: 36px; height: 36px; border-radius: 50%; border: 1px solid currentColor; display: grid; place-items: center; flex: none; transition: transform .45s var(--g-ease), background .3s, color .3s; }
.tbtn .arr svg { width: 15px; height: 15px; }
.tbtn:hover .arr { transform: translateX(-6px); }
.tbtn--dark:hover .arr { background: #fff; color: var(--ink); }
.tbtn--light:hover .arr { background: var(--ink); color: #fff; }
.article-card__more { font-weight: 400; }
.article-card__more::after { content: " ←"; }

/* ---------- גלולת ניווט קבועה + תפריט מסך מלא עם כרטיסי תמונה ---------- */
.header, .header.is-scrolled, .header.is-scrolled[data-theme="light"], .header.is-scrolled[data-theme="dark"] {
  position: fixed; inset: 0 0 auto 0; height: auto; padding: 14px clamp(14px, 2.5vw, 24px) 0; display: flex; justify-content: space-between; align-items: flex-start; gap: 10px;
  background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; pointer-events: none;
}
.header > * { pointer-events: auto; }
.header.is-hidden { transform: translateY(-130%); }
.navpill { display: inline-flex; align-items: center; gap: 4px; height: 44px; padding: 4px 4px 4px 12px; border-radius: 999px; background: var(--char); color: #fff; font-family: var(--font); font-size: .84rem; font-weight: 500; letter-spacing: .02em; border: 0; }
.navpill__logo { display: inline-flex; align-items: center; height: 36px; padding: 4px 12px; background: #fff; border-radius: 999px; }
.navpill__logo img { height: 26px; width: auto; }
.navpill__btn, .navpill__btn:hover { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 10px; height: 36px; padding: 0 0 0 12px; color: #fff; font: inherit; font-weight: 500; cursor: pointer; border-radius: 999px; }
.navpill__btn:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 2px; }
.navpill__btn .nav-toggle__icon { width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.12); display: grid; place-items: center; }
.navpill__btn span.bars, .navpill__btn span.bars::before, .navpill__btn span.bars::after { width: 12px; height: 1.5px; background: #fff; }
.navpill__btn span.bars::before { top: -4px; }
.navpill__btn span.bars::after { top: 4px; }
.navpill__btn[aria-expanded="true"] span.bars { background: transparent; }
.navpill__btn[aria-expanded="true"] span.bars::before { transform: translateY(4px) rotate(45deg); }
.navpill__btn[aria-expanded="true"] span.bars::after { transform: translateY(-4px) rotate(-45deg); }
.navpill--cta { padding: 4px 6px 4px 18px; gap: 12px; background: #fff; color: var(--ink); text-decoration: none !important; transition: background .3s, transform .3s var(--g-ease); }
.navpill--cta .arr { width: 34px; height: 34px; border-radius: 50%; background: var(--char); color: #fff; display: grid; place-items: center; transition: transform .45s var(--g-ease); }
.navpill--cta .arr svg { width: 14px; height: 14px; }
.navpill--cta:hover { background: var(--paper-2); transform: translateY(-1px); }
.navpill--cta:hover .arr { transform: translateX(-3px); }
@media (max-width: 560px) { .navpill--cta { display: none; } .navpill { padding-inline-start: 8px; } }
body.has-ann .header { top: var(--ann-h); }
.mobile-menu { background: var(--onyx); color: var(--on-dark); padding: calc(var(--header-h) + 8px) var(--gutter) 40px; gap: 28px; align-content: start; }
body.has-ann .mobile-menu { padding-top: calc(var(--header-h) + 8px + var(--ann-h)); }
.mobile-menu::before { display: none; }
.mobile-menu > ul, .mobile-menu__foot { max-width: 1240px; width: 100%; margin-inline: auto; }
.mobile-menu > ul { display: flex; flex-direction: column; }
.mobile-menu > ul > li { overflow: visible; }
.mobile-menu > ul > li > a { font-family: var(--font); font-weight: 300; font-size: clamp(1.5rem, 4vw, 2.4rem); letter-spacing: -.01em; padding: 12px 0; border-bottom: 1px solid var(--line-dark); }
.mobile-menu ul a small { font-family: var(--font-mono); font-size: .72rem; font-weight: 400; color: var(--on-dark-muted); letter-spacing: .06em; }
.mobile-menu > ul > li > a:hover { color: #fff; }
.mobile-menu__arrow { width: 34px; height: 34px; opacity: .6; }
.mobile-menu__has-sub { order: -1; margin-bottom: 18px; }
.mobile-menu__has-sub > a { font-family: var(--font-mono) !important; font-size: .76rem !important; font-weight: 400 !important; letter-spacing: .06em; color: var(--on-dark-muted); border: 0 !important; padding: 0 0 12px !important; pointer-events: none; }
.mobile-menu__has-sub > a small, .mobile-menu__has-sub > a .mobile-menu__arrow { display: none; }
.mobile-menu__sub { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; padding: 0; }
@media (min-width: 700px) { .mobile-menu__sub { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; } }
.mobile-menu ul .mobile-menu__sub a, .mobile-menu ul .mobile-menu__sub a:hover { display: grid; grid-template-columns: 92px 1fr; align-items: center; gap: 14px; min-height: 0; padding: 10px; border: 0; border-radius: 12px; background: var(--char); color: #fff; font-family: var(--font); font-size: .95rem; font-weight: 500; letter-spacing: 0; transition: background .3s, transform .8s var(--g-ease); }
.mobile-menu ul .mobile-menu__sub a:hover { background: var(--iron); }
.mobile-menu ul .mobile-menu__sub a img, .mobile-menu ul .mobile-menu__sub a:hover img { width: 92px; height: 68px; border-radius: 8px; padding: 0; background: var(--iron); object-fit: cover; filter: saturate(.8) contrast(1.03); }
.mobile-menu ul .mobile-menu__sub a[aria-current="page"] { background: var(--iron); box-shadow: inset 0 0 0 1px var(--accent); }
.mobile-menu__foot { color: var(--on-dark-muted); }
.mobile-menu__pill { font-weight: 500; font-size: .9rem; min-height: 44px; }
@media (min-width: 1000px) { .mobile-menu ul a { font-size: clamp(1.5rem, 4vw, 2.4rem); } }

/* ---------- הירו עם המילה הגדולה ---------- */
.hero--word { display: block; }
.hero--word .hero__shade { background: linear-gradient(to top, rgba(10,10,12,.92) 0%, rgba(10,10,12,.3) 42%, rgba(10,10,12,.28) 100%); }
.hero--word .hero__shade::after { opacity: .055; mix-blend-mode: normal; animation: g-noise .28s steps(1) infinite; }
.hero--word .hero__media img { filter: saturate(.78) contrast(1.02); object-position: center 42%; }
.hero__in { position: relative; z-index: 2; min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto; padding-top: calc(var(--header-h) + 12px); padding-bottom: clamp(20px, 3vw, 36px); }
body.has-ann .hero__in { padding-top: calc(var(--header-h) + 12px + var(--ann-h)); }
.hero__intro { max-width: 36ch; font-size: .95rem; line-height: 1.6; color: rgba(255,255,255,.85); font-weight: 300; margin: 0; opacity: 0; transform: translateY(18px); animation: g-up .8s var(--ease) 1.1s forwards; }
.hero__mid { align-self: center; display: grid; gap: 16px; max-width: 580px; justify-items: start; padding-block: 28px; }
.hero__rule { width: 100%; height: 1px; background: rgba(255,255,255,.3); transform: scaleX(0); transform-origin: right; animation: g-rule 1.2s var(--g-ease) .9s forwards; }
.hero__mid p { font-family: var(--font); font-size: clamp(1.3rem, 2.4vw, 1.8rem); font-weight: 300; line-height: 1.3; margin: 0; color: #fff; opacity: 0; transform: translateY(24px); animation: g-up .9s var(--ease) 1.3s forwards; }
.hero__cta { opacity: 0; animation: g-up .8s var(--ease) 1.7s forwards; }
.hero__bottom { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 20px; }
.wordmark { margin: 0; font-family: var(--font); font-size: clamp(50px, 12.6vw, 196px); font-weight: 200; line-height: 1; letter-spacing: -.02em; display: flex; align-items: baseline; gap: .015em; color: #fff; direction: rtl; max-width: 100%; }
.wordmark small { font-size: .24em; font-weight: 300; letter-spacing: 0; margin-inline-start: .3em; }
.wordmark > span { display: inline-block; overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
.wordmark > span > i { display: inline-block; font-style: normal; transform: translateY(105%); animation: g-rise 1s var(--g-ease) forwards; animation-delay: calc(.3s + var(--i, 0) * 70ms); }
.wordmark .wordmark__ltd { font-size: .24em; font-weight: 300; margin-inline-start: .3em; align-self: baseline; }
.feed { width: min(340px, 42vw); background: rgba(28,28,28,.78); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-radius: var(--radius); overflow: hidden; position: relative; height: 280px; opacity: 0; animation: g-up .8s var(--ease) 1.6s forwards; }
.feed__item { position: absolute; inset: 0; display: grid; grid-template-rows: 150px 1fr; color: #fff; transition: transform .9s var(--g-ease), opacity .9s var(--ease); }
.feed__item img { width: 100%; height: 150px; object-fit: cover; filter: saturate(.8) contrast(1.03); }
.feed__item > div { padding: 14px 16px; }
.feed__item b { font-weight: 500; font-size: .95rem; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.feed__item b .arr { width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(255,255,255,.6); display: grid; place-items: center; flex: none; transition: transform .45s var(--g-ease), background .3s, color .3s; }
.feed__item b .arr svg { width: 14px; height: 14px; }
.feed__item:hover b .arr { background: #fff; color: var(--ink); transform: translateX(-4px); }
.feed__item small { display: block; color: var(--on-dark-muted); font-size: .8rem; margin-top: 6px; line-height: 1.45; font-weight: 300; }
.feed__item.is-prev { transform: translateY(-110%) scale(1.05); opacity: 0; pointer-events: none; }
.feed__item.is-next { transform: translateY(110%) scale(1.05); opacity: 0; pointer-events: none; }
.feed__item.is-on { transform: none; opacity: 1; }
.feed__dots { position: absolute; top: 10px; inset-inline-end: 10px; display: flex; gap: 4px; z-index: 2; }
.feed__dots i { width: 14px; height: 1px; background: rgba(255,255,255,.45); }
.feed__dots i.on { background: #fff; }
@media (max-width: 760px) { .hero__bottom { grid-template-columns: 1fr; } .feed { width: 100%; height: 236px; } .hero__mid { padding-block: 16px; } }
@keyframes g-up { to { opacity: 1; transform: none; } }
@keyframes g-rule { to { transform: scaleX(1); } }
@keyframes g-rise { to { transform: none; } }
@keyframes g-noise { 0% { background-position: 0 0; } 20% { background-position: -8% 6%; } 40% { background-position: 6% -10%; } 60% { background-position: -4% 12%; } 80% { background-position: 10% 4%; } 100% { background-position: 0 0; } }

/* ---------- גרעין פילם על משטחים כהים ---------- */
.grain { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .055; background-image: var(--grain); animation: g-noise .28s steps(1) infinite; }
.article-hero::before { display: none; }
.article-hero::after { background: none; }
.article-hero { background: var(--onyx); padding-block: 40px 64px; }
.article-hero .container, .band__in, .cta__inner { position: relative; z-index: 1; }

/* ---------- גוון אחיד לכל הצילומים ---------- */
.gallery__item img, .service-figure img, .steps__media img, .article-card > img, .case__gallery img, .about__img, .story__img, .band img, .card--photo img, .stage img, .process-figure img, .article-figure img { filter: saturate(.78) contrast(1.03); transition: filter .6s var(--ease), transform 1s var(--ease-out); }
.gallery__item:hover img, .article-card:hover > img, .card--photo:hover img { filter: none; }

/* ---------- הצהרה בסריף ---------- */
.statement { font-family: var(--serif); font-size: clamp(1.45rem, 3.1vw, 2.4rem); line-height: 1.35; font-weight: 400; max-width: 26ch; color: var(--ink); margin: 0; }
.statement em { font-style: normal; color: var(--accent-deep); }
.meta-line { list-style: none; margin: clamp(28px, 4vw, 44px) 0 0; padding: 18px 0 0; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px 40px; font-family: var(--font-mono); font-size: .76rem; color: var(--muted); letter-spacing: .02em; }

/* ---------- רשימה ממוספרת עם תמונה שעוקבת ---------- */
.list { display: grid; grid-template-columns: 1fr minmax(280px, 42%); gap: clamp(24px, 5vw, 72px); align-items: start; }
.rows { border-top: 1px solid var(--line); display: grid; }
.row { display: grid; grid-template-columns: 44px 1fr auto; gap: 16px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--line); color: inherit; transition: padding .35s var(--ease); }
.row:hover, .row.is-on { padding-inline-start: 10px; }
.row .n { font-family: var(--font-mono); font-size: .74rem; color: var(--smoke); }
.row h3 { font-size: clamp(1.25rem, 2.3vw, 1.85rem); font-weight: 300; margin: 0; transition: color .3s; line-height: 1.15; }
.row.is-on h3 { color: var(--accent-deep); }
.row small { display: block; color: var(--muted); font-size: .84rem; margin-top: 4px; font-weight: 300; }
.row .arr { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line); display: grid; place-items: center; transition: transform .4s var(--g-ease), background .3s, border-color .3s; }
.row .arr svg { width: 15px; height: 15px; }
.row.is-on .arr { background: var(--ink); color: #fff; border-color: var(--ink); transform: rotate(-45deg); }
.row .field__badge { font-size: .66rem; padding: 3px 9px; margin-inline-start: 8px; vertical-align: middle; font-weight: 500; }
.stage { position: sticky; top: calc(var(--header-h) + 20px); aspect-ratio: 4 / 3; border-radius: var(--radius-lg); overflow: hidden; background: var(--paper-2); }
.stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.05); transition: opacity .6s var(--ease), transform 1.4s var(--ease), filter .6s; }
.stage img.is-on { opacity: 1; transform: none; }
.stage .cap { position: absolute; bottom: 12px; inset-inline-start: 12px; z-index: 3; font-family: var(--font-mono); font-size: .7rem; color: #fff; background: rgba(15,14,18,.6); padding: 5px 10px; border-radius: 999px; }
@media (max-width: 860px) { .list { grid-template-columns: 1fr; } .stage { position: relative; top: 0; order: -1; } }

/* ---------- פס תמונה מלא ---------- */
.band--gallery, .band--gallery.band { margin: 0; border-radius: 0; max-width: none; height: auto; min-height: 70svh; display: grid; align-items: end; }
.band--gallery::after { background: linear-gradient(to top, rgba(10,10,12,.86), rgba(10,10,12,.05) 60%); }
.band--gallery img { inset: -6% 0; height: 112%; filter: saturate(.72) contrast(1.02); }
.band__in { position: relative; z-index: 2; display: grid; gap: 14px; justify-items: start; padding-block: clamp(28px, 5vw, 64px); width: 100%; }
.band__rule { width: 100%; height: 1px; background: var(--line-dark); transform: scaleX(0); transform-origin: right; transition: transform 1.2s var(--g-ease); }
.in .band__rule { transform: scaleX(1); }
.band__h { font-size: clamp(2rem, 5vw, 4rem); font-weight: 300; color: #fff; max-width: 20ch; margin: 0; }
.band .tbtn { color: #fff; }

/* ---------- מפה שמדפדפת לבד ---------- */
.mapsec { background: var(--onyx); color: var(--on-dark); }
.mapsec h2 { color: #fff; }
.mapgrid { display: grid; grid-template-columns: 1fr 300px; gap: clamp(24px, 5vw, 72px); align-items: center; }
@media (max-width: 860px) { .mapgrid { grid-template-columns: 1fr; } }
.mapsec .ilmap { width: 100%; max-width: 280px; margin-inline: auto; display: block; overflow: visible; }
.mapsec .land { fill: var(--char); stroke: rgba(255,255,255,.18); stroke-width: 1.5; stroke-linejoin: round; }
.mapsec .pin { cursor: pointer; }
.mapsec .pin .dot { fill: #777; stroke: var(--onyx); stroke-width: 2.5; transform-box: fill-box; transform-origin: center; transition: fill .35s, transform .35s var(--g-ease); }
.mapsec .pin .ring { fill: var(--accent); opacity: 0; transform-box: fill-box; transform-origin: center; transform: scale(.3); }
.mapsec .pin.on .dot { fill: var(--accent-2); transform: scale(1.4); }
.mapsec .pin.on .ring { animation: g-pulse 1.8s var(--g-ease) infinite; }
@keyframes g-pulse { 0% { opacity: .5; transform: scale(.3); } 100% { opacity: 0; transform: scale(1.4); } }
.mapsec .pin text { font-family: var(--font); font-size: 12px; fill: var(--on-dark-muted); direction: rtl; text-anchor: end; transition: fill .3s; }
.mapsec .pin text.r { text-anchor: start; }
.mapsec .pin.on text { fill: #fff; }
.mapcard { position: relative; min-height: 260px; }
.mapcard__item { position: absolute; inset: 0; display: grid; grid-template-rows: auto auto 1fr; gap: 12px; align-content: start; color: inherit; opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease), transform .7s var(--ease); pointer-events: none; }
.mapcard__item.is-on { opacity: 1; transform: none; pointer-events: auto; }
.mapcard__item .city { font-family: var(--font-mono); font-size: .76rem; color: var(--on-dark-muted); }
.mapcard__item h3 { font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 300; color: #fff; margin: 0; }
.mapcard__item p { color: var(--on-dark-muted); font-size: .95rem; font-weight: 300; max-width: 34ch; margin: 0; }
.mapcard__item .tbtn { align-self: end; color: #fff; }
.mapcard__bar { position: absolute; bottom: 0; inset-inline-start: 0; height: 1px; width: 100%; background: rgba(255,255,255,.15); }
.mapcard__bar i { position: absolute; inset: 0; background: var(--accent-2); transform-origin: right; transform: scaleX(0); }
.mapcard.run .mapcard__bar i { animation: g-bar 4.5s linear infinite; }
@keyframes g-bar { to { transform: scaleX(1); } }
.mapnav { display: flex; gap: 6px; margin-top: 18px; }
.mapnav b { width: 16px; height: 1px; background: rgba(255,255,255,.3); transition: background .3s; }
.mapnav b.on { background: #fff; }

/* ---------- זוג כרטיסים: מלא + תמונה ---------- */
.cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 760px) { .cards { grid-template-columns: 1fr; } }
.card { position: relative; border-radius: var(--radius-lg); overflow: hidden; min-height: 420px; display: grid; grid-template-rows: auto 1fr auto; gap: 8px; padding: clamp(20px, 3vw, 32px); color: inherit; }
.card--solid { background: var(--paper-2); color: var(--ink); }
.card--photo { color: #fff; background: var(--onyx); }
.card--photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease), filter .6s; }
.card--photo:hover img { transform: scale(1.04); }
.card--photo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,10,12,.85), rgba(10,10,12,.15) 60%); }
.card > * { position: relative; z-index: 1; }
.card--photo .kicker { color: rgba(255,255,255,.7); }
.card h3 { font-size: clamp(1.7rem, 3.4vw, 2.8rem); font-weight: 300; max-width: 14ch; margin: 0; }
.card__foot { display: flex; justify-content: space-between; align-items: end; }
.card--solid .tbtn { color: var(--ink); }

/* ---------- מספרים שעולים מהקו ---------- */
.numbers { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0; }
.number { padding: 26px 0; border-top: 1px solid var(--line); position: relative; }
.number + .number { padding-inline-start: 18px; }
.number + .number::before { content: ""; position: absolute; inset-block: 26px; inset-inline-start: -1px; width: 1px; background: var(--line); }
@media (max-width: 640px) { .number + .number::before { display: none; } .number + .number { padding-inline-start: 0; } }
.number .num { direction: ltr; justify-content: flex-end; font-family: var(--font); font-size: clamp(2.9rem, 6.5vw, 5.5rem); font-weight: 200; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; display: flex; gap: 2px; padding-inline-end: 12px; color: var(--ink); }
.number .num span { display: inline-block; overflow: hidden; }
.number .num span i { display: inline-block; font-style: normal; transform: translateY(100%); transition: transform .8s var(--g-ease); transition-delay: calc(var(--i, 0) * 80ms); }
.in .number .num span i { transform: none; }
.number p { color: var(--muted); font-size: .88rem; margin: 10px 0 0; font-weight: 300; max-width: 22ch; padding-inline-end: 12px; }

/* ---------- שאלות נפוצות: קלות, פלוס בעיגול ---------- */
.faq__list { border-top: 1px solid var(--line); }
.faq__item { border-bottom: 1px solid var(--line); }
.faq__item summary { padding: 22px 4px; }
.faq__icon { width: 36px; height: 36px; border-color: var(--ink); background: transparent; color: var(--ink); }
.faq__icon::before, .faq__icon::after { width: 12px; height: 1.5px; }
.faq__item[open] .faq__icon { background: var(--ink); color: #fff; }
.faq__item p { font-weight: 300; }

/* ---------- פוטר: המילה הענקית, קווי תחתון שנמתחים ---------- */
.footer { background: var(--onyx); padding-block: clamp(52px, 7vw, 92px) 24px; border-top: 0; }
.footer .container::before { content: ""; display: block; height: 1px; background: var(--line-dark); margin-bottom: 36px; transform: scaleX(0); transform-origin: right; transition: transform 1.2s var(--g-ease); }
.footer.in .container::before { transform: scaleX(1); }
.footer h4 { font-family: var(--font-mono); font-size: .76rem; letter-spacing: .06em; color: var(--on-dark-muted); font-weight: 400; text-transform: none; margin-bottom: 12px; }
.footer__brand p { font-weight: 300; color: var(--on-dark-muted); max-width: 32ch; font-size: .95rem; }
.footer ul { gap: 8px; font-size: .92rem; font-weight: 300; }
.footer a { position: relative; color: var(--on-dark); }
.footer a:hover { text-decoration: none; color: #fff; }
.footer ul a::after { content: ""; position: absolute; inset-inline-start: 0; bottom: -2px; width: 0; height: 1px; background: currentColor; transition: width .3s var(--ease); }
.footer ul a:hover::after { width: 100%; }
.footer__word { font-family: var(--font); font-size: clamp(50px, 12.6vw, 196px); font-weight: 200; line-height: 1; letter-spacing: -.02em; color: #fff; display: flex; align-items: baseline; gap: .015em; margin: clamp(36px, 6vw, 72px) 0 20px; direction: rtl; }
.footer__word small { font-size: .24em; font-weight: 300; margin-inline-start: .3em; }
.footer__word > span { display: inline-block; overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
.footer__word > span > i { display: inline-block; font-style: normal; transform: translateY(105%); transition: transform 1s var(--g-ease); transition-delay: calc(var(--i, 0) * 60ms); }
.footer.in .footer__word > span > i { transform: none; }
.footer__word .wordmark__ltd { font-size: .24em; font-weight: 300; margin-inline-start: .3em; }
.footer__bottom { font-family: var(--font-mono); font-size: .74rem; color: var(--on-dark-muted); }
.footer__bottom a::after { display: none; }
.footer__bottom a:hover { text-decoration: underline; }

/* ---------- מעבר בין דפים ---------- */


/* ---------- פס פעולה תחתון במובייל: כפתור שיחה שקט ---------- */
.mobile-cta__call, .mobile-cta__call:active { background: var(--char); max-width: none; padding-inline: 16px; font-weight: 500; font-size: .92rem; text-shadow: none; box-shadow: none; }
.mobile-cta__call::before { display: none; }

/* ---------- כרטיסי מאמרים, אריחים ושדות: רדיוסים והשטחה לפי הכיוון ---------- */
.article-card:hover { transform: translateY(-4px); }
.aside-card--cta { background: var(--char); box-shadow: none; }
.article-card__tag, .case__num, .steps__num, .crumbs, .map-panel__caption, .gallery-note { font-family: var(--font-mono); font-weight: 400; letter-spacing: .04em; }
.case__num { color: var(--smoke); }
.steps__num { color: var(--smoke); }

/* ---------- בלי תנועה: הכול מוצג מיד ---------- */
@media (prefers-reduced-motion: reduce) {
  .section-head::before, .article-hero .container::before, .band__rule, .footer .container::before, .hero__rule { transform: none; }
  .hero__intro, .hero__mid p, .hero__cta, .feed, .wordmark > span > i, .footer__word > span > i, .number .num span i, .mapcard__item.is-on { opacity: 1; transform: none; animation: none; }
  .kicker .c { opacity: 1; }
  .grain, .hero--word .hero__shade::after { animation: none; }
}
html.a11y-no-motion .section-head::before, html.a11y-no-motion .article-hero .container::before, html.a11y-no-motion .band__rule, html.a11y-no-motion .footer .container::before, html.a11y-no-motion .hero__rule { transform: none; }
html.a11y-no-motion .hero__intro, html.a11y-no-motion .hero__mid p, html.a11y-no-motion .hero__cta, html.a11y-no-motion .feed, html.a11y-no-motion .wordmark > span > i, html.a11y-no-motion .footer__word > span > i, html.a11y-no-motion .number .num span i { opacity: 1; transform: none; animation: none; }
html.a11y-no-motion .grain, html.a11y-no-motion .hero--word .hero__shade::after { animation: none; }

/* ---------- מפה חיה: צילום הפרויקט ברקע, מסלול מקווקו בין הסיכות, זוהר ---------- */
.mapsec { position: relative; overflow: hidden; isolation: isolate; }
.mapsec__bg { position: absolute; inset: 0; z-index: -1; }
.mapsec__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.08); filter: saturate(.55) brightness(.6) contrast(1.05); transition: opacity 1.4s var(--ease), transform 7s linear; }
.mapsec__bg img.is-on { opacity: .5; transform: scale(1); }
.mapsec__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to left, rgba(15,14,18,.94) 0%, rgba(15,14,18,.8) 40%, rgba(15,14,18,.45) 100%), radial-gradient(60% 70% at 25% 55%, rgba(31,143,191,.22), transparent 70%); }
.mapsec .container { position: relative; }
.mapgrid { grid-template-columns: 1fr 360px; }
.mapsec .ilmap { width: auto; max-width: 100%; height: clamp(380px, 62vh, 600px); margin-inline: auto; filter: drop-shadow(0 0 34px rgba(79,187,234,.28)); }
.mapsec .land { fill: rgba(28,28,28,.72); stroke: rgba(79,187,234,.45); stroke-width: 1.2; }
.mapsec .land-dots { stroke: none; }
.mapsec .route { fill: none; stroke: rgba(79,187,234,.35); stroke-width: 1.2; stroke-dasharray: 3 5; }
.mapsec .route--flow { stroke: var(--accent-2); stroke-dasharray: 3 21; stroke-width: 1.6; opacity: 0; }
.mapsec.in .route--flow { opacity: 1; animation: g-route 1.6s linear infinite; }
@keyframes g-route { to { stroke-dashoffset: -24; } }
.mapsec .pin .dot { fill: #8d8781; }
.mapsec .pin.on .dot { fill: #fff; filter: drop-shadow(0 0 6px rgba(79,187,234,.9)); }
.mapsec .pin text { font-size: 12.5px; font-weight: 500; paint-order: stroke; stroke: rgba(15,14,18,.9); stroke-width: 3px; stroke-linejoin: round; }
.mapcard { min-height: 300px; }
.mapcard__item h3 { font-size: clamp(1.7rem, 3.4vw, 2.6rem); }
@media (max-width: 860px) { .mapgrid { grid-template-columns: 1fr; } .mapsec .ilmap { height: 380px; } .mapsec__bg::after { background: linear-gradient(to top, rgba(15,14,18,.95) 0%, rgba(15,14,18,.7) 50%, rgba(15,14,18,.5) 100%); } }
@media (prefers-reduced-motion: reduce) { .mapsec .route--flow { animation: none; opacity: 1; } .mapsec__bg img { transition: none; } }
html.a11y-no-motion .mapsec .route--flow { animation: none; opacity: 1; }

/* פוטר: הלוגו על כרטיס לבן (לפי בקשה), במקום המילה הענקית */
.footer__word { display: none; }
.footer__mark { margin: 0 0 44px; }
.footer__mark img { width: min(70vw, 340px); padding: 16px 30px; border-radius: 20px; box-shadow: none; }

/* תוויות בעברית: Heebo עם ריווח רגיל (המונו נשאר רק למספרים ולשעון) */
.kicker, .hero__kicker, .section--dark .kicker, .service-hero .kicker, .article-hero .kicker, .band .kicker, .mapsec .kicker, .cta .kicker, .footer .kicker, .map-panel__kicker, .standards__label, .marquee__label, .crumbs, .stage .cap, .mapcard__item .city, .meta-line, .steps__tag, .steps__cap, .gallery__caption, .band__kicker span, .footer__bottom, .article-card__tag, .gallery-note, .case__gallery-note, .pipe__legend, .footer__office, .steps__ctrl, .service-figure figcaption, .process-figure figcaption, .footer h4, .mobile-menu__has-sub > a, .mobile-menu ul a small, .case__num, .steps__num, .facts small { font-family: var(--font); letter-spacing: .02em; word-spacing: normal; }
.kicker, .hero__kicker { font-size: .8rem; font-weight: 500; }
.footer h4, .mobile-menu__has-sub > a { font-weight: 500; }
.mobile-menu__has-sub > a { font-family: var(--font) !important; }

/* פוטר: הפרטים למעלה, הלוגו מתחתיהם (לפי בקשה) */
.footer .container { display: flex; flex-direction: column; }
.footer .container::before { order: 0; }
.footer__grid { order: 1; margin-bottom: 8px; }
.footer__mark { order: 2; margin: 32px 0 40px; }
.footer__bottom { order: 3; }

/* מפה: רקע עירוני קבוע (הדמיה) */
.mapsec__bg img.is-on { opacity: .62; }
.mapsec__bg img { filter: saturate(.7) brightness(.72) contrast(1.02); transform: scale(1.04); }
.mapsec__bg img.is-on { transform: scale(1); transition: transform 30s linear, opacity 1.4s var(--ease); }
.mapsec__bg::after { background: linear-gradient(to left, rgba(15,14,18,.9) 0%, rgba(15,14,18,.62) 45%, rgba(15,14,18,.3) 100%), linear-gradient(to top, rgba(15,14,18,.85), transparent 35%); }
.mapsec__stamp { position: absolute; top: 12px; inset-inline-end: 0; font-family: var(--font); font-size: .7rem; color: var(--on-dark-muted); letter-spacing: .02em; }
.mapsec .section-head { position: relative; }

/* מפה בגרסה בהירה: רקע בוקר (הדמיה), טקסט כהה */
.mapsec--light { background: var(--paper); color: var(--ink); }
.mapsec--light h2, .mapsec--light .mapcard__item h3 { color: var(--ink); }
.mapsec--light .mapsec__bg img, .mapsec--light .mapsec__bg img.is-on { filter: saturate(.9) contrast(1.02); object-position: center 72%; }
.mapsec--light .mapsec__bg img.is-on { opacity: 1; }
.mapsec--light .mapsec__bg::after { background: linear-gradient(to left, rgba(238,236,231,.96) 0%, rgba(238,236,231,.86) 38%, rgba(238,236,231,.42) 70%, rgba(238,236,231,.2) 100%), linear-gradient(to top, rgba(238,236,231,.9), transparent 30%), linear-gradient(to bottom, rgba(238,236,231,.85), transparent 22%); }
.mapsec--light .kicker, .mapsec--light .mapcard__item .city, .mapsec--light .mapsec__stamp { color: var(--ink-2); }
.mapsec--light .mapcard__item p { color: var(--ink-2); }
.mapsec--light .section-head::before { background: rgba(50,45,42,.35); }
.mapsec--light .land { fill: rgba(255,255,255,.55); stroke: var(--accent-deep); stroke-width: 1.3; }
.mapsec--light .ilmap { filter: drop-shadow(0 12px 30px rgba(12,107,150,.22)); }
.mapsec--light .route { stroke: rgba(12,107,150,.45); }
.mapsec--light .route--flow { stroke: var(--accent-deep); }
.mapsec--light .pin .dot { fill: #8a847e; stroke: #fff; }
.mapsec--light .pin.on .dot { fill: var(--accent-deep); filter: drop-shadow(0 0 5px rgba(31,143,191,.6)); }
.mapsec--light .pin text { fill: var(--ink-2); stroke: rgba(238,236,231,.9); }
.mapsec--light .pin.on text { fill: var(--ink); }
.mapsec--light .mapcard__bar { background: rgba(50,45,42,.2); }
.mapsec--light .mapcard__bar i { background: var(--accent-deep); }
.mapsec--light .mapnav b { background: rgba(50,45,42,.3); }
.mapsec--light .mapnav b.on { background: var(--ink); }
.mapsec--light .mapcard__item .tbtn { color: var(--ink); }
.mapsec--light .mapcard__item .tbtn:hover .arr { background: var(--ink); color: #fff; }
@media (max-width: 860px) { .mapsec--light .mapsec__bg::after { background: linear-gradient(to top, rgba(238,236,231,.97) 0%, rgba(238,236,231,.8) 55%, rgba(238,236,231,.45) 100%); } }
/* תוויות שנכתבות: הרווח בין המילים נשמר גם בתוך inline-flex */
.kicker .c, .hero__kicker .c { white-space: pre; }
/* גלולת הניווט נשארת תמיד גלויה (לא נעלמת בגלילה), גם כשפס ההודעה פתוח */
.header.is-hidden { transform: none; }
body.has-ann .ann { z-index: 99; }
.band--gallery img { object-position: center 60%; }
/* שורת הפרטים מתחת להצהרה: האייקונים חזרו */
.meta-line { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px 28px; font-family: var(--font); font-size: .9rem; letter-spacing: 0; color: var(--muted); }
.meta-line li { display: flex; align-items: center; gap: 14px; }
.meta-line img { width: 60px; height: 60px; flex: none; transition: transform .4s var(--ease-out); }
.meta-line li:hover img { transform: translateY(-3px) rotate(-3deg); }
.meta-line strong { display: block; font-weight: 500; color: var(--ink); font-size: 1rem; }
/* כרטיס עם צילום: הכהיה חזקה יותר כדי שהטקסט ייקרא על תמונה בהירה */
.card--photo::before { background: linear-gradient(to top, rgba(10,10,12,.94) 0%, rgba(10,10,12,.7) 45%, rgba(10,10,12,.35) 100%); }
.card--photo img { filter: saturate(.7) brightness(.85); }
.card--photo h3, .card--photo .kicker, .card--photo .tbtn { text-shadow: 0 2px 14px rgba(0,0,0,.55); }
.card--photo .kicker { color: rgba(255,255,255,.85); }
.card--photo:hover img { filter: saturate(.85) brightness(.9); }
/* כרטיס "תחנה חדשה": שרטוט תכנון (הדמיה) ברקע */
.card--plan { background: #0b1a33; color: #fff; }
.card--plan img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; opacity: .95; transition: transform 1.4s var(--ease); }
.card--plan:hover img { transform: scale(1.03); }
.card--plan::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(6,14,30,.92) 0%, rgba(6,14,30,.45) 45%, rgba(6,14,30,.2) 100%); }
.card--plan .kicker { color: rgba(255,255,255,.8); }
.card--plan h3, .card--plan .kicker, .card--plan .tbtn { text-shadow: 0 2px 14px rgba(0,0,0,.5); }
.card__stamp { position: absolute; top: 14px; inset-inline-end: 14px; z-index: 2; font-family: var(--font); font-size: .7rem; letter-spacing: .04em; color: #fff; border: 1px solid rgba(255,255,255,.4); padding: 3px 9px; border-radius: 999px; background: rgba(6,14,30,.45); }
/* פסקת הפתיחה בהירו: בשורה אחת */
.hero__intro { max-width: none; }
@media (min-width: 640px) { .hero__intro { white-space: nowrap; } }

/* פס ההדמיה בדף חוות שרתים: המסגור על אתר הבנייה (המיכלים והבור), פחות על העיר */
.band--site img { object-position: center 88%; transform: scale(1.4); transform-origin: 64% 92%; }
.band--site { min-height: 76svh; }
@media (max-width: 760px) { .band--site img { transform: scale(1.6); transform-origin: 45% 95%; } }
.hero--word .hero__media img { object-position: center 45%; }
.stage img[src*="paz-station-construction"] { object-position: center 55%; }
/* הירו בלי הכרטיס המתחלף: המילה לבדה בתחתית */
.hero__bottom { grid-template-columns: 1fr; }
/* הירו: המשפט צמוד לשורת הפתיחה שמעליו */
.hero__mid { align-self: start; padding-block: 14px 0; gap: 12px; }
.hero__in { grid-template-rows: auto auto 1fr; }
.hero__bottom { align-self: end; }
/* דף הפרויקטים: מפה גדולה יותר */
@media (min-width: 1000px) {
  .projects__layout { grid-template-columns: minmax(0, 1fr) 400px; gap: 56px; }
  .map-panel { padding: 24px 26px 18px; top: calc(var(--header-h) + 10px); }
  .ilmap { height: min(780px, calc(100vh - 170px)); }
  .map__pin .map__label { font-size: 14px; }
}
@media (max-width: 999px) {
  .projects__layout { grid-template-columns: minmax(0, 1fr) 112px; }
}/* הירו: הלוגו במקום המילה הגדולה, באותו סדר גודל */
.hero__logo { margin: 0; justify-self: start; display: inline-flex; background: #fff; border-radius: 24px; padding: clamp(14px, 2vw, 28px) clamp(22px, 3vw, 46px); opacity: 0; transform: translateY(24px); animation: g-up .9s var(--ease) .6s forwards; }
.hero__logo img { width: clamp(220px, 38vw, 560px); height: auto; display: block; }
@media (prefers-reduced-motion: reduce) { .hero__logo { opacity: 1; transform: none; animation: none; } }
html.a11y-no-motion .hero__logo { opacity: 1; transform: none; animation: none; }
/* פס תמונה: התווית בחלק העליון של הפס */
.band__tag { position: absolute; top: clamp(18px, 3vw, 34px); inset-inline-start: var(--gutter); z-index: 3; color: rgba(255,255,255,.85); }
@media (min-width: 1280px) { .band__tag { inset-inline-start: max(var(--gutter), calc((100% - var(--max)) / 2 + var(--gutter))); } }

/* ==========================================================================
   אנימציית פתיחה: התחנה נבנית בקו אחד (6 שניות, פעם אחת בכל ביקור)
   ========================================================================== */
/* ציור בניית התחנה בדף הבית (לשעבר אנימציית הפתיחה): נבנה פעם אחת כשנכנס למסך */
.scene{--sand:#e6d9c4;margin:clamp(28px,5vw,56px) auto 0;max-width:980px}
.scene__svg{width:100%;height:auto;display:block;overflow:visible}
.scene:not(.is-in) svg *{animation-play-state:paused!important}
@keyframes intro-out{to{transform:translateY(-100%);visibility:hidden}}
.scene svg .l{fill:none;stroke:var(--carbon);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:draw .7s var(--ease) var(--d,0s) forwards, fade .01s linear var(--d,0s) forwards}
.scene svg .l.a{stroke:var(--accent)}
.scene svg .l.thin{stroke-width:1.1}
.scene svg .l.dash{stroke-dasharray:.03 .02;stroke-dashoffset:0;animation:fade .5s var(--ease) var(--d,0s) forwards}
.scene svg .f{opacity:0;animation:fade .6s var(--ease) var(--d,0s) forwards}
.scene svg .f.acc{fill:var(--accent)}
.scene svg .f.tint{fill:var(--tint)}
.scene svg .f.sand{fill:var(--sand)}
.scene svg .f.wht{fill:#fff}
.scene svg .drop{opacity:0;animation:drop .8s var(--ease-out) var(--d,0s) forwards}
.scene svg .truck{animation:truck 1.6s var(--ease) 3.3s both}
.scene svg .cloud{animation:cloud 14s linear infinite alternate}
.scene svg .crane{opacity:0;animation:fade .4s var(--ease) 1.6s forwards, fadeout .5s var(--ease) 3.9s forwards}
.scene svg .hook{animation:hook 1.2s var(--ease) 2.2s both}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fade{to{opacity:1}}
@keyframes fadeout{to{opacity:0}}
@keyframes drop{from{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:none}}
@keyframes truck{from{transform:translateX(-260px)}to{transform:translateX(0)}}
@keyframes cloud{from{transform:translateX(0)}to{transform:translateX(-40px)}}
@keyframes hook{from{transform:translateY(-70px)}to{transform:translateY(0)}}
/* בלי תנועה: הציור מוצג גמור */
@media (prefers-reduced-motion:reduce){.scene svg .l,.scene svg .f,.scene svg .drop{opacity:1!important;stroke-dashoffset:0!important;transform:none!important}.scene svg .crane{opacity:0!important}}
html.a11y-no-motion .scene svg .l,html.a11y-no-motion .scene svg .f,html.a11y-no-motion .scene svg .drop{opacity:1!important;stroke-dashoffset:0!important;transform:none!important;animation:none!important}html.a11y-no-motion .scene svg .crane{opacity:0!important;animation:none!important}

/* ==========================================================================
   שכבת Construct: הירו עם כותרת טקסט ולקוחות, קטע מאמרים, טופס על רצועת תמונה
   ========================================================================== */
/* --- 1. הירו --- */
.hero--cl .hero__in { grid-template-rows: 1fr auto; padding-bottom: clamp(16px, 2.5vw, 28px); }
.hero--cl .hero__shade { background: linear-gradient(to top, rgba(10,10,12,.94) 0%, rgba(10,10,12,.62) 30%, rgba(10,10,12,.22) 62%, rgba(10,10,12,.42) 100%); }
.hero__main { align-self: end; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: clamp(24px, 4vw, 48px); padding-bottom: clamp(28px, 4vw, 44px); }
.hero__copy { display: grid; gap: 0; }
.hero--cl .hero__intro { display: inline-flex; align-items: center; gap: 12px; max-width: none; white-space: normal; font-size: .95rem; font-weight: 400; color: rgba(255,255,255,.9); margin: 0 0 18px; animation-delay: .5s; }
.hero--cl .hero__intro::before { content: ""; width: 28px; height: 2px; background: var(--accent-2); border-radius: 2px; flex: none; }
.hero__title { font-family: var(--font); font-size: clamp(2.3rem, 5.2vw, 4.4rem); font-weight: 400; line-height: 1.1; letter-spacing: -.02em; color: #fff; max-width: 15ch; margin: 0; text-wrap: balance; text-shadow: 0 2px 24px rgba(0,0,0,.35); opacity: 0; transform: translateY(24px); animation: g-up .9s var(--ease) .65s forwards; }
.hero__lead { font-size: clamp(1.02rem, 1.4vw, 1.2rem); line-height: 1.6; font-weight: 300; color: rgba(255,255,255,.84); max-width: 50ch; margin: 22px 0 0; opacity: 0; transform: translateY(18px); animation: g-up .9s var(--ease) .95s forwards; }
.hero--cl .hero__logo { border-radius: 16px; padding: clamp(12px, 1.6vw, 20px) clamp(18px, 2.4vw, 30px); animation-delay: 1.1s; }
.hero--cl .hero__logo img { width: clamp(150px, 17vw, 230px); }
.hero__clients { border-top: 1px solid rgba(255,255,255,.2); padding-top: clamp(16px, 2.2vw, 22px); display: flex; align-items: center; flex-wrap: wrap; gap: 12px clamp(14px, 2vw, 26px); opacity: 0; animation: g-up .9s var(--ease) 1.35s forwards; }
.hero__clients-label { font-size: .82rem; color: rgba(255,255,255,.65); margin-inline-end: 6px; }
.hero__clients ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px clamp(10px, 1.4vw, 18px); }
.hero__clients li { display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 6px 12px; background: #fff; border-radius: 8px; }
.hero__clients img { height: 100%; width: auto; display: block; }
.hero__amz { font-family: var(--font); font-weight: 600; font-size: 1.15rem; letter-spacing: -.02em; color: #111; direction: ltr; }
@media (max-width: 760px) {
  .hero__main { grid-template-columns: 1fr; gap: 22px; }
  .hero--cl .hero__logo { justify-self: start; }
  .hero--cl .hero__logo img { width: 150px; }
  .hero__clients li { height: 40px; padding: 5px 10px; }
  .hero__amz { font-size: 1rem; }
}
html.intro-on .hero__title, html.intro-on .hero__lead, html.intro-on .hero__clients { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .hero__title, .hero__lead, .hero__clients { opacity: 1; transform: none; animation: none; } }
html.a11y-no-motion .hero__title, html.a11y-no-motion .hero__lead, html.a11y-no-motion .hero__clients { opacity: 1; transform: none; animation: none; }

/* --- 6. מאמרים בדף הבית --- */
.section-head--posts { grid-template-columns: 1fr; align-items: end; }
.section-head--posts > div { display: grid; gap: 12px; }
.section-head--posts .tbtn { justify-self: start; }
@media (min-width: 900px) { .section-head--posts { grid-template-columns: 1fr auto; gap: 40px; } }
.posts { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(28px, 4vw, 48px); align-items: start; }
.post { display: block; color: inherit; }
.post__media { display: block; border-radius: var(--radius-lg, 16px); overflow: hidden; background: var(--paper-2); }
.post__media img { width: 100%; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; filter: saturate(.85); transition: transform 1.2s var(--g-ease), filter .6s; }
.post:hover .post__media img { transform: scale(1.03); filter: saturate(1); }
.post__meta { display: flex; align-items: center; gap: 12px; margin-top: 16px; font-size: .85rem; color: var(--muted); }
.post__cat { background: var(--tint); color: var(--accent-deep); padding: 3px 10px; border-radius: 999px; font-weight: 600; font-size: .76rem; }
.post h3 { font-family: var(--font); font-size: clamp(1.4rem, 2.2vw, 1.85rem); font-weight: 300; line-height: 1.25; margin: 10px 0 0; transition: color .3s; }
.post:hover h3 { color: var(--accent-deep); }
.post p { margin: 10px 0 0; color: var(--muted); font-weight: 300; max-width: 52ch; }
.posts__side { display: grid; }
.post--sm { display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: start; padding: 22px 0; border-top: 1px solid var(--line); }
.post--sm:first-child { border-top: 0; padding-top: 0; }
.post--sm .post__media img { aspect-ratio: 1 / 1; }
.post--sm .post__meta { margin-top: 0; }
.post--sm h3 { font-size: 1.12rem; margin-top: 8px; }
@media (max-width: 900px) { .posts { grid-template-columns: 1fr; } .post--sm { grid-template-columns: 110px 1fr; gap: 16px; } }

/* --- 8. הטופס על רצועת תמונה כהה --- */
.quick--photo { background: var(--onyx); color: #fff; overflow: hidden; }
.quick--photo::before, .quick--photo::after { display: none; }
.quick__bg { position: absolute; inset: 0; z-index: -1; }
.quick__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; filter: saturate(.75) contrast(1.02); }
.quick__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to left, rgba(12,12,14,.92) 0%, rgba(12,12,14,.74) 48%, rgba(12,12,14,.4) 100%); }
.quick--photo .quick__inner { padding-block: clamp(64px, 9vw, 120px); }
.quick--photo .quick__title { color: #fff; font-weight: 300; }
.quick--photo .quick__sub { color: rgba(255,255,255,.82); white-space: normal; }
.quick--photo .quick__sub a { color: #fff; text-decoration: underline; text-underline-offset: 4px; font-weight: 500; }
.quick--photo .quick__form { grid-template-columns: 1fr; gap: 12px; background: #fff; color: var(--ink); border-radius: 16px; padding: clamp(20px, 3vw, 30px); box-shadow: 0 30px 60px -24px rgba(0,0,0,.6); max-width: 520px; justify-self: end; width: 100%; }
.quick__label { font-size: .92rem; font-weight: 500; color: var(--ink); }
.quick--photo .quick__form input[type="tel"] { border-radius: 10px; background: #f6f5f3; border: 1px solid var(--line); min-height: 52px; }
.quick--photo .quick__form input[type="tel"]:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
.quick--photo .quick__form .btn { width: 100%; border-radius: 10px; background: var(--accent); color: #fff; --btn-hover: var(--accent-deep); }
.quick--photo .quick__consent { color: var(--muted) !important; }
.quick--photo .quick__consent a { color: var(--ink); }
.quick--photo .form__notice { color: var(--ink); }
@media (max-width: 899px) { .quick--photo .quick__form { justify-self: stretch; max-width: none; } }
.quick--photo .quick__sub a { white-space: nowrap; }
@media (max-width: 760px) { .hero--cl .hero__in { padding-bottom: calc(76px + env(safe-area-inset-bottom)); } }
/* --- 1ב. לוגואי הלקוחות בהירו: סרגל שרץ (מאיץ ומחליף כיוון לפי הגלילה, כמו קודם) --- */
.hero__clients { flex-wrap: nowrap; }
.hero__clients-viewport { flex: 1 1 0; min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.hero__clients-track { display: flex; width: max-content; animation: marquee 30s linear infinite; }
.hero__clients-list, .hero__clients-list li { display: flex; align-items: center; }
.hero__clients-list { gap: 0; }
.hero__clients-list li { height: 46px; padding: 6px 12px; margin-inline-end: clamp(14px, 1.6vw, 22px); background: #fff; border-radius: 8px; font-size: inherit; font-weight: inherit; letter-spacing: 0; gap: 0; }
.hero__clients-list li::after { display: none; }
.hero__clients-list img { height: 100%; width: auto; padding: 0; background: none; border-radius: 0; }
@media (max-width: 760px) { .hero__clients { flex-wrap: wrap; } .hero__clients-viewport { flex-basis: 100%; } .hero__clients-list li { height: 40px; padding: 5px 10px; } }
@media (prefers-reduced-motion: reduce) { .hero__clients-track { animation: none; flex-wrap: wrap; width: auto; } .hero__clients-viewport { mask-image: none; -webkit-mask-image: none; } }
html.a11y-no-motion .hero__clients-viewport { mask-image: none; -webkit-mask-image: none; }
.quick--photo .quick__bg img { object-position: center 60%; }
.quick--photo .quick__bg::after { background: linear-gradient(to left, rgba(12,12,14,.9) 0%, rgba(12,12,14,.66) 45%, rgba(12,12,14,.3) 100%); }
@media (max-width: 899px) { .quick--photo .quick__bg img { object-position: 40% 72%; } }
/* לוגואי הלקוחות בהירו: אחד מכל לוגו על המסך, פרושים על כל הרוחב */
.hero__clients-list { width: max-content; flex: none; justify-content: space-between; padding-inline-end: clamp(14px, 1.6vw, 22px); box-sizing: border-box; }
.hero__clients-list li { margin-inline-end: clamp(14px, 1.6vw, 22px); }
.hero__clients { min-width: 0; max-width: 100%; }
.hero__clients-viewport { width: 0; contain: inline-size; }
@media (max-width: 760px) { .hero__clients-viewport { width: 100%; } }
.hero__clients-list { flex-wrap: nowrap; gap: 0; }
.hero__clients ul.hero__clients-list { flex-wrap: nowrap; gap: 0; }
/* רווח שווה בין כל הלוגואים בסרגל */
.hero__clients ul.hero__clients-list { justify-content: flex-start; gap: var(--cl-gap, 16px); padding-inline-end: var(--cl-gap, 16px); }
.hero__clients ul.hero__clients-list li { margin-inline-end: 0; }
/* פס ההדמיה בדף חוות שרתים: מיקוד על הבור עם המיכלים */
.band--site img { object-position: center 100%; transform: scale(1.9); transform-origin: 52% 100%; }
@media (max-width: 760px) { .band--site img { transform: scale(1.9); transform-origin: 50% 100%; } }
/* תווית הפס: קריאה גם על רקע בהיר */
.band__tag { background: rgba(10,10,12,.55); color: #fff; padding: 6px 12px; border-radius: 999px; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
/* הטופס המהיר: כרטיס קטן יותר */
.quick--photo .quick__form { max-width: 430px; padding: clamp(16px, 2.2vw, 22px); gap: 10px; }
.quick--photo .quick__form input[type="tel"] { min-height: 48px; font-size: 1rem; }
.quick--photo .quick__form .btn { min-height: 48px; }
.quick--photo .quick__inner { padding-block: clamp(56px, 8vw, 100px); }

/* ==========================================================================
   תפריט ראשי חדש (mm): רקע צילום מתחלף, אייקונים תלת־ממדיים, כרטיס זכוכית
   ========================================================================== */
.mobile-menu.mm, body.has-ann .mobile-menu.mm { display: block; padding: 0; gap: 0; background: #0b1622; color: #fff; overflow-y: auto; overscroll-behavior: contain; }
.mobile-menu.mm::before { display: none; }
.mm__bg { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.mm__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity .9s var(--g-ease), transform 6s var(--g-ease); filter: saturate(.9) brightness(.95); }
.mm__bg img.is-on { opacity: 1; transform: scale(1); }
.mm__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,14,24,.9) 0%, rgba(6,14,24,.74) 40%, rgba(6,14,24,.42) 70%, rgba(12,107,150,.3) 100%); }
.mm__bg::before { content: ""; position: absolute; inset: -20%; z-index: 1; background: radial-gradient(40% 50% at 15% 30%, rgba(79,187,234,.28), transparent 70%), radial-gradient(35% 45% at 85% 85%, rgba(31,143,191,.22), transparent 70%); animation: mm-drift 14s ease-in-out infinite alternate; }
@keyframes mm-drift { to { transform: translate(4%, -3%) scale(1.05); } }
.mm__in { position: relative; z-index: 2; min-height: 100%; width: min(1320px, 100% - 2 * var(--gutter)); margin-inline: auto; padding: calc(var(--header-h) + 34px) 0 34px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(30px, 5vw, 80px); align-items: stretch; }
body.has-ann .mm__in { padding-top: calc(var(--header-h) + 34px + var(--ann-h)); }
/* עמודת הניווט */
.mm__nav { display: flex; flex-direction: column; justify-content: space-between; gap: 30px; min-width: 0; }
.mm__list { list-style: none; margin: 0; padding: 0; }
.mm__list > li { overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.14); }
.mm__list > li:first-child { border-top: 1px solid rgba(255,255,255,.14); }
.mm__item { display: grid; grid-template-columns: auto 34px 1fr auto; align-items: center; gap: 14px; width: 100%; padding: 14px 0; margin: 0; background: none; border: 0; color: #fff; font-family: var(--font); font-weight: 200; font-size: clamp(1.8rem, 3.9vw, 3.2rem); line-height: 1.05; letter-spacing: -.02em; text-align: right; cursor: pointer; transform: translateY(110%); transition: transform .9s var(--g-ease), color .3s; }
.mobile-menu.is-open .mm__item { transform: none; }
.mm__list > li:nth-child(1) .mm__item { transition-delay: .12s; } .mm__list > li:nth-child(2) .mm__item { transition-delay: .17s; } .mm__list > li:nth-child(3) .mm__item { transition-delay: .22s; } .mm__list > li:nth-child(4) .mm__item { transition-delay: .27s; } .mm__list > li:nth-child(5) .mm__item { transition-delay: .32s; } .mm__list > li:nth-child(6) .mm__item { transition-delay: .37s; } .mm__list > li:nth-child(7) .mm__item { transition-delay: .42s; }
.mm__ic { width: 58px; height: 58px; border-radius: 16px; background: #fff; display: grid; place-items: center; overflow: hidden; flex: none; box-shadow: 0 10px 24px -12px rgba(0,0,0,.6); transition: transform .6s var(--g-ease), box-shadow .6s; }
.mm__ic img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.15); display: block; }
.mm__item:hover .mm__ic, .mm__list > li.is-on .mm__item .mm__ic, .mm__item:focus-visible .mm__ic { transform: translateY(-4px) rotate(-6deg) scale(1.06); box-shadow: 0 18px 30px -12px rgba(79,187,234,.55); }
.mm__item small { font-family: var(--font-mono); font-size: .72rem; color: var(--accent-2); letter-spacing: .06em; }
.mm__t { transition: transform .5s var(--g-ease); }
.mm__item:hover .mm__t, .mm__list > li.is-on .mm__item .mm__t { transform: translateX(-10px); }
.mm__arr { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.14); display: grid; place-items: center; opacity: 0; transform: scale(.7); transition: opacity .35s, transform .5s var(--g-ease), background .3s, color .3s; }
.mm__arr svg { width: 16px; height: 16px; }
.mm__item:hover .mm__arr, .mm__list > li.is-on .mm__item .mm__arr { opacity: 1; transform: none; background: #fff; color: var(--onyx); border-color: #fff; }
.mm__has-sub .mm__item[aria-expanded="true"] .mm__arr { transform: rotate(-90deg); }
.mm__item[aria-current="page"] .mm__t, .mm__sub a[aria-current="page"] { color: var(--accent-2); }
/* תחומי הביצוע */
.mm__sub { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; max-height: 0; opacity: 0; overflow: hidden; padding: 0 106px 0 0; transition: max-height .7s var(--g-ease), opacity .4s, padding .5s; }
.mm__has-sub.is-open .mm__sub { max-height: 360px; opacity: 1; padding: 4px 106px 18px 0; }
.mm__sub a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; font-family: var(--font); font-size: .92rem; font-weight: 400; color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.04); transition: background .3s, border-color .3s, transform .4s var(--g-ease); }
.mm__sub a:hover, .mm__sub a:focus-visible { background: rgba(255,255,255,.1); border-color: rgba(79,187,234,.6); transform: translateY(-2px); color: #fff; }
.mm__sub .mm__ic { width: 38px; height: 38px; border-radius: 10px; box-shadow: none; }
.mm__sub a:hover .mm__ic { transform: none; }
.mm__new { margin-inline-start: auto; font-size: .66rem; background: rgba(79,187,234,.16); color: var(--accent-2); padding: 2px 8px; border-radius: 999px; }
.mm__foot { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; color: rgba(255,255,255,.55); font-size: .82rem; }
.mm__links { display: flex; gap: 18px; }
.mm__links a:hover { color: #fff; }
/* העמודה השנייה: כיתוב וכרטיס */
.mm__vis { display: grid; grid-template-rows: 1fr auto; gap: 22px; min-width: 0; align-content: end; }
.mm__cap { align-self: end; display: grid; gap: 6px; padding-bottom: 10px; transform: translateY(16px); opacity: 0; transition: transform 1s var(--g-ease) .25s, opacity .8s .25s; }
.mobile-menu.is-open .mm__cap { transform: none; opacity: 1; }
.mm__cap b { font-family: var(--serif); font-weight: 500; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.1; }
.mm__cap > span { font-size: 1rem; color: rgba(255,255,255,.72); font-weight: 300; }
.mm__stamp { display: inline-block; justify-self: start; margin-bottom: 6px; font-size: .68rem; color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: 3px 9px; background: rgba(10,10,12,.35); }
.mm__stamp[hidden] { display: none; }
.mm__office { display: grid; gap: 14px; padding: 20px 22px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(8,18,30,.55); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); opacity: 0; transform: translateY(16px); transition: opacity .7s .45s, transform .9s var(--g-ease) .45s; }
.mobile-menu.is-open .mm__office { opacity: 1; transform: none; }
.mm__hd { display: flex; align-items: center; gap: 12px; }
.mm__hd .mm__ic { width: 40px; height: 40px; border-radius: 11px; box-shadow: none; }
.mm__clock { font-family: var(--font-mono); font-size: 1.6rem; direction: ltr; }
.mm__office .footer__office { font-family: var(--font); font-size: .88rem; }
.mm__row { display: flex; gap: 10px; flex-wrap: wrap; }
.mm__btn { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); color: #fff; font-family: var(--font); font-size: .9rem; font-weight: 400; transition: background .3s, border-color .3s, transform .4s var(--g-ease); }
.mm__btn:hover { background: rgba(255,255,255,.08); border-color: #fff; transform: translateY(-2px); }
.mm__btn svg { width: 16px; height: 16px; }
.mm__btn .mm__ic { width: 26px; height: 26px; border-radius: 7px; box-shadow: none; margin-inline-start: -6px; }
.mm__btn .mm__ic img { transform: scale(1.2); }
.mm__btn .ltr { font-family: var(--font-mono); font-size: .85rem; }
.mm__btn--wa { background: #25d366; border-color: #25d366; color: #05301a; font-weight: 500; }
.mm__btn--wa:hover { background: #3ee07b; border-color: #3ee07b; }
.mm__btn--cta { background: #fff; color: var(--onyx); border-color: #fff; font-weight: 500; }
.mm__btn--cta:hover { background: var(--tint); }
@media (max-width: 900px) {
  .mm__in { grid-template-columns: 1fr; padding-top: calc(var(--header-h) + 16px); gap: 22px; }
  .mm__vis { order: -1; grid-template-rows: auto; }
  .mm__cap { display: none; }
  .mm__item { font-size: clamp(1.6rem, 7.2vw, 2.2rem); padding: 11px 0; }
  .mm__ic { width: 46px; height: 46px; border-radius: 13px; }
  .mm__sub { grid-template-columns: 1fr 1fr; padding-inline-end: 0; }
  .mm__has-sub.is-open .mm__sub { max-height: 460px; padding: 0 0 12px 0; }
  .mm__office { padding: 16px; }
  .mm__clock { font-size: 1.3rem; }
  .mm__btn { height: 40px; padding: 0 13px; font-size: .86rem; }
}
@media (prefers-reduced-motion: reduce) { .mm__item, .mm__cap, .mm__office { transform: none; opacity: 1; transition: none; } .mm__bg::before { animation: none; } .mm__bg img { transition: opacity .3s; } }
html.a11y-no-motion .mm__item, html.a11y-no-motion .mm__cap, html.a11y-no-motion .mm__office { transform: none; opacity: 1; transition: none; }
html.a11y-no-motion .mm__bg::before { animation: none; }
/* תפריט: הצד של הקישורים (ימין) כהה יותר, והכול נכנס במסך רגיל בלי גלילה */
.mm__bg::after { background: linear-gradient(to left, rgba(6,14,24,.93) 0%, rgba(6,14,24,.82) 42%, rgba(6,14,24,.5) 72%, rgba(12,107,150,.3) 100%); }
.mm__in { padding-top: calc(var(--header-h) + 22px); padding-bottom: 26px; }
.mm__item { font-size: clamp(1.7rem, 3.3vw, 2.7rem); padding: 11px 0; }
.mm__ic { width: 52px; height: 52px; border-radius: 14px; }
.mm__sub { padding-inline-end: 100px; }
.mm__has-sub.is-open .mm__sub { padding: 2px 100px 14px 0; }
@media (max-width: 900px) { .mm__sub, .mm__has-sub.is-open .mm__sub { padding-inline-end: 0; } }
.mm__nav { gap: 18px; }
.mm__in { padding-bottom: 18px; }
/* פס חוות השרתים: הדמיית שוהם (תמונה לאורך, ממוסגרת על הבור והמבנה) */
.band--site img { transform: none; object-position: center 58%; }
@media (max-width: 760px) { .band--site img { transform: none; object-position: center 55%; } .band--site { min-height: 82svh; } }
/* התפריט: רקע קבוע, הדמיית חוות השרתים בשוהם */
.mm__bg { background: #0b1622 center 52% / cover no-repeat; }
/* רקע התפריט נטען רק כשמתכוננים לפתוח אותו, ובנייד בגרסה קלה */
html.mm-warm .mm__bg, .mobile-menu.is-open .mm__bg { background-image: url(../images/datacenter-shoham.webp); }
@media (max-width: 900px) { html.mm-warm .mm__bg, .mobile-menu.is-open .mm__bg { background-image: url(../images/datacenter-shoham-960.webp); } }
.mm__bg img { display: none; }
@media (max-width: 900px) { .mm__bg { background-position: center 45%; } }
.mm__stamp { position: absolute; top: calc(var(--header-h) + 8px); inset-inline-start: var(--gutter); z-index: 3; margin: 0; display: inline-block !important; }
body.has-ann .mm__stamp { top: calc(var(--header-h) + 8px + var(--ann-h)); }
@media (max-width: 900px) { .mm__stamp { display: inline-block !important; } .mm__cap { display: block; position: static; } .mm__cap b, .mm__cap > span { display: none; } }

/* ==========================================================================
   חתך תשתית הדלק בחוות שרתים: הדמיה עם שבע נקודות, כרטיס וזרימה
   ========================================================================== */
.cut .section-head { margin-bottom: clamp(24px, 3.5vw, 40px); }
.cut__stage { position: relative; border-radius: 18px; overflow: hidden; background: #dfe6ec; box-shadow: 0 30px 60px -40px rgba(0,0,0,.35); }
.cut__stage > img { display: block; width: 100%; height: auto; }
.cut__flow { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.cut__flow path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.cut__flow-base { stroke: rgba(255,255,255,.55); stroke-width: 7; }
.cut__flow-dash { stroke: var(--accent); stroke-width: 3.5; stroke-dasharray: 14 18; animation: cut-flow 1.8s linear infinite; }
@keyframes cut-flow { to { stroke-dashoffset: -32; } }
.cut__stamp { position: absolute; top: 14px; inset-inline-end: 14px; z-index: 3; font-family: var(--font); font-size: .7rem; letter-spacing: .04em; color: var(--ink); border: 1px solid rgba(50,45,42,.25); padding: 3px 9px; border-radius: 999px; background: rgba(255,255,255,.75); backdrop-filter: blur(6px); }
.cut__pin { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); z-index: 4; display: inline-flex; align-items: center; gap: 0; margin: 0; padding: 0; border: 0; background: none; cursor: pointer; color: var(--ink); font-family: var(--font); }
.cut__pin b { width: 38px; height: 38px; border-radius: 50%; background: #fff; border: 2px solid var(--accent); color: var(--accent-deep); font-weight: 600; font-size: .95rem; display: grid; place-items: center; box-shadow: 0 6px 18px -6px rgba(0,0,0,.45); position: relative; transition: transform .4s var(--g-ease), background .3s, color .3s; font-variant-numeric: tabular-nums; }
.cut__pin b::after { content: ""; position: absolute; inset: -2px; border-radius: 50%; border: 2px solid var(--accent); opacity: 0; }
.cut__pin span { max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0; font-size: .82rem; font-weight: 500; background: #fff; color: var(--ink); padding: 6px 0; border-radius: 999px; transition: max-width .5s var(--g-ease), opacity .3s, padding .4s, margin .4s; }
.cut__pin:hover span, .cut__pin:focus-visible span, .cut__pin.is-on span { max-width: 240px; opacity: 1; padding: 6px 14px; margin-inline-start: 8px; box-shadow: 0 6px 18px -8px rgba(0,0,0,.4); }
.cut__pin:hover b, .cut__pin.is-on b { transform: scale(1.1); background: var(--accent); color: #fff; }
.cut__pin.is-on b::after { animation: cut-pulse 1.8s ease-out infinite; }
@keyframes cut-pulse { 0% { transform: scale(1); opacity: .8; } 100% { transform: scale(2); opacity: 0; } }
.cut__card { position: absolute; z-index: 5; top: 5%; left: 2.5%; width: min(400px, 38%); background: rgba(255,255,255,.9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.8); border-radius: 16px; padding: 18px 20px 14px; box-shadow: 0 24px 50px -24px rgba(0,0,0,.45); direction: rtl; text-align: right; }
.cut__card.is-swap { animation: cut-swap .45s var(--g-ease); }
@keyframes cut-swap { 0% { opacity: .3; transform: translateY(6px); } 100% { opacity: 1; transform: none; } }
.cut__card-n { font-family: var(--font-mono); font-size: .72rem; color: var(--accent-deep); letter-spacing: .06em; }
.cut__card h3 { font-family: var(--font); font-size: clamp(1.15rem, 1.6vw, 1.5rem); font-weight: 500; margin: 4px 0 6px; line-height: 1.2; }
.cut__card p { margin: 0 0 10px; font-size: .92rem; color: var(--muted); line-height: 1.5; }
.cut__card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.cut__card li { position: relative; padding-inline-start: 16px; font-size: .88rem; line-height: 1.45; }
.cut__card li::before { content: ""; position: absolute; inset-inline-start: 0; top: .55em; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.cut__nav { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); font-family: var(--font-mono); font-size: .75rem; color: var(--muted); }
.cut__nav button { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--ink); display: grid; place-items: center; cursor: pointer; transition: background .3s, color .3s; }
.cut__nav button svg { width: 14px; height: 14px; }
.cut__nav .cut__prev svg { transform: rotate(180deg); }
.cut__nav button:hover { background: var(--ink); color: #fff; }
.cut__nav span { margin-inline: auto; direction: ltr; }
.cut__list { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.cut__list button { width: 100%; display: flex; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 12px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); font-family: var(--font); font-size: .8rem; font-weight: 500; text-align: right; cursor: pointer; transition: background .3s, border-color .3s, transform .4s var(--g-ease); }
.cut__list button b { font-family: var(--font-mono); font-weight: 400; font-size: .68rem; color: var(--accent-deep); }
.cut__list button:hover { border-color: var(--accent); background: #fff; transform: translateY(-2px); }
.cut__list li.is-on button { background: var(--carbon); color: #fff; border-color: var(--carbon); }
.cut__list li.is-on button b { color: var(--accent-2); }
@media (max-width: 1100px) { .cut__list { grid-template-columns: repeat(4, 1fr); } .cut__card { width: min(360px, 42%); } }
@media (max-width: 760px) {
  .cut__stage { border-radius: 12px; overflow: visible; box-shadow: none; }
  .cut__stage > img { border-radius: 12px; }
  .cut__pin b { width: 26px; height: 26px; font-size: .72rem; border-width: 1.5px; }
  .cut__pin span { display: none; }
  .cut__stamp { top: 8px; inset-inline-end: 8px; font-size: .62rem; }
  .cut__card { position: static; width: auto; margin-top: 12px; background: #fff; backdrop-filter: none; }
  .cut__list { grid-template-columns: 1fr 1fr; }
  .cut__list button { font-size: .78rem; }
}
@media (prefers-reduced-motion: reduce) { .cut__flow-dash { animation: none; } .cut__pin.is-on b::after { animation: none; } .cut__card.is-swap { animation: none; } }
html.a11y-no-motion .cut__flow-dash, html.a11y-no-motion .cut__pin.is-on b::after { animation: none; }
/* החתך: הכרטיס בעמודה נפרדת ליד ההדמיה, לא מעליה */
.cut__wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 340px); gap: 18px; align-items: stretch; }
.cut__card, .cut .cut__card { position: relative; top: auto; left: auto; width: auto; background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; border: 1px solid var(--line); box-shadow: none; display: flex; flex-direction: column; padding: 22px 22px 16px; }
.cut__card ul { flex: 1; align-content: start; }
.cut__card .cut__nav { margin-top: 16px; }
.cut__card h3 { font-size: clamp(1.25rem, 1.7vw, 1.6rem); }
.cut__card li { font-size: .92rem; }
@media (max-width: 900px) { .cut__wrap { grid-template-columns: 1fr; gap: 12px; } .cut__stage { overflow: hidden; } }
.cut__wrap { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; }
.cut__card, .cut .cut__card { padding: 18px 20px 12px; }
.cut__card h3 { font-size: 1.25rem; margin: 2px 0 4px; }
.cut__card p { font-size: .88rem; margin-bottom: 8px; }
.cut__card li { font-size: .86rem; line-height: 1.4; }
.cut__card ul { gap: 4px; }
.cut__card .cut__nav { margin-top: 10px; padding-top: 8px; }
.cut__stage { background: transparent; }
@media (max-width: 900px) { .cut__wrap { grid-template-columns: 1fr; } }
/* החתך: הכפתורים שקופים כדי לא להסתיר את התרשים */
.cut__pin b { background: rgba(255,255,255,.14); border: 1.5px solid rgba(28,28,28,.75); color: var(--ink); box-shadow: none; backdrop-filter: none; }
.cut__pin:hover b, .cut__pin.is-on b { background: rgba(31,143,191,.22); border-color: var(--accent); color: var(--accent-deep); transform: scale(1.08); }
.cut__pin b::after { border-color: var(--accent); }
.cut__pin span { background: rgba(255,255,255,.5); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border: 1px solid rgba(255,255,255,.6); }
.cut__pin:hover span, .cut__pin:focus-visible span, .cut__pin.is-on span { box-shadow: none; }
.cut__stamp { background: rgba(255,255,255,.4); border-color: rgba(50,45,42,.3); }
.cut__flow-base { stroke: rgba(255,255,255,.35); stroke-width: 5; }
.cut__flow-dash { stroke-width: 2.5; opacity: .9; }
/* ניווט בוויז למשרד */
.waze { display: inline-flex; align-items: center; gap: 6px; font-size: .85rem; font-weight: 500; color: var(--accent-2); white-space: nowrap; }
.waze svg { width: 14px; height: 14px; flex: none; }
.footer__addr { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.footer ul .waze::after { display: none; }
.footer ul .waze:hover { color: #fff; }
.waze--card { margin-top: 6px; color: var(--accent-deep); }
.waze--card:hover { color: var(--accent); }
.map { position: relative; }
.waze--map { position: absolute; z-index: 2; bottom: 14px; inset-inline-start: 14px; background: #fff; color: var(--ink); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: .9rem; box-shadow: 0 10px 24px -12px rgba(0,0,0,.4); transition: transform .4s var(--g-ease), background .3s, color .3s; }
.waze--map:hover { transform: translateY(-2px); background: var(--accent); color: #fff; border-color: var(--accent); }
.waze--map svg { width: 16px; height: 16px; color: var(--accent); }
.waze--map:hover svg { color: #fff; }
/* החתך: תנועת הדלק בצנרת כפעימה שנעה לאורך הקו, עם הילה */
.cut__flow-dash { display: none; }
.cut__flow-base { stroke: rgba(255,255,255,.28); stroke-width: 5; }
.cut__flow-halo, .cut__flow-pulse { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.cut__flow-halo { stroke: rgba(79,187,234,.45); stroke-width: 11; stroke-dasharray: 110 890; stroke-dashoffset: 1110; filter: blur(4px); animation: cut-run 6s cubic-bezier(.4,.05,.6,.95) infinite; }
.cut__flow-pulse { stroke: #e9f7ff; stroke-width: 3.5; stroke-dasharray: 90 910; stroke-dashoffset: 1090; filter: drop-shadow(0 0 3px rgba(79,187,234,.95)); animation: cut-run 6s cubic-bezier(.4,.05,.6,.95) infinite; }
@keyframes cut-run { 0% { stroke-dashoffset: 1090; opacity: 0; } 4% { opacity: 1; } 92% { opacity: 1; } 100% { stroke-dashoffset: -110; opacity: 0; } }
.cut__flow-halo--b, .cut__flow-pulse--b { stroke-dasharray: 260 1740; stroke-dashoffset: 260; animation: cut-branch 6s linear infinite; }
.cut__flow-halo--b { stroke-width: 9; }
.cut__flow-pulse--b { stroke-width: 3; }
@keyframes cut-branch { 0% { stroke-dashoffset: 260; } 14% { stroke-dashoffset: -1000; } 100% { stroke-dashoffset: -1000; } }
.cut__flow--b1 { animation-delay: 3.3s; } .cut__flow--b2 { animation-delay: 4s; } .cut__flow--b3 { animation-delay: 4.7s; }
@media (prefers-reduced-motion: reduce) { .cut__flow-halo, .cut__flow-pulse { animation: none; stroke-dasharray: none; opacity: .6; filter: none; } .cut__flow-halo--b, .cut__flow-pulse--b { display: none; } }
html.a11y-no-motion .cut__flow-halo, html.a11y-no-motion .cut__flow-pulse { animation: none; stroke-dasharray: none; opacity: .6; filter: none; }
html.a11y-no-motion .cut__flow-halo--b, html.a11y-no-motion .cut__flow-pulse--b { display: none; }
/* החתך: גובה קבוע לכרטיס כדי שכפתורי הקודם/הבא לא יזוזו */
.cut__card, .cut .cut__card { min-height: 360px; }
.cut__card .cut__nav { margin-top: auto; }
.cut__list button { min-height: 54px; height: 100%; }
@media (max-width: 900px) { .cut__card, .cut .cut__card { min-height: 300px; } }
/* וידאו בגלריה ובלייטבוקס */
.lightbox__video { display: block; max-height: 80vh; max-width: 100%; width: auto; margin-inline: auto; border-radius: 10px; box-shadow: 0 40px 80px rgba(0,0,0,.5); background: #000; }
.lightbox__video[hidden] { display: none; }
.gallery__item--video { position: relative; }
.gallery__play { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; pointer-events: none; }
.gallery__play svg { width: 64px; height: 64px; padding: 16px; box-sizing: border-box; border-radius: 50%; background: rgba(255,255,255,.9); color: var(--ink); box-shadow: 0 10px 30px -10px rgba(0,0,0,.6); transition: transform .4s var(--g-ease), background .3s; }
.gallery__item--video:hover .gallery__play svg { transform: scale(1.08); background: var(--accent); color: #fff; }
.gallery__item--video .gallery__caption::before { content: "▶ "; font-size: .7em; }
/* סרגל הלקוחות בלי הכיתוב "בין לקוחותינו" */
.hero__clients { gap: 0; }
/* הירו: הטקסט למעלה כדי לא להסתיר את המיכל, הלוגו והלקוחות נשארים למטה */
.hero--cl .hero__in { grid-template-rows: auto 1fr auto; }
.hero__main { align-self: start; grid-template-columns: 1fr; padding-top: clamp(8px, 2vw, 24px); padding-bottom: 0; }
.hero--cl .hero__logo { display: none; }
.hero__logo--bottom { display: inline-flex !important; margin: 0; justify-self: start; align-self: end; margin-bottom: clamp(16px, 2.5vw, 28px); }
.hero--cl .hero__intro { margin-bottom: 12px; }
@media (max-width: 760px) { .hero__main { padding-top: 0; } }
/* הטופס המהיר: וידאו של המנוף ברקע, אוטומטי ומושתק */
.quick__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; filter: saturate(.8) contrast(1.02); }
.quick--photo .quick__bg img { object-position: center 45%; }
@media (prefers-reduced-motion: reduce) { .quick__video { display: none; } }
html.a11y-no-motion .quick__video { display: none; }
/* ראש דף חוות שרתים: וידאו המנוף ברקע */
.service-hero--video { min-height: min(78svh, 720px); display: grid; align-items: end; padding-block: 120px 64px; }
.service-hero__media { position: absolute; inset: 0; z-index: 0; }
.service-hero__media img, .service-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; filter: saturate(.8) contrast(1.02); }
.service-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,10,12,.94) 0%, rgba(10,10,12,.62) 40%, rgba(10,10,12,.28) 75%, rgba(10,10,12,.45) 100%); }
.service-hero--video .container { position: relative; z-index: 1; }
.service-hero--video h1, .service-hero--video .service-hero__lead { text-shadow: 0 2px 20px rgba(0,0,0,.4); }
.service-hero--video .service-hero__lead { color: rgba(255,255,255,.85); }
@media (prefers-reduced-motion: reduce) { .service-hero__video { display: none; } }
html.a11y-no-motion .service-hero__video { display: none; }
@media (max-width: 760px) { .service-hero--video { min-height: 70svh; padding-top: 110px; } }
.stage img[src*="hartuv-tank-lowering"] { object-position: center 40%; }
.stage img[src*="datacenter-cutaway"] { object-position: center 62%; object-fit: cover; background: #eef1f3; }

/* ==========================================================================
   גרסה אנגלית (LTR): כיוון, יישור, חצים ומתג שפה
   ========================================================================== */
html[lang="en"] body { direction: ltr; text-align: left; }
html[lang="en"] .article-body th, html[lang="en"] .article-body td, html[lang="en"] .a11y__list button, html[lang="en"] .mm__item, html[lang="en"] .cut__card, html[lang="en"] .cut__list button { text-align: left; direction: ltr; }
html[lang="en"] .arr svg, html[lang="en"] .mm__arr svg, html[lang="en"] .mobile-menu__arrow svg, html[lang="en"] .lightbox__nav svg, html[lang="en"] .steps__ctrl svg, html[lang="en"] .cut__nav .cut__next svg { transform: scaleX(-1); }
html[lang="en"] .cut__nav .cut__prev svg { transform: none; }
html[lang="en"] .tbtn:hover .arr { transform: translateX(6px); }
html[lang="en"] .mm__item:hover .mm__t, html[lang="en"] .mm__list > li.is-on .mm__item .mm__t { transform: translateX(10px); }
html[lang="en"] .row.is-on .n, html[lang="en"] .row .n { direction: ltr; }
html[lang="en"] .hero__title { max-width: 16ch; }
html[lang="en"] .marquee__list li::after { display: none; }
html[lang="en"] .section-head::before, html[lang="en"] .band__rule, html[lang="en"] .hero__rule, html[lang="en"] .footer .container::before { transform-origin: left; }
html[lang="en"] .mm__sub { padding: 0 0 0 100px; }
html[lang="en"] .mm__has-sub.is-open .mm__sub { padding: 2px 0 14px 100px; }
@media (max-width: 900px) { html[lang="en"] .mm__sub, html[lang="en"] .mm__has-sub.is-open .mm__sub { padding-inline-start: 0; } }
/* מתג שפה בגלולת הניווט */
.navpill__lang { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 10px; border-radius: 999px; font-family: var(--font); font-size: .8rem; font-weight: 600; letter-spacing: .04em; color: var(--ink); background: rgba(50,45,42,.08); transition: background .3s, color .3s; }
.navpill__lang:hover { background: var(--accent); color: #fff; }
@media (max-width: 480px) { .navpill__lang { min-width: 34px; height: 34px; padding: 0 8px; font-size: .74rem; } }
.navpill .navpill__lang { color: #fff; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); height: 32px; min-width: 36px; padding: 0 9px; font-size: .76rem; }
.navpill .navpill__lang:hover { background: #fff; color: var(--ink); border-color: #fff; }
html[lang="en"] #about-title .nowrap { white-space: normal; }
/* טופס מהיר על הווידאו: קטן יותר ונמוך יותר, כדי לא להסתיר את המנוף והמיכל */
.quick--photo .quick__inner { min-height: clamp(380px, 34vw, 480px); padding-block: 44px 22px; align-items: end; }
.quick--photo .quick__inner > div:first-child { align-self: center; padding-bottom: 22px; }
.quick--photo .quick__form { max-width: 340px; padding: 14px 16px 12px; gap: 8px; border-radius: 14px; align-self: end; }
.quick--photo .quick__label { font-size: .82rem; }
.quick--photo .quick__form input[type="tel"] { min-height: 44px; font-size: .96rem; padding-block: 8px; }
.quick--photo .quick__form .btn { min-height: 44px; font-size: .92rem; }
.quick--photo .quick__consent { font-size: .7rem; line-height: 1.35; margin: 0; }
@media (max-width: 899px) { .quick--photo .quick__inner { min-height: 0; padding-block: 40px 18px; gap: 18px; } .quick--photo .quick__inner > div:first-child { padding-bottom: 0; } .quick--photo .quick__form { max-width: 360px; justify-self: center; } }
/* אנגלית: הטופס עובר לצד השמאלי הפנוי של הווידאו, הכותרת לימין – כמו במראה של הגרסה העברית */
@media (min-width: 900px) { html[lang="en"] .quick--photo .quick__inner > div:first-child { order: 2; justify-self: end; text-align: right; } html[lang="en"] .quick--photo .quick__form { order: 1; justify-self: start; } }
/* מסכים צרים: התמונה נדבקת מתחת לכותרת העליונה, והשורות נגללות מתחתיה – רואים גם את התחום וגם את התמונה שלו */
@media (max-width: 860px) {
  .stage { position: sticky; top: calc(var(--header-h) + 6px); z-index: 5; aspect-ratio: 16 / 9; order: -1; outline: 18px solid var(--paper); box-shadow: 0 14px 30px -18px rgba(0,0,0,.35); }
  .list { gap: 14px; }
  .row { scroll-margin-top: calc(var(--header-h) + 8px + 56.25vw + 24px); }
}
/* נגישות: כותרות הפוטר הן h2 (סדר כותרות תקין), במראה הקודם */
.footer h2.footer__h { font-family: var(--font-mono); font-size: .76rem; line-height: 1.4; letter-spacing: .06em; color: var(--on-dark-muted); font-weight: 500; text-transform: none; margin: 0 0 14px; text-wrap: wrap; }
/* אנגלית: התוויות ארוכות יותר, הצמתים מתכווצים ושוברים שורה במקום לחרוג מהמסך */
@media (min-width: 1101px) { html[lang="en"] .pipe__node { flex: 0 1 auto; min-width: 0; white-space: normal; max-width: 200px; } html[lang="en"] .pipe__link { min-width: 18px; } }
/* ברכה בתפריט, ליד שעת המשרד: לפי שעה, שבת וחגים */
.mm__greet { margin-inline-start: auto; display: grid; justify-items: end; text-align: end; line-height: 1.2; }
.mm__greet b { font-weight: 400; font-size: 1.12rem; letter-spacing: -.01em; color: #fff; }
.mm__greet small { font-size: .76rem; color: rgba(255,255,255,.66); margin-top: 2px; }
@media (max-width: 480px) { .mm__greet b { font-size: 1rem; } }
/* תחומי הליבה: שלושה כרטיסים (תחנה חדשה, תחנה פעילה, חוות שרתים) */
@media (min-width: 1100px) { .cards--3 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 761px) and (max-width: 1099px) { .cards--3 > .card:last-child { grid-column: 1 / -1; min-height: 340px; } }
.cards--3 .card--photo img[src*="hartuv-aerial-lift"] { object-position: center 60%; }
/* בלי תנועה: פס הלקוחות עומד, מציגים רשימה אחת בלבד (בלי העותקים שמשמשים לגלילה) */
@media (prefers-reduced-motion: reduce) { .hero__clients-track > .hero__clients-list ~ .hero__clients-list { display: none; } .hero__clients-track { justify-content: flex-start; } }
html.a11y-no-motion .hero__clients-track { animation: none; flex-wrap: wrap; width: auto; }
html.a11y-no-motion .hero__clients-track > .hero__clients-list ~ .hero__clients-list { display: none; }
/* הדמיה חיה (עמוד חוות שרתים): תמונה עם כפתור, והמודל נטען בלחיצה בתוך מסגרת */
.sim__frame { position: relative; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: #0d1a26; box-shadow: 0 40px 80px -50px rgba(0,0,0,.7); }
.sim__frame > img, .sim__frame > iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; object-fit: cover; }
.sim__frame.is-live > img, .sim__frame.is-live > .sim__stamp { display: none; }
.sim__stamp { position: absolute; top: 14px; inset-inline-end: 14px; z-index: 2; font-size: .72rem; letter-spacing: .04em; color: #fff; padding: 3px 10px; border-radius: 999px; background: rgba(15,26,36,.72); }
.sim__play { position: absolute; inset: 0; z-index: 1; display: grid; place-content: center; justify-items: center; gap: 12px; border: 0; margin: 0; padding: 20px; font: inherit; color: #fff; cursor: pointer; background: radial-gradient(60% 60% at 50% 55%, rgba(8,20,32,.55), rgba(8,20,32,.15)); }
.sim__btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 28px; border-radius: 999px; background: linear-gradient(180deg, #e0443a, #b52a21); font-weight: 600; font-size: 1.15rem; box-shadow: 0 0 0 8px rgba(224,68,58,.22), 0 14px 40px rgba(0,0,0,.35); transition: transform .2s var(--ease), box-shadow .3s; }
.sim__btn svg { width: 22px; height: 22px; }
.sim__play:hover .sim__btn, .sim__play:focus-visible .sim__btn { transform: scale(1.04); box-shadow: 0 0 0 12px rgba(224,68,58,.18), 0 14px 40px rgba(0,0,0,.35); }
.sim__play:focus-visible { outline: none; }
.sim__play:focus-visible .sim__btn { outline: 3px solid #fff; outline-offset: 4px; }
.sim__play small { font-size: .85rem; color: rgba(255,255,255,.85); text-shadow: 0 1px 8px rgba(0,0,0,.6); }
.sim__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; justify-content: space-between; margin-top: 16px; }
.sim__meta p { margin: 0; max-width: 70ch; font-size: .9rem; color: var(--on-dark-muted); }
@media (max-width: 720px) { .sim__frame { aspect-ratio: auto; height: min(80svh, 720px); border-radius: 14px; } .sim__btn { font-size: 1rem; padding: 14px 22px; } }
/* הדמיה חיה בדף הבית: הפס עצמו הופך להדמיה, בלי להוסיף גובה לעמוד */
.band--sim img { filter: none; object-position: center 45%; }
.band__sub { margin: 0; max-width: 46ch; color: rgba(255,255,255,.88); font-size: clamp(.95rem, 1.4vw, 1.1rem); }
.band__acts { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; margin-top: 4px; }
.sim__go { display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border: 0; border-radius: 999px; font: 600 1.02rem/1 var(--font); color: #fff; cursor: pointer; background: linear-gradient(180deg, #e0443a, #b52a21); box-shadow: 0 0 0 7px rgba(224,68,58,.22), 0 12px 32px rgba(0,0,0,.35); transition: transform .2s var(--ease), box-shadow .3s; }
.sim__go svg { width: 20px; height: 20px; }
.sim__go:hover { transform: scale(1.04); }
.sim__go:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.band--sim > iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 5; display: block; background: #0d1a26; }
.band--sim.is-live .band__in, .band--sim.is-live .band__tag, .band--sim.is-live > img { visibility: hidden; }
/* ניווט גלוי במחשב: חמישה קישורים וטלפון בגלולה כהה בין הלוגו לכפתור הצעת המחיר */
.hnav { display: none; }
@media (min-width: 1180px) {
  .hnav { display: inline-flex; align-items: center; gap: 2px; height: 44px; padding: 4px; border-radius: 999px; background: var(--char); color: #fff; font-family: var(--font); font-size: .86rem; font-weight: 500; margin-inline: auto; }
  .hnav ul { display: flex; gap: 2px; margin: 0; padding: 0; list-style: none; }
  .hnav a { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border-radius: 999px; color: #fff; text-decoration: none; transition: background .25s; white-space: nowrap; }
  .hnav a:hover { background: rgba(255,255,255,.12); }
  .hnav a[aria-current="page"] { background: rgba(255,255,255,.16); box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); }
  .hnav a:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 2px; }
  .hnav__tel { margin-inline-start: 4px; background: var(--accent-deep); }
  .hnav__tel:hover { background: #084f6f !important; }
  .hnav__tel svg { width: 15px; height: 15px; }
  .hnav__tel .ltr { direction: ltr; unicode-bidi: isolate; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
}
@media (min-width: 1180px) and (max-width: 1320px) { .hnav a { padding: 0 11px; } .hnav__tel .ltr { display: none; } .hnav__tel { padding: 0 11px; } }
/* מסכי מגע: כל קישור בתחתית הדף ובתחתית התפריט מקבל שטח לחיצה של 44 פיקסל */
@media (pointer: coarse), (max-width: 900px) {
  .footer ul { gap: 0; }
  .footer ul a, .footer .legal-links a, .mm__links a { display: inline-flex; align-items: center; min-height: 44px; }
  .footer ul li { min-height: 44px; display: flex; align-items: center; flex-wrap: wrap; gap: 0 6px; }
  .footer .legal-links { display: inline-flex; flex-wrap: wrap; gap: 0 18px; }
  .footer .waze { min-height: 36px; }
  .mm__links { gap: 0 16px; }
}
/* הורדת דף ההיכרות (באנגלית, דף חוות השרתים) */
.service-hero__actions { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
.hero-dl { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 18px; border-radius: 999px; color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.45); background: rgba(10,10,12,.35); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); font-weight: 500; transition: background .25s, border-color .25s; }
.hero-dl:hover { background: rgba(255,255,255,.14); border-color: #fff; }
.hero-dl:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.hero-dl svg { width: 18px; height: 18px; }
.hero-dl span { font-size: .78rem; opacity: .75; font-weight: 400; }
.hero-dl { white-space: nowrap; }
@media (max-width: 480px) { .hero-dl span { display: none; } }
.sim__frame.is-live > .sim__play { display: none; }
.sim__frame > iframe { z-index: 2; }

/* ===== מובייל: שטחי לחיצה של 44px, טקסט של 12px לפחות, שדה טלפון בלי זום ===== */
@media (max-width: 760px) {
  .navpill { height: 52px; padding: 4px 4px 4px 10px; }
  .navpill__logo { height: 44px; padding: 4px 14px; }
  .navpill__logo img { height: 30px; }
  .navpill__btn, .navpill__btn:hover { height: 44px; }
  .navpill__btn .nav-toggle__icon { width: 36px; height: 36px; }
  .navpill .navpill__lang { height: 44px; min-width: 44px; }
  .ann__close { width: 44px; height: 44px; inset-inline-end: 0; }
  .ann__link { position: relative; }
  .ann__link::after { content: ""; position: absolute; inset: -8px -4px; }
  .crumbs a { display: inline-flex; align-items: center; min-height: 44px; }
  .aside-card li a, .service-case__more a { display: inline-flex; align-items: center; min-height: 44px; }
  .waze { min-height: 44px; }
  .cut__pin::before { content: ""; position: absolute; inset: -9px; border-radius: 50%; }
  .cut__nav button { width: 44px; height: 44px; }
  .consent input { width: 24px; height: 24px; margin-top: 1px; }
  .footer__bottom, .footer__bottom a { font-size: .8rem; }
  .ann__link, .field__badge, .card__stamp, .steps__tag, .article-card__tag, .pipe__sub, .cut__card-n, .cut__stamp, .sim__stamp, .case__gallery-note, .card .n, figcaption { font-size: max(.75rem, 12px); }
}
.quick__form input[type="tel"] { font-size: max(1rem, 16px); }
/* מובייל: ארבעת המספרים בדף הבית ברשת 2×2 במקום עמודה ארוכה */
@media (max-width: 640px) {
  .numbers { grid-template-columns: 1fr 1fr; column-gap: 18px; }
  .number { padding: 20px 0; }
  .number .num { font-size: clamp(2.4rem, 12vw, 3.2rem); }
  .number p { font-size: .88rem; }
}
/* מובייל: מפת הפרויקטים נשארת צמודה בצד אבל צרה יותר, כדי שלפרויקטים יהיה רוחב לקריאה */
@media (max-width: 999px) {
  .projects__layout { grid-template-columns: minmax(0, 1fr) 62px; gap: 10px; }
  .map-panel { min-width: 0; padding: 8px 4px 6px; }
  .map-panel .ilmap { width: 100%; min-width: 0; }
  .map-panel__caption { display: none; }
}
@media (max-width: 760px) {
  .quick--photo .quick__form input[type="tel"] { font-size: max(1rem, 16px); }
  .row .n, .row .field__badge, .cut__pin b, .cut__list button b, .contact-list strong, .article-body figcaption, .field-tile__name .field__badge { font-size: max(.75rem, 12px); }
  .footer ul .waze, .waze { min-height: 44px; }
  .contact-list a { display: inline-flex; align-items: center; min-height: 44px; }
  .consent a, .quick__consent a { display: inline-block; padding-block: 12px; margin-block: -12px; }
  .steps__ctrl button { width: 44px; height: 44px; flex: none; }
  .crumbs a { min-width: 44px; justify-content: center; }
}
/* סיווג קבלן, מכתבי המלצה וסיפור פרויקט: מוצגים רק כשיש חומר אמיתי */
.registry { margin: 18px 0 0; font-size: .95rem; color: var(--muted); }
.registry b { color: var(--ink); font-weight: 600; }
.registry a { color: var(--accent-deep); text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 44px; }
.letters { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 18px; }
.letter { display: block; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 10px; text-align: start; cursor: zoom-in; font: inherit; color: inherit; }
.letter img { width: 100%; aspect-ratio: 1 / 1.414; object-fit: cover; object-position: top; border-radius: 6px; background: var(--paper); }
.letter b { display: block; margin-top: 10px; font-weight: 600; }
.letter span { display: block; font-size: .85rem; color: var(--muted); }
.letter:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.case__story { display: grid; gap: 12px; margin: 16px 0 0; }
.case__story div { border-inline-start: 2px solid var(--accent); padding-inline-start: 12px; }
.case__story dt { font-weight: 600; }
.case__story dd { margin: 2px 0 0; color: var(--ink-2); }
.case__facts { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; margin: 14px 0 0; padding: 0; }
.case__facts span { display: block; font-size: max(.75rem, 12px); color: var(--muted); }
.case__facts b { font-weight: 600; font-variant-numeric: tabular-nums; }
/* מפה שנטענת רק בלחיצה */
.map__facade { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px 20px 64px; text-align: center; background: var(--paper-2); }
.map__facade p { margin: 0; max-width: 34ch; font-size: .92rem; color: var(--ink-2); }
.map__facade a { color: var(--accent-deep); text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 44px; }
.map > iframe { position: absolute; inset: 0; }
/* הגדרות פרטיות: כפתור בשורת המסמכים, חלון וההודעה */
.legal-links__btn { all: unset; cursor: pointer; color: inherit; font: inherit; }
.legal-links__btn:hover { text-decoration: underline; }
.legal-links__btn:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 3px; border-radius: 2px; }
@media (pointer: coarse), (max-width: 900px) { .footer .legal-links__btn { display: inline-flex; align-items: center; min-height: 44px; } }
@media (max-width: 760px) { .footer__bottom .legal-links__btn { font-size: .8rem; } }
.pv { border: 0; padding: 0; border-radius: var(--radius-lg); max-width: min(560px, calc(100vw - 32px)); width: 100%; color: var(--ink); background: #fff; box-shadow: 0 30px 80px -30px rgba(0,0,0,.55); }
.pv::backdrop { background: rgba(20,18,16,.55); }
.pv__in { padding: 26px 24px 22px; max-height: calc(100dvh - 48px); overflow: auto; }
.pv h2 { margin: 0 0 6px; font-size: 1.35rem; font-weight: 600; }
.pv p { margin: 0 0 14px; color: var(--ink-2); font-size: .95rem; line-height: 1.6; }
.pv__row { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); }
.pv__row b { font-weight: 600; }
.pv__row small { grid-column: 1 / -1; color: var(--muted); font-size: .88rem; line-height: 1.55; }
.pv__state { font-size: .85rem; color: var(--muted); white-space: nowrap; }
.pv__switch { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; }
.pv__switch input { width: 22px; height: 22px; accent-color: var(--accent-deep); }
.pv__acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.pv__acts .btn { flex: 1 1 auto; justify-content: center; }
.pv__link { color: var(--accent-deep); text-decoration: underline; text-underline-offset: 3px; }
.pvbar { position: fixed; inset-inline: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 120; max-width: 640px; margin-inline: auto; background: #fff; color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 18px 18px 16px; box-shadow: 0 24px 60px -24px rgba(0,0,0,.5); }
.pvbar p { margin: 0 0 12px; font-size: .93rem; line-height: 1.6; color: var(--ink-2); }
.pvbar .pv__acts { margin-top: 0; }
@media (max-width: 999px) { .pvbar { bottom: calc(82px + env(safe-area-inset-bottom)); } }
/* מספרי טלפון ומיילים נכתבים משמאל לימין, אבל נשארים מיושרים לימין בעמודי העברית */
html[dir="rtl"] input[dir="ltr"] { text-align: right; }
html[dir="rtl"] input[dir="ltr"]::placeholder { text-align: right; }
.quick__form .consent { display: flex; gap: 10px; align-items: flex-start; font-size: .85rem; line-height: 1.55; margin: 2px 0 0; text-align: start; }
.quick__form .consent input { flex: none; width: 24px; height: 24px; margin-top: 2px; accent-color: var(--accent-deep); }
.quick__form .consent a { text-decoration: underline; }
.quick__form .consent.quick__consent { font-size: max(.8rem, 12px) !important; line-height: 1.5; margin: 4px 0 0; }
/* עמודים משפטיים */
.legal__date { color: var(--muted); font-size: .92rem; }
.legal h2 { scroll-margin-top: 110px; }
.aside-btn { all: unset; cursor: pointer; color: var(--accent-deep); font: inherit; display: inline-flex; align-items: center; min-height: 44px; }
.aside-btn:hover { text-decoration: underline; }
.aside-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }
.article-card { position: relative; }
.article-card > .card__stamp { color: #fff; background: rgba(20,18,16,.6); border-color: rgba(255,255,255,.5); }
/* בטלפון: מקום בסוף הפוטר, כדי שכפתור הנגישות הצף לא יסתיר את שורת הקישורים האחרונה */
@media (max-width: 999px) { .footer__bottom { padding-bottom: 64px; } }
.pvbar .pv__acts .btn { flex: 1 1 0; }
.map { aspect-ratio: auto; height: 340px; }
.map__facade { padding: 20px 20px 76px; }
