/* ==========================================================================
   שרה עקנין · שכבת העיצוב (Click-In, 25.10.2026)
   סקיצה 1 "האטלייה" (body.sa-s1, דף הבית) · סקיצה 2 "יומן שטח" (body.sa-s2, /sketch-2/)
   כל הטקסט נשאר בווידג'טים נייטיב של אלמנטור. כאן רק קישוט, פריסה ותנועה.
   ========================================================================== */
:root {
  --sa-ivory: #FAF8F4; --sa-cream: #F1ECE3; --sa-cream2: #E9E2D6; --sa-sand: #DCCFBD;
  --sa-taupe: #998774; --sa-taupe-d: #7A6A58; --sa-taupe-l: #B9AA99;
  --sa-esp: #25201C; --sa-esp-d: #1E1A17; --sa-ink: #3E3731; --sa-muted: #857A6F;
  --sa-rule: rgba(153,135,116,.32); --sa-ease: cubic-bezier(.16, 1, .3, 1);
  --sa-head: "Heebo", sans-serif; --sa-body: "Heebo", system-ui, Arial, sans-serif;
  --sa-plan: url(plan.svg);
}
body.sa-s2 { --sa-head: "Frank Ruhl Libre", "Heebo", serif; --ck-head: "Frank Ruhl Libre", "Heebo", serif; }
body { background: var(--sa-ivory); }
::selection { background: var(--sa-esp); color: var(--sa-cream); }
html { scroll-padding-top: 96px; }

/* ---------- base pieces ---------- */
body .sa-light { font-weight: 300; }
body .sa-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 14px; text-transform: none; }
body .sa-eyebrow .elementor-heading-title::before { content: ""; width: 38px; height: 1px; background: currentColor; flex: none; }
body .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body .sa-chip .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border: 1px solid rgba(153,135,116,.5); border-radius: 999px; background: rgba(255,255,255,.55); }
body .sa-chip .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--sa-taupe); box-shadow: 0 0 0 0 rgba(153,135,116,.6); animation: saPulse 2.4s ease-out infinite; }
@keyframes saPulse { 70% { box-shadow: 0 0 0 10px rgba(153,135,116,0); } 100% { box-shadow: 0 0 0 0 rgba(153,135,116,0); } }

/* buttons: a small circle carries the arrow */
body .sa-btn .elementor-button { transition: background-color .4s var(--sa-ease), color .4s, border-color .4s, transform .4s var(--sa-ease); padding-inline-end: 10px !important; }
body .sa-btn .elementor-button-content-wrapper { align-items: center; gap: 14px; }
body .sa-btn .elementor-button-icon { width: 38px; height: 38px; border-radius: 50%; display: inline-grid; place-items: center; background: rgba(241,236,227,.14); transition: transform .4s var(--sa-ease), background-color .4s; margin: 0 !important; }
body .sa-btn .elementor-button-icon svg { width: 14px; height: 14px; }
body .sa-btn .elementor-button:hover .elementor-button-icon { transform: translateX(-4px); }
body .sa-btn--ghost .elementor-button-icon { background: rgba(37,32,28,.07); }
body .sa-btn--light .elementor-button-icon { background: rgba(37,32,28,.08); }
body .sa-link .elementor-button { padding: 12px 0 8px !important; border-radius: 0; border-bottom: 1px solid currentColor; min-height: 44px; }
body .sa-link .elementor-button-icon { width: auto; height: auto; background: none !important; }
body .sa-link .elementor-button-content-wrapper { gap: 10px; }

/* arch image (an architectural motif) */
body .sa-arch img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 999px 999px 10px 10px / 300px 300px 10px 10px; display: block; }
body .sa-img-tag { position: absolute !important; z-index: 2; bottom: 22px; right: 22px; width: auto !important; }
body .sa-img-tag .elementor-heading-title { padding: 9px 15px; border-radius: 999px; background: rgba(250,248,244,.92); letter-spacing: .14em; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
body .sa-img-tag--b { bottom: auto; top: 22px; }

/* plan drawing in the background */
.sa-planbg { position: relative; isolation: isolate; }
.sa-planbg::before { content: ""; position: absolute; z-index: -1; top: 4%; left: -6%; width: min(760px, 62vw); aspect-ratio: 1200 / 820; background: var(--sa-plan) center / contain no-repeat; opacity: .17; pointer-events: none; }
.sa-planbg--l::before { left: auto; right: -8%; top: auto; bottom: 2%; opacity: .13; }

/* ---------- header ---------- */
body .sa-header { transition: background-color .45s var(--sa-ease), box-shadow .45s, padding .45s var(--sa-ease); }
body .sa-header.elementor-sticky--effects { background-color: rgba(250,248,244,.88) !important; backdrop-filter: blur(16px) saturate(1.2); -webkit-backdrop-filter: blur(16px) saturate(1.2); box-shadow: 0 1px 0 rgba(153,135,116,.25); padding-top: 9px !important; padding-bottom: 9px !important; }
body .sa-logo img { display: block; height: auto; }
body .sa-auto { width: auto !important; }
body .sa-nav .elementor-nav-menu--main .elementor-item { letter-spacing: .02em; padding-top: 10px; padding-bottom: 10px; }
body .sa-icon-btn .elementor-icon { transition: background-color .35s, color .35s, border-color .35s; }
body .sa-icon-btn.elementor-view-framed .elementor-icon { border-color: rgba(37,32,28,.25); }
body .sa-icon-btn.elementor-view-framed .elementor-icon:hover { background: var(--sa-esp); color: var(--sa-cream); border-color: var(--sa-esp); }
body .sa-icon-btn.elementor-view-framed .elementor-icon:hover svg { fill: var(--sa-cream); }
body .sa-menu-btn .elementor-icon:hover { background-color: var(--sa-taupe-d) !important; }

/* ---------- hero (sketch 1) ---------- */
body .sa-hero { min-height: calc(100vh - 92px); }
body .sa-hero::after { content: ""; position: absolute; z-index: -1; inset: 0 28px; border-inline: 1px solid var(--sa-rule); pointer-events: none; }
body .sa-hero-text { position: relative; z-index: 2; }
body .sa-h1 .elementor-heading-title { letter-spacing: -.018em; }
body .sa-hero-sub { max-width: 520px; }
body .sa-hero-media { align-self: center; }
body .sa-trip .cks-trip { grid-template-columns: 1fr 1.32fr 1fr; gap: 14px; }
body .sa-hero-facts { border-top: 1px solid var(--sa-rule); padding-top: 26px !important; margin-top: 4px; }
body .sa-fact { width: auto !important; padding-inline: 0 34px; margin-inline-end: 34px; border-inline-end: 1px solid var(--sa-rule); }
body .sa-fact:last-child { border: 0; margin: 0; }
body .sa-fact .elementor-heading-title { display: flex; align-items: baseline; gap: 12px; }
body .sa-fact b { font-weight: 200; font-size: 40px; line-height: 1; color: var(--sa-taupe); }
@media (max-width: 1024px) {
  body .sa-hero { min-height: 0; }
  body .sa-hero-media { order: -1; }
}
@media (max-width: 767px) {
  body .sa-hero::after, body .sa-hero::before { display: none; }
  body .sa-hero-media { width: 100% !important; }
  body .sa-hero-text { margin-top: -54px; padding: 30px 20px 0 !important; background: var(--sa-ivory); border-radius: 28px 28px 0 0; }
  body .sa-hero-facts { margin: 0 20px !important; width: calc(100% - 40px) !important; flex-direction: column !important; gap: 12px !important; }
  body .sa-fact { border: 0; margin: 0; padding: 0; }
  body .sa-fact b { font-size: 30px; min-width: 26px; }
}

/* ---------- marquee band ---------- */
.sa-marq { overflow: hidden; border-block: 1px solid var(--sa-rule); padding: 20px 0; background: var(--sa-ivory); direction: ltr; }
.sa-marq__track { display: inline-flex; align-items: center; white-space: nowrap; will-change: transform; animation: saMarq 48s linear infinite; }
.sa-marq span { font-family: var(--sa-head); font-weight: 200; font-size: clamp(30px, 4.2vw, 60px); line-height: 1.2; color: var(--sa-esp); direction: rtl; }
.sa-marq i { width: 14px; height: 14px; margin: 0 36px; border: 1px solid var(--sa-taupe); border-radius: 50%; flex: none; }
.sa-marq--dark { background: var(--sa-esp-d); border-color: rgba(241,236,227,.12); }
.sa-marq--dark span { color: var(--sa-cream); }
@keyframes saMarq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
body .sa-marq-wrap { padding: 0 !important; }

/* ---------- pain ---------- */
body .sa-pain-can .elementor-heading-title { letter-spacing: -.01em; }
body .sa-pain-q { padding-inline-start: 24px; border-inline-start: 1px solid var(--sa-taupe); }
body .sa-pain-end .elementor-heading-title { display: inline; background: linear-gradient(transparent 62%, rgba(185,170,153,.38) 62%, rgba(185,170,153,.38) 92%, transparent 92%); }
body .sa-pain-collage { position: relative; padding-bottom: 70px !important; }
body .sa-pain-img--a img { width: 100%; aspect-ratio: 4 / 3.2; object-fit: cover; border-radius: 22px; display: block; }
body .sa-pain-img--b { position: absolute !important; width: 44% !important; bottom: 0; left: -4%; z-index: 2; }
body .sa-pain-img--b img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border: 10px solid var(--sa-ivory); border-radius: 18px; box-shadow: 0 30px 60px -30px rgba(37,32,28,.45); transform: rotate(-3deg); display: block; }
body .sa-pain-tags { position: absolute !important; top: 18px; right: 18px; width: auto !important; z-index: 2; }
body .sa-pain-tags .elementor-heading-title { display: flex; gap: 8px; }
body .sa-pain-tags span { padding: 8px 14px; border-radius: 999px; background: rgba(250,248,244,.92); letter-spacing: .12em; }
body .sa-pain-tags span + span { background: var(--sa-esp); color: var(--sa-cream); }
@media (max-width: 767px) {
  body .sa-pain-collage { order: -1; padding-bottom: 48px !important; }
  body .sa-pain-img--b { width: 48% !important; left: -2%; }
}

/* ---------- program ---------- */
body .sa-stats { border-block: 1px solid var(--sa-rule); }
body .sa-stat { padding-top: 38px !important; padding-bottom: 38px !important; border-inline-start: 1px solid var(--sa-rule); }
body .sa-stat:first-child { border-inline-start: 0; }
body .sa-stat-n .elementor-heading-title { letter-spacing: -.04em; }
body .sa-prog-not .elementor-heading-title { letter-spacing: -.01em; }
@media (max-width: 767px) {
  body .sa-stat { border-inline-start: 0; border-top: 1px solid var(--sa-rule); padding: 26px 0 !important; flex-direction: row !important; align-items: center !important; gap: 18px !important; }
  body .sa-stat:first-child { border-top: 0; }
  body .sa-stat-n { width: 64px !important; flex: none; }
  body .sa-stat { flex-wrap: nowrap !important; }
  body .sa-stat-n .elementor-heading-title { font-size: 54px !important; }
  body .sa-stat-t .elementor-heading-title { font-size: 18px !important; }
  body .sa-prog-media { order: -1; }
}

/* ---------- the gap ---------- */
.sa-legend { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--sa-rule); }
.sa-legend li { display: flex; align-items: flex-start; gap: 20px; padding: 19px 0; border-bottom: 1px dashed rgba(153,135,116,.5); }
.sa-gap-n { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--sa-taupe); display: grid; place-items: center; font: 500 14px/1 var(--sa-body); color: var(--sa-taupe-d); transition: background-color .35s, color .35s; }
.sa-legend li:hover .sa-gap-n { background: var(--sa-esp); border-color: var(--sa-esp); color: var(--sa-cream); }
.sa-gap-t { font: 400 20px/1.55 var(--sa-body); color: var(--sa-ink); padding-top: 6px; }
body .sa-gap-head { position: sticky; top: 120px; }
body .sa-callout { border-radius: 30px; overflow: hidden; background: var(--sa-esp); }
body .sa-callout-media img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; display: block; }
body .sa-callout-media { align-self: stretch; }
body .sa-callout-media .elementor-widget-image, body .sa-callout-media .elementor-widget-container { height: 100%; }
body .sa-callout-copy { padding: 56px 64px !important; position: relative; justify-content: center !important; }
body .sa-callout-copy::before { content: ""; position: absolute; top: 34px; right: 64px; left: 64px; height: 12px; border-inline: 1px solid rgba(185,170,153,.6); background: linear-gradient(rgba(185,170,153,.6), rgba(185,170,153,.6)) center / 100% 1px no-repeat; }
@media (max-width: 1024px) { body .sa-gap-head { position: relative; top: 0; } }
@media (max-width: 767px) {
  .sa-gap-t { font-size: 18px; }
  body .sa-callout-copy { padding: 46px 24px 34px !important; }
  body .sa-callout-copy::before { right: 24px; left: 24px; top: 22px; }
  body .sa-callout-media img { min-height: 220px; max-height: 260px; }
}

/* ---------- meetings: cards that stack as you scroll ---------- */
body .sa-meet { background: var(--sa-ivory); border-radius: 30px; overflow: hidden; border: 1px solid rgba(153,135,116,.22); box-shadow: 0 -24px 60px -48px rgba(37,32,28,.5); }
body .sa-meet-media { align-self: stretch; position: relative; min-height: 440px; }
body .sa-meet-media .elementor-widget-image { position: absolute !important; inset: 0; }
body .sa-meet-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
body .sa-meet-copy { padding: 52px 56px !important; justify-content: center; }
body .sa-meet-meta .elementor-heading-title { display: flex; flex-wrap: wrap; gap: 10px; letter-spacing: .12em; }
body .sa-meet-meta span { padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(153,135,116,.45); }
body .sa-meet-meta span:first-child { background: var(--sa-esp); border-color: var(--sa-esp); color: var(--sa-cream); }
@media (min-width: 1025px) {
  body .sa-meet { position: sticky; }
  body .sa-meet--1 { top: 110px; } body .sa-meet--2 { top: 128px; } body .sa-meet--3 { top: 146px; } body .sa-meet--4 { top: 164px; }
}
@media (max-width: 767px) {
  body .sa-meet-copy { padding: 30px 22px 32px !important; }
  body .sa-meet-media { min-height: 0; aspect-ratio: 4 / 3; }
}

/* ---------- you work ---------- */
body .sa-u { background: linear-gradient(transparent 66%, rgba(185,170,153,.42) 66%, rgba(185,170,153,.42) 94%, transparent 94%); }
.sa-verbs { display: flex; flex-direction: column; gap: 4px; margin: 6px 0 4px; padding: 22px 0; border-block: 1px solid var(--sa-rule); }
.sa-verbs span { font: 300 clamp(26px, 2.7vw, 38px)/1.28 var(--sa-head); color: var(--sa-esp); }
.sa-verbs span:last-child { font-weight: 500; font-size: clamp(20px, 1.9vw, 26px); color: var(--sa-taupe-d); margin-top: 6px; }
body .sa-work-media { position: relative; }
@media (max-width: 767px) { body .sa-work-media { order: -1; } }

/* ---------- field videos (dark) ---------- */
body .sa-dark .sa-eyebrow .elementor-heading-title::before { background: var(--sa-taupe-l); }
body .sa-field .cks-ring__hint { color: var(--sa-taupe-l); }
body .sa-field .cks-ring__panel { border-color: rgba(241,236,227,.18); }
body .sa-ring { width: 100%; }
body .sa-field, body .elementor-widget-cks-video-ring { overflow-x: clip; }
html, body { overflow-x: clip; }

/* ---------- kit ---------- */
.sa-kit-list { list-style: none; margin: 8px 0 0; padding: 0; border-top: 1px solid var(--sa-rule); }
.sa-kit-list li { display: flex; gap: 18px; align-items: baseline; padding: 15px 0; border-bottom: 1px solid var(--sa-rule); font: 400 19px/1.5 var(--sa-body); color: var(--sa-ink); transition: padding .35s var(--sa-ease); }
.sa-kit-list li:hover { padding-inline-start: 8px; }
.sa-kit-n { flex: none; min-width: 26px; font: 500 12px/1 var(--sa-body); letter-spacing: .14em; color: var(--sa-taupe); }
body .sa-kit-media { position: relative; }
body .sa-kit-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 26px; display: block; box-shadow: 0 40px 80px -50px rgba(37,32,28,.55); }
body .sa-kit-note { border-top: 1px solid var(--sa-rule); padding-top: 40px !important; }
@media (max-width: 767px) { body .sa-kit-media { order: -1; } .sa-kit-list li { font-size: 17px; } }

/* ---------- outcomes ---------- */
.sa-checks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sa-checks li { position: relative; padding: 22px 24px; padding-inline-start: 64px; background: var(--sa-ivory); border: 1px solid rgba(153,135,116,.25); border-radius: 18px; font: 400 18px/1.5 var(--sa-body); color: var(--sa-esp); }
.sa-checks li::before { content: ""; position: absolute; top: 22px; right: 22px; width: 26px; height: 26px; border-radius: 50%; background: var(--sa-esp) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F1ECE3' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") center / 15px no-repeat; }
.sa-checks li:last-child { grid-column: 1 / -1; }
body .sa-out-end { max-width: 940px; margin: 26px auto 0; }
body .sa-out-end .elementor-heading-title::before, body .sa-out-end .elementor-heading-title::after { content: ""; display: block; width: 60px; height: 1px; background: var(--sa-taupe); margin: 0 auto 26px; }
body .sa-out-end .elementor-heading-title::after { margin: 26px auto 0; }
@media (max-width: 767px) { .sa-checks { grid-template-columns: 1fr; } .sa-checks li { font-size: 17px; padding: 18px 18px; padding-inline-start: 58px; } .sa-checks li::before { top: 18px; right: 18px; } }

/* ---------- gallery ---------- */
body .sa-gal .cks-gal__item, body .sa-gal .cks-gal__img { border-radius: 18px; }

/* ---------- about ---------- */
body .sa-about-media { position: sticky; top: 110px; }
body .sa-about-img { position: relative; }
body .sa-about-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 88%; border-radius: 26px; display: block; }
body .sa-about-img { isolation: isolate; }
body .sa-about-img::after { content: ""; position: absolute; inset: 18px 18px -18px -18px; border: 1px solid var(--sa-taupe); border-radius: 26px; z-index: -1; }
body .sa-about-car, body .elementor-widget-image-carousel { overflow: hidden; }
body .sa-about-car .swiper-slide img { aspect-ratio: 1 / 1 !important; border-radius: 18px !important; }
body .sa-about-why { padding-top: 22px; border-top: 1px solid var(--sa-rule); }
body .sa-about-wish .elementor-heading-title { position: relative; padding-inline-start: 34px; }
body .sa-about-wish .elementor-heading-title::before { content: "״"; position: absolute; right: 0; top: -6px; font-size: 60px; line-height: 1; color: var(--sa-taupe-l); font-weight: 300; }
.sa-nos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sa-nos li { position: relative; padding-inline-start: 34px; font: 400 19px/1.55 var(--sa-body); color: var(--sa-ink); }
.sa-nos li::before { content: ""; position: absolute; right: 6px; top: .62em; width: 7px; height: 7px; border-radius: 50%; border: 1px solid var(--sa-taupe); }
body .sa-sign img { opacity: .9; }
@media (max-width: 1024px) { body .sa-about-media { position: relative; top: 0; } }
@media (max-width: 767px) { body .sa-about-media { order: -1; } }

/* ---------- fit ---------- */
body .sa-fit-grid.e-con, body .sa-fit-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .sa-fit-grid > .elementor-element { width: 100% !important; }
body .sa-fit-card .elementor-heading-title { position: relative; height: 100%; padding: 66px 28px 28px; background: var(--sa-ivory); border: 1px solid rgba(153,135,116,.28); border-radius: 22px; transition: transform .45s var(--sa-ease), box-shadow .45s; }
body .sa-fit-card .elementor-heading-title::before { content: ""; position: absolute; top: 24px; right: 28px; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--sa-taupe); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23998774' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") center / 14px no-repeat; }
body .sa-fit-card:hover .elementor-heading-title { transform: translateY(-4px); box-shadow: 0 26px 50px -36px rgba(37,32,28,.45); }
body .sa-fit-not .elementor-heading-title { position: relative; padding: 18px 22px; padding-inline-start: 58px; border-radius: 16px; background: var(--sa-cream); }
body .sa-fit-not .elementor-heading-title::before { content: "✕"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font-size: 15px; color: var(--sa-taupe-d); }
@media (max-width: 1024px) { body .sa-fit-grid.e-con, body .sa-fit-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { body .sa-fit-grid.e-con, body .sa-fit-grid { grid-template-columns: 1fr; } body .sa-fit-card .elementor-heading-title { padding: 24px 22px 24px; padding-inline-start: 64px; } body .sa-fit-card .elementor-heading-title::before { top: 24px; right: 22px; } }

/* ---------- reviews (sketch placeholders until real ones arrive) ---------- */
body .sa-rev { width: 100%; max-width: 860px; }
body .sa-reviews .cks-rev__score { color: var(--sa-taupe-d); }

/* ---------- founders cohort + form ---------- */
body .sa-cohort-card { border: 1px solid rgba(153,135,116,.45); border-radius: 30px; padding: 46px 44px !important; position: sticky; top: 110px; }
.sa-dates { list-style: none; margin: 10px 0 18px; padding: 0; border-top: 1px solid var(--sa-rule); }
.sa-dates li { display: grid; grid-template-columns: 92px 1fr auto; align-items: baseline; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--sa-rule); }
.sa-dates b { font: 300 30px/1 var(--sa-head); color: var(--sa-esp); letter-spacing: -.02em; }
.sa-dates span { font: 500 16px/1.4 var(--sa-body); color: var(--sa-esp); }
.sa-dates em { font: 400 15px/1.4 var(--sa-body); color: var(--sa-muted); font-style: normal; }
body .sa-price .elementor-heading-title { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; letter-spacing: -.03em; }
body .sa-price small { font: 400 16px/1 var(--sa-body); color: var(--sa-muted); letter-spacing: 0; }
body .sa-price-label .elementor-heading-title { letter-spacing: .16em; }
body .sa-price-note { padding-top: 16px; border-top: 1px solid var(--sa-rule); }
body .sa-formcard { border-radius: 30px; box-shadow: 0 50px 100px -60px rgba(37,32,28,.45); border: 1px solid rgba(153,135,116,.18); }
body .sa-form .sa-step-h { display: block; font: 600 22px/1.3 var(--sa-head); color: var(--sa-esp); margin-bottom: 4px; }
body .sa-form .sa-step-s { display: block; font: 400 15px/1.5 var(--sa-body); color: var(--sa-muted); }
@media (max-width: 1024px) { body .sa-cohort-card { position: relative; top: 0; } }
@media (max-width: 767px) { body .sa-cohort-card { padding: 30px 22px !important; } .sa-dates li { grid-template-columns: 74px 1fr auto; } .sa-dates b { font-size: 24px; } }

/* ---------- faq ---------- */
body .sa-faq .e-n-accordion-item { border-bottom: 1px solid var(--sa-rule); }
body .sa-faq .e-n-accordion-item-title { padding: 24px 0 !important; border: 0 !important; background: none !important; }
body .sa-faq .e-n-accordion-item-title-text { font-family: var(--sa-head); font-weight: 500; font-size: 22px; color: var(--sa-esp); }
body .sa-faq .e-n-accordion-item-title-icon { color: var(--sa-taupe); }
body .sa-faq .e-n-accordion-item-title-icon svg { width: 14px; fill: var(--sa-taupe); }
@media (max-width: 767px) { body .sa-faq .e-n-accordion-item-title-text { font-size: 19px; } }

/* ---------- final ---------- */
body .sa-final { min-height: 620px; justify-content: center; }
body .sa-final .sa-eyebrow .elementor-heading-title::before { background: var(--sa-taupe-l); }
body .sa-link--light .elementor-button { border-color: rgba(241,236,227,.6); }

/* ---------- footer ---------- */
body .sa-foot-big .elementor-heading-title { color: transparent !important; -webkit-text-stroke: 1px rgba(241,236,227,.32); letter-spacing: -.03em; white-space: nowrap; }
body .sa-foot-cols { border-bottom: 1px solid rgba(241,236,227,.12); }
body .sa-foot-nav a, body .sa-foot-contact a { transition: color .3s; }
body .sa-foot-nav a:hover .elementor-icon-list-text, body .sa-foot-contact a:hover .elementor-icon-list-text { color: var(--sa-taupe-l) !important; }
body .sa-footer .sa-eyebrow .elementor-heading-title::before { background: var(--sa-taupe-l); }
body .sa-foot-bottom a { color: var(--sa-taupe-l); }
body .sa-footer .elementor-icon-list-icon svg { fill: var(--sa-taupe-l); }
@media (max-width: 767px) { body .sa-foot-big .elementor-heading-title { white-space: normal; } }

/* ---------- thank you ---------- */
body .sa-ty { min-height: 70vh; }

/* ---------- reveal on scroll (only on the live site: sa.js adds .sa-live; the editor never gets it) ---------- */
.sa-live .sa-rv { transition: opacity .9s var(--sa-ease), transform 1.1s var(--sa-ease); transition-delay: var(--sa-d, 0s); }
.sa-live .sa-rv:not(.sa-in) { opacity: 0; transform: translateY(26px); }
.sa-live .sa-verbs span { opacity: 0; transform: translateY(14px); transition: opacity .7s var(--sa-ease), transform .8s var(--sa-ease); transition-delay: calc(var(--i) * .16s); }
.sa-live .sa-verbs.sa-in span { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .sa-live .sa-rv:not(.sa-in), .sa-live .sa-verbs span { opacity: 1; transform: none; }
  .sa-marq__track { animation: none; }
}

/* ==========================================================================
   סקיצה 2 · "יומן שטח" (body.sa-s2): כותרות Frank Ruhl Libre, פרקים ממוספרים, סקשנים כהים
   ========================================================================== */
body.sa-s2 .sa-foot-big .elementor-heading-title { font-family: "Frank Ruhl Libre", serif !important; font-weight: 400 !important; -webkit-text-stroke: 1px rgba(241,236,227,.4); }
body.sa-s2 .sa-faq .e-n-accordion-item-title-text { font-family: "Frank Ruhl Libre", serif; font-weight: 500; font-size: 24px; }
body .s2-chapter .elementor-heading-title { display: inline-flex; align-items: center; gap: 14px; letter-spacing: .14em; }
body .s2-chapter .elementor-heading-title span { font-family: "Frank Ruhl Libre", serif; font-size: 17px; letter-spacing: 0; padding: 7px 14px; border: 1px solid currentColor; border-radius: 999px; line-height: 1; }
body .s2-dark .s2-chapter .elementor-heading-title span { border-color: rgba(185,170,153,.6); }
body .s2-center-eyebrow .elementor-heading-title { justify-content: center; }

/* pain (dark) */
body .s2-can .elementor-heading-title { letter-spacing: -.01em; }
body .s2-q { padding-inline-start: 26px; border-inline-start: 1px solid rgba(185,170,153,.55); }
body .s2-strip { margin-top: 10px; }
body .s2-strip > .elementor-element { flex: 1 1 0 !important; width: auto !important; }
body .s2-strip-img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 6px; display: block; filter: saturate(.85); transition: filter .6s, transform .8s var(--sa-ease); }
body .s2-strip-img:hover img { filter: none; transform: translateY(-6px); }
@media (max-width: 767px) {
  body .s2-strip { overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px !important; scrollbar-width: none; }
  body .s2-strip::-webkit-scrollbar { display: none; }
  body .s2-strip > .elementor-element { flex: 0 0 62% !important; scroll-snap-align: start; }
}

/* program */
body .s2-nums { border-block: 1px solid var(--sa-rule); }
body .s2-num { padding: 30px 30px 34px !important; border-inline-start: 1px solid var(--sa-rule); }
body .s2-num:first-child { border-inline-start: 0; padding-inline-start: 0 !important; }
body .s2-num-n .elementor-heading-title { letter-spacing: -.03em; }
body .s2-tall { position: relative; isolation: isolate; }
body .s2-tall img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 4px; display: block; }
body .s2-tall::after { content: ""; position: absolute; inset: 16px -16px -16px 16px; border: 1px solid var(--sa-taupe); border-radius: 4px; z-index: -1; }
body .s2-pull .elementor-heading-title { position: relative; padding-top: 34px; }
body .s2-pull .elementor-heading-title::before { content: ""; position: absolute; top: 0; right: 0; width: 54px; height: 1px; background: var(--sa-taupe); }
@media (max-width: 767px) {
  body .s2-num { border-inline-start: 0; border-top: 1px solid var(--sa-rule); padding: 20px 0 22px !important; flex-direction: row !important; align-items: center !important; gap: 18px !important; flex-wrap: nowrap !important; }
  body .s2-num:first-child { border-top: 0; }
  body .s2-num-n { width: 92px !important; flex: none; }
  body .s2-num-n .elementor-heading-title { font-size: 64px !important; }
}

/* gap: a checklist drawn on the plan */
.s2-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--sa-rule); }
.s2-checklist li { display: flex; gap: 18px; align-items: flex-start; padding: 17px 0; border-bottom: 1px solid var(--sa-rule); font: 400 19px/1.55 var(--sa-body); color: var(--sa-ink); }
.s2-checklist i { flex: none; width: 20px; height: 20px; margin-top: 4px; border: 1px solid var(--sa-taupe-d); border-radius: 3px; position: relative; }
.s2-checklist i::after { content: ""; position: absolute; left: 5px; top: 1px; width: 6px; height: 11px; border: solid var(--sa-esp); border-width: 0 1.6px 1.6px 0; transform: rotate(45deg); opacity: 0; transition: opacity .4s; }
.s2-checklist li:hover i::after, .sa-live .s2-checklist.sa-in i::after { opacity: 1; }
body .s2-dim .elementor-heading-title { position: relative; padding-top: 30px; }
body .s2-dim .elementor-heading-title::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 12px; border-inline: 1px solid var(--sa-taupe); background: linear-gradient(var(--sa-taupe), var(--sa-taupe)) center / 100% 1px no-repeat; }
@media (min-width: 1025px) { body .s2-sticky { position: sticky; top: 110px; } }

/* meetings: a horizontal track */
body .s2-track { overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: 18px !important; scrollbar-width: thin; scrollbar-color: var(--sa-taupe) transparent; }
body .s2-card { flex: 0 0 min(460px, 82vw) !important; width: min(460px, 82vw) !important; scroll-snap-align: start; background: #fff; border: 1px solid rgba(153,135,116,.25); border-radius: 6px; overflow: hidden; }
body .s2-card-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
body .s2-card-meta .elementor-heading-title { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; letter-spacing: .1em; }
body .s2-card-meta b { font: 400 40px/1 "Frank Ruhl Libre", serif; letter-spacing: 0; color: var(--sa-esp); }
.s2-track-nav { display: flex; gap: 10px; }
.s2-track-nav button { width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--sa-esp); background: transparent; color: var(--sa-esp); font-size: 18px; cursor: pointer; transition: background-color .3s, color .3s; padding: 0; }
.s2-track-nav button:hover, .s2-track-nav button:focus-visible { background: var(--sa-esp); color: var(--sa-cream); }
@media (max-width: 767px) { .s2-track-nav { display: none; } }

/* work */
body .s2-work-t b { font-weight: 500; background: linear-gradient(transparent 70%, rgba(185,170,153,.4) 70%, rgba(185,170,153,.4) 94%, transparent 94%); }
body .s2-circle img { width: min(100%, 380px); aspect-ratio: 1; border-radius: 50%; object-fit: cover; display: block; margin-inline: auto; }
body .s2-verbs span { font-family: "Frank Ruhl Libre", serif; }
body .s2-work-end .elementor-heading-title::before { content: ""; display: block; width: 54px; height: 1px; background: var(--sa-taupe); margin: 0 auto 26px; }

/* kit */
.s2-kit-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; border-top: 1px solid var(--sa-rule); }
.s2-kit-list li { display: flex; gap: 14px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--sa-rule); font: 400 17px/1.5 var(--sa-body); color: var(--sa-ink); }
.s2-kit-list b { font: 400 22px/1 "Frank Ruhl Libre", serif; color: var(--sa-taupe-d); flex: none; min-width: 30px; }
body .s2-kit-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; border-radius: 4px; box-shadow: 30px 30px 0 -1px var(--sa-cream2); }
body .s2-kit-note { border-top: 1px solid var(--sa-rule); padding-top: 36px !important; }
@media (max-width: 767px) { .s2-kit-list { grid-template-columns: 1fr; } }

/* outcomes */
.s2-out-list { list-style: none; margin: 0; padding: 0; counter-reset: o; border-top: 1px solid var(--sa-rule); }
.s2-out-list li { counter-increment: o; display: flex; gap: 18px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--sa-rule); font: 400 20px/1.5 var(--sa-body); color: var(--sa-esp); }
.s2-out-list li::before { content: counter(o, decimal-leading-zero); font: 400 18px/1 "Frank Ruhl Libre", serif; color: var(--sa-taupe-d); min-width: 28px; }
body .s2-out-end { margin-top: 20px; }
@media (max-width: 767px) { .s2-out-list li { font-size: 18px; } }

/* about (dark) */
body .s2-portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; display: block; border-radius: 4px; }
body .s2-dropcap p:first-child::first-letter { float: right; font: 400 4.2em/0.82 "Frank Ruhl Libre", serif; color: var(--sa-taupe-l); margin: 6px 0 0 12px; }
body .s2-quote .elementor-heading-title { position: relative; padding-top: 30px; border-top: 1px solid rgba(185,170,153,.35); }
.s2-nos { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.s2-nos li { position: relative; padding-inline-start: 30px; font: 400 19px/1.55 var(--sa-body); color: #E2DAD0; }
.s2-nos li::before { content: ""; position: absolute; right: 4px; top: .6em; width: 8px; height: 8px; border-radius: 50%; border: 1px solid var(--sa-taupe-l); }
body .s2-car .swiper-slide img { aspect-ratio: 3 / 4 !important; border-radius: 4px !important; filter: grayscale(.25); }

/* fit */
.s2-fit-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; border-top: 1px solid var(--sa-rule); }
.s2-fit-list li { display: flex; gap: 18px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--sa-rule); font: 400 20px/1.5 var(--sa-body); color: var(--sa-esp); }
.s2-fit-list b { font: 400 30px/1 "Frank Ruhl Libre", serif; color: var(--sa-taupe); min-width: 40px; }
@media (max-width: 767px) { .s2-fit-list { grid-template-columns: 1fr; } .s2-fit-list li { font-size: 18px; } }

/* reviews + cohort + faq + final */
body .s2-reviews { background: var(--sa-ivory); }
body .s2-cohort-card { border: 1px solid rgba(241,236,227,.18); border-radius: 6px; padding: 44px 42px !important; }
body .s2-dates { border-top-color: rgba(241,236,227,.16); }
body .s2-dates li { border-bottom-color: rgba(241,236,227,.16); }
body .s2-dates b { color: var(--sa-cream); font-family: "Frank Ruhl Libre", serif; font-weight: 400; }
body .s2-dates span { color: var(--sa-cream); }
body .s2-dates em { color: var(--sa-taupe-l); }
body .s2-price small { color: var(--sa-taupe-l); }
body .s2-cohort .sa-price-note { border-top-color: rgba(241,236,227,.16); }
body .s2-cohort .sa-formcard { border-radius: 6px; }
body .s2-cohort .sa-form .sa-step-h { font-family: "Frank Ruhl Libre", serif; font-weight: 500; }
body .s2-final { min-height: 680px; justify-content: center; }
@media (max-width: 767px) { body .s2-cohort-card { padding: 30px 22px !important; } }
body .s2-gap.sa-planbg::before { opacity: .08; }
body .s2-final .s2-center-eyebrow .elementor-heading-title { color: #DCCFBD !important; }
