/* Homepage v2: layout on top of the shared brand layer in site.css
   (torn photo edges, editorial sections, a hand-drawn line linking the steps). */
.home main { overflow-x: clip; }
html:has(body.home) { overflow-x: clip; }
.home section { padding: 0; position: relative; }
.home h2 { font-weight: 700; }
.home .big { font-size: clamp(38px, 5.6vw, 72px); line-height: 1.04; letter-spacing: -.015em; max-width: 16ch; }
.home .huge { font-size: clamp(40px, 6.6vw, 92px); line-height: 1; letter-spacing: -.02em; font-weight: 900; max-width: 14ch; margin-inline: auto; }

/* ---------- photo placeholders (swap for <img> when real photos arrive) ---------- */
.ph { position: relative; margin: 0; background:
  radial-gradient(120% 90% at 20% 10%, rgba(192,138,46,.35), transparent 60%),
  radial-gradient(90% 80% at 85% 90%, rgba(74,107,79,.55), transparent 65%),
  linear-gradient(160deg, #A8B59A, #6F7F62 55%, #4E5B44); }
.ph::before { content: ""; position: absolute; inset: 0; background: var(--grain); opacity: .9; mix-blend-mode: multiply; }
.ph[data-shot]:not([data-shot=""])::after { content: "צילום: " attr(data-shot); position: absolute; top: 18px; inset-inline-start: 22px; max-width: 34ch; font: 500 13px/1.4 var(--ui); color: rgba(255,255,255,.85); background: rgba(0,0,0,.25); padding: 6px 10px; border-radius: 4px; }
.ph img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* torn edges (physical sides, page is RTL) */
.torn-r { clip-path: polygon(0 0, 97% 0, 97.8% 2.5%, 97.2% 5%, 98.4% 8%, 97.6% 11%, 98.9% 15%, 98.1% 19%, 99.4% 24%, 98.3% 28%, 99% 33%, 97.9% 38%, 98.8% 44%, 98.2% 49%, 99.6% 55%, 98.5% 60%, 99.2% 66%, 98% 71%, 98.7% 77%, 97.6% 82%, 98.4% 88%, 97.3% 93%, 97.9% 100%, 0 100%); }
.torn-l { clip-path: polygon(2% 0, 100% 0, 100% 100%, 2.4% 100%, 1.6% 95%, 2.6% 89%, 1.2% 83%, 2.2% 77%, .8% 70%, 1.9% 63%, .6% 56%, 1.7% 49%, .4% 42%, 1.5% 35%, .7% 28%, 2% 21%, 1% 14%, 2.3% 7%); }
.torn-b { clip-path: polygon(0 0, 100% 0, 100% 94%, 92% 97%, 84% 94.5%, 75% 98%, 66% 95%, 57% 99%, 48% 95.5%, 38% 98.5%, 29% 95%, 20% 99%, 11% 95.5%, 0 98%); }

/* ---------- steps line ---------- */
.how-line path { fill: none; stroke: var(--thread); stroke-width: 1.4; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.js-draw path { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 2.4s cubic-bezier(.4,.1,.2,1); }
.js-draw.drawn path { stroke-dashoffset: 0; }
.wrap { position: relative; z-index: 1; }

/* ---------- hero ---------- */
.hero { min-height: max(33.5vw, 440px); padding: 0 !important; }
.hero-photo { position: absolute; top: 0; left: 0; width: 68vw; height: 100%; overflow: hidden; }
/* crop the photo's left edge at the girl's dress */
.hero-photo img { position: absolute; top: 0; left: -4.4vw; width: 72.4vw; max-width: none; height: 100%; object-position: 50% 62%; }
/* torn paper sheet laid over the photo: a light fibrous rim under the paper, soft shadow on the photo */
.hero-tear { position: absolute; top: 0; left: 55vw; width: 14vw; height: 100%; pointer-events: none; filter: drop-shadow(-3px 1px 12px rgba(30,20,10,.2)); clip-path: inset(0 0 0 -40px); }
.hero-tear i { position: absolute; inset: 0; -webkit-mask: var(--m) 0 0 / 100% 100% no-repeat; mask: var(--m) 0 0 / 100% 100% no-repeat; }
.hero-tear .rim { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M100 -1 L31.7 -1.0 L32.79 -0.05 L31.86 0.82 L31.05 1.79 L31.79 2.7 L30.49 3.83 L30.31 4.58 L31.24 5.72 L31.67 6.26 L30.66 7.53 L29.37 8.52 L29.96 9.03 L29.11 9.58 L28.55 10.28 L29.03 11.15 L28.7 12.32 L28.22 13.33 L27.65 14.36 L28.37 15.09 L27.34 16.38 L25.6 17.45 L24.89 18.13 L25.25 18.69 L24.47 19.51 L23.74 20.32 L20.48 21.5 L21.61 22.16 L20.84 23.04 L18.09 23.86 L18.5 24.86 L16.52 25.58 L17.76 26.34 L15.56 27.45 L15.36 28.15 L16.68 28.69 L16.18 29.34 L15.5 30.19 L15.53 31.28 L15.82 32.29 L16.52 33.13 L18.7 33.85 L19.03 34.99 L20.94 36.2 L23.52 37.01 L22.98 38.03 L24.09 39.32 L25.64 40.02 L25.14 40.79 L25.07 41.35 L26.01 42.31 L26.97 43.29 L28.7 44.16 L28.5 45.04 L28.61 46.24 L30.64 46.86 L30.72 48.01 L32.69 48.67 L33.98 49.92 L38.04 51.18 L39.16 52.16 L39.5 52.74 L41.84 54.01 L43.14 55.08 L44.93 56.24 L44.68 56.97 L45.25 58.05 L46.68 58.73 L47.53 59.91 L48.52 60.64 L47.03 61.3 L48.18 62.02 L47.83 62.56 L48.84 63.36 L48.54 63.96 L49.85 65.18 L48.99 66.2 L47.5 67.17 L47.06 67.7 L48.24 68.93 L47.46 70.2 L50.12 71.21 L52.4 72.29 L55.22 73.59 L58.11 74.53 L60.27 75.75 L62.28 76.81 L63.52 78.04 L66.23 79.09 L66.87 80.29 L69.15 81.42 L69.77 82.38 L70.57 83.18 L70.61 84.17 L73.5 85.18 L74.19 86.39 L74.99 87.2 L75.28 88.16 L75.51 89.33 L76.12 90.43 L77.49 91.41 L78.17 92.1 L78.28 92.99 L77.93 94.23 L78.19 94.74 L78.44 95.78 L80.18 96.42 L79.87 97.45 L80.38 98.66 L80.69 99.69 L82.27 100.54 L100 101 Z'/%3E%3C/svg%3E"); background: var(--rim); }
.hero-tear .paper { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M100 -1 L33.32 -1.0 L33.92 -0.38 L33.82 0.18 L32.88 0.97 L32.72 1.88 L32.63 2.72 L33.09 3.3 L32.36 4.46 L33.0 5.14 L32.59 6.39 L33.0 7.21 L32.66 7.75 L31.3 8.48 L31.38 9.08 L30.8 10.23 L31.15 11.19 L30.68 11.99 L29.66 12.54 L30.37 13.21 L29.39 14.05 L29.13 15.02 L29.28 15.76 L27.79 16.82 L27.51 17.78 L26.56 18.98 L26.11 19.71 L24.51 20.3 L22.82 21.41 L21.73 22.3 L21.76 23.33 L20.89 24.29 L19.89 25.04 L18.96 26.02 L18.89 26.88 L17.91 28.14 L17.16 29.17 L18.16 30.23 L18.64 31.52 L18.19 32.25 L18.25 33.29 L19.41 34.16 L20.12 34.75 L22.15 35.86 L23.76 36.56 L24.71 37.76 L26.09 38.62 L27.29 39.83 L27.13 41.02 L27.78 41.85 L29.59 43.06 L28.76 43.68 L29.29 44.36 L30.44 45.25 L30.03 45.96 L31.36 46.8 L33.38 47.75 L34.27 48.8 L36.42 49.8 L37.91 50.34 L40.28 51.46 L41.79 52.6 L42.71 53.42 L43.98 54.43 L44.85 54.98 L45.71 55.61 L45.66 56.15 L46.34 56.77 L46.81 57.57 L48.57 58.77 L48.39 59.38 L49.02 60.16 L50.11 60.76 L50.05 62.05 L49.72 62.94 L50.28 63.52 L51.19 64.24 L49.95 64.86 L50.48 66.13 L50.26 66.74 L50.03 67.26 L50.22 68.55 L49.41 69.6 L49.96 70.4 L52.7 71.51 L55.2 72.64 L57.71 73.32 L60.13 74.6 L62.11 75.75 L63.12 76.84 L64.91 77.76 L65.24 78.28 L66.72 79.0 L69.27 80.06 L70.32 80.91 L71.86 82.2 L71.56 83.0 L72.25 83.68 L73.63 84.34 L75.25 85.56 L75.84 86.44 L76.02 87.58 L78.23 88.61 L78.83 89.74 L78.45 90.62 L79.19 91.75 L80.58 92.89 L79.9 93.71 L80.84 94.97 L80.15 95.6 L81.71 96.22 L81.17 97.37 L83.22 98.53 L82.79 99.56 L82.85 100.5 L100 101 Z'/%3E%3C/svg%3E"); background: var(--bg) var(--grain); }
.hero-in { max-width: none; min-height: inherit; padding: 48px 6vw 48px 0; display: flex; align-items: center; }
.hero-copy { width: max(26.5vw, 280px); }
.hero .kicker-hand { font-size: clamp(22px, 1.9vw, 30px); margin-bottom: .6vw; }
.hero h1 { font-size: clamp(36px, 4.4vw, 68px); line-height: 1.12; font-weight: 700; letter-spacing: -.01em; }
.hero .lede { font-size: clamp(16px, 1.3vw, 20px); line-height: 1.55; margin-top: 2vw; max-width: 30ch; color: var(--text); opacity: .78; }
.hero .cta { margin-top: 1.9vw; gap: 10px; }
.hero .btn { height: 48px; padding-inline: 22px; font-size: 16px; }
.hero .note { margin-top: 10px; font-size: 13px; max-width: 24vw; }

/* phone: upright, thin frame, peeking up from the bottom edge of the photo */
.phone { position: absolute; left: 7vw; top: calc(100% - 210px); width: 270px; z-index: 3; border: 4px solid #2A2622; border-radius: 34px; padding: 12px 12px 18px; background: var(--bg); box-shadow: 0 40px 70px -40px rgba(30,20,10,.5); }
.m-status { display: flex; justify-content: space-between; font-size: 11px; font-weight: 600; padding: 2px 8px 10px; }
.m-dots { display: flex; gap: 3px; align-items: center; }
.m-dots i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.m-bar { margin-bottom: 12px; padding-inline: 4px; }
.m-bar b { font-size: 26px; font-weight: 900; }
.m-pill { border-radius: 99px; background: transparent; border: 1px solid var(--text); font-weight: 500; }
.m-card { position: relative; padding: 0; border: 0; border-radius: 4px; overflow: hidden; background: var(--surface); border-inline-start: 4px solid var(--tc); }
.m-card + .m-card { margin-top: 12px; }
.m-img { height: 92px; }
.m-img.ph { background: radial-gradient(80% 90% at 30% 20%, rgba(255,230,180,.45), transparent 60%), linear-gradient(150deg, color-mix(in srgb, var(--tc) 55%, #C9B48A), var(--tc)); }
.m-date { position: absolute; top: 10px; inset-inline-start: 10px; background: var(--bg); color: var(--text); width: 52px; padding: 5px 0 6px; text-align: center; border-radius: 3px; box-shadow: 0 2px 0 var(--tc); }
.m-date small { display: block; font-size: 10px; font-weight: 600; color: var(--tc); }
.m-date b { display: block; font-family: var(--display); font-weight: 900; font-size: 28px; line-height: 1; }
.m-body { padding: 10px 12px 12px; font-size: 12.5px; }
.m-tag { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .02em; color: var(--tc); padding: 0; background: none; }
.m-title { font-family: var(--display); font-weight: 700; font-size: 19px; margin: 2px 0 3px; line-height: 1.15; }
.m-meta { color: var(--muted); }
.m-foot { display: flex; justify-content: space-between; margin-top: 8px; padding-top: 8px; border-top: 1px dashed var(--line); font-weight: 600; }
.m-seats { margin-top: 8px; font-size: 12px; font-weight: 600; color: var(--tc); }
.m-bar2 { height: 5px; border-radius: 0; background: var(--soft); margin-top: 5px; }
.m-bar2 i { background: var(--tc); border-radius: 0; }

/* ---------- problem ---------- */
.pain-sec { padding: 120px 0 140px !important; }
.pain-sec .big { max-width: 13ch; font-size: clamp(28px, 3.4vw, 48px); }
.pain { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 72px; }
/* keep the columns clear of the phone hanging down from the hero */
.pain { margin-left: max(0px, 7vw + 300px - max(24px, (100vw - 1072px) / 2)); }
.pain > div { border: 0; padding: 0; }
.pain > div:nth-child(2) { margin-top: 64px; }
.pain > div:nth-child(3) { margin-top: 128px; }
.hic-img { display: block; height: 56px; width: auto; margin-bottom: 18px; }
.pain h3 { font-family: var(--display); font-size: 26px; font-weight: 700; }
.pain p { font-size: 17px; color: var(--muted); margin-top: 10px; max-width: 30ch; }

/* ---------- for parents ---------- */
.feat-sec { padding: 0 !important; display: flex; }
.feat-photo { position: absolute; top: 0; bottom: 0; right: 0; width: 45vw; }
/* same torn cut as the hero, mirrored: paper on the left, photo on the right */
.feat-tear { position: absolute; top: 0; bottom: 0; right: 38vw; width: calc(7vw + 6px); pointer-events: none; filter: drop-shadow(3px 1px 12px rgba(30,20,10,.2)); clip-path: inset(0 -40px 0 0); }
.feat-tear i { position: absolute; inset: 0; -webkit-mask: var(--m) 0 0 / 100% 100% no-repeat; mask: var(--m) 0 0 / 100% 100% no-repeat; }
.feat-tear .rim { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 -1 L19.05 -1.0 L19.47 0.26 L19.16 0.83 L19.53 1.66 L19.22 2.27 L19.81 3.12 L19.9 3.99 L21.55 4.56 L21.48 5.39 L21.51 6.48 L22.52 7.03 L22.57 8.0 L23.59 9.0 L23.59 9.79 L23.74 10.58 L24.03 11.61 L24.85 12.18 L26.09 13.25 L27.05 14.11 L26.78 14.76 L28.85 15.51 L28.13 16.17 L28.6 16.75 L30.45 17.47 L31.29 18.63 L32.17 19.42 L34.11 20.17 L34.37 21.11 L36.32 21.69 L38.2 22.76 L38.85 23.45 L41.16 24.68 L42.49 25.94 L45.07 27.22 L47.15 28.05 L51.02 29.2 L52.65 30.48 L52.2 31.74 L52.2 33.03 L52.34 33.81 L50.54 34.61 L51.01 35.17 L52.01 35.82 L50.85 37.09 L51.66 37.67 L51.92 38.3 L51.86 39.45 L53.62 40.29 L53.05 41.15 L54.8 42.36 L55.48 43.58 L56.24 44.41 L57.39 45.57 L57.6 46.26 L59.82 47.09 L61.17 48.04 L62.75 49.2 L65.32 50.2 L68.14 51.15 L69.49 51.85 L69.47 52.41 L69.84 53.34 L71.12 54.29 L72.21 55.15 L71.85 55.66 L72.11 56.78 L73.08 57.98 L73.68 59.02 L74.69 59.88 L75.59 60.45 L76.14 61.33 L76.55 62.26 L77.07 63.18 L78.7 64.4 L82.25 65.6 L83.15 66.5 L83.54 67.54 L83.26 68.27 L83.4 69.05 L83.61 70.32 L83.77 71.13 L83.71 72.28 L82.91 73.23 L82.16 73.95 L82.03 74.62 L81.42 75.81 L80.71 76.39 L80.21 76.99 L79.91 77.84 L79.17 78.55 L78.64 79.25 L75.58 80.26 L74.73 81.4 L73.66 82.19 L72.67 83.36 L72.66 84.45 L71.92 85.5 L72.89 86.06 L70.93 87.08 L71.88 88.36 L69.83 89.01 L69.68 90.0 L70.0 91.09 L69.88 92.15 L70.07 93.27 L69.34 94.25 L68.23 95.01 L69.54 95.59 L68.54 96.25 L68.77 97.0 L69.08 97.93 L67.96 98.78 L68.53 99.8 L0 101 Z'/%3E%3C/svg%3E"); background: var(--rim); }
.feat-tear .paper { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 -1 L16.44 -1.0 L17.57 0.15 L17.63 0.88 L18.09 1.94 L17.44 2.53 L19.08 3.34 L19.08 4.04 L19.98 4.79 L19.71 6.05 L19.55 7.35 L21.24 8.5 L21.24 9.12 L22.17 10.06 L21.97 10.73 L23.11 11.94 L22.9 12.69 L24.75 13.94 L25.55 15.23 L27.83 16.38 L27.9 17.62 L28.87 18.42 L30.68 19.52 L32.4 20.79 L34.89 21.91 L35.56 22.6 L37.75 23.86 L38.75 24.65 L40.6 25.78 L43.08 26.76 L44.83 27.71 L48.58 28.73 L49.07 29.49 L50.44 30.72 L49.58 31.43 L49.85 32.54 L49.38 33.41 L49.76 34.42 L48.6 35.16 L50.12 36.45 L49.69 36.97 L49.77 38.02 L51.12 39.1 L50.72 40.08 L50.89 40.73 L51.07 41.35 L52.69 42.02 L53.3 42.95 L54.35 44.19 L55.06 44.73 L55.43 45.3 L56.76 46.47 L57.17 47.3 L59.15 47.87 L60.41 48.56 L61.35 49.27 L63.82 50.01 L65.05 50.9 L66.79 51.79 L67.81 52.7 L69.53 53.97 L69.35 54.66 L69.86 55.31 L70.8 55.83 L70.91 56.78 L71.62 58.0 L73.19 58.96 L73.24 59.91 L74.34 60.7 L73.98 61.8 L75.05 62.59 L76.22 63.5 L77.42 64.16 L79.55 65.22 L80.27 66.08 L81.25 66.98 L80.9 67.86 L82.68 68.57 L82.02 69.74 L81.68 70.84 L82.12 71.55 L81.1 72.61 L82.11 73.49 L81.6 74.48 L80.99 75.06 L78.41 76.23 L78.5 77.16 L77.65 77.83 L76.62 79.01 L74.46 79.86 L73.58 80.79 L72.68 81.72 L72.35 82.5 L72.28 83.65 L70.27 84.48 L70.24 85.58 L70.5 86.68 L70.11 87.21 L69.14 87.94 L69.17 88.7 L68.83 89.4 L67.96 90.13 L68.63 90.83 L67.64 91.57 L67.42 92.37 L67.98 93.65 L67.02 94.28 L67.18 95.12 L66.99 95.93 L66.17 97.04 L66.02 97.99 L66.13 98.92 L66.87 100.06 L0 101 Z'/%3E%3C/svg%3E"); background: var(--bg) var(--grain); }
.feat-in { width: 100%; display: flex; justify-content: flex-end; }
/* paper sheet laid over the photo, running off the left edge, torn on the side facing the photo */
.sheet { width: min(620px, 52vw); padding: 120px 0 120px 0; padding-inline-start: 56px; position: relative; isolation: isolate; }
.sheet::before { content: ""; display: none; position: absolute; z-index: -1; inset-block: 0; inset-inline-start: 0; inset-inline-end: -50vw; background: var(--bg) var(--grain); filter: drop-shadow(-12px 0 24px rgba(30,20,10,.18)); clip-path: polygon(0 0, 99.2% 0, 99.5% 3%, 99.1% 6%, 99.7% 10%, 99.3% 14%, 99.9% 19%, 99.4% 24%, 99.8% 30%, 99.2% 35%, 99.6% 41%, 99.1% 47%, 99.8% 53%, 99.3% 59%, 99.7% 65%, 99% 71%, 99.5% 77%, 99.1% 83%, 99.6% 89%, 99% 95%, 99.4% 100%, 0 100%); }
.sheet h2 { font-size: clamp(34px, 4.4vw, 54px); line-height: 1.05; max-width: 12ch; }
.feats { display: grid; grid-template-columns: 1fr 1fr; gap: 36px 40px; margin-top: 44px; }
.feat { background: none; border: 0; padding: 0; display: block; border-radius: 0; }
.feat .hic-img { height: 44px; margin-bottom: 12px; }
.feat h3 { font-size: 19px; font-weight: 600; }
.feat p { font-size: 15.5px; color: var(--muted); margin-top: 6px; line-height: 1.6; }

/* ---------- how ---------- */
.how-sec { padding: 150px 0 170px !important; }
.how-head { display: flex; flex-direction: column; align-items: flex-start; }
/* one step below the hero headline */
.how-head .big { font-size: clamp(36px, 4.2vw, 64px); line-height: 1.12; letter-spacing: -.01em; }
.how-path { position: relative; margin-top: 64px; }
.how-line { position: absolute; inset: 0 0 auto; width: 100%; height: 220px; z-index: 0; }
.steps { position: relative; z-index: 1; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; }
.steps li { padding: 0; }
.steps li:nth-child(2) { margin-top: 70px; }
.steps li:nth-child(3) { margin-top: 20px; }
.steps li::before { content: none; }
.steps i { font-style: normal; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; font-family: var(--display); font-weight: 900; font-size: 34px; color: #fff; background: var(--accent); margin-bottom: 20px; box-shadow: 0 0 0 8px var(--bg); }
.steps li:nth-child(2) i { background: var(--clay); }
.steps li:nth-child(3) i { background: var(--ochre); }
.steps b { font-family: var(--display); font-size: 26px; font-weight: 700; display: block; margin-bottom: 8px; }
.steps span { color: var(--muted); font-size: 17px; }
.steps b .soon { font-size: 22px; }

/* ---------- business ---------- */
.biz { background: #22301F; color: #EDE7DC; padding: 0 0 120px !important; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .biz { background: #1A2318; } }
.biz-photo { position: relative; width: min(520px, 70vw); height: 300px; margin: -90px auto 0 calc(50% - 560px + 24px); transform: rotate(2.2deg); z-index: 2; box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); border: 10px solid #F7F4EE; border-bottom-width: 36px; }
.biz-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 72px; align-items: end; margin-top: 64px; }
.biz h2 { color: #F7F4EE; max-width: 12ch; }
.biz ul { list-style: none; display: grid; gap: 0; margin-top: 36px; }
.biz li { display: block; font-size: 18px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.14); }
.biz li::before { content: none; }
.biz .cta { margin-top: 32px; }
.math { background: none; border: 0; border-radius: 0; padding: 0; }
.math-head { font-family: var(--display); font-size: 30px; font-weight: 700; line-height: 1.2; color: #F7F4EE; max-width: 16ch; }
.math-row { display: block; margin-top: 26px; }
.math-row span { display: block; font-size: 15px; color: #C9D4C5; margin-bottom: 8px; }
.math-bar { height: auto; padding: 0; border-radius: 0; background: none !important; font-family: var(--display); font-weight: 900; font-size: 64px; line-height: 1; color: #F7F4EE; border-bottom: 6px solid rgba(255,255,255,.2); padding-bottom: 10px; width: 100%; }
.math-bar.a { width: 100%; }
.math-bar.b { width: 100% !important; color: #E9A27F; border-bottom-color: #E9A27F; }
.math-note { margin-top: 22px; font-size: 14.5px; color: #B8C2B3; line-height: 1.6; }

/* ---------- world ---------- */
.world-sec { padding: 140px 0 !important; }
.world-in { display: grid; grid-template-columns: .95fr 1.05fr; gap: 72px; align-items: center; }
.world-photo { height: 520px; margin-inline-start: calc(-1 * max(24px, (100vw - 1120px) / 2 + 24px)); }
.world-photo figcaption { position: absolute; top: 28px; inset-inline-end: -36px; font-size: 48px; color: var(--clay); z-index: 2; }
.world-sec .world-photo { clip-path: none; }
.world-photo img { object-position: 50% 62%; }
.world-copy h2 { font-size: clamp(32px, 3.8vw, 48px); line-height: 1.1; max-width: 15ch; }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 40px; }
.stat b { font-size: 96px; font-weight: 900; line-height: .9; color: var(--accent); }
.stat:nth-child(2) b { color: var(--clay); }
.stat:nth-child(3) b { color: var(--ochre); }
.stat p { font-size: 15px; margin-top: 12px; }
.world-copy { min-width: 0; }
.countries { display: flex; flex-wrap: wrap; margin-top: 36px; font-size: 16px; color: var(--muted); line-height: 2; }
.countries span { white-space: nowrap; }
.countries span:not(:last-child)::after { content: "·"; margin-inline: 10px; color: var(--clay); }

/* ---------- faq ---------- */
.faq-sec { padding: 130px 0 !important; border-top: 1px solid var(--line); }
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 72px; align-items: start; }
.faq-title { position: sticky; top: 110px; max-width: 8ch; }
.faq { max-width: none; counter-reset: q; }
.faq details { border-bottom: 1px solid var(--line); padding: 24px 0; counter-increment: q; }
.faq details:first-child { border-top: 1px solid var(--line); }
.faq summary { font-family: var(--display); font-size: 23px; font-weight: 700; align-items: baseline; }
.faq summary::before { content: counter(q, decimal-leading-zero); font: 600 13px var(--ui); color: var(--clay); min-width: 28px; }
.faq summary { justify-content: flex-start; }
.faq summary::after { margin-inline-start: auto; color: var(--clay); }
.faq p { padding-inline-start: 44px; }

/* ---------- final ---------- */
.final { padding: 150px 0 160px !important; text-align: center; }
.final-sprout { width: 64px; height: 64px; color: var(--accent); display: block; margin: 0 auto 28px; }
.final .cta { justify-content: center; margin-top: 44px; }

/* ---------- responsive ---------- */
@media (max-width: 1000px) {
  .hero-in { grid-template-columns: 1fr; }
  .hero-photo { position: relative; width: 100%; height: 56vw; max-height: 460px; }
  .hero-photo img { position: static; width: 100%; }
  .hero-tear { display: none; }
  .hero-photo { clip-path: polygon(0 0, 100% 0, 100% 94%, 92% 97%, 84% 94.5%, 75% 98%, 66% 95%, 57% 99%, 48% 95.5%, 38% 98.5%, 29% 95%, 20% 99%, 11% 95.5%, 0 98%); }
  .hero { min-height: 0; margin-top: 0; display: flex; flex-direction: column; }
  .hero-in { min-height: 0; padding: 0 24px; }
  .hero-copy { width: auto; padding: 36px 0 48px; }
  .hero .note { max-width: none; }
  .hero h1 { font-size: 42px; }
  .how-head .big { font-size: 40px; }
  .phone { position: relative; left: auto; top: auto; margin: 0 auto -140px; }
  .pain { margin-left: 0; }
  .pain-sec { padding: 190px 0 90px !important; }
  .feat-sec { display: block; }
  .feat-photo { position: relative; width: 100%; height: 50vw; max-height: 380px; }
  .feat-tear { display: none; }
  .sheet { margin: -50px auto 0; width: 100%; padding: 56px 0 80px; }
  .sheet::before { display: block; inset: 0 -24px; clip-path: polygon(0 1.5%, 8% 0, 22% 1.2%, 37% 0, 52% 1%, 67% 0, 82% 1.2%, 100% 0, 100% 100%, 0 100%); filter: none; }
  .biz-photo { margin: -60px auto 0; }
  .biz-grid, .world-in, .faq-grid { grid-template-columns: 1fr; gap: 48px; }
  .faq-title { position: static; }
  .world-photo { height: 60vw; max-height: 400px; margin-inline: -24px; }
  .world-photo figcaption { inset-inline-end: 20px; top: auto; bottom: -24px; }
}
@media (max-width: 720px) {
  .pain, .steps, .feats { grid-template-columns: 1fr; gap: 40px; }
  .pain > div:nth-child(n), .steps li:nth-child(n) { margin-top: 0; }
  .how-line { display: none; }
  .steps { border-inline-start: 1.5px dashed var(--thread); padding-inline-start: 24px; margin-inline-start: 26px; }
  .steps i { width: 52px; height: 52px; font-size: 28px; margin-inline-start: -51px; }
  .stats { grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
  .stat b { font-size: 64px; }
  .stat p { font-size: 13.5px; }
  .pain-sec, .how-sec, .world-sec, .faq-sec, .final { padding-block: 90px !important; }
  .pain-sec { padding-top: 180px !important; }
  .biz { padding-bottom: 80px !important; }
  .math-bar { font-size: 52px; }
}
@media (max-width: 480px) {
  .wrap { padding-inline: 16px; }
  .world-photo { margin-inline: -16px; }
  .phone { width: 250px; }
  .sheet::before { inset-inline: -16px; }
  .hero-in { padding: 0 16px; }
  .hero h1 { font-size: 36px; }
  .how-head .big { font-size: 34px; }
  .kicker-hand { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) { .js-draw path { transition: none; } }

/* ---------- LTR (English): mirror the layout; torn strips and the hero photo are flipped so the cut faces the text ---------- */
[dir="ltr"] .hero-photo { left: auto; right: 0; transform: scaleX(-1); }
[dir="ltr"] .hero-tear { left: auto; right: 55vw; transform: scaleX(-1); }
[dir="ltr"] .hero-in { padding: 48px 0 48px 6vw; }
/* English words run longer than Hebrew, so the headline steps down to stay clear of the tear */
[dir="ltr"] .hero h1 { font-size: clamp(34px, 3.15vw, 50px); }
[dir="ltr"] .phone { left: auto; right: 7vw; }
[dir="ltr"] .pain { margin-left: 0; margin-right: max(0px, 7vw + 300px - max(24px, (100vw - 1072px) / 2)); }
[dir="ltr"] .feat-photo { right: auto; left: 0; }
[dir="ltr"] .feat-tear { right: auto; left: 38vw; transform: scaleX(-1); }
[dir="ltr"] .biz-photo { margin: -90px calc(50% - 560px + 24px) 0 auto; transform: rotate(-2.2deg); }
[dir="ltr"] .how-line { transform: scaleX(-1); }
@media (max-width: 1000px) {
  [dir="ltr"] .hero-in { padding: 0 24px; }
  [dir="ltr"] .phone { right: auto; }
  [dir="ltr"] .pain { margin-right: 0; }
  [dir="ltr"] .biz-photo { margin: -60px auto 0; }
}
@media (max-width: 480px) {
  [dir="ltr"] .hero-in { padding: 0 16px; }
}
