/* ==========================================================================
   Nadav Cohen Group — Homepage
   Visual language derived from the approved Executive Profile (Final).
   ========================================================================== */

/* Heebo — אחסון עצמי, ללא בקשות רשת חיצוניות. 5 קבצים.
   שתי משפחות נפרדות בכוונה: "NCG Latin" (לטינית, ספרות, פיסוק) ו-"NCG Hebrew".
   אין לאחד אותן למשפחה אחת עם unicode-range — הצירוף הזה גורם לנפילה
   לגופן מערכת בתווים לטיניים.
   Fallback: Segoe UI · Arial Hebrew · Arial. */

/* לטינית, ספרות וסימני פיסוק — נבדקת ראשונה */
@font-face{ font-family:"NCG Latin"; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/heebo-latin-400-normal.woff2") format("woff2"); }
@font-face{ font-family:"NCG Latin"; font-style:normal; font-weight:700; font-display:swap;
  src:url("/assets/fonts/heebo-latin-700-normal.woff2") format("woff2"); }

/* עברית */
@font-face{ font-family:"NCG Hebrew"; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/heebo-hebrew-400-normal.woff2") format("woff2"); }
@font-face{ font-family:"NCG Hebrew"; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/heebo-hebrew-500-normal.woff2") format("woff2"); }
@font-face{ font-family:"NCG Hebrew"; font-style:normal; font-weight:700; font-display:swap;
  src:url("/assets/fonts/heebo-hebrew-700-normal.woff2") format("woff2"); }

:root{
  /* Brand */
  --ink:        #0D1216;
  --ink-soft:   #1B2126;
  --text:       #33393D;
  --text-2:     #555C61;
  --muted:      #6A7075;
  --line:       #E4E6E8;
  --line-soft:  #EEEFF0;
  --bg:         #FFFFFF;
  --panel:      #F7F7F6;
  --accent:     #DF6133;
  --accent-2:   #F2AF1B;
  --accent-ink: #B94D26;

  /* Type */
  --font: "NCG Latin", "NCG Hebrew", "Segoe UI", "Arial Hebrew", Arial, sans-serif;

  /* Rhythm */
  --container: 1180px;
  --gutter: clamp(20px, 5vw, 48px);
  --sec-y: clamp(48px, 5.6vw, 88px);
  --radius: 2px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:96px;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:clamp(16px, 1.02vw, 17px);
  font-weight:400;
  line-height:1.68;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg{ max-width:100%; }
img{ height:auto; }

h1,h2,h3{
  color:var(--ink);
  font-weight:700;
  line-height:1.22;
  letter-spacing:-0.01em;
  margin:0;
  text-wrap:balance;
}

p{ margin:0 0 1.15em; }
p:last-child{ margin-bottom:0; }

a{ color:inherit; }

/* Accessibility ---------------------------------------------------------- */
.skip-link{
  position:absolute; inset-inline-start:-9999px; top:0;
  background:var(--ink); color:#fff;
  padding:12px 20px; z-index:200; font-weight:500;
}
.skip-link:focus{ inset-inline-start:0; }

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:1px;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
}

/* Layout ----------------------------------------------------------------- */
.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.section{ padding-block:var(--sec-y); }
.section-alt{ background:var(--panel); }
.section-distinction{ background:var(--bg); }

.section + .section:not(.section-alt):not(.section-dark):not(.section-cta){
  border-top:1px solid var(--line-soft);
}

/* Shared type ------------------------------------------------------------ */
.overline{
  display:flex; align-items:center; gap:14px;
  margin:0 0 20px;
  font-size:.72rem; font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}
.overline .sec-num{
  color:var(--accent-ink);
  font-weight:700;
  letter-spacing:.14em;
}
.overline::after{
  content:""; flex:0 0 34px; height:2px; background:var(--accent);
}
.overline-accent{
  color:var(--accent-ink);
  letter-spacing:.2em;
  font-weight:400;   /* לטינית בלבד — משקל 400 (אין קובץ latin-500) */
}
.overline-accent::after{ display:none; }
.overline-invert{ color:#9BA3AA; }

.section-head{ max-width:62ch; margin-bottom:clamp(24px,2.8vw,36px); }
.section-head h2{ font-size:clamp(1.6rem, 3.1vw, 2.4rem); }
.section-intro{
  margin-top:16px;
  font-size:1.06rem;
  color:var(--text-2);
  max-width:60ch;
}

.prose-2col{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:clamp(24px,3.4vw,56px);
  max-width:100%;
  font-size:1.02rem;
  color:var(--text-2);
}
.prose-2col p{ margin:0; }
.firm-name{ color:var(--ink); font-weight:700; }

.statement{
  margin-top:clamp(26px,2.9vw,38px);
  padding-inline-start:22px;
  border-inline-start:2px solid var(--accent);
  font-size:clamp(1.06rem, 1.9vw, 1.3rem);
  font-weight:500;
  line-height:1.5;
  color:var(--ink);
  max-width:56ch;
}

/* Buttons ---------------------------------------------------------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  padding:15px 30px;
  border:1px solid transparent;
  border-radius:var(--radius);
  font-family:inherit;
  font-size:.95rem;
  font-weight:500;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease;
}
.btn-primary{ background:var(--ink); color:#fff; }
.btn-primary:hover{ background:var(--accent); }

.btn-ghost{
  background:transparent; color:var(--ink);
  border-color:var(--line);
}
.btn-ghost:hover{ border-color:var(--ink); }
.btn-invert{ color:#fff; border-color:rgba(255,255,255,.28); }
.btn-invert:hover{ border-color:#fff; }

.btn-sm{ padding:11px 20px; font-size:.88rem; }
.btn-block{ width:100%; }

/* Header ----------------------------------------------------------------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.94);
  /* Safari (macOS ו-iOS) מחייב את הקידומת. ללא השורה הראשונה, הכותרת
     הקבועה בספארי מוצגת ללא טשטוש הרקע — הבדל חזותי מול Chrome. */
  -webkit-backdrop-filter:saturate(180%) blur(10px);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line-soft);
  transition:box-shadow .2s ease, border-color .2s ease;
}
.site-header.is-stuck{ box-shadow:0 1px 14px rgba(13,18,22,.06); }

.header-inner{
  display:flex; align-items:center; gap:clamp(16px,2.4vw,34px);
  min-height:78px;
}

.brand{ display:flex; align-items:center; flex:0 0 auto; }
.brand-logo{ width:auto; height:34px; display:block; }

.nav-desktop{ margin-inline-start:auto; }
.nav-desktop ul{
  display:flex; align-items:center; gap:clamp(14px,1.8vw,28px);
  list-style:none; margin:0; padding:0;
}
.nav-desktop a{
  position:relative;
  display:inline-block;
  padding:6px 0;
  font-size:.9rem; font-weight:400;
  color:var(--text-2);
  text-decoration:none;
  white-space:nowrap;
  transition:color .18s ease;
}
.nav-desktop a::after{
  content:""; position:absolute; inset-inline:0; bottom:0;
  height:1.5px; background:var(--accent);
  transform:scaleX(0); transform-origin:inline-end;
  transition:transform .2s ease;
}
.nav-desktop a:hover,
.nav-desktop a.is-active{ color:var(--ink); }
.nav-desktop a:hover::after,
.nav-desktop a.is-active::after{ transform:scaleX(1); transform-origin:inline-start; }

.header-cta{ flex:0 0 auto; }

.nav-toggle{
  display:none;
  margin-inline-start:auto;
  width:44px; height:44px;
  padding:11px 9px;
  background:none; border:1px solid var(--line); border-radius:var(--radius);
  cursor:pointer;
}
.nav-toggle-bar{
  display:block; height:1.5px; background:var(--ink);
  transition:transform .22s ease, opacity .18s ease;
}
.nav-toggle-bar + .nav-toggle-bar{ margin-top:5px; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

.nav-mobile{
  border-top:1px solid var(--line-soft);
  background:#fff;
  padding:8px var(--gutter) 24px;
}
.nav-mobile[hidden]{ display:none; }
.nav-mobile ul{ list-style:none; margin:0 0 16px; padding:0; }
.nav-mobile li + li{ border-top:1px solid var(--line-soft); }
.nav-mobile a{
  display:block; padding:15px 0;
  font-size:1rem; color:var(--ink); text-decoration:none;
}

/* Hero ------------------------------------------------------------------- */
.hero{
  padding-block:clamp(40px, 5.4vw, 76px) clamp(40px, 5vw, 70px);
  border-bottom:1px solid var(--line-soft);
}
.hero-title{
  font-size:clamp(2.05rem, 5.6vw, 4rem);
  line-height:1.13;
  margin-bottom:clamp(18px,2.2vw,26px);
  max-width:18ch;
}
.hero-lead{
  max-width:58ch;
  font-size:clamp(1.02rem, 1.35vw, 1.16rem);
  color:var(--text-2);
  line-height:1.72;
  margin-bottom:clamp(24px,2.8vw,34px);
}
.hero-lead p{ margin:0; }                 /* שתי פסקאות ב-Hero — ריווח מינימלי בלבד */
.hero-lead p + p{ margin-top:0.85em; }
.hero-actions{
  display:flex; flex-wrap:wrap; gap:12px;
  margin-bottom:clamp(26px,3.2vw,40px);
}
.hero-signature{
  position:relative;
  padding-top:20px;
  font-size:.98rem;
  font-weight:500;
  color:var(--ink);
  letter-spacing:.01em;
}
.hero-signature::before{
  content:""; position:absolute; top:0; inset-inline-start:0;
  width:56px; height:2px;
  background:linear-gradient(to left, var(--accent-2), var(--accent));
}

/* Hero composition ------------------------------------------------------- */
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  gap:clamp(24px,4vw,64px);
  align-items:center;
}
.hero-visual{ align-self:center; }
.hero-svg{
  display:block;
  width:100%; height:auto;
  max-height:470px;
  margin-inline-start:auto;
}

/* Diagram ---------------------------------------------------------------- */
.diagram{
  margin:clamp(26px,3.2vw,42px) 0 0;
  padding:0;
}
.diagram-svg{
  display:block; width:100%; height:auto;
  max-height:250px;
}
.diagram-labels{
  display:flex; justify-content:space-between; gap:12px;
  margin-top:6px;
  font-size:.72rem; letter-spacing:.1em; color:var(--muted);
}
.diagram-labels span:nth-child(1){ text-align:start; }
.diagram-labels span:nth-child(2){ text-align:center; }
.diagram-labels span:nth-child(3){ text-align:end; }

/* Grid list (מה אנחנו מקימים) -------------------------------------------- */
.grid-list{
  list-style:none; margin:0; padding:0;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  border-top:1px solid var(--line);
}
.grid-list li{
  display:flex; align-items:baseline; gap:14px;
  padding:21px 0 21px;
  padding-inline-end:24px;
  border-bottom:1px solid var(--line);
}
.grid-list .idx{
  font-size:.72rem; font-weight:700; letter-spacing:.1em;
  color:var(--accent-ink);
  flex:0 0 auto;
}
.grid-list .txt{
  font-size:1.06rem; font-weight:500; color:var(--ink);
  line-height:1.4;
}

/* Steps ------------------------------------------------------------------ */
.steps{
  list-style:none; margin:0; padding:0;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:0;
}
.step{
  padding:0 clamp(16px,2vw,28px);
  border-inline-end:1px solid var(--line);
}
.step:first-child{ padding-inline-start:0; }
.step:last-child{ border-inline-end:0; padding-inline-end:0; }
.step-num{
  margin:0 0 12px;
  font-size:.72rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent-ink);
}
.step h3{
  font-size:1.16rem;
  margin-bottom:10px;
}
.step p:last-child{
  font-size:.96rem; color:var(--text-2); line-height:1.65;
}

/* Proofs ----------------------------------------------------------------- */
/* רצועות מלאות רוחב. המלל המאושר של הכרטיסים ארוך מדי לכרטיס בן ~340px,
   ולכן הרצועה מאפשרת פריסה דו־טורית: אבחון מימין, פתרון משמאל, והוכחת
   הביצוע חותמת בתחתית. שפת העיצוב — פאנל, קו עליון בצבע המותג, אותם
   מרווחים וטיפוגרפיה — נשמרה ללא שינוי. */
.proofs{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(18px,2vw,26px);
}
.proof{
  padding:clamp(22px,2.5vw,34px) clamp(22px,2.6vw,38px);
  background:var(--panel);
  border-top:2px solid var(--accent);
}
.proof-head{
  display:flex; align-items:baseline; justify-content:space-between;
  flex-wrap:wrap; gap:4px 20px;
  margin:0 0 10px;
}
.proof-num{
  margin:0;
  font-size:.7rem; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted);
}
.proof-sector{
  margin:0;
  font-size:.78rem; letter-spacing:.03em; color:var(--muted);
}
.proof h3{
  font-size:clamp(1.12rem,1.4vw,1.3rem); line-height:1.34;
  margin:0 0 clamp(16px,1.6vw,20px);
  padding-bottom:clamp(14px,1.5vw,18px);
  border-bottom:1px solid var(--line);
}
.proof-body{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:clamp(18px,2.2vw,34px);
}
.proof-body p{
  margin:0;
  font-size:.95rem; color:var(--text-2); line-height:1.66;
}
.proof-result{
  margin:clamp(16px,1.7vw,22px) 0 0;
  padding-top:clamp(14px,1.5vw,18px);
  border-top:1px solid var(--line);
  font-size:.95rem; line-height:1.66; color:var(--text);
  max-width:90ch;   /* אורך שורה קריא — הרצועה רחבה מטור טקסט נוח */
}
.proof-result b{ color:var(--ink); font-weight:700; }

/* Quiet CTA -------------------------------------------------------------- */
.quiet-cta{
  margin:clamp(24px,2.9vw,36px) 0 0;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.quiet-cta a{
  display:inline-flex; align-items:center; gap:10px;
  font-size:1rem; font-weight:500; color:var(--ink);
  text-decoration:none;
  padding-bottom:3px;
  border-bottom:1px solid var(--line);
  transition:border-color .18s ease;
}
.quiet-cta a:hover{ border-bottom-color:var(--accent); }
.quiet-cta .arw{
  color:var(--accent);
  flex:0 0 auto;
  transition:transform .18s ease;
}
.quiet-cta a:hover .arw{ transform:translateX(-4px); }

/* About + portrait ------------------------------------------------------- */
.about-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
  gap:clamp(24px,2.6vw,40px);
  align-items:start;
}
/* המקטע נקרא כמכלול אחד: כותרת → פסקאות → תמונה */
#about .section-head{ margin-bottom:clamp(18px,1.9vw,22px); }
.about-copy{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:clamp(18px,2.2vw,32px);
  font-size:1.02rem;
  color:#B4BABF;
}
.about-copy p{ margin:0; }

.portrait{ margin:0; max-width:336px; }
.portrait picture{ display:block; }   /* נדרש לשילוב <picture> — <picture> הוא inline כברירת מחדל */
.portrait-img,
.portrait-placeholder{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  background:#171D22;
}
.portrait-placeholder{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  border:1px dashed rgba(255,255,255,.22);
  text-align:center;
}
.portrait-frame{
  position:absolute; inset:12px;
  border:1px solid rgba(255,255,255,.08);
}
.portrait-text{
  position:relative;
  padding:0 22px;
  font-size:.9rem; font-weight:500; line-height:1.5; color:#C6CBCF;
}
.portrait-kicker{
  display:block; margin-bottom:10px;
  font-size:.64rem; letter-spacing:.2em; text-transform:uppercase;
  font-weight:400;   /* לטינית בלבד */
  color:var(--accent-2);
}
.portrait-note{
  display:block; margin-top:8px;
  font-size:.74rem; font-weight:400; color:#8B9298; letter-spacing:.02em;
}
.portrait-cap{
  margin-top:14px;
  font-size:.95rem; font-weight:500; color:#fff;
}
.portrait-cap span{
  display:block; margin-top:3px;
  font-size:.68rem; font-weight:400; letter-spacing:.16em;
  text-transform:uppercase; color:#8B9298;
}

/* Dark section ----------------------------------------------------------- */
.section-dark{
  background:var(--ink);
  color:#C6CBCF;
}
.section-dark h2{ color:#fff; }
.section-dark .prose-2col{ color:#B4BABF; }
.section-dark .overline::after{ background:var(--accent); }

/* CTA + form ------------------------------------------------------------- */
.section-cta{
  background:var(--panel);
  border-top:1px solid var(--line);
}
.cta-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,460px);
  gap:clamp(32px,4.2vw,64px);
  align-items:start;
}
.cta-copy h2{ font-size:clamp(1.6rem,3vw,2.3rem); }
.cta-lead{
  margin-top:16px;
  max-width:48ch;
  color:var(--text-2);
  font-size:1.02rem;
}
.cta-contact{
  list-style:none; margin:clamp(22px,2.8vw,32px) 0 0; padding:0;
  border-top:1px solid var(--line);
}
.cta-contact li{
  display:flex; align-items:baseline; gap:16px;
  padding:11px 0;
  border-bottom:1px solid var(--line);
  font-size:.96rem;
}
.cta-contact .lbl{
  flex:0 0 84px;
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted);
}
.cta-contact a{ color:var(--ink); text-decoration:none; border-bottom:1px solid transparent; }
.cta-contact a:hover{ border-bottom-color:var(--accent); }

.cta-form-wrap{
  background:#fff;
  border:1px solid var(--line);
  padding:clamp(22px,2.6vw,32px);
}

/* נוסח מסירת המידע וקישור הפרטיות ---------------------------------------- */
.form-consent{
  margin:14px 0 0;
  display:flex; flex-direction:column; gap:6px;
  font-size:.78rem; line-height:1.55;
}
.form-consent .slot{
  color:var(--muted);
  border:1px dashed var(--line);
  background:#FAFAFA;
  padding:7px 10px;
}
.field{ margin-bottom:16px; }
.field-row{
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
.field label{
  display:block;
  margin-bottom:7px;
  font-size:.83rem; font-weight:500; color:var(--ink);
  letter-spacing:.01em;
}
.req{ color:var(--accent-ink); }
.field input,
.field textarea{
  width:100%;
  padding:12px 14px;
  font-family:inherit; font-size:.97rem; color:var(--ink);
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  transition:border-color .16s ease;
}
.field textarea{ resize:vertical; min-height:96px; line-height:1.6; }
.field input:hover,
.field textarea:hover{ border-color:#C9CDD1; }
.field input:focus,
.field textarea:focus{ border-color:var(--ink); outline-offset:1px; }
.field input[aria-invalid="true"],
.field textarea[aria-invalid="true"]{ border-color:var(--accent); }

.err{
  margin:6px 0 0;
  font-size:.8rem; color:var(--accent-ink);
}
/* שמירת מקום להודעת השגיאה: בלעדיה הופעת ההודעה בעת יציאה מהשדה
   מזיזה את כפתור השליחה מטה, והלחיצה הראשונה עלולה להחטיא אותו. */
.field{ padding-bottom:1.35em; position:relative; }
.field .err{ position:absolute; inset-inline-start:0; bottom:0; margin:0; }
.hp{ position:absolute; inset-inline-start:-9999px; height:0; overflow:hidden; }

#form-submit{ margin-top:6px; }

.form-status{
  margin:14px 0 0;
  font-size:.9rem;
  line-height:1.6;
}
.form-status.is-ok{ color:#1F6B3F; }
.form-status.is-err{ color:var(--accent-ink); }
.form-status:empty{ display:none; }

/* Footer ----------------------------------------------------------------- */
.site-footer{
  background:var(--ink);
  color:#A9AFB4;
  padding-top:clamp(44px,5vw,66px);
  font-size:.92rem;
}
.footer-inner{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:clamp(32px,4vw,64px);
  padding-bottom:clamp(28px,3.6vw,44px);
}
.footer-logo{
  width:auto; height:36px; display:block;
}
.footer-tag{
  margin:18px 0 0;
  font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:#8F969C;
}
.footer-principle{
  margin:14px 0 0;
  font-size:1.02rem;
  color:#E2E5E8; font-weight:500;
}
.footer-cols{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;
}
.footer-h{
  margin:0 0 15px;
  font-size:.73rem; letter-spacing:.16em; text-transform:uppercase; color:#fff;
  font-weight:500;
}
.footer-col address{ font-style:normal; margin:0; }   /* נטרול ברירת המחדל של <address> — ללא שינוי חזותי */
.footer-col ul{ list-style:none; margin:0; padding:0; }
.footer-col li{ margin-bottom:11px; font-size:.95rem; }
.footer-col a{ text-decoration:none; border-bottom:1px solid transparent; transition:color .16s ease; }
.footer-col a:hover{ color:#fff; border-bottom-color:var(--accent); }
.footer-col .plain{ color:#8F969C; }

.footer-bottom{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:12px;
  padding-block:20px;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:.83rem; color:#8F969C;
}
.footer-bottom p{ margin:0; }
.to-top{ display:inline-flex; align-items:center; gap:7px; text-decoration:none; }
.to-top svg{ opacity:.7; }
.to-top:hover{ color:#fff; }

/* ==========================================================================
   Responsive — mobile keeps the message hierarchy, not a squeezed desktop
   ========================================================================== */

@media (max-width: 1080px){
  .hero-grid{ grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); }
  .about-grid{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
  .about-copy{ grid-template-columns:1fr; gap:16px; }
  .portrait{ max-width:308px; margin-inline-start:auto; }
  .grid-list{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .grid-list li{ padding-inline-end:16px; }
  .steps{ grid-template-columns:repeat(2, minmax(0,1fr)); row-gap:36px; }
  .step:nth-child(2n){ border-inline-end:0; padding-inline-end:0; }
  .step:nth-child(2n+1){ padding-inline-start:0; }
  .cta-grid{ grid-template-columns:1fr; }
  .cta-form-wrap{ max-width:640px; }
}

@media (max-width: 960px){
  .nav-desktop{ display:none; }
  .header-cta{ display:none; }
  .nav-toggle{ display:block; }
  .header-inner{ min-height:70px; }
  .brand-logo{ height:30px; }
}

@media (max-width: 900px){
  /* Hero: message hierarchy stays first, composition follows it */
  .hero-grid{ grid-template-columns:1fr; gap:clamp(26px,5vw,40px); }
  .hero-svg{ max-height:198px; margin-inline:auto; }
  .about-grid{ grid-template-columns:1fr; }
  .portrait{ max-width:260px; margin-inline:0; }
  .proof-body{ grid-template-columns:1fr; gap:14px; }
  /* תיקון: בין 761 ל-810px נותר הפוטר בשתי עמודות-על, ועמודות המשנה ירדו
     ל-~138px — צר מכתובת הדוא"ל (143px), שגלשה מגבול העמודה. הפוטר נערם
     לעמודה אחת החל מ-900px, בעקבות שאר הפריסה. פריסה בלבד, ללא שינוי עיצובי. */
  .footer-inner{ grid-template-columns:1fr; }
}

@media (max-width: 760px){
  html{ scroll-padding-top:92px; }
  .prose-2col{ grid-template-columns:1fr; gap:18px; }
  .quiet-cta a{ font-size:.95rem; }
  .grid-list{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; row-gap:0; }
  .step{
    padding:24px 0;
    border-inline-end:0;
    border-bottom:1px solid var(--line);
  }
  .step:first-child{ padding-top:0; }
  .step:last-child{ border-bottom:0; padding-bottom:0; }
  .field-row{ grid-template-columns:1fr; gap:0; }
  .footer-inner{ grid-template-columns:1fr; }
  .footer-cols{ grid-template-columns:1fr 1fr; gap:28px; }
  .footer-logo{ height:32px; }
  .footer-principle{ font-size:1.06rem; }
  .footer-col li{ font-size:1rem; margin-bottom:13px; }
  .footer-h{ font-size:.76rem; }
  .footer-bottom{ font-size:.86rem; }
  .footer-tag{ letter-spacing:.09em; font-size:.72rem; }
  .portrait{ max-width:216px; }   /* גובה 325 -> 270px (-17%) · יחס 4:5 נשמר, לא נחתך דבר */
  /* שורת המיצוב ב-Hero: שבירה מסודרת לשתי שורות במקום שבירה מקרית */
  .overline-accent .pos-line{ display:block; }
  .overline-accent .pos-part{ display:block; }
  .overline-accent .pos-sep { display:none; }
  .diagram{ overflow-x:hidden; }
  .diagram-svg{ min-height:160px; }
  .hero-title{ max-width:100%; }
  .btn{ padding:14px 24px; }
  .hero-actions .btn{ flex:1 1 auto; }
}

@media (max-width: 420px){
  /* תיקון קריאות: ההקטנה ל-.66rem (10.5px) לא נדרשה — במדידה שלוש התוויות
     תופסות 218px מתוך 280px ב-320px רוחב. הגודל חוזר ל-.72rem, הגודל הבסיסי
     של הרכיב ושל שאר ה-overlines באתר. צמצום הריווח בלבד נשמר. */
  .diagram-labels{ letter-spacing:.06em; }
  .cta-contact .lbl{ flex-basis:72px; }
}

@media print{
  .site-header,.nav-mobile,.hero-actions,.cta-form-wrap,.to-top{ display:none !important; }
  body{ color:#000; }
}

/* ==========================================================================
   עמודי תוכן משפטי (privacy.html · accessibility.html)
   רכיב טקסט בלבד. משתמש בטוקנים, בטיפוגרפיה ובמרווחים הקיימים —
   ללא צבעים, גופנים או ערכים חדשים.
   ========================================================================== */
.legal-head{ margin-bottom:clamp(26px,3vw,40px); max-width:70ch; }
.legal-head h1{ font-size:clamp(1.7rem,3.2vw,2.5rem); margin-bottom:14px; }
.legal-meta{
  margin:0; font-size:.86rem; color:var(--muted);
  padding-top:14px; border-top:1px solid var(--line);
}
.legal-meta span + span::before{ content:"·"; margin:0 10px; color:var(--line); }

.legal{ max-width:74ch; font-size:1.01rem; color:var(--text-2); }
.legal > section{ padding-top:clamp(24px,2.6vw,34px); }
.legal > section + section{ border-top:1px solid var(--line-soft); }
.legal h2{
  font-size:clamp(1.12rem,1.5vw,1.32rem); line-height:1.34;
  margin:0 0 14px;
}
.legal h3{ font-size:1.02rem; margin:22px 0 8px; }
.legal p{ margin:0 0 1.05em; line-height:1.72; }
.legal ul{ margin:0 0 1.05em; padding-inline-start:20px; }
.legal li{ margin-bottom:8px; line-height:1.7; }
.legal a{ color:var(--accent-ink); text-decoration:none; border-bottom:1px solid var(--line); }
.legal a:hover{ border-bottom-color:var(--accent); }
.legal strong{ color:var(--ink); font-weight:500; }

/* פרט עובדתי שממתין לאישור — נראה בבירור, לא מתחזה לתוכן סופי */
.pending{
  display:inline-block;
  padding:1px 8px;
  background:#FDF1E9; color:var(--accent-ink);
  border:1px dashed var(--accent);
  border-radius:var(--radius);
  font-size:.9em;
}
.legal-note{
  margin-top:clamp(26px,3vw,38px);
  padding:18px 20px;
  background:var(--panel);
  border-inline-start:2px solid var(--accent);
  font-size:.94rem; color:var(--text-2);
}
.legal-back{ margin-top:clamp(26px,3vw,38px); }

@media (max-width: 760px){
  .legal{ font-size:1rem; }
  .legal-meta span{ display:block; }
  .legal-meta span + span::before{ content:none; margin:0; }
  .legal-meta span + span{ margin-top:4px; }
}

/* ==========================================================================
   עמודי משנה (solutions · method · proof · about · contact · insights)
   נבנים מטוקנים, טיפוגרפיה ומרווחים קיימים בלבד. אין צבע, גופן או ערך חדש.
   ========================================================================== */

/* כותרת עמוד ------------------------------------------------------------- */
.page-hero{ padding-block:clamp(38px,4.4vw,72px) clamp(30px,3.4vw,52px); }
.page-head{ max-width:68ch; }
.page-head h1{ font-size:clamp(1.75rem,3.5vw,2.7rem); margin:0 0 clamp(14px,1.6vw,20px); }
.page-lead{ margin:0; font-size:clamp(1.02rem,1.3vw,1.14rem); color:var(--text-2); max-width:62ch; }

.visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* רשימת סימנים ----------------------------------------------------------- */
.signs{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 clamp(24px,3vw,48px);
}
.signs li{
  padding:15px 0; border-bottom:1px solid var(--line);
  font-size:.99rem; color:var(--text-2);
}

/* ארבעת המרכיבים --------------------------------------------------------- */
.layer-list{ list-style:none; margin:0; padding:0; display:grid; gap:0; }
.layer-list li{
  display:grid; grid-template-columns:64px minmax(0,1fr);
  gap:clamp(14px,1.8vw,26px);
  padding:clamp(20px,2.2vw,28px) 0;
  border-top:1px solid var(--line);
}
.layer-list li:last-child{ border-bottom:1px solid var(--line); }
.layer-num{
  margin:0; font-size:.86rem; font-weight:700; letter-spacing:.1em; color:var(--accent-ink);
}
.layer-list h3{ font-size:1.08rem; margin:0 0 7px; }
.layer-list p:last-child{ margin:0; font-size:.97rem; color:var(--text-2); line-height:1.66; }

/* השוואה ----------------------------------------------------------------- */
.compare{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,2vw,26px);
}
.compare-col{
  padding:clamp(20px,2.2vw,28px);
  background:var(--bg); border-top:2px solid var(--line);
}
.section-alt .compare-col{ background:var(--bg); }
.compare-col-do{ border-top-color:var(--accent); }
.compare-h{
  margin:0 0 14px; font-size:.72rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.compare-col ul{ list-style:none; margin:0; padding:0; }
.compare-col li{
  padding:9px 0; font-size:.96rem; color:var(--text-2); line-height:1.6;
  border-bottom:1px solid var(--line-soft);
}
.compare-col li:last-child{ border-bottom:0; }

.note-line{
  margin:clamp(20px,2.2vw,28px) 0 0;
  padding-top:16px; border-top:1px solid var(--line);
  font-size:.94rem; color:var(--muted); max-width:80ch;
}
.note-top{ margin:0 0 clamp(24px,2.6vw,34px); padding:0 0 16px; border-top:0; border-bottom:1px solid var(--line); }

/* תוצאות ----------------------------------------------------------------- */
.outcome-list{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(20px,2.4vw,34px) clamp(24px,3vw,52px);
}
.outcome-list li{ padding-top:16px; border-top:2px solid var(--accent); }
.outcome-list h3{ font-size:1.05rem; margin:0 0 8px; }
.outcome-list p{ margin:0; font-size:.96rem; color:var(--text-2); line-height:1.66; }

/* דרך העבודה — זרימה ---------------------------------------------------- */
.flow{ list-style:none; margin:0; padding:0; counter-reset:none; }
.flow-step{
  display:grid; grid-template-columns:110px minmax(0,1fr);
  gap:clamp(14px,2vw,32px);
  padding:clamp(20px,2.4vw,30px) 0;
  border-top:1px solid var(--line);
}
.flow-step:last-child{ border-bottom:1px solid var(--line); }
.flow-num{
  margin:0; font-size:.72rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--accent-ink);
}
.flow-step h3{ font-size:1.12rem; margin:0 0 8px; }
.flow-step p:last-child{ margin:0; font-size:.98rem; color:var(--text-2); line-height:1.68; }

/* הוכחות ביצוע — עמוד ייעודי -------------------------------------------- */
.pf-list{ display:grid; gap:clamp(20px,2.2vw,30px); }
.pf{
  padding:clamp(22px,2.6vw,36px) clamp(22px,2.6vw,40px);
  background:var(--panel); border-top:2px solid var(--accent);
}
.pf-head{
  display:flex; align-items:baseline; justify-content:space-between;
  flex-wrap:wrap; gap:4px 20px; margin:0 0 10px;
}
.pf-num{ margin:0; font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.pf-sector{ margin:0; font-size:.82rem; color:var(--text-2); }
.pf-meta{ color:var(--muted); }
.pf-title{
  font-size:clamp(1.16rem,1.5vw,1.38rem); line-height:1.33;
  margin:0 0 clamp(18px,1.8vw,24px);
  padding-bottom:clamp(14px,1.5vw,18px); border-bottom:1px solid var(--line);
}
.pf-body{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(18px,2.2vw,34px); }
.pf-field h3{
  font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent-ink); margin:0 0 9px;
}
.pf-field p{ margin:0; font-size:.95rem; color:var(--text-2); line-height:1.66; }
.pf-field ul{ list-style:none; margin:0; padding:0; }
.pf-field li{
  position:relative; padding-inline-start:15px; margin-bottom:7px;
  font-size:.95rem; color:var(--text-2); line-height:1.6;
}
.pf-field li::before{
  content:""; position:absolute; inset-inline-start:0; top:.72em;
  width:5px; height:1px; background:var(--accent);
}
.pf-result{
  margin:clamp(18px,1.8vw,24px) 0 0; padding-top:clamp(14px,1.5vw,18px);
  border-top:1px solid var(--line);
  font-size:.96rem; line-height:1.66; color:var(--text); max-width:90ch;
}
.pf-result b{ color:var(--ink); font-weight:700; }
.pf-foot{
  margin-top:clamp(14px,1.5vw,18px); padding-top:clamp(12px,1.3vw,16px);
  border-top:1px solid var(--line);
}
.pf-cap{ margin:0 0 6px; font-size:.93rem; color:var(--text-2); max-width:90ch; }
.pf-cap b{ color:var(--ink); font-weight:700; }
.pf-limit{ margin:0; font-size:.84rem; color:var(--muted); }

/* פס CTA כהה ------------------------------------------------------------- */
.cta-band{ padding-block:clamp(38px,4vw,60px); }
.band-inner{
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(20px,3vw,48px); align-items:center;
}
.cta-band h2{ color:#fff; font-size:clamp(1.3rem,2.3vw,1.85rem); margin:0 0 10px; }
.cta-band p{ margin:0; color:#B9C0C6; font-size:1rem; max-width:62ch; line-height:1.66; }
.band-note{ margin-top:10px !important; font-size:.9rem !important; color:#8F969C !important; }
.band-action{ margin:0; }

/* מרכז ידע --------------------------------------------------------------- */
.ins-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2.2vw,30px); }
.ins-card{ padding-top:18px; border-top:2px solid var(--accent); }
.ins-kicker{
  margin:0 0 10px; font-size:.7rem; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted);
}
.ins-card h2{ font-size:1.1rem; line-height:1.36; margin:0 0 12px; }
.ins-card h2 a{ text-decoration:none; border-bottom:1px solid transparent; transition:border-color .16s ease; }
.ins-card h2 a:hover{ border-bottom-color:var(--accent); }
.ins-card p{ margin:0 0 12px; font-size:.95rem; color:var(--text-2); line-height:1.64; }
.ins-meta{ margin:0 !important; font-size:.8rem !important; color:var(--muted) !important; }

.article-body h2{ margin-top:clamp(26px,2.8vw,38px); }
.article-body h2:first-child{ margin-top:0; }
.article-foot{
  max-width:74ch; margin-top:clamp(30px,3.2vw,44px);
  padding-top:20px; border-top:1px solid var(--line);
}
.article-foot .footer-h{ color:var(--muted); margin-bottom:12px; }
.related{ list-style:none; margin:0; padding:0; }
.related li{ margin-bottom:9px; }
.related a{ font-size:.98rem; color:var(--accent-ink); text-decoration:none; border-bottom:1px solid var(--line); }
.related a:hover{ border-bottom-color:var(--accent); }

/* יצירת קשר -------------------------------------------------------------- */
.fit-list{ list-style:none; margin:clamp(18px,2vw,26px) 0 0; padding:0; }
.fit-list li{
  position:relative; padding:10px 16px 10px 0; padding-inline-start:16px;
  font-size:.97rem; color:var(--text-2); line-height:1.6;
  border-bottom:1px solid var(--line);
}
.fit-list li::before{
  content:""; position:absolute; inset-inline-start:0; top:1.15em;
  width:6px; height:1px; background:var(--accent);
}
.cta-note{
  margin:clamp(18px,2vw,26px) 0 0; padding:14px 18px;
  background:var(--panel); border-inline-start:2px solid var(--accent);
  font-size:.95rem; color:var(--text-2);
}
.next-step{ padding-block:clamp(26px,3vw,44px); }

@media (max-width: 1080px){
  .ins-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px){
  .pf-body{ grid-template-columns:1fr; gap:16px; }
  .band-inner{ grid-template-columns:1fr; }
}
@media (max-width: 760px){
  .signs{ grid-template-columns:1fr; }
  .outcome-list{ grid-template-columns:1fr; }
  .compare{ grid-template-columns:1fr; }
  .ins-grid{ grid-template-columns:1fr; }
  .layer-list li{ grid-template-columns:1fr; gap:6px; }
  .flow-step{ grid-template-columns:1fr; gap:6px; }
  .band-action .btn{ width:100%; }
}

/* כפתור פעולה בסוף מקטע */
.section-action{ margin:clamp(24px,2.9vw,36px) 0 0; }


/* ==========================================================================
   אזור טופס שיחת האבחון — הבלטה מאופקת והדגשה זמנית לאחר לחיצה.
   משתמש בטוקנים הקיימים בלבד. אין צבע, גופן או ערך חדש.
   ========================================================================== */
.cta-form-wrap{
  scroll-margin-top:110px;          /* גובה הכותרת הקבועה + אוויר */
  background:var(--bg);
  border:1px solid var(--line);
  border-top:2px solid var(--accent);
  border-radius:var(--radius);
  padding:clamp(22px,2.6vw,34px);
  box-shadow:0 1px 3px rgba(13,18,22,.05), 0 8px 26px rgba(13,18,22,.05);
  transition:box-shadow .35s ease, border-color .35s ease;
}
.form-title{
  font-size:clamp(1.12rem,1.5vw,1.32rem);
  line-height:1.34;
  margin:0 0 clamp(16px,1.8vw,22px);
  padding-bottom:clamp(12px,1.4vw,16px);
  border-bottom:1px solid var(--line);
}

/* הדגשה זמנית — מתחזקת המסגרת והצל בצבע המותג, ללא הבהוב */
.cta-form-wrap.is-target{
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(223,97,51,.24), 0 10px 30px rgba(13,18,22,.10);
}

@media (max-width: 760px){
  .cta-form-wrap{ scroll-margin-top:96px; }
}

@media (prefers-reduced-motion: reduce){
  .cta-form-wrap{ transition:none; }
}


/* ==========================================================================
   עמוד יצירת קשר — הטופס ראשון, והדגשה זמנית הנראית גם במסך צר.
   טוקנים קיימים בלבד. אין צבע, גופן או ערך חדש.
   ========================================================================== */

/* הטופס תופס את העמודה הראשית; פרטי הקשר יורדים לעמודת משנה.
   מתחת ל-1080px הפריסה כבר עמודה אחת, ולכן סדר ה-DOM מציב את הטופס ראשון. */
.cta-grid.form-first{ grid-template-columns:minmax(0,1fr) minmax(0,360px); }
/* מתחת ל-1080px — עמודה אחת, כמו יתר הפריסה.
   נדרש כאן במפורש: הסלקטור בעל שתי מחלקות גובר על הכלל הכללי במדיה. */
@media (max-width: 1080px){
  .cta-grid.form-first{ grid-template-columns:1fr; }
}

.form-sub{
  margin:0 0 clamp(18px,2vw,26px);
  font-size:.97rem; color:var(--text-2); line-height:1.66;
}

/* שלושה שלבים — אותו רכיב קיים, בשלוש עמודות במקום ארבע */
.steps-3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width: 760px){ .steps-3{ grid-template-columns:1fr; } }

/* הדגשת השדה הראשון — משלימה את הדגשת המעטפת, ונראית גם ללא מיקוד */
.field.is-target-field input{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(223,97,51,.16);
}
.field.is-target-field label{ color:var(--accent-ink); }

@media (prefers-reduced-motion: reduce){
  .field.is-target-field input{ transition:none; }
}

/* הכותרת הראשית של עמוד יצירת הקשר יושבת בתוך מעטפת הטופס.
   היא נשארת ברמת H1 ומקבלת נוכחות של כותרת עמוד, באותה סקאלת טיפוגרפיה. */
h1.form-title{ font-size:clamp(1.5rem,2.6vw,2.1rem); }
