/* ==================================================================
   LANDING — SECTIONS 1 TO 3, TWO AUDIENCES
   ==================================================================

   Built from the design handoff "ASISTEACH landing, sections 1 to 3"
   (2026-10-26). The handoff used inline styles for fidelity; this is
   the same thing expressed with the project's tokens and classes.

   ONE ACCENT, SET ONCE
   --------------------
   The only visual difference between the two audiences is a colour:
   navy for a tutor, green for a school. Every rule below therefore
   reads `var(--lm-accent)` and never a literal, and the two panels
   each set that variable on themselves. Adding a third audience one
   day is a block of data plus one colour, not a second stylesheet.

   WHY BOTH PANELS ARE IN THE HTML
   -------------------------------
   The switch hides one panel rather than fetching it. Three reasons:
   switching is instant (no flash, no request), the copy for BOTH
   audiences is in the page for search engines, and somebody who
   arrives with JavaScript broken still gets the default panel because
   hiding is done by an attribute the script adds, not one the server
   relies on.
   ================================================================== */

/* ---- The two palettes ------------------------------------------- */

.lm-panel {
  /* Navy is the default so a missing modifier fails visibly as
     "the tutor page" rather than as an unstyled grey one. */
  --lm-accent: #0f0069;
  --lm-ink: #1b1a3a;        /* body text on white */
  --lm-muted: #5e5c7a;      /* secondary text */
  --lm-faint: #8a88a6;      /* struck-through "before" text */
  --lm-line: #efeff5;       /* hairline borders */
  --lm-line-strong: #e4e4ee;/* card borders */
  --lm-tint: #f7f7fb;       /* sections 2 and 3 background */
  --lm-grid: #e9ebf2;       /* the 75px hero grid */
  --lm-chip: #f4f4f8;       /* the switch's track */
  --lm-shadow: rgba(15, 0, 105, 0.14);

  color: var(--lm-ink);
  /* The product window is deliberately wider than its column and runs
     off the right edge of the page. */
  overflow-x: hidden;
}

.lm-panel--schools {
  --lm-accent: #0e503f;
  --lm-ink: #15291f;
  --lm-muted: #56685f;
  --lm-faint: #869790;
  --lm-line: #ecf1ee;
  --lm-line-strong: #e0e8e4;
  --lm-tint: #f6f9f7;
  --lm-grid: #e3ebe7;
  --lm-chip: #f1f5f3;
  --lm-shadow: rgba(14, 80, 63, 0.14);
}

/* Coral is the same in both palettes: it means "this is the painful
   old way" and nothing else, so it must not drift with the accent. */
.lm-panel {
  --lm-coral: #e0562f;
  --lm-coral-ink: #a23a17;
  --lm-yellow: #fdd504;
}

/* The inactive panel. An attribute rather than a class so the markup
   says plainly which one is off. */
.lm-panel[hidden] {
  display: none;
}

.lm-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* ================================================================== */
/* The "who are you" switch                                           */
/* ================================================================== */

.lm-switch {
  align-self: flex-start;
  display: inline-flex;
  background: var(--lm-chip);
  border-radius: 999px;
  padding: 3px;
  font-size: 13px;
}

.lm-switch-btn {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--lm-muted);
  background: transparent;
  border: 0;
  border-radius: 999px;
  padding: 6px 14px;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.15s, background 0.15s;
}

.lm-switch-btn[aria-pressed='true'] {
  background: #fff;
  color: var(--lm-accent);
  font-weight: 600;
  box-shadow: 0 1px 3px var(--lm-shadow);
}

/* ================================================================== */
/* Section 1 — hero                                                   */
/* ================================================================== */

.lm-hero {
  overflow: hidden;
  background-color: #fff;
  /* The 75px graph-paper grid from the handoff. */
  background-image:
    linear-gradient(to right, var(--lm-grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--lm-grid) 1px, transparent 1px);
  background-size: 75px 75px;
  background-position: center top;
}

.lm-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 24px 96px;
  display: flex;
  flex-wrap: wrap;
  gap: 56px;
  align-items: center;
}

.lm-hero-copy {
  flex: 1 1 440px;
  max-width: 520px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.lm-hero-headline {
  margin: 0;
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: clamp(36px, 4.8vw, 58px);
  line-height: 1.06;
  letter-spacing: -0.02em;
  color: var(--lm-accent);
}

.lm-hero-sub {
  margin: 0;
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.65;
  color: var(--lm-muted);
}

.lm-hero-ctas {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.lm-btn-primary {
  text-decoration: none;
  background: var(--lm-accent);
  color: #fff;
  padding: 14px 22px;
  border-radius: 10px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 15px;
  transition: filter 0.15s;
}

.lm-btn-primary:hover {
  filter: brightness(1.25);
  color: #fff;
}

/* ---- The three value points ------------------------------------- */

.lm-values {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 28px;
  padding-top: 24px;
  border-top: 1px solid var(--lm-line);
  margin-top: 8px;
}

.lm-value {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: var(--font-body);
}

.lm-value-title {
  font-weight: 600;
  font-size: 15px;
}

/* ⛔ Weight 500, not the inherited 400. This project has a standing
   "anti-grey" rule for small supporting copy on phones: 13px at
   weight 400 has stems about one device-pixel wide and the eye blends
   them into the white page, which is what produced the owner's
   "everything is grey" report. Guarded by home.spec.ts. */
.lm-value-detail {
  font-size: 13px;
  font-weight: 500;
  color: var(--lm-muted);
}

/* ---- The product window ------------------------------------------
   Wider than its own column ON PURPOSE: it bleeds off the right edge
   of the page, which is what makes the hero feel like a window into
   something bigger. `.lm-hero` has `overflow: hidden` to crop it. */

.lm-product {
  flex: 1 1 480px;
  min-width: 0;
  position: relative;
  /* Tall enough to hold the window plus the floating card that hangs
     off its bottom-left corner. */
  min-height: 600px;
}

.lm-product-window {
  position: absolute;
  left: 40px;
  top: 0;
  width: 960px;
  background: #fff;
  border: 1px solid var(--lm-line-strong);
  border-radius: 14px;
  box-shadow: 0 30px 80px var(--lm-shadow);
  overflow: hidden;
}

.lm-product-window img {
  display: block;
  width: 100%;
  height: auto;
}

/* The one floating card: a small, specific thing the product noticed.
   Tutors get a navy card (their student's practice streak); schools
   get the brand yellow (a warning they would otherwise have missed). */
.lm-float {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 240px;
  border-radius: 16px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: var(--font-body);
  background: var(--lm-accent);
  color: #fff;
  box-shadow: 0 24px 50px var(--lm-shadow);
}

.lm-panel--schools .lm-float {
  background: var(--lm-yellow);
  color: var(--lm-ink);
}

.lm-float-eyebrow {
  font-size: 12px;
  font-weight: 500;
  opacity: 0.78;
}

.lm-float-title {
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
}

.lm-float-detail {
  font-size: 13px;
  font-weight: 500;
  opacity: 0.85;
}

/* ---- The strip that closes the hero ------------------------------ */

.lm-hero-strip {
  padding: 22px 0;
  border-top: 1px solid var(--lm-line);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  justify-content: space-between;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--lm-muted);
}

/* ================================================================== */
/* Section 2 — the problem                                            */
/* ================================================================== */

.lm-problem {
  background: var(--lm-tint);
}

.lm-problem-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 96px 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px 96px;
  align-items: flex-start;
}

.lm-problem-copy {
  flex: 1 1 380px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.lm-h2 {
  margin: 0;
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: var(--lm-accent);
}

.lm-problem-intro {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--lm-muted);
  max-width: 28em;
}

.lm-pains {
  flex: 1 1 420px;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}

.lm-pain {
  padding: 18px 0;
  border-bottom: 1px solid var(--lm-line-strong);
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-family: var(--font-body);
  font-size: 17px;
}

.lm-pain:last-child {
  border-bottom: 0;
}

.lm-pain-before {
  color: var(--lm-faint);
  text-decoration: line-through;
  text-decoration-color: var(--lm-coral);
}

.lm-pain-after {
  color: var(--lm-accent);
  font-weight: 500;
  text-align: right;
}

/* ================================================================== */
/* Section 3 — before / after                                         */
/* ================================================================== */

.lm-ba {
  background: var(--lm-tint);
}

.lm-ba-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 96px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.lm-ba-toggle {
  align-self: flex-start;
  display: inline-flex;
  background: #fff;
  border: 1px solid var(--lm-line-strong);
  border-radius: 999px;
  padding: 3px;
}

.lm-ba-btn {
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--lm-muted);
  background: transparent;
  border: 0;
  border-radius: 999px;
  padding: 8px 18px;
}

.lm-ba-btn[aria-pressed='true'] {
  color: #fff;
  background: var(--lm-accent);
  font-weight: 600;
}

/* ---- "Before": three spreadsheets -------------------------------- */

.lm-sheets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
}

.lm-sheet {
  margin: 0;
  background: #fff;
  border: 1px solid var(--lm-line-strong);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 12px 32px rgba(20, 30, 40, 0.06);
}

.lm-sheet-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  border-bottom: 1px solid var(--lm-line-strong);
  background: #fbfbfc;
}

/* The little green Excel tile. Decorative — the file name next to it
   already says what this is. */
.lm-sheet-icon {
  flex: none;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background: #1d6f42;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lm-sheet-name {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--lm-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* The screenshot is shown at 160% and cropped: these are real, messy
   spreadsheets and the point is the texture, not the cells. */
.lm-sheet-shot {
  position: relative;
  height: 230px;
  overflow: hidden;
}

.lm-sheet-shot img {
  width: 160%;
  max-width: none;
  display: block;
}

.lm-sheet-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 90px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
}

.lm-sheet-caption {
  padding: 4px 16px 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--lm-coral-ink);
}

.lm-sheet-dot {
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--lm-coral);
}

.lm-sheets-note {
  margin: 0;
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--lm-muted);
}

/* ---- "With ASISTEACH": each file, and what replaces it ----------- */

.lm-after {
  background: #fff;
  border: 1px solid var(--lm-line-strong);
  border-radius: 16px;
  padding: 8px 28px 12px;
  box-shadow: 0 24px 60px rgba(20, 30, 40, 0.08);
  display: flex;
  flex-wrap: wrap;
  gap: 0 32px;
  align-items: flex-end;
}

.lm-after-list {
  flex: 2 1 480px;
  min-width: 0;
}

.lm-after-headline {
  margin: 16px 0 4px;
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 22px;
  color: var(--lm-accent);
}

.lm-swap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--lm-line-strong);
}

.lm-swap:last-child {
  border-bottom: 0;
}

.lm-swap-file {
  flex: 1 1 260px;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: 14px;
  color: #8a8f8d;
  text-decoration: line-through;
  text-decoration-color: var(--lm-coral);
}

.lm-swap-file .lm-sheet-icon {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  font-size: 10px;
  text-decoration: none;
}

.lm-swap-arrow {
  flex: none;
  color: var(--lm-accent);
}

.lm-swap-to {
  flex: 2 1 320px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: var(--font-body);
}

.lm-swap-feature {
  font-weight: 600;
  color: var(--lm-accent);
}

.lm-swap-detail {
  font-size: 14px;
  color: var(--lm-muted);
}

.lm-after-mascot {
  flex: 0 1 220px;
  width: 220px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 16px auto -12px;
}

/* ================================================================== */
/* Narrow screens                                                     */
/* ================================================================== */

@media (max-width: 1100px) {
  /* Below this the product window can no longer bleed off the edge
     without eating the copy, so it becomes a normal image that fills
     its column — and the column stops reserving 600px of height for
     an absolutely-positioned child that is no longer there. */
  .lm-product {
    min-height: 0;
    width: 100%;
  }

  .lm-product-window {
    position: static;
    width: 100%;
  }

  /* ⛔ `relative`, not `static`, and the z-index is load-bearing.
     The card still overlaps the bottom of the window by design, but
     an <img> is inline content and inline content paints ABOVE the
     backgrounds of later block siblings — so a `static` card had the
     screenshot drawn straight over its first line ("Julia's phone"
     came out sliced in half on a phone). A stacking position puts
     the card back in front. */
  .lm-float {
    position: relative;
    z-index: 1;
    width: auto;
    max-width: 320px;
    margin-top: -28px;
    margin-left: 16px;
  }
}

@media (max-width: 768px) {
  .lm-hero-inner {
    padding: 32px 24px 56px;
    gap: 32px;
  }

  .lm-hero-copy {
    gap: 18px;
  }

  .lm-hero-sub {
    font-size: 16px;
    line-height: 1.55;
  }

  .lm-problem-inner {
    padding: 56px 24px;
  }

  .lm-ba-inner {
    padding: 0 24px 56px;
  }

  /* The pain list is a two-column table on a desktop; on a phone the
     "before" and "after" halves stack, so the arrow of meaning has to
     become vertical rather than horizontal. */
  .lm-pain {
    flex-direction: column;
    gap: 4px;
    font-size: 16px;
  }

  .lm-pain-after {
    text-align: left;
  }

  .lm-after {
    padding: 8px 18px 12px;
  }

  .lm-sheet-shot {
    height: 190px;
  }
}

/* Somebody who asked their system for less motion still gets the
   switch; it just stops easing. */
@media (prefers-reduced-motion: reduce) {
  .lm-switch-btn,
  .lm-btn-primary {
    transition: none;
  }
}

/* ==================================================================
   THE HEADER, WHEN IT CARRIES THE AUDIENCE SWITCH
   ==================================================================

   Opt-in via `<LandingHeader modeNav />`, and only the home page asks
   for it. Everywhere else the header keeps the frosted fixed bar it
   has always had.

   ⛔ IT STOPS BEING `position: fixed`, ON PURPOSE. The design handoff
   draws the nav as the top of the hero composition — logo, links, one
   button, then a hairline, then the headline — and a bar that detaches
   and floats over the page is a different thing. It also quietly fixes
   the problem the logo's white chip was invented for: with the bar in
   the flow, nothing can slide underneath the wordmark any more.
   ================================================================== */

.landing-header--mode-nav {
  position: static;
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid #efeff5;
  padding: 20px 24px;
}

.landing-header--mode-nav .landing-header-inner {
  gap: 16px;
  flex-wrap: wrap;
}

/* The logo sits in a row with the section links rather than alone at
   the far left, so the two read as one group. */
.landing-header--mode-nav .landing-logo {
  margin-right: 24px;
}

.landing-mode-nav {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
  /* Takes the space between the logo and the right-hand group. */
  margin-right: auto;
}

/* The section links and the "other audience" link look identical: one
   of them happens to be a <button> because it changes the page rather
   than going anywhere, and that must not show. */
.landing-mode-link {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  color: #5e5c7a;
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: color 0.15s;
}

.landing-mode-link:hover {
  color: #0f0069;
}

.landing-header-right {
  display: flex;
  align-items: center;
  gap: 20px;
}

/* With a real call-to-action button beside it, "Sign in" goes back to
   being a plain word — two filled buttons side by side would make the
   visitor choose between them instead of reading the page. */
.landing-header--mode-nav .landing-nav-signin,
.landing-header--mode-nav .landing-mobile-signin {
  background: none;
  color: #1b1a3a;
  padding: 0;
  font-weight: 500;
  border-radius: 0;
}

.landing-header--mode-nav .landing-nav-signin:hover,
.landing-header--mode-nav .landing-mobile-signin:hover {
  background: none;
  color: #0f0069;
  transform: none;
}

/* One per audience; the script shows whichever matches the panel. */
.landing-mode-cta {
  text-decoration: none;
  color: #fff;
  padding: 10px 18px;
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition: filter 0.15s;
}

.landing-mode-cta:hover {
  filter: brightness(1.25);
  color: #fff;
}

.landing-mode-cta--tutors { background: #0f0069; }
.landing-mode-cta--schools { background: #0e503f; }

@media (max-width: 860px) {
  /* The section links are the first thing to go: the logo, "Sign in"
     and the one button are what a phone actually needs, and the
     audience switch is repeated as a big pill at the top of the hero
     anyway. */
  .landing-mode-nav {
    display: none;
  }

  .landing-header--mode-nav {
    padding: 14px 20px;
  }

  .landing-header--mode-nav .landing-logo {
    margin-right: 0;
  }

  .landing-header-right {
    gap: 14px;
  }
}
.beta-section[data-astro-cid-wuhmj466]{background:var(--color-brand-yellow-400);padding:84px 24px;color:var(--color-text)}.beta-grid[data-astro-cid-wuhmj466]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:start}.beta-pill[data-astro-cid-wuhmj466]{display:inline-block;padding:7px 14px;border-radius:999px;background:var(--color-text);color:var(--color-brand-yellow-400);font-family:var(--font-body);font-size:12px;font-weight:var(--font-weight-extrabold);letter-spacing:0.16em}.beta-stop[data-astro-cid-wuhmj466]{font-family:var(--font-primary);font-size:clamp(46px,6.5vw,76px);font-weight:var(--font-weight-extrabold);line-height:0.95;letter-spacing:-0.02em;margin:20px 0 10px 0}.beta-lede[data-astro-cid-wuhmj466]{font-family:var(--font-body);font-size:clamp(18px,1.8vw,21px);font-weight:var(--font-weight-bold);line-height:1.35;margin:0 0 26px 0;max-width:460px}.beta-claim[data-astro-cid-wuhmj466]{font-family:var(--font-body);font-size:18px;font-weight:var(--font-weight-semibold);line-height:1.45;margin:0 0 22px 0}.beta-claim[data-astro-cid-wuhmj466] em[data-astro-cid-wuhmj466]{font-style:normal;font-weight:var(--font-weight-extrabold);box-shadow:inset 0 -0.42em 0 rgba(255,255,255,0.62)}.beta-questions[data-astro-cid-wuhmj466]{list-style:none;margin:0 0 22px 0;padding:0}.beta-questions[data-astro-cid-wuhmj466] li[data-astro-cid-wuhmj466]{position:relative;padding-left:26px;font-family:var(--font-body);font-size:17px;font-weight:var(--font-weight-medium);line-height:1.5;margin-bottom:8px}.beta-questions[data-astro-cid-wuhmj466] li[data-astro-cid-wuhmj466]::before{content:"";position:absolute;left:0;top:0.72em;width:14px;height:3px;border-radius:2px;background:var(--color-text);opacity:0.55}.beta-answer[data-astro-cid-wuhmj466]{font-family:var(--font-body);font-size:19px;font-weight:var(--font-weight-bold);line-height:1.45;margin:0 0 26px 0;max-width:460px}.beta-what[data-astro-cid-wuhmj466]{border-top:2px solid rgba(26,26,46,0.16);border-bottom:2px solid rgba(26,26,46,0.16);padding:4px 0;margin:0 0 26px 0;max-width:520px}.beta-what[data-astro-cid-wuhmj466] summary[data-astro-cid-wuhmj466]{display:flex;align-items:center;gap:10px;padding:14px 0;cursor:pointer;font-family:var(--font-body);font-size:17px;font-weight:var(--font-weight-bold);list-style:none}.beta-what[data-astro-cid-wuhmj466] summary[data-astro-cid-wuhmj466]::-webkit-details-marker{display:none}.beta-what-mark[data-astro-cid-wuhmj466]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--color-text);color:var(--color-brand-yellow-400);font-size:15px;font-weight:var(--font-weight-extrabold)}.beta-what-label[data-astro-cid-wuhmj466]{flex:1}.beta-what-chevron[data-astro-cid-wuhmj466]{width:10px;height:10px;flex-shrink:0;border-right:2.5px solid var(--color-text);border-bottom:2.5px solid var(--color-text);transform:rotate(45deg) translate(-2px,-2px);transition:transform 0.18s ease}.beta-what[data-astro-cid-wuhmj466][open] .beta-what-chevron[data-astro-cid-wuhmj466]{transform:rotate(-135deg) translate(-2px,-2px)}.beta-what-body[data-astro-cid-wuhmj466]{font-family:var(--font-body);font-size:16px;font-weight:var(--font-weight-medium);line-height:1.6;margin:0 0 16px 0;padding-left:36px}.beta-free[data-astro-cid-wuhmj466]{display:inline-flex;align-items:center;gap:10px;margin:0;padding:12px 18px;border-radius:999px;background:var(--color-neutral-0);font-family:var(--font-body);font-size:16px;font-weight:var(--font-weight-bold)}.beta-free-tick[data-astro-cid-wuhmj466]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--color-brand-green-500);color:var(--color-neutral-0);font-size:13px;font-weight:var(--font-weight-bold)}.beta-video-title[data-astro-cid-wuhmj466]{font-family:var(--font-primary);font-size:clamp(22px,2.4vw,28px);font-weight:var(--font-weight-extrabold);line-height:1.2;margin:0 0 8px 0}.beta-video-sub[data-astro-cid-wuhmj466]{font-family:var(--font-body);font-size:16px;font-weight:var(--font-weight-medium);line-height:1.5;margin:0 0 18px 0;max-width:480px}.beta-video-frame[data-astro-cid-wuhmj466]{position:relative;border-radius:16px;overflow:hidden;background:var(--color-text);border:3px solid var(--color-text);box-shadow:0 18px 40px -14px rgba(26,26,46,0.45);line-height:0}.beta-video[data-astro-cid-wuhmj466]{display:block;width:100%;height:auto;aspect-ratio:16 / 9;background:var(--color-neutral-0)}.beta-video--phone[data-astro-cid-wuhmj466]{aspect-ratio:390 / 844}.beta-video-frame--phone[data-astro-cid-wuhmj466]{display:none}@media (max-width: 768px){.beta-video-frame--desk[data-astro-cid-wuhmj466]{display:none}.beta-video-frame--phone[data-astro-cid-wuhmj466]{display:block;max-width:320px;margin:0 auto}}.beta-video-fallback[data-astro-cid-wuhmj466]{padding:24px;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--color-neutral-0)}.beta-play[data-astro-cid-wuhmj466]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:74px;height:74px;border-radius:50%;background:var(--color-brand-indigo-500);color:var(--color-neutral-0);box-shadow:0 10px 26px -6px rgba(15,0,105,0.55);pointer-events:none}.beta-video-note[data-astro-cid-wuhmj466]{font-family:var(--font-body);font-size:14px;font-weight:var(--font-weight-semibold);margin:12px 0 0 0;opacity:0.72}@media (max-width: 1024px){.beta-grid[data-astro-cid-wuhmj466]{grid-template-columns:1fr;gap:40px}.beta-media[data-astro-cid-wuhmj466]{max-width:620px}}@media (max-width: 768px){.beta-section[data-astro-cid-wuhmj466]{padding:52px 18px}.beta-stop[data-astro-cid-wuhmj466]{font-size:38px;margin:14px 0 8px 0}.beta-lede[data-astro-cid-wuhmj466]{font-size:16px;margin-bottom:20px}.beta-claim[data-astro-cid-wuhmj466],.beta-answer[data-astro-cid-wuhmj466]{font-size:15.5px}.beta-questions[data-astro-cid-wuhmj466] li[data-astro-cid-wuhmj466]{font-size:15px;padding-left:22px}.beta-what[data-astro-cid-wuhmj466] summary[data-astro-cid-wuhmj466]{font-size:15.5px;padding:12px 0}.beta-what-body[data-astro-cid-wuhmj466]{font-size:15px;padding-left:0}.beta-free[data-astro-cid-wuhmj466]{font-size:15px;padding:11px 16px}.beta-video-title[data-astro-cid-wuhmj466]{font-size:19px}.beta-video-sub[data-astro-cid-wuhmj466]{font-size:15px}.beta-video-note[data-astro-cid-wuhmj466]{font-size:13px}.beta-play[data-astro-cid-wuhmj466]{width:58px;height:58px}.beta-video-frame[data-astro-cid-wuhmj466]{border-width:2px;border-radius:12px}}.ls-section[data-astro-cid-3fvqqhmk]{background:var(--landing-tint);padding:96px 24px;position:relative}.ls-section[data-astro-cid-3fvqqhmk]>.landing-container[data-astro-cid-3fvqqhmk]{position:relative;z-index:1}.ls-grid[data-astro-cid-3fvqqhmk]{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.ls-feature-list[data-astro-cid-3fvqqhmk]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px;position:sticky;top:32px}.ls-feature[data-astro-cid-3fvqqhmk]{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:flex-start}.ls-feature-icon[data-astro-cid-3fvqqhmk]{width:44px;height:44px;border-radius:12px;background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;box-shadow:0 2px 6px -2px rgba(15,0,105,0.08);flex-shrink:0}.ls-feature-title[data-astro-cid-3fvqqhmk]{font-family:var(--font-primary);font-size:17px;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 4px 0;line-height:1.3}.ls-feature-text[data-astro-cid-3fvqqhmk]{font-family:var(--font-body);font-size:14.5px;color:var(--color-text-light);line-height:1.55;margin:0}.ls-mockup[data-astro-cid-3fvqqhmk]{--lm-page: #f6f7f9;--lm-tint: #f9ecef;--lm-white: #ffffff;--lm-whisper: #fcf7f8;--lm-border: #d8e1ee;--lm-hairline:#e4e5ea;--lm-navy: #152d61;--lm-red: #c43451;--lm-text: #0f172a;--lm-muted: #52607a;--lm-head: #0b2a6b;--lm-font-head: "Montserrat", system-ui, sans-serif;--lm-font-body: "Inter", system-ui, sans-serif;width:100%;max-width:560px;justify-self:end;background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px -20px rgba(15,0,105,0.28),0 8px 20px -8px rgba(0,0,0,0.08)}.ls-mock-chrome[data-astro-cid-3fvqqhmk]{display:flex;align-items:center;gap:8px;height:36px;padding:0 14px;background:linear-gradient(180deg,#f6f7fa 0%,#eef1f6 100%);border-bottom:1px solid var(--color-neutral-200)}.ls-mock-dot[data-astro-cid-3fvqqhmk]{width:11px;height:11px;border-radius:50%;flex-shrink:0}.ls-mock-dot--red[data-astro-cid-3fvqqhmk]{background:#ff5f57}.ls-mock-dot--amber[data-astro-cid-3fvqqhmk]{background:#febc2e}.ls-mock-dot--green[data-astro-cid-3fvqqhmk]{background:#28c840}.ls-mock-address[data-astro-cid-3fvqqhmk]{display:inline-flex;align-items:center;gap:6px;max-width:60%;height:22px;padding:0 12px;margin:0 auto;background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:999px;color:var(--color-text-muted)}.ls-mock-lock[data-astro-cid-3fvqqhmk]{width:12px;height:12px;opacity:.7}.ls-mock-url[data-astro-cid-3fvqqhmk]{font-family:var(--font-body);font-size:11.5px;font-weight:var(--font-weight-medium);letter-spacing:0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ls-mock-lesson[data-astro-cid-3fvqqhmk]{background:var(--lm-page);color:var(--lm-text);font-family:var(--lm-font-body);font-weight:400;line-height:1.7}.ls-mock-hero[data-astro-cid-3fvqqhmk]{position:relative;overflow:hidden;background:var(--lm-navy);color:#fff;padding:30px 26px 34px}.ls-mock-hero-blob[data-astro-cid-3fvqqhmk]{position:absolute;left:-70px;top:-70px;width:210px;height:210px;border-radius:50%;background:rgba(196,52,81,0.2);pointer-events:none}.ls-mock-hero-dot[data-astro-cid-3fvqqhmk]{position:absolute;right:-34px;bottom:-40px;width:130px;height:130px;border-radius:50%;background:var(--lm-red);opacity:.85;pointer-events:none}.ls-mock-hero-inner[data-astro-cid-3fvqqhmk]{position:relative;z-index:1}.ls-mock-eyebrow[data-astro-cid-3fvqqhmk]{font-family:var(--lm-font-body);font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;opacity:.85;margin-bottom:10px}.ls-mock-title[data-astro-cid-3fvqqhmk]{font-family:var(--lm-font-head);font-weight:800;letter-spacing:-0.015em;font-size:26px;line-height:1.15;margin:0;color:#fff}.ls-mock-body[data-astro-cid-3fvqqhmk]{position:relative;padding:28px 18px 0 46px;display:flex;flex-direction:column;gap:22px;max-height:800px;overflow:hidden}.ls-mock-body[data-astro-cid-3fvqqhmk]::before{content:"";position:absolute;left:20px;top:36px;bottom:0;border-left:2px dashed currentColor;opacity:.22;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent,#000 8%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 8%,#000 78%,transparent)}.ls-mock-stage[data-astro-cid-3fvqqhmk]{position:relative}.ls-mock-node[data-astro-cid-3fvqqhmk]{position:absolute;left:-40px;top:4px;width:30px;height:30px;border-radius:50%;border:4px solid var(--lm-page);background:var(--lm-navy);color:#fff;font-family:var(--lm-font-head);font-weight:800;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:2}.ls-mock-block[data-astro-cid-3fvqqhmk]{position:relative;border-radius:6px;border:1px solid var(--lm-hairline);border-left:3px solid var(--lm-red);box-shadow:0 2px 8px rgba(0,0,0,0.06);padding:18px 20px 20px}.ls-mock-block--tint[data-astro-cid-3fvqqhmk]{background:var(--lm-tint)}.ls-mock-block--bare[data-astro-cid-3fvqqhmk]{background:var(--lm-white)}.ls-mock-block--tint[data-astro-cid-3fvqqhmk] .ls-mock-sheet[data-astro-cid-3fvqqhmk]{background:var(--lm-white)}.ls-mock-block--bare[data-astro-cid-3fvqqhmk] .ls-mock-sheet[data-astro-cid-3fvqqhmk]{background:var(--lm-whisper)}.ls-mock-block-title[data-astro-cid-3fvqqhmk]{font-family:var(--lm-font-head);font-weight:800;letter-spacing:-0.015em;font-size:17px;line-height:1.25;color:var(--lm-head);margin:0 0 12px 0}.ls-mock-sheet[data-astro-cid-3fvqqhmk]{border:1px solid var(--lm-border);border-radius:4px;padding:15px 16px}.ls-mock-sheet--centre[data-astro-cid-3fvqqhmk]{text-align:center}.ls-mock-phrase-word[data-astro-cid-3fvqqhmk]{font-family:var(--lm-font-head);font-weight:800;letter-spacing:-0.015em;font-size:25px;line-height:1.15;color:var(--lm-head)}.ls-mock-phrase-def[data-astro-cid-3fvqqhmk]{display:inline-block;margin-top:10px;padding:5px 13px;border-radius:4px;background:var(--lm-red);color:#fff;font-size:12.5px;font-weight:600;line-height:1.45}.ls-mock-phrase-example[data-astro-cid-3fvqqhmk]{margin-top:13px;padding-left:12px;border-left:3px solid var(--lm-red);text-align:left;font-size:13.5px;line-height:1.55;color:var(--lm-text)}.ls-mock-phrase-note[data-astro-cid-3fvqqhmk]{margin-top:10px;font-size:12.5px;font-style:italic;line-height:1.55;color:var(--lm-muted)}.ls-mock-pager[data-astro-cid-3fvqqhmk]{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}.ls-mock-pager-btn[data-astro-cid-3fvqqhmk]{width:26px;height:26px;border-radius:50%;background:var(--lm-red);color:#fff;font-size:15px;line-height:26px;text-align:center;flex-shrink:0}.ls-mock-pager-dots[data-astro-cid-3fvqqhmk]{display:inline-flex;align-items:center;gap:5px}.ls-mock-pager-dot[data-astro-cid-3fvqqhmk]{width:7px;height:7px;border-radius:50%;border:1px solid var(--lm-red)}.ls-mock-pager-dot[data-astro-cid-3fvqqhmk].is-on{background:var(--lm-red)}.ls-mock-pager-count[data-astro-cid-3fvqqhmk]{font-size:11.5px;font-weight:600;color:var(--lm-muted);letter-spacing:0.02em}.ls-mock-formula[data-astro-cid-3fvqqhmk]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}.ls-mock-slab[data-astro-cid-3fvqqhmk]{padding:6px 13px;border-radius:4px;font-family:var(--lm-font-head);font-weight:800;letter-spacing:-0.015em;font-size:16px;line-height:1.3;color:#fff;white-space:nowrap}.ls-mock-slab--blue[data-astro-cid-3fvqqhmk]{background:var(--lm-navy)}.ls-mock-slab--red[data-astro-cid-3fvqqhmk]{background:var(--lm-red)}.ls-mock-arrow[data-astro-cid-3fvqqhmk]{font-size:13px;color:var(--lm-muted);opacity:.7}.ls-mock-formula-note[data-astro-cid-3fvqqhmk]{margin:13px 0 0 0;font-size:13px;line-height:1.6;color:var(--lm-text);text-align:center}.ls-mock-table[data-astro-cid-3fvqqhmk]{margin-top:14px;border:1px solid var(--lm-border);border-radius:4px;overflow:hidden}.ls-mock-tr[data-astro-cid-3fvqqhmk]{display:flex;align-items:flex-start;gap:12px;padding:9px 12px;background:var(--lm-white)}.ls-mock-tr[data-astro-cid-3fvqqhmk]+.ls-mock-tr[data-astro-cid-3fvqqhmk]{border-top:1px solid var(--lm-border)}.ls-mock-th[data-astro-cid-3fvqqhmk]{flex-shrink:0;min-width:58px;font-family:var(--lm-font-head);font-weight:800;font-size:9.5px;letter-spacing:0.08em;line-height:2;color:var(--lm-red)}.ls-mock-td[data-astro-cid-3fvqqhmk]{font-size:12.5px;line-height:1.55;color:var(--lm-text)}.ls-mock-examples[data-astro-cid-3fvqqhmk]{margin-top:10px;display:flex;flex-direction:column;gap:7px}.ls-mock-example[data-astro-cid-3fvqqhmk]{margin:0;padding:8px 12px;background:var(--lm-white);border:1px solid var(--lm-border);border-radius:4px;font-size:12.5px;line-height:1.7;color:var(--lm-text)}.ls-mock-hl[data-astro-cid-3fvqqhmk]{display:inline-block;padding:1px 7px;border-radius:3px;background:var(--lm-navy);color:#fff;font-weight:600}.ls-mock-source[data-astro-cid-3fvqqhmk]{display:inline-block;padding:4px 10px;border-radius:3px;background:var(--lm-red);color:#fff;font-family:var(--lm-font-head);font-weight:800;font-size:9.5px;letter-spacing:0.08em;line-height:1.5}.ls-mock-quote[data-astro-cid-3fvqqhmk]{margin:12px 0 0 0;padding-left:14px;border-left:4px solid var(--lm-navy);font-size:13.5px;font-style:italic;line-height:1.7;color:var(--lm-text)}.ls-mock-fade[data-astro-cid-3fvqqhmk]{position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;background:linear-gradient(180deg,rgba(246,247,249,0) 0%,rgba(246,247,249,0.86) 55%,rgba(246,247,249,1) 100%)}@media (max-width: 960px){.ls-grid[data-astro-cid-3fvqqhmk]{grid-template-columns:1fr;gap:48px}.ls-feature-list[data-astro-cid-3fvqqhmk]{position:static}.ls-mockup[data-astro-cid-3fvqqhmk]{justify-self:center;max-width:520px}}@media (max-width: 640px){.ls-section[data-astro-cid-3fvqqhmk]{padding:52px 18px}.ls-mock-hero[data-astro-cid-3fvqqhmk]{padding:22px 18px 26px}.ls-mock-title[data-astro-cid-3fvqqhmk]{font-size:20px}.ls-mock-body[data-astro-cid-3fvqqhmk]{padding:20px 14px 0;max-height:620px}.ls-mock-body[data-astro-cid-3fvqqhmk]::before{display:none}.ls-mock-node[data-astro-cid-3fvqqhmk]{position:static;display:inline-flex;width:24px;height:24px;border:0;margin-bottom:8px;font-size:11px}.ls-mock-block[data-astro-cid-3fvqqhmk]{padding:15px 16px 17px}.ls-mock-phrase-word[data-astro-cid-3fvqqhmk]{font-size:20px}.ls-mock-slab[data-astro-cid-3fvqqhmk]{font-size:14px;padding:5px 10px}.ls-mock-chrome[data-astro-cid-3fvqqhmk]{height:32px;padding:0 10px;gap:6px}.ls-mock-dot[data-astro-cid-3fvqqhmk]{width:9px;height:9px}.ls-mock-lock[data-astro-cid-3fvqqhmk]{display:none}.ls-mock-address[data-astro-cid-3fvqqhmk]{max-width:70%;height:20px;padding:0 10px}.ls-mock-url[data-astro-cid-3fvqqhmk]{font-size:10.5px}}.browser-frame[data-astro-cid-uosds2h4]{width:100%;background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:14px;overflow:hidden;box-shadow:0 24px 60px -20px rgba(15,0,105,0.28),0 8px 20px -8px rgba(0,0,0,0.08)}.browser-frame-chrome[data-astro-cid-uosds2h4]{display:flex;align-items:center;gap:8px;height:36px;padding:0 14px;background:linear-gradient(180deg,#f6f7fa 0%,#eef1f6 100%);border-bottom:1px solid var(--color-neutral-200)}.browser-frame-dot[data-astro-cid-uosds2h4]{width:11px;height:11px;border-radius:50%;flex-shrink:0}.browser-frame-dot--red[data-astro-cid-uosds2h4]{background:#ff5f57}.browser-frame-dot--amber[data-astro-cid-uosds2h4]{background:#febc2e}.browser-frame-dot--green[data-astro-cid-uosds2h4]{background:#28c840}.browser-frame-address[data-astro-cid-uosds2h4]{display:inline-flex;align-items:center;gap:6px;max-width:60%;height:22px;padding:0 12px;margin:0 auto;background:var(--color-neutral-0);border:1px solid var(--color-neutral-200);border-radius:999px;color:var(--color-text-muted)}.browser-frame-lock[data-astro-cid-uosds2h4]{width:12px;height:12px;flex-shrink:0;opacity:0.7}.browser-frame-url[data-astro-cid-uosds2h4]{font-family:var(--font-body);font-size:11.5px;font-weight:var(--font-weight-medium);letter-spacing:0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.browser-frame-image[data-astro-cid-uosds2h4]{display:block;width:100%;height:auto}@media (max-width: 640px){.browser-frame-chrome[data-astro-cid-uosds2h4]{height:32px;padding:0 10px;gap:6px}.browser-frame-dot[data-astro-cid-uosds2h4]{width:9px;height:9px}.browser-frame-lock[data-astro-cid-uosds2h4]{display:none}.browser-frame-address[data-astro-cid-uosds2h4]{max-width:70%;height:20px;padding:0 10px}.browser-frame-url[data-astro-cid-uosds2h4]{font-size:10.5px}}.pl-section[data-astro-cid-jfxnw65u]{background:var(--color-neutral-0);padding:96px 24px;position:relative}.pl-section[data-astro-cid-jfxnw65u]::before{content:"";position:absolute;top:0;left:0;right:0;height:100px;pointer-events:none;background:linear-gradient(to bottom,var(--landing-tint) 0%,transparent 100%);z-index:0}.pl-section[data-astro-cid-jfxnw65u]>.landing-container[data-astro-cid-jfxnw65u]{position:relative;z-index:1}.pl-showcase[data-astro-cid-jfxnw65u]{position:relative;max-width:900px;margin:0 auto 56px}.pl-showcase-front[data-astro-cid-jfxnw65u]{position:relative}.pl-grid[data-astro-cid-jfxnw65u]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.pl-tile-icon[data-astro-cid-jfxnw65u]{margin-bottom:16px}.pl-tile-title[data-astro-cid-jfxnw65u]{font-family:var(--font-primary);font-size:18px;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 8px 0;line-height:1.3}.pl-tile-text[data-astro-cid-jfxnw65u]{font-family:var(--font-body);font-size:14.5px;color:var(--color-text-light);line-height:1.55;margin:0}@media (max-width: 1024px){.pl-grid[data-astro-cid-jfxnw65u]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.pl-section[data-astro-cid-jfxnw65u]{padding:52px 18px}.pl-showcase[data-astro-cid-jfxnw65u]{margin-bottom:40px}.pl-grid[data-astro-cid-jfxnw65u]{grid-template-columns:1fr;gap:16px}.pl-tile[data-astro-cid-jfxnw65u]{padding:22px 20px}}.hw-section[data-astro-cid-khzrbdxp]{background:var(--color-neutral-0);padding:96px 24px;border-top:1px solid var(--color-neutral-100)}.hw-steps[data-astro-cid-khzrbdxp]{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1080px;margin:0 auto}.hw-step[data-astro-cid-khzrbdxp]{position:relative;text-align:center;padding:0 8px}.hw-step[data-astro-cid-khzrbdxp]::after{content:"";position:absolute;top:28px;right:-24px;width:40px;height:2px;background:repeating-linear-gradient(to right,var(--color-neutral-300) 0 6px,transparent 6px 10px)}.hw-step[data-astro-cid-khzrbdxp]:last-child::after{display:none}.hw-step-num[data-astro-cid-khzrbdxp]{width:56px;height:56px;border-radius:50%;background:var(--color-brand-indigo-500);color:var(--color-neutral-0);font-family:var(--font-primary);font-size:22px;font-weight:var(--font-weight-extrabold);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 6px 16px -4px rgba(15,0,105,0.35),0 2px 4px -1px rgba(15,0,105,0.15)}.hw-steps[data-astro-cid-khzrbdxp].animate-fade-in-up .hw-step-num[data-astro-cid-khzrbdxp]{animation:hw-step-pop 0.6s ease-out both;animation-delay:calc(0.1s * var(--step-i, 0))}@keyframes hw-step-pop{from{transform:scale(0.6);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce),(max-width: 768px){.hw-steps[data-astro-cid-khzrbdxp].animate-fade-in-up .hw-step-num[data-astro-cid-khzrbdxp]{animation:none;opacity:1}}.hw-step-title[data-astro-cid-khzrbdxp]{font-family:var(--font-primary);font-size:18px;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 8px 0;line-height:1.3}.hw-step-text[data-astro-cid-khzrbdxp]{font-family:var(--font-body);font-size:14.5px;color:var(--color-text-light);line-height:1.55;margin:0}.hw-cta[data-astro-cid-khzrbdxp]{text-align:center;margin-top:56px}.hw-cta-fineprint[data-astro-cid-khzrbdxp]{margin:14px 0 0 0;font-family:var(--font-body);font-size:13px;color:var(--color-text-muted)}@media (max-width: 900px){.hw-steps[data-astro-cid-khzrbdxp]{grid-template-columns:repeat(2,1fr);gap:40px 20px}.hw-step[data-astro-cid-khzrbdxp]::after{display:none}}@media (max-width: 560px){.hw-section[data-astro-cid-khzrbdxp]{padding:52px 18px}.hw-steps[data-astro-cid-khzrbdxp]{grid-template-columns:1fr;gap:0;max-width:420px}.hw-step[data-astro-cid-khzrbdxp]{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:14px;text-align:left;padding:0 0 22px 0}.hw-step-num[data-astro-cid-khzrbdxp]{grid-column:1;grid-row:1 / span 2;width:40px;height:40px;font-size:17px;margin:0}.hw-step-title[data-astro-cid-khzrbdxp]{grid-column:2;grid-row:1}.hw-step-text[data-astro-cid-khzrbdxp]{grid-column:2;grid-row:2}.hw-step[data-astro-cid-khzrbdxp]::after{display:block;content:"";top:46px;left:19px;right:auto;bottom:8px;width:2px;height:auto;background:repeating-linear-gradient(to bottom,var(--color-neutral-300) 0 5px,transparent 5px 9px)}.hw-step[data-astro-cid-khzrbdxp]:last-child{padding-bottom:0}.hw-step[data-astro-cid-khzrbdxp]:last-child::after{display:none}.hw-step-title[data-astro-cid-khzrbdxp]{margin:8px 0 6px 0}.hw-cta[data-astro-cid-khzrbdxp]{margin-top:32px}}.wi-section[data-astro-cid-pdqsb5ov]{background:var(--color-brand-green-500);padding:96px 24px 60px}.wi-section[data-astro-cid-pdqsb5ov] .landing-section-title[data-astro-cid-pdqsb5ov]{color:var(--color-neutral-0)}.wi-section[data-astro-cid-pdqsb5ov] .landing-section-subtitle[data-astro-cid-pdqsb5ov]{color:rgba(255,255,255,0.82)}.wi-grid[data-astro-cid-pdqsb5ov]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.wi-card[data-astro-cid-pdqsb5ov]{padding:32px 28px}.wi-card-icon[data-astro-cid-pdqsb5ov]{margin-bottom:16px}.wi-card-title[data-astro-cid-pdqsb5ov]{font-family:var(--font-primary);font-size:22px;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 6px 0;line-height:1.25}.wi-card-tagline[data-astro-cid-pdqsb5ov]{font-family:var(--font-body);font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-brand-indigo-500);margin:0 0 20px 0;line-height:1.4}.wi-card-list[data-astro-cid-pdqsb5ov]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.wi-card-item[data-astro-cid-pdqsb5ov]{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:flex-start;font-family:var(--font-body);font-size:14.5px;color:var(--color-text-light);line-height:1.5}.wi-card-bullet[data-astro-cid-pdqsb5ov]{width:20px;height:20px;border-radius:50%;background:var(--color-brand-green-100);color:var(--color-brand-green-500);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}@media (max-width: 1024px){.wi-grid[data-astro-cid-pdqsb5ov]{grid-template-columns:1fr;gap:20px;max-width:560px;margin:0 auto}}@media (max-width: 640px){.wi-section[data-astro-cid-pdqsb5ov]{padding:52px 18px 32px}.wi-card[data-astro-cid-pdqsb5ov]{padding:26px 22px}}.cta-section[data-astro-cid-xqcsk2it]{padding-top:60px}.cta-final-wrap[data-astro-cid-xqcsk2it]{position:relative;z-index:1}.cta-final-inner[data-astro-cid-xqcsk2it]{max-width:620px;margin:0 auto;text-align:center}.cta-final-title[data-astro-cid-xqcsk2it]{color:var(--color-neutral-0);margin-bottom:16px;line-height:1.15}.cta-final-subhead[data-astro-cid-xqcsk2it]{margin:0 0 28px 0;font-family:var(--font-body);font-size:17px;line-height:1.5;color:rgba(255,255,255,0.85)}.cta-final-fineprint[data-astro-cid-xqcsk2it]{margin:16px 0 0 0;font-family:var(--font-body);font-size:13px;color:rgba(255,255,255,0.7)}.cta-final-invite[data-astro-cid-xqcsk2it]{margin:10px 0 0 0;font-family:var(--font-body);font-size:14px;color:rgba(255,255,255,0.8)}.cta-final-invite-link[data-astro-cid-xqcsk2it]{margin-left:4px;color:var(--color-brand-yellow-400);font-weight:var(--font-weight-semibold);text-decoration:underline;text-underline-offset:3px}.cta-final-invite-link[data-astro-cid-xqcsk2it]:hover{color:var(--color-brand-yellow-300)}.cta-bg-circle--top-right[data-astro-cid-xqcsk2it]{width:400px;height:400px;top:-100px;right:-100px}.cta-bg-circle--bottom-left[data-astro-cid-xqcsk2it]{width:300px;height:300px;bottom:-80px;left:-60px}.btn-yellow[data-astro-cid-xqcsk2it]{background:var(--color-brand-yellow-400);color:var(--color-text);border:1px solid var(--color-brand-yellow-400);font-weight:var(--font-weight-semibold)}.btn-yellow[data-astro-cid-xqcsk2it]:hover{background:var(--color-brand-yellow-300);border-color:var(--color-brand-yellow-300)}@media (max-width: 768px){.cta-section[data-astro-cid-xqcsk2it]{padding-top:36px}}