
                :root { --site-primary:#B67B50;--site-secondary:#2B4C5A;--site-accent:#7C9A82;--site-background:#F8F5E6;--site-text:#1A1A1A;--site-font:"Assistant", sans-serif;--site-font-heading:"Assistant", sans-serif;--site-container:980px;--site-container-narrow:760px;--site-container-wide:1280px;--site-space-unit:8px;--site-section-pad:9vh;--site-gap:22px;--site-radius-card:16px;--site-radius-img:18px;--site-radius-btn:999px;--site-fs-hero:clamp(42px, 6.8vw, 92px);--site-fs-h1:clamp(30px, 4.6vw, 54px);--site-fs-h2:clamp(24px, 3.4vw, 36px);--site-fs-h3:20px;--site-fs-lead:clamp(17px, 1.5vw, 21px);--site-fs-body:16px;--site-fs-small:14px;--site-shadow-1:0 6px 24px rgba(10,20,60,0.06);--site-shadow-2:0 14px 40px rgba(10,20,60,0.14);--site-shadow-3:0 30px 90px rgba(3,10,30,0.35);--site-surface:#FFFFFF;--site-surface-alt:#F5F0E0;--site-surface-dark:#1E1610;--site-muted:#6E6E69;--site-border:rgba(0,0,0,0.07);--site-motion-dur:0.7s;--site-motion-ease:cubic-bezier(0.22, 0.8, 0.3, 1);--site-motion-dist:26px;--site-lh-body:1.7;--site-lh-heading:1.06;--site-heading:#291E16;--site-body-ink:#1A1A1A;--site-card-bg:#FFFFFF;--site-card-heading:#B67B50;--site-card-text:#291E16;--site-kpi:#B67B50;--site-on-primary:#FAF8F6;--site-on-accent:#FAF8F6;--site-cta-ink:#291E16;--site-link:#2B4C5A;--site-footer-link:#EEF1F6;--site-grad-start:#926240;--site-grad-end:#2B4C5A;--site-link-dark:#7C9A82;--site-link-accent:#FAF8F6;--site-field-border:#818181;--site-field-border-dark:#7C736E;--site-field-border-accent:#948F8B;--site-split-veil:rgba(0,0,0,0.14);--site-zebra-a:#F3ECDB;--site-zebra-b:#E4E4D8;--site-split-tone:#F3EBDA;--site-split-dark:#2C241E;--site-dark-page:#1E1610;--site-dark-card:#2F231B;--site-dark-alt:#2A1F17;--site-dark-ink:#F0ECEA;--site-dark-heading:#FAF8F6;--site-dark-muted:#C3BAB3;--site-ink-dark:#291E16;--site-ink-light:#FAF8F6;--site-logo-scale:1.15; }
        * { box-sizing: border-box; margin: 0; }
        /* שלב 2: הגיליון מקשיב לחוזה הטוקנים (--site-*). כל var() נושא fallback
           זהה לערך הקשיח שהיה כאן — אתר בלי טוקנים נראה בדיוק כמו אתמול. */
        body { font-family: var(--site-font); background: var(--site-background); color: var(--site-body-ink, var(--site-text)); line-height: var(--site-lh-body, 1.7); font-size: var(--site-fs-body, 16px); }
        h1, h2, h3, .canvas-logo { font-family: var(--site-font-heading, var(--site-font)); }
        /* הדר-גלולה צף (השראת סטודיו מתאר) */
        .canvas-header { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 14px 28px; position: sticky; top: 14px; margin: 14px 3vw 0; background: var(--site-background); z-index: 10; border-radius: 999px; box-shadow: 0 12px 40px rgba(10, 20, 60, 0.12); }
        .canvas-logo { font-weight: 800; font-size: calc(24px * var(--site-logo-scale, 1)); color: var(--site-heading, var(--site-primary)); display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
        /* 0.7.15: הלוגו נוכח בקנבס — בהדר (מוגבל לגובה הגלולה) ובפוטר. 0.9-r3 (M3): --site-logo-scale (0.7–1.8) מכפיל גובה ורוחב-מקסימום; הפוטר מושפע ב-0.9 מהשינוי. */
        .canvas-logo-img { height: calc(38px * var(--site-logo-scale, 1)); width: auto; max-width: calc(170px * var(--site-logo-scale, 1)); object-fit: contain; display: block; }
        .canvas-footer-logo { height: calc(46px * (1 + (var(--site-logo-scale, 1) - 1) * 0.9)); width: auto; max-width: calc(190px * (1 + (var(--site-logo-scale, 1) - 1) * 0.9)); object-fit: contain; display: block; margin: 0 auto 18px; opacity: 0.95; }
        @media (max-width: 860px) { .canvas-logo-img { height: calc(30px * var(--site-logo-scale, 1)); max-width: calc(130px * var(--site-logo-scale, 1)); } }
        .canvas-nav { display: flex; gap: 26px; }
        .canvas-nav a { color: var(--site-body-ink, var(--site-text)); text-decoration: none; font-size: 16px; font-weight: 500; }
        .canvas-nav a:hover { color: var(--site-link, var(--site-secondary)); }
        .canvas-header-cta { background: var(--site-accent); color: var(--site-cta-ink, var(--site-primary)); font-weight: 700; padding: 11px 24px; border-radius: 999px; text-decoration: none; font-size: 15px; white-space: nowrap; box-shadow: 0 6px 18px color-mix(in srgb, var(--site-accent) 45%, transparent); }

        /* הירו חתימתי: טיפוגרפיה ענקית + אלמנט גדול חתוך (blob) + בועות מרחפות */
        .canvas-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr; align-items: center; gap: 4vw; padding: 12vh 8vw 13vh; background: linear-gradient(160deg, var(--site-grad-start, var(--site-primary)), var(--site-grad-end, var(--site-secondary))); color: var(--site-on-primary, #fff); }
        .canvas-hero:has(.hero-media) { grid-template-columns: 1.05fr 0.95fr; padding: 10vh 6vw 12vh; }
        .canvas-hero::before { content: ""; position: absolute; inset-inline-start: -18vw; top: -30vh; width: 55vw; height: 55vw; background: radial-gradient(circle, color-mix(in srgb, var(--site-accent) 26%, transparent), transparent 65%); pointer-events: none; }
        .hero-copy { position: relative; z-index: 2; text-align: start; }
        .canvas-hero h1 { font-size: var(--site-fs-hero, clamp(42px, 6.8vw, 92px)); font-weight: 800; line-height: var(--site-lh-heading, 1.06); letter-spacing: -0.5px; }
        .canvas-hero p { max-width: 560px; margin: 24px 0 0; opacity: 0.92; font-size: var(--site-fs-lead, clamp(17px, 1.5vw, 21px)); font-weight: 300; }
        .canvas-hero .accent-bar { width: 110px; height: 6px; background: var(--site-accent); margin: 28px 0 0; border-radius: 3px; }
        .hero-cta { display: inline-block; margin-top: 34px; background: var(--site-accent); color: var(--site-cta-ink, var(--site-primary)); font-weight: 800; font-size: 18px; padding: 16px 44px; border-radius: var(--site-radius-btn, 999px); text-decoration: none; box-shadow: 0 14px 40px color-mix(in srgb, var(--site-accent) 50%, transparent); transition: transform 0.15s ease; }
        .hero-cta:hover { transform: translateY(-3px); }
        .hero-media { position: relative; z-index: 1; min-height: 380px; }
        .hero-blob { position: absolute; inset: 0; border-radius: 42% 58% 55% 45% / 46% 41% 59% 54%; overflow: hidden; background: color-mix(in srgb, #fff 14%, transparent); box-shadow: var(--site-shadow-3, 0 30px 90px rgba(3, 10, 30, 0.35)); animation: hero-blob-morph 14s ease-in-out infinite alternate; }
        .hero-blob img { width: 100%; height: 100%; object-fit: cover; display: block; }
        .hero-blob-fill { width: 100%; height: 100%; background: linear-gradient(140deg, color-mix(in srgb, var(--site-accent) 55%, var(--site-secondary)), var(--site-secondary)); }
        .hero-bubble { position: absolute; display: grid; place-items: center; background: rgba(255, 255, 255, 0.92); border-radius: 50%; box-shadow: 0 14px 36px rgba(3, 10, 30, 0.28); animation: hero-float 6s ease-in-out infinite; z-index: 3; }
        .hero-bubble svg { width: 55%; height: 55%; }
        .hero-bubble.b1 { width: 92px; height: 92px; top: 4%; inset-inline-end: 6%; }
        .hero-bubble.b2 { width: 72px; height: 72px; bottom: 10%; inset-inline-end: 72%; animation-delay: 1.6s; }
        .hero-bubble.b3 { width: 64px; height: 64px; bottom: -4%; inset-inline-end: 22%; animation-delay: 3.1s; }
        @keyframes hero-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
        @keyframes hero-blob-morph { 0% { border-radius: 42% 58% 55% 45% / 46% 41% 59% 54%; } 100% { border-radius: 55% 45% 42% 58% / 42% 56% 44% 58%; } }
        /* המבורגר במובייל — התפריט הופך למסך-מלא מעוצב */
        .canvas-burger { display: none; border: 0; background: transparent; cursor: pointer; padding: 8px; z-index: 60; flex-direction: column; gap: 5px; }
        .canvas-burger span { display: block; width: 24px; height: 2.5px; border-radius: 2px; background: var(--site-primary); transition: transform 0.3s ease, opacity 0.25s ease; }
        body.mai-menu-open .canvas-burger span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
        body.mai-menu-open .canvas-burger span:nth-child(2) { opacity: 0; }
        body.mai-menu-open .canvas-burger span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }
        .canvas-mobile-menu { position: fixed; inset: 0; z-index: 50; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background: color-mix(in srgb, var(--site-background) 92%, transparent); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s; }
        body.mai-menu-open .canvas-mobile-menu { opacity: 1; visibility: visible; }
        .canvas-mobile-menu a { color: var(--site-heading, var(--site-primary)); text-decoration: none; font-size: 26px; font-weight: 700; font-family: var(--site-font-heading, var(--site-font)); padding: 10px 26px; border-radius: 999px; transform: translateY(14px); opacity: 0; transition: transform 0.35s ease, opacity 0.35s ease; }
        body.mai-menu-open .canvas-mobile-menu a { transform: translateY(0); opacity: 1; }
        .canvas-mobile-menu a:nth-child(2) { transition-delay: 0.05s; } .canvas-mobile-menu a:nth-child(3) { transition-delay: 0.1s; }
        .canvas-mobile-menu a:nth-child(4) { transition-delay: 0.15s; } .canvas-mobile-menu a:nth-child(5) { transition-delay: 0.2s; }
        .canvas-mobile-menu a:nth-child(6) { transition-delay: 0.25s; } .canvas-mobile-menu a:nth-child(7) { transition-delay: 0.3s; }
        .canvas-mobile-menu .mobile-cta { margin-top: 18px; background: var(--site-accent); color: var(--site-cta-ink, var(--site-primary)); font-size: 19px; box-shadow: 0 12px 34px color-mix(in srgb, var(--site-accent) 45%, transparent); }
        body.mai-menu-open { overflow: hidden; }
        body.mai-style-dark .canvas-mobile-menu { background: color-mix(in srgb, var(--site-dark-page, #10131F) 94%, transparent); }
        body.mai-style-dark .canvas-mobile-menu a { color: var(--site-dark-ink, #e8eaf2); }
        body.mai-style-dark .canvas-burger span { background: var(--site-dark-ink, #e8eaf2); }
        @media (max-width: 860px) { .canvas-hero { grid-template-columns: 1fr; } .hero-media { min-height: 300px; } .canvas-nav { display: none; } .canvas-burger { display: flex; } .canvas-header-cta { display: none; } }
        /* W31: גובה הסקשן עובר במשתנה ולא ב-padding ישיר, כדי שבחירת הלקוח
           תנצח בלי מרוץ-ספציפיות מול כללי הסגנון שלמטה. ברירת המחדל בכל
           קורא היא הערך שהיה שם קודם — סקשן בלי בחירה נראה בדיוק כמו אתמול. */
        .mai-canvas-section { padding: var(--mai-space-block, var(--site-section-pad, 9vh)) 6vw; max-width: var(--site-container, 980px); margin: 0 auto; }
        .mai-canvas-section.mai-space-compact { --mai-space-block: 5vh; }
        .mai-canvas-section.mai-space-normal { --mai-space-block: var(--site-section-pad, 9vh); }
        .mai-canvas-section.mai-space-roomy { --mai-space-block: 14vh; }
        .mai-canvas-section.mai-space-tall { --mai-space-block: 20vh; }
        .mai-canvas-section h2 { color: var(--site-heading, var(--site-primary)); font-size: var(--site-fs-h2, clamp(24px, 3.4vw, 36px)); margin-bottom: 14px; }
        /* תיקון סקירה: h2 של סקשן ירש תמיד את 1.7 של ה-body (לא הייתה הצהרה) — הטוקן
           lh-heading (1.06) היה דוחס כותרות דו-שורתיות בכל אתר קיים. חל רק תחת החוזה. */
        .mai-canvas-section.is-spec h2 { line-height: var(--site-lh-heading, 1.06); }
        /* Fixes1 (R8): כותרת ארוכה נשברת במקום לגלוש (390px); ילדי רשת לא נמתחים מעבר לעמודה. */
        /* anywhere (ולא רק break-word) — מקטין גם את ה-min-content, אחרת פריט ממורכז ברשת
           (justify-items:center) נמתח לרוחב המילה הארוכה וגולש מהמסך. */
        :is(h1, h2, h3, .web-banner-title, .web-hero-title) { overflow-wrap: break-word; overflow-wrap: anywhere; hyphens: auto; }
        :is(.web-split, .web-hero-page, .web-cards, .web-testimonials, .web-pricing, .web-team) > * { min-width: 0; max-width: 100%; }
        /* closer (fixes1): תמונה עם width/height (נגד קפיצת-טעינה, CLS) שומרת פרופורציה — ספציפיות 0, כל כלל גובה מפורש גובר. */
        :where(.mai-canvas-section img[width][height]) { height: auto; }
        /* Fixes1 (K5/R2): חוזה המשטחים — סקשן שה-spec שלו קובע משטח לא-בהיר (is-own-surface,
           מהרנדרר) נצבע רק ע"י כלל המשטח שלו. פסי הזברה/הגרדיאנט של הדף מדלגים עליו.
           :where() — הספציפיות של כללי הזברה לא משתנה בכלל, כך שכל השאר נשאר כשהיה. */
        /* trial2 (INT): פסי הרקע מתחלפים בין הסקשנים הנראים בלבד — סקשן ריק ומוסתר (<section hidden>) לא נספר; אותה ספציפיות כמו nth-of-type(even). */
        .mai-canvas-section:nth-of-type(n):where(:nth-child(even of section:not([hidden]))) { max-width: none; }
        .mai-canvas-section:nth-of-type(n):where(:nth-child(even of section:not([hidden]))):where(:not(.is-own-surface)) { background: var(--site-surface-alt, color-mix(in srgb, var(--site-primary) 4%, var(--site-background))); }
        .mai-canvas-section:nth-of-type(n):where(:nth-child(even of section:not([hidden]))) > * { max-width: var(--site-container, 980px); margin-inline: auto; }
        /* עוגן הפרק — פעם אחת בדף, על הסקשן הראשון של הפרק (ה-id של הסקשן עצמו ייחודי: s-{id}). */
        .mai-canvas-section > .mai-anchor { position: absolute; top: 0; inset-inline-start: 0; width: 1px; height: 1px; max-width: none; margin: 0; pointer-events: none; }
        :is(.mai-canvas-section, .mai-anchor, #contact-form, #contact) { scroll-margin-top: 96px; }
        .canvas-footer { padding: 40px 6vw; background: var(--site-grad-start, var(--site-primary)); color: var(--site-on-primary, #fff); text-align: center; font-size: var(--site-fs-small, 14px); }
        .canvas-footer a { color: var(--site-footer-link, var(--site-accent)); text-decoration: none; }
        .footer-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 22px; margin-bottom: 16px; }
        .footer-nav a { color: var(--site-on-primary, #fff); opacity: 0.85; font-size: var(--site-fs-small, 14px); }
        .web-section-link { margin-top: 20px; } .web-section-link a { color: var(--site-link, var(--site-secondary)); font-weight: 700; text-decoration: none; font-size: 17px; }
        .canvas-empty { padding: 12vh 6vw; text-align: center; color: #8a91a5; }

        /* ── W2: ארכיטיפי סקשנים ── */
        .web-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: calc(var(--site-gap, 22px) * var(--mai-gap-scale, 1)); margin-top: 26px; }
        .web-card { background: var(--site-card-bg, #fff); color: var(--site-card-text, var(--site-text)); border: 1px solid var(--site-border, rgba(0,0,0,0.07)); border-radius: var(--site-radius-card, 16px); padding: 26px 22px; box-shadow: var(--site-shadow-1, 0 6px 24px rgba(10,20,60,0.06)); }
        .web-card h3 { color: var(--site-card-heading, var(--site-secondary)); font-size: var(--site-fs-h3, 20px); margin-bottom: 8px; }
        .web-cards.is-kpi .web-card { text-align: center; }
        .web-cards.is-kpi .web-card h3 { font-size: 40px; font-weight: 800; color: var(--site-kpi, var(--site-primary)); }
        .web-split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-top: 20px; }
        .web-split.is-image-start { direction: ltr; } .web-split.is-image-start > * { direction: rtl; }
        .web-split-media img { width: 100%; border-radius: var(--site-radius-img, 18px); box-shadow: var(--site-shadow-2, 0 14px 40px rgba(10,20,60,0.14)); }
        .web-quote { border-inline-start: 5px solid var(--site-accent); padding: 8px 26px; margin-top: 20px; font-size: 24px; font-weight: 300; color: var(--site-heading, var(--site-primary)); }
        .web-quote footer { font-size: 15px; margin-top: 10px; color: var(--site-body-ink, var(--site-text)); opacity: 0.7; }
        .web-infographic { margin-top: 26px; } .web-infographic svg { width: 100%; height: auto; }
        .web-steps { counter-reset: step; list-style: none; padding: 0; margin-top: 22px; display: grid; gap: 14px; }
        .web-steps li { counter-increment: step; display: flex; align-items: center; gap: 16px; background: var(--site-card-bg, #fff); color: var(--site-card-text, var(--site-text)); border: 1px solid var(--site-border, rgba(0,0,0,0.06)); border-radius: var(--site-radius-card, 12px); padding: 16px 20px; }
        .web-steps li::before { content: counter(step); min-width: 38px; height: 38px; border-radius: 50%; background: var(--site-accent); color: var(--site-on-accent, #fff); font-weight: 800; display: grid; place-items: center; }
        .web-cta { text-align: center; padding: 30px 0 6px; }
        .web-cta-btn { display: inline-block; margin-top: 16px; background: linear-gradient(120deg, var(--site-grad-start, var(--site-primary)), var(--site-grad-end, var(--site-secondary))); color: var(--site-on-primary, #fff); padding: 13px 38px; border-radius: var(--site-radius-btn, 999px); text-decoration: none; font-weight: 600; }
        .web-images { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-top: 22px; }
        .web-images img { width: 100%; border-radius: var(--site-radius-img, 14px); }

        /* ── W16: גלריית מוצרים/עבודות + לייטבוקס ── */
        .web-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; margin-top: 26px; }
        .web-gallery.is-dense { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
        .web-gitem { position: relative; margin: 0; border-radius: var(--site-radius-card, 16px); overflow: hidden; background: var(--site-card-bg, #fff); box-shadow: var(--site-shadow-1, 0 6px 24px rgba(10,20,60,0.08)); cursor: zoom-in; }
        .web-gitem img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform 0.45s cubic-bezier(0.22, 0.8, 0.3, 1); }
        .web-gitem:hover img { transform: scale(1.06); }
        .web-gitem figcaption { position: absolute; inset-inline: 0; bottom: 0; padding: 26px 14px 12px; font-size: 15px; font-weight: 600; color: #fff; background: linear-gradient(to top, rgba(8,10,22,0.78), transparent); pointer-events: none; }
        /* gallery (G1-4): הלייטבוקס — סרגל עליון (מונה + סגירה), במה (התמונה נמדדת ב-JS לפי מידות המקור — בלי קפיצה
           בין הממוזערת למקור), כיתוב, פס ממוזערות (3+). RTL: הבאה משמאל (כמו חץ-שמאלה במקלדת), הקודמת מימין. חצים גם במובייל. */
        .mai-lightbox { position: fixed; inset: 0; z-index: 90; display: none; flex-direction: column; background: rgba(9, 10, 16, 0.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #F4F5F8; }
        .mai-lightbox.is-open { display: flex; }
        .mai-lb-top { position: relative; z-index: 2; flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 68px; padding: 12px 20px 4px; }
        .mai-lb-count { margin: 0; padding: 7px 15px; border-radius: 999px; background: rgba(255, 255, 255, 0.09); font-size: 14px; font-weight: 600; line-height: 1.3; letter-spacing: 0.05em; font-variant-numeric: tabular-nums; color: rgba(255, 255, 255, 0.9); }
        .mai-lightbox.is-single .mai-lb-count { visibility: hidden; }
        .mai-lb-stage { position: relative; flex: 1 1 auto; min-height: 0; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 4px 96px 0; }
        .mai-lb-frame { position: relative; flex: 0 1 auto; min-height: 0; max-width: 100%; display: grid; place-items: center; }
        .mai-lb-img { display: block; max-width: 100%; max-height: calc(100vh - 230px); border-radius: 10px; box-shadow: 0 28px 80px rgba(0, 0, 0, 0.55); background: rgba(255, 255, 255, 0.04); transition: opacity 0.18s ease; -webkit-user-select: none; user-select: none; -webkit-user-drag: none; }
        .mai-lightbox.is-fading .mai-lb-img { opacity: 0; }
        .mai-lb-cap { flex: 0 0 auto; max-width: min(72ch, 100%); margin: 0; text-align: center; font-size: 16px; font-weight: 500; line-height: 1.5; color: rgba(255, 255, 255, 0.9); }
        .mai-lb-cap:empty { display: none; }
        .mai-lb-spin { position: absolute; top: 50%; left: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 50%; border: 3px solid rgba(255, 255, 255, 0.22); border-top-color: #fff; opacity: 0; pointer-events: none; transition: opacity 0.2s ease; animation: mai-lb-spin 0.9s linear infinite; }
        .mai-lightbox.is-loading .mai-lb-spin { opacity: 1; transition-delay: 0.25s; }
        @keyframes mai-lb-spin { to { transform: rotate(360deg); } }
        .mai-lb-btn { position: absolute; z-index: 3; display: grid; place-items: center; width: 52px; height: 52px; padding: 0; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 50%; background: rgba(255, 255, 255, 0.1); color: #fff; cursor: pointer; transition: background 0.2s ease, border-color 0.2s ease; }
        .mai-lb-btn svg { width: 24px; height: 24px; }
        .mai-lb-btn:hover { background: rgba(255, 255, 255, 0.24); border-color: rgba(255, 255, 255, 0.34); }
        .mai-lb-btn:focus-visible, .mai-lb-thumb:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
        .mai-lb-close { position: static; width: 46px; height: 46px; }
        .mai-lb-prev, .mai-lb-next { top: calc(50% - 16px); transform: translateY(-50%); }
        .mai-lb-prev { inset-inline-start: 22px; }
        .mai-lb-next { inset-inline-end: 22px; }
        .mai-lightbox.is-single :is(.mai-lb-prev, .mai-lb-next) { display: none; }
        /* הפס: משמאל מקום לכפתור תפריט הנגישות הצף (left 16px, 48px) — ממוזערת לא נבלעת מתחתיו; קצוות נמסים. */
        .mai-lb-strip { flex: 0 0 auto; display: flex; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; padding: 14px 20px 18px 80px; scrollbar-width: none; -webkit-mask-image: linear-gradient(to right, transparent 62px, #000 80px, #000 calc(100% - 20px), transparent); mask-image: linear-gradient(to right, transparent 62px, #000 80px, #000 calc(100% - 20px), transparent); }
        .mai-lb-strip::-webkit-scrollbar { display: none; }
        .mai-lb-strip[hidden] { display: none; }
        .mai-lb-thumb { flex: 0 0 auto; width: 76px; height: 56px; padding: 0; border: 0; border-radius: 8px; overflow: hidden; background: rgba(255, 255, 255, 0.06); cursor: pointer; opacity: 0.5; scroll-snap-align: center; transition: opacity 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
        .mai-lb-thumb:first-child { margin-inline-start: auto; }
        .mai-lb-thumb:last-child { margin-inline-end: auto; }
        .mai-lb-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
        .mai-lb-thumb:hover { opacity: 0.85; }
        .mai-lb-thumb[aria-current="true"] { opacity: 1; box-shadow: 0 0 0 2px #fff, 0 6px 18px rgba(0, 0, 0, 0.45); transform: translateY(-2px); }
        @media (max-width: 640px) {
            .web-gallery, .web-gallery.is-dense { grid-template-columns: repeat(2, 1fr); gap: 10px; }
            .mai-lb-top { min-height: 58px; padding: 8px 12px 2px; }
            .mai-lb-stage { padding: 2px 10px 0; gap: 10px; }
            .mai-lb-img { max-height: calc(100vh - 200px); border-radius: 8px; }
            .mai-lb-btn { width: 40px; height: 40px; }
            .mai-lb-btn svg { width: 20px; height: 20px; }
            .mai-lb-close { width: 42px; height: 42px; }
            .mai-lb-prev, .mai-lb-next { background: rgba(10, 12, 20, 0.42); border-color: rgba(255, 255, 255, 0.16); }
            .mai-lb-prev { inset-inline-start: 8px; }
            .mai-lb-next { inset-inline-end: 8px; }
            .mai-lb-cap { font-size: 14px; padding: 0 6px; }
            .mai-lb-strip { gap: 6px; padding: 10px 12px 14px 64px; -webkit-mask-image: linear-gradient(to right, transparent 54px, #000 64px, #000 calc(100% - 12px), transparent); mask-image: linear-gradient(to right, transparent 54px, #000 64px, #000 calc(100% - 12px), transparent); }
            .mai-lb-thumb { width: 58px; height: 44px; border-radius: 6px; }
        }
        @media (prefers-reduced-motion: reduce) { .mai-lb-img, .mai-lb-thumb, .mai-lb-btn { transition: none; } .mai-lb-spin { animation: none; } }
        html.mai-a11y-still .mai-lb-img { transition: none; }
        body.mai-lb-lock { overflow: hidden; }

        /* ── W16b: מצב קטלוג — מזונרי בפרופורציות מקוריות, שם בריחוף בלבד ── */
        .web-gallery.is-masonry { display: block; columns: 3 240px; column-gap: 18px; }
        .web-gallery.is-masonry.is-wide { columns: 4 220px; column-gap: 14px; }
        .web-gallery.is-masonry .web-gitem { display: inline-block; width: 100%; margin: 0 0 18px; break-inside: avoid; -webkit-column-break-inside: avoid; }
        .web-gallery.is-masonry .web-gitem img { aspect-ratio: auto; height: auto; }
        .web-gallery.is-masonry .web-gitem figcaption { opacity: 0; transform: translateY(8px); transition: opacity 0.3s ease, transform 0.3s ease; }
        .web-gallery.is-masonry .web-gitem:hover figcaption,
        .web-gallery.is-masonry .web-gitem:focus-within figcaption { opacity: 1; transform: none; }
        @media (hover: none) { .web-gallery.is-masonry .web-gitem figcaption { opacity: 1; transform: none; } }
        @media (max-width: 640px) { .web-gallery.is-masonry, .web-gallery.is-masonry.is-wide { columns: 2 140px; column-gap: 10px; } .web-gallery.is-masonry .web-gitem { margin-bottom: 10px; } }

        /* ══ gallery (G1-3/G1-5): דף גלריה — כפתורי אלבומים, רשתות "זורמות" (is-flow: סינון בלי חורים ובלי תכנית-שרת לפי
           אינדקס), ממוזערות. is-ugrid = רשת אחידה (עמודות מה-spec: --g-cols-lg/md; ריבוע או 4:3), is-featured = הראשונה
           הגלויה 2×2 ואחריה רשת. 390: שתי עמודות, הכפתורים נשברים לשורות, בלי גלילה אופקית. ══ */
        .web-galbums { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 22px 0 0; }
        .is-spec.is-align-center .web-galbums { justify-content: center; }
        .web-galbums + .web-gallery { margin-top: 20px; }
        .web-galbum { display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: 9px 18px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--site-heading, var(--site-primary)) 24%, transparent); background: color-mix(in srgb, var(--site-card-bg, #fff) 72%, transparent); color: var(--site-heading, var(--site-primary)); font: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; cursor: pointer; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; }
        .web-galbum:hover { border-color: color-mix(in srgb, var(--site-heading, var(--site-primary)) 50%, transparent); background: color-mix(in srgb, var(--site-heading, var(--site-primary)) 7%, var(--site-card-bg, #fff)); }
        .web-galbum[aria-pressed="true"] { background: var(--site-heading, var(--site-primary)); border-color: var(--site-heading, var(--site-primary)); color: var(--site-card-bg, #fff); box-shadow: 0 8px 22px color-mix(in srgb, var(--site-heading, var(--site-primary)) 26%, transparent); }
        .web-galbum:focus-visible { outline: 3px solid var(--site-secondary); outline-offset: 2px; }
        .web-galbum-n { font-weight: 500; opacity: 0.72; font-variant-numeric: tabular-nums; }
        .is-spec.is-surface-accent .web-galbum[aria-pressed="true"] { background: var(--site-on-primary, #fff); color: var(--site-primary); }
        body.mai-style-dark .web-galbum[aria-pressed="true"] { color: var(--site-dark-page, #10131f); }
        .web-gitem[hidden] { display: none !important; }
        .web-gallery.is-flow { transition: opacity 0.18s ease; }
        .web-gallery.is-flow.is-switching { opacity: 0; }
        .web-gallery.is-ugrid { --g-cols: var(--g-cols-lg, 4); grid-template-columns: repeat(var(--g-cols), minmax(0, 1fr)); gap: 14px; }
        .web-gallery.is-ugrid .web-gitem img, .web-gallery.is-featured .web-gitem img { aspect-ratio: 1 / 1; height: auto; }
        .web-gallery.is-ugrid.is-r43 .web-gitem img { aspect-ratio: 4 / 3; }
        .web-gallery.is-ugrid.is-fit-contain .web-gitem img { object-fit: contain; background: var(--site-surface-alt, color-mix(in srgb, var(--site-primary) 4%, var(--site-background))); }
        .web-gallery.is-featured { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: row dense; gap: 14px; }
        .web-gallery.is-featured > .web-gitem:nth-child(1 of :not([hidden])) { grid-column: span 2; grid-row: span 2; }
        @media (max-width: 1023px) { .web-gallery.is-ugrid { --g-cols: var(--g-cols-md, 3); } .web-gallery.is-featured { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
        /* מיקוד מקלדת: ה-figure קוצץ (overflow) — הטבעת נצבעת עליו, לא על התמונה. */
        .web-gitem:has(> img:focus-visible) { outline: 3px solid var(--site-secondary); outline-offset: 3px; }
        .web-gitem > img:focus-visible { outline: none; }
        /* כיתוב אוטומטי (תיאור הניתוח) — בריחוף/מיקוד בלבד; במגע — רק בלייטבוקס. כיתוב שהלקוח כתב — כמו קודם. */
        .web-gitem.is-auto-cap figcaption { opacity: 0; transform: translateY(6px); transition: opacity 0.25s ease, transform 0.25s ease; }
        .web-gitem.is-auto-cap:hover figcaption, .web-gitem.is-auto-cap:focus-within figcaption { opacity: 1; transform: none; }
        @media (hover: none) { .web-gitem.is-auto-cap figcaption { display: none; } }
        @media (hover: hover) {
            .mai-canvas-section:not(.is-img-duotone) > .web-gallery.is-flow .web-gitem::after { content: ""; position: absolute; top: 12px; inset-inline-end: 12px; width: 36px; height: 36px; border-radius: 50%; background: rgba(8, 10, 22, 0.5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M10 20H4v-6M20 4l-6 6M4 20l6-6'/%3E%3C/svg%3E") center / 18px no-repeat; opacity: 0; transform: scale(0.85); transition: opacity 0.25s ease, transform 0.25s ease; pointer-events: none; }
            .mai-canvas-section:not(.is-img-duotone) > .web-gallery.is-flow .web-gitem:hover::after { opacity: 1; transform: none; }
        }
        /* דף גלריה (תמונות הפרויקט / 13+ תמונות): הסקשן ברוחב גלריה — כותרת, אלבומים ורשת מיושרים יחד. */
        .mai-canvas-section.has-gallery-wide.has-gallery-wide { max-width: none; }
        .mai-canvas-section.has-gallery-wide.has-gallery-wide > * { max-width: min(1240px, 100%); margin-inline: auto; }
        @media (max-width: 640px) {
            .web-galbums { gap: 6px; margin-top: 16px; }
            .web-galbums + .web-gallery { margin-top: 16px; }
            .web-galbum { min-height: 38px; padding: 7px 12px; font-size: 14px; gap: 4px; }
            .web-gallery.is-ugrid, .web-gallery.is-featured { --g-cols: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
            .web-gallery.is-featured > .web-gitem:nth-child(1 of :not([hidden])) { grid-row: auto; }
            .web-gallery.is-featured > .web-gitem:nth-child(1 of :not([hidden])) img { aspect-ratio: 4 / 3; }
        }
        @media (prefers-reduced-motion: reduce) { .web-gallery.is-flow { transition: none; } }

        /* ── W2: דגלי סגנון מהאתרים-לדוגמה (ספריית ההשראות) ── */
        body.mai-style-rounded .web-card, body.mai-style-rounded .web-steps li { border-radius: 26px; }
        body.mai-style-rounded .canvas-hero { border-radius: 0 0 48px 48px; }
        body.mai-style-diagonal .canvas-hero { clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%); padding-bottom: 17vh; }
        body.mai-style-diagonal .mai-canvas-section:nth-of-type(n):where(:nth-child(even of section:not([hidden]))) { clip-path: polygon(0 2.5%, 100% 0, 100% 97.5%, 0 100%); padding-block: var(--mai-space-block, 11vh); }
        body.mai-style-gradient .mai-canvas-section:nth-of-type(n):where(:nth-child(even of section:not([hidden]))):where(:not(.is-own-surface)) { background: linear-gradient(150deg, var(--site-zebra-a, color-mix(in srgb, var(--site-primary) 7%, var(--site-background))), var(--site-zebra-b, color-mix(in srgb, var(--site-secondary) 10%, var(--site-background)))); }
        /* trial2 (P-6): הדף הכהה בגוון המותג (--site-dark-*, מהשרת) — מותג כחול מקבל בדיוק את הקבועים הישנים. */
        body.mai-style-dark { background: var(--site-dark-page, #10131f); color: var(--site-dark-ink, #e8eaf2); }
        body.mai-style-dark .canvas-header { background: var(--site-dark-page, #10131f); border-color: rgba(255,255,255,0.08); }
        body.mai-style-dark .canvas-nav a { color: var(--site-dark-ink, #e8eaf2); }
        body.mai-style-dark .web-card, body.mai-style-dark .web-steps li { background: var(--site-dark-card, #1a1f30); border-color: rgba(255,255,255,0.08); color: var(--site-dark-ink, #e8eaf2); }
        body.mai-style-bold .canvas-hero h1 { font-size: clamp(42px, 7.5vw, 78px); }
        body.mai-style-bold .mai-canvas-section h2 { font-size: clamp(30px, 4.2vw, 46px); }

        /* ── ד׳1: רפרטואר החלוקות — חלוקות מוצהרות, לא רק זרימה (0.7.8) ──
           המחלקה is-div-* מוקצית ב-MAI_Divisions::annotate() עם ערובת-שכנות.
           בלי המחלקה — הכללים הישנים חלים כלשונם. כללי הקריסה למובייל חייבים
           להישאר מתחת ל-900px (MOBILE_BREAK של המחלץ) כדי שהמדידה העצמית
           תמדוד את הדסקטופ. */
        .is-div-golden .web-split { grid-template-columns: 1.618fr 1fr; }
        .is-div-showcase .web-split { grid-template-columns: 1fr 1.618fr; }
        .is-div-featured .web-cards { grid-template-columns: 1.55fr 1fr; }
        .is-div-featured .web-card:first-child { grid-row: span 2; display: flex; flex-direction: column; justify-content: center; }
        .is-div-featured .web-card:first-child h3 { font-size: clamp(24px, 2.6vw, 34px); }
        .is-div-trio .web-cards { grid-template-columns: repeat(3, 1fr); }
        .is-div-bento .web-gallery, .is-div-bento .web-gallery.is-dense { grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(150px, auto); }
        .is-div-bento .web-gitem { height: 100%; }
        .is-div-bento .web-gitem img { height: 100%; aspect-ratio: auto; }
        .is-div-bento .web-gitem:first-child { grid-column: span 2; grid-row: span 2; }
        .is-div-bento .web-gitem:nth-child(4n) { grid-column: span 2; }
        .is-div-columns .web-steps { grid-template-columns: repeat(3, 1fr); align-items: stretch; }
        .is-div-columns .web-steps li { flex-direction: column; align-items: flex-start; gap: 12px; padding: 22px 20px; }
        .is-div-narrow > h2, .is-div-narrow > p { max-width: 62ch; }
        .is-div-offset .web-quote { max-width: 78%; margin-inline-start: auto; border-inline-start-width: 8px; font-size: clamp(24px, 2.6vw, 34px); }
        /* ספליט בלי מדיה (אין תמונה עדיין) — קורס לעמודה אחת במקום בור ריק.
           מחלקה מפורשת מהרנדרר, לא :has() — ממוקם אחרי כללי החלוקות
           בכוונה: אותו משקל, מאוחר יותר במקור ⇒ מנצח. */
        .web-split.is-no-media { grid-template-columns: 1fr; }
        .web-split.is-no-media .web-split-text { max-width: 72ch; }
        /* תמונת-מילוי מהגלריה: בציבורי נראית רגילה; בעריכה מסומנת להחלפה. */
        body.mai-edit-mode .mai-img-ph { outline: 2px dashed rgba(168, 85, 247, 0.65); outline-offset: -6px; }
        @media (max-width: 860px) {
            .is-div-golden .web-split, .is-div-showcase .web-split { grid-template-columns: 1fr; }
            .is-div-featured .web-cards, .is-div-trio .web-cards { grid-template-columns: 1fr; }
            .is-div-featured .web-card:first-child { grid-row: auto; }
            .is-div-bento .web-gallery, .is-div-bento .web-gallery.is-dense { grid-template-columns: repeat(2, 1fr); }
            .is-div-bento .web-gitem:nth-child(4n) { grid-column: span 1; }
            .is-div-bento .web-gitem:first-child { grid-column: span 2; }
            .is-div-columns .web-steps { grid-template-columns: 1fr; }
            .is-div-offset .web-quote { max-width: 100%; }
        }
        @media (max-width: 760px) { .web-split { grid-template-columns: 1fr; } }

        /* ── ד׳3א (0.7.15) שכבת האווירה: תמונה בשקיפות נמוכה, מטושטשת-חצי,
           נמסה בקצוות. ה-span הפנימי נושא את התמונה והעטיפה קוצצת את זליגת
           הטשטוש; המסכה מדהה את הקצוות — אין תפר קשיח מול השכנים, על כל צבע
           רקע. isolation על הסקשן לוכד את z-index:-1 מעל הרקע של הסקשן עצמו,
           ולכן התוכן לא זקוק לשום שינוי. */
        .mai-canvas-section { position: relative; isolation: isolate; }
        .mai-sec-atmo { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -1;
            -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 16%, #000 84%, transparent 100%);
            mask-image: linear-gradient(180deg, transparent 0, #000 16%, #000 84%, transparent 100%); }
        .mai-canvas-section > .mai-sec-atmo { max-width: none; margin-inline: 0; }
        .mai-sec-atmo > span { position: absolute; inset: -36px; display: block; background-size: cover; background-position: center; filter: blur(6px) saturate(0.8); opacity: 0.14; }
        body.mai-style-dark .mai-sec-atmo > span { opacity: 0.2; filter: blur(6px) saturate(0.65) brightness(0.75); }

        /* ── ד׳3א (0.7.15) רצועת תמונה מלאת-רוחב — "הצורה החזקה". הסקשן עצמו
           הוא הרצועה (max-width:none, בלי ריפוד) — אותו מנגנון full-bleed של
           סקשני הרקע הזוגיים, בלי יחידות-viewport שמייצרות פס גלילה אופקי. */
        .mai-canvas-section.is-banner { max-width: none; padding: 0; }
        .mai-canvas-section.is-banner > .web-banner { max-width: none; margin: 0; }
        .web-banner { position: relative; min-height: 44vh; display: grid; place-items: center; background-size: cover; background-position: center; overflow: hidden; }
        .web-banner-veil { position: absolute; inset: 0; background: linear-gradient(170deg, rgba(8, 10, 22, 0.55), rgba(8, 10, 22, 0.2) 55%, color-mix(in srgb, var(--site-primary) 45%, transparent)); }
        .web-banner .web-banner-title { position: relative; color: #fff; font-size: clamp(30px, 4.6vw, 54px); font-weight: 800; text-align: center; padding: 10vh 6vw; margin: 0; letter-spacing: -0.5px; text-shadow: 0 4px 26px rgba(0, 0, 0, 0.45); }
        .mai-canvas-section.is-banner > .web-section-link { text-align: center; padding: 18px 6vw 26px; margin: 0; }
        @media (max-width: 860px) { .web-banner { min-height: 34vh; } }

        /* ══ שלב 2: חוזה ה-section_spec — הגיליון מקשיב למחלקות על ה-<section> ══
           is-type-{type} is-var-{variant} is-cols-{sm|md|lg}-N is-density-* is-scale-*
           is-surface-* is-img-* is-align-* is-cta-* is-motif-* is-tech-*.
           כל הכללים כאן מותנים ב-.is-spec: המחלקה שהרנדרר מוסיף רק כשהחוזה חי על
           הסקשן (section_spec מפורש, או טיפוס שמרונדר ע"י MAI_Web_Sections).
           סקשן ישן נושא את המילון (is-type-features...) אבל בלי is-spec — ולכן
           נראה בדיוק כמו קודם. ברירות המחדל (light/none/start/normal) הן כללים
           ריקים בכוונה. הסדר כאן חשוב: אחרי כללי הבסיס והחלוקות, כדי שתיקו
           בספציפיות ייפול לטובת החוזה — וכללי העמודות ב-:where() כדי שהחלוקות
           (is-div-*) עדיין ינצחו אותם. */

        /* עמודות — הרשתות הפנימיות. breakpoints: 640 / 860. המחלקה קובעת --mai-cols
           ("עד N עמודות"): auto-fit עם מינימום = רוחב עמודה אחת מתוך N, כך ש-N
           פריטים = N עמודות שוות, ופחות פריטים נמתחים במקום להשאיר חורים. */
        @media (max-width: 639px) {
            :where(.is-spec.is-cols-sm-1) { --mai-cols: 1; }
            :where(.is-spec.is-cols-sm-2) { --mai-cols: 2; }
        }
        @media (min-width: 640px) and (max-width: 859px) {
            :where(.is-spec.is-cols-md-1) { --mai-cols: 1; }
            :where(.is-spec.is-cols-md-2) { --mai-cols: 2; }
            :where(.is-spec.is-cols-md-3) { --mai-cols: 3; }
        }
        @media (min-width: 860px) {
            :where(.is-spec.is-cols-lg-1) { --mai-cols: 1; }
            :where(.is-spec.is-cols-lg-2) { --mai-cols: 2; }
            :where(.is-spec.is-cols-lg-3) { --mai-cols: 3; }
            :where(.is-spec.is-cols-lg-4) { --mai-cols: 4; }
        }
        .is-spec { --mai-grid-gap: calc(var(--site-gap, 22px) * var(--mai-gap-scale, 1)); }
        /* כלל הרשת עצמו יושב בסוף בלוק הטיפוסים החדשים (אחרי כללי הבסיס של
           .web-team/.web-pricing... באותה ספציפיות — סדר המקור מכריע). */

        /* צפיפות — ריפוד הסקשן (יחסית ל---site-section-pad) ומכפיל הרווחים.
           ספציפיות אפס: בחירת הלקוח (.mai-space-*) תמיד גוברת. */
        :where(.is-spec.is-density-compact) { --mai-space-block: calc(var(--site-section-pad, 9vh) * 0.55); --mai-gap-scale: 0.7; }
        :where(.is-spec.is-density-roomy) { --mai-space-block: calc(var(--site-section-pad, 9vh) * 1.55); --mai-gap-scale: 1.25; }
        :where(.is-spec.is-density-tall) { --mai-space-block: calc(var(--site-section-pad, 9vh) * 2.2); --mai-gap-scale: 1.4; }

        /* סולם טיפוגרפי */
        .is-spec.is-scale-quiet { font-size: var(--site-fs-small, 14px); }
        .is-spec.is-scale-quiet > h2 { font-size: calc(var(--site-fs-h2, clamp(24px, 3.4vw, 36px)) * 0.8); }
        .is-spec.is-scale-display > h2 { font-size: var(--site-fs-h1, clamp(30px, 4.6vw, 54px)); letter-spacing: -0.5px; }
        .is-spec.is-scale-display :is(.web-split-text p, .web-cta p, .web-hero-sub), .is-spec.is-scale-display > p { font-size: var(--site-fs-lead, clamp(17px, 1.5vw, 21px)); }

        /* משטחים — כל משטח שאינו light הוא full-bleed (כמו הפסים הזוגיים), והדיו
           נגזר: על tint — כרגיל; על dark/image — דיו בהיר; על accent — on-primary. */
        .is-spec:is(.is-surface-tint, .is-surface-dark, .is-surface-accent, .is-surface-image) { max-width: none; }
        .is-spec:is(.is-surface-tint, .is-surface-dark, .is-surface-accent, .is-surface-image) > * { max-width: var(--site-container, 980px); margin-inline: auto; }
        /* Fixes1 (K5): המשטח קובע גם רקע וגם דיו — כולל קישורים (--site-link) וגבולות שדות
           (--site-field-*), שכולם מחושבים בשרת מול המשטח עצמו (contrast_guard_vars). */
        .is-spec.is-surface-tint { background: var(--site-surface-alt, color-mix(in srgb, var(--site-primary) 4%, var(--site-background))); }
        /* trial2 (P-6): כל הגוונים של המשטח הכהה מגוון המותג (--site-dark-*) — לא כרטיסי נייבי על אתר חום. */
        .is-spec:is(.is-surface-dark, .is-surface-image) { background: var(--site-surface-dark, #10131F); color: var(--site-dark-ink, #E8EAF2);
            --site-heading: var(--site-dark-heading, #F4F6FC); --site-body-ink: var(--site-dark-ink, #E8EAF2); --site-card-bg: var(--site-dark-card, #1A1F30); --site-card-text: var(--site-dark-ink, #E8EAF2); --site-card-heading: var(--site-dark-heading, #F4F6FC); --site-kpi: var(--site-dark-heading, #F4F6FC); --site-border: rgba(255,255,255,0.1); --site-muted: var(--site-dark-muted, #AEB4C8); --site-surface: var(--site-dark-card, #1A1F30); --site-surface-alt: var(--site-dark-alt, #161A2B);
            --site-link: var(--site-link-dark, #FFD479); --site-field-bg: var(--site-dark-card, #1A1F30); --site-field-ink: var(--site-dark-ink, #E8EAF2); --site-field-border: var(--site-field-border-dark, #6C707E); }
        .is-spec.is-surface-accent { background: linear-gradient(160deg, var(--site-grad-start, var(--site-primary)), var(--site-grad-end, var(--site-secondary))); color: var(--site-on-primary, #fff);
            --site-heading: var(--site-on-primary, #fff); --site-body-ink: var(--site-on-primary, #fff); --site-card-bg: rgba(255,255,255,0.12); --site-card-text: var(--site-on-primary, #fff); --site-card-heading: var(--site-on-primary, #fff); --site-kpi: var(--site-on-primary, #fff); --site-border: rgba(255,255,255,0.18);
            --site-link: var(--site-link-accent, var(--site-on-primary, #fff)); --site-field-bg: #FFFFFF; --site-field-ink: var(--site-ink-dark, #161B29); --site-field-border: var(--site-field-border-accent, #8B8D94); }
        .is-spec:is(.is-surface-dark, .is-surface-accent, .is-surface-image) .web-cta-btn { background: var(--site-accent); color: var(--site-cta-ink, var(--site-primary)); box-shadow: 0 10px 30px color-mix(in srgb, var(--site-accent) 40%, transparent); }
        .is-spec:is(.is-surface-dark, .is-surface-accent, .is-surface-image) .web-section-link a { color: var(--site-link); text-decoration: underline; text-underline-offset: 4px; }
        /* surface=image: שכבת האטמוספירה הופכת לרקע מלא (בלי טשטוש/מסכה) + סקרים. */
        .is-spec.is-surface-image > .mai-sec-atmo { -webkit-mask-image: none; mask-image: none; }
        .is-spec.is-surface-image > .mai-sec-atmo > span { inset: 0; filter: none; opacity: 1; }
        .is-spec.is-surface-image > .mai-sec-atmo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(170deg, rgba(8, 10, 22, 0.72) 20%, rgba(8, 10, 22, 0.45) 60%, color-mix(in srgb, var(--site-primary) 55%, transparent)); }

        /* טיפול בתמונה — המדיה הראשית (ספליט/הירו/פרוזה/פוסטר) והפורטרטים. */
        .is-spec.is-img-cover :is(.web-split-media img, .web-hero-media img, .web-images img, .web-video-poster) { aspect-ratio: 4 / 3; object-fit: cover; }
        .is-spec.is-img-contain :is(.web-split-media img, .web-hero-media img, .web-images img) { aspect-ratio: 4 / 3; object-fit: contain; background: var(--site-surface-alt, color-mix(in srgb, var(--site-primary) 4%, var(--site-background))); box-shadow: none; }
        .is-spec.is-img-round :is(.web-split-media img, .web-hero-media img, .web-images img, .web-avatar, .web-member-photo) { aspect-ratio: 1 / 1; object-fit: cover; border-radius: 50%; }
        .is-spec.is-img-clip-slant :is(.web-split-media img, .web-hero-media img, .web-images img) { aspect-ratio: 4 / 3; object-fit: cover; clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%); border-radius: 0; box-shadow: none; }
        .is-spec.is-img-grayscale :is(.web-split-media img, .web-hero-media img, .web-images img, .web-avatar, .web-member-photo, .web-gitem img) { filter: grayscale(1); transition: filter 0.4s ease; }
        .is-spec.is-img-grayscale :is(.web-split-media img, .web-hero-media img, .web-images img, .web-avatar, .web-member-photo, .web-gitem img):hover { filter: none; }
        /* duotone: אפור + שכבת primary ב-mix-blend-mode:color — צבע אחד, זול. */
        .is-spec.is-img-duotone :is(.web-split-media, .web-hero-media, .web-gitem) { position: relative; overflow: hidden; border-radius: var(--site-radius-img, 18px); isolation: isolate; }
        .is-spec.is-img-duotone :is(.web-split-media, .web-hero-media, .web-gitem)::after { content: ""; position: absolute; inset: 0; background: var(--site-primary); mix-blend-mode: color; pointer-events: none; }
        .is-spec.is-img-duotone :is(.web-split-media img, .web-hero-media img, .web-images img, .web-avatar, .web-member-photo, .web-gitem img) { filter: grayscale(1) contrast(1.05); }
        .is-spec.is-img-scrim :is(.web-split-media, .web-hero-media) { position: relative; }
        .is-spec.is-img-scrim :is(.web-split-media, .web-hero-media)::after { content: ""; position: absolute; inset: 0; border-radius: var(--site-radius-img, 18px); background: linear-gradient(to top, rgba(8, 10, 22, 0.55), transparent 60%); pointer-events: none; }
        .is-spec.is-img-cutout :is(.web-split-media img, .web-hero-media img, .web-images img) { border-radius: 0; box-shadow: none; object-fit: contain; filter: drop-shadow(0 22px 30px rgba(10, 20, 60, 0.22)); }
        .is-spec.is-img-float :is(.web-split-media img, .web-hero-media img) { transform: rotate(-2deg) translateY(-10px); box-shadow: var(--site-shadow-3, 0 30px 90px rgba(3, 10, 30, 0.35)); }
        /* float בפרוזה: התמונה לצד הפסקאות — רשת "פריצה" (שוליים 1fr | טקסט | תמונה | 1fr),
           כך שגם סקשן full-bleed שומר את רוחב המכולה. */
        @media (min-width: 640px) {
            .is-spec.is-img-float.is-type-prose { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, calc(var(--site-container, 980px) * 0.6)) minmax(0, calc(var(--site-container, 980px) * 0.36)) minmax(0, 1fr); column-gap: 32px; align-items: start; }
            .is-spec.is-img-float.is-type-prose > * { grid-column: 2; max-width: none; margin-inline: 0; }
            .is-spec.is-img-float.is-type-prose > h2 { grid-column: 2 / 4; }
            .is-spec.is-img-float.is-type-prose > .web-section-cta { grid-column: 2 / 4; } /* agent3: הכפתור מתחת לטקסט ולתמונה, במרכז הרשת */
            .is-spec.is-img-float.is-type-prose > .web-images { grid-column: 3; grid-row: 2 / span 40; margin-top: 0; }
            /* Fixes1 (R5): float בלי תמונה — אין עמודה ריקה; הפרוזה חוזרת לזרימה רגילה. */
            .is-spec.is-img-float.is-type-prose:not(:has(> .web-images)) { display: block; }
            .is-spec.is-img-float.is-type-prose:not(:has(> .web-images)) > * { max-width: var(--site-container, 980px); margin-inline: auto; }
        }

        /* יישור */
        .is-spec.is-align-center { text-align: center; }
        .is-spec.is-align-center > h2, .is-spec.is-align-center > p { margin-inline: auto; }
        .is-spec.is-align-center .web-hero-page { justify-items: center; }
        .is-spec.is-align-center .web-hero-sub { margin-inline: auto; }

        /* קריאה לפעולה */
        .is-spec.is-cta-none .web-cta > .web-cta-btn { display: none; }
        .is-spec.is-cta-inline .web-cta-btn { padding: 10px 24px; font-size: 15px; margin-top: 10px; }
        .is-spec.is-cta-block .web-cta-btn { padding: 15px 42px; font-size: 17px; margin-top: 22px; }
        /* agent3 (כלל 3): קישור-הפרק האוטומטי (links_to) ככפתור קריאה-לפעולה גדול במרכז — section_spec.cta=block על סקשן
           בלי כפתור משלו (MAI_Web_Sections::section_link_mode ⇒ .web-section-cta > a.web-cta-btn). דגש + --site-cta-ink
           על כל משטח (light/tint/dark/accent/image); ב-390 — רוחב מלא (עד 420px), תווית ארוכה נשברת מאוזן. */
        .mai-canvas-section > .web-section-cta { margin-top: 34px; text-align: center; }
        .mai-canvas-section > .web-section-cta > .web-cta-btn { display: inline-block; margin: 0; padding: 17px 48px; font-size: 18px; font-weight: 700; line-height: 1.3; background: var(--site-accent); color: var(--site-cta-ink, var(--site-primary)); border-radius: var(--site-radius-btn, 999px); text-decoration: none; box-shadow: 0 12px 34px color-mix(in srgb, var(--site-accent) 40%, transparent); max-width: 100%; text-wrap: balance; transition: transform 0.15s ease; }
        .mai-canvas-section > .web-section-cta > .web-cta-btn:hover { transform: translateY(-2px); }
        /* על משטח הדגש (גרדיאנט primary→secondary) — טבעת דיו עדינה, כדי שהכפתור לא ייבלע כשהדגש קרוב לגרדיאנט. */
        .is-spec.is-surface-accent > .web-section-cta > .web-cta-btn { box-shadow: 0 0 0 2px color-mix(in srgb, var(--site-on-primary, #fff) 55%, transparent), 0 12px 34px rgba(8, 10, 22, 0.28); }
        .mai-canvas-section.is-banner > .web-section-cta { padding: 0 6vw 30px; margin: 0; }
        @media (max-width: 639px) {
            .mai-canvas-section > .web-section-cta { margin-top: 26px; }
            .mai-canvas-section > .web-section-cta > .web-cta-btn { display: block; width: min(100%, 420px); margin-inline: auto; padding: 15px 22px; font-size: 17px; }
        }
        .is-spec.is-cta-band .web-cta { margin-top: 26px; padding: 34px 5vw; border-radius: var(--site-radius-card, 16px); background: linear-gradient(120deg, var(--site-grad-start, var(--site-primary)), var(--site-grad-end, var(--site-secondary))); color: var(--site-on-primary, #fff); --site-link: var(--site-link-accent, var(--site-on-primary, #fff)); }
        .is-spec.is-cta-band .web-cta .web-cta-btn { background: var(--site-accent); color: var(--site-cta-ink, var(--site-primary)); }
        /* על משטח דגש/כהה הסקשן עצמו הוא הפס — בלי פס בתוך פס. */
        .is-spec:is(.is-surface-accent, .is-surface-dark, .is-surface-image).is-cta-band .web-cta { background: none; padding: 30px 0 6px; border-radius: 0; margin-top: 0; }

        /* מוטיבים — פסאודו-אלמנטים זולים. ::before של הסקשן פנוי (האטמוספירה היא div). */
        .is-spec.is-motif-rule > h2::before { content: ""; display: block; width: 64px; height: 5px; border-radius: 3px; background: var(--site-accent); margin: 0 0 16px; }
        .is-spec.is-motif-rule.is-align-center > h2::before { margin-inline: auto; }
        .is-spec.is-motif-corner::before { content: ""; position: absolute; top: 22px; inset-inline-start: 22px; width: 56px; height: 56px; border-block-start: 4px solid var(--site-accent); border-inline-start: 4px solid var(--site-accent); opacity: 0.85; pointer-events: none; }
        .is-spec.is-motif-dots::before { content: ""; position: absolute; top: 5%; inset-inline-end: 3%; width: 140px; height: 140px; background-image: radial-gradient(color-mix(in srgb, var(--site-accent) 60%, transparent) 2px, transparent 2.6px); background-size: 14px 14px; opacity: 0.8; pointer-events: none; z-index: -1; }
        .is-spec.is-motif-blob::before { content: ""; position: absolute; top: 4%; inset-inline-end: 3%; width: min(34vw, 380px); aspect-ratio: 1; border-radius: 42% 58% 55% 45% / 46% 41% 59% 54%; background: color-mix(in srgb, var(--site-accent) 18%, transparent); pointer-events: none; z-index: -1; }
        .is-spec.is-motif-frame::before { content: ""; position: absolute; inset: 16px; border: 2px solid color-mix(in srgb, var(--site-heading, var(--site-primary)) 22%, transparent); border-radius: var(--site-radius-card, 16px); pointer-events: none; }

        /* טכניקות */
        .is-spec.is-tech-overlap .web-split-text { position: relative; z-index: 2; background: var(--site-card-bg, #fff); color: var(--site-card-text, var(--site-text)); padding: 30px 28px; border-radius: var(--site-radius-card, 16px); box-shadow: var(--site-shadow-2, 0 14px 40px rgba(10,20,60,0.14)); }
        .is-spec.is-tech-overlap .web-split.is-image-start .web-split-text { margin-inline-start: -56px; }
        .is-spec.is-tech-overlap .web-split.is-image-end .web-split-text { margin-inline-end: -56px; }
        .is-spec.is-tech-overlap .web-split.is-no-media .web-split-text { margin-inline: 0; } /* Fixes1: אין תמונה לחפוף עליה */
        .is-spec.is-tech-bleed { max-width: none; }
        .is-spec.is-tech-bleed > * { max-width: var(--site-container, 980px); margin-inline: auto; }
        .is-spec.is-tech-bleed > :is(.web-images, .web-video, .web-logos, .web-hero-page, .web-split, .web-gallery, .web-team, .web-cards, .web-testimonials, .web-pricing) { max-width: var(--site-container-wide, 1280px); }
        .is-spec.is-tech-marquee { overflow: hidden; }
        .is-spec.is-tech-marquee .web-logos { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
        .is-spec.is-tech-big-number :is(.web-stat-value, .web-cards.is-kpi h3) { font-size: clamp(44px, 6vw, 84px); line-height: 1; letter-spacing: -1px; }
        /* Fixes1 (R1): split-bg צובע רקע ⇒ וריאנט לכל משטח. על משטח בהיר — חצי-גוון כמו תמיד;
           על tint/dark/accent — חצי-גוון **של אותו משטח**, כך שהדיו של המשטח נשאר קריא על שני החצאים. */
        .is-spec.is-tech-split-bg { max-width: none; }
        .is-spec.is-tech-split-bg:not(.is-own-surface) { background: linear-gradient(to left, var(--site-split-tone, color-mix(in srgb, var(--site-primary) 8%, var(--site-background))) 50%, transparent 50%); }
        .is-spec.is-tech-split-bg.is-surface-tint { background: linear-gradient(to left, var(--site-split-tone, color-mix(in srgb, var(--site-primary) 8%, var(--site-background))) 50%, var(--site-surface-alt, color-mix(in srgb, var(--site-primary) 4%, var(--site-background))) 50%); }
        .is-spec.is-tech-split-bg:is(.is-surface-dark, .is-surface-image) { background: linear-gradient(to left, var(--site-split-dark, color-mix(in srgb, #FFFFFF 6%, var(--site-surface-dark, #10131F))) 50%, var(--site-surface-dark, #10131F) 50%); }
        .is-spec.is-tech-split-bg.is-surface-accent { background: linear-gradient(to left, var(--site-split-veil, rgba(0, 0, 0, 0.14)) 50%, transparent 50%), linear-gradient(160deg, var(--site-grad-start, var(--site-primary)), var(--site-grad-end, var(--site-secondary))); }
        .is-spec.is-tech-split-bg > * { max-width: var(--site-container, 980px); margin-inline: auto; }
        .is-spec.is-tech-editorial-rule > h2 { border-block-start: 2px solid var(--site-heading, var(--site-primary)); padding-block-start: 16px; }
        .is-spec.is-tech-editorial-rule :is(.web-faq-item, .web-testimonial, .web-member, .web-tier) { border-radius: 0; box-shadow: none; border-width: 0 0 1px; }
        @media (min-width: 860px) {
            .is-spec.is-tech-sticky .web-split { align-items: start; }
            .is-spec.is-tech-sticky .web-split-media { position: sticky; top: 96px; }
        }
        @media (min-width: 761px) {
            .is-spec.is-type-split.is-var-ratio-golden .web-split { grid-template-columns: 1.618fr 1fr; }
            .is-spec.is-type-split.is-var-ratio-even .web-split { grid-template-columns: 1fr 1fr; }
            /* Fixes1 (R5): ספליט בלי תמונה אמיתית = טקסט בלבד, בעמודה אחת קריאה — גם מול יחס מה-spec. */
            .is-spec.is-type-split .web-split.is-no-media { grid-template-columns: minmax(0, 1fr); }
        }
        @media (max-width: 760px) {
            .is-spec.is-tech-overlap .web-split-text { margin-inline: 0; }
            .is-spec.is-tech-split-bg:not(.is-own-surface) { background: var(--site-split-tone, color-mix(in srgb, var(--site-primary) 8%, var(--site-background))); }
            .is-spec.is-tech-split-bg.is-surface-tint { background: var(--site-surface-alt, color-mix(in srgb, var(--site-primary) 4%, var(--site-background))); }
            .is-spec.is-tech-split-bg:is(.is-surface-dark, .is-surface-image) { background: var(--site-surface-dark, #10131F); }
            .is-spec.is-tech-split-bg.is-surface-accent { background: linear-gradient(160deg, var(--site-grad-start, var(--site-primary)), var(--site-grad-end, var(--site-secondary))); }
        }

        /* ── שלב 2: הטיפוסים החדשים (MAI_Web_Sections::render) — בשפת הגיליון ── */
        /* hero_page */
        .web-hero-page { display: grid; grid-template-columns: 1fr; gap: 4vw; align-items: center; }
        .mai-canvas-section .web-hero-title { color: var(--site-heading, var(--site-primary)); font-size: var(--site-fs-h1, clamp(30px, 4.6vw, 54px)); font-weight: 800; line-height: var(--site-lh-heading, 1.06); letter-spacing: -0.5px; margin: 0; }
        .web-hero-sub { font-size: var(--site-fs-lead, clamp(17px, 1.5vw, 21px)); max-width: 560px; margin-top: 18px; opacity: 0.9; }
        .web-hero-copy .web-cta-btn { margin-top: 26px; }
        .web-hero-media img { width: 100%; border-radius: var(--site-radius-img, 18px); box-shadow: var(--site-shadow-2, 0 14px 40px rgba(10,20,60,0.14)); }
        @media (min-width: 860px) { .web-hero-page.has-media { grid-template-columns: 1.05fr 0.95fr; } }
        .is-spec.is-type-hero_page.is-var-center .web-hero-page { grid-template-columns: 1fr; text-align: center; justify-items: center; }
        .is-spec.is-type-hero_page.is-var-center .web-hero-sub { margin-inline: auto; }
        .is-spec.is-type-hero_page.is-var-center .web-hero-media { width: 100%; max-width: 720px; }
        /* closer (fixes1): תמונה בפתיחת דף ממורכזת = פס רחב ונמוך מתחת לטקסט (לא 4:3 ענק שדוחף את התוכן מתחת לקפל). */
        .is-spec.is-type-hero_page.is-var-center:not(.is-img-round):not(.is-img-contain):not(.is-img-cutout) .web-hero-media { max-width: var(--site-container, 980px); }
        .is-spec.is-type-hero_page.is-var-center:not(.is-img-round):not(.is-img-contain):not(.is-img-cutout) .web-hero-media img { aspect-ratio: 21 / 9; object-fit: cover; }
        @media (max-width: 639px) { .is-spec.is-type-hero_page.is-var-center:not(.is-img-round):not(.is-img-contain):not(.is-img-cutout) .web-hero-media img { aspect-ratio: 16 / 10; } }
        .is-spec.is-type-hero_page.is-var-fullbleed { max-width: none; min-height: 60vh; display: grid; align-items: center; }
        .is-spec.is-type-hero_page.is-var-fullbleed > * { max-width: var(--site-container, 980px); margin-inline: auto; width: 100%; }
        /* features — אייקון-קו בכרטיס; וריאנטים plain / icon-list */
        .web-features .web-icon-wrap { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: calc(var(--site-radius-card, 16px) * 0.75); background: color-mix(in srgb, var(--site-accent) 16%, transparent); color: var(--site-card-heading, var(--site-secondary)); margin-bottom: 16px; }
        .web-features .web-icon { width: 30px; height: 30px; display: block; object-fit: contain; }
        .is-spec.is-type-features.is-var-plain .web-card { background: transparent; border: 0; box-shadow: none; padding: 8px 0; }
        .is-spec.is-type-features.is-var-icon-list .web-card { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 18px; align-items: start; padding: 18px 20px; }
        .is-spec.is-type-features.is-var-icon-list .web-card .web-icon-wrap { grid-row: 1 / span 2; margin: 0; }
        .is-spec.is-type-features.is-var-icon-list .web-card :is(h3, p) { grid-column: 2; }
        /* stats — row = מספרים נקיים; cards = כרום כרטיס (כמו kpi_row); big-number = ענק */
        .web-stat-label { margin: 0; opacity: 0.85; }
        .is-spec.is-type-stats.is-var-row .web-stat { background: transparent; border: 0; box-shadow: none; padding: 10px 8px; }
        .is-spec.is-type-stats.is-var-big-number .web-stat-value { font-size: clamp(48px, 7vw, 96px); line-height: 1; }
        /* steps — שלב עם כותרת+טקסט; וריאנט timeline */
        .web-step-body { display: grid; gap: 4px; }
        .web-step-body h3 { font-size: var(--site-fs-h3, 20px); color: var(--site-card-heading, var(--site-secondary)); margin: 0; }
        .web-step-body p { margin: 0; opacity: 0.9; }
        .web-steps li:has(.web-step-body) { align-items: flex-start; }
        .is-spec.is-type-steps.is-var-timeline .web-steps { gap: 0; }
        .is-spec.is-type-steps.is-var-timeline .web-steps li { position: relative; background: transparent; border: 0; box-shadow: none; padding: 14px 0 22px; }
        .is-spec.is-type-steps.is-var-timeline .web-steps li::after { content: ""; position: absolute; inset-inline-start: 18px; top: 52px; bottom: -4px; width: 2px; background: color-mix(in srgb, var(--site-accent) 45%, transparent); }
        .is-spec.is-type-steps.is-var-timeline .web-steps li:last-child::after { display: none; }
        /* testimonials */
        .web-testimonials { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: calc(var(--site-gap, 22px) * var(--mai-gap-scale, 1)); margin-top: 26px; }
        .web-testimonial { margin: 0; background: var(--site-card-bg, #fff); color: var(--site-card-text, var(--site-text)); border: 1px solid var(--site-border, rgba(0,0,0,0.07)); border-radius: var(--site-radius-card, 16px); padding: 26px 24px; box-shadow: var(--site-shadow-1, 0 6px 24px rgba(10,20,60,0.06)); display: flex; flex-direction: column; gap: 18px; }
        .web-testimonial blockquote { margin: 0; font-size: 17px; line-height: 1.65; }
        .web-testimonial blockquote p { margin: 0; }
        .web-testimonial blockquote p::before { content: "\201C"; color: var(--site-accent); font-size: 1.6em; line-height: 0; margin-inline-end: 4px; vertical-align: -0.2em; }
        .web-testimonial figcaption { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; align-items: center; margin-top: auto; font-size: var(--site-fs-small, 14px); }
        .web-testimonial figcaption .web-avatar { grid-row: 1 / span 2; }
        .web-testimonial figcaption strong { grid-column: 2; color: var(--site-card-heading, var(--site-secondary)); }
        .web-testimonial figcaption span { grid-column: 2; opacity: 0.7; }
        .web-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
        .web-testimonials.is-single { grid-template-columns: 1fr; }
        .web-testimonials.is-single .web-testimonial { max-width: 760px; margin-inline: auto; text-align: center; padding: 36px 32px; }
        .web-testimonials.is-single blockquote { font-size: clamp(19px, 2vw, 24px); }
        .web-testimonials.is-single figcaption { justify-content: center; }
        .is-spec.is-type-testimonials.is-var-slider-static .web-testimonials { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding-bottom: 8px; }
        .is-spec.is-type-testimonials.is-var-slider-static .web-testimonial { flex: 0 0 min(82%, 360px); scroll-snap-align: start; }
        /* faq — <details> נגיש, סימן +/× ב-::after של ה-summary */
        .web-faq { display: grid; gap: 10px; margin-top: 22px; }
        .web-faq-item { background: var(--site-card-bg, #fff); color: var(--site-card-text, var(--site-text)); border: 1px solid var(--site-border, rgba(0,0,0,0.07)); border-radius: var(--site-radius-card, 16px); box-shadow: var(--site-shadow-1, 0 6px 24px rgba(10,20,60,0.06)); }
        .web-faq-item summary { cursor: pointer; list-style: none; position: relative; padding: 18px 22px; padding-inline-end: 60px; font-weight: 700; font-size: 17px; color: var(--site-card-heading, var(--site-secondary)); }
        .web-faq-item summary::-webkit-details-marker { display: none; }
        .web-faq-item summary::after { content: "+"; position: absolute; inset-inline-end: 18px; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--site-accent) 18%, transparent); font-weight: 800; line-height: 1; transition: transform 0.25s ease; }
        .web-faq-item[open] summary::after { transform: rotate(45deg); }
        .web-faq-item summary:focus-visible { outline: 2px solid var(--site-secondary); outline-offset: -2px; border-radius: inherit; }
        .web-faq-a { padding: 0 22px 20px; }
        .web-faq-a p { margin: 0; }
        /* pricing */
        .web-pricing { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: calc(var(--site-gap, 22px) * var(--mai-gap-scale, 1)); margin-top: 26px; align-items: stretch; }
        .web-tier { background: var(--site-card-bg, #fff); color: var(--site-card-text, var(--site-text)); border: 1px solid var(--site-border, rgba(0,0,0,0.07)); border-radius: var(--site-radius-card, 16px); padding: 30px 26px; box-shadow: var(--site-shadow-1, 0 6px 24px rgba(10,20,60,0.06)); display: flex; flex-direction: column; gap: 14px; }
        .web-tier h3 { font-size: var(--site-fs-h3, 20px); color: var(--site-card-heading, var(--site-secondary)); margin: 0; }
        .web-price { font-size: clamp(28px, 3vw, 40px); font-weight: 800; color: var(--site-kpi, var(--site-primary)); line-height: 1.1; margin: 0; }
        .web-tier-features { list-style: none; padding: 0; margin: 4px 0 0; display: grid; gap: 8px; }
        .web-tier-features li { position: relative; padding-inline-start: 26px; }
        .web-tier-features li::before { content: "\2713"; position: absolute; inset-inline-start: 0; color: var(--site-accent); font-weight: 800; }
        .web-tier-cta { margin-top: auto; text-align: center; }
        .is-spec.is-type-pricing.is-var-table .web-pricing { gap: 0; border: 1px solid var(--site-border, rgba(0,0,0,0.07)); border-radius: var(--site-radius-card, 16px); overflow: hidden; }
        .is-spec.is-type-pricing.is-var-table .web-tier { border: 0; border-radius: 0; box-shadow: none; border-inline-start: 1px solid var(--site-border, rgba(0,0,0,0.07)); }
        .is-spec.is-type-pricing.is-var-table .web-tier:first-child { border-inline-start: 0; }
        /* team */
        .web-team { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: calc(var(--site-gap, 22px) * var(--mai-gap-scale, 1)); margin-top: 26px; }
        .web-member { margin: 0; text-align: center; background: var(--site-card-bg, #fff); color: var(--site-card-text, var(--site-text)); border: 1px solid var(--site-border, rgba(0,0,0,0.07)); border-radius: var(--site-radius-card, 16px); padding: 24px 20px; box-shadow: var(--site-shadow-1, 0 6px 24px rgba(10,20,60,0.06)); }
        .web-member-photo { display: block; width: 128px; height: 128px; border-radius: 50%; object-fit: cover; margin: 0 auto 14px; box-shadow: var(--site-shadow-1, 0 6px 24px rgba(10,20,60,0.06)); }
        .web-member figcaption { display: grid; gap: 4px; }
        .web-member-name { font-family: var(--site-font-heading, var(--site-font)); font-size: var(--site-fs-h3, 20px); color: var(--site-card-heading, var(--site-secondary)); }
        .web-member-role { font-size: var(--site-fs-small, 14px); opacity: 0.7; }
        .web-member-bio { margin: 6px 0 0; font-size: 15px; }
        .is-spec.is-type-team.is-var-grid .web-member { background: transparent; border: 0; box-shadow: none; padding: 8px; }
        .is-spec.is-type-team.is-var-grid .web-member-photo { width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: var(--site-radius-img, 18px); }
        /* logos */
        .web-logos { list-style: none; padding: 0; margin: 22px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: calc(var(--site-gap, 22px) * var(--mai-gap-scale, 1)); align-items: center; }
        .web-logos li { display: grid; place-items: center; padding: 14px; min-height: 84px; }
        .web-logo { max-width: 150px; max-height: 64px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: 0.75; transition: filter 0.3s ease, opacity 0.3s ease; }
        .web-logos li:hover .web-logo { filter: none; opacity: 1; }
        .is-spec.is-type-logos.is-var-grid .web-logos li { background: var(--site-card-bg, #fff); border: 1px solid var(--site-border, rgba(0,0,0,0.07)); border-radius: var(--site-radius-card, 16px); }
        /* video */
        .web-video { margin: 22px auto 0; max-width: 900px; }
        .web-video-frame { position: relative; aspect-ratio: 16 / 9; border-radius: var(--site-radius-img, 18px); overflow: hidden; background: #000; box-shadow: var(--site-shadow-2, 0 14px 40px rgba(10,20,60,0.14)); }
        .web-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
        .web-video-link { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 9; border-radius: var(--site-radius-img, 18px); overflow: hidden; background: var(--site-surface-dark, #10131F); color: #fff; text-decoration: none; box-shadow: var(--site-shadow-2, 0 14px 40px rgba(10,20,60,0.14)); }
        .web-video-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
        .web-video-play { position: relative; z-index: 1; padding: 14px 26px; border-radius: 999px; background: rgba(8, 10, 22, 0.62); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); font-weight: 700; }
        .web-video figcaption { text-align: center; font-size: 15px; opacity: 0.75; margin-top: 12px; }
        /* contact_form — markup בלבד בשלב זה; השליחה תחובר בשלב 4 */
        .web-form { display: grid; gap: 16px; margin-top: 24px; max-width: 640px; position: relative; }
        .web-form-row { display: grid; gap: 6px; }
        /* Fixes1 (R2/K5): התווית בדיו של המשטח, השדה עם גבול ≥3:1 מול השדה ומול המשטח
           (--site-field-border מהשרת; dark/accent דורסים ברמת המשטח), ו-placeholder קריא. */
        .web-form-row label { font-weight: 600; font-size: 15px; color: var(--site-body-ink, var(--site-text)); }
        .web-form-row :is(input, textarea) { font: inherit; width: 100%; padding: 12px 16px; border: 1px solid var(--site-field-border, color-mix(in srgb, var(--site-body-ink, var(--site-text)) 22%, transparent)); border-radius: calc(var(--site-radius-card, 16px) * 0.7); background: var(--site-field-bg, var(--site-card-bg, #fff)); color: var(--site-field-ink, var(--site-card-text, var(--site-text))); transition: border-color 0.15s ease, box-shadow 0.15s ease; }
        .web-form-row :is(input, textarea)::placeholder { color: color-mix(in srgb, var(--site-field-ink, var(--site-card-text, #161B29)) 65%, var(--site-field-bg, var(--site-card-bg, #fff))); opacity: 1; }
        .web-form-row :is(input, textarea):focus { outline: none; border-color: var(--site-link, var(--site-secondary)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--site-link, var(--site-secondary)) 35%, transparent); }
        .web-form-row textarea { resize: vertical; min-height: 120px; }
        .web-form-hp { position: absolute; inset-inline-start: 0; top: 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none; } /* 0.9-r2 (M3): בלי -9999px — לא יוצר גלילה/הרחבת-חלון במובייל */
        .web-form-submit { border: 0; cursor: pointer; font: inherit; font-weight: 700; justify-self: start; margin-top: 4px; }
        .web-form-note { margin: 0; font-size: var(--site-fs-small, 14px); opacity: 0.75; }
        .is-spec.is-type-contact_form.is-var-inline .web-form { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); align-items: end; max-width: none; }
        .is-spec.is-type-contact_form.is-var-inline .web-form :is(.is-message, .web-form-note) { grid-column: 1 / -1; }
        /* map — Fixes3 (5): כרטיס מיקום גמור, בלי iframe (CSP / עוגיות צד שלישי): הכתובת בגדול, כפתורי ניווט
           גדולים (Google Maps / Waze), שעות — כל טווח בשורה, טלפון ווואטסאפ בשורות עם אייקון. split = שתי עמודות
           מאוזנות: הכרטיס + לוח "מפה" מאויר (דקורטיבי, aria-hidden, בצבעי האתר). הכרטיס בטוקני הכרטיס (כל משטח). */
        .web-map { display: grid; gap: 22px; margin-top: 22px; }
        .web-map-link { display: inline-flex; align-items: center; gap: 10px; justify-self: start; font-weight: 700; color: var(--site-link, var(--site-secondary)); text-decoration: none; }
        .web-map-link .web-icon { width: 24px; height: 24px; }
        .web-map-details { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
        .web-map-details dd { margin: 0; font-weight: 600; }
        .web-map-details address { font-style: normal; }
        .web-map.is-loc { grid-template-columns: minmax(0, 1fr); gap: clamp(18px, 2.4vw, 32px); align-items: stretch; margin-top: 26px; }
        .web-loc-card { background: var(--site-card-bg, #fff); color: var(--site-card-text, var(--site-text)); border: 1px solid var(--site-border, rgba(0,0,0,0.07)); border-radius: var(--site-radius-card, 16px); box-shadow: var(--site-shadow-2, 0 14px 40px rgba(10,20,60,0.12)); padding: clamp(22px, 3vw, 38px); display: grid; gap: clamp(18px, 2vw, 24px); align-content: start; min-width: 0; }
        .web-loc-head { display: flex; align-items: flex-start; gap: 14px; }
        .web-loc-ico { flex: 0 0 auto; display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: color-mix(in srgb, var(--site-accent) 22%, transparent); color: var(--site-card-heading, var(--site-secondary)); }
        .web-loc-ico .web-icon { width: 22px; height: 22px; display: block; }
        .web-loc-kicker { margin: 0 0 2px; font-size: var(--site-fs-small, 14px); font-weight: 600; opacity: 0.75; }
        .web-loc-address { margin: 0; font-style: normal; font-family: var(--site-font-heading, var(--site-font)); font-size: clamp(22px, 2.1vw, 28px); line-height: 1.2; color: var(--site-card-heading, var(--site-heading, var(--site-primary))); }
        .web-loc-actions { display: flex; flex-wrap: wrap; gap: 12px; }
        .web-loc-btn { flex: 1 1 230px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 12px 20px; border-radius: var(--site-radius-btn, 999px); font-weight: 700; font-size: 16px; line-height: 1.2; white-space: nowrap; text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease; }
        .web-loc-btn .web-icon { width: 22px; height: 22px; flex: 0 0 auto; }
        .web-loc-btn.is-gmaps { background: linear-gradient(120deg, var(--site-grad-start, var(--site-primary)), var(--site-grad-end, var(--site-secondary))); color: var(--site-on-primary, #fff); box-shadow: 0 10px 24px color-mix(in srgb, var(--site-primary) 24%, transparent); }
        .web-loc-btn.is-waze { background: transparent; color: var(--site-card-heading, var(--site-heading, var(--site-primary))); border: 2px solid currentColor; }
        :is(.is-spec:is(.is-surface-dark, .is-surface-accent, .is-surface-image), .has-bleed-media) .web-loc-btn.is-gmaps { background: var(--site-accent); color: var(--site-cta-ink, var(--site-primary)); }
        @media (hover: hover) { .web-loc-btn:hover { transform: translateY(-2px); } }
        @media (prefers-reduced-motion: reduce) { .web-loc-btn { transition: none; } }
        .web-map.is-loc .web-map-details { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 4px 22px; border-top: 1px solid color-mix(in srgb, var(--site-card-text, #1A1F2E) 12%, transparent); padding-top: clamp(14px, 1.6vw, 20px); }
        .web-map.is-loc .web-map-details > div { padding: 6px 0; min-width: 0; }
        .web-map.is-loc .web-map-details dt { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; font-size: var(--site-fs-small, 14px); font-weight: 600; color: var(--site-card-text, var(--site-text)); }
        .web-map.is-loc .web-map-details dt .web-loc-ico { width: 32px; height: 32px; }
        .web-map.is-loc .web-map-details dt .web-icon { width: 17px; height: 17px; }
        .web-map.is-loc .web-map-details dd { padding-inline-start: 42px; font-size: 16px; line-height: 1.55; color: var(--site-card-heading, var(--site-card-text, var(--site-text))); }
        .web-map.is-loc .web-map-details a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
        .web-loc-line { display: block; }
        .web-loc-sep { display: none; }
        .web-loc-visual { position: relative; min-height: 280px; overflow: hidden; border-radius: var(--site-radius-card, 16px); border: 1px solid var(--site-border, rgba(0,0,0,0.07)); color: var(--site-primary);
            background: radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--site-accent) 30%, transparent) 0 54px, transparent 150px),
                repeating-linear-gradient(0deg, transparent 0 46px, color-mix(in srgb, var(--site-primary) 7%, transparent) 46px 48px),
                repeating-linear-gradient(90deg, transparent 0 58px, color-mix(in srgb, var(--site-primary) 7%, transparent) 58px 60px),
                color-mix(in srgb, var(--site-primary) 4%, color-mix(in srgb, var(--site-accent) 9%, var(--site-card-bg, #fff))); }
        .web-loc-road { position: absolute; background: color-mix(in srgb, var(--site-card-bg, #fff) 86%, var(--site-primary)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--site-primary) 14%, transparent); }
        .web-loc-road.is-a { left: -10%; right: -10%; top: 30%; height: 14px; transform: rotate(-7deg); }
        .web-loc-road.is-b { top: -10%; bottom: -10%; left: 64%; width: 12px; transform: rotate(13deg); }
        .web-loc-road.is-c { left: -10%; right: -10%; top: 74%; height: 9px; transform: rotate(4deg); }
        .web-loc-park { position: absolute; width: 32%; aspect-ratio: 1.4; left: 7%; bottom: 7%; border-radius: 42% 58% 55% 45% / 46% 41% 59% 54%; background: color-mix(in srgb, var(--site-accent) 24%, transparent); }
        .web-loc-pin { position: absolute; left: 50%; top: 44%; width: 48px; height: 60px; transform: translate(-50%, -86%); color: var(--site-primary); filter: drop-shadow(0 10px 14px rgba(10, 20, 60, 0.28)); }
        .web-loc-pin svg { display: block; width: 100%; height: 100%; }
        .web-loc-label { position: absolute; left: 50%; top: 44%; transform: translate(-50%, 16px); max-width: 84%; padding: 8px 18px; border-radius: 999px; background: var(--site-card-bg, #fff); color: var(--site-card-heading, var(--site-heading, var(--site-primary))); font-weight: 700; font-size: 15px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-shadow: var(--site-shadow-1, 0 6px 24px rgba(10,20,60,0.12)); }
        :is(.is-spec:is(.is-surface-dark, .is-surface-accent, .is-surface-image), .has-bleed-media) .web-loc-pin { color: var(--site-accent); }
        @media (min-width: 761px) {
            .is-spec.is-type-map .web-map.is-loc.is-split { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); }
            .is-spec.is-type-map .web-map.is-loc:not(.is-split) .web-loc-card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
            .is-spec.is-type-map .web-map.is-loc:not(.is-split) .web-map-details { grid-column: 1 / -1; }
        }
        @media (max-width: 760px) { .web-loc-visual { order: -1; min-height: 190px; } }
        /* cta_band / prose / banner / quote — וריאנטים */
        .is-spec.is-type-cta_band.is-var-boxed { max-width: var(--site-container, 980px); border-radius: var(--site-radius-card, 16px); }
        .is-spec.is-type-prose.is-var-narrow > :is(h2, p) { max-width: 62ch; }
        .is-spec.is-type-banner.is-var-plain > h2 { text-align: center; font-size: var(--site-fs-h1, clamp(30px, 4.6vw, 54px)); }
        .is-spec.is-type-quote.is-var-offset .web-quote { max-width: 78%; margin-inline-start: auto; border-inline-start-width: 8px; font-size: clamp(24px, 2.6vw, 34px); }
        @media (min-width: 761px) {
            .is-spec.is-type-prose.is-var-two-col { column-count: 2; column-gap: 40px; }
            .is-spec.is-type-prose.is-var-two-col > :is(h2, .web-images, .web-section-link, .web-section-cta, .mai-sec-atmo) { column-span: all; }
        }
        @media (max-width: 760px) {
            .is-spec.is-type-map.is-var-split .web-map { grid-template-columns: 1fr; }
            .is-spec.is-type-quote.is-var-offset .web-quote { max-width: 100%; }
            .is-spec.is-type-pricing.is-var-table .web-tier { border-inline-start: 0; border-block-start: 1px solid var(--site-border, rgba(0,0,0,0.07)); }
        }
        /* עמודות מהחוזה — "עד N" (ראו --mai-cols למעלה). אחרי כללי הבסיס של כל
           הרשתות בכוונה: אותה ספציפיות (0,1,0), המאוחר מנצח; החלוקות (is-div-*,
           0,2,0) עדיין גוברות. */
        :where(.is-spec) :is(.web-cards, .web-testimonials, .web-pricing, .web-team, .web-logos, .web-faq, .web-steps, .web-images) {
            grid-template-columns: repeat(auto-fit, minmax(calc((100% - (var(--mai-cols, 1) - 1) * var(--mai-grid-gap, 22px)) / var(--mai-cols, 1) - 1px), 1fr));
        }
        /* Fixes1 (R8): בלי כרטיס יתום. העמודות כבר מאוזנות בשרת (balance_columns); מה שעדיין
           נשאר לבד בשורה האחרונה בנקודת שבירה מסוימת (mai-lone-{bp}) נמתח לרוחב השורה.
           סקשן ישן (בלי is-spec) נושא is-items-N: 4 ⇒ 2×2, אי-זוגי בטאבלט ⇒ האחרון לרוחב. */
        @media (max-width: 639px) { .mai-lone-sm :is(.web-cards, .web-testimonials, .web-pricing, .web-team) > :last-child { grid-column: 1 / -1; } }
        @media (min-width: 640px) and (max-width: 859px) {
            .mai-lone-md :is(.web-cards, .web-testimonials, .web-pricing, .web-team) > :last-child { grid-column: 1 / -1; }
            .mai-canvas-section:not(.is-spec):is(.is-items-2, .is-items-3, .is-items-4, .is-items-5, .is-items-6, .is-items-7, .is-items-8, .is-items-9) .web-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .mai-canvas-section:not(.is-spec):is(.is-items-3, .is-items-5, .is-items-7, .is-items-9) .web-cards > :last-child { grid-column: 1 / -1; }
        }
        /* closer (fixes1): שורה אחרונה קצרה (5 ב-3 ⇒ 3+2) — ממורכזת, לא צמודה לצד עם תא ריק (mai-short-{bp}
           מהרנדרר). flex עם אותו רוחב-כרטיס כמו ברשת; הכרטיסים של שורה מלאה לא זזים. */
        @media (min-width: 640px) and (max-width: 859px) {
            .mai-short-md:not(.is-var-slider-static):not(.is-var-table) :is(.web-cards, .web-testimonials, .web-pricing, .web-team) { display: flex; flex-wrap: wrap; justify-content: center; }
            .mai-short-md:not(.is-var-slider-static):not(.is-var-table) :is(.web-cards, .web-testimonials, .web-pricing, .web-team) > * { flex: 0 0 calc((100% - (var(--mai-cols, 1) - 1) * var(--mai-grid-gap, 22px)) / var(--mai-cols, 1) - 1px); }
        }
        @media (min-width: 860px) {
            .mai-short-lg:not(.is-var-slider-static):not(.is-var-table) :is(.web-cards, .web-testimonials, .web-pricing, .web-team) { display: flex; flex-wrap: wrap; justify-content: center; }
            .mai-short-lg:not(.is-var-slider-static):not(.is-var-table) :is(.web-cards, .web-testimonials, .web-pricing, .web-team) > * { flex: 0 0 calc((100% - (var(--mai-cols, 1) - 1) * var(--mai-grid-gap, 22px)) / var(--mai-cols, 1) - 1px); }
        }
        @media (min-width: 860px) {
            .mai-lone-lg :is(.web-cards, .web-testimonials, .web-pricing, .web-team) > :last-child { grid-column: 1 / -1; }
            .mai-canvas-section:not(.is-spec):is(.is-items-3, .is-items-5, .is-items-6, .is-items-9) .web-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .mai-canvas-section:not(.is-spec):is(.is-items-2, .is-items-4) .web-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .mai-canvas-section:not(.is-spec):is(.is-items-4, .is-items-7, .is-items-8) .web-cards.is-kpi,
            .mai-canvas-section:not(.is-spec):is(.is-items-7, .is-items-8) .web-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
        }
        @media (prefers-reduced-motion: reduce) {
            .web-faq-item summary::after, .web-logo, .web-logos li { transition: none; }
        }

        /* ── W10: הירו full-bleed — תמונת הלקוח על כל המסך + אוברליי + Ken Burns ── */
        .canvas-hero.is-fullbleed { min-height: 88vh; grid-template-columns: 1fr !important; background: var(--site-surface-dark, #10131f); color: #F4F6FC; /* סקרים כהה — תמיד דיו בהיר. trial2 (סקירה): הרקע מגוון המותג, לא נייבי */ }
        .hero-bg { position: absolute; inset: -4%; background-size: cover; background-position: center; animation: mai-kenburns 22s ease-in-out infinite alternate; }
        /* Fixes1 (R6): הסקרים הישן ירד ל-0.35 בגובה המשנה — על תמונה בהירה (הדמו של בלאנס) המשנה
           נמדדה 3.27:1. עכשיו הסקרים חזק בצד הטקסט (ימין, RTL — ≥0.66 עד סוף עמודת הטקסט: גם פיקסל
           לבן מתחתיו נותן ≥4.5:1 לדיו הבהיר) ונפתח לתמונה בצד השני; במובייל הטקסט על כל הרוחב ⇒ אחיד. */
        .hero-scrim { position: absolute; inset: 0; background: linear-gradient(0deg, color-mix(in srgb, var(--site-primary) 50%, transparent), transparent 38%), linear-gradient(to left, rgba(8, 10, 22, 0.82) 0%, rgba(8, 10, 22, 0.68) 58%, rgba(8, 10, 22, 0.24) 100%); }
        @media (max-width: 860px) { .hero-scrim { background: linear-gradient(0deg, color-mix(in srgb, var(--site-primary) 50%, transparent), transparent 38%), linear-gradient(180deg, rgba(8, 10, 22, 0.6) 0%, rgba(8, 10, 22, 0.7) 26%, rgba(8, 10, 22, 0.7) 100%); } }
        .canvas-hero.is-fullbleed .hero-copy { max-width: 760px; }
        .canvas-hero.is-fullbleed h1 { text-shadow: 0 4px 30px rgba(0, 0, 0, 0.45); }
        .canvas-hero.is-fullbleed p { opacity: 1; text-shadow: 0 2px 16px rgba(0, 0, 0, 0.5); }
        @keyframes mai-kenburns { from { transform: scale(1); } to { transform: scale(1.09) translateY(-1.5%); } }
        @media (prefers-reduced-motion: reduce) { .hero-bg { animation: none; } }

        /* מעטפת הדר-מעבדה */
        .mai-hl-wrap { position: relative; overflow: hidden; }
        :where(.mai-hl-wrap img[width][height]) { height: auto; } /* Fixes2: מידות שנוספו לתמונת המעבדה לא מעוותות אותה */

        /* ── W7: מנוע התנועה — חי בכל אתר, מוגבר לפי דגלי ההשראות ── */
        @media (prefers-reduced-motion: no-preference) {
            /* כניסת הירו מדורגת */
            .hero-copy > * { animation: mai-hero-in 0.8s cubic-bezier(0.22, 0.8, 0.3, 1) both; }
            .hero-copy > *:nth-child(2) { animation-delay: 0.12s; }
            .hero-copy > *:nth-child(3) { animation-delay: 0.22s; }
            .hero-copy > *:nth-child(4) { animation-delay: 0.32s; }
            .hero-media { animation: mai-hero-in 1s 0.25s cubic-bezier(0.22, 0.8, 0.3, 1) both; }
            @keyframes mai-hero-in { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }

            /* חשיפה בגלילה — JS מוסיף .mai-reveal ואז .is-inview */
            .mai-reveal { opacity: 0; transform: translateY(var(--site-motion-dist, 26px)); transition: opacity var(--site-motion-dur, 0.7s) ease, transform var(--site-motion-dur, 0.7s) var(--site-motion-ease, cubic-bezier(0.22, 0.8, 0.3, 1)); }
            .mai-reveal.is-inview { opacity: 1; transform: none; }
            .web-cards .web-card:nth-child(2), .web-steps li:nth-child(2), .web-testimonial:nth-child(2), .web-tier:nth-child(2), .web-member:nth-child(2), .web-faq-item:nth-child(2) { transition-delay: 0.08s; }
            .web-cards .web-card:nth-child(3), .web-steps li:nth-child(3), .web-testimonial:nth-child(3), .web-tier:nth-child(3), .web-member:nth-child(3), .web-faq-item:nth-child(3) { transition-delay: 0.16s; }
            .web-cards .web-card:nth-child(4), .web-steps li:nth-child(4), .web-testimonial:nth-child(4), .web-tier:nth-child(4), .web-member:nth-child(4), .web-faq-item:nth-child(4) { transition-delay: 0.24s; }
            .web-cards .web-card:nth-child(5) { transition-delay: 0.32s; }
            .web-cards .web-card:nth-child(6) { transition-delay: 0.4s; }
            /* שלב 2: הטיפוסים החדשים — אותה תנועה, אותם טוקנים. */
            .web-logos li { transition: transform 0.25s ease, opacity 0.25s ease; }
            .is-spec.is-tech-float :is(.web-split-media img, .web-hero-media img, .web-images img) { animation: hero-float 7s ease-in-out infinite; }
            .is-spec.is-tech-marquee .web-logos { display: flex; flex-wrap: nowrap; width: max-content; gap: 56px; animation: mai-marquee 28s linear infinite alternate; }
            @keyframes mai-marquee { from { transform: translateX(0); } to { transform: translateX(max(0px, calc(100% - min(var(--site-container, 980px), 100vw) + 12vw))); } }
            .web-gallery .web-gitem:nth-child(2n) { transition-delay: 0.07s; }
            .web-gallery .web-gitem:nth-child(3n) { transition-delay: 0.14s; }
            .web-gallery .web-gitem:nth-child(4n) { transition-delay: 0.21s; }

            /* ריחוף עדין על כרטיסים */
            .web-card { transition: transform 0.25s ease, box-shadow 0.25s ease; }
            .web-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(10, 20, 60, 0.13); }

            /* motion-rich (מההשראות): תנועה נדיבה יותר */
            body.mai-style-motion-rich .mai-reveal { transform: translateY(44px); transition-duration: 0.9s; }
            /* Fixes2: הכלל למעלה (0,2,1) גבר על .mai-reveal.is-inview (0,2,0) — כל אלמנט שנחשף נשאר
               מוזז 44px לתמיד (כרטיסי המחיר של #344 כיסו את הקישור שמתחתם). */
            body.mai-style-motion-rich .mai-reveal.is-inview { transform: none; }
            body.mai-style-motion-rich .hero-blob { animation-duration: 9s; }

            /* motion-parallax: ה-JS מזיז את מדיית ההירו בגלילה */
            body.mai-style-motion-parallax .hero-media { will-change: transform; }
        }

        /* ══ שלב 4: מעטפת נגישה — דלג-לתוכן, h1 לדף פנימי, פוטר עסקי, וואטסאפ צף ══ */
        .mai-skip { position: absolute; top: 8px; inset-inline-start: 8px; z-index: 100; padding: 10px 18px; border-radius: 10px; background: #10131f; color: #fff; font-weight: 700; text-decoration: none; transform: translateY(-160%); transition: transform 0.15s ease; }
        .mai-skip:focus { transform: none; outline: 3px solid var(--site-accent); outline-offset: 2px; }
        .mai-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
        main:focus { outline: none; }
        :where(a, button, summary, [tabindex]):focus-visible { outline: 3px solid var(--site-secondary); outline-offset: 2px; }
        body.mai-menu-open .canvas-header { z-index: 55; }
        .mai-page-title { padding: 7vh 6vw 4vh; background: var(--site-surface-alt, color-mix(in srgb, var(--site-primary) 4%, var(--site-background))); border-bottom: 1px solid var(--site-border, rgba(0,0,0,0.06)); }
        .mai-page-title > * { max-width: var(--site-container, 980px); margin-inline: auto; }
        .mai-page-title h1 { color: var(--site-heading, var(--site-primary)); font-size: var(--site-fs-h1, clamp(30px, 4.6vw, 54px)); line-height: var(--site-lh-heading, 1.1); letter-spacing: -0.5px; }
        .mai-crumbs { font-size: var(--site-fs-small, 14px); margin-bottom: 10px; opacity: 0.75; }
        .mai-crumbs a { color: inherit; }
        .mai-statement { line-height: 1.8; }
        .mai-statement :is(h2, h3) { margin: 28px 0 10px; }
        .mai-statement :is(ul, ol) { padding-inline-start: 22px; margin: 10px 0; }
        .mai-statement p { margin: 0 0 12px; }
        .mai-statement a { color: var(--site-link, var(--site-secondary)); }
        .footer-biz { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 26px; margin: 0 auto 18px; font-style: normal; }
        .footer-biz a { color: var(--site-on-primary, #fff); text-decoration: underline; text-underline-offset: 3px; }
        .footer-legal { margin-top: 10px; opacity: 0.85; }
        .footer-legal a { color: var(--site-on-primary, #fff); text-decoration: underline; text-underline-offset: 3px; }
        .mai-wa-float { position: fixed; bottom: 18px; right: 18px; z-index: 70; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: #25D366; color: #fff; box-shadow: 0 10px 28px rgba(0,0,0,0.25); }
        .mai-wa-float svg { width: 30px; height: 30px; }
        .mai-shabbat-note { background: var(--site-surface-dark, #10131f); color: #F4F6FC; text-align: center; padding: 10px 6vw; font-size: 15px; } /* trial2 (סקירה): פס השבת בגוון המותג הכהה */
        /* שלב 4 (C13): מצב שבת/חג — וואטסאפ מוסתר; הטופס נשאר פתוח (יעד ה-CTA "נחזור אחרי השבת" של cta_target). */
        body:not(.mai-shabbat) .mai-shabbat-note { display: none; }
        body.mai-shabbat .mai-wa-float,
        body.mai-shabbat a[href^="https://wa.me/"],
        body.mai-shabbat a[href^="https://api.whatsapp.com/"],
        body.mai-shabbat .footer-biz span:has(> a[href^="https://wa.me/"]),
        body.mai-shabbat .web-map-details > div:has(a[href^="https://wa.me/"], a[href^="https://api.whatsapp.com/"]) { display: none !important; } /* Fixes2 (integration): בלי כרטיס "וואטסאפ" ריק */
        @media (max-width: 640px) { .mai-wa-float { width: 50px; height: 50px; bottom: 14px; right: 14px; } }
        /* Fixes1 (R8): הכפתורים הצפים (וואטסאפ, נגישות) לא מסתירים כותרת/כפתור/שדה.
           כשתוכן כזה עובר מתחתיהם, הסקריפט מסמן is-tucked והכפתור נאסף אל שולי המסך —
           רצועה של 24px נשארת גלויה ולחיצה, ומתחת אליה אין תוכן (השוליים של הסקשן). */
        .mai-wa-float { transition: transform 0.25s ease; }
        .mai-wa-float.is-tucked { transform: translateX(calc(100% + 18px - 24px)); }
        @media (max-width: 640px) { .mai-wa-float.is-tucked { transform: translateX(calc(100% + 14px - 24px)); } }
        .mai-wa-float.is-tucked:focus-visible { transform: none; }
        @media (hover: hover) { .mai-wa-float.is-tucked:hover { transform: none; } }
        @media (prefers-reduced-motion: reduce) { .mai-wa-float { transition: none; } }

        /* ══ Fixes2: שכבת האווירה היא רקע הסקשן מקצה לקצה — כללי המכולה (> * { max-width }) של
           המשטחים/fullbleed הצמידו אותה לרוחב 980 ⇒ פסים כהים בצדדים ב-1440 (#344). ══ */
        .mai-canvas-section > .mai-sec-atmo { max-width: none !important; margin: 0 !important; width: auto !important; }

        /* ══ Fixes2 (tightening 2): hero_page fullbleed עם תמונה — התמונה היא הרקע של הסקשן, מקצה לקצה,
           עם סקרים אחיד (≥0.62 כהה בכל נקודה ⇒ דיו בהיר ≥4.5:1 גם על פיקסל לבן). הסקשן מקבל דיו בהיר. ══ */
        .mai-canvas-section.has-bleed-media { max-width: none; min-height: min(74vh, 700px); display: grid; align-items: center; background: var(--site-surface-dark, #10131F); color: #F4F6FC;
            --site-heading: #F4F6FC; --site-body-ink: #EEF0F6; --site-card-bg: var(--site-dark-card, #1A1F30); --site-card-text: var(--site-dark-ink, #E8EAF2); --site-card-heading: var(--site-dark-heading, #F4F6FC); --site-link: var(--site-link-dark, #FFD479); }
        .mai-canvas-section.has-bleed-media > * { max-width: var(--site-container, 980px); margin-inline: auto; width: 100%; }
        .web-hero-page.is-bleed { display: block; }
        .web-hero-page.is-bleed.is-bleed > .web-hero-media { position: absolute; inset: 0; z-index: -1; margin: 0; max-width: none; width: auto; overflow: hidden; border-radius: 0; opacity: 1; transform: none; }
        .web-hero-page.is-bleed.is-bleed > .web-hero-media img { width: 100%; height: 100%; max-width: none; object-fit: cover; aspect-ratio: auto; border-radius: 0; box-shadow: none; clip-path: none; transform: none; filter: none; animation: none; }
        .web-hero-page.is-bleed.is-bleed > .web-hero-media::after { content: ""; position: absolute; inset: 0; border-radius: 0; mix-blend-mode: normal; background: linear-gradient(180deg, rgba(8, 10, 22, 0.64) 0%, rgba(8, 10, 22, 0.7) 55%, color-mix(in srgb, var(--site-primary) 40%, rgba(8, 10, 22, 0.84)) 100%); }
        .web-hero-page.is-bleed .web-hero-copy { position: relative; padding-block: 3vh; }
        .has-bleed-media .web-hero-title { color: #F4F6FC; text-shadow: 0 3px 26px rgba(0, 0, 0, 0.45); }
        .has-bleed-media .web-hero-sub { opacity: 1; color: #EEF0F6; text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5); }
        .has-bleed-media .web-cta-btn { background: var(--site-accent); color: var(--site-cta-ink, var(--site-primary)); box-shadow: 0 10px 30px color-mix(in srgb, var(--site-accent) 40%, transparent); }
        .has-bleed-media .web-section-link a { color: var(--site-link); text-decoration: underline; text-underline-offset: 4px; }
        /* תיקון סקירה: הירו טיפוגרפי — תמונת הפתיחה כבר פותחת דף אחר ואין תמונה פנויה (MAI_Site_Renderer::page_hero_swaps):
           משטח המותג הכהה עם זוהר עדין של הדגש; התמונה הכפולה רק כהד מטושטש מאוד מאחור (לא אותה תמונה חדה שוב).
           דיו בהיר קבוע — הרקע כהה תמיד. */
        body .mai-canvas-section.is-spec.is-hero-typo { min-height: min(52vh, 520px); display: grid; align-items: center; color: #F4F6FC;
            background: radial-gradient(110% 90% at 88% 8%, color-mix(in srgb, var(--site-accent) 18%, transparent), transparent 60%), linear-gradient(165deg, var(--site-surface-dark, #10131F) 35%, color-mix(in srgb, var(--site-primary) 30%, var(--site-surface-dark, #10131F))); }
        .is-hero-typo .web-hero-title { color: #F4F6FC; }
        .is-hero-typo .web-hero-sub { color: #EEF0F6; opacity: 1; }
        body .mai-canvas-section.is-spec.is-hero-typo > .mai-sec-atmo { -webkit-mask-image: none; mask-image: none; }
        body .mai-canvas-section.is-spec.is-hero-typo > .mai-sec-atmo > span { inset: -64px; filter: blur(28px) saturate(1.15) brightness(0.72); opacity: 0.5; }
        body .mai-canvas-section.is-spec.is-hero-typo > .mai-sec-atmo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(170deg, rgba(8, 10, 22, 0.5) 15%, rgba(8, 10, 22, 0.3) 60%, color-mix(in srgb, var(--site-primary) 35%, transparent)); }

        /* ══ Fixes2 (tightening 3): גלריה לפי מספר התמונות — רשת 12, רוחב לכל תא מהשרת (gs-N:
           2 ⇒ שתיים לרוחב, 4 ⇒ שורה, 5 ⇒ 3+2, 7 ⇒ 4+3). אף שורה לא נשארת חצי-ריקה. ══ */
        .web-gallery.is-gplan { grid-template-columns: repeat(12, minmax(0, 1fr)); }
        .web-gallery.is-gplan > .gs-12 { grid-column: span 12; }
        .web-gallery.is-gplan > .gs-6 { grid-column: span 6; }
        .web-gallery.is-gplan > .gs-4 { grid-column: span 4; }
        .web-gallery.is-gplan > .gs-3 { grid-column: span 3; }
        .web-gallery.is-gplan > :is(.gs-12, .gs-6) img { aspect-ratio: 4 / 3; }
        .web-gallery.is-gplan.is-n-1 { max-width: 760px; margin-inline: auto; }
        .web-gallery.is-gplan.is-n-1 > .gs-12 img { aspect-ratio: 16 / 10; }
        @media (max-width: 859px) {
            .web-gallery.is-gplan > [class*="gs-"] { grid-column: span 6; }
            .web-gallery.is-gplan > [class*="gs-"] img { aspect-ratio: 1 / 1; }
            .web-gallery.is-gplan.is-odd > .web-gitem:last-child { grid-column: span 12; }
            .web-gallery.is-gplan.is-odd > .web-gitem:last-child img { aspect-ratio: 16 / 9; }
        }
        .web-gallery.is-masonry.is-n-1 { columns: 1; max-width: 760px; margin-inline: auto; }
        .web-gallery.is-masonry.is-n-2 { columns: 2 180px; }
        .web-gallery.is-masonry.is-n-3 { columns: 3 160px; }

        /* ══ Fixes2 (KR3) + Fixes3 (3): menu — מחירון מוצרים. list/columns = "לוח תפריט": כרטיס אחד על המשטח
           (טוקני הכרטיס ⇒ קריא על כל משטח), שורות שם … נקודות … מחיר (RTL: שם מימין, מחיר משמאל) עם קו דק ביניהן.
           עד 4 פריטים (is-short): הסקשן כולו בעמודה ממורכזת ~780px — כותרת, קישוט ולוח מיושרים, בלי חצי ריק.
           יותר מ-4 / columns (is-2col): שתי עמודות בדסקטופ ברוחב המכולה. שם בגופן הגוף, 600, ≥17px (לא הגופן
           הדחוס של הכותרות); מחיר מודגש, יחידה קטנה לידו; תיאור מעומעם בשורה; תגית כגלולה. grid = כרטיסים. ══ */
        .web-menu { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 0; }
        .web-menu:is(.is-list, .is-columns) { background: var(--site-card-bg, #fff); color: var(--site-card-text, var(--site-text)); border: 1px solid var(--site-border, rgba(0,0,0,0.07)); border-radius: var(--site-radius-card, 16px); box-shadow: var(--site-shadow-1, 0 6px 24px rgba(10,20,60,0.06)); padding: clamp(8px, 1.2vw, 14px) clamp(20px, 3.4vw, 46px); text-align: start; }
        .web-menu:is(.is-list, .is-columns) > .web-menu-item { padding: clamp(15px, 1.5vw, 20px) 0; border-bottom: 1px solid color-mix(in srgb, var(--site-card-text, #1A1F2E) 11%, transparent); }
        .web-menu:is(.is-list, .is-columns) > .web-menu-item:last-child { border-bottom: 0; }
        .web-menu-item { margin: 0; min-width: 0; }
        .web-menu-row { display: flex; align-items: baseline; gap: 12px; }
        .web-menu-name { margin: 0; flex: 0 1 auto; min-width: 0; font-family: var(--site-font, inherit); font-size: clamp(17px, 1.35vw, 20px); font-weight: 600; line-height: 1.35; letter-spacing: 0; text-transform: none; color: var(--site-card-heading, var(--site-heading, var(--site-primary))); }
        .web-menu-lead { flex: 1 1 28px; min-width: 22px; border-bottom: 2px dotted color-mix(in srgb, var(--site-card-text, #1A1F2E) 34%, transparent); translate: 0 -0.32em; }
        .web-menu-price { flex: 0 0 auto; margin: 0; font-weight: 800; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.2; white-space: nowrap; color: var(--site-card-heading, var(--site-heading, var(--site-primary))); font-variant-numeric: tabular-nums lining-nums; }
        .web-menu-unit { font-size: 0.7em; font-weight: 600; opacity: 0.8; }
        .web-menu-tag { flex: 0 0 auto; align-self: center; padding: 2px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700; line-height: 1.5; white-space: nowrap; color: var(--site-card-text, var(--site-text)); background: color-mix(in srgb, var(--site-accent) 22%, transparent); border: 1px solid color-mix(in srgb, var(--site-accent) 58%, transparent); }
        .web-menu-desc { margin: 6px 0 0; font-size: 15px; line-height: 1.55; color: var(--site-card-text, var(--site-text)); opacity: 0.8; max-width: 58ch; }
        .is-align-center .web-menu:is(.is-list, .is-columns) > .web-menu-item { text-align: start; }
        @media (min-width: 860px) {
            .web-menu.is-2col { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(40px, 5vw, 84px); }
            .web-menu.is-2col > .web-menu-item:nth-last-child(2) { border-bottom: 0; }
            .mai-canvas-section.is-type-menu:has(> .web-menu.is-short) > :not(.mai-sec-atmo):not(.mai-orn-layer):not(.mai-anchor) { max-width: min(100%, 780px); margin-inline: auto; }
        }
        .web-menu.is-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: calc(var(--site-gap, 22px) * var(--mai-gap-scale, 1)); }
        .web-menu.is-grid > .web-menu-item { display: flex; flex-direction: column; gap: 8px; }
        .web-menu.is-grid .web-menu-row { flex-wrap: wrap; align-items: center; row-gap: 8px; }
        .web-menu.is-grid .web-menu-name { flex-basis: 100%; color: var(--site-card-heading, var(--site-secondary)); }
        .web-menu.is-grid .web-menu-lead { display: none; }
        .web-menu.is-grid .web-menu-price { order: 3; margin-inline-start: auto; font-size: clamp(22px, 2.2vw, 28px); color: var(--site-kpi, var(--site-primary)); }
        .web-menu.is-grid :is(.web-menu-desc, .web-menu-tag) { color: var(--site-card-text, var(--site-text)); }
        :where(.is-spec) .web-menu.is-grid { grid-template-columns: repeat(auto-fit, minmax(calc((100% - (var(--mai-cols, 1) - 1) * var(--mai-grid-gap, 22px)) / var(--mai-cols, 1) - 1px), 1fr)); }
        @media (max-width: 639px) { .mai-lone-sm .web-menu.is-grid > :last-child { grid-column: 1 / -1; } }
        @media (min-width: 640px) and (max-width: 859px) { .mai-lone-md .web-menu.is-grid > :last-child { grid-column: 1 / -1; } }
        @media (min-width: 860px) { .mai-lone-lg .web-menu.is-grid > :last-child { grid-column: 1 / -1; } }
        @media (max-width: 639px) {
            .web-menu:is(.is-list, .is-columns) { padding-inline: 18px; }
            .web-menu-row { column-gap: 8px; }
            .web-menu-name { font-size: 17.5px; }
            .web-menu-price { font-size: 18.5px; }
        }

        /* ══ Fixes2 (KR2): קישוטים — אלמנט מאויר חתוך (PNG שקוף) על הסקשן. aria-hidden, בלי אירועי עכבר.
           פס הכותרת (.mai-orn-head) מחזיק top-* ו-title-*: is-stack = מעל הכותרת בפינה (הפס שומר לו גובה),
           is-row = לצד הכותרת, is-wrap = הכותרת עוטפת את קו-המתאר (shape-outside). overlap = כמה מהאלמנט
           בתוך הפס (inside 1 / edge .5 / outside .2); ההרמה לעולם לא עוברת את הריפוד העליון של הסקשן
           עצמו (26px ביטחון, גם מול החיתוך האלכסוני) — אין כיסוי של תוכן שכן. bottom-* בשכבת הסקשן
           (.mai-orn-layer), והסקשן מגדיל את הריפוד התחתון בגובהם. שלוש שכבות טרנספורם שלא מתנגשות:
           .mai-orn-p = פרלקסה (mai-motion.js), img = ריחוף (translate) + סיבוב (rotate). ══ */
        /* תיקון סקירה: הגודל לפי שטח חזותי — --orn-k = 1/√יחס (מה-PHP, 0.75–1.6): אלמנט רחב (לחמים) רחב יותר,
           גבוה — צר יותר, כך שהשטח ≈ בסיס² בכל יחס (לחם 788×364 כבר לא נראה אייקון ליד הכותרת). */
        :root { --orn-w-s: clamp(76px, 8.5vw, 136px); --orn-w-m: clamp(120px, 15vw, 240px); --orn-w-l: clamp(150px, 19vw, 300px); }
        .mai-canvas-section.has-orn { overflow-x: clip; z-index: 1; }
        .mai-orn { --orn-base: var(--orn-w-m); --orn-w: calc(var(--orn-base) * var(--orn-k, 1)); --orn-in: 1; position: relative; flex: 0 0 auto; width: var(--orn-w); max-width: none; margin: 0; pointer-events: none; user-select: none; -webkit-user-select: none; line-height: 0; z-index: 2; }
        .mai-orn[data-size="s"] { --orn-base: var(--orn-w-s); }
        .mai-orn[data-size="l"] { --orn-base: var(--orn-w-l); }
        .mai-orn-head { --orn-w: calc(var(--orn-base, var(--orn-w-m)) * var(--orn-k, 1)); }
        .mai-orn[data-overlap="edge"] { --orn-in: 0.5; }
        .mai-orn[data-overlap="outside"] { --orn-in: 0.2; }
        :is(.mai-orn, .mai-orn-head) { --orn-h: calc(var(--orn-w) * var(--orn-ar, 1)); --orn-lift: max(calc(var(--orn-h) * (var(--orn-in) - 1)), calc(26px - var(--mai-pad-top, var(--mai-space-block, var(--site-section-pad, 9vh))))); }
        .mai-orn-p { display: block; }
        .mai-orn img { display: block; width: 100%; height: auto; max-width: none; rotate: var(--orn-rot, 0deg); filter: drop-shadow(0 14px 18px rgba(28, 20, 8, 0.18)); -webkit-user-drag: none; }
        :is(.is-spec:is(.is-surface-dark, .is-surface-image, .is-surface-accent), .has-bleed-media) .mai-orn img { filter: drop-shadow(0 16px 26px rgba(0, 0, 0, 0.42)); }
        /* פס הכותרת */
        .mai-orn-head { position: relative; margin-bottom: 14px; }
        .mai-orn-head > :is(h2, .web-hero-title) { margin-bottom: 0; }
        .mai-orn-head.is-stack { padding-top: max(0px, calc(var(--orn-h) + var(--orn-lift) + 10px)); }
        .mai-orn-head.is-stack.is-bare { padding-top: max(0px, calc(var(--orn-h) + var(--orn-lift))); margin-bottom: 6px; }
        .mai-orn-head.is-stack > .mai-orn { position: absolute; top: var(--orn-lift); }
        .mai-orn-head.is-stack > .mai-orn[data-anchor$="-start"] { inset-inline-start: 0; }
        .mai-orn-head.is-stack > .mai-orn[data-anchor$="-end"] { inset-inline-end: 0; }
        /* overlap בערימה: הכותרת "נכנסת מתחת" לאלמנט — השורה הראשונה מוזחת לצד החלק התחתון שלו,
           השורות הבאות מתחתיו (אף שורת טקסט לא מתחת לפיקסלים של האלמנט). ממורכז — פשוט צמוד מתחת. */
        .mai-orn-head.is-stack.is-ip-overlap { padding-top: max(0px, calc(var(--orn-h) * 0.7 + var(--orn-lift))); }
        .mai-orn-head.is-stack.is-ip-overlap.is-side-start:not(.is-center) > :is(h2, .web-hero-title) { text-indent: calc(var(--orn-w) + 14px); }
        .mai-orn-head.is-stack.is-ip-overlap.is-side-end:not(.is-center) > :is(h2, .web-hero-title) { padding-inline-end: calc(var(--orn-w) + 14px); }
        .mai-orn-head.is-stack.is-ip-overlap.is-center { padding-top: max(0px, calc(var(--orn-h) + var(--orn-lift) - 4px)); }
        .mai-orn-head.is-stack.is-center > .mai-orn { inset-inline: 0; margin-inline: auto; }
        /* שורה: האלמנט לצד הכותרת (hug / title-*). top-* מורם אל הריפוד העליון. */
        .mai-orn-head.is-row { display: flex; align-items: center; gap: clamp(10px, 1.8vw, 24px); }
        .mai-orn-head.is-row.is-center { justify-content: center; }
        .mai-orn-head.is-row > :is(h2, h1, .web-hero-title) { flex: 0 1 auto; min-width: 0; }
        .mai-orn-head.is-row > .mai-orn[data-anchor^="top"] { top: calc(var(--orn-lift) * 0.55); }
        .mai-orn-head.is-row.is-ip-overlap > .mai-orn { top: calc(var(--orn-lift) * 0.8); }
        .mai-orn-head.is-row > .mai-orn.is-far { margin-inline-start: auto; }
        /* עטיפה: הכותרת זורמת סביב קו-המתאר של האלמנט (shape-outside מה-alpha של ה-PNG). */
        .mai-orn-head.is-wrap { display: flow-root; }
        .mai-orn-head.is-wrap > .mai-orn { float: right; float: inline-start; top: calc(var(--orn-lift) * 0.5); margin-inline-end: clamp(10px, 1.6vw, 20px); margin-bottom: 4px; shape-margin: 12px; shape-image-threshold: 0.3; }
        .mai-orn-head.is-wrap > .mai-orn[data-anchor$="-end"] { float: left; float: inline-end; margin-inline-end: 0; margin-inline-start: clamp(10px, 1.6vw, 20px); }
        /* פינת ההצעה (pricing / menu, קישוט top-*): האלמנט נתלה על הפינה העליונה של מיכל ההצעה — יושב על
           פינת הכרטיס (pricing: נוגס עד 28px בריפוד העליון שלו — 30px — אף פעם לא בטקסט; menu: נעצר 6px מעל
           השורה הראשונה — המחיר יושב בקצה). המרווח לפס קבוע (26px, בלי קריסת שוליים משתנה), והכותרת לצידו, מיושרת לתחתית הפס. הפס z-index 3 — מעל הכרטיסים. */
        @media (min-width: 640px) {
            .mai-orn-head.is-corner { --orn-drop: 20px; display: flex; align-items: flex-end; min-height: max(0px, calc(var(--orn-h) - var(--orn-drop) + var(--orn-lift))); margin-bottom: 26px; z-index: 3; }
            .mai-orn-head.is-corner + :is(.web-pricing, .web-menu) { margin-top: 0; }
            .mai-orn-head.is-corner.is-offer-pricing { --orn-drop: calc(26px + min(28px, calc(56px * (1 - var(--orn-in, 0.5))))); }
            .mai-orn-head.is-corner.is-center { justify-content: center; }
            .mai-orn-head.is-corner > :is(h2, .web-hero-title) { flex: 0 1 auto; min-width: 0; }
            .mai-orn-head.is-corner.has-orn-e > :is(h2, .web-hero-title) { padding-inline-end: calc(var(--orn-w) * 0.94 + clamp(12px, 2vw, 28px)); }
            .mai-orn-head.is-corner.has-orn-s > :is(h2, .web-hero-title) { padding-inline-start: calc(var(--orn-w) * 0.94 + clamp(12px, 2vw, 28px)); }
            .mai-orn-head.is-corner.is-center > :is(h2, .web-hero-title) { padding-inline: calc(var(--orn-w) * 0.94 + clamp(12px, 2vw, 28px)); }
            .mai-orn-head.is-corner > .mai-orn { position: absolute; top: auto; bottom: calc(var(--orn-drop) * -1); }
            .mai-orn-head.is-corner > .mai-orn[data-anchor$="-end"] { inset-inline-end: calc(var(--orn-w) * -0.06); }
            .mai-orn-head.is-corner > .mai-orn[data-anchor$="-start"] { inset-inline-start: calc(var(--orn-w) * -0.06); }
        }
        /* הכותרת גדלה ו"מדברת" עם האלמנט */
        .mai-orn-head.has-ip > :is(h2, .web-hero-title) { font-size: calc(var(--site-fs-h1, clamp(30px, 4.6vw, 54px)) * 1.14); line-height: 1.04; letter-spacing: -0.5px; }
        .is-spec.is-motif-rule > .mai-orn-head > h2::before { content: ""; display: block; width: 64px; height: 5px; border-radius: 3px; background: var(--site-accent); margin: 0 0 16px; }
        .is-spec.is-scale-quiet > .mai-orn-head > h2 { font-size: calc(var(--site-fs-h2, clamp(24px, 3.4vw, 36px)) * 0.8); }
        .is-spec.is-scale-display > .mai-orn-head:not(.has-ip) > h2 { font-size: var(--site-fs-h1, clamp(30px, 4.6vw, 54px)); letter-spacing: -0.5px; }
        .is-spec.is-tech-editorial-rule > .mai-orn-head { border-block-start: 2px solid var(--site-heading, var(--site-primary)); padding-block-start: 16px; }
        /* Fixes3 (3): 62ch נמדד בגופן של הכותרת עצמה (כמו h2 בלי פס) — לא של הפס (16px ⇒ פס צר וממורכז,
           הכותרת והקישוט "צפים" באמצע במקום בקצה ההתחלה, מול לוח/כרטיסים ברוחב המכולה). */
        .is-div-narrow > .mai-orn-head > :is(h2, .web-hero-title), .is-spec.is-type-prose.is-var-narrow > .mai-orn-head > h2 { max-width: 62ch; }
        @media (min-width: 761px) { .is-spec.is-type-prose.is-var-two-col > :is(.mai-orn-head, .mai-orn-layer) { column-span: all; } }
        @media (min-width: 640px) { .is-spec.is-img-float.is-type-prose > .mai-orn-head { grid-column: 2 / 4; } }
        /* שכבת הסקשן: bottom-* (ובבאנר — הכל) */
        .mai-orn-layer { position: absolute; top: 0; bottom: 0; left: 0; right: 0; pointer-events: none; z-index: 2; }
        .mai-canvas-section > .mai-orn-layer { max-width: none !important; margin-inline: auto !important; width: min(100%, var(--site-container, 980px)) !important; }
        .mai-orn-layer > .mai-orn { position: absolute; bottom: max(-56px, calc(var(--orn-h) * (var(--orn-in) - 1))); }
        .mai-orn-layer > .mai-orn[data-overlap="inside"], main > .mai-canvas-section:last-child > .mai-orn-layer > .mai-orn { bottom: 14px; } /* הסקשן האחרון: לא נכנס לפוטר */
        .mai-orn-layer > .mai-orn[data-anchor$="-start"] { inset-inline-start: 12px; }
        .mai-orn-layer > .mai-orn[data-anchor$="-end"] { inset-inline-end: 12px; }
        .mai-orn-layer > .mai-orn:is([data-anchor^="top"], [data-anchor^="title"]) { bottom: auto; top: 14px; }
        body .mai-canvas-section.has-orn.has-orn-bottom { padding-bottom: calc(var(--mai-space-block, var(--site-section-pad, 9vh)) + var(--orn-bh, 0px) * var(--orn-bin, 1)); }
        /* מובייל: האלמנט עובר לזרימה, מעל הכותרת (shrink = קטן בצד שלו, inline = בינוני במרכז, hide = אין) —
           ב-390 הוא לעולם לא יושב על טקסט. */
        @media (max-width: 639px) {
            .mai-orn[data-mobile="hide"] { display: none !important; }
            .mai-orn[data-mobile="shrink"] { --orn-base: clamp(72px, 26vw, 116px); }
            .mai-orn[data-mobile="inline"] { --orn-base: clamp(96px, 36vw, 150px); }
            .mai-orn-head:is(.is-stack, .is-row, .is-wrap, .is-corner) { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding-top: 0; min-height: 0; }
            .mai-orn-head.is-center { align-items: center; }
            .mai-orn-head:is(.is-stack, .is-row, .is-wrap, .is-corner) > .mai-orn[data-anchor] { position: relative; inset: auto; top: 0; bottom: auto; float: none; order: -1; margin: 0; shape-outside: none; }
            .mai-orn-head > .mai-orn[data-anchor$="-end"] { align-self: flex-end; }
            .mai-orn-head > .mai-orn[data-mobile="inline"] { align-self: center; }
            .mai-orn-head.mai-orn-head > :is(h2, .web-hero-title) { text-indent: 0; padding-inline: 0; }
            .mai-orn-head.has-ip > :is(h2, .web-hero-title) { font-size: var(--site-fs-h1, clamp(30px, 4.6vw, 54px)); }
            body .mai-canvas-section.has-orn.has-orn-bottom { padding-bottom: calc(var(--mai-space-block, var(--site-section-pad, 9vh)) + 76px); }
            .mai-orn-layer > .mai-orn[data-anchor] { bottom: 10px; top: auto; }
            .mai-orn-layer > .mai-orn[data-mobile="inline"] { inset-inline: 0; margin-inline: auto; }
        }
        /* ריחוף — רק כש-mai-motion.js אישר (עכבר אמיתי, בלי reduced-motion, בלי "עצירת אנימציות"). */
        @keyframes mai-orn-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
        @media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
            html.mai-motion-on:not(.mai-a11y-still) .mai-orn[data-float="1"] img { animation: mai-orn-bob 6.5s ease-in-out infinite; }
            html.mai-motion-on:not(.mai-a11y-still) .mai-orn[data-float="1"] ~ .mai-orn[data-float="1"] img { animation-duration: 7.4s; animation-delay: -2.6s; }
        }
        @media (prefers-reduced-motion: reduce) { .mai-orn img { animation: none !important; translate: none !important; } .mai-orn-p { transform: none !important; } }
        html.mai-a11y-still .mai-orn-p { transform: none !important; }
        /* ══ Fixes3 (4): קצב אנכי בין סקשנים רצופים על אותו משטח (tint↔tint, tint↔פס-זברה בהיר, dark↔dark,
           accent↔accent) — אין ביניהם קו-תפר נראה, ושני ריפודים מלאים (roomy ≈ 167px כל אחד) היו "בור" של ~330px
           (#344: גלריה → מחירון). השני נפתח ב-42% מהריפוד שלו והראשון נסגר ב-42% (לפחות 40px). בחירת לקוח
           (mai-space-*), קישוט תחתון (has-orn-bottom), באנר ו-split-bg — לא נוגעים. הריפוד העליון המוקטן עובר
           ב---mai-pad-top, שממנו מחושבת הרמת הקישוטים — קישוט לא עולה לתוך הסקשן הקודם.
           אחרי סקשן עם קישוט תחתון (has-orn-bottom) — גם הריפוד העליון של הבא נשאר מלא: הקישוט יורד עד 56px
           מתחת לסקשן שלו (z-index 2), ו-42% היה מניח אותו על הכותרת של הבא. ══ */
        .is-spec.is-surface-tint:not(.is-tech-split-bg):not(.has-orn-bottom) + .is-spec.is-surface-tint:not(.is-tech-split-bg):not([class*="mai-space-"]),
        .mai-canvas-section:nth-of-type(n):where(:nth-child(even of section:not([hidden]))):not(.is-own-surface):not(.is-banner):not(.is-tech-split-bg):not(.has-orn-bottom) + .is-spec.is-surface-tint:not(.is-tech-split-bg):not([class*="mai-space-"]),
        .is-spec.is-surface-tint:not(.is-tech-split-bg):not(.has-orn-bottom) + .mai-canvas-section:nth-of-type(n):where(:nth-child(even of section:not([hidden]))):not(.is-own-surface):not(.is-banner):not(.is-tech-split-bg):not([class*="mai-space-"]),
        .is-spec.is-surface-dark:not(.is-tech-split-bg):not(.has-orn-bottom) + .is-spec.is-surface-dark:not(.is-tech-split-bg):not([class*="mai-space-"]),
        .is-spec.is-surface-accent:not(.is-tech-split-bg):not(.has-orn-bottom) + .is-spec.is-surface-accent:not(.is-tech-split-bg):not([class*="mai-space-"]) { --mai-pad-top: max(40px, calc(var(--mai-space-block, var(--site-section-pad, 9vh)) * 0.42)); padding-top: var(--mai-pad-top); }
        .is-spec.is-surface-tint:not(.is-tech-split-bg):not([class*="mai-space-"]):not(.has-orn-bottom):has(+ .is-spec.is-surface-tint:not(.is-tech-split-bg)),
        .mai-canvas-section:nth-of-type(n):where(:nth-child(even of section:not([hidden]))):not(.is-own-surface):not(.is-banner):not(.is-tech-split-bg):not([class*="mai-space-"]):not(.has-orn-bottom):has(+ .is-spec.is-surface-tint:not(.is-tech-split-bg)),
        .is-spec.is-surface-tint:not(.is-tech-split-bg):not([class*="mai-space-"]):not(.has-orn-bottom):has(+ .mai-canvas-section:nth-of-type(n):where(:nth-child(even of section:not([hidden]))):not(.is-own-surface):not(.is-banner):not(.is-tech-split-bg)),
        .is-spec.is-surface-dark:not(.is-tech-split-bg):not([class*="mai-space-"]):not(.has-orn-bottom):has(+ .is-spec.is-surface-dark:not(.is-tech-split-bg)),
        .is-spec.is-surface-accent:not(.is-tech-split-bg):not([class*="mai-space-"]):not(.has-orn-bottom):has(+ .is-spec.is-surface-accent:not(.is-tech-split-bg)) { padding-bottom: max(40px, calc(var(--mai-space-block, var(--site-section-pad, 9vh)) * 0.42)); }
        /* ══ Fixes3 (1): שעה / טווח שעות / טלפון בטקסט עברי — ריצת LTR מבודדת (MAI_Web_Sections::ltr_runs). ══ */
        bdi.mai-ltr { direction: ltr; unicode-bidi: isolate; white-space: nowrap; }
        /* Fixes3 (2): כפתור שעבר לטופס בשבת — התווית הארוכה ("השאירו פרטים — נחזור אחרי השבת") בשורה אחת גם בכרטיס צר. */
        body.mai-shabbat :is(.web-cta-btn, .hero-cta)[data-mai-sh-label] { padding-inline: 22px; text-wrap: balance; }

        /* ══ trial1 (R1): קישוטים על ההירו העליון של דף הבית (section_spec.ornaments של סקשן-הפתיחה) — אותו מרקאפ של סקשן.
           הדר-המעבדה: שכבה מוחלטת בתוך המעטפת (.mai-hero-orn): top-* בפינה העליונה (מתחת לפס ניווט שקוף), bottom-* בתחתונה,
           title-* באמצע הצד. z 8 בהקשר-ערימה מבודד (has-orn ⇒ isolation): מעל התמונה/הסקרים של ההדר, מתחת לשכבת-טקסט
           שהמעבדה הרימה (z ≥ 10). ההירו המובנה: top/title בפס סביב ה-h1 (כמו בסקשן, בתוך hero-copy), bottom בשכבה (z 3).
           במובייל (≤639) — בפינה התחתונה של הצד שלו, בגודל mobile (כמו שכבת סקשן). ══ */
        .mai-hl-wrap.has-orn { isolation: isolate; }
        .mai-orn-layer.mai-hero-orn { --orn-pad: clamp(14px, 3vw, 48px); position: absolute; inset: 0; width: auto !important; max-width: none !important; margin: 0 !important; pointer-events: none; z-index: 8; }
        .canvas-hero > .mai-orn-layer.mai-hero-orn { z-index: 3; }
        .mai-orn-layer.mai-hero-orn > .mai-orn { position: absolute; }
        .mai-orn-layer.mai-hero-orn > .mai-orn[data-anchor^="top"] { top: calc(var(--mai-hero-top, 0px) + var(--orn-pad)); bottom: auto; }
        .mai-orn-layer.mai-hero-orn > .mai-orn[data-anchor^="bottom"] { bottom: var(--orn-pad); top: auto; }
        .mai-orn-layer.mai-hero-orn > .mai-orn[data-anchor^="title"] { top: 50%; bottom: auto; translate: 0 -50%; }
        .mai-orn-layer.mai-hero-orn > .mai-orn[data-anchor$="-start"] { inset-inline-start: var(--orn-pad); }
        .mai-orn-layer.mai-hero-orn > .mai-orn[data-anchor$="-end"] { inset-inline-end: var(--orn-pad); }
        body.mai-nav-overlay .mai-orn-layer.mai-hero-orn { --mai-hero-top: var(--mai-nav-h, 76px); }
        .canvas-hero.is-fullbleed .mai-orn img { filter: drop-shadow(0 16px 26px rgba(0, 0, 0, 0.42)); }
        .canvas-hero .mai-orn-head > h1 { margin-bottom: 0; }
        @media (max-width: 639px) {
            .mai-orn-layer.mai-hero-orn > .mai-orn[data-anchor] { top: auto; bottom: 12px; translate: none; }
        }

        /* ══ trial1 (R3): טוקני ניווט מההדר שנבחר (nav, מההדמיה). solid — פס מלא ברוחב המסך ברקע ובדיו שלו (גם בדפים הפנימיים);
           overlay (דף הבית עם הדר-המעבדה) — הפס שקוף מעל ההירו: דיו מהטוקן, גרדיאנט עליון עדין לקריאות, ואטום אחרי גלילה
           (is-scrolled, סקריפט למטה). --mai-nav-h = גובה הפס; הירו overlay שומר לו מקום בראש (H). בלי טוקנים, או כשהניגודיות
           לא עוברת 4.5 — הגלולה הקיימת, בלי שינוי. הצבעים עצמם בבלוק mai-nav-tokens שאחרי הגיליון (hex מסונן מהשרת). ══ */
        body:is(.mai-nav-solid, .mai-nav-overlay) { --mai-nav-h: 76px; }
        @media (max-width: 860px) { body:is(.mai-nav-solid, .mai-nav-overlay) { --mai-nav-h: 64px; } }
        body:is(.mai-nav-solid, .mai-nav-overlay) .canvas-header { top: 0; margin: 0; border-radius: 0; min-height: var(--mai-nav-h); padding: 10px clamp(18px, 4vw, 56px); }
        body.mai-nav-solid .canvas-header { background: var(--mai-nav-bg); box-shadow: 0 1px 0 color-mix(in srgb, var(--mai-nav-ink) 14%, transparent); }
        body:is(.mai-nav-solid, .mai-nav-overlay) :is(.canvas-nav a, a.canvas-logo) { color: var(--mai-nav-ink); }
        body:is(.mai-nav-solid, .mai-nav-overlay) .canvas-nav a:hover { color: var(--mai-nav-ink); opacity: 0.78; }
        body:is(.mai-nav-solid, .mai-nav-overlay) .canvas-nav a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 7px; }
        body:is(.mai-nav-solid, .mai-nav-overlay) .canvas-burger span { background: var(--mai-nav-ink); }
        body.mai-nav-overlay .canvas-header { height: var(--mai-nav-h); margin-bottom: calc(-1 * var(--mai-nav-h)); background: transparent; box-shadow: none; z-index: 40; transition: background-color 0.25s ease, box-shadow 0.25s ease; }
        body.mai-nav-overlay .canvas-header::before { content: ""; position: absolute; inset: 0 0 -32px; background: linear-gradient(180deg, var(--mai-nav-scrim, rgba(0, 0, 0, 0.5)), transparent); pointer-events: none; z-index: -1; transition: opacity 0.25s ease; }
        body.mai-nav-overlay .canvas-header.is-scrolled { background: var(--mai-nav-bg-solid, var(--site-background)); box-shadow: 0 10px 30px rgba(10, 20, 60, 0.14); }
        body.mai-nav-overlay .canvas-header.is-scrolled::before, body.mai-nav-overlay.mai-menu-open .canvas-header::before { opacity: 0; }
        body.mai-nav-overlay .canvas-header.is-scrolled :is(.canvas-nav a, a.canvas-logo) { color: var(--mai-nav-ink-solid, var(--site-body-ink, var(--site-text))); }
        body.mai-nav-overlay .canvas-header.is-scrolled .canvas-burger span { background: var(--mai-nav-ink-solid, var(--site-primary)); }
        body.mai-nav-overlay main > .mai-hl-wrap:first-child { isolation: isolate; }
        body.mai-nav-cta :is(.canvas-header-cta, .canvas-mobile-menu .mobile-cta) { background: var(--mai-nav-cta-bg); color: var(--mai-nav-cta-ink); box-shadow: 0 6px 18px color-mix(in srgb, var(--mai-nav-cta-bg) 40%, transparent); }
        /* התפריט הנייד פתוח: רק פס overlay שקוף (לפני גלילה) — ה-X והלוגו-הטקסט יושבים על מסך התפריט ⇒ צבעי האתר.
           trial1 (סקירה): פס אטום (solid, או overlay אחרי גלילה) נשאר מעל התפריט ברקע שלו — הדיו שלו נשאר (≥ 4.5 בשרת);
           צבעי האתר עליו נתנו X ולוגו כמעט בלתי-נראים (#2F3E46 על #1A1410 ≈ 1.6:1). */
        body.mai-menu-open.mai-nav-overlay:not(.mai-style-dark) .canvas-header:not(.is-scrolled) .canvas-burger span { background: var(--site-heading, var(--site-primary)); }
        body.mai-menu-open.mai-nav-overlay:not(.mai-style-dark) .canvas-header:not(.is-scrolled) a.canvas-logo { color: var(--site-heading, var(--site-primary)); }
        body.mai-menu-open.mai-nav-overlay.mai-style-dark .canvas-header:not(.is-scrolled) .canvas-burger span { background: #e8eaf2; }
        body.mai-menu-open.mai-nav-overlay.mai-style-dark .canvas-header:not(.is-scrolled) a.canvas-logo { color: #e8eaf2; }
        body.mai-menu-open.mai-nav-overlay .canvas-header { z-index: 55; } /* הפס (וה-X) מעל התפריט הפתוח (z 50), כמו בגלולה */
        @media (prefers-reduced-motion: reduce) { body.mai-nav-overlay .canvas-header, body.mai-nav-overlay .canvas-header::before { transition: none; } }

        /* ══ trial2 (P-9): כותרות האתר מאוזנות (שורה אחרונה לא יתומה) — הדר-המעבדה מגדיר לעצמו. ══ */
        :is(.canvas-hero, .mai-canvas-section, .mai-page-title) :is(h1, h2, h3) { text-wrap: balance; }
        /* ══ trial2 (P-8): הפוטר מציג את כל הדפים — שורות מאוזנות במכולה. ══ */
        .footer-nav { max-width: var(--site-container, 980px); margin-inline: auto; row-gap: 10px; }
/* ══ trial2 (P-3): מוצרים למכירה — כרטיס מוצר (תמונה 4:5, שם, מק״ט, מחיר, פרטים, סיפור, וואטסאפ) ══ */
        .web-products { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--mai-grid-gap, calc(var(--site-gap, 22px) * var(--mai-gap-scale, 1))); margin-top: 28px; align-items: stretch; }
        :where(.is-spec) .web-products { grid-template-columns: repeat(auto-fit, minmax(calc((100% - (var(--mai-cols, 1) - 1) * var(--mai-grid-gap, 22px)) / var(--mai-cols, 1) - 1px), 1fr)); }
        .web-products.is-n-2 { max-width: 780px; margin-inline: auto; }
        .web-product { position: relative; display: flex; flex-direction: column; min-width: 0; margin: 0; background: var(--site-card-bg, #fff); color: var(--site-card-text, var(--site-text)); border: 1px solid var(--site-border, rgba(0,0,0,0.07)); border-radius: var(--site-radius-card, 16px); overflow: hidden; box-shadow: var(--site-shadow-1, 0 6px 24px rgba(10,20,60,0.06)); scroll-margin-top: 96px; }
        .web-product:target { box-shadow: 0 0 0 3px var(--site-accent), var(--site-shadow-2, 0 14px 40px rgba(10,20,60,0.14)); }
        .web-product-media { position: relative; display: block; margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: color-mix(in srgb, var(--site-primary) 7%, var(--site-card-bg, #fff)); }
        .web-product-media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 0.7s cubic-bezier(0.22, 0.8, 0.3, 1); }
        .web-product-media.is-empty { display: grid; place-items: center; color: var(--site-card-heading, var(--site-secondary)); }
        .web-product-media.is-empty svg { width: 30%; height: auto; opacity: 0.45; }
        .web-product-badge { position: absolute; top: 14px; inset-inline-start: 14px; z-index: 1; padding: 5px 13px; border-radius: 999px; font-size: 13px; font-weight: 700; line-height: 1.4; letter-spacing: 0.02em; background: var(--site-ink-dark, #161B29); color: var(--site-ink-light, #F4F6FC); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22); }
        .web-product.is-sold .web-product-media img { filter: grayscale(0.4); opacity: 0.82; }
        .web-product-body { display: flex; flex-direction: column; gap: 7px; flex: 1 1 auto; padding: 18px 20px 20px; text-align: start; }
        .web-product-name { margin: 0; font-family: var(--site-font-heading, var(--site-font)); font-size: clamp(21px, 1.7vw, 25px); line-height: 1.25; letter-spacing: 0; color: var(--site-card-heading, var(--site-secondary)); text-wrap: balance; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; padding-bottom: 0.08em; } /* 0.9-r2 (M4): שם ארוך (60+ תווים) — עד 3 שורות בכרטיס; השם המלא בדף המוצר */
        .web-product-sku { margin: 0; font-size: 13px; line-height: 1.4; letter-spacing: 0.03em; opacity: 0.72; }
        .web-product-sku bdi { font-variant-numeric: tabular-nums; }
        .web-product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 2px 0 0; }
        .web-product-amount { font-size: clamp(20px, 1.75vw, 24px); font-weight: 800; line-height: 1.2; white-space: nowrap; color: var(--site-kpi, var(--site-primary)); font-variant-numeric: tabular-nums lining-nums; }
        .web-product-amount.is-order { font-size: 16px; font-weight: 700; }
        .web-product-note { font-size: 13px; font-weight: 600; opacity: 0.75; }
        .web-product-details { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 0; padding: 0; list-style: none; }
        .web-product-details li { padding: 3px 11px; border-radius: 999px; font-size: 13.5px; line-height: 1.45; background: color-mix(in srgb, var(--site-card-text, #1A1F2E) 7%, transparent); border: 1px solid color-mix(in srgb, var(--site-card-text, #1A1F2E) 10%, transparent); }
        .web-product-story { margin: 2px 0 0; font-size: 15px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
        .web-product-more { margin: 0; font-size: 15px; line-height: 1.6; }
        .web-product-more summary { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; list-style: none; font-weight: 700; font-size: 14.5px; color: var(--site-link, var(--site-secondary)); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
        .web-product-more summary::-webkit-details-marker { display: none; }
        .web-product-more p { margin: 0 0 4px; }
        .web-product-body:has(> .web-product-more[open]) > .web-product-story { display: none; }
        .web-product-cta { display: inline-flex; align-items: center; justify-content: center; gap: 9px; align-self: stretch; min-height: 48px; margin-top: auto; padding: 12px 18px; border-radius: var(--site-radius-btn, 999px); background: var(--site-accent); color: var(--site-cta-ink, var(--site-primary)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--site-cta-ink, #161B29) 22%, transparent); font-weight: 700; font-size: 15.5px; line-height: 1.25; text-align: center; text-decoration: none; text-wrap: balance; transition: transform 0.2s ease, box-shadow 0.2s ease; }
        .web-product-body > .web-product-cta { margin-top: auto; }
        .web-product-body > :nth-last-child(2) { margin-bottom: 8px; }
        .web-product-cta svg { width: 19px; height: 19px; flex: 0 0 auto; }
        /* כרטיס צר (3 בשורה במכולה של 980) — הכפתור נשאר בשורה אחת: גופן קטן מעט, בלי האייקון (המילה "וואטסאפ" בטקסט). */
        .web-product-body { container-type: inline-size; }
        @container (max-width: 250px) {
            .web-product-cta { font-size: 14px; padding-inline: 10px; gap: 6px; }
            .web-product-cta svg { display: none; }
        }
        /* trial2 (סקירה): עוד יותר צר (רשימה ב-390/360) — "ולהזמנה" יורד: "לפרטים בוואטסאפ" בשורה אחת. */
        @container (max-width: 200px) { .web-product-cta-opt { display: none; } }
        .web-product-cta:focus-visible { outline: 3px solid var(--site-link, var(--site-secondary)); outline-offset: 3px; }
        @media (hover: hover) {
            .web-product:hover .web-product-media img { transform: scale(1.045); }
            .web-product-cta:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--site-cta-ink, #161B29) 30%, transparent), 0 10px 24px color-mix(in srgb, var(--site-accent) 38%, transparent); }
        }
        /* showcase — שני כרטיסים גדולים בשורה; list — שורה אופקית (תמונה בצד ההתחלה) */
        @media (min-width: 860px) { .is-spec.is-type-products.is-var-showcase { --mai-cols: 2; } }
        .web-products.is-showcase .web-product-body { padding: 22px 26px 26px; gap: 9px; }
        .web-products.is-showcase .web-product-name { font-size: clamp(22px, 2.1vw, 28px); }
        .web-products.is-showcase .web-product-media { aspect-ratio: 1 / 1; }
        .web-products.is-list { grid-template-columns: minmax(0, 1fr); gap: 18px; max-width: 900px; margin-inline: auto; }
        .web-products.is-list .web-product { flex-direction: row; align-items: stretch; }
        .web-products.is-list .web-product-media { flex: 0 0 clamp(128px, 30%, 250px); aspect-ratio: auto; min-height: 100%; }
        .web-products.is-list .web-product-media img { position: absolute; inset: 0; }
        .web-products.is-list .web-product-body { padding: clamp(16px, 2.2vw, 26px); }
        .web-products.is-list .web-product-cta { align-self: flex-start; padding-inline: 26px; }
        /* מוצר יחיד — כרטיס אופקי רחב, לא תמונה ענקית */
        @media (min-width: 640px) {
            .web-products.is-n-1:not(.is-list) { grid-template-columns: minmax(0, 1fr); max-width: 860px; margin-inline: auto; }
            .web-products.is-n-1:not(.is-list) .web-product { flex-direction: row; }
            .web-products.is-n-1:not(.is-list) .web-product-media { flex: 0 0 44%; aspect-ratio: 4 / 5; }
            .web-products.is-n-1:not(.is-list) .web-product-body { padding: 28px 30px; justify-content: center; }
            .web-products.is-n-1:not(.is-list) .web-product-cta { align-self: flex-start; margin-top: 12px; padding-inline: 28px; }
        }
        @media (max-width: 639px) {
            :where(.is-spec) .web-products, .web-products { grid-template-columns: minmax(0, 1fr); gap: 18px; }
            .web-product-body { padding: 16px 18px 18px; }
            .web-products.is-list .web-product-media { flex-basis: 36%; }
            .web-products.is-list .web-product-cta { align-self: stretch; padding-inline: 14px; }
        }

        /* ══ trial2 (P-4): כרטיסי דפים — תמונה גדולה 4:3, כותרת, משפט; הכרטיס כולו קישור ══ */
        .web-pcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--mai-grid-gap, calc(var(--site-gap, 22px) * var(--mai-gap-scale, 1))); margin-top: 28px; }
        :where(.is-spec) .web-pcards { grid-template-columns: repeat(auto-fit, minmax(calc((100% - (var(--mai-cols, 1) - 1) * var(--mai-grid-gap, 22px)) / var(--mai-cols, 1) - 1px), 1fr)); }
        .web-pcard { position: relative; display: flex; flex-direction: column; min-width: 0; color: var(--site-card-text, var(--site-text)); background: var(--site-card-bg, #fff); border: 1px solid var(--site-border, rgba(0,0,0,0.07)); border-radius: var(--site-radius-card, 16px); overflow: hidden; box-shadow: var(--site-shadow-1, 0 6px 24px rgba(10,20,60,0.06)); text-decoration: none; transition: transform 0.3s ease, box-shadow 0.3s ease; }
        .web-pcard-media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: color-mix(in srgb, var(--site-primary) 8%, var(--site-card-bg, #fff)); }
        .web-pcard-media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 0.8s cubic-bezier(0.22, 0.8, 0.3, 1); }
        .web-pcard-media.is-empty { display: grid; place-items: center; color: var(--site-card-heading, var(--site-secondary)); }
        .web-pcard-media.is-empty svg { width: 22%; height: auto; opacity: 0.5; }
        .web-pcard-body { display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; padding: 18px 20px 20px; text-align: start; }
        .web-pcard-title { margin: 0; font-family: var(--site-font-heading, var(--site-font)); font-size: clamp(20px, 1.8vw, 25px); line-height: 1.2; color: var(--site-card-heading, var(--site-secondary)); text-wrap: balance; }
        .web-pcard-text { margin: 0; font-size: 15px; line-height: 1.55; opacity: 0.88; }
        .web-pcard-go { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 8px; font-weight: 700; font-size: 15px; color: var(--site-link, var(--site-secondary)); }
        a.web-pcard:focus-visible { outline: 3px solid var(--site-link, var(--site-secondary)); outline-offset: 3px; }
        @media (hover: hover) {
            a.web-pcard:hover { transform: translateY(-5px); box-shadow: var(--site-shadow-2, 0 14px 40px rgba(10,20,60,0.14)); }
            a.web-pcard:hover .web-pcard-media img { transform: scale(1.05); }
            a.web-pcard:hover .web-pcard-go { text-decoration: underline; text-underline-offset: 4px; }
        }
        /* overlay — הכותרת על התמונה, סקרים כהה בתחתית (דיו בהיר תמיד) */
        .is-spec.is-type-page_cards.is-var-overlay .web-pcard { border: 0; background: var(--site-ink-dark, #161B29); }
        .is-spec.is-type-page_cards.is-var-overlay .web-pcard-media { aspect-ratio: 4 / 3; }
        .is-spec.is-type-page_cards.is-var-overlay .web-pcard-body { position: absolute; inset: auto 0 0 0; padding: 56px 20px 18px; background: linear-gradient(to top, rgba(8, 10, 22, 0.82), rgba(8, 10, 22, 0.45) 58%, rgba(8, 10, 22, 0)); color: #F4F6FC; }
        .is-spec.is-type-page_cards.is-var-overlay .web-pcard-title { color: #FFFFFF; text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45); }
        .is-spec.is-type-page_cards.is-var-overlay .web-pcard-text { opacity: 0.95; }
        .is-spec.is-type-page_cards.is-var-overlay .web-pcard-go { color: #FFFFFF; }
        @media (max-width: 639px) {
            :where(.is-spec) .web-pcards, .web-pcards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
            .web-pcards.is-n-1 { grid-template-columns: minmax(0, 1fr); }
            .web-pcards.is-n-3 > :first-child, .web-pcards.is-n-5 > :first-child, .web-pcards.is-n-7 > :first-child { grid-column: 1 / -1; }
            .web-pcard-body { padding: 12px 12px 14px; gap: 4px; }
            .web-pcard-title { font-size: 17px; }
            .web-pcard-text { font-size: 13.5px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
            .web-pcard-go { display: none; }
            .is-spec.is-type-page_cards.is-var-overlay .web-pcard-body { padding: 40px 12px 12px; }
        }

        /* ══ trial2 (P-5): features — כרטיס מדיה (צילום 4:3 למעלה / איור שקוף בלי חיתוך) ══ */
        .web-features .web-card.has-media { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
        .web-card-media { position: relative; margin: 0; overflow: hidden; }
        .web-card-media.is-photo { aspect-ratio: 4 / 3; background: color-mix(in srgb, var(--site-primary) 7%, var(--site-card-bg, #fff)); }
        .web-card-media.is-photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 0.7s cubic-bezier(0.22, 0.8, 0.3, 1); }
        .web-card-media.is-illus { display: grid; place-items: center; padding: 26px 22px 6px; overflow: visible; }
        .web-card-media.is-illus img { display: block; width: auto; max-width: 100%; height: clamp(120px, 11vw, 160px); object-fit: contain; filter: drop-shadow(0 12px 16px rgba(28, 20, 8, 0.16)); }
        .web-card-media.is-ph { display: grid; place-items: center; color: var(--site-card-heading, var(--site-secondary)); background: color-mix(in srgb, var(--site-accent) 13%, var(--site-card-bg, #fff)); }
        .web-card-media.is-ph.is-photo { aspect-ratio: 4 / 3; }
        .web-card-media.is-ph.is-illus { height: calc(clamp(120px, 11vw, 160px) + 26px); padding: 26px 22px 0; background: none; }
        .web-card-media.is-ph .web-icon { width: 46px; height: 46px; opacity: 0.8; }
        .web-card-media.is-ph.is-illus .web-icon-wrap { margin: 0; }
        .web-card.has-media .web-card-body { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px 24px; }
        .web-card.has-media .web-card-body h3 { margin: 0; }
        .web-card.has-media .web-card-body p { margin: 0; }
        @media (hover: hover) { .web-card.has-media:hover .web-card-media.is-photo img { transform: scale(1.04); } }
        .is-spec.is-type-features.is-img-contain .web-card-media.is-photo:not(.is-ph) img { object-fit: contain; }
        .is-spec.is-type-features.is-img-round .web-card-media.is-photo { aspect-ratio: auto; display: grid; place-items: center; padding: 26px 22px 0; background: none; }
        .is-spec.is-type-features.is-img-round .web-card-media.is-photo img { width: min(62%, 180px); height: auto; aspect-ratio: 1 / 1; border-radius: 50%; box-shadow: var(--site-shadow-2, 0 14px 40px rgba(10,20,60,0.14)); }
        .is-spec.is-type-features.is-img-round .web-card-media.is-photo.is-ph { width: min(62%, 180px); aspect-ratio: 1 / 1; margin: 26px auto 0; padding: 0; border-radius: 50%; background: color-mix(in srgb, var(--site-accent) 13%, var(--site-card-bg, #fff)); }
        .is-spec.is-type-features.is-var-plain .web-card.has-media { padding: 0; overflow: visible; background: transparent; border: 0; box-shadow: none; }
        .is-spec.is-type-features.is-var-plain .web-card-media.is-photo { border-radius: var(--site-radius-img, 18px); }
        .is-spec.is-type-features.is-var-plain .web-card.has-media .web-card-body { padding: 16px 2px 0; }
        .is-spec.is-type-features.is-var-icon-list .web-card.has-media { display: grid; grid-template-columns: clamp(104px, 26%, 170px) minmax(0, 1fr); align-items: stretch; }
        .is-spec.is-type-features.is-var-icon-list .web-card.has-media .web-card-media.is-photo { aspect-ratio: auto; min-height: 120px; height: 100%; }
        .is-spec.is-type-features.is-var-icon-list .web-card.has-media .web-card-media.is-illus { padding: 16px; }
        .is-spec.is-type-features.is-var-icon-list .web-card.has-media .web-card-media.is-illus img { height: clamp(84px, 8vw, 110px); }
        .is-spec.is-type-features.is-var-icon-list .web-card.has-media .web-card-body { justify-content: center; }

        /* שורה אחרונה קצרה / כרטיס יתום (mai-short-* / mai-lone-* מהמעטפת) — ממורכזים, באותו רוחב כרטיס, לא נמתחים. */
        @media (min-width: 640px) and (max-width: 859px) {
            :is(.mai-short-md, .mai-lone-md) :is(.web-products:not(.is-list), .web-pcards) { display: flex; flex-wrap: wrap; justify-content: center; }
            :is(.mai-short-md, .mai-lone-md) :is(.web-products:not(.is-list), .web-pcards) > * { flex: 0 0 calc((100% - (var(--mai-cols, 1) - 1) * var(--mai-grid-gap, 22px)) / var(--mai-cols, 1) - 1px); }
        }
        @media (min-width: 860px) {
            :is(.mai-short-lg, .mai-lone-lg) :is(.web-products:not(.is-list), .web-pcards) { display: flex; flex-wrap: wrap; justify-content: center; }
            :is(.mai-short-lg, .mai-lone-lg) :is(.web-products:not(.is-list), .web-pcards) > * { flex: 0 0 calc((100% - (var(--mai-cols, 1) - 1) * var(--mai-grid-gap, 22px)) / var(--mai-cols, 1) - 1px); }
        }

        /* ══ trial2 (P-7): חלק ריק — באתר הציבורי מוסתר (נשאר מסומן לסוכנים); בעריכה/סטודיו תיבת מצב-ריק ══ */
        .mai-canvas-section[hidden] { display: none !important; }
        .mai-empty-state { margin: 18px 0 0; padding: 28px 24px; border: 2px dashed color-mix(in srgb, var(--site-body-ink, #1A1F2E) 32%, transparent); border-radius: var(--site-radius-card, 16px); background: color-mix(in srgb, var(--site-accent) 8%, transparent); color: var(--site-body-ink, var(--site-text)); text-align: center; font-size: 16px; line-height: 1.6; }
        .mai-empty-state strong { display: block; margin-bottom: 4px; font-size: 17px; }

        /* תנועה: הכרטיסים החדשים נחשפים בגלילה כמו שאר הכרטיסים (סקריפט התנועה מוסיף mai-reveal) */
        @media (prefers-reduced-motion: no-preference) {
            .web-products .web-product:nth-child(2), .web-pcards .web-pcard:nth-child(2) { transition-delay: 0.08s; }
            .web-products .web-product:nth-child(3), .web-pcards .web-pcard:nth-child(3) { transition-delay: 0.16s; }
            .web-products .web-product:nth-child(4), .web-pcards .web-pcard:nth-child(4) { transition-delay: 0.24s; }
        }
        @media (prefers-reduced-motion: reduce) {
            .web-product-media img, .web-pcard-media img, .web-card-media img, .web-pcard, .web-product-cta { transition: none !important; }
        }
        /* 0.9-r2 (M4): טופס ההזמנה בלי JS — כפתור "סגירה" של הודעת ההצלחה לא עושה כלום (הודעה ישירה בדף); שגיאת שרת בראש הטופס */
        .mai-os:not(.is-js) .mai-os-done-close { display: none; }
        .mai-os .mai-os-top-err { margin: 0 0 14px; }
        /* ══ trial3 (K2): ניווט היררכי (חוזה MAI_Site_Nav) — דסקטופ: dropdown בריחוף / פוקוס / לחיצה (aria-expanded);
           מובייל: רשימה מקוננת עם כפתור פתיחה; פוטר: הילדים מתחת לאב. אותו markup בערכה המיוצאת. ══ */
        .canvas-nav { align-items: center; }
        .canvas-nav > a, .canvas-nav .mai-nav-group > a { white-space: nowrap; }
        .mai-nav-group { position: relative; display: inline-flex; align-items: center; gap: 2px; }
        .mai-nav-sub-toggle { appearance: none; -webkit-appearance: none; display: inline-grid; place-items: center; width: 26px; height: 26px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: none; color: inherit; font: inherit; font-size: 12px; line-height: 1; cursor: pointer; transition: background-color 0.2s ease; }
        .canvas-nav .mai-nav-sub-toggle { color: var(--site-body-ink, var(--site-text)); }
        /* trial3 (סקירה K2): התו ▾ יוצא בגופן הגיבוי כנקודה זעירה — שברון CSS ברור במקומו (ה-markup של החוזה לא משתנה). */
        .mai-nav-sub-toggle > span { display: inline-block; width: 7px; height: 7px; font-size: 0; line-height: 0; border: solid currentColor; border-width: 0 1.7px 1.7px 0; transform: translateY(-2px) rotate(45deg); transition: transform 0.2s ease; }
        .mai-nav-sub-toggle[aria-expanded="true"] > span { transform: translateY(2px) rotate(225deg); }
        .canvas-mobile-menu .mai-nav-sub-toggle > span { width: 9px; height: 9px; border-width: 0 2px 2px 0; }
        .mai-nav-sub-toggle:hover { background: color-mix(in srgb, currentColor 10%, transparent); }
        .mai-nav-sub-toggle.mai-nav-more-toggle { width: auto; height: auto; display: inline-flex; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: 16px; font-weight: 500; }
        .canvas-nav .mai-nav-sub { position: absolute; top: calc(100% + 14px); inset-inline-start: -16px; z-index: 60; min-width: 230px; display: none; flex-direction: column; gap: 2px; padding: 10px; background: var(--site-background); border: 1px solid color-mix(in srgb, var(--site-body-ink, #1A1F2E) 10%, transparent); border-radius: 16px; box-shadow: 0 24px 54px rgba(10, 20, 60, 0.16), 0 2px 8px rgba(10, 20, 60, 0.06); }
        .canvas-nav .mai-nav-sub::before { content: ""; position: absolute; inset-inline: 0; top: -16px; height: 16px; } /* גשר לריחוף בין הפריט לתפריט */
        .canvas-nav .mai-nav-group:hover > .mai-nav-sub, .canvas-nav .mai-nav-sub-toggle[aria-expanded="true"] + .mai-nav-sub { display: flex; } /* מקלדת: הכפתור (דפוס disclosure) */
        html body .canvas-header .canvas-nav .mai-nav-sub > a[href] { display: block; padding: 10px 14px; border-radius: 10px; white-space: nowrap; font-size: 15.5px; font-weight: 500; line-height: 1.35; color: var(--site-body-ink, var(--site-text)); opacity: 1; text-decoration: none; }
        html body .canvas-header .canvas-nav .mai-nav-sub > a[href]:hover, html body .canvas-header .canvas-nav .mai-nav-sub > a[aria-current] { background: color-mix(in srgb, var(--site-primary) 9%, transparent); color: var(--site-heading, var(--site-primary)); text-decoration: none; }
        body.mai-style-dark .canvas-nav .mai-nav-sub { background: var(--site-dark-card, #1A1F30); border-color: rgba(255, 255, 255, 0.08); box-shadow: 0 24px 54px rgba(0, 0, 0, 0.45); }
        body.mai-style-dark .canvas-nav .mai-nav-sub-toggle, html body.mai-style-dark .canvas-header .canvas-nav .mai-nav-sub > a[href] { color: var(--site-dark-ink, #E8EAF2); }
        html body.mai-style-dark .canvas-header .canvas-nav .mai-nav-sub > a[href]:hover { background: rgba(255, 255, 255, 0.08); color: #fff; }
        body:is(.mai-nav-solid, .mai-nav-overlay) .canvas-nav .mai-nav-sub-toggle { color: var(--mai-nav-ink); }
        body.mai-nav-overlay .canvas-header.is-scrolled .canvas-nav .mai-nav-sub-toggle { color: var(--mai-nav-ink-solid, var(--site-body-ink, var(--site-text))); }
        body:is(.mai-nav-solid, .mai-nav-overlay) .canvas-nav > a[aria-current="true"], body:is(.mai-nav-solid, .mai-nav-overlay) .canvas-nav .mai-nav-group.is-current > a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 7px; }
        .canvas-nav .mai-nav-group.is-current > a, .canvas-nav > a[aria-current] { color: var(--site-heading, var(--site-primary)); }
        @media (min-width: 861px) and (max-width: 1180px) { .canvas-nav { gap: 18px; } .canvas-nav a, .mai-nav-sub-toggle.mai-nav-more-toggle { font-size: 15px; } .canvas-header { gap: 14px; padding-inline: 22px; } }
        .canvas-mobile-menu { justify-content: safe center; overflow-y: auto; padding-block: 88px 40px; }
        .canvas-mobile-menu .mai-nav-group { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; column-gap: 6px; max-width: 92vw; }
        .canvas-mobile-menu .mai-nav-sub-toggle { width: 40px; height: 40px; font-size: 15px; color: var(--site-heading, var(--site-primary)); border: 1px solid color-mix(in srgb, currentColor 24%, transparent); }
        body.mai-style-dark .canvas-mobile-menu .mai-nav-sub-toggle { color: var(--site-dark-ink, #E8EAF2); }
        .canvas-mobile-menu .mai-nav-sub { display: none; flex-basis: 100%; flex-direction: column; align-items: center; gap: 0; margin: 0 0 6px; padding: 4px 0 6px; }
        .canvas-mobile-menu .mai-nav-sub-toggle[aria-expanded="true"] + .mai-nav-sub { display: flex; }
        .canvas-mobile-menu .mai-nav-sub > a { font-size: 19px; font-weight: 500; padding: 6px 22px; opacity: 0.88; }
        .canvas-mobile-menu .mai-nav-sub > a[aria-current] { opacity: 1; text-decoration: underline; text-underline-offset: 6px; }
        .footer-nav { align-items: flex-start; }
        .footer-nav .footer-nav-group { display: inline-flex; flex-direction: column; align-items: center; gap: 6px; }
        .footer-nav .footer-nav-sub { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 14px; }
        .footer-nav .footer-nav-sub a { font-size: calc(var(--site-fs-small, 14px) - 1px); opacity: 0.7; }
        @media (prefers-reduced-motion: reduce) { .mai-nav-sub-toggle, .mai-nav-sub-toggle > span { transition: none; } }

        /* ══ trial3 (K2): כרטיס קולקציה — אריח שקט על משטח הסקשן (בלי מסגרת), צילום ביחס קבוע, השני בריחוף; כל הכרטיס קישור
           אחד (stretched link על השם), טבעת פוקוס סביב הכרטיס. דורס את כרטיס ה-trial2 (site_css) — אותם שמות מחלקה. ══ */
        .web-products { --mai-grid-gap: clamp(18px, 2vw, 28px); column-gap: var(--mai-grid-gap); row-gap: clamp(34px, 3.4vw, 48px); margin-top: 30px; }
        /* עמודות לפי מספר המוצרים (בלי יתומים ברמה הראשונה): 4 / 3 בדסקטופ, 3 / 2 בטאבלט, 2 במובייל. */
        @media (min-width: 1024px) {
            .web-products.is-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
            .web-products.is-grid:is(.is-n-3, .is-n-5, .is-n-6, .is-n-9) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .web-products.is-grid.is-n-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        @media (min-width: 640px) and (max-width: 1023px) {
            .web-products.is-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .web-products.is-grid:is(.is-n-2, .is-n-4, .is-n-8) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        /* סקשן מוצרים עם 3 ומעלה — ברוחב גלריה (כמו דף הגלריה): הכרטיסים לא נדחסים במכולה של 980. */
        .mai-canvas-section.has-products-wide.has-products-wide { max-width: none; }
        .mai-canvas-section.has-products-wide.has-products-wide > :not(.mai-sec-atmo) { max-width: min(1240px, 100%); margin-inline: auto; }
        .web-product { position: relative; background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible; color: var(--site-body-ink, var(--site-text)); }
        .web-product-media { aspect-ratio: 4 / 5; border-radius: var(--site-radius-img, 18px); overflow: hidden; background: color-mix(in srgb, var(--site-primary) 6%, var(--site-background)); isolation: isolate; }
        .web-product-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
        .web-product-media .web-product-img2 { opacity: 0; transition: opacity 0.5s ease; }
        @media (hover: hover) {
            .web-product.is-linked:hover .web-product-media img { transform: scale(1.04); }
            .web-product.is-linked:hover .web-product-media.has-alt .web-product-img2 { opacity: 1; }
            .web-product.is-linked:hover .web-product-go { color: var(--site-heading, var(--site-primary)); }
            .web-product.is-linked:hover .web-product-arrow { transform: translateX(-4px); }
        }
        .is-spec.is-img-contain .web-product-media img, .is-spec.is-img-cutout .web-product-media img { object-fit: contain; padding: 8%; }
        .web-product-badges { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 1; display: flex; flex-wrap: wrap; gap: 6px; }
        .web-product-badges .web-product-badge { position: static; padding: 4px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 600; letter-spacing: 0.02em; line-height: 1.4; background: color-mix(in srgb, var(--site-background) 90%, transparent); color: var(--site-body-ink, var(--site-text)); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
        .web-product-badge.is-mto { background: var(--site-accent); color: var(--site-cta-ink, var(--site-primary)); }
        .web-product-badge.is-sample { background: #FFF1C9; color: #4A3900; box-shadow: none; outline: 1.5px dashed #C99A1A; }
        .web-product.is-sold .web-product-media img { filter: grayscale(0.35); opacity: 0.86; }
        .web-product-body { container-type: normal; gap: 6px; padding: 16px 2px 0; }
        .web-product-coll { margin: 0; font-size: 12.5px; font-weight: 600; letter-spacing: 0.02em; opacity: 0.66; }
        .web-product-name { font-size: clamp(18px, 1.45vw, 21px); line-height: 1.3; color: var(--site-heading, var(--site-primary)); }
        .web-product-link { color: inherit; text-decoration: none; }
        .web-product-link::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: calc(var(--site-radius-img, 18px) + 6px); }
        .web-product-link:focus { outline: none; }
        .web-product-link:focus-visible::after { outline: 3px solid var(--site-link, var(--site-secondary)); outline-offset: 8px; }
        .web-product-price { margin: 0; }
        .web-product-amount { font-size: 16.5px; font-weight: 600; letter-spacing: 0.01em; color: var(--site-body-ink, var(--site-text)); }
        .web-product-amount.is-note { font-size: 14.5px; font-weight: 500; opacity: 0.75; }
        .web-product-story { margin: 2px 0 0; font-size: 14.5px; line-height: 1.6; opacity: 0.78; -webkit-line-clamp: 2; }
        .web-product-go { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 14.5px; font-weight: 600; color: var(--site-link, var(--site-secondary)); transition: color 0.2s ease; }
        .web-product-arrow { display: inline-block; transition: transform 0.25s ease; }
        .web-products.is-showcase .web-product-media { aspect-ratio: 1 / 1; }
        .web-products.is-showcase .web-product-name { font-size: clamp(21px, 1.9vw, 26px); }
        .web-products.is-list .web-product { flex-direction: row; gap: clamp(16px, 2.4vw, 28px); align-items: center; }
        .web-products.is-list .web-product-body { padding: 0; }
        .web-product[hidden] { display: none !important; }
        .web-pchips + .web-products { margin-top: 22px; }
        /* trial3: "✏️ עריכת המוצר" — אח של הקישור (z-index 3 מעל שכבת ה-stretched link, 2), בפינה התחתונה של הצילום: margin-top באחוזים
           נמדד מרוחב הכרטיס = רוחב הצילום, כך ש-125% = תחתית צילום 4:5 (100% ב-showcase 1:1). התגיות למעלה — אין התנגשות גם ב-390. */
        .web-products.is-showcase .web-product-edit { margin-top: calc(100% - 46px); }
        .web-products.is-list .web-product-edit { margin-top: 10px; }
        .web-product-edit { position: absolute; top: 0; margin-top: calc(125% - 46px); inset-inline-end: 10px; z-index: 3; min-height: 36px; padding: 6px 12px; border: 0; border-radius: 999px; background: #10131F; color: #fff; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28); opacity: 0; transition: opacity 0.2s ease; }
        .web-product-edit::before, .mai-pp-edit::before { content: "✏️ עריכת המוצר"; } /* טקסט מ-CSS: לא נכנס לטקסט הסקשן שהסוכנים קוראים */
        .web-product:hover .web-product-edit, .web-product-edit:focus-visible { opacity: 1; }
        @media (hover: none) { .web-product-edit { opacity: 1; } }
        @media (max-width: 639px) {
            :where(.is-spec) .web-products, .web-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
            .web-products.is-n-1, .web-products.is-list, .web-products.is-showcase { grid-template-columns: minmax(0, 1fr); }
            .web-product-body { padding: 12px 0 0; gap: 4px; }
            .web-product-name { font-size: 16px; }
            .web-product-amount { font-size: 15px; }
            .web-product-story { font-size: 13px; line-height: 1.5; }
            .web-product-go { font-size: 13.5px; margin-top: 2px; }
            .web-product-badges { top: 8px; inset-inline-start: 8px; }
            .web-product-badges .web-product-badge { font-size: 11.5px; padding: 3px 9px; }
        }
        @media (min-width: 640px) { .web-products.is-n-1:not(.is-list) .web-product { flex-direction: column; } .web-products.is-n-1:not(.is-list) { max-width: 420px; } }
        @media (prefers-reduced-motion: reduce) { .web-product-media .web-product-img2, .web-product-arrow, .web-product-go { transition: none; } }
        body.mai-style-dark .web-product-badges .web-product-badge:not(.is-mto):not(.is-sample) { background: rgba(16, 19, 31, 0.78); color: #F4F6FC; }

        /* ══ trial3 (K2): מנהלים — סקשן מוצרים ריק ("➕ הוספת מוצרים") ותוכן-טיוטה (Data 7). ══ */
        .mai-empty-state .mai-empty-add { display: inline-flex; align-items: center; gap: 6px; margin: 14px auto 0; min-height: 44px; padding: 10px 22px; border: 0; border-radius: 999px; background: var(--site-accent); color: var(--site-cta-ink, var(--site-primary)); font: inherit; font-weight: 700; cursor: pointer; }
        /* הגשרים לסטודיו (עריכת מוצר / הוספת מוצרים) מוצגים רק בתוך הקנבס של הסטודיו (html.mai-in-studio, מהסקריפט למטה). */
        html:not(.mai-in-studio) :is([data-mai-edit-product], [data-mai-open-products]) { display: none !important; }
        .mai-canvas-section.is-draft { outline: 2px dashed rgba(201, 154, 26, 0.75); outline-offset: -12px; }
        .mai-draft-banner { position: relative; z-index: 2; display: flex; gap: 12px; align-items: flex-start; max-width: var(--site-container, 980px); margin: 0 auto 20px; padding: 14px 18px; border-radius: 14px; background: #FFF6D6; color: #3B2F00; border: 1px solid #EFD27A; font-size: 15px; line-height: 1.55; text-align: start; }
        .mai-draft-banner p { margin: 0; color: inherit; }
        .mai-draft-banner small { display: block; margin-top: 4px; opacity: 0.8; font-size: 13.5px; }
        .mai-draft-ico { font-size: 20px; line-height: 1.2; }
        /* trial3 (סקירה K2): טופס יצירת קשר שהגיעו אליו מדף מוצר (?mai_about=) בלי שדה הודעה — "הפנייה על: …" גלוי. */
        .web-form-about { margin: 0; padding: 10px 14px; border-radius: 12px; background: color-mix(in srgb, var(--site-primary) 6%, transparent); font-size: 14.5px; line-height: 1.5; }

        /* ══ 0.9-r2 (M3): מובייל מצוין — כללים גלובליים לטלפון. כל הכללים בתוך media; בלי שינוי בדסקטופ. ══
           א. ההדר: שם העסק בשורה אחת (nowrap + clamp + שלוש נקודות), הדר ≤ 64px, המבורגר 44px.
           ב. צפים (וואטסאפ / נגישות / העוזר) — עמודה אחת עם רווח, 44px, והפוטר מקבל ריפוד תחתון כדי שדבר לא יישאר מתחתיהם.
           ג. יעדי-מגע ≥ 44px לקישורי "לעמוד X ←", פירורי-לחם, פוטר, מפה; שדות-טופס 16px (iOS לא מקרב).
           ד. סקשנים: סטטיסטיקה ב-2 עמודות, צעדים עם מחבר, גלריה 2 עמודות ב-4px, וידאו 16:9 עד הקצה, מפה ≥ 240px.
           ה. נוף של טלפון (גובה נמוך): תמונת-ההירו לא גבוהה ממסך.
           ו. הדר-מעבדה (.mai-hl): רשת-הביטחון של flex-direction:column (header-lab) לא מאפסת רוחבי-אחוזים של המודל (55% / 35%) —
              עמודת הטקסט נשארה ~160px ב-390 (נצפה ב-#107). כל מיכל שמחזיק את הכותרת מקבל רוחב מלא בטלפון. ══ */
        @media (max-width: 860px) {
            .mai-hl :has(h1):not(h1) { width: auto !important; max-width: 100% !important; min-width: 0 !important; }
        }
        /* רשת (grid) של שתי עמודות נערמת בטלפון עומד בלבד (≤640) — הרשת-הביטחון של header-lab מכסה flex בלבד (#106: עמודת טקסט של 160px); בנוף (844) הפריסה של המודל נשארת. */
        @media (max-width: 640px) { .mai-hl :has(h1):not(h1) { grid-template-columns: minmax(0, 1fr) !important; } }
        [data-mai-badge-off] { display: none !important; }
        @media (max-width: 640px) { body.mai-os-lock :is(.mai-a11y, .mai-wa-float, .mai-agent-fab) { visibility: hidden; } } /* גיליון ההזמנה פתוח — הצפים לא מעליו */
        @media (max-width: 640px) {
            .canvas-header { padding: 8px 14px; gap: 10px; }
            .canvas-logo { flex: 1 1 0; min-width: 0; max-width: 100%; font-size: clamp(17px, 5.4vw, 22px); line-height: 1.25; min-height: 44px; }
            .canvas-logo:not(:has(.canvas-logo-img)) { display: block; line-height: 44px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
            .canvas-logo:not(:has(.canvas-logo-img)) { font-size: calc(clamp(17px, 5.4vw, 22px) * var(--site-logo-scale, 1)); } /* 0.9-r3 (M3): שם האתר (אין לוגו-תמונה) מושפע מסליידר גודל הלוגו */
            .canvas-logo:has(.canvas-logo-img) { flex: 0 1 auto; }
            .canvas-burger { flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; }
            .canvas-mobile-menu .mai-nav-sub-toggle { width: 44px; height: 44px; }
            .web-section-link a, .web-map-link { display: inline-flex; align-items: center; min-height: 44px; }
            .mai-crumbs a { display: inline-block; padding-block: 12px; }
            .canvas-footer a { display: inline-block; padding-block: 11px; }
            .canvas-footer .footer-nav { row-gap: 0; }
            .canvas-footer .footer-biz { gap: 0 22px; }
            .web-map.is-loc .web-map-details a { display: inline-block; padding-block: 10px; }
            .web-form-row :is(input, textarea, select), .web-form :is(input, textarea, select) { font-size: 16px; }
            .mai-lb-btn { width: 44px; height: 44px; }
            .web-loc-visual { min-height: 240px; }
        }
        @media (max-width: 639px) {
            /* כרטיס מוצר: הכרטיס כולו קישור (stretched link על השם) — מרחיבים את הקופסה של הקישור ל-44px בלי לשנות את הפריסה (ריפוד = מרווח שלילי); הסיפור ≥ 14px. */
            .web-product-link { display: inline-block; padding-block: 12px; margin-block: -12px; }
            .web-product-story { font-size: 14px; }
            .web-cards.is-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
            .web-cards.is-kpi > :last-child:nth-child(odd) { grid-column: 1 / -1; }
            .web-cards.is-kpi .web-card { padding: 20px 12px; }
            .web-cards.is-kpi .web-card h3, .web-stats .web-stat-value { font-size: clamp(26px, 8vw, 34px); overflow-wrap: anywhere; }
            .web-steps li { position: relative; }
            .web-steps li:not(:last-child)::after { content: ""; position: absolute; inset-inline-start: 38px; top: 100%; width: 2px; height: 14px; background: color-mix(in srgb, var(--site-accent) 55%, transparent); }
            .web-video { margin-inline: -6vw; max-width: none; }
            .web-video-frame, .web-video-link { border-radius: 0; box-shadow: none; }
            .web-video figcaption { padding-inline: 6vw; }
        }
        @media (max-width: 480px) {
            /* צפים: עמודה אחת בצד שמאל (RTL — הקצה הקצר של הטקסט; שם גם פאנל הנגישות והלייטבוקס שומרים מקום): נגישות למטה, וואטסאפ מעליה. */
            .mai-wa-float { right: auto; left: 10px; bottom: 64px; width: 44px; height: 44px; }
            .mai-wa-float svg { width: 26px; height: 26px; }
            .mai-wa-float.is-tucked { transform: translateX(calc(-100% - 10px + 22px)); }
            body .mai-agent-fab { right: 10px; bottom: 10px; width: 44px; height: 44px; }
            body .mai-agent-fab.is-low { bottom: 10px; }
            body .mai-agent-fab.is-tucked { transform: translateX(calc(100% + 10px - 22px)); }
            body.mai-pp-on .mai-agent-fab { bottom: calc(86px + env(safe-area-inset-bottom)); }
            /* הדף נגלל עד הסוף בלי שהצפים מכסים את הפוטר (מרחב לעמודת הצפים: 56px עם נגישות בלבד, 108px עם וואטסאפ). */
            .canvas-footer { padding-bottom: calc(40px + 56px); }
            body:not(.mai-shabbat):has(.mai-wa-float) .canvas-footer { padding-bottom: calc(40px + 108px); }
            /* אריחים קטנים (שם + מחיר בלי תיאור; צוות בלי כרטיס) — שתי עמודות; כרטיסים עם טקסט נשארים בעמודה אחת. */
            .web-menu.is-grid:not(:has(.web-menu-desc)) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
            .web-menu.is-grid:not(:has(.web-menu-desc)) .web-menu-price { font-size: clamp(18px, 5.4vw, 22px); }
            .is-spec.is-type-team.is-var-grid .web-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
            .web-gallery, .web-gallery.is-dense { gap: 4px; }
            .web-gallery .web-gitem { border-radius: 10px; }
            .web-gallery.is-masonry, .web-gallery.is-masonry.is-wide { column-gap: 4px; }
            .web-gallery.is-masonry .web-gitem { margin-bottom: 4px; }
        }
        @media (orientation: landscape) and (max-height: 520px) and (max-width: 1000px) {
            .canvas-hero { padding-block: 6vh; }
            .web-hero-media img, .web-hero-page .web-hero-media img { max-height: 56vh; width: 100%; object-fit: cover; aspect-ratio: auto; }
            .is-spec.is-type-hero_page.is-var-center:not(.is-img-round):not(.is-img-contain):not(.is-img-cutout) .web-hero-media img { aspect-ratio: auto; }
            .canvas-header { padding-block: 6px; }
            .mai-canvas-section { padding-block: min(var(--mai-space-block, 9vh), 8vh); }
        }
    
body{--mai-nav-ink:#1A1A1A;--mai-nav-scrim:rgba(255,255,255,0.5);--mai-nav-bg-solid:var(--site-background);--mai-nav-ink-solid:var(--site-body-ink, var(--site-text));--mai-nav-cta-bg:#2B4C5A;--mai-nav-cta-ink:#FFFFFF;}