/* Media conditions keep their original values and cascade order:
 * (prefers-reduced-motion: reduce)
 * (max-width: 768px)
 * print
 * (max-width: 360px)
 * (min-width: 769px)
 * (hover: hover) and (pointer: fine)
 * (min-width: 769px) and (max-width: 1100px)
 * (max-width: 374px)
 * (min-width: 1600px)
 * (max-width: 999px)
 */
/* Trial and onboarding steps. */
h1:where(#flow, #flow *),
h2:where(#flow, #flow *),
h3:where(#flow, #flow *) {
  font-family: var(--serif);
  font-weight: var(--lp-font-weight-bold);
  font-feature-settings: "palt";
  text-wrap: pretty;
}
@media (prefers-reduced-motion: reduce) {
  *:not(.band-card):where(#flow, #flow *),
  *:where(#flow, #flow *)::before,
  *:where(#flow, #flow *)::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
html.m-off *:not(.band-card):where(#flow, #flow *),
html.m-off *:where(#flow, #flow *)::before,
html.m-off *:where(#flow, #flow *)::after {
  transition: none !important;
  animation: none !important;
}
main > section:not(#hero):not(#prompt-demo):where(#flow, #flow *) {
  content-visibility: auto;
  contain-intrinsic-height: auto var(--intrinsic);
}
*:where(#flow, #flow *) {
  box-sizing: border-box;
}
:where(#flow, #flow *)::selection {
  background: var(--blue);
  color: var(--white);
}
p:where(#flow, #flow *),
h1:where(#flow, #flow *),
h2:where(#flow, #flow *),
h3:where(#flow, #flow *),
h4:where(#flow, #flow *),
ul:where(#flow, #flow *),
ol:where(#flow, #flow *),
dl:where(#flow, #flow *) {
  margin: 0;
}
h1:where(#flow, #flow *),
h2:where(#flow, #flow *),
h3:where(#flow, #flow *) {
  font-family: var(--serif);
  font-weight: var(--lp-font-weight-bold);
  color: var(--ink);
  font-feature-settings: "palt";
  letter-spacing: 0;
  line-height: var(--lp-line-height-heading);
  text-wrap: pretty;
}
h2:where(#flow, #flow *) {
  font-size: var(--h2-size);
}
h3:where(#flow, #flow *) {
  font-size: var(--h3-size);
}
p:where(#flow, #flow *) {
  max-inline-size: var(--lp-text-width-desktop);
}
h2 .phrase:where(#flow, #flow *),
h1 .phrase:where(#flow, #flow *) {
  display: inline-block;
}
[hidden]:where(#flow, #flow *) {
  display: none !important;
}
.container:where(#flow, #flow *) {
  width: calc(var(--lp-full-size) - var(--gutter) * 2);
  max-width: var(--container);
  margin-inline: auto;
}
.section:where(#flow, #flow *) {
  padding-block: var(--section);
  scroll-margin-top: var(--header);
}
.section-heading:where(#flow, #flow *) {
  margin-bottom: var(--group);
}
.section-heading p:where(#flow, #flow *) {
  margin-top: var(--lp-space-24);
}
.is-pressed:where(#flow, #flow *) {
  scale: 0.97;
}
.num:where(#flow, #flow *) {
  font-family: var(--digits);
  font-weight: var(--lp-font-weight-heavy);
  color: var(--blue);
  line-height: var(--lp-line-height-number);
}
.menu-note:where(#flow, #flow *) {
  margin-top: var(--lp-space-24);
}
.features .section-heading:where(#flow, #flow *) {
  padding-top: var(--lp-size-40);
}
.slide:where(#flow, #flow *) {
  padding: var(--lp-space-24);
  border: var(--lp-border-width) solid var(--border);
  min-height: 192px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.slide h3:where(#flow, #flow *) {
  margin-bottom: var(--lp-space-16);
}
.slide p:where(#flow, #flow *) {
  font-size: var(--caption);
  line-height: var(--lp-line-height-note);
}
.chat-question:where(#flow, #flow *),
.chat-answer:where(#flow, #flow *) {
  padding: var(--lp-space-16);
  border-radius: var(--radius);
  background: var(--pale);
  line-height: var(--lp-line-height-note);
  margin-top: var(--lp-space-16);
}
.chat-question:where(#flow, #flow *) {
  background: var(--gray);
}
.flow-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(
    var(--lp-grid-column-count-three),
    var(--lp-grid-unit)
  );
  gap: var(--lp-space-48);
}
.flow-track {
  position: absolute;
  height: var(--lp-line-width-2);
  left: 0;
  right: 0;
  top: var(--lp-size-56);
  background: var(--border);
  transform-origin: left;
}
.flow-track::after {
  content: "";
  display: block;
  background: var(--blue);
  width: var(--lp-full-size);
  height: var(--lp-full-size);
  scale: var(--flow-progress, 1) 1;
  transform-origin: left;
}
.flow-step {
  position: relative;
  background: var(--white);
  padding-right: var(--lp-space-24);
}
.flow-number {
  font-size: 110px;
  display: block;
  background: var(--white);
  position: relative;
  width: max-content;
  padding-right: var(--lp-space-24);
}
.flow-step h3 {
  margin-top: var(--lp-space-24);
}
.flow-step p {
  margin-top: var(--lp-space-24);
}
@media (max-width: 768px) {
  p:where(#flow, #flow *) {
    max-inline-size: var(--lp-text-width-mobile);
  }
  h2:where(#flow, #flow *) {
    line-height: var(--lp-line-height-compact);
  }
  h3:where(#flow, #flow *) {
    line-height: var(--lp-line-height-compact);
  }
  .section-heading:where(#flow, #flow *) {
    margin-bottom: var(--lp-size-40);
  }
  .section-heading p:where(#flow, #flow *) {
    margin-top: var(--lp-space-24);
  }
  .features .section-heading:where(#flow, #flow *) {
    padding-top: 0;
  }
  .slide:where(#flow, #flow *) {
    padding: var(--lp-space-24) var(--lp-space-16);
    min-height: var(--lp-size-208);
  }
  .flow-grid {
    grid-template-columns: var(--lp-grid-unit);
    gap: var(--lp-size-40);
    padding-left: var(--lp-space-24);
  }
  .flow-track {
    height: var(--lp-full-size);
    width: var(--lp-line-width-2);
    left: 0;
    top: 0;
    right: auto;
    transform-origin: top;
  }
  .flow-track::after {
    scale: 1 var(--flow-progress, 1);
    transform-origin: top;
  }
  .flow-step {
    padding: 0;
  }
  .flow-number {
    font-size: var(--lp-size-80);
    padding: 0;
    line-height: 1;
  }
  .flow-step h3 {
    margin-top: var(--lp-space-24);
  }
  .flow-step p {
    margin-top: var(--lp-space-24);
  }
}
@media print {
  .section:where(#flow, #flow *) {
    padding: var(--lp-space-32) 0 !important;
    background: var(--white) !important;
    color: var(--ink) !important;
  }
  .container:where(#flow, #flow *) {
    width: var(--lp-full-size);
  }
  [data-reveal]:where(#flow, #flow *) {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  h2:where(#flow, #flow *),
  h3:where(#flow, #flow *) {
    break-after: avoid;
  }
}
@media (max-width: 360px) {
  #demo-toggle:where(#flow, #flow *) {
    min-height: var(--lp-size-72);
  }
}
h3 .phrase:where(#flow, #flow *) {
  display: inline-block;
}
h1:where(#flow, #flow *),
h2:where(#flow, #flow *),
h3:where(#flow, #flow *) {
  text-wrap: balance;
}
@media (min-width: 769px) {
  .flow-number {
    font-size: var(--lp-size-120);
  }
}
#flow {
  --intrinsic: 856px;
}
@media (max-width: 768px) {
  #flow {
    --intrinsic: 1600px;
  }
}
@media print {
  main > section:where(#flow, #flow *) {
    content-visibility: visible;
    contain-intrinsic-height: none;
  }
}
[data-count]:where(#flow, #flow *) {
  font-variant-numeric: tabular-nums;
}
[data-count]:where(#flow, #flow *) {
  display: inline-block;
  white-space: nowrap;
}
[data-m-el]:where(#flow, #flow *) {
  pointer-events: none;
}
[data-m-el="sr"]:where(#flow, #flow *) {
  position: absolute;
  width: var(--mv-1);
  height: var(--mv-1);
  overflow: hidden;
  clip-path: inset(var(--mv-2));
  white-space: nowrap;
}
.m-on .m-await:where(#flow, #flow *) {
  opacity: var(--mv-3);
}
.m-on .m-enter:where(#flow, #flow *) {
  animation: m-rise var(--m-reveal) var(--m-out) backwards;
}
.m-on .m-enter[data-reveal="heading"]:where(#flow, #flow *) {
  animation-name: m-heading;
  animation-duration: var(--m-heading);
}
.m-on .m-enter[data-reveal="photo"]:where(#flow, #flow *) {
  animation-name: m-photo;
  animation-duration: var(--m-photo);
}
.m-on .m-enter[data-reveal="fade"]:where(#flow, #flow *) {
  animation-name: m-fade;
}
.m-on .m-fill:where(#flow, #flow *) {
  animation: m-fill var(--m-fill) var(--m-inout) backwards;
}
[data-m-el="wipe"]:where(#flow, #flow *) {
  position: absolute;
  inset: var(--mv-3);
  background: var(--lp-color-white);
  z-index: var(--mv-3);
  transform-origin: right bottom;
}
[data-m-el="days"]:where(#flow, #flow *) {
  display: flex;
  gap: var(--mv-27);
  height: var(--m-tick-height);
  position: absolute;
  left: var(--mv-3);
  right: var(--mv-3);
  top: var(--mv-3);
}
[data-m-el="day"]:where(#flow, #flow *) {
  flex: var(--mv-4);
  background: currentColor;
  opacity: var(--mv-28);
  border-radius: var(--mv-1);
}
[data-m-el="day"].m-lit:where(#flow, #flow *) {
  opacity: var(--mv-4);
}
.m-on .cost-ticks.m-ticks i:where(#flow, #flow *) {
  opacity: var(--mv-28);
}
.m-on .cost-ticks.m-ticks i.m-lit:where(#flow, #flow *) {
  opacity: var(--mv-4);
}
.flow-track {
  --m-flow: 1;
}
.flow-track::after {
  transform-origin: left center;
  scale: var(--m-flow) var(--mv-4);
}
.m-on .flow-step:not(.m-reached) .flow-number:where(#flow, #flow *) {
  background: var(--lp-color-hex-d6e4f0);
  color: var(--lp-color-ink);
}
.m-on .flow-step.m-reached .flow-number:where(#flow, #flow *) {
  background: var(--m-blue);
  color: var(--lp-color-white);
}
@media (max-width: 768px) {
  .flow-track::after {
    transform-origin: center top;
    scale: var(--mv-4) var(--m-flow);
  }
}
[data-m-el="attention"]:where(#flow, #flow *) {
  position: absolute;
  inset: var(--mv-3);
  overflow: hidden;
  border-radius: inherit;
}
[data-m-el="attention"]:where(#flow, #flow *)::before {
  content: "";
  position: absolute;
  inset: var(--mv-3);
  translate: var(--mv-31) var(--mv-3);
  background: linear-gradient(
    var(--mv-32),
    transparent var(--mv-33),
    var(--lp-color-hex-ffffff55) var(--mv-2),
    transparent var(--mv-34)
  );
  animation: m-sheen var(--m-heading) var(--m-inout);
}
[data-m-el="attention"]:where(#flow, #flow *)::after {
  content: "";
  position: absolute;
  inset: var(--mv-3);
  border: var(--m-ring-size) solid var(--lp-color-hex-0064ed66);
  border-radius: inherit;
  animation: m-ring var(--m-pulse-time) ease-in-out var(--mv-35);
}
[data-m-el="marker"]:where(#flow, #flow *) {
  position: absolute;
  left: var(--mv-3);
  right: var(--mv-3);
  bottom: var(--mv-3);
  height: var(--mv-41);
  background: var(--lp-color-hex-0064ed25);
  transform-origin: left center;
}
@media (hover: hover) and (pointer: fine) {
  .m-on [data-bar]:hover:where(#flow, #flow *) {
    background: var(--m-tint);
  }
}
@media (prefers-reduced-motion: reduce) {
  .m-await:where(#flow, #flow *),
  .m-enter:where(#flow, #flow *) {
    opacity: var(--mv-4) !important;
    animation: none !important;
  }
  [data-m-el="attention"]:where(#flow, #flow *),
  [data-m-el="wipe"]:where(#flow, #flow *) {
    display: none !important;
  }
}
@media print {
  .m-await:where(#flow, #flow *),
  .m-enter:where(#flow, #flow *) {
    opacity: var(--mv-4) !important;
    animation: none !important;
  }
  [data-m-el="attention"]:where(#flow, #flow *),
  [data-m-el="wipe"]:where(#flow, #flow *),
  [data-m-el="days"]:where(#flow, #flow *) {
    display: none !important;
  }
}
body.handwritten-preview main > section:where(#flow, #flow *) {
  --body: var(--hw-body);
  --ink: var(--hw-navy);
  --radius: var(--hw-radius);
  font-family: var(--hw-sans);
  font-size: var(--hw-body-pc);
  line-height: 1.9;
  color: var(--hw-body);
  position: relative;
  scroll-margin-top: calc(var(--header) + 24px);
}
body.handwritten-preview main > section .container:where(#flow, #flow *) {
  width: calc(100% - 160px);
  max-width: 1280px;
}
body.handwritten-preview main > section h2:where(#flow, #flow *) {
  font: 700 var(--hw-h2-pc)/1.5 var(--hw-serif);
  color: var(--hw-navy);
}
body.handwritten-preview main > section h3:where(#flow, #flow *) {
  font: 700 var(--hw-h3-pc)/1.6 var(--hw-serif);
  color: var(--hw-navy);
}
body.handwritten-preview main > section .num:where(#flow, #flow *) {
  font-family: var(--hw-num);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
body.handwritten-preview main > section p:where(#flow, #flow *) {
  max-inline-size: none;
}
.hw-ink:where(#flow, #flow *) {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  color: inherit;
}
.hw-ink svg:where(#flow, #flow *) {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hw-ink path:where(#flow, #flow *) {
  stroke-width: var(--hw-stroke, 4.8);
  filter: url(#hw-pen-grain);
}
.hw-button:where(#flow, #flow *) {
  border-radius: 999px;
  box-shadow: var(--hw-button-shadow) var(--hw-button-shadow) 0 var(--hw-cyan);
  font: 700 18px/1.5 var(--hw-sans);
  min-height: var(--hw-button-pc);
  border: 2px solid var(--hw-blue);
  background: var(--hw-white);
  color: var(--hw-blue);
}
.hw-button:active:where(#flow, #flow *) {
  translate: var(--hw-button-shadow) var(--hw-button-shadow);
  box-shadow: 0 0 0 var(--hw-cyan);
}
.hw-button:focus-visible:where(#flow, #flow *) {
  outline: 3px solid var(--hw-navy);
  outline-offset: 5px;
}
.hw-desktop-cta:where(#flow, #flow *) {
  position: fixed;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  display: flex;
  flex-direction: column;
  gap: var(--lp-space-6);
  z-index: 80;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s;
}
.hw-desktop-cta[data-visible="true"]:where(#flow, #flow *) {
  opacity: 1;
  visibility: visible;
}
.hw-review-link:where(#flow, #flow *) {
  position: fixed;
  left: 14px;
  bottom: 14px;
  z-index: 90;
  display: block;
  padding: var(--lp-space-10) var(--lp-space-16);
  color: var(--hw-blue);
  background: var(--hw-white);
  border: 1px solid var(--hw-blue);
  border-radius: 999px;
  font: 700 14px/1.5 var(--hw-sans);
  text-decoration: none;
}
.hw-capture
  :is(.hw-review-link, .hw-desktop-cta, .page-progress, #sticky-cta):where(
    #flow,
    #flow *
  ) {
  display: none !important;
}
.hw-capture main > section:where(#flow, #flow *) {
  content-visibility: visible !important;
  contain: none !important;
}
.hw-capture main > section [data-reveal]:where(#flow, #flow *) {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  clip-path: none !important;
}
.hw-capture main > section [data-m-el="wipe"]:where(#flow, #flow *) {
  display: none !important;
}
@media (max-width: 768px) {
  body.handwritten-preview main > section:where(#flow, #flow *) {
    font-size: var(--hw-body-sp);
    line-height: 1.8;
  }
  body.handwritten-preview main > section .container:where(#flow, #flow *) {
    width: calc(100% - 48px);
    max-width: 680px;
  }
  body.handwritten-preview main > section h2:where(#flow, #flow *) {
    font-size: var(--hw-h2-sp);
  }
  body.handwritten-preview main > section h3:where(#flow, #flow *) {
    font-size: var(--hw-h3-sp);
  }
  .hw-desktop-cta:where(#flow, #flow *) {
    display: none;
  }
  .hw-review-link:where(#flow, #flow *) {
    bottom: 12px;
    left: 12px;
    padding: var(--lp-space-9) var(--lp-space-12);
    font-size: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hw-desktop-cta:where(#flow, #flow *) {
    transition: none;
  }
}
.hw-note-phrase:where(#flow, #flow *) {
  display: inline-block;
  white-space: nowrap;
}
body.handwritten-preview
  :is(#platform, #compare, #pricing, #flow, #faq, #contact):where(
    #flow,
    #flow *
  ) {
  position: relative;
  isolation: isolate;
  content-visibility: visible !important;
  contain: none !important;
  color: var(--hw-body);
  font-family: var(--hw-sans);
  font-size: var(--hw-body-pc);
  line-height: 1.9;
  --ink: var(--hw-navy);
  --body: var(--hw-body);
  --radius: var(--hw-radius);
}
body.handwritten-preview
  :is(#platform, #compare, #pricing, #flow, #faq)
  .container:where(#flow, #flow *) {
  width: calc(100% - 160px);
  max-width: 1280px;
  position: relative;
}
body.handwritten-preview
  :is(#platform, #compare, #pricing, #flow, #faq, #contact)
  h2:where(#flow, #flow *) {
  color: var(--hw-navy);
  font: 700 var(--hw-h2-pc)/1.5 var(--hw-serif);
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: balance;
}
body.handwritten-preview
  :is(#platform, #compare, #pricing, #flow, #faq, #contact)
  h3:where(#flow, #flow *) {
  font: 700 var(--hw-h3-pc)/1.6 var(--hw-serif);
  color: var(--hw-navy);
  word-break: normal;
}
body.handwritten-preview
  :is(#platform, #compare, #pricing, #flow, #faq, #contact)
  .num:where(#flow, #flow *) {
  font-family: var(--hw-num);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
body.handwritten-preview
  :is(#platform, #compare, #pricing, #flow, #faq, #contact)
  p:where(#flow, #flow *) {
  max-inline-size: none;
}
body.handwritten-preview
  :is(#platform, #compare, #pricing, #flow, #faq, #contact)
  .hw-ink:where(#flow, #flow *) {
  z-index: 2;
}
body.handwritten-preview #flow {
  padding: var(--lp-space-96) 0;
  background: var(--hw-white);
  overflow: visible;
}
body.handwritten-preview #flow::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 290px;
  height: 150px;
  background: linear-gradient(105deg, var(--hw-pale-blue), var(--hw-pale-cyan));
  clip-path: polygon(0 0, 100% 12%, 100% 100%, 0 88%);
  z-index: -1;
}
body.handwritten-preview #flow .container {
  max-width: 1200px;
}
body.handwritten-preview #flow .section-heading {
  margin-bottom: var(--lp-space-32);
}
body.handwritten-preview #flow .flow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--lp-space-48);
  padding: 0;
}
body.handwritten-preview #flow .flow-track {
  position: absolute;
  inset: 105px 118px auto 165px;
  width: auto;
  height: 48px;
  background: transparent;
  pointer-events: none;
}
body.handwritten-preview #flow .flow-track::after {
  content: none;
}
body.handwritten-preview #flow .hw-flow-dots {
  inset: 0 auto auto 0;
  width: 31%;
  height: 100%;
  color: var(--hw-navy);
  --hw-stroke: 2.7;
}
body.handwritten-preview #flow .hw-flow-dots + .hw-flow-dots {
  left: 57%;
  rotate: 5deg;
}
body.handwritten-preview #flow .flow-step {
  padding: 0;
  position: relative;
  background: transparent;
}
body.handwritten-preview #flow .flow-number {
  display: block;
  width: max-content;
  padding: 0 0 0 var(--lp-space-6);
  font-size: var(--hw-flow-number);
  line-height: 1.1;
  letter-spacing: -0.06em;
  color: transparent;
  background: linear-gradient(110deg, var(--hw-blue), var(--hw-cyan));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  z-index: 1;
}
body.handwritten-preview #flow .flow-step h3 {
  margin: -25px 0 0 var(--lp-space-42);
  padding-bottom: var(--lp-space-8);
  max-width: 318px;
  position: relative;
  z-index: 3;
}
body.handwritten-preview #flow .hw-flow-phrase {
  display: inline-block;
  white-space: nowrap;
}
body.handwritten-preview #flow .flow-step p {
  margin: var(--lp-space-14) 0 0 var(--lp-space-42);
  max-width: 310px;
  font-size: 17px;
  line-height: 1.9;
  text-wrap: pretty;
}
body.handwritten-preview #flow .contract-table {
  margin-top: 74px;
  padding: var(--lp-space-36) var(--lp-space-42);
  border: 0;
  border-radius: var(--hw-radius);
  background: linear-gradient(105deg, var(--hw-pale-blue), var(--hw-pale-cyan));
  box-shadow: var(--hw-lower-card-shadow) var(--hw-lower-card-shadow) 0
    var(--hw-cyan);
}
body.handwritten-preview #flow .contract-row {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  gap: var(--lp-space-34);
  padding: var(--lp-space-16) 0;
  border: 0;
  font-size: 17px;
  line-height: 2;
}
body.handwritten-preview #flow .contract-row dt {
  color: var(--hw-navy);
  font: 700 17px/2 var(--hw-serif);
}
body.handwritten-preview #flow .contract-row dd {
  margin: 0;
  color: var(--hw-body);
}
@media (min-width: 769px) and (max-width: 1100px) {
  body.handwritten-preview
    :is(#platform, #compare, #pricing, #flow, #faq)
    .container:where(#flow, #flow *) {
    width: calc(100% - 96px);
  }
  body.handwritten-preview #flow .flow-grid {
    gap: var(--lp-space-32);
  }
  body.handwritten-preview #flow .flow-step :is(h3, p) {
    margin-left: var(--lp-space-24);
  }
  body.handwritten-preview #flow .flow-track {
    left: 120px;
    right: 84px;
    top: 87px;
  }
  body.handwritten-preview #flow .contract-row {
    grid-template-columns: 210px minmax(0, 1fr);
  }
}
@media (max-width: 768px) {
  body.handwritten-preview
    :is(#platform, #compare, #pricing, #flow, #faq, #contact):where(
      #flow,
      #flow *
    ) {
    font-size: var(--hw-body-sp);
    line-height: 1.8;
  }
  body.handwritten-preview
    :is(#platform, #compare, #pricing, #flow, #faq):where(#flow, #flow *) {
    padding: var(--hw-space-section-sp) 0;
  }
  body.handwritten-preview
    :is(#platform, #compare, #pricing, #flow, #faq)
    .container:where(#flow, #flow *) {
    width: calc(100% - 48px);
    max-width: 680px;
  }
  body.handwritten-preview
    :is(#platform, #compare, #pricing, #flow, #faq, #contact)
    h2:where(#flow, #flow *) {
    font-size: var(--hw-h2-sp);
    line-height: 1.5;
  }
  body.handwritten-preview
    :is(#platform, #compare, #pricing, #flow, #faq, #contact)
    h3:where(#flow, #flow *) {
    font-size: var(--hw-h3-sp);
    line-height: 1.6;
  }

  body.handwritten-preview #flow::before {
    top: 195px;
    height: 118px;
  }
  body.handwritten-preview #flow .section-heading {
    margin-bottom: var(--lp-size-40);
  }
  body.handwritten-preview #flow .flow-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--lp-size-40);
    padding-left: 0;
  }
  body.handwritten-preview #flow .flow-track {
    inset: 106px auto 92px 7px;
    width: 36px;
    height: auto;
  }
  body.handwritten-preview #flow .hw-flow-dots {
    inset: 0 auto auto 0;
    width: 220px;
    height: 36px;
    rotate: 90deg;
    transform-origin: 0 0;
  }
  body.handwritten-preview #flow .hw-flow-dots + .hw-flow-dots {
    left: 0;
    top: 52%;
    rotate: 90deg;
  }
  body.handwritten-preview #flow .flow-number {
    font-size: 130px;
    margin-left: var(--lp-space-12);
    padding: 0;
  }
  body.handwritten-preview #flow .flow-step h3 {
    margin: -14px 0 0 var(--lp-space-42);
    max-width: none;
    padding: 0;
  }
  body.handwritten-preview #flow .flow-step p {
    font-size: 16px;
    line-height: 1.8;
    margin: var(--lp-space-16) 0 0 var(--lp-space-42);
    max-width: none;
  }
  body.handwritten-preview #flow .contract-table {
    margin-top: var(--lp-size-40);
    padding: var(--lp-space-24);
  }
  body.handwritten-preview #flow .contract-row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--lp-space-8);
    padding: var(--lp-space-16) 0;
    font-size: 16px;
    line-height: 1.8;
  }
  body.handwritten-preview #flow .contract-row dt {
    font-size: 16px;
    line-height: 1.8;
  }
}
@media (max-width: 374px) {
  body.handwritten-preview #flow .flow-step :is(h3, p) {
    margin-left: var(--lp-space-32);
  }
}
.hw-motion-controlled .hw-m-pending:where(#flow, #flow *) {
  opacity: 0;
}
.hw-motion-controlled :is(.m-await, .m-enter):where(#flow, #flow *) {
  animation: none !important;
}
.hw-motion-controlled [data-m-el]:not([data-m-el="sr"]):where(#flow, #flow *) {
  display: none !important;
}
.hw-motion-controlled .hw-marker-motion:where(#flow, #flow *) {
  background: none !important;
  isolation: isolate;
}
.hw-motion-controlled .hw-marker-motion:where(#flow, #flow *)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--hw-marker-paint);
  clip-path: inset(0 var(--hw-marker-remainder, 0%) 0 0);
  pointer-events: none;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.hw-motion-controlled
  .hw-marker-motion.hw-m-marker-pending:where(#flow, #flow *)::before {
  clip-path: inset(0 100% 0 0);
}
.hw-motion-controlled [data-hw-draw]:where(#flow, #flow *) {
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
}
.hw-motion-controlled [data-hw-draw].hw-m-line-pending:where(#flow, #flow *) {
  stroke-dashoffset: 1;
}
.hw-motion-controlled
  path.hw-m-line-pending:not([data-hw-draw]):where(#flow, #flow *) {
  clip-path: inset(0 100% 0 0);
}
.hw-motion-controlled .hw-button:where(#flow, #flow *),
.hw-motion-controlled .hero-actions .button:where(#flow, #flow *) {
  transition:
    transform 160ms var(--hw-motion-out),
    box-shadow 160ms var(--hw-motion-out);
}
.hw-motion-controlled
  :is(.hw-button, .hero-actions .button).is-pressed:where(#flow, #flow *) {
  transform: translate(
    var(--hw-button-shadow, 8px),
    var(--hw-button-shadow, 8px)
  );
  box-shadow: 0 0 0 var(--hw-cyan);
  scale: 1;
}
.hw-motion-off .hw-m-pending:where(#flow, #flow *),
.hw-capture .hw-m-pending:where(#flow, #flow *) {
  opacity: 1 !important;
}
.hw-motion-off [data-hw-draw]:where(#flow, #flow *) {
  stroke-dashoffset: 0 !important;
}
.hw-capture [data-hw-draw]:where(#flow, #flow *) {
  stroke-dashoffset: 0 !important;
}
.hw-motion-off .hw-marker-motion:where(#flow, #flow *)::before,
.hw-capture .hw-marker-motion:where(#flow, #flow *)::before {
  clip-path: none !important;
}
.hw-motion-off :is(.hw-button, .hero-actions .button):where(#flow, #flow *) {
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .hw-m-pending:where(#flow, #flow *) {
    opacity: 1 !important;
  }
  [data-hw-draw]:where(#flow, #flow *) {
    stroke-dashoffset: 0 !important;
  }
  .hw-marker-motion:where(#flow, #flow *)::before {
    clip-path: none !important;
  }
  .hw-motion-controlled
    :is(.hw-button, .hero-actions .button):where(#flow, #flow *),
  .hw-motion-controlled .arrow:where(#flow, #flow *) {
    transition: none !important;
  }
}
@media print {
  .hw-m-pending:where(#flow, #flow *) {
    opacity: 1 !important;
  }
  [data-hw-draw]:where(#flow, #flow *) {
    stroke-dashoffset: 0 !important;
  }
  .hw-marker-motion:where(#flow, #flow *)::before {
    clip-path: none !important;
  }
}
.hw-phrase:where(#flow, #flow *) {
  display: inline-block;
  white-space: nowrap;
}
body.handwritten-preview :is(p, dd, li):where(#flow, #flow *) {
  text-wrap: pretty;
}
@supports (word-break: auto-phrase) {
  body.handwritten-preview
    :is(h1, h2, h3, h4, p, dd, li, button, summary, a, th, td):where(
      #flow,
      #flow *
    ) {
    word-break: auto-phrase;
  }
}
@media (min-width: 769px) and (max-width: 1100px) {
  body.handwritten-preview main > section .container:where(#flow, #flow *) {
    width: calc(100% - 160px);
  }
}
@media (min-width: 769px) {
  body.handwritten-preview main > section#flow .contract-table {
    margin-top: var(--lp-size-40);
    padding-block: var(--hw-finish-card-inset-pc);
  }
  body.handwritten-preview main > section#flow .contract-row {
    padding-block: var(--hw-finish-table-row-inset);
  }
}
@media (max-width: 768px) {
  body.handwritten-preview main > section#flow .contract-table {
    padding: var(--hw-finish-card-inset-sp);
  }
  body.handwritten-preview main > section#flow .contract-row {
    padding-block: var(--hw-finish-table-row-inset);
  }
  body.handwritten-preview main > section#flow .flow-step p {
    margin-top: var(--lp-space-12);
  }

  body.handwritten-preview main > section#flow .contract-table {
    padding: var(--lp-space-12);
  }
  body.handwritten-preview main > section#flow .contract-row {
    padding-block: var(--lp-focus-offset);
  }
  body.handwritten-preview main > section#flow .contract-row {
    padding-block: var(--lp-line-width-2);
  }
  body.handwritten-preview main > section#flow {
    padding-top: var(--lp-size-40);
  }
  body.handwritten-preview main > section#flow::before {
    display: none;
  }
  body.handwritten-preview main > section#flow .section-heading {
    padding: 0;
    margin: 0 0 var(--lp-space-32);
    background: var(--hw-white);
  }
  body.handwritten-preview main > section#flow .flow-grid {
    isolation: isolate;
  }
  body.handwritten-preview main > section#flow .flow-grid::before {
    content: "";
    position: absolute;
    top: 20px;
    left: calc(50% - 50vw);
    width: 100vw;
    height: 118px;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(
      105deg,
      var(--hw-pale-blue),
      var(--hw-pale-cyan)
    );
    clip-path: polygon(0 0, 100% 12%, 100% 100%, 0 88%);
  }
  body.handwritten-preview main > section#flow .contract-table {
    padding: var(--lp-space-20) var(--lp-space-16);
  }
  body.handwritten-preview main > section#flow .contract-row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--lp-space-6);
    padding: var(--lp-space-16) 0;
  }
  body.handwritten-preview main > section#flow .contract-row + .contract-row {
    border-top: 1px solid rgba(11, 42, 91, 0.13);
  }
  body.handwritten-preview main > section#flow .contract-row:first-child {
    padding-top: 0;
  }
  body.handwritten-preview main > section#flow .contract-row:last-child {
    padding-bottom: 0;
  }
  body.handwritten-preview main > section#flow .contract-row dt {
    position: relative;
    padding-left: var(--lp-space-18);
    color: var(--hw-navy);
    font-weight: 700;
  }
  body.handwritten-preview main > section#flow .contract-row dt::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 7px;
    height: 7px;
    background: var(--hw-blue);
  }
  body.handwritten-preview main > section#flow .contract-row dd {
    margin: 0;
    padding-left: var(--lp-space-18);
  }
}
@media (min-width: 769px) {
  body.handwritten-preview main > section#flow .hw-flow-dots + .hw-flow-dots {
    width: 14%;
  }
  body.handwritten-preview main > section#flow .flow-grid {
    --hw-flow-equal-gap: 48px;
    --hw-flow-number-box: 160px;
    --hw-flow-line-clearance: 24px;
  }
  body.handwritten-preview main > section#flow .flow-number {
    width: var(--hw-flow-number-box);
    padding-left: 0;
    text-align: center;
  }
  body.handwritten-preview main > section#flow .flow-track {
    --hw-flow-step-width: calc((100% - 2 * var(--hw-flow-equal-gap)) / 3);
    inset: 105px 0 auto;
    width: 100%;
    height: 48px;
  }
  body.handwritten-preview main > section#flow .hw-flow-dots,
  body.handwritten-preview main > section#flow .hw-flow-dots + .hw-flow-dots {
    top: 0;
    right: auto;
    bottom: auto;
    width: calc(
      var(--hw-flow-step-width) + var(--hw-flow-equal-gap) -
        var(--hw-flow-number-box) - 2 * var(--hw-flow-line-clearance)
    );
    height: 100%;
    rotate: none;
    translate: none;
    transform: none;
    transform-origin: center;
  }
  body.handwritten-preview main > section#flow .hw-flow-dots {
    left: calc(var(--hw-flow-number-box) + var(--hw-flow-line-clearance));
  }
  body.handwritten-preview main > section#flow .hw-flow-dots + .hw-flow-dots {
    left: calc(
      var(--hw-flow-step-width) + var(--hw-flow-equal-gap) +
        var(--hw-flow-number-box) + var(--hw-flow-line-clearance)
    );
  }
}
@media (min-width: 769px) and (max-width: 1100px) {
  body.handwritten-preview main > section#flow .flow-grid {
    --hw-flow-equal-gap: 32px;
    --hw-flow-number-box: 140px;
  }
  body.handwritten-preview main > section#flow .flow-track {
    top: 87px;
  }
}
body.handwritten-preview main > section:where(#flow, #flow *) {
  font-size: 17px;
  content-visibility: visible !important;
  contain: none !important;
}
body.handwritten-preview
  main
  > section
  :is(.screen-note, .demo-note, .hw-learning-date, .comparison-note):where(
    #flow,
    #flow *
  ) {
  font-size: 14px;
}
body.handwritten-preview
  main
  > section
  .section-heading
  > p:where(#flow, #flow *) {
  font-size: 20px;
}
@media (min-width: 1600px) {
  body.handwritten-preview main > section:where(#flow, #flow *) {
    font-size: 18px;
  }
  body.handwritten-preview
    main
    > section
    .section-heading
    > p:where(#flow, #flow *) {
    font-size: 22px;
  }
}
body.handwritten-preview main > section#flow {
  padding-bottom: var(--lp-space-96);
}
body.handwritten-preview main > section#flow .flow-step p {
  font-size: 17px;
}
@media (min-width: 1600px) {
  body.handwritten-preview main > section#flow .flow-step p {
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  body.handwritten-preview main > section#flow {
    padding-bottom: var(--lp-size-72);
  }
}
body.handwritten-preview main > section#flow .flow-grid {
  --compact-flow-gap: 48px;
  --compact-flow-number-size: 96px;
  --compact-flow-number-column: 64px;
  --compact-flow-title-gap: 16px;
  --compact-flow-row-height: 96px;
  position: relative;
  isolation: isolate;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--compact-flow-gap);
}

body.handwritten-preview main > section#flow .flow-step {
  position: relative;
  display: grid;
  grid-template-columns: var(--compact-flow-number-column) minmax(0, 1fr);
  grid-template-rows: minmax(var(--compact-flow-row-height), auto) auto;
  gap: 16px var(--compact-flow-title-gap);
  align-items: center;
  min-width: 0;
}

body.handwritten-preview main > section#flow .flow-number {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: var(--compact-flow-number-size);
  line-height: 1;
  letter-spacing: -0.04em;
  text-align: center;
  align-self: center;
}

body.handwritten-preview main > section#flow .flow-step h3 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 0;
  min-width: 0;
  max-width: none;
  font-size: 28px;
  line-height: 1.5;
  align-self: center;
}

body.handwritten-preview main > section#flow .flow-step p {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0;
  min-width: 0;
  max-width: none;
  align-self: start;
  text-wrap: pretty;
}
body.handwritten-preview main > section#flow::before {
  display: none;
}

body.handwritten-preview main > section#flow .flow-grid::before {
  content: "";
  position: absolute;
  top: 8px;
  left: calc(50% - 50vw);
  width: 100vw;
  height: 80px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(105deg, var(--hw-pale-blue), var(--hw-pale-cyan));
  clip-path: polygon(0 0, 100% 12%, 100% 100%, 0 88%);
}
body.handwritten-preview main > section#flow .flow-track {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

body.handwritten-preview main > section#flow .flow-step > .hw-flow-dots {
  inset: 36px auto auto calc(100% + 8px);
  width: calc(var(--compact-flow-gap) - 16px);
  height: 24px;
  rotate: none;
  translate: none;
  transform: none;
  transform-origin: center;
}

@media (min-width: 769px) and (max-width: 1100px) {
  body.handwritten-preview main > section#flow .flow-grid {
    --compact-flow-gap: 32px;
  }

  body.handwritten-preview main > section#flow .flow-step h3 {
    font-size: 24px;
  }
}

@media (max-width: 999px) {
  body.handwritten-preview main > section#flow .flow-grid {
    --compact-flow-gap: 32px;
    grid-template-columns: minmax(0, 1fr);
  }
  body.handwritten-preview main > section#flow .flow-step > .hw-flow-dots {
    inset: auto auto -26px 10px;
    width: 28px;
    height: 20px;
    rotate: 90deg;
    translate: none;
    transform: none;
    transform-origin: center;
  }
}

@media (max-width: 768px) {
  body.handwritten-preview main > section#flow .flow-grid {
    --compact-flow-number-size: 72px;
    --compact-flow-number-column: 48px;
    --compact-flow-title-gap: 12px;
    --compact-flow-row-height: 72px;
  }

  body.handwritten-preview main > section#flow .flow-step {
    row-gap: var(--lp-space-12);
  }

  body.handwritten-preview main > section#flow .flow-step h3 {
    font-size: var(--hw-h3-sp);
  }

  body.handwritten-preview main > section#flow .flow-grid::before {
    top: 6px;
    height: 60px;
  }
}
