/* Reachly email subject line tester.
 *
 * The tool is a working Gmail-style inbox: the visitor types into a compose
 * window and their email lands in the list behind it, on desktop and in a
 * phone. The mail client is drawn in Roboto with Gmail's neutral greys so the
 * truncation is honest; everything that is Reachly's (page, score, actions)
 * is Poppins and Reachly purple. Scoped under .rsl / .rsl-content.
 */
.rsl, .rsl-content {
  --rsl-purple: #7B4DE0;
  --rsl-purple-ink: #5B33C2;
  --rsl-deep: #3A1D7A;
  --rsl-tint: #EBE6FD;
  --rsl-tint-2: #F4F1FD;
  --rsl-ink: #221F2E;
  --rsl-ink-2: #4D4860;
  --rsl-ink-3: #6B6680;
  --rsl-line: #E7E3F3;
  --rsl-line-2: #D3CCE8;
  --rsl-pass: #10794D;
  --rsl-warn: #8A5A00;
  --rsl-fail: #C13A33;
  --rsl-focus: 0 0 0 3px rgba(123, 77, 224, .3);
  --rsl-lift: 0 1px 2px rgba(34, 31, 46, .05), 0 24px 60px -24px rgba(58, 29, 122, .28);

  /* the mail client */
  --gm-font: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gm-bg: #F6F8FC;
  --gm-ink: #1F1F1F;
  --gm-ink-2: #444746;
  --gm-ink-3: #5E5E5E;
  --gm-line: #EDEFF2;
  --gm-read: #F2F6FC;
  --gm-pill: #E9EEF6;
  --gm-you: #F6F2FF;

  font-family: "Poppins", system-ui, sans-serif;
  color: var(--rsl-ink);
  -webkit-font-smoothing: antialiased;
}
.rsl *, .rsl *::before, .rsl *::after,
.rsl-content *, .rsl-content *::before, .rsl-content *::after { box-sizing: border-box; }
.rsl :where(p, h1, h2, h3, ol, ul, li),
.rsl-content :where(p, h1, h2, h3, ol, ul, li) { margin: 0; padding: 0; }
.rsl :where(ol, ul), .rsl-content :where(ol, ul) { list-style: none; }
.rsl [hidden], .rsl-content [hidden] { display: none !important; }
.rsl ::selection, .rsl-content ::selection { background: #DCD0FA; color: var(--rsl-ink); }
.rsl :where(button) { font: inherit; color: inherit; }

.rsl-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 32px; }

/* ===================================================== background
 * Same ground as the spam checker: faint graph paper fading out, soft
 * purple glows, washed clear behind the headline. */
.rsl { position: relative; isolation: isolate; overflow-x: clip; background: #FCFBFF; padding-bottom: 8px; }
.rsl::before, .rsl::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1100px;
  z-index: -1;
  pointer-events: none;
}
.rsl::before {
  background-image:
    linear-gradient(to right, rgba(123, 77, 224, .035) 1px, transparent 1px),
    linear-gradient(rgba(123, 77, 224, .035) 1px, transparent 1px);
  background-size: 100px 100px;
  background-position: center top;
  -webkit-mask-image: linear-gradient(#000 0%, #000 45%, transparent 100%);
  mask-image: linear-gradient(#000 0%, #000 45%, transparent 100%);
}
.rsl::after {
  background:
    radial-gradient(640px 220px at 50% 130px, rgba(252, 251, 255, .96) 30%, rgba(252, 251, 255, 0) 100%),
    radial-gradient(520px 420px at 8% 12%, rgba(123, 77, 224, .15), transparent 70%),
    radial-gradient(560px 460px at 94% 30%, rgba(123, 77, 224, .13), transparent 70%),
    radial-gradient(700px 300px at 50% 0%, rgba(213, 200, 245, .55), transparent 75%);
}

/* ================================================================ hero */
.rsl-hero { padding: 30px 0 24px; }
.rsl-hero-inner { gap: 10px !important; }
.rsl-hero-inner { text-align: center; display: grid; justify-items: center; gap: 12px; }
.rsl-h1 {
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 800;
  color: var(--rsl-ink);
  line-height: 1.04;
  letter-spacing: -0.04em;
  max-width: 20ch;
  text-wrap: balance;
}
.rsl-accent { color: var(--rsl-purple); }
.rsl-lede {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
  color: #3E3A4D;
  max-width: 38em;
  text-wrap: pretty;
}

/* ============================================================ the tool
 * One job per region: write on the left, judge on the right, see it in
 * Gmail underneath. The score stays pinned beside the subject line. */
.rsl-tool {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  grid-template-areas: "compose score" "pv score";
  gap: 12px;
  align-items: start;
  /* the tray: lifts the whole tool off the page ground */
  padding: 12px;
  background:
    radial-gradient(800px 500px at 10% 0%, rgba(123, 77, 224, .55), transparent 70%),
    radial-gradient(700px 500px at 100% 100%, rgba(123, 77, 224, .35), transparent 70%),
    #2A1460;
  border: 1px solid #3A1D7A;
  border-radius: 30px;
  box-shadow: 0 2px 4px rgba(58, 29, 122, .05), 0 50px 100px -40px rgba(58, 29, 122, .6);
}
.rsl-ico { display: inline-grid; place-items: center; width: 20px; height: 20px; flex: none; color: var(--gm-ink-2); }
.rsl-ico svg { width: 100%; height: 100%; display: block; }
.rsl-card-shadow { box-shadow: 0 0 0 1px #DCD2F6, 0 1px 2px rgba(34, 31, 46, .05), 0 18px 40px -24px rgba(58, 29, 122, .35); }

/* ---------------------------------------------------------- compose */
.rsl-compose {
  grid-area: compose;
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  font-family: var(--gm-font);
  color: var(--gm-ink);
  box-shadow: 0 0 0 1px #DCD2F6, 0 1px 2px rgba(34, 31, 46, .05), 0 18px 40px -24px rgba(58, 29, 122, .35);
}
.rsl-compose-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 42px;
  padding: 0 16px 0 22px;
  background: #F1EDFB;
  font-size: 14px;
  font-weight: 500;
}
.rsl-compose-win { display: inline-flex; gap: 12px; }
.rsl-compose-win .rsl-ico { width: 16px; height: 16px; }

.rsl-field {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: center;
  min-height: 44px;
  margin: 0 22px;
  border-bottom: 1px solid var(--gm-line);
}
.rsl label.rsl-field-k, .rsl-field-k { font-weight: 400; margin: 0; }
.rsl-field-k { font-size: 14px; color: var(--gm-ink-3); }
.rsl-field-v { font-size: 15px; color: var(--gm-ink); }
.rsl-in {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 11px 0;
  font-family: var(--gm-font);
  font-size: 15px;
  color: var(--gm-ink);
  caret-color: var(--rsl-purple);
}
.rsl-in::placeholder { color: #8A8794; }
.rsl-field:focus-within { border-bottom-color: var(--rsl-purple); }

/* the subject line is the hero of the form */
.rsl-subj {
  padding: 18px 22px 16px;
  background: #EFE8FF;
  border-top: 1px solid #DCCFFB;
  border-bottom: 1px solid #DCCFFB;
}
.rsl-subj-k { display: block; font-family: "Poppins", system-ui, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: -0.01em; color: var(--rsl-deep); margin-bottom: 8px; }
.rsl-in-subj {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.01em;
  padding: 12px 16px;
  background: #fff;
  border: 2px solid var(--rsl-purple);
  border-radius: 16px;
  box-shadow: 0 0 0 6px rgba(123, 77, 224, .16), 0 14px 30px -14px rgba(58, 29, 122, .55);
  transition: box-shadow .25s ease;
}
.rsl-in-subj:focus { box-shadow: 0 0 0 7px rgba(123, 77, 224, .26), 0 14px 30px -14px rgba(58, 29, 122, .55); }
/* while it is empty and untouched, the field breathes to say "start here" */
.rsl-in-subj:placeholder-shown:not(:focus) { animation: rsl-breathe 2.6s ease-in-out infinite; }
@keyframes rsl-breathe {
  0%, 100% { box-shadow: 0 0 0 6px rgba(123, 77, 224, .16), 0 14px 30px -14px rgba(58, 29, 122, .55); }
  50% { box-shadow: 0 0 0 11px rgba(123, 77, 224, .07), 0 14px 30px -14px rgba(58, 29, 122, .55); }
}
.rsl-in-subj::placeholder { font-weight: 400; color: #8E87A6; }
.rsl-count {
  margin-top: 8px !important;
  font-family: "Poppins", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: var(--rsl-ink-3);
  display: flex;
  align-items: center;
  gap: 8px;
}
.rsl-count::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--rsl-line-2); flex: none; }
.rsl-count.is-good { color: var(--rsl-pass); }
.rsl-count.is-good::before { background: var(--rsl-pass); }
.rsl-count.is-warn { color: var(--rsl-warn); }
.rsl-count.is-warn::before { background: #D99A1F; }

.rsl-field-body { align-items: start; border-bottom: 0; }
.rsl-field-body .rsl-field-k { padding-top: 12px; }
.rsl-in-body { resize: none; line-height: 1.55; min-height: 64px; display: block; }

.rsl-compose-foot {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 22px 14px;
  border-top: 1px solid var(--gm-line);
  font-family: "Poppins", system-ui, sans-serif;
}
.rsl-examples-label { font-size: 13px; color: var(--rsl-ink-3); margin-right: 2px; }
.rsl-chip {
  border: 0;
  cursor: pointer;
  background: #fff;
  box-shadow: 0 0 0 1px var(--rsl-line-2);
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 500;
  color: var(--rsl-ink);
  transition: box-shadow .2s ease, color .2s ease, transform .1s ease;
}
.rsl-chip:hover { box-shadow: 0 0 0 1px var(--rsl-purple); color: var(--rsl-purple-ink); }
.rsl-chip:active { transform: translateY(1px); }
.rsl-clear { margin-left: auto; box-shadow: none; color: var(--rsl-ink-3); }
.rsl-chip:focus-visible, .rsl-tab:focus-visible, .rsl-seg-btn:focus-visible, .rsl-passed summary:focus-visible { outline: none; box-shadow: var(--rsl-focus); }

/* ---------------------------------------------------------- score */
.rsl-score-col {
  grid-area: score;
  align-self: stretch;
  background: #fff;
  border-radius: 22px;
  padding: 20px 24px 8px;
  box-shadow: 0 0 0 1px #DCD2F6, 0 1px 2px rgba(34, 31, 46, .05), 0 18px 40px -24px rgba(58, 29, 122, .35);
  min-width: 0;
}
/* the card fills the column; its content follows you down the page */
.rsl-score-in { position: sticky; top: 96px; }
.rsl-results-h { font-size: 18px; font-weight: 700; color: var(--rsl-ink); letter-spacing: -0.02em; }
.rsl-score { display: grid; gap: 4px; padding: 4px 0 14px; border-bottom: 1px solid var(--rsl-line); }
.rsl-score-num { font-size: 60px; font-weight: 700; letter-spacing: -0.04em; line-height: 1; font-variant-numeric: tabular-nums; color: var(--rsl-line-2); }
.rsl-score-of { font-size: 22px; font-weight: 500; color: var(--rsl-ink-3); letter-spacing: 0; margin-left: 4px; }
.rsl-score.is-good .rsl-score-num > span:first-child { color: var(--rsl-pass); }
.rsl-score.is-ok .rsl-score-num > span:first-child { color: var(--rsl-warn); }
.rsl-score.is-bad .rsl-score-num > span:first-child { color: var(--rsl-fail); }
.rsl-verdict { font-size: 18px; font-weight: 600; letter-spacing: -0.015em; margin-top: 6px !important; }
.rsl-tabline { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; font-weight: 300; line-height: 1.5; color: var(--rsl-ink-2); }
.rsl-tabline svg { width: 18px; height: 18px; flex: none; margin-top: 1px; color: var(--rsl-purple-ink); }
.rsl-tabline b { font-weight: 600; color: var(--rsl-ink); }

.rsl-check { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--rsl-line); }
.rsl-checks > .rsl-check:last-child { border-bottom: 0; }
.rsl-status {
  align-self: start;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 6px 0;
  border-radius: 999px;
  margin-top: 1px;
}
.rsl-check.is-fail .rsl-status { background: #FBEAE8; color: var(--rsl-fail); }
.rsl-check.is-warn .rsl-status { background: #FCF1DC; color: var(--rsl-warn); }
.rsl-check.is-tip .rsl-status { background: var(--rsl-tint); color: var(--rsl-purple-ink); }
.rsl-check.is-pass .rsl-status { background: #E4F3EA; color: var(--rsl-pass); }
.rsl-check.is-idle { padding: 7px 0; }
.rsl-check.is-idle .rsl-status { background: #F2F0F7; height: 20px; }
.rsl-check.is-idle .rsl-check-title { color: var(--rsl-ink-3); font-weight: 500; }
.rsl-check-title { font-size: 14px; font-weight: 600; line-height: 1.5; }
.rsl-check-detail { font-size: 13.5px; font-weight: 300; line-height: 1.55; color: var(--rsl-ink-2); margin-top: 1px !important; overflow-wrap: anywhere; }
.rsl-check-fix { font-size: 13.5px; font-weight: 400; line-height: 1.55; color: var(--rsl-ink); margin-top: 4px !important; }
.rsl-check-clear { padding: 16px 0; font-size: 15px; line-height: 1.55; color: var(--rsl-pass); font-weight: 500; }

.rsl-passed { border-top: 1px solid var(--rsl-line); }
.rsl-passed summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--rsl-pass);
  border-radius: 6px;
}
.rsl-passed summary::-webkit-details-marker { display: none; }
.rsl-passed summary::after { content: "Show"; font-size: 13px; font-weight: 500; color: var(--rsl-ink-3); }
.rsl-passed[open] summary::after { content: "Hide"; }
.rsl-passed .rsl-check { padding: 10px 0; }

/* ---------------------------------------------------------- preview */
.rsl-pv {
  grid-area: pv;
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 0 0 1px #DCD2F6, 0 1px 2px rgba(34, 31, 46, .05), 0 18px 40px -24px rgba(58, 29, 122, .35);
}
.rsl-pv-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px 12px 22px; }
.rsl-pv-h { font-size: 18px; font-weight: 700; letter-spacing: -0.02em; color: var(--rsl-ink); }
.rsl-seg { display: inline-flex; padding: 4px; gap: 2px; background: #fff; border-radius: 999px; box-shadow: 0 0 0 1px var(--rsl-line-2); }
.rsl-seg-btn {
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  color: var(--rsl-ink-2);
  transition: background-color .2s ease, color .2s ease;
}
.rsl-seg-btn:hover { color: var(--rsl-ink); }
.rsl-seg-btn[aria-selected="true"] { background: var(--rsl-purple); color: #fff; }
.rsl-pv-stage { display: flex; justify-content: center; height: 380px; overflow: hidden; padding: 18px 20px 0; background: var(--gm-bg); border-top: 1px solid var(--gm-line); }
.rsl-pv-desk { height: auto; padding: 20px 20px 0; display: block; }
.rsl-pv-note { padding: 10px 22px 12px; font-size: 13.5px; font-weight: 400; color: var(--rsl-ink-2); border-top: 1px solid rgba(58, 29, 122, .08); background: #fff; min-height: 20px; }
.rsl-pv-note:empty { display: none; }

/* phone, cropped by the card */
.rsl-phone {
  position: relative;
  flex: none;
  width: 410px;
  height: 560px;
  border: 10px solid #1C1A24;
  border-bottom: 0;
  border-radius: 52px 52px 0 0;
  background: #fff;
  overflow: hidden;
  font-family: var(--gm-font);
  color: var(--gm-ink);
  box-shadow: 0 30px 60px -30px rgba(58, 29, 122, .45);
  zoom: .8;
}
.rsl-ph-status { display: flex; justify-content: space-between; align-items: center; height: 46px; padding: 6px 30px 0 34px; font-size: 15px; }
.rsl-ph-status b { font-weight: 600; font-size: 15px; }
.rsl-ph-sig { display: inline-flex; align-items: flex-end; gap: 2px; height: 11px; }
.rsl-ph-sig i { width: 3px; background: var(--gm-ink); border-radius: 1px; }
.rsl-ph-sig i:nth-child(1) { height: 4px; } .rsl-ph-sig i:nth-child(2) { height: 6px; } .rsl-ph-sig i:nth-child(3) { height: 8px; } .rsl-ph-sig i:nth-child(4) { height: 11px; }
.rsl-ph-search {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 4px 14px 0;
  height: 48px;
  padding: 0 10px 0 16px;
  border-radius: 24px;
  background: #EEF1F7;
  font-size: 16px;
  color: var(--gm-ink-3);
}
.rsl-gm-me {
  margin-left: auto;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #0F766E;
  color: #fff;
  font: 500 14px/32px var(--gm-font);
  text-align: center;
  flex: none;
}
.rsl-ph-label { font-size: 13px; font-weight: 500; color: var(--gm-ink-3); padding: 16px 16px 4px; }
.rsl-ph-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 20px;
  gap: 12px;
  padding: 10px 16px;
  align-items: start;
  background: #fff;
}
.rsl-ph-row.is-you { background: var(--gm-you); }
.rsl-ph-av { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-size: 17px; font-weight: 500; margin-top: 2px; }
.rsl-ph-txt { min-width: 0; }
.rsl-ph-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.rsl-ph-from { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rsl-ph-date { font-size: 12px; color: var(--gm-ink-3); white-space: nowrap; }
.rsl-ph-subj, .rsl-ph-snip { font-size: 14px; line-height: 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rsl-ph-snip { color: var(--gm-ink-3); }
.rsl-ph-row.is-unread .rsl-ph-from, .rsl-ph-row.is-unread .rsl-ph-subj, .rsl-ph-row.is-unread .rsl-ph-date { font-weight: 700; color: var(--gm-ink); }
.rsl-ph-star { color: #A4A7AE; padding-top: 44px; }
.rsl-ph-star svg { width: 20px; height: 20px; display: block; }

/* desktop list */
.rsl-gm { background: #fff; border-radius: 16px 16px 0 0; overflow: hidden; font-family: var(--gm-font); color: var(--gm-ink); box-shadow: 0 0 0 1px rgba(58, 29, 122, .06); }
.rsl-tabs { display: flex; height: 54px; border-bottom: 1px solid var(--gm-line); }
.rsl-tab {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 16px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: var(--gm-font);
  font-size: 14px;
  font-weight: 500;
  color: var(--gm-ink-3);
  text-align: left;
  transition: background-color .15s ease, color .2s ease;
}
.rsl-tab:hover { background: #F5F5F7; }
.rsl-tab::after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--rsl-purple);
  transform: scaleX(0);
  transition: transform .35s cubic-bezier(.16, 1, .3, 1);
}
.rsl-tab[aria-selected="true"] { color: var(--rsl-purple-ink); }
.rsl-tab[aria-selected="true"] .rsl-ico { color: var(--rsl-purple-ink); }
.rsl-tab[aria-selected="true"]::after { transform: scaleX(1); }
.rsl-tab-new {
  font-style: normal;
  font-size: 11px;
  font-weight: 500;
  color: #fff;
  background: var(--rsl-purple);
  border-radius: 999px;
  padding: 2px 8px;
  white-space: nowrap;
  animation: rsl-pop .45s cubic-bezier(.16, 1, .3, 1);
}
.rsl-row {
  display: grid;
  grid-template-columns: 34px 150px minmax(0, 1fr) 70px;
  align-items: center;
  height: 46px;
  padding: 0 18px 0 14px;
  font-size: 14px;
  background: var(--gm-read);
  border-bottom: 1px solid var(--gm-line);
}
.rsl-row:last-child { border-bottom: 0; }
.rsl-row.is-unread { background: #fff; }
.rsl-row.is-unread .rsl-row-from, .rsl-row.is-unread .rsl-row-subj, .rsl-row.is-unread .rsl-row-date { font-weight: 700; }
.rsl-row.is-you { background: var(--gm-you); }
.rsl-row-ico { display: flex; color: #A4A7AE; }
.rsl-row-ico svg { width: 18px; height: 18px; }
.rsl-row-from { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: 14px; }
.rsl-row-n { font-style: normal; font-size: 12px; color: var(--gm-ink-3); font-weight: 400; }
.rsl-row-txt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.rsl-row-snip { color: var(--gm-ink-3); font-weight: 400; }
.rsl-row-date { text-align: right; font-size: 12px; white-space: nowrap; }
.rsl-list.is-switch .rsl-row { animation: rsl-fade .32s ease-out both; }

/* ============================================================ motion
 * One authored moment: an example (or a finished subject line) drops your
 * row into the inbox and pushes the rest down, the way new mail arrives. */
@keyframes rsl-arrive {
  0% { transform: translateY(-100%); opacity: 0; background: #E2D7FB; }
  55% { opacity: 1; background: #E2D7FB; }
  100% { transform: none; opacity: 1; background: var(--gm-you); }
}
@keyframes rsl-push { from { transform: translateY(-46px); } to { transform: none; } }
@keyframes rsl-push-ph { from { transform: translateY(-86px); } to { transform: none; } }
@keyframes rsl-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes rsl-pop { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
.rsl-row.is-arriving, .rsl-ph-row.is-arriving { animation: rsl-arrive .7s cubic-bezier(.16, 1, .3, 1) both; position: relative; z-index: 1; }
.rsl-row.is-arriving ~ .rsl-row { animation: rsl-push .55s cubic-bezier(.16, 1, .3, 1) both; }
.rsl-ph-row.is-arriving ~ .rsl-ph-row { animation: rsl-push-ph .55s cubic-bezier(.16, 1, .3, 1) both; }

/* ============================================================ below the tool */
.rsl-content { padding: 96px 0 96px; position: relative; isolation: isolate; overflow-x: clip; }
.rsl-content::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(600px 500px at 0% 70%, rgba(123, 77, 224, .08), transparent 70%),
    radial-gradient(600px 500px at 100% 30%, rgba(123, 77, 224, .07), transparent 70%);
}
.rsl-more { max-width: 840px; }
.rsl-more-h { font-size: 32px; font-weight: 700; line-height: 1.15; letter-spacing: -0.035em; margin: 0 0 6px !important; text-wrap: balance; }
.rsl-more-sub { font-size: 15px; font-weight: 300; color: var(--rsl-ink-2); margin: 0 0 22px !important; }
.rsl-acc + .rsl-more-h { margin-top: 72px !important; }
.rsl-acc { border-top: 1px solid var(--rsl-line-2); }
.rsl-acc details { border-bottom: 1px solid var(--rsl-line-2); }
.rsl-acc summary {
  list-style: none;
  cursor: pointer;
  padding: 20px 48px 20px 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  position: relative;
  transition: color .2s ease;
}
.rsl-acc summary:hover { color: var(--rsl-purple-ink); }
.rsl-acc summary::-webkit-details-marker { display: none; }
.rsl-acc summary::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 50%;
  margin-top: -14px;
  font-size: 22px;
  line-height: 28px;
  font-weight: 300;
  color: var(--rsl-ink-3);
  transition: transform .25s cubic-bezier(.16, 1, .3, 1), color .2s ease;
}
.rsl-acc details[open] summary::after { transform: rotate(45deg); color: var(--rsl-purple-ink); }
.rsl-acc summary:focus-visible { outline: none; box-shadow: var(--rsl-focus); border-radius: 6px; }
.rsl-acc-body { padding: 0 48px 24px 0; display: grid; gap: 12px; }
.rsl-acc-body p, .rsl-facts li { font-size: 15px; line-height: 1.7; color: var(--rsl-ink-2); }
.rsl-acc-body strong { font-weight: 600; color: var(--rsl-ink); }
.rsl-facts { display: grid; gap: 6px; }
.rsl-facts li { padding-left: 18px; position: relative; }
.rsl-facts li::before { content: ""; position: absolute; left: 2px; top: .78em; width: 5px; height: 5px; border-radius: 50%; background: var(--rsl-line-2); }
.rsl-content a:not(.rlead__btn) { color: var(--rsl-purple-ink); text-decoration: underline; text-decoration-color: rgba(91, 51, 194, .35); text-underline-offset: 3px; }
.rsl-content a:not(.rlead__btn):hover { text-decoration-color: currentColor; }
.rsl-table-wrap { overflow-x: auto; }
.rsl-table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 14px; }
.rsl-table th, .rsl-table td { text-align: left; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--rsl-line); vertical-align: top; line-height: 1.5; }
.rsl-table th { font-weight: 600; color: var(--rsl-ink); }
.rsl-table td { font-weight: 300; color: var(--rsl-ink-2); }
.rsl-table td:first-child { font-weight: 500; color: var(--rsl-ink); }
.rsl-content .rlead { margin-top: 80px; }
/* the closing CTA runs the full width of the tool above it, not the 840px reading column */
.rsl-content .rlead { position: relative; left: 50%; translate: -50% 0; width: min(1136px, calc(100vw - 64px)); }
@media (max-width: 760px) { .rsl-content .rlead { width: calc(100vw - 32px); } }
@container (min-width: 900px) { .rsl-content .rlead__panel { grid-template-columns: 1fr 1fr; } .rsl-content .rlead__stage { width: 470px; justify-self: center; } .rsl-content .rlead__copy { padding-right: 24px; } }


@media (prefers-reduced-motion: reduce) {
  .rsl *, .rsl-content * { animation: none !important; transition: none !important; }
}

/* ============================================================ responsive */
@media (max-width: 1100px) {
  .rsl-tool { grid-template-columns: minmax(0, 1fr) 360px; }
  .rsl-score-col { padding: 22px 22px 10px; }
  .rsl-score-num { font-size: 64px; }
}
@media (max-width: 960px) {
  .rsl-tool { grid-template-columns: minmax(0, 1fr); grid-template-areas: "compose" "score" "pv"; gap: 16px; }
  .rsl-score-in { position: static; }
}
@media (max-width: 760px) {
  .rsl-wrap { padding: 0 16px; }
  .rsl-hero { padding: 32px 0 20px; }
  .rsl-lede { font-size: 16px; }
  .rsl-compose, .rsl-score-col, .rsl-pv { border-radius: 18px; }
  .rsl-tool { padding: 8px; border-radius: 26px; gap: 8px; }
  .rsl-h1 { font-size: 40px; }
  .rsl-lede { font-size: 16px; }
  .rsl-compose-head { padding: 0 14px 0 18px; }
  .rsl-field { grid-template-columns: 84px minmax(0, 1fr); margin: 0 18px; }
  .rsl-subj { padding: 18px 18px 14px; }
  .rsl-in-subj { font-size: 22px; padding: 14px 16px; }
  .rsl-in-body { min-height: 92px; }
  .rsl-compose-foot { padding: 12px 18px 16px; }
  .rsl-score-col { padding: 22px 18px 8px; }
  .rsl-score-num { font-size: 60px; }
  .rsl-check { grid-template-columns: 54px minmax(0, 1fr); gap: 12px; }
  .rsl-pv-head { padding: 16px 16px 14px 18px; }
  .rsl-pv-stage { padding: 16px 12px 0; height: 420px; }
  .rsl-phone { zoom: 1; }
  .rsl-pv-desk { height: auto; }
  .rsl-row { grid-template-columns: 0 96px minmax(0, 1fr) 56px; padding: 0 12px; }
  .rsl-row-ico { display: none; }
  .rsl-tab { padding: 0 10px; gap: 8px; font-size: 13px; }
  .rsl-tab .rsl-ico { display: none; }
  .rsl-content { padding: 64px 0; }
  .rsl-more-h { font-size: 26px; }
  .rsl-acc-body { padding-right: 0; }
  .rsl-acc + .rsl-more-h { margin-top: 56px !important; }
}
@media (max-width: 450px) {
  .rsl-phone { width: 100%; max-width: 410px; border-width: 8px; border-radius: 44px 44px 0 0; }
  .rsl-pv-head { flex-wrap: wrap; }
}


/* closing CTA: the dark "buyers ready to talk" card (from 15 blog-cta-variations) */
.rlead{--p:#7B4DE0;--pd:#3A1D7A;--ink:#221F2E;--mute:#5E5A6B;--line:rgba(167,139,255,.10);
    container-type:inline-size;font-family:Poppins,system-ui,sans-serif;margin-top:56px}
  .rlead *{box-sizing:border-box}
  .rlead__panel{position:relative;overflow:hidden;border-radius:22px;border:1px solid #2E1B66;
    background:radial-gradient(50% 70% at 22% 55%,rgba(123,77,224,.55),transparent 70%),
               radial-gradient(40% 50% at 100% 0%,rgba(167,139,255,.22),transparent 70%),
               linear-gradient(170deg,#241452 0%,#170B3C 60%,#130834 100%);
    box-shadow:0 30px 60px -30px rgba(19,8,52,.55);
    display:grid;grid-template-columns:1fr;padding:30px 26px 0}
  .rlead__panel::before{content:"";position:absolute;inset:0;pointer-events:none;
    background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
    background-size:40px 40px;-webkit-mask-image:radial-gradient(70% 100% at 30% 50%,#000 20%,transparent 80%);mask-image:radial-gradient(70% 100% at 30% 50%,#000 20%,transparent 80%)}
  .rlead__copy{position:relative;z-index:1}
  .rlead .rlead__title{display:block;font:700 24px/1.2 Poppins,sans-serif!important;letter-spacing:-.02em!important;color:#fff!important;margin:0 0 10px!important;text-wrap:balance}
  .rlead__title span{color:#D5C8F5}
  .rlead .rlead__sub{font:300 15px/1.6 Poppins,sans-serif!important;color:rgba(233,226,252,.82)!important;margin:0 0 20px!important;max-width:26em}
  .rlead__btn{display:inline-flex;align-items:center;gap:9px;background:var(--p);color:#fff!important;text-decoration:none!important;
    font:600 15px Poppins,sans-serif;padding:13px 22px;border-radius:12px;white-space:nowrap;
    box-shadow:0 10px 22px -8px rgba(123,77,224,.55),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .25s cubic-bezier(.16,1,.3,1),background .2s}
  .rlead .rlead__btn{background:#fff;color:#3A1D7A!important;box-shadow:0 12px 26px -10px rgba(0,0,0,.45)}
  .rlead .rlead__btn:hover{background:#F1ECFE;transform:translateY(-2px)}
  .rlead__btn:active{transform:scale(.98)}
  .rlead__btn:focus-visible{outline:3px solid #C9B6F7;outline-offset:3px}
  .rlead__btn svg{width:15px;height:15px;transition:transform .25s}
  .rlead__btn:hover svg{transform:translateX(3px)}

  .rlead__stage{position:relative;z-index:1;height:350px;margin:18px 0 0}
  .rlead__card{position:absolute;width:272px;border-radius:18px;overflow:hidden;background:#fff;border:1px solid #EFEAFB;
    box-shadow:0 30px 60px -22px rgba(0,0,0,.6),0 6px 14px -6px rgba(0,0,0,.35);
    transition:translate .9s cubic-bezier(.16,1,.3,1),opacity .6s}
  .rlead__card:nth-child(1){left:34%;top:0;rotate:6deg;scale:.9}
  .rlead__card:nth-child(2){left:19%;top:26px;rotate:2deg;scale:.95}
  .rlead__card:nth-child(3){left:2%;top:56px;rotate:-3deg}
  .rlead__cover{height:46px;background:radial-gradient(120% 140% at 0% 0%,#C9B6F7 0%,transparent 60%),radial-gradient(120% 140% at 100% 100%,#7B4DE0 0%,transparent 55%),#E6DDFC}
  .rlead__card:nth-child(1) .rlead__cover{background:radial-gradient(120% 140% at 100% 0%,#D8CCF9,transparent 60%),#EEE8FD}
  .rlead__card:nth-child(2) .rlead__cover{background:radial-gradient(120% 140% at 0% 100%,#B9A2F3,transparent 60%),#E9E1FC}
  .rlead__body{padding:0 16px 14px;margin-top:-22px}
  .rlead__av{width:48px;height:48px;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,#7B4DE0,#C9B6F7,#7B4DE0);box-shadow:0 6px 14px -6px rgba(58,29,122,.45)}
  .rlead__av span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;border:2px solid #fff;font:600 14px Poppins;color:#fff;
    background:radial-gradient(circle at 30% 25%,#A58BF0,#5B33C9)}
  .rlead__card:nth-child(1) .rlead__av span{background:radial-gradient(circle at 30% 25%,#CBB9F8,#8E6BE6)}
  .rlead__card:nth-child(2) .rlead__av span{background:radial-gradient(circle at 30% 25%,#B79FF4,#6F47D9)}
  .rlead__name{margin-top:8px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}
  .rlead__name b{font:600 14.5px/1.25 Poppins;color:var(--ink)}
  .rlead__name em{font-style:normal;font:600 11px Poppins;color:var(--pd);background:#EBE6FD;border-radius:6px;padding:2px 6px;white-space:nowrap}
  .rlead__role{font:400 12px/1.4 Poppins;color:var(--mute);margin-top:1px}
  .rlead__sigbox{margin-top:10px;display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:center;border-radius:10px;padding:8px 10px;
    background:linear-gradient(90deg,#F3EEFE,#FAF8FF);border:1px solid #EAE2FC}
  .rlead__sigbox i{width:22px;height:22px;border-radius:7px;background:var(--p);display:grid;place-items:center}
  .rlead__sigbox svg{width:12px;height:12px}
  .rlead__sigbox b{display:block;font:600 12px/1.25 Poppins;color:var(--pd)}
  .rlead__sigbox small{display:block;font:400 10.5px/1.3 Poppins;color:var(--mute)}
  .rlead__ch{margin-top:10px;display:grid;gap:6px}
  .rlead__ch div{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;font:400 11.5px/1.2 Poppins;color:var(--ink)}
  .rlead__ch i{width:20px;height:20px;border-radius:6px;background:#F1EDFB;display:grid;place-items:center;color:var(--pd)}
  .rlead__ch i svg{width:11px;height:11px}
  .rlead__ch u{text-decoration:none;font:600 10.5px Poppins;color:#10794D}
  .rlead__card:not(:nth-child(3)) .rlead__ch u,.rlead__card:not(:nth-child(3)) .rlead__sigbox div,.rlead__card:not(:nth-child(3)) .rlead__name em{visibility:hidden}
  .rlead__toast{position:absolute;z-index:3;left:calc(2% + 190px);top:18px;width:196px;border-radius:14px;padding:10px 12px;
    background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #fff;
    box-shadow:0 20px 40px -14px rgba(0,0,0,.55);display:grid;grid-template-columns:26px 1fr;gap:9px;align-items:start;rotate:2deg;
    transition:translate .9s cubic-bezier(.16,1,.3,1),opacity .6s}
  .rlead__toast i{width:26px;height:26px;border-radius:50%;background:var(--p);display:grid;place-items:center}
  .rlead__toast i svg{width:13px;height:13px}
  .rlead__toast b{display:block;font:600 12px/1.3 Poppins;color:var(--ink)}
  .rlead__toast small{display:block;font:400 11px/1.4 Poppins;color:var(--mute)}
  @container (min-width:640px){
    .rlead__panel{grid-template-columns:1.05fr 1fr;align-items:center;gap:32px;padding:0 40px 0 0;min-height:300px}
    .rlead__copy{padding:36px 0;order:2}
    .rlead__panel{min-height:380px}
    .rlead__stage{height:380px;margin:0}
    .rlead__card:nth-child(1){top:40px;left:116px}
    .rlead__card:nth-child(2){top:66px;left:74px}
    .rlead__card:nth-child(3){top:94px;left:32px}
    .rlead__toast{left:196px;right:auto;top:30px;width:188px}
  }
  @container (max-width:430px){
    .rlead .rlead__title{font-size:22px!important}
    .rlead__card{width:246px}
    .rlead__toast{left:auto;right:2%;top:8px;width:180px}
  }
  @media (prefers-reduced-motion:no-preference){
    .rlead.js .rlead__card,.rlead.js .rlead__toast{opacity:0;translate:0 28px}
    .rlead.in .rlead__toast{opacity:1;translate:0 0;transition-delay:.6s}
    .rlead.in .rlead__card{opacity:1;translate:0 0}
    .rlead.in .rlead__card:nth-child(2){transition-delay:.12s}
    .rlead.in .rlead__card:nth-child(3){transition-delay:.24s}
  }

/* the closing CTA runs the full width of the tool above it, not the 840px reading column */
.rsc-content .rlead { position: relative; left: 50%; translate: -50% 0; width: min(1136px, calc(100vw - 64px)); }
@media (max-width: 760px) { .rsc-content .rlead { width: calc(100vw - 32px); } }
@container (min-width: 900px) { .rsc-content .rlead__panel { grid-template-columns: 1fr 1fr; } .rsc-content .rlead__stage { width: 470px; justify-self: center; } .rsc-content .rlead__copy { padding-right: 24px; } }
