/* THE FIRST MOVE: before the hour, the visitor says what will not move, one question at a time.
   Each answer is met with a true line from the practice; the answers become the note August reads first.
   Inside the offer panel, so its surfaces are tints, never a second glass. Text at 12px and up, ink at the floor. */
.fm{position:relative;max-width:560px;margin:34px auto 0;text-align:left}
.fm[hidden],.fm [hidden]{display:none!important} /* a button style sets display, which beats the hidden attribute */
.fm.fm--in{animation:fmIn .6s cubic-bezier(.16,1,.3,1) both}
@media(max-width:560px){.fm{margin-left:-24px;margin-right:-24px}} /* on a phone the offer's 40px padding squeezed the visitor's own words */
@keyframes fmIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fm__h{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(22px,3vw,28px);line-height:1.2;color:#fff;text-align:center}
.fm__sub{margin:10px auto 0;max-width:46ch;font-size:15px;line-height:1.62;color:var(--ink-soft);text-align:center}
.fm__dots{display:flex;justify-content:center;gap:10px;margin:18px 0 6px;padding:0;list-style:none}
.fm__dots li{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.14);transition:background .5s ease,box-shadow .5s ease}
.fm__dots li.on{background:#7fe0f2;box-shadow:0 0 10px rgba(34,211,238,.75)}
.fm__dots li.now{background:#d8b4fe;box-shadow:0 0 12px rgba(192,132,252,.8)}
.fm__done{display:grid;gap:12px;margin-top:16px}
.fm__d{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(150,165,225,.16)}
.fm__d.fm--in{animation:fmIn .6s cubic-bezier(.16,1,.3,1) both}
.fm__dq{margin:0;font-size:13px;line-height:1.5;color:#a9cfff}
.fm__da{margin:6px 0 0;font-size:15px;line-height:1.6;color:#fff;white-space:pre-wrap;overflow-wrap:anywhere}
.fm__ack{display:flex;gap:10px;align-items:baseline;margin:10px 0 0;font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.fm__ack i{flex:none;width:7px;height:7px;border-radius:50%;background:#d8b4fe;box-shadow:0 0 9px rgba(192,132,252,.8);transform:translateY(-1px)}
.fm__step{margin-top:18px}
.fm__q{display:block}
.fm__n{display:block;font-size:13px;line-height:1.4;color:#a9cfff}
.fm__t{display:block;margin-top:4px;font-family:var(--display);font-weight:400;font-size:20px;line-height:1.3;color:#fff}
.fm__in{display:block;width:100%;min-height:132px;margin-top:12px;padding:14px 16px;border-radius:18px;border:1px solid rgba(150,175,255,.32);
  background:rgba(255,255,255,.045);color:#fff;font:inherit;font-size:16px;line-height:1.55;resize:vertical;outline:none;
  transition:border-color .35s ease,box-shadow .35s ease}
.fm__in::placeholder{color:#c4c4e6;opacity:1}
.fm__in:focus{border-color:rgba(34,211,238,.7);box-shadow:0 0 0 4px rgba(34,211,238,.12)}
.fm__acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.fm__acts .btn{min-height:48px}
@media(max-width:560px){.fm__acts .btn{flex:1 1 100%}}
.fm__acts .btn[disabled]{opacity:.5;cursor:default;transform:none}
.fm__note{margin-top:18px}
.fm__note[hidden]{display:none}
.fm__nh{margin:0;font-size:13px;color:#a9cfff}
.fm__pre{margin:8px 0 0;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(150,165,225,.2);
  font-family:var(--body);font-size:14.5px;line-height:1.62;color:#fff;white-space:pre-wrap;overflow-wrap:anywhere}
.fm__price{margin:14px 0 0;font-size:15px;line-height:1.6;color:var(--ink-soft)}
.fm__price b{color:#fff;font-weight:500}
.fm__after{margin:12px 0 0;font-size:14px;line-height:1.6;color:#ffe3a0}
.fm__after[hidden]{display:none}
.fm__again,.fm__own a{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;font:inherit;font-size:14px;
  color:#a9cfff;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;cursor:pointer}
.fm__own{margin:6px 0 0;text-align:center}
/* YOUR SYSTEM, AS YOU TOLD IT: their words as cards inside one loop; the amber circle is the loop not yet seen */
.fs{margin:0 0 22px}
.fs__h{margin:0;font-family:var(--display);font-weight:300;font-size:22px;line-height:1.25;color:#fff}
.fs__stage{position:relative;margin-top:12px;padding:16px 36px 40px 34px}
.fs__loop{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}
.fs__path{fill:none;stroke:url(#fsG);stroke-width:2;stroke-linejoin:round;opacity:.9;filter:drop-shadow(0 0 5px rgba(192,132,252,.45))}
.fs__path.fs--drawn{transition:stroke-dashoffset 1.6s cubic-bezier(.16,1,.3,1)}
.fs__chev{fill:none;stroke:#e9e2ff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.fs__dot{stroke:#080a14;stroke-width:2;filter:drop-shadow(0 0 5px currentColor)}
.fs__ring{fill:rgba(253,194,111,.08);stroke:#fdc26f;stroke-width:1.6;stroke-dasharray:3 4}
.fs__q{fill:#ffe3a0;font-family:var(--body);font-size:14px;font-weight:500;text-anchor:middle;dominant-baseline:central}
.fs__amber{transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 7px rgba(253,194,111,.55))}
.fs__amber.fs--breathe{animation:fsBreathe 1.6s cubic-bezier(.16,1,.3,1) 1}
@keyframes fsBreathe{0%{transform:scale(1)}35%{transform:scale(1.22)}100%{transform:scale(1)}}
.fs__sig{fill:#f8f1fb;filter:drop-shadow(0 0 6px rgba(248,241,251,.95))}
.fs__nodes{position:relative;margin:0;padding:0;list-style:none}
.fs__node{--h:192,132,252;--ht:#dcc2ff;padding:10px 12px 11px;border-radius:16px;background:rgba(var(--h),.075);border:1px solid rgba(var(--h),.3)}
.fs__node.fs--ppl{--h:241,138,198;--ht:#f9c0df}
.fs__node.fs--goal{--h:216,239,252;--ht:#e3f4fd}
.fs__node.fs--push{--h:34,211,238;--ht:#9eeefa}
.fs__node b{display:block;font-size:12.5px;line-height:1.4;font-weight:500;color:var(--ht)}
.fs__node span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin-top:3px;font-size:14.5px;line-height:1.5;color:#fff;overflow-wrap:anywhere}
.fs__node .fs__none{color:#c4c4e6}
.fs__link{padding:7px 0 7px 2px;font-size:12.5px;line-height:1.4;color:#c4c4e6}
.fs__back{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);margin:0;padding:0 10px;white-space:nowrap;font-size:12.5px;line-height:1.4;color:#c4c4e6;background:#0b0d17;border-radius:8px}
.fs__cap{margin:10px 0 0;font-size:14.5px;line-height:1.62;color:var(--ink-soft)}
@media(prefers-reduced-motion:reduce){.fs__path.fs--drawn{transition:none}.fs__amber.fs--breathe{animation:none}}
@media(prefers-reduced-motion:reduce){.fm.fm--in,.fm__d.fm--in{animation:none}.fm__dots li,.fm__in{transition:none}}
