/* ===== Global polish layer (all pages) — warm, clean, hugging ===== */

html { scroll-behavior: smooth; }

/* Soft hover-lift on the common card components */
.card, .product, .article-card, .episode, .research-card, .vision-card,
.team-card, .offer-item, .sm-col, .pillar {
  transition: transform .26s cubic-bezier(.2,.7,.2,1), box-shadow .26s ease, border-color .26s ease;
}
.card:hover, .product:hover, .article-card:hover, .episode:hover,
.research-card:hover, .vision-card:hover, .offer-item:hover {
  transform: translateY(-5px);
  /* hover shadow owned by the card-system block below (single card spec) */
}

/* Warmer rounded images inside content cards */
.article-card img, .card img, .course-cover img { border-radius: inherit; }

/* Button warmth */
.btn-accent { box-shadow: 0 10px 26px rgba(226,120,58,0.26); }
.btn-accent:hover { transform: translateY(-1px); box-shadow: 0 14px 32px rgba(226,120,58,0.32); }
.btn-primary:hover, .btn-outline:hover { transform: translateY(-1px); }

/* Home: process stepper + consult form + FAQ (PDF alignment) */
.home-stepper { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom:34px; }
.home-stepper .step { display:flex; align-items:center; gap:10px; }
.home-stepper .step-n { width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--b-orange,#E2783A); color:#fff; font-weight:700; font-family:var(--he-font-sans); }
.home-stepper .step-l { font-family:var(--he-font-sans); font-weight:600; color:var(--he-fg-1,#2b2226); }
.home-stepper .step:not(:last-child)::after { content:"·"; color:var(--he-fg-3,#8b7a82); margin-inline-start:6px; }
.home-consult.art-consult-in { display:grid; grid-template-columns:1fr 1.1fr; gap:36px; align-items:center;
  background:#fff; border:1px solid var(--he-border,#eadfd2); border-radius:24px; padding:36px 40px; max-width:1020px; margin:0 auto;
  box-shadow:0 18px 48px -28px rgba(135,43,100,.2); }
.home-consult .art-consult-text h2 { margin:0 0 10px; }
.home-consult .art-consult-text p { margin:0; color:var(--he-fg-2,#5b5158); }
.home-consult .art-consult-form { display:grid; gap:12px; }
.home-consult .art-consult-form .field { display:flex; flex-direction:column; gap:5px; }
.home-consult .art-consult-form label { font-family:var(--he-font-sans); font-size:13px; font-weight:600; color:var(--he-fg-2,#5b5158); }
.home-consult .art-consult-form input { padding:11px 14px; border:1px solid var(--he-border,#e0d6c9); border-radius:12px; font-family:inherit; }
.home-faq { max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.home-faq details { border:1px solid var(--he-border,#eadfd2); border-radius:14px; background:#fff; overflow:hidden; }
.home-faq summary { list-style:none; cursor:pointer; padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:14px;
  font-family:var(--he-font-sans); font-weight:600; font-size:16.5px; color:var(--he-fg-1,#2b2226); }
.home-faq summary::-webkit-details-marker { display:none; }
.home-faq .faq-pl { position:relative; width:16px; height:16px; flex:0 0 auto; }
.home-faq .faq-pl::before, .home-faq .faq-pl::after { content:""; position:absolute; background:var(--b-orange,#E2783A); border-radius:2px; transition:opacity .2s; }
.home-faq .faq-pl::before { inset-block:0; inset-inline-start:7px; width:2px; }
.home-faq .faq-pl::after { inset-inline:0; inset-block-start:7px; height:2px; }
.home-faq details[open] .faq-pl::before { opacity:0; }
.home-faq details > div { padding:0 22px 20px; color:var(--he-fg-2,#5b5158); line-height:1.8; font-size:15px; }
.home-faq .faq-ul { margin:12px 0 4px; padding-inline-start:18px; display:flex; flex-direction:column; gap:10px; }
.home-faq .faq-ul li { line-height:1.75; }
.home-faq .faq-ul strong { color:var(--he-fg-1,#2b2226); font-weight:700; }
.home-faq .faq-link { display:inline-block; margin-top:12px; font-family:var(--he-font-sans); font-weight:700; font-size:13.5px; color:var(--b-magenta,#872B64); text-decoration:none; }
.home-faq .faq-ul .faq-link { margin-top:4px; }
.home-faq .faq-link:hover { text-decoration:underline; }
@media (max-width:820px){ .home-consult.art-consult-in{ grid-template-columns:1fr; } }

/* ---- DafBait: קורסים קרובים — 4-entry rows ---- */
.course-cal-link { font-family:var(--he-font-sans); font-weight:700; font-size:14px; color:var(--b-magenta,#872B64); text-decoration:none; }
.course-cal-link:hover { text-decoration:underline; }
.home-courses { display:flex; flex-direction:column; gap:16px; max-width:1000px; margin:0 auto; }
.course-row { display:grid; grid-template-columns:auto 1fr auto; gap:22px; align-items:center;
  background:#fff; border:1px solid var(--he-border,#e9e7ec); border-radius:18px; padding:24px 28px;
  box-shadow:0 1px 2px rgba(37,33,35,.04), 0 16px 34px -22px rgba(135,43,100,.16); }
.course-n { width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--he-font-display); font-style:italic; font-size:22px; font-weight:600; color:#fff; flex:0 0 auto; }
.course-n.c-orange{ background:var(--c-orange,#E2783A); } .course-n.c-magenta{ background:var(--c-magenta,#C42A6F); }
.course-n.c-purple{ background:var(--c-purple,#5F2A7F); } .course-n.c-blue{ background:#0E6BA8; }
.course-main h3 { margin:0 0 6px; font-family:var(--he-font-display); font-style:italic; font-weight:300; font-size:21px; line-height:1.25; color:var(--c-ink,#2b2226); }
.course-main p { margin:0; font-size:15px; line-height:1.7; color:var(--he-fg-2,#5b5158); }
.course-main .course-who { margin-top:8px; font-size:13.5px; color:var(--he-fg-3,#8a8088); font-weight:600; }
.course-side { display:flex; flex-direction:column; gap:10px; align-items:flex-start; min-width:230px; }
.course-status { display:inline-flex; align-items:center; gap:7px; font-family:var(--he-font-sans); font-size:12.5px; font-weight:700; color:#1a7a3d; }
.course-status::before { content:""; width:8px; height:8px; border-radius:50%; background:#27ae60; box-shadow:0 0 0 3px rgba(39,174,96,.18); }
.course-side .btn { white-space:nowrap; }
@media (max-width:780px){ .course-row { grid-template-columns:auto 1fr; } .course-side { grid-column:1 / -1; min-width:0; } }

/* ---- DafBait: מאחורי הקלפים — per-type CTAs ---- */
.cards-cta-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:40px; }
.cards-cta-tile { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:16px;
  padding:22px 18px; text-align:center; display:flex; flex-direction:column; gap:14px; align-items:center; }
.cards-cta-tile h4 { margin:0; font-family:var(--he-font-display); font-style:italic; font-weight:400; font-size:18px; color:#fff; line-height:1.3; }
.cards-cta-tile .btn { width:100%; justify-content:center; }
.cards-cta-bottom { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:26px; }
@media (max-width:760px){ .cards-cta-grid { grid-template-columns:1fr 1fr; } }

/* ---- DafBait: מתחברים מספרים עלינו — 4 video slots ---- */
.home-vidslots { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:30px; }
.home-vidslots .vidslot { margin:0; }
.home-vidslots .vidslot video { width:100%; aspect-ratio:9/13; object-fit:cover; border-radius:16px; display:block; background:#000; border:1px solid var(--he-border,#e9e7ec); }
.vidslot-ph { width:100%; aspect-ratio:9/13; border-radius:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  background:linear-gradient(160deg,#f4eef7,#ecf0f6); border:1px solid var(--he-border,#e9e7ec); }
.vidslot-play { width:52px; height:52px; border-radius:50%; background:var(--b-magenta,#872B64); color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; padding-inline-start:3px; }
.vidslot-soon { font-family:var(--he-font-sans); font-size:12.5px; font-weight:700; color:var(--he-fg-3,#8a8088); letter-spacing:.04em; }
.home-vidslots figcaption { margin-top:10px; text-align:center; font-family:var(--he-font-sans); font-size:13px; font-weight:600; color:var(--he-fg-2,#5b5158); }
@media (max-width:760px){ .home-vidslots { grid-template-columns:1fr 1fr; } }

/* ---- DafBait: home WhatsApp strip ---- */
.home-wa-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:760px; margin:20px auto 0; }
.home-wa-strip img { width:100%; border-radius:12px; display:block; border:1px solid var(--he-border,#e9e7ec); box-shadow:0 8px 24px rgba(42,24,37,.08); }
@media (max-width:620px){ .home-wa-strip { grid-template-columns:1fr 1fr; } }

/* Home — video montage of message testimonials (the "החיים שאחרי" clip) */
.home-vid { max-width: 900px; margin: 0 auto 40px; border-radius: 22px; overflow: hidden; box-shadow: 0 24px 60px -26px rgba(42,24,37,.5); background:#000; }
.home-vid video { width: 100%; display: block; aspect-ratio: 16/9; background:#000; }

/* Home — harmonious podcast promo */
.pod-promo { background: linear-gradient(120deg, #ffffff 0%, #faf4f8 55%, #f6f4fa 100%); } /* de-creamed (R4) */
.pod-promo-in { display: grid; grid-template-columns: 360px 1fr; gap: 52px; align-items: center; }
.pod-promo-cover { justify-self: center; }
.pod-promo-cover img { width: 100%; max-width: 360px; border-radius: 26px; box-shadow: 0 30px 70px -28px rgba(42,24,37,.5); display: block; }
.pod-promo-text { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.pod-promo-text h2 { margin: 0; }
.pod-promo-text .lead { margin: 0; }
.pod-promo-platforms { margin: 6px 0 4px; }
.pod-promo-label { display: block; font-family: var(--he-font-sans); font-size: 13.5px; font-weight: 600; color: var(--he-fg-2,#5b5158); margin-bottom: 12px; }
.pod-listen-links { display: flex; gap: 12px; flex-wrap: wrap; }
.pod-pill { display: inline-flex; align-items: center; gap: 9px; padding: 9px 18px; border-radius: 12px;
  background: #fff; border: 1px solid var(--he-border,#e7ddcf); text-decoration: none; color: var(--he-fg-1,#2b2226);
  font-family: var(--he-font-sans); font-weight: 700; font-size: 14.5px; transition: transform .15s, box-shadow .15s; }
.pod-pill:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -14px rgba(0,0,0,.4); }
.pod-pill svg { display: block; }
@media (max-width: 860px) {
  .pod-promo-in { grid-template-columns: 1fr; gap: 30px; text-align: center; }
  .pod-promo-text { align-items: center; }
  .pod-promo-cover img { max-width: 260px; }
  .pod-listen-links { justify-content: center; }
}

/* Section rhythm — tightened per Noa (gaps were too big), consistent site-wide */
.section { padding-top: clamp(34px, 4vw, 62px) !important; padding-bottom: clamp(34px, 4vw, 62px) !important; }
.section-tight { padding-top: clamp(26px, 3vw, 44px) !important; padding-bottom: clamp(26px, 3vw, 44px) !important; }
/* trim oversized gaps between stacked sections / section-heads */
.section-head { margin-bottom: clamp(28px, 3vw, 44px) !important; }

/* Eyebrow accent line (consistent, spiritual) */
.eyebrow { letter-spacing: .14em; }

/* Scroll-reveal: hidden state is applied by JS only, so no-JS keeps everything visible */
.nye-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
.nye-reveal.nye-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .nye-reveal { opacity: 1 !important; transform: none !important; transition: none; }
}

/* ===== Designer punch-list: global cohesion (cards, washes, heroes, forms) ===== */
body { background: #FFFFFF; } /* לבן לבן — per Sapir/Noa */

/* Card system: rounded, tinted soft shadow, no clinical hairline borders */
.card, .product, .article-card, .episode, .research-card, .vision-card, .team-card {
  border-radius: 20px;
  border-color: transparent !important;
  box-shadow: 0 1px 2px rgba(37,33,35,.04), 0 14px 30px -14px rgba(135,43,100,.13);
}
.card:hover, .product:hover, .article-card:hover, .episode:hover, .research-card:hover, .vision-card:hover {
  box-shadow: 0 22px 46px -16px rgba(135,43,100,.20);
}

/* Pill buttons */
.btn { border-radius: 999px; }

/* Hebrew emphasis: Frank Ruhl Libre serif contrast instead of synthetic italics
   (Hebrew fonts ship no italic face; font-synthesis:none means font-style:italic
   alone renders as plain text — the serif family makes the emphasis visible). */
em, .italic { font-family: 'Frank Ruhl Libre', 'Fraunces', Georgia, serif; }

/* Rounded image frames + gentle Ken-Burns zoom inside cards */
.article-card { overflow: hidden; }
.article-card img, .product .cover img { transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.article-card:hover img, .product:hover .cover img { transform: scale(1.045); }

/* Warm hero wash (heading underlines removed — Noa: no lines on headings) */
.articles-hero, .ab-hero, .r-hero, .sm-hero { background: linear-gradient(180deg,#FFFFFF 0%, #F6F6F7 100%); }

/* Soft rounded form fields + focus rings (academy / contact) */
.form-card input, .form-card select, .form-card textarea,
.field input, .field select, .field textarea { border-radius: 12px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--b-orange, #E2783A); outline-offset: 2px;
}

/* Frosted sticky header once scrolled */
.nav.scrolled { backdrop-filter: blur(10px); background: rgba(255,253,248,0.9); box-shadow: 0 6px 20px -12px rgba(37,33,35,0.25); }

/* ===== Full mobile responsiveness ===== */
@media (max-width: 820px) {
  html, body { overflow-x: clip; max-width: 100%; }
  .container, .nav-in, .footer-nye-in, .hero-in, .articles-hero-in, .ab-hero-in, .r-hero-in { padding-inline: 18px !important; }
  /* Cap oversized headings so they never overflow */
  .h1, h1 { font-size: clamp(25px, 7.4vw, 35px) !important; line-height: 1.22 !important; }
  .h2, h2 { font-size: clamp(21px, 6vw, 28px) !important; line-height: 1.26 !important; }
  .h3, h3 { font-size: clamp(18px, 5vw, 22px) !important; }
  .lead, .lead-lg, .h2-sub { font-size: 16px !important; line-height: 1.7 !important; }
  h1, h2, h3, .h1, .h2, .h3, p, blockquote, .eyebrow, li { overflow-wrap: break-word; }
  /* Stack split + card grids */
  .split, .split-3-2, .split-2-3, .founder { display: flex !important; flex-direction: column !important; gap: 26px !important; }
  .cards-3, .cards-2, .cards-4, .products, .team-grid, .vision-grid,
  .offer-grid, .research-grid, .articles-grid, .feature-list, .feature-list-2 { grid-template-columns: 1fr !important; }
  .btn-row { flex-wrap: wrap; }
  .btn, .btn-lg { width: auto; }
  /* Tighter vertical rhythm on phone */
  .section, .section-tight, .section-cat { padding-top: 38px !important; padding-bottom: 38px !important; }
  img { max-width: 100%; height: auto; }
  /* Marquee + footer breathe */
  .footer-nye-cols { gap: 26px !important; }
  /* Hero money card never clipped */
  .hero-money-card .h1 { font-size: clamp(22px, 6.4vw, 28px) !important; }
}
@media (max-width: 480px) {
  .nav .brand .sub { display: none; }
  .h1, h1 { font-size: clamp(23px, 8vw, 30px) !important; }
}

/* ===== Bulletproof fluid headings (no media-query dependency) — fixes mobile overflow ===== */
.h1 { font-size: clamp(27px, 5.2vw, 58px) !important; line-height: 1.13 !important; }
.h2 { font-size: clamp(23px, 3.8vw, 46px) !important; line-height: 1.2 !important; }
.h1, .h2, .h3, h1, h2, h3, p, blockquote, li { overflow-wrap: break-word; }
html, body { overflow-x: clip !important; max-width: 100%; } /* clip keeps position:sticky alive */
.hero-money-card .h1 { font-size: clamp(22px, 4.4vw, 30px) !important; }

/* ===== Kill horizontal overflow on phones (lets grid/flex children shrink) ===== */
@media (max-width: 820px) {
  * { min-width: 0; }
  .compare-table .row { grid-template-columns: 1fr !important; gap: 2px !important; }
  .technique, .principle .duo, .benefits, .stat-row, .meeting, .press-row { grid-template-columns: 1fr !important; }
  table { display: block; max-width: 100%; overflow-x: auto; }
}

/* ===== "מה NYE מציעה" offers band ===== */
.nye-offers { background: var(--he-surface, #F7F7F8); }
.offers-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.offer {
  display: flex; flex-direction: column; gap: 8px; text-decoration: none;
  background: #fff; border: 1px solid #ece7e3; border-radius: 18px; padding: 22px 22px 18px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.offer:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(60,30,45,0.10); }
.offer h3 { margin: 0; font-size: 17.5px; color: var(--b-magenta, #872B64); line-height: 1.35; }
.offer p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--he-fg-2, #5b5158); flex: 1; }
.offer .more { font-size: 13.5px; font-weight: 700; color: var(--b-orange, #E2783A); }

/* ===== Personal-consult block (.art-consult) — used on articles, podcast, cards, totem pages;
   promoted to the global layer so it's styled everywhere (was articles.css-only → broke /cards/) ===== */
.art-consult-in { display:grid; grid-template-columns:1fr 1.1fr; gap:36px; align-items:center;
  background:#fff; border:1px solid var(--he-border,#eadfd2); border-radius:24px; padding:36px 40px;
  box-shadow:0 18px 48px -28px rgba(135,43,100,.2); }
.art-consult-text h2 { margin:0 0 10px; }
.art-consult-text p { margin:0; color:var(--he-fg-2,#5b5158); }
.art-consult-form { display:grid; gap:12px; }
.art-consult-form .field { display:flex; flex-direction:column; gap:5px; }
.art-consult-form label { font-family:var(--he-font-sans); font-size:13px; font-weight:600; color:var(--he-fg-2,#5b5158); }
.art-consult-form input { padding:11px 14px; border:1px solid var(--he-border,#e0d6c9); border-radius:12px; font-family:inherit; }
@media (max-width: 820px) { .art-consult-in { grid-template-columns:1fr; } }

/* ===== R5 (Noa): "רווח גדול מדי מלמעלה — בכל האתר" — tighten hero top space site-wide ===== */
.ab-hero, .articles-hero, .cards-hero, .totem-page-hero, .sm-hero, .elv-hero,
.p-hero, .m-hero, .s-hero, .pp-hero, .r-hero, .article-hero, .hero, .cards-hero-mock,
.elv-hero, .s-hero { padding-top: 34px !important; } /* Noa: gap between bars and title too big */
@media (max-width: 720px) {
  .ab-hero, .articles-hero, .cards-hero, .totem-page-hero, .sm-hero, .elv-hero,
  .p-hero, .m-hero, .s-hero, .pp-hero, .r-hero, .article-hero, .hero, .cards-hero-mock { padding-top: 40px !important; }
}
/* Team photos — uniform circular (Noa R5) */
.team-photo, .team-photo img, .team-photo image-slot { border-radius: 50% !important; }
.team-photo img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1; }

/* ===== R5 (Rima Gupta): bring /process/ card components to the HOME ===== */
/* Problem | Solution 2-column cards (ported from process.css so home matches) */
.vs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: 22px; overflow: hidden; border: 1px solid var(--he-border-strong,#e7d9d0); margin-top: 8px; }
.vs-col { padding: 40px 40px 44px; }
.vs-now { background: linear-gradient(155deg, rgba(42,24,37,0.04) 0%, rgba(42,24,37,0.01) 100%); border-inline-start: 1px solid var(--he-border,#eadfd2); }
.vs-nye { background: linear-gradient(155deg, rgba(196,42,111,0.13) 0%, rgba(240,163,64,0.09) 100%); box-shadow: inset 0 3px 0 0 rgba(226,120,58,.55); }
.vs-col .tag { font-family: var(--he-font-sans); font-size: 11px; font-weight: 700; letter-spacing: 0.2em; margin-bottom: 14px; color: var(--he-fg-3,#8b7a82); display: inline-flex; align-items: center; gap: 10px; }
.vs-col.vs-nye .tag { color: var(--c-magenta,#c42a6f); }
.vs-col .tag::before { content: ""; display: inline-block; width: 18px; height: 1px; background: currentColor; opacity: 0.65; }
.vs-col h3 { font-family: var(--he-font-display); font-style: italic; font-weight: 300; font-size: clamp(22px,2.6vw,30px); line-height: 1.15; color: var(--c-ink,#2d2329); margin: 0 0 16px; }
.vs-col ul { padding: 0; margin: 0; list-style: none; }
.vs-col ul li { padding: 11px 0; border-bottom: 1px dashed var(--he-border,#eadfd2); color: var(--he-fg-2,#5b5158); font-size: 15.5px; line-height: 1.6; display: flex; gap: 12px; align-items: flex-start; }
.vs-col ul li:last-child { border-bottom: 0; }
.vs-col ul li::before { content: ""; flex-shrink: 0; margin-top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--he-fg-3,#8b7a82); }
.vs-col.vs-nye ul li::before { background: var(--c-magenta,#c42a6f); }
@media (max-width: 760px) { .vs-grid { grid-template-columns: 1fr; } .vs-now { border-inline-start: 0; border-bottom: 1px solid var(--he-border,#eadfd2); } }

/* שיטת NYE mandala diagram */
.home-method-diagram { text-align: center; margin: 8px auto 30px; max-width: 620px; }
.home-method-diagram img { width: 260px; max-width: 70%; height: auto; }
.home-method-diagram p { margin: 6px auto 0; max-width: 460px; color: var(--he-fg-2,#5b5158); font-size: 16px; line-height: 1.7; }

/* Process-map 4-step cards (were unstyled on home) */
.home-rima-map { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 26px; }
.home-rima-step { position: relative; background: #fff; border: 1px solid var(--he-border,#eadfd2); border-radius: 18px; padding: 28px 22px 24px; box-shadow: 0 1px 2px rgba(37,33,35,.04), 0 14px 30px -16px rgba(135,43,100,.12); }
.home-rima-step .num { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--he-font-display); font-style: italic; font-size: 19px; color: #fff; background: linear-gradient(135deg, var(--c-magenta,#c42a6f), var(--c-violet,#6b3b7c)); margin-bottom: 14px; }
.home-rima-step.featured { grid-column: span 2; background: linear-gradient(155deg, rgba(196,42,111,0.05), rgba(240,163,64,0.04)); border-color: var(--he-border-strong,#e7d9d0); }
.home-rima-step.featured .num { background: linear-gradient(135deg, var(--c-flame,#e2783a), var(--c-magenta,#c42a6f)); }
.home-rima-step h3 { font-family: var(--he-font-display); font-style: italic; font-weight: 400; font-size: 22px; color: var(--c-ink,#2d2329); margin: 0 0 10px; }
.home-rima-step p { color: var(--he-fg-2,#5b5158); font-size: 15px; line-height: 1.7; margin: 0; }
.home-rima-mini { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.home-rima-mini div { background: #fff; border: 1px solid var(--he-border,#eadfd2); border-radius: 999px; padding: 7px 15px; font-family: var(--he-font-sans); font-size: 13px; font-weight: 600; color: var(--b-magenta,#872B64); }
.home-rima-copy { max-width: 820px; margin: 28px auto 0; text-align: center; font-size: 17px; line-height: 1.85; color: var(--he-fg-2,#5b5158); }
.home-rima-copy strong { color: var(--c-ink,#2d2329); }
@media (max-width: 860px) { .home-rima-map { grid-template-columns: 1fr 1fr; } .home-rima-step.featured { grid-column: span 2; } }
@media (max-width: 560px) { .home-rima-map { grid-template-columns: 1fr; } .home-rima-step.featured { grid-column: span 1; } }

/* === Program-finder quiz (Sapir image3) === */
.pf-band { background: radial-gradient(120% 140% at 50% 0%, #2b2330 0%, #211a28 60%, #1a141f 100%); color:#fff; }
.pf-box { max-width: 760px; margin: 0 auto; text-align: center; }
.pf-box .h2 { color:#fff; }
.pf-sub { color: rgba(255,255,255,0.78); font-size:17px; max-width:520px; margin:10px auto 24px; line-height:1.7; }
.pf-progress { height:6px; border-radius:999px; background:rgba(255,255,255,0.14); overflow:hidden; margin:0 auto 28px; max-width:420px; }
.pf-progress span { display:block; height:100%; background:linear-gradient(90deg,#f0a340,#c42a6f); transition:width .35s ease; width:0; }
.pf-qt { font-family:var(--he-font-display); font-style:italic; font-size:clamp(22px,3vw,30px); color:#fff; margin:0 0 22px; }
.pf-opts { display:grid; gap:12px; max-width:520px; margin:0 auto; }
.pf-opt { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); color:#fff; border-radius:14px;
  padding:16px 20px; font:inherit; font-size:16px; cursor:pointer; transition:background .18s, transform .18s, border-color .18s; }
.pf-opt:hover { background:rgba(255,255,255,0.13); border-color:#f3c46b; transform:translateY(-2px); }
.pf-result h3 { font-family:var(--he-font-display); font-style:italic; font-size:clamp(26px,3.4vw,36px); color:#fff; margin:6px 0 12px; }
.pf-result p { color:rgba(255,255,255,0.82); font-size:17px; line-height:1.75; max-width:560px; margin:0 auto 22px; }
.pf-res-cta { display:flex; gap:14px; justify-content:center; align-items:center; flex-wrap:wrap; }
.pf-restart { background:none; border:1px dashed rgba(255,255,255,0.4); color:#fff; border-radius:999px; padding:10px 22px; cursor:pointer; font-size:14.5px; }
.pf-restart:hover { background:rgba(255,255,255,0.1); }

/* === Real WhatsApp message screenshots on /testimonials/ (Sapir image4-7) === */
.wa-grid { column-width: 300px; column-gap: 18px; max-width: 1000px; margin: 30px auto 0; }
.wa-shot { margin: 0 0 18px; break-inside: avoid; }
.wa-shot img { width: 100%; border-radius: 16px; display: block; border: 1px solid var(--he-border,#eadfd2);
  box-shadow: 0 10px 30px -12px rgba(42,24,37,0.18); background:#fff; }

/* === Home words: one-by-one reveal (Sapir) === */
.home-words .hw { opacity: 0; transform: translateY(10px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.home-words .hw.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .home-words .hw { opacity: 1 !important; transform: none !important; transition: none; } }

/* ===== HOISTED SHARED COMPONENTS (sweep 2026-09-15): the .sm-* hero/grid family was copy-pasted identically into 6 page CSS files and .longform into 3 — single source now lives here. ===== */
.sm-hero { padding: 104px 0 56px; position: relative; overflow: hidden; text-align: center; }
.sm-hero::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background:
      radial-gradient(ellipse 760px 520px at 50% 0%, rgba(249,218,89,0.14), transparent 55%),
      radial-gradient(ellipse 560px 480px at 100% 100%, rgba(135,43,100,0.10), transparent 60%);
  }
.sm-hero-in { position: relative; max-width: 720px; margin: 0 auto; }
.sm-hero h1 {
    font-family: var(--he-font-display); font-style: italic; font-weight: 300;
    font-size: clamp(34px, 4.4vw, 52px); line-height: 1.1; color: var(--c-ink); margin: 0 0 16px;
  }
.sm-hero h1 em { color: var(--b-magenta); }
.sm-hero p {
    font-family: var(--he-font-display); font-style: italic; font-weight: 300;
    font-size: clamp(18px, 2.2vw, 22px); line-height: 1.5; color: var(--he-fg-2);
    max-width: 560px; margin: 0 auto;
  }
.sm-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.sm-col {
    padding: 34px 32px; border-radius: var(--he-r-md);
    background: var(--he-paper); border: 1px solid var(--he-border);
    display: flex; flex-direction: column;
  }
.sm-col .col-eyebrow {
    font-family: var(--he-font-sans); font-size: 12px; font-weight: 700;
    letter-spacing: 0.14em; text-transform: uppercase; color: var(--b-magenta);
    margin-bottom: 4px;
  }
.sm-col h2 {
    font-family: var(--he-font-display); font-style: italic; font-weight: 400;
    font-size: 25px; line-height: 1.15; color: var(--c-ink); margin: 0 0 18px;
  }
.sm-link {
    display: block; text-decoration: none; padding: 14px 0;
    border-top: 1px solid var(--he-border);
  }
.sm-link .t {
    font-family: var(--he-font-sans); font-weight: 600; font-size: 16px; color: var(--c-ink);
    transition: color var(--he-t-fast);
  }
.sm-link .t::after { content: " ←"; color: var(--b-magenta); opacity: 0; transition: opacity var(--he-t-fast); }
.sm-link:hover .t { color: var(--b-magenta); }
.sm-link:hover .t::after { opacity: 1; }
.sm-link .d { font-size: 13px; line-height: 1.55; color: var(--he-fg-3); margin-top: 3px; }
.sm-sub { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.sm-sub a {
    font-family: var(--he-font-sans); font-size: 12.5px; font-weight: 500;
    color: var(--c-purple); text-decoration: none;
    padding: 5px 11px; border-radius: var(--he-r-pill);
    background: var(--he-base-2); border: 1px solid var(--he-border);
    transition: all var(--he-t-fast);
  }
.sm-sub a:hover { background: var(--c-purple); color: #fff; border-color: var(--c-purple); }
.sm-note { text-align: center; margin-top: 40px; font-size: 14px; color: var(--he-fg-3); }
.sm-note a { color: var(--c-purple); font-weight: 600; }
@media (max-width: 920px) {
  .sm-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .sm-grid { grid-template-columns: 1fr; }
}
.longform {
    max-width: 760px; margin: 0 auto;
    font-family: var(--he-font-body); font-size: 18px; line-height: 1.9; color: var(--he-fg-1);
  }
.longform strong { color: var(--c-ink); font-weight: 700; }

/* ===== NOA BIO (hoisted from about.css, sweep 2026-09-15) — shared by _NoaBio.cshtml on every page that introduces Noa ===== */
/* Noa founder */
.founder {
  display: grid; grid-template-columns: 420px 1fr; gap: 64px; align-items: start;
}
.founder-portrait-wrap { position: relative; width: 100%; max-width: 420px; }
.founder-portrait {
  width: 100%;
  aspect-ratio: 4/5; border-radius: 24px; overflow: hidden;
  box-shadow: 0 24px 60px rgba(37,33,35,0.10);
  border: 1px solid var(--he-border);
  background: linear-gradient(160deg, rgba(135,43,100,0.05), rgba(226,120,58,0.05));
}
.founder-portrait-wrap::before {
  content: ""; position: absolute; top: -20px; left: -20px;
  width: 140px; height: 140px; border-radius: 50%;
  background: radial-gradient(circle, rgba(249,218,89,0.45) 0%, rgba(249,218,89,0) 70%);
  pointer-events: none; z-index: -1;
}
.founder-portrait-wrap::after {
  content: ""; position: absolute; bottom: -28px; right: -24px;
  width: 200px; height: 200px; border-radius: 50%;
  background: radial-gradient(circle, rgba(135,43,100,0.25) 0%, rgba(135,43,100,0) 70%);
  pointer-events: none; z-index: -1;
}
.founder-signature {
  position: absolute; bottom: -16px; right: -16px;
  background: #fff; padding: 14px 20px; border-radius: 14px;
  box-shadow: 0 14px 36px rgba(37,33,35,0.12);
  border: 1px solid var(--he-border);
  display: flex; align-items: center; gap: 12px;
}
.founder-signature .nye-mark {
  height: 28px; width: auto;
}
.founder-signature .text {
  font-family: var(--he-font-display); font-style: italic; font-size: 13px;
  color: var(--he-fg-2); line-height: 1.3;
}
.founder-body h2 {
  font-family: var(--he-font-display); font-style: italic; font-weight: 300;
  font-size: clamp(28px, 3.6vw, 42px); line-height: 1.15; color: var(--c-ink); margin: 0 0 6px;
}
.founder-titles {
  font-family: var(--he-font-sans); font-size: 13px; color: var(--b-magenta);
  font-weight: 600; letter-spacing: 0.04em; margin-bottom: 28px;
  line-height: 1.6;
}
.founder-body p {
  font-size: 17px; line-height: 1.85; color: var(--he-fg-1); margin: 0 0 1.2em;
}
.founder-body p:first-of-type {
  font-family: var(--he-font-display); font-style: italic; font-weight: 300;
  font-size: 22px; line-height: 1.55; color: var(--c-ink);
  padding-inline-start: 22px;
  border-inline-start: 2px solid var(--b-magenta);
}
@media (max-width: 960px) {
  .founder { grid-template-columns: 1fr; gap: 40px; }
  .founder-portrait-wrap { max-width: 340px; margin: 0 auto; }
}
.noa-bio-compact .founder { grid-template-columns: 320px 1fr; gap: 48px; align-items: center; }
.noa-bio-compact .founder-body p { font-size: 16.5px; }
@media (max-width: 900px) { .noa-bio-compact .founder { grid-template-columns: 1fr; } }

/* compact bio on narrow screens: keep the signature card inside the portrait edge */
@media (max-width: 600px) { .founder-signature { right: 8px; bottom: -14px; padding: 10px 14px; } .founder-signature .nye-mark { height: 22px; } }
