/* ============================================================
   Learning Success — PROCESSING SPEED page layout
   Page-unique layout for patterns/processing-speed.php. Reuses
   shared classes (.ls-eyebrow, tokens) from components.css/tokens.css;
   only what is genuinely unique to this page lives here. All classes
   prefixed .ls-processing-speed-. Loads site-wide, scoped by prefix.
   ============================================================ */

/* ---- Hero ----------------------------------------------------------- */
.ls-processing-speed-hero {
  background: linear-gradient(180deg, var(--blue-50), var(--surface-card));
  padding: 30px 32px 60px;
}
.ls-processing-speed-hero__inner { max-width: 820px; margin: 0 auto; }
.ls-processing-speed-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--blue-500); color: #fff;
  font: var(--font-eyebrow); text-transform: uppercase; letter-spacing: var(--tracking-caps);
  padding: 7px 15px; border-radius: var(--radius-pill); margin-bottom: 22px;
}
.ls-processing-speed-hero h1 {
  font: var(--font-hero); font-size: 3.4rem; line-height: 1.08;
  letter-spacing: var(--tracking-tight); color: var(--text-strong); margin: 0 0 22px;
}
.ls-processing-speed-lede {
  font: var(--font-body-md); font-size: 1.3rem; line-height: 1.6;
  color: var(--ink-900); margin: 0;
}
.ls-processing-speed-lede strong { font-weight: var(--weight-semibold); color: var(--text-strong); }

/* ---- Reading column sections --------------------------------------- */
.ls-processing-speed-intro,
.ls-processing-speed-trainable,
.ls-processing-speed-outro { padding: 0 32px; }
.ls-processing-speed-intro { padding-top: 56px; }
.ls-processing-speed-trainable { padding-top: 8px; }
.ls-processing-speed-outro { padding-top: 56px; padding-bottom: 8px; }

.ls-processing-speed-col { max-width: 760px; margin: 0 auto; }
.ls-processing-speed-col h2 {
  font: var(--font-h2); font-size: 1.9rem; color: var(--text-strong);
  letter-spacing: -0.01em; margin: 2.4rem 0 1.1rem; text-wrap: balance;
}
.ls-processing-speed-intro .ls-processing-speed-col:first-child h2 { margin-top: 2.4rem; }
.ls-processing-speed-col p {
  font: var(--font-body-md); font-size: 1.1875rem; line-height: 1.8;
  color: var(--ink-800); margin: 0 0 1.5rem;
}
.ls-processing-speed-col em { font-style: italic; color: var(--ink-900); }
.ls-processing-speed-col a {
  color: var(--blue-600); font-weight: var(--weight-medium); text-decoration: underline;
  text-decoration-color: var(--blue-200); text-underline-offset: 3px; text-decoration-thickness: 2px;
}
.ls-processing-speed-col a:hover { color: var(--blue-700); text-decoration-color: var(--blue-500); }

/* Signals box (the "at home" bullet grid) */
.ls-processing-speed-signals {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px;
  background: var(--blue-50); border: 1px solid var(--blue-100);
  border-radius: var(--radius-xl); padding: 28px 30px; margin: 6px 0 1.8rem;
}
.ls-processing-speed-signal { display: flex; gap: 12px; align-items: flex-start; }
.ls-processing-speed-signal svg { flex-shrink: 0; margin-top: 5px; }
.ls-processing-speed-signal span { font: var(--font-body-base); line-height: 1.55; color: var(--text-body); }

/* ---- Micro-skills band --------------------------------------------- */
.ls-processing-speed-microskills { background: var(--surface-page); padding: 72px 32px; }
.ls-processing-speed-microskills__inner { max-width: 1080px; margin: 0 auto; }
.ls-processing-speed-microskills__inner > .ls-eyebrow,
.ls-processing-speed-microskills__inner > h2,
.ls-processing-speed-microskills__inner > p:not(.ls-eyebrow) {
  max-width: 720px; margin-left: auto; margin-right: auto;
}
.ls-processing-speed-microskills__inner h2 {
  font: var(--font-h1); font-size: 2.2rem; color: var(--text-strong);
  letter-spacing: -0.01em; margin: 0 0 14px;
}
.ls-processing-speed-microskills__inner > p {
  font: var(--font-body-md); color: var(--text-muted); margin: 0 auto 6px;
}

.ls-processing-speed-skills {
  display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 38px;
}
.ls-processing-speed-skill {
  background: var(--surface-card); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm); padding: 30px;
}
.ls-processing-speed-skill--blue { border-top: 4px solid var(--blue-500); }
.ls-processing-speed-skill--orange { border-top: 4px solid var(--orange-500); }
.ls-processing-speed-skill--green { border-top: 4px solid var(--green-500); }
.ls-processing-speed-skill__icon {
  width: 50px; height: 50px; border-radius: var(--radius-lg); background: var(--blue-50);
  display: flex; align-items: center; justify-content: center; margin-bottom: 16px;
}
.ls-processing-speed-skill--orange .ls-processing-speed-skill__icon { background: var(--orange-50); }
.ls-processing-speed-skill--green .ls-processing-speed-skill__icon { background: var(--green-50); }
.ls-processing-speed-skill h3 {
  font: var(--font-h3); font-size: 1.24rem; color: var(--text-strong); margin: 0 0 10px;
}
.ls-processing-speed-skill h3 a {
  color: var(--blue-600); text-decoration: underline;
  text-decoration-color: var(--blue-200); text-underline-offset: 3px; text-decoration-thickness: 2px;
}
.ls-processing-speed-skill h3 a:hover { color: var(--blue-700); text-decoration-color: var(--blue-500); }
.ls-processing-speed-skill p { font: var(--font-body-base); line-height: 1.65; color: var(--text-muted); margin: 0; }

/* Neuroplasticity callout */
.ls-processing-speed-callout {
  max-width: 820px; margin: 34px auto 0; background: var(--surface-card);
  border-radius: var(--radius-xl); box-shadow: var(--shadow-sm);
  border-left: 4px solid var(--green-500); padding: 28px 32px;
  display: flex; gap: 20px; align-items: flex-start;
}
.ls-processing-speed-callout__icon {
  width: 48px; height: 48px; border-radius: var(--radius-lg); background: var(--green-50);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ls-processing-speed-callout p {
  font: var(--font-body-base); font-size: 1.08rem; line-height: 1.7; color: var(--text-body); margin: 0;
}
.ls-processing-speed-callout a {
  color: var(--blue-600); font-weight: var(--weight-medium); text-decoration: underline;
  text-decoration-color: var(--blue-200); text-underline-offset: 3px; text-decoration-thickness: 2px;
}
.ls-processing-speed-callout a:hover { color: var(--blue-700); text-decoration-color: var(--blue-500); }

@media (max-width: 820px) {
  .ls-processing-speed-hero h1 { font-size: 2.5rem; }
  .ls-processing-speed-signals { grid-template-columns: 1fr; }
  .ls-processing-speed-skills { grid-template-columns: 1fr; }
}
