/* amraniflow.com - "הסוחר שנפל לתוך הגרף" (scrollcraft build, 22.10.2026)
   The brand: near-black with a navy glow, thin white/grey candles, teal #1FD3D6 as the
   one accent, level colours only where a level is meant. Heebo everywhere. */
:root {
  --sc-canvas: #04070A;
  --sc-surface: #0A0F16;
  --sc-ink: #F2F5F9;
  --sc-ink-soft: #A9B4C4;
  --sc-accent: #1FD3D6;
  --sc-accent-ink: #04070A;
  --sc-font-display: "Heebo", system-ui, sans-serif;
  --sc-font-text: "Heebo", system-ui, sans-serif;
  --sc-font-mono: "Heebo", system-ui, sans-serif;
  --af-hvl: #4D8DFF; --af-cr: #FF4136; --af-ps: #3DDC84; --af-gold: #FFC24D;
  --af-line: rgba(160,180,210,.14);
  --af-line-2: rgba(160,180,210,.24);
  --af-rail: 64px;
  --af-pad: calc(var(--af-rail) + var(--sc-gutter));
}
html { background: var(--sc-canvas); }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
body { font-family: var(--sc-font-text); background: var(--sc-canvas); color: var(--sc-ink); font-weight: 500; }
.sc-display { font-weight: 900; letter-spacing: -0.02em; line-height: 1.02; }
.sc-body { color: var(--sc-ink-soft); font-size: var(--sc-t-lg); line-height: 1.6; }
.t { color: var(--sc-accent); }
bdi, .ltr { unicode-bidi: isolate; direction: ltr; }
:focus-visible { outline: 2px solid var(--sc-accent); outline-offset: 3px; border-radius: 4px; }
::selection { background: rgba(31,211,214,.35); color: #fff; }
.skip { position: absolute; top: -60px; right: 12px; z-index: 100; background: var(--sc-accent); color: #04070A; padding: 10px 16px; font-weight: 800; border-radius: 4px; }
.skip:focus { top: 12px; }
.wrap { width: 100%; max-width: 78rem; margin-inline: auto; padding-inline: var(--sc-gutter) var(--af-pad); }
.sec { padding-block: clamp(3rem, 5.5vw, 4.75rem); }
.kicker { font-size: var(--sc-t-sm); font-weight: 800; color: var(--sc-accent); letter-spacing: .02em; margin-bottom: 14px; }
.illus { font-size: 12.5px; color: rgba(242,245,249,.45); font-weight: 500; }

/* ---------------------------------------------------------------- the bar */
.bar { position: fixed; z-index: 40; top: 0; inset-inline: 0; height: 64px; display: flex; justify-content: space-between; align-items: center; padding: 0 var(--sc-gutter) 0 calc(var(--af-rail) + 18px); transition: background 300ms, border-color 300ms; border-bottom: 1px solid transparent; }
.bar.solid { background: rgba(4,7,10,.86); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom-color: var(--af-line); }
.mark { display: flex; align-items: center; gap: 10px; color: var(--sc-ink); text-decoration: none; font-weight: 900; font-size: 18px; direction: ltr; }
.mark img { width: 32px; height: 32px; }
.mark span { color: var(--sc-accent); }
/* we trade the NQ future, not options: said on every screen, beside the mark */
.futures-tag { margin-right: 12px; margin-left: auto; /* physical: the tag itself is LTR */ padding: 4px 8px 3px; border: 1px solid rgba(31,211,214,.6); border-radius: 3px; color: var(--sc-accent); font-weight: 800; font-size: 11.5px; letter-spacing: .06em; direction: ltr; white-space: nowrap; }
.futures-line { margin: 0 0 14px; font-size: var(--sc-t-base); font-weight: 800; color: var(--sc-accent); }

/* the one action, as an ATAS price tag (header) */
.ptag { display: inline-flex; align-items: center; gap: 10px; padding: 9px 16px 10px 26px; background: var(--sc-ink); color: #04070A; text-decoration: none; font-weight: 900; font-size: 15px; clip-path: polygon(13px 0, 100% 0, 100% 100%, 13px 100%, 0 50%); transition: background 160ms var(--sc-ease-out), transform 120ms var(--sc-ease-out); white-space: nowrap; }
.ptag small { font-weight: 700; font-size: 12px; color: #4b5563; }
.ptag:hover { background: var(--sc-accent); }
.ptag:hover small { color: #04070A; }
.ptag:active { transform: translateY(1px); }

/* the one action, as a level line: the line breaks around its label (the "מזל" look) */
.lvl { display: flex; align-items: center; width: min(100%, 30rem); text-decoration: none; color: var(--sc-ink); }
.lvl i { flex: 1; height: 2px; background: var(--sc-accent); box-shadow: 0 1px 6px rgba(31,211,214,.55); transition: transform 260ms var(--sc-ease-out); }
.lvl i:first-child { transform-origin: left; }
.lvl i:last-child { transform-origin: right; }
.lvl b { padding: 9px 18px 10px; border: 1px solid var(--sc-accent); border-radius: 4px; font-weight: 800; font-size: 18px; background: rgba(4,7,10,.72); white-space: nowrap; transition: background 160ms var(--sc-ease-out), color 160ms var(--sc-ease-out); }
.lvl b small { font-weight: 600; font-size: 13px; color: var(--sc-ink-soft); margin-inline-start: 10px; }
.lvl:hover b { background: var(--sc-accent); color: #04070A; }
.lvl:hover b small { color: #04070A; }
.lvl:hover i { transform: scaleX(1.06); }
.lvl:active b { transform: translateY(1px); }
.lvl--short { width: min(100%, 22rem); }
.textlink { font-weight: 700; color: var(--sc-ink); text-decoration: underline; text-underline-offset: 6px; text-decoration-color: rgba(242,245,249,.35); }
.textlink:hover { text-decoration-color: var(--sc-accent); }

/* ---------------------------------------------------------------- the price rail: the page's map */
.rail { position: fixed; z-index: 35; inset-block: 0; left: 0; width: var(--af-rail); direction: ltr; border-right: 1px solid var(--af-line); background: linear-gradient(90deg, rgba(4,7,10,.86), rgba(4,7,10,.3)); font-variant-numeric: tabular-nums; }
.rail__tick { position: absolute; left: 8px; font-size: 10.5px; font-weight: 500; color: rgba(242,245,249,.36); translate: 0 -50%; }
.rail__lv { position: absolute; left: 0; right: 0; height: 2px; translate: 0 -50%; opacity: .6; }
.rail__lv b { position: absolute; left: 5px; top: -15px; font-size: 9.5px; font-weight: 800; color: #04070A; padding: 1px 4px; border-radius: 2px; }
.rail__tag { position: absolute; left: 4px; top: 0; will-change: transform; padding: 3px 5px; border-radius: 3px; background: var(--sc-ink); color: #04070A; font-weight: 800; font-size: 11px; pointer-events: none; }
.rail__ch { position: absolute; right: -5px; width: 9px; height: 9px; translate: 0 -50%; border-radius: 50%; border: 1px solid rgba(242,245,249,.5); background: #04070A; padding: 0; cursor: pointer; }
.rail__tag.under { background: var(--af-cr); color: #fff; }
.rail__ch.on { background: var(--sc-accent); border-color: var(--sc-accent); }
.rail__ch span { position: absolute; left: 16px; top: 50%; translate: 0 -50%; white-space: nowrap; direction: rtl; font: 700 12px var(--sc-font-text); color: var(--sc-ink); background: rgba(4,7,10,.92); border: 1px solid var(--af-line-2); padding: 4px 8px; border-radius: 3px; opacity: 0; pointer-events: none; transition: opacity 140ms; }
.rail__ch:hover span, .rail__ch:focus-visible span { opacity: 1; }

/* ---------------------------------------------------------------- the story acts */
.story-copy { top: 50%; bottom: auto; translate: 0 -50%; width: min(40rem, 46vw); right: var(--sc-gutter); }
.story-copy .sc-display--xl { font-size: clamp(3rem, 5.6vw, 6rem); }
.story-copy .sc-display--lg { font-size: clamp(2.4rem, 4.2vw, 4.4rem); }
.story-copy :is(h1, h2) { text-shadow: 0 6px 30px rgba(0,0,0,.6); }
.story-copy .sc-lede { color: var(--sc-ink-soft); margin-top: 18px; font-weight: 500; }
.story-copy small { display: block; margin-top: 16px; font-size: var(--sc-t-lg); font-weight: 600; color: var(--sc-ink); }
.story-copy small b { font-weight: 800; }
.story-copy .acts { margin-top: 32px; display: grid; gap: 18px; justify-items: start; }
.scrim-side { background: linear-gradient(270deg, rgba(4,7,10,.97) 0%, rgba(4,7,10,.93) 34%, rgba(4,7,10,.55) 50%, rgba(4,7,10,0) 66%); }
.data { position: absolute; z-index: 6; bottom: 22px; right: var(--sc-gutter); }
/* the second film sits over the end of the first and fades in on the spot (site.js) */
.story--follow { margin-top: -100vh; margin-top: -100svh; }
.rm .story--follow { margin-top: 0; }

/* ---------------------------------------------------------------- move the price (the signature) */
.push { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.push__copy h2 { margin-bottom: 20px; }
.push__state { margin-top: 26px; padding: 16px 18px; border: 1px solid var(--af-line-2); border-radius: 4px; background: rgba(10,15,22,.7); min-height: 6.2em; }
.push__state b { display: block; font-size: var(--sc-t-lg); font-weight: 900; }
.push__state span { display: block; margin-top: 6px; color: var(--sc-ink-soft); font-size: var(--sc-t-base); line-height: 1.5; }
.push__state.up b { color: var(--sc-accent); }
.push__state.down b { color: #FF6B5E; }
.push__fig { position: relative; margin: 0; }
.push__fig canvas { display: block; width: 100%; height: clamp(360px, 46vw, 560px); border-radius: 4px; border: 1px solid var(--af-line-2); background: #0A1015; touch-action: none; cursor: grab; }
.push__fig canvas:active { cursor: grabbing; }
.push__fig figcaption { margin-top: 10px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.push__hint { font-weight: 800; color: var(--sc-ink); font-size: 14px; }

/* ---------------------------------------------------------------- the method rail */
.method .sc-stage, .method [data-sc-stage] { display: flex; align-items: center; direction: ltr; }
/* The engine pans a rail to the left. Hebrew reads from the right, so the stage is mirrored
   and every item mirrored back: the first panel sits on the right and the rail travels right. */
.method [data-sc-stage] { transform: scaleX(-1); }
.mrail { direction: ltr; gap: clamp(20px, 3vw, 44px); padding: 0 calc(var(--af-rail) + var(--sc-gutter)) 0 var(--sc-gutter); align-items: stretch; }
.mrail > * { direction: rtl; flex: none; transform: scaleX(-1); }
.mrail__lead { width: min(30rem, 78vw); align-self: center; }
.mrail__lead h2 { margin-bottom: 18px; }
.mstep { width: min(27rem, 80vw); padding: 22px; border: 1px solid var(--af-line-2); border-radius: 4px; background: rgba(10,15,22,.72); display: grid; gap: 14px; align-content: start; }
.mstep__k { display: flex; justify-content: space-between; align-items: baseline; direction: ltr; font-weight: 900; font-size: 22px; letter-spacing: .02em; }
.mstep__k small { font-weight: 700; font-size: 13px; color: var(--sc-ink-soft); }
.mstep h3 { margin: 0; font-size: var(--sc-t-xl); font-weight: 900; line-height: 1.15; }
.mstep p { margin: 0; color: var(--sc-ink-soft); line-height: 1.55; }
.mstep svg { width: 100%; height: auto; display: block; border-radius: 3px; background: #0A1015; direction: ltr; }
.mstep--1 .mstep__k { color: var(--af-hvl); }
.mstep--2 .mstep__k { color: var(--sc-accent); }
.mstep--3 .mstep__k { color: var(--af-ps); }
.mrail__end { width: min(28rem, 80vw); align-self: center; }
.mrail__end p.big { font-size: var(--sc-t-2xl); font-weight: 900; line-height: 1.08; margin: 0 0 16px; }
.mrail__end .en { direction: ltr; text-align: right; font-weight: 900; letter-spacing: .04em; color: var(--sc-ink-soft); font-size: var(--sc-t-base); }

/* ---------------------------------------------------------------- a day inside + what you get */
.day { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: clamp(28px, 6vw, 96px); }
.tl { list-style: none; margin: 0; padding: 0; border-inline-start: 1px solid var(--af-line-2); }
.tl li { position: relative; padding: 0 28px 34px 0; }
.tl li::before { content: ""; position: absolute; right: -5px; top: 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--sc-accent); }
.tl time { display: block; font-weight: 900; font-size: var(--sc-t-xl); direction: ltr; text-align: right; font-variant-numeric: tabular-nums; }
.tl b { display: block; font-size: var(--sc-t-lg); margin-top: 4px; }
.tl p { margin: 6px 0 0; color: var(--sc-ink-soft); line-height: 1.55; max-width: 40ch; }
.get { margin-top: clamp(4rem, 8vw, 6rem); }
.get h2 { margin-bottom: 28px; }
.getlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(28px, 5vw, 72px); }
.getlist li { display: grid; grid-template-columns: 9.5rem 1fr; gap: 16px; padding: 16px 0; border-top: 1px solid var(--af-line); align-items: baseline; }
.getlist b { font-weight: 900; font-size: var(--sc-t-lg); }
.getlist span { color: var(--sc-ink-soft); line-height: 1.5; }
.getlist a { color: var(--sc-ink); }

/* ---------------------------------------------------------------- Lior */
#about { padding-bottom: clamp(1.5rem, 2.5vw, 2.25rem); }
.lior2__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); grid-template-areas: "head photo" "body body" "foot foot"; column-gap: clamp(28px, 5vw, 72px); align-items: end; }
.lior2__head { grid-area: head; padding-bottom: clamp(10px, 3vw, 40px); }
.lior2__head .kicker { margin-bottom: 6px; }
.lior2__head h2 { margin: 8px 0 0; }
p.lior2__num { margin: 0; color: var(--sc-ink); font-size: clamp(3rem, 6vw, 5.4rem); font-weight: 900; line-height: 1; letter-spacing: -0.03em; text-align: right; }
.lior2__photo { grid-area: photo; position: relative; margin: 0; display: grid; justify-items: center; }
.lior2__photo::before { content: ""; position: absolute; inset: 10% 4% 0; background: radial-gradient(60% 60% at 50% 60%, rgba(23,36,58,.95), rgba(4,7,10,0) 70%); }
.lior2__photo img { position: relative; display: block; width: 100%; max-width: 680px; height: auto; -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent 100%); mask-image: linear-gradient(180deg, #000 72%, transparent 100%); }
/* the portrait from the old site: a framed square, no fade (it has its own background) */
.lior2__photo--portrait { align-self: center; }
.lior2__photo--portrait img { max-width: 400px; border-radius: 14px; border: 1px solid var(--af-line-2); -webkit-mask-image: none; mask-image: none; box-shadow: 0 30px 60px -30px rgba(0,0,0,.8), 0 0 0 6px rgba(31,211,214,.06); }
.lior2__photo figcaption { position: relative; margin-top: 2px; font-size: 13px; color: rgba(242,245,249,.5); }
.lior2__body { grid-area: body; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 4vw, 56px); margin-top: clamp(24px, 3vw, 36px); padding-top: clamp(24px, 3vw, 36px); border-top: 1px solid var(--af-line); }
.lior2__body p { margin: 0; color: var(--sc-ink-soft); font-size: var(--sc-t-lg); line-height: 1.65; }
.lior2__foot { grid-area: foot; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px 40px; margin-top: clamp(24px, 3vw, 36px); }
p.lior2__pull { margin: 0; padding-inline-start: 18px; border-inline-start: 3px solid var(--sc-accent); color: var(--sc-ink); font-weight: 800; font-size: var(--sc-t-xl); line-height: 1.35; max-width: 40ch; }
.sign { margin-top: 0; display: flex; gap: 14px; align-items: center; }
.sign img { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; }
.sign b { display: block; font-weight: 900; }
.sign span { font-size: 14px; color: var(--sc-ink-soft); }

/* ---------------------------------------------------------------- proof */
.nums { display: flex; flex-wrap: wrap; gap: clamp(24px, 6vw, 80px); margin-bottom: clamp(28px, 4vw, 44px); }
.nums div b { display: block; font-size: clamp(3rem, 6vw, 5rem); font-weight: 900; line-height: 1; direction: ltr; text-align: right; font-variant-numeric: tabular-nums; }
.nums div span { color: var(--sc-ink-soft); font-weight: 600; }
.quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 28px); align-items: stretch; }
.quotes figure { margin: 0; display: flex; flex-direction: column; gap: 14px; padding: 26px 24px 22px; border: 1px solid var(--af-line-2); border-top: 2px solid var(--sc-accent); border-radius: 6px; background: rgba(10,15,22,.6); }
.quotes .stars { color: var(--af-gold); letter-spacing: .15em; font-size: 15px; }
.quotes blockquote { margin: 0; flex: 1; font-size: var(--sc-t-lg); font-weight: 600; line-height: 1.6; color: var(--sc-ink); }
.quotes figcaption { padding-top: 14px; border-top: 1px solid var(--af-line); }
.quotes figcaption b { display: block; font-weight: 800; }
.quotes figcaption span { font-size: 13px; color: var(--sc-ink-soft); }

/* ---------------------------------------------------------------- mentor + faq */
.mentor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 6vw, 96px); align-items: start; }
.mentor .lead { padding: 0; display: block; }
.mentor .btn { display: inline-flex; padding: 14px 20px; border-radius: 4px; background: var(--sc-ink); color: #04070A; font-weight: 900; font-size: 16px; }
.mentor .btn:hover { background: var(--sc-accent); }
.faq { max-width: 52rem; }
.faq details { border-top: 1px solid var(--af-line); }
.faq details:last-child { border-bottom: 1px solid var(--af-line); }
.faq summary { cursor: pointer; list-style: none; padding: 20px 0; font-weight: 800; font-size: var(--sc-t-lg); display: flex; justify-content: space-between; gap: 16px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--sc-accent); font-weight: 500; font-size: 1.4em; line-height: .8; transition: transform 160ms var(--sc-ease-out); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 0 0 22px; color: var(--sc-ink-soft); line-height: 1.65; max-width: 62ch; }

/* ---------------------------------------------------------------- join: the close */
.join-sec { position: relative; overflow: clip; }
.join-sec::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 50% at 50% 0%, rgba(23,36,58,.85), transparent 70%); pointer-events: none; }
.join-head { position: relative; text-align: center; max-width: 52rem; margin: 0 auto clamp(26px, 4vw, 40px); }
.join-head p { color: var(--sc-ink-soft); font-size: var(--sc-t-lg); line-height: 1.6; margin: 18px auto 0; max-width: 46ch; }
.incl-box { position: relative; max-width: 54rem; margin: 0 auto 40px; padding: 22px 26px; border: 1px solid var(--af-line-2); border-radius: 8px; background: rgba(10,15,22,.7); }
.incl-title { margin: 0 0 6px; font-size: 13.5px; font-weight: 800; color: var(--sc-accent); }
.incl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 36px; }
.incl li { display: flex; gap: 12px; align-items: flex-start; padding: 13px 0; border-top: 1px solid var(--af-line); }
.incl li:nth-child(-n+2) { border-top: 0; }
.incl svg { flex: none; width: 20px; height: 20px; margin-top: 2px; fill: rgba(31,211,214,.14); stroke: var(--sc-accent); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.incl b { display: block; font-weight: 800; font-size: 16.5px; color: var(--sc-ink); }
.incl span { display: block; margin-top: 2px; font-size: 14.5px; color: var(--sc-ink-soft); line-height: 1.45; }
@media (max-width: 860px) {
  .incl-box { padding: 16px 18px; margin-bottom: 34px; }
  .incl { grid-template-columns: 1fr; }
  .incl li:nth-child(2) { border-top: 1px solid var(--af-line); }
}
.plans { position: relative; scroll-margin-top: 90px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 66rem; margin: 0 auto; }
.plan { position: relative; display: grid; gap: 10px; align-content: start; padding: 26px 24px 22px; border: 0; border-radius: 8px; background: #F2F5F9; color: #04070A; text-decoration: none; box-shadow: 0 18px 40px -18px rgba(0,0,0,.7); transition: transform 160ms var(--sc-ease-out), box-shadow 160ms var(--sc-ease-out); }
.plan:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -18px rgba(31,211,214,.35); }
.plan.best { background: var(--sc-accent); box-shadow: 0 22px 50px -16px rgba(31,211,214,.55); }
.pl-tag { position: absolute; top: -12px; right: 20px; background: #04070A; color: var(--sc-accent); font-weight: 800; font-size: 12.5px; padding: 4px 10px; border-radius: 4px; }
.plan:not(.best) .pl-tag { background: #04070A; color: #F2F5F9; }
.pl-name { font-weight: 800; font-size: var(--sc-t-lg); }
.pl-price { display: flex; align-items: baseline; gap: 8px; }
.pl-price b { font-size: clamp(2.6rem, 4vw, 3.4rem); font-weight: 900; line-height: 1; }
.pl-price small { color: #3b4654; font-weight: 700; }
.pl-note { color: #3b4654; font-size: 14.5px; font-weight: 600; min-height: 1.5em; }
.plan.best .pl-price small, .plan.best .pl-note { color: #0b2f33; }
.pl-cta { margin-top: 10px; display: flex; align-items: center; justify-content: center; gap: 0; }
.pl-cta i { flex: 1; height: 2px; background: rgba(4,7,10,.25); }
.pl-cta span { padding: 9px 16px; border: 1.5px solid #04070A; border-radius: 4px; font-weight: 900; white-space: nowrap; transition: background 160ms, color 160ms; }
.plan:hover .pl-cta span, .plan.best .pl-cta span { background: #04070A; color: #F2F5F9; }
.plan.best .pl-cta i { background: rgba(4,7,10,.45); }
.fine { position: relative; text-align: center; color: var(--sc-ink-soft); font-size: 14px; margin: 14px 0 0; }
.after { position: relative; margin-top: clamp(48px, 7vw, 80px); text-align: center; display: grid; gap: 14px; justify-items: center; }
.after .sign-line { font-size: var(--sc-t-xl); font-weight: 900; margin: 0; }

/* ---------------------------------------------------------------- footer */
.foot { border-top: 1px solid var(--af-line); padding: 44px var(--sc-gutter) calc(110px + env(safe-area-inset-bottom, 0px)) var(--af-pad); color: var(--sc-ink-soft); font-size: 14px; }
.foot-top { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: center; }
.foot-logo { width: 180px; height: auto; }
.links { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.links a, .links button { color: var(--sc-ink-soft); background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.links a:hover, .links button:hover { color: var(--sc-ink); }
.foot-contact { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px 20px; }
.foot-contact a { color: var(--sc-ink-soft); }
.disc { margin-top: 26px; max-width: 70rem; }
.disc h2 { margin: 0 0 6px; font-size: 15px; font-weight: 800; color: var(--sc-ink-soft); }
.disc p { margin: 0 0 8px; line-height: 1.6; font-size: 13px; }

/* ---------------------------------------------------------------- phone */
@media (max-width: 860px) {
  /* no price axis on a phone: it reads as clutter at this size. --af-rail stays as the side margin */
  :root { --af-rail: 8px; }
  .rail { display: none; }
  .rail__tick, .rail__lv b, .rail__ch span { display: none; }
  .rail__tag { font-size: 8px; padding: 2px 2px; left: 1px; }
  .rail__ch { right: 10px; width: 7px; height: 7px; }
  .bar { height: 56px; padding-left: calc(var(--af-rail) + 10px); }
  .mark { font-size: 16px; } .mark img { width: 28px; height: 28px; }
  .ptag { font-size: 14px; padding: 8px 12px 9px 22px; }
  .ptag small { display: none; }
  .story-copy { top: 84px; translate: none; width: auto; inset-inline: 20px calc(var(--af-rail) + 12px); text-align: right; }
  .sc-copy--trail { text-align: right; }
  .scrim-side { background: linear-gradient(180deg, rgba(4,7,10,.92) 0%, rgba(4,7,10,.6) 36%, rgba(4,7,10,0) 58%); }
  .story-copy .sc-display--xl { font-size: clamp(2.6rem, 11.5vw, 3.4rem); }
  .story-copy .sc-display--lg { font-size: clamp(2.1rem, 9.2vw, 2.8rem); }
  .story-copy .sc-lede { font-size: 16px; }
  .data { right: 20px; bottom: 14px; }
  .push, .day, .mentor, .lior2__grid { grid-template-columns: 1fr; }
  .lior2__grid { grid-template-columns: 1fr; grid-template-areas: "photo" "head" "body" "foot"; }
  .lior2__body { grid-template-columns: 1fr; }
  .lior2__photo img { max-width: 440px; }
  .lior2__photo--portrait img { max-width: 300px; margin-bottom: 8px; }
  .push__fig canvas { height: 62vh; max-height: 520px; }
  .getlist { grid-template-columns: 1fr; }
  .getlist li { grid-template-columns: 7.5rem 1fr; }
  .quotes { grid-template-columns: 1fr; }
  .plans { grid-template-columns: 1fr; gap: 22px; }
  .plan[data-plan="6_months"] { order: 1; } .plan[data-plan="3_months"] { order: 2; } .plan[data-plan="monthly"] { order: 3; }
  .lvl b { font-size: 17px; padding: 9px 14px 10px; }
}

/* ---------------------------------------------------------------- motion off (system setting or the accessibility menu) */
.rm .story .sc-stage { position: relative; height: auto; min-height: 0; }
.rm .story .sc-stage__poster { position: relative; height: 56vh; }
.rm .story .sc-copy { position: relative; inset: auto; translate: none; width: auto; opacity: 1 !important; transform: none !important; padding: 18px var(--sc-gutter) 26px var(--af-pad); }
.rm .story .scrim-side, .rm .story video { display: none; }
.rm [data-sc-cue], .rm [data-sc-in], .rm [data-sc-stagger] > * { opacity: 1 !important; transform: none !important; }
.rm .method .sc-stage { position: relative; height: auto; overflow-x: auto; padding-block: 80px; }

.rm .method [data-sc-stage], .rm .mrail > * { transform: none; }
.rm .method [data-sc-stage] { direction: rtl; }
.rm .mrail { direction: rtl; padding: 0 var(--sc-gutter) 0 calc(var(--af-rail) + var(--sc-gutter)); }

/* phone weight: no live blur under the bar, no full-screen grain layer, no glow behind type over the film */
@media (max-width: 860px) {
  .bar.solid { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(4,7,10,.96); }
  .sc-grain { display: none; }
  .story-copy :is(h1, h2) { text-shadow: none; }
}

/* ---------------------------------------------------------------- the story on a phone: the film behind, the words scroll with the finger */
.pfilm { display: none; }
@media (max-width: 860px) {
  .pfilm { display: block; position: relative; }
  .pfilm__stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; z-index: 0; background: #04070A; }
  .pfilm__poster, .pfilm canvas.frames { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .pfilm canvas.frames { opacity: 0; transition: opacity 240ms ease-out; }
  .pfilm__stage.drawn canvas.frames { opacity: 1; }
  .pfilm__note { position: absolute; bottom: 14px; right: 20px; margin: 0; z-index: 1; }
  .pbeat { position: relative; z-index: 1; min-height: 100svh; }
  .pbeat--hero { margin-top: -100vh; margin-top: -100svh; }
  .pbeat--tail { min-height: 100svh; }
  /* a soft dark band travels with each block of words, so it reads over any frame */
  .pbeat__copy { padding: 76px 20px 80px calc(var(--af-rail) + 12px); text-align: right; background: linear-gradient(180deg, rgba(4,7,10,0) 0%, rgba(4,7,10,.84) 22%, rgba(4,7,10,.84) 64%, rgba(4,7,10,0) 100%); }
  .pbeat--hero .pbeat__copy { background: linear-gradient(180deg, rgba(4,7,10,.9) 0%, rgba(4,7,10,.84) 64%, rgba(4,7,10,0) 100%); }
  .pbeat__copy .sc-display { font-size: clamp(2.1rem, 9.2vw, 2.8rem); line-height: 1.04; }
  .pbeat--hero .pbeat__copy .sc-display { font-size: clamp(2.6rem, 11.5vw, 3.4rem); }
  .pbeat__lede, .pbeat__small { margin: 14px 0 0; font-size: 16.5px; line-height: 1.55; font-weight: 600; color: var(--sc-ink); }
  .pbeat__copy .acts { margin-top: 26px; display: grid; gap: 16px; justify-items: start; }
}

/* ---------------------------------------------------------------- phone: nothing waits to appear, nothing pins */
@media (max-width: 860px) {
  [data-sc-in], [data-sc-stagger] > * { opacity: 1 !important; transform: none !important; transition: none !important; }
  .sec { padding-block: 2.75rem; }
  .push { gap: 22px; }
  .push__fig canvas { height: 56vh; max-height: 470px; }
  .push__state { min-height: 0; }
  /* the method: a short pin, the title stays, the cards travel sideways (site.js) */
  .method--phone { position: relative; }
  .method--phone [data-sc-stage] { position: sticky; top: 0; height: 100vh; height: 100svh; transform: none; direction: rtl; display: flex; flex-direction: column; justify-content: center; gap: 18px; overflow: hidden; padding: 72px 0 20px; }
  .method--phone .mrail__lead { width: auto; padding: 0 20px 0 calc(var(--af-rail) + 12px); }
  .method--phone .mrail__lead h2 { font-size: clamp(1.9rem, 8vw, 2.4rem); margin-bottom: 10px; }
  .method--phone .mrail__lead .sc-body { font-size: 15.5px; line-height: 1.5; }
  .method--phone .mrail { align-self: flex-start; display: flex; direction: rtl; gap: 14px; padding: 0 20px 0 calc(var(--af-rail) + 12px); width: max-content; will-change: transform; }
  .method--phone .mrail > * { transform: none; }
  .method--phone .mstep { width: 76vw; padding: 18px; gap: 10px; }
  .method--phone .mstep h3 { font-size: 1.3rem; }
  .method--phone .mrail__end { width: 70vw; align-self: center; }
  .method--phone .mrail__bar { margin: 4px 20px 0 calc(var(--af-rail) + 12px); height: 2px; background: var(--af-line-2); border-radius: 2px; overflow: hidden; }
  .method--phone .mrail__bar i { display: block; height: 100%; background: var(--sc-accent); transform-origin: right; transform: scaleX(0); will-change: transform; }
}

@media (max-width: 860px) { .futures-tag { margin-right: 8px; font-size: 10px; padding: 3px 6px 2px; } .futures-line { font-size: 15px; margin-bottom: 10px; } }
@media (max-width: 370px) { .futures-tag { display: none; } }
