/* ==========================================================================
   פחות אבל כואב — אתגר 5 ימים לכאבי גב
   V2 · Mobile-first · RTL · Light-only · Editorial
   ========================================================================== */

/* ---------- TOKENS ---------- */
:root{
  /* ground — warm bone, not clinical white */
  --bone:#FAF7F2;
  --bone-deep:#F3EFE7;
  --bone-card:#FFFDFA;

  /* brand — sampled from Avihu Logo.png */
  --navy:#011A56;
  --navy-deep:#00102F;
  --blue:#007AFE;
  --blue-dark:#0063CC;

  /* accent — ties to the review stars and the portrait's warm light */
  --amber:#F5A623;
  --amber-soft:rgba(245,166,35,.34);

  /* ink */
  --ink:#3B4152;
  --ink-soft:#6B7285;
  --shot:#2B2E35;            /* exact bg of the Google review screenshots */

  --line:#E2DBCF;
  --line-soft:#EDE7DC;
  --field-line:#D8D0C4;

  --on-navy:rgba(255,255,255,.88);
  --on-navy-soft:rgba(255,255,255,.70);

  --f-head:"Heebo",-apple-system,"Segoe UI",Arial,sans-serif;
  --f-body:"Assistant",-apple-system,"Segoe UI",Arial,sans-serif;

  --r-btn:8px;
  --r-card:14px;
  --r-pill:999px;

  --sh-card:0 1px 2px rgba(1,26,86,.04), 0 10px 30px rgba(1,26,86,.07);
  --sh-float:0 2px 6px rgba(1,26,86,.06), 0 22px 54px rgba(1,26,86,.16);

  --container:1200px;
  --measure:680px;
  --gutter:20px;
  --section-y:64px;
  --header-h:60px;
}
@media (min-width:768px){
  :root{ --gutter:24px; --section-y:104px; --header-h:72px; }
}

/* ---------- RESET ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
body{
  margin:0;
  background:var(--bone);
  color:var(--ink);
  font-family:var(--f-body);
  font-size:17px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{ max-width:100%; display:block; }
button{ font:inherit; color:inherit; }
a{ color:var(--blue); }
h1,h2,h3{ font-family:var(--f-head); color:var(--navy); margin:0; text-wrap:balance; }
p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }

:focus-visible{ outline:3px solid var(--blue); outline-offset:3px; border-radius:4px; }
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute; inset-inline-start:-9999px; top:0; z-index:200;
  background:var(--navy); color:#fff; padding:12px 20px; border-radius:0 0 var(--r-btn) 0;
}
.skip-link:focus{ inset-inline-start:0; }

/* ---------- LAYOUT ---------- */
.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.section{ padding-block:var(--section-y); }
.section--bone{ background:var(--bone); }
.section--bone-deep{ background:var(--bone-deep); }
.section--navy{ background:var(--navy); }
@media (min-width:768px){ .section--navy{ padding-block:120px; } }
.measure{ max-width:var(--measure); margin-inline:auto; }

/* ---------- TYPE SCALE ---------- */
.h1{ font-size:clamp(40px,11vw,54px); font-weight:800; line-height:1.04; letter-spacing:-.03em; }
.h2{ font-size:clamp(27px,7.4vw,33px); font-weight:800; line-height:1.16; letter-spacing:-.02em; }
.h3{ font-size:20px; font-weight:700; line-height:1.32; }
.lead{ font-family:var(--f-body); font-size:19px; font-weight:600; line-height:1.5; }
.body{ font-size:17px; line-height:1.72; }
@media (min-width:768px){
  .h1{ font-size:clamp(56px,7.4vw,104px); line-height:1.0; }
  .h2{ font-size:clamp(34px,4vw,48px); line-height:1.12; }
  .h3{ font-size:24px; }
  .lead{ font-size:clamp(21px,2.3vw,27px); line-height:1.42; }
  .body{ font-size:18px; line-height:1.78; }
}

/* amber emphasis marker — the page's recurring device */
.mark{
  position:relative; display:inline-block; white-space:nowrap;
  background-image:linear-gradient(var(--amber-soft),var(--amber-soft));
  background-repeat:no-repeat;
  background-size:100% .34em;
  background-position:0 88%;
  padding-inline:.08em;
}
.mark--solid{
  background-image:linear-gradient(var(--amber),var(--amber));
  background-size:100% .22em;
}
.on-navy .mark{ background-image:linear-gradient(rgba(245,166,35,.42),rgba(245,166,35,.42)); }

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:54px; padding-inline:28px;
  font-family:var(--f-head); font-size:17px; font-weight:700;
  border:2px solid transparent; border-radius:var(--r-btn);
  text-decoration:none; cursor:pointer; text-align:center;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}
.btn:active{ transform:translateY(1px); }
.btn--primary{ background:var(--blue); color:#fff; border-color:var(--blue); }
.btn--primary:hover{ background:var(--blue-dark); border-color:var(--blue-dark); }
.btn--ghost{ background:transparent; color:var(--blue); border-color:var(--blue); }
.btn--ghost:hover{ background:rgba(0,122,254,.08); }
.btn--whatsapp{ background:#25D366; color:#04361A; border-color:#25D366; }
.btn--whatsapp:hover{ background:#1EBE5B; border-color:#1EBE5B; }
.btn--block{ width:100%; }
@media (min-width:768px){ .btn{ min-height:58px; font-size:18px; padding-inline:34px; } }

/* ---------- HEADER ---------- */
.site-header{
  position:sticky; top:0; z-index:100; height:var(--header-h);
  background:rgba(250,247,242,.92);
  backdrop-filter:saturate(140%) blur(10px);
  display:flex; align-items:center;
  border-bottom:1px solid transparent;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.site-header.is-scrolled{ border-bottom-color:var(--line); box-shadow:0 2px 16px rgba(1,26,86,.05); }
.site-header__inner{ display:flex; align-items:center; justify-content:center; width:100%; }
.site-header__logo img{ height:30px; width:auto; mix-blend-mode:multiply; }
.site-header__cta{ display:none; }
@media (min-width:768px){
  .site-header__inner{ justify-content:space-between; }
  .site-header__logo img{ height:40px; }
  .site-header__cta{
    display:inline-flex; align-items:center; min-height:44px;
    font-family:var(--f-head); font-weight:700; font-size:16px;
    color:var(--blue); text-decoration:none;
  }
  .site-header__cta:hover{ color:var(--blue-dark); text-decoration:underline; }
}

/* ==========================================================================
   SPINE MOTIF — hero background + "מה תלמדו" only
   ========================================================================== */
.spine-watermark{
  position:absolute; pointer-events:none; user-select:none;
  top:-4%; bottom:26%;
  inset-inline-start:-30%;
  width:min(62vw,340px);
  opacity:.85;
  z-index:0;
}
.spine-watermark svg{ width:100%; height:100%; }
@media (min-width:768px){
  .spine-watermark{ top:-6%; bottom:14%; inset-inline-start:-9%; width:min(26vw,360px); opacity:1; }
}
@media (min-width:1440px){
  .spine-watermark{ inset-inline-start:-4%; }
}

/* ==========================================================================
   01 · HERO — centered message, portrait entering from the edge
   ========================================================================== */
.hero{
  position:relative; overflow:hidden;
  background:var(--bone);
  padding-block:36px 0;
}
@media (min-width:768px){ .hero{ padding-block:56px 0; } }

.hero__inner{ position:relative; z-index:2; }

.hero__message{ max-width:860px; margin-inline:auto; text-align:center; }
.hero__title{ color:var(--navy); }
.hero__sub{
  margin-top:16px; color:var(--navy);
  max-width:720px; margin-inline:auto;
}
@media (min-width:768px){ .hero__sub{ margin-top:22px; } }
.hero__text{
  margin-top:18px; max-width:600px; margin-inline:auto;
  color:var(--ink);
}
.hero__text p + p{ margin-top:10px; }

/* trust line — given real presence per direction */
.hero__trust{
  display:flex; align-items:center; gap:14px;
  max-width:520px; margin:26px auto 0;
}
.hero__trust::before,.hero__trust::after{
  content:""; flex:1; height:1px; background:var(--amber-soft);
}
.hero__trust b{
  font-family:var(--f-head); font-weight:700;
  font-size:15px; letter-spacing:.08em; color:var(--navy);
  display:inline-flex; align-items:center; gap:11px; white-space:nowrap;
}
.hero__trust i{
  width:5px; height:5px; border-radius:50%; background:var(--amber);
  display:inline-block; flex:none;
}
@media (min-width:768px){
  .hero__trust{ margin-top:34px; gap:18px; }
  .hero__trust b{ font-size:16.5px; gap:13px; }
}

/* stage: the form, centred. No portrait — the hero stays on the promise. */
.hero__stage{ position:relative; margin-top:30px; padding-bottom:40px; }
@media (min-width:768px){ .hero__stage{ margin-top:44px; padding-bottom:72px; } }

.hero__form{ position:relative; z-index:3; max-width:520px; margin-inline:auto; }

/* ---------- FORM CARD ---------- */
.form-card{
  background:var(--bone-card);
  border:1px solid var(--line-soft);
  border-radius:var(--r-card);
  padding:22px;
  box-shadow:var(--sh-float);
}
@media (min-width:768px){ .form-card{ padding:32px; } }
.form-card__title{
  font-family:var(--f-head); font-weight:700; font-size:19px; line-height:1.35;
  color:var(--navy); margin-bottom:18px; text-align:center;
}
@media (min-width:768px){ .form-card__title{ font-size:22px; } }

.field{ display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.field__label{ font-family:var(--f-body); font-weight:600; font-size:15px; color:var(--navy); }
.field__input{
  min-height:52px; padding:0 14px;
  font-family:var(--f-body); font-size:17px; color:var(--ink);
  background:#fff; border:1px solid var(--field-line); border-radius:var(--r-btn);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.field__input:focus{
  outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,122,254,.18);
}
.field__input:focus-visible{ outline:none; }

.consent{
  display:flex; align-items:flex-start; gap:10px; margin:18px 0 20px;
  font-size:15px; line-height:1.55; color:var(--ink-soft); cursor:pointer;
}
.consent input{ flex:none; width:20px; height:20px; margin:2px 0 0; accent-color:var(--blue); cursor:pointer; }

/* submission states — hidden until needed, so the approved design is unchanged */
.form-error{
  margin:14px 0 0;
  font-size:15px; line-height:1.55; font-weight:600;
  color:#B42318;
  text-align:start;
}
.btn.is-loading{ position:relative; color:transparent; pointer-events:none; }
.btn.is-loading::after{
  content:""; position:absolute; inset:0; margin:auto;
  width:20px; height:20px; border-radius:50%;
  border:2.5px solid rgba(255,255,255,.45); border-top-color:#fff;
  animation:btn-spin .7s linear infinite;
}
.btn:disabled{ cursor:progress; }
@keyframes btn-spin{ to{ transform:rotate(360deg); } }

/* ==========================================================================
   02 · IDENTIFICATION — the single dark typographic moment
   ========================================================================== */
.identify{ text-align:center; }
.identify__title{ color:#fff; }
.identify__title .soft{ color:#fff; }
.identify__litany{
  max-width:760px; margin:34px auto 0;
  display:flex; flex-direction:column; gap:18px;
}
@media (min-width:768px){ .identify__litany{ margin-top:52px; gap:22px; } }
.identify__litany li{
  font-size:18px; line-height:1.6; color:var(--on-navy-soft);
}
@media (min-width:768px){ .identify__litany li{ font-size:21px; line-height:1.55; } }
.identify__litany b{ color:#fff; font-weight:700; }

.identify__pivot{
  margin:36px auto 0; max-width:760px;
  font-family:var(--f-head); font-weight:700;
  font-size:21px; line-height:1.4; color:var(--on-navy);
}
.identify__pivot em{
  font-style:normal; display:block; margin-top:10px;
  font-size:clamp(34px,10vw,44px); line-height:1.05;
  color:var(--amber); letter-spacing:-.02em;
}
@media (min-width:768px){
  .identify__pivot{ margin-top:56px; font-size:26px; }
  .identify__pivot em{ font-size:clamp(52px,6vw,76px); margin-top:14px; }
}

.identify__release{
  margin:36px auto 0; max-width:820px;
  font-family:var(--f-head); font-weight:700;
  font-size:22px; line-height:1.42; color:#fff; letter-spacing:-.01em;
}
@media (min-width:768px){
  .identify__release{ margin-top:56px; font-size:clamp(28px,3.1vw,38px); line-height:1.35; }
}

/* ==========================================================================
   03 · BELIEF
   ========================================================================== */
.belief__title{ text-align:center; margin-bottom:26px; }
@media (min-width:768px){ .belief__title{ margin-bottom:38px; } }
.belief__body{ display:flex; flex-direction:column; gap:22px; }
.belief__body > p{ font-size:17px; line-height:1.78; }
@media (min-width:768px){ .belief__body > p{ font-size:18.5px; } }

/* the three assumptions — illustrated figures, not a list */
.assumptions{
  display:grid; gap:22px;
  margin-block:6px;
}
@media (min-width:700px){ .assumptions{ grid-template-columns:repeat(3,1fr); gap:26px; } }
.assumption{
  display:grid; grid-template-columns:66px 1fr; gap:16px; align-items:center;
}
@media (min-width:700px){
  .assumption{
    grid-template-columns:1fr; gap:14px;
    text-align:center; justify-items:center; align-content:start;
  }
}
.assumption__fig{
  width:66px; height:66px; flex:none;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:var(--bone);
  box-shadow:inset 0 0 0 1px var(--line);
}
.assumption__fig svg{ width:46px; height:46px; }
@media (min-width:700px){
  .assumption__fig{ width:92px; height:92px; }
  .assumption__fig svg{ width:64px; height:64px; }
}
.assumption__text{
  font-size:16.5px; line-height:1.55; color:var(--navy); font-weight:600;
}
@media (min-width:700px){ .assumption__text{ font-size:17.5px; max-width:26ch; } }

/* the pivot sentence under the diagram.
   Selector must out-specify `.belief__body > p` (0,1,1) above. */
.belief__body > .belief__key{
  text-align:center; margin-inline:auto; max-width:640px;
  font-family:var(--f-head); font-weight:700;
  font-size:clamp(20px,5vw,23px); line-height:1.5;
  color:var(--navy); letter-spacing:-.01em;
}
@media (min-width:768px){
  .belief__body > .belief__key{ font-size:clamp(24px,2.6vw,29px); line-height:1.44; }
}
.belief__body > .belief__sign{
  text-align:center; font-weight:600; color:var(--ink-soft);
}

.cycle{ margin-block:34px; }
@media (min-width:768px){ .cycle{ margin-block:52px; } }
.cycle__ring{ display:none; }
.cycle__chain{ display:block; max-width:290px; margin-inline:auto; }
@media (min-width:768px){
  .cycle__ring{ display:block; max-width:440px; margin-inline:auto; }
  .cycle__chain{ display:none; }
}

.belief__cta{ display:flex; margin-top:4px; }
.belief__cta .btn{ width:100%; }
@media (min-width:768px){
  .belief__cta{ justify-content:center; }
  .belief__cta .btn{ width:auto; }
}

/* ==========================================================================
   04 · TESTIMONIALS — one section, navy band, light cards
   ========================================================================== */
.proof__title{ color:#fff; text-align:center; margin-bottom:30px; }
@media (min-width:768px){ .proof__title{ margin-bottom:52px; } }

.proof__grid{ display:flex; flex-direction:column; gap:14px; }
@media (min-width:760px){
  /* natural masonry — the seven screenshots differ in height by 235px */
  .proof__grid{
    display:block; columns:2; column-gap:20px;
    max-width:900px; margin-inline:auto;
  }
  .proof__grid > .proof-card{ break-inside:avoid; margin-bottom:20px; }
}
@media (min-width:1100px){
  .proof__grid{ columns:3; column-gap:22px; max-width:1140px; }
  .proof__grid > .proof-card{ margin-bottom:22px; }
}

.proof-card{
  background:var(--bone-card);
  border-radius:10px;
  padding:5px;                       /* thin mat, not a thick frame */
  box-shadow:0 2px 8px rgba(0,0,0,.18), 0 14px 34px rgba(0,0,0,.2);
}
.proof-card img{ width:100%; height:auto; border-radius:6px; display:block; }
@media (min-width:760px){
  .proof-card{ padding:6px; }
}

/* mobile carousel */
.proof__grid.is-carousel{
  flex-direction:row; overflow-x:auto;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  padding-inline:var(--gutter); margin-inline:calc(var(--gutter) * -1);
  padding-bottom:4px; scrollbar-width:none; gap:14px;
}
.proof__grid.is-carousel::-webkit-scrollbar{ display:none; }
.proof__grid.is-carousel > .proof-card{ flex:0 0 86%; scroll-snap-align:center; }
.carousel-dots{ display:flex; justify-content:center; gap:6px; margin-top:20px; }
.carousel-dots button{
  width:7px; height:7px; padding:0; border:0; border-radius:var(--r-pill);
  background:rgba(255,255,255,.32); cursor:pointer;
  transition:width .2s ease,background-color .2s ease;
}
.carousel-dots button[aria-current="true"]{ width:22px; background:rgba(255,255,255,.9); }
@media (min-width:760px){ .carousel-dots{ display:none; } }

/* ==========================================================================
   05 · WHAT YOU LEARN — editorial rows on a spine rail
   ========================================================================== */
.learn__title{ text-align:center; margin-bottom:32px; }
@media (min-width:768px){ .learn__title{ margin-bottom:54px; } }

.learn__list{
  position:relative; max-width:880px; margin-inline:auto;
  padding-inline-start:44px;
}
.learn__list::before{
  content:""; position:absolute; inset-inline-start:19px; top:14px; bottom:14px;
  width:2px; background:linear-gradient(var(--amber-soft),var(--line),var(--amber-soft));
}
@media (min-width:768px){
  .learn__list{ padding-inline-start:74px; }
  /* rail must sit on the vertebra centre: node is 56px wide at -74px → centre 28px */
  .learn__list::before{ inset-inline-start:27px; }
}

.learn-row{ position:relative; padding-block:22px; border-top:1px solid var(--line); }
.learn-row:first-child{ border-top:0; padding-top:4px; }
.learn-row:last-child{ padding-bottom:4px; }
@media (min-width:768px){
  .learn-row{ padding-block:30px; display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:28px; align-items:baseline; }
}

/* vertebra node sitting on the rail */
.learn-row__node{
  position:absolute; inset-inline-start:-44px; top:24px;
  width:40px; height:26px; border-radius:13px;
  background:var(--bone-deep); border:2px solid var(--navy);
  display:flex; align-items:center; justify-content:center;
}
.learn-row:first-child .learn-row__node{ top:6px; }
.learn-row__node span{ width:12px; height:4px; border-radius:2px; background:var(--amber); }
@media (min-width:768px){
  .learn-row__node{ inset-inline-start:-74px; top:32px; width:56px; height:34px; border-radius:17px; }
  .learn-row:first-child .learn-row__node{ top:6px; }
  .learn-row__node span{ width:18px; height:5px; }
}

.learn-row__title{ margin-bottom:8px; }
@media (min-width:768px){ .learn-row__title{ margin-bottom:0; } }
.learn-row__text{ font-size:16.5px; line-height:1.68; color:var(--ink); }
@media (min-width:768px){ .learn-row__text{ font-size:17.5px; } }

.learn__cta{ display:flex; margin-top:34px; }
.learn__cta .btn{ width:100%; }
@media (min-width:768px){
  .learn__cta{ justify-content:center; margin-top:56px; }
  .learn__cta .btn{ width:auto; }
}

/* ==========================================================================
   06 · ABOUT — alternating image / text "chessboard"
   ========================================================================== */
.about__title{ text-align:center; margin-bottom:30px; }
@media (min-width:768px){ .about__title{ margin-bottom:52px; } }

.about__row{ display:grid; gap:24px; align-items:center; }
@media (min-width:900px){
  /* row A — text leads (inline-start / right), portrait alongside it */
  .about__row{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; }
  /* row B — mirrored: photo on the right, text on the left. Text is FIRST
     in the DOM (so mobile reads text → photo), so both items are placed
     explicitly. grid-row:1 on both stops auto-placement from pushing the
     photo onto a second row. The media keeps the NARROW column. */
  .about__row--flip{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
  .about__row--flip .about__media{ grid-column:1; grid-row:1; }
  .about__row--flip .about__text{ grid-column:2; grid-row:1; }
}
.about__text p{ font-size:17px; line-height:1.78; }
.about__text p + p{ margin-top:14px; }
@media (min-width:768px){ .about__text p{ font-size:18.5px; } }

/* CTA sits inside the lower text column. On desktop that column is on the
   LEFT and the button aligns RIGHT within it (flex-start is the right in
   RTL), tucking under the text with the treatment photo alongside. On
   mobile the same DOM position yields text → CTA → photo. */
.about__cta{ display:flex; margin-top:26px; }
.about__cta .btn{ width:100%; }
@media (min-width:768px){
  .about__cta{ justify-content:flex-start; margin-top:32px; }
  .about__cta .btn{ width:auto; }
}

.about__media{ margin:0; }

/* cut-out portrait — no card, no frame: he sits directly in the composition */
.about__media--cutout img{
  /* height MUST be declared: the img's height="" attribute is a
     presentational hint that would otherwise defeat any ratio rule */
  width:100%; height:auto; max-width:400px;
  margin-inline:auto; display:block;
  /* the source photo is cropped at chest level — soften that straight
     bottom edge so he dissolves into the ground instead of ending in a line */
  -webkit-mask-image:linear-gradient(to top, transparent 0%, #000 13%);
  mask-image:linear-gradient(to top, transparent 0%, #000 13%);
}
@media (min-width:900px){ .about__media--cutout img{ max-width:100%; } }

/* framed photo — a normal photograph gets a frame; the cut-out does not.
   The treatment photo is shown at its NATIVE 2:3 ratio: its important
   content (Avihu's face, both hands, the patient's face at the left edge)
   runs from ~5% to ~96% of the height, so any tighter ratio would crop it.
   400px wide ≈ 600px tall — level with the ~605px cut-out in row A. */
.about__media--framed img{
  width:100%; height:auto; aspect-ratio:2 / 3;
  max-width:400px; margin-inline:auto; display:block;
  object-fit:cover; object-position:center;
  border-radius:var(--r-card);
  box-shadow:var(--sh-card);
}
@media (max-width:899px){
  .about__media--framed img{ max-width:340px; }
}

.about__quote{
  margin:34px auto; padding-inline-start:22px;
  border-inline-start:3px solid var(--amber);
  font-family:var(--f-head); font-weight:700;
  font-size:clamp(22px,5.6vw,28px); line-height:1.3;
  color:var(--navy); letter-spacing:-.015em;
  max-width:880px;
}
@media (min-width:768px){
  .about__quote{
    margin:64px auto; padding-inline-start:34px;
    font-size:clamp(29px,3.4vw,40px); line-height:1.24;
  }
}

/* ==========================================================================
   07 · WHO IS IT FOR — editorial rows, no cards
   ========================================================================== */
.personas__title{ text-align:center; margin-bottom:32px; }
@media (min-width:768px){ .personas__title{ margin-bottom:56px; } }

.personas__list{
  display:grid; gap:34px;
  max-width:1080px; margin-inline:auto;
}
@media (min-width:820px){ .personas__list{ grid-template-columns:repeat(3,1fr); gap:40px; } }

.persona{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.persona__fig{
  width:112px; height:112px; margin-bottom:20px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 34%, #FFFFFF 0%, var(--bone-deep) 78%);
  box-shadow:inset 0 0 0 1px var(--line), 0 6px 18px rgba(1,26,86,.06);
}
.persona__fig svg{ width:74px; height:74px; }
@media (min-width:820px){
  .persona__fig{ width:126px; height:126px; margin-bottom:24px; }
  .persona__fig svg{ width:84px; height:84px; }
}
.persona__title{ margin-bottom:10px; max-width:18ch; }
.persona__text{
  font-size:16.5px; line-height:1.68; color:var(--ink); max-width:34ch;
}
@media (min-width:768px){ .persona__text{ font-size:17px; } }


/* ==========================================================================
   08 · MAIN CTA
   ========================================================================== */
.cta{ position:relative; overflow:hidden; text-align:center; }
.cta__inner{ position:relative; z-index:2; }
.cta__title{ color:#fff; }
.cta__title .turn{ display:block; color:var(--amber); }
.cta__text{
  color:var(--on-navy-soft); max-width:640px; margin:20px auto 0;
  font-size:17px; line-height:1.72;
}
@media (min-width:768px){ .cta__text{ font-size:18.5px; margin-top:26px; } }
.cta__form{ max-width:560px; margin:30px auto 0; text-align:start; }
@media (min-width:768px){ .cta__form{ margin-top:44px; } }
@media (min-width:768px){ .cta .form-card{ padding:38px; } }

/* ==========================================================================
   09 · FAQ
   ========================================================================== */
.faq__title{ text-align:center; margin-bottom:26px; }
@media (min-width:768px){ .faq__title{ margin-bottom:44px; } }
.faq__list{ max-width:760px; margin-inline:auto; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-item:first-child{ border-top:1px solid var(--line); }
.faq-item__q{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  width:100%; min-height:60px; padding:16px 0;
  background:none; border:0; cursor:pointer; text-align:start;
  font-family:var(--f-head); font-weight:600; font-size:18px; line-height:1.4;
  color:var(--navy); list-style:none;
}
summary.faq-item__q::-webkit-details-marker{ display:none; }
summary.faq-item__q::marker{ content:""; }
.faq-item__q:hover{ color:var(--blue-dark); }
@media (min-width:768px){ .faq-item__q{ font-size:21px; padding:22px 0; } }
.faq-item__icon{
  position:relative; flex:none; width:18px; height:18px;
}
.faq-item__icon::before,.faq-item__icon::after{
  content:""; position:absolute; background:var(--amber);
  transition:transform .22s ease,opacity .22s ease;
}
.faq-item__icon::before{ inset-inline:0; top:8px; height:2.5px; }
.faq-item__icon::after{ inset-block:0; inset-inline-start:8px; width:2.5px; }
.faq-item[open] .faq-item__icon::after{ transform:scaleY(0); opacity:0; }
.faq-item__a{ padding-bottom:22px; display:flex; flex-direction:column; gap:11px; }
.faq-item__a p{ font-size:16.5px; line-height:1.78; color:var(--ink); }
@media (min-width:768px){ .faq-item__a p{ font-size:17.5px; } }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{
  background:var(--navy-deep); color:rgba(255,255,255,.68);
  padding:36px 0 calc(36px + 74px + env(safe-area-inset-bottom,0px));
  font-size:14.5px; line-height:1.7;
}
@media (min-width:768px){ .site-footer{ padding:52px 0; } }
.site-footer__inner{ display:flex; flex-direction:column; gap:20px; align-items:center; text-align:center; }
@media (min-width:768px){
  .site-footer__inner{ flex-direction:row; justify-content:space-between; text-align:start; align-items:center; }
}
.site-footer__logo{ background:var(--bone); border-radius:var(--r-btn); padding:9px 13px; display:inline-flex; }
.site-footer__logo img{ height:30px; width:auto; mix-blend-mode:multiply; }
.site-footer__links{ display:flex; gap:20px; flex-wrap:wrap; justify-content:center; }
.site-footer__links a{ color:rgba(255,255,255,.8); text-decoration:underline; }
.site-footer__links a:hover{ color:#fff; }

/* ==========================================================================
   STICKY CTA (mobile)
   ========================================================================== */
.sticky-cta{
  position:fixed; inset-inline:0; bottom:0; z-index:90;
  background:var(--navy);
  padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -4px 22px rgba(0,0,0,.26);
  transform:translateY(115%); transition:transform .28s ease;
}
.sticky-cta.is-visible{ transform:translateY(0); }
@media (min-width:768px){ .sticky-cta{ display:none; } }

/* ==========================================================================
   THANK-YOU PAGE
   ========================================================================== */
/* --- 1 · opening: confirmation + intro + jump-to-video --- */
.ty-open__inner{
  max-width:760px; margin-inline:auto; text-align:center;
  display:flex; flex-direction:column; align-items:center;
}
.ty-open__check{
  width:56px; height:56px; border-radius:50%; background:var(--amber);
  display:flex; align-items:center; justify-content:center; margin-bottom:22px;
}
.ty-open__check svg{ width:28px; height:28px; }
@media (min-width:768px){
  .ty-open__check{ width:62px; height:62px; margin-bottom:26px; }
  .ty-open__check svg{ width:31px; height:31px; }
}
.ty-open__title{ margin-bottom:20px; }
@media (min-width:768px){ .ty-open__title{ margin-bottom:26px; } }
.ty-open__lead{
  font-family:var(--f-head); font-weight:700; color:var(--navy);
  font-size:clamp(21px,5.2vw,25px); line-height:1.34; margin-bottom:14px;
}
@media (min-width:768px){ .ty-open__lead{ font-size:clamp(26px,2.9vw,33px); } }
.ty-open__sub{ font-size:17px; line-height:1.72; color:var(--ink); }
@media (min-width:768px){ .ty-open__sub{ font-size:19px; } }
.ty-open__cta{ margin-top:28px; width:100%; }
@media (min-width:768px){ .ty-open__cta{ width:auto; margin-top:36px; } }

/* --- 4 · the first video (vertical) --- */
.ty-video__title{ text-align:center; margin-bottom:28px; }
@media (min-width:768px){ .ty-video__title{ margin-bottom:42px; } }

/* the embed slot */
.video-embed{
  position:relative;
  aspect-ratio:var(--video-ratio, 16 / 9);
  width:100%;
  margin-inline:auto;
  border-radius:var(--r-card);
  overflow:hidden;
  background:var(--navy-deep);
  box-shadow:0 3px 10px rgba(1,26,86,.10), 0 22px 54px rgba(1,26,86,.16);
}
/* vertical player: width-driven on mobile, height-driven on desktop so it
   never grows oversized on a wide screen */
.video-embed--vertical{
  --video-ratio:9 / 16;
  width:min(100%, 320px);
}
@media (min-width:768px){
  .video-embed--vertical{ width:auto; height:min(620px, 74vh); }
}

/* anchor targets clear the sticky header */
#video, #register, #main{ scroll-margin-top:calc(var(--header-h) + 20px); }
.video-embed iframe,
.video-embed video{
  position:absolute; inset:0;
  width:100%; height:100%; border:0; display:block;
}
.video-embed__placeholder{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  border:2px dashed rgba(255,255,255,.2);
  border-radius:var(--r-card);
}
.video-embed__play{
  width:74px; height:74px; border-radius:50%; background:var(--blue);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 26px rgba(0,122,254,.45);
}
.video-embed__play svg{ width:28px; height:28px; margin-inline-start:5px; }

/* --- 2 · what happens next (navy band, white cards) --- */
.ty-steps-band .ty-steps__title{ color:#fff; }
.ty-steps__title{ text-align:center; margin-bottom:28px; }
@media (min-width:768px){ .ty-steps__title{ margin-bottom:44px; } }
.ty-steps{ display:flex; flex-direction:column; gap:18px; max-width:820px; margin-inline:auto; }
.ty-step{
  background:var(--bone-card); border-radius:var(--r-card); padding:22px;
  border-inline-start:3px solid var(--line);
  box-shadow:0 1px 2px rgba(1,26,86,.04);
  display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start;
}
.ty-step--key{ border-inline-start-color:var(--amber); box-shadow:var(--sh-card); }
.ty-step__marker{ font-size:22px; line-height:1.3; }
.ty-step__body{ display:flex; flex-direction:column; gap:9px; min-width:0; }
.ty-step__lead{
  font-family:var(--f-head); font-weight:700; color:var(--navy);
  font-size:18px; line-height:1.42;
}
.ty-step p{ font-size:16.5px; line-height:1.72; }
@media (min-width:768px){
  .ty-step{ padding:28px 32px; gap:18px; }
  .ty-step__marker{ font-size:26px; }
  .ty-step__lead{ font-size:21px; }
  .ty-step p{ font-size:17.5px; }
}

/* --- 4 & 5 · the two next-step offers, one after the other --- */
.ty-offer-block__inner{
  max-width:720px; margin-inline:auto; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.ty-offer-block__icon{
  width:64px; height:64px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:4px;
}
.ty-offer-block__icon--wa{ background:rgba(37,211,102,.16); }
.ty-offer-block__icon svg{ width:34px; height:34px; }
.ty-offer-block__title{ margin-bottom:2px; }
.ty-offer-block p{ font-size:17px; line-height:1.74; }
@media (min-width:768px){ .ty-offer-block p{ font-size:18px; } }
.ty-offer-block__kicker{ font-weight:700; color:var(--navy); }
.ty-offer-block .btn{ margin-top:14px; width:100%; }
@media (min-width:768px){ .ty-offer-block .btn{ width:auto; margin-top:20px; } }

.ty-offer-block--dark .ty-offer-block__title{ color:#fff; }
.ty-offer-block--dark p{ color:var(--on-navy-soft); }
.ty-offer-block--dark .ty-offer-block__kicker{ color:var(--amber); }

/* ==========================================================================
   CONSENT LINK — only "מדיניות הפרטיות" is a link; it opens in a new tab so
   the half-filled form is never lost. A link inside a <label> does not
   toggle the checkbox (HTML label activation skips interactive content).
   ========================================================================== */
.consent a{ color:var(--navy); font-weight:600; text-decoration:underline; text-underline-offset:2px; white-space:nowrap; }
.consent a:hover{ color:var(--blue); }
.consent a:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; border-radius:2px; }

/* ==========================================================================
   POLICY PAGES — privacy.html / accessibility.html
   Plain reading layout: bone ground, navy headings, ~66ch measure.
   ========================================================================== */
.policy{ background:var(--bone); padding:40px 0 64px; }
@media (min-width:768px){ .policy{ padding:64px 0 96px; } }
.policy__inner{ max-width:66ch; margin-inline:auto; }

.policy__back{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--f-head); font-weight:700; font-size:16px;
  color:var(--navy); text-decoration:none; padding:6px 0;
}
.policy__back:hover{ color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.policy__back:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; border-radius:4px; }

.policy__title{
  margin-top:20px;
  font-size:clamp(32px,8.4vw,44px); font-weight:800; line-height:1.12; letter-spacing:-.02em;
}
.policy__body{ margin-top:28px; font-size:17.5px; line-height:1.8; color:var(--ink); }
@media (min-width:768px){ .policy__body{ font-size:18px; } }
.policy__body h2{ font-size:clamp(21px,5.6vw,25px); font-weight:700; line-height:1.3; margin:40px 0 12px; }
.policy__body h3{ font-size:19px; font-weight:700; line-height:1.35; margin:28px 0 8px; }
.policy__body p{ margin:0 0 16px; }
.policy__body ul,
.policy__body ol{ margin:0 0 18px; padding-inline-start:22px; }
.policy__body li{ margin-bottom:8px; }
.policy__body ul{ list-style:disc; }
.policy__body ol{ list-style:decimal; }
.policy__body li::marker{ color:var(--blue); }
.policy__body li{ padding-inline-start:4px; }
.policy__body a{ color:var(--blue); text-decoration:underline; text-underline-offset:2px; overflow-wrap:anywhere; }
.policy__body strong{ color:var(--navy); }

.policy__title-sub{ display:block; margin-top:6px; font-size:.5em; font-weight:700; letter-spacing:-.01em; color:var(--navy); opacity:.72; }
.policy__updated{ margin:14px 0 0; font-size:15px; color:var(--ink-soft); }

.policy__contact{
  display:flex; flex-direction:column; gap:4px;
  margin:4px 0 20px; padding:18px 20px;
  font-style:normal; background:var(--bone-card);
  border:1px solid rgba(1,26,86,.10); border-radius:var(--r-card);
}
.policy__contact-name{ font-family:var(--f-head); font-weight:700; color:var(--navy); }
.policy__contact a{ unicode-bidi:isolate; }

.policy__nav{ margin-top:48px; padding-top:22px; border-top:1px solid rgba(1,26,86,.12); }

/* policy pages have no sticky CTA, so the footer needs no extra clearance */
.site-footer--plain{ padding-bottom:calc(36px + env(safe-area-inset-bottom,0px)); }
@media (min-width:768px){ .site-footer--plain{ padding-bottom:52px; } }
.site-footer__links a[aria-current="page"]{ color:#fff; text-decoration:none; font-weight:600; }

/* short policy pages: footer sits on the bottom edge, never mid-screen */
.page-policy{ min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
.page-policy main{ flex:1 0 auto; }
.page-policy .policy{ height:100%; }
