/* SEEK2LRN: shared components for every pre-login page.
 *
 * Needs s2l-tokens.css first. Holds the pieces that more than one page renders:
 *
 *   1. .s2l-blm        scoped reset + page shell (so EduBlink/Elementor can't
 *                      reach in and our rules can't leak out)
 *   2. .blm-nav        site header, Register menu          -> components/header.html
 *   3. .blm-footer     subscribe band + link columns       -> components/footer.html
 *   4. shape kit       Blue Memphis decor paints + idle floats (landing, Become an Educator)
 *   5. .s2l-page       content-page layout: prose, feature grid, CTA, legal TOC
 *
 * Page-only styling stays in its own sheet: landing-memphis.css (landing),
 * assets/css/become-an-educator.css (Become an Educator), assets/css/find-a-tutor.css (Find).
 * The nav colour flip on the landing works through the --blm-* hooks below,
 * which landing-memphis.js sets as the scroll cards go full-bleed. */

/* ── 1. scoped reset + shell ──────────────────────────────────────────────── */
.s2l-blm,
.s2l-blm *,
.s2l-blm *::before,
.s2l-blm *::after { box-sizing: border-box; margin: 0; padding: 0; }
.s2l-blm ul { list-style: none; }
.s2l-blm a { text-decoration: none; }
.s2l-blm button { font-family: inherit; }
.s2l-blm img, .s2l-blm video, .s2l-blm svg, .s2l-blm canvas { display: block; max-width: 100%; }

.s2l-blm {
  position: relative;
  font-family: var(--s2l-font-body);
  /* Part of the "EduBlink/Elementor can't reach in" reset above: without an
   * explicit base, every ch/em/unitless-line-height rule under here (e.g.
   * .s2l-page-inner's 65ch column) inherits whatever font-size the active
   * theme's global styles put on <body> — 22px on WordPress's own default
   * block theme, for one — instead of the 16px this design assumes. */
  font-size: 16px;
  /* same reason, for the rest of the text basics: a theme's body line-height,
     weight and letter-spacing (Twenty Twenty-Five: 1.4, 300, -0.1px) would
     otherwise leak into the header and footer. These are the browser defaults
     the static pages render with, so this is a no-op there. */
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
  background: var(--s2l-bg);
  color: var(--s2l-ink);
  min-height: 100vh;
  overflow: clip; /* clip, not hidden: `hidden` would break the cards' sticky stage */
}
/* A theme styles every heading by tag (Twenty Twenty-Five: `h1, ..., h6 {
 * font-weight: 400; letter-spacing: -0.1px; line-height: 1.125 }`). This puts
 * the browser defaults the static pages render with back, at the same weak
 * tag-level priority: it wins over the theme (it loads later) and loses to
 * every class-based heading style of ours. A no-op on the static site. */
:where(.s2l-blm, .s2l-w, .s2l-w-doc) :is(h1, h2, h3, h4, h5, h6) { font-weight: bold; letter-spacing: normal; line-height: normal; }
.s2l-blm ::selection { background: var(--s2l-primary); color: var(--s2l-white); }
/* A shell that wraps only part of a page (the header alone, say, above markup
 * that brings its own layout): takes no height of its own, and does not clip
 * the fixed nav. [s2l_header] / [s2l_footer] render with this. */
.s2l-blm.s2l-blm--part { min-height: 0; overflow: visible; }
/* visually hidden, still read aloud: the footer's subscribe label and the
 * like. The components carry their own rule so a page need not define it. */
.s2l-blm .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ── 2. nav ───────────────────────────────────────────────────────────────── */
.s2l-blm .blm-nav {
  position: fixed; top: 0; left: 0; right: 0; height: 58px; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 3.5vw;
  background: var(--blm-nav-bg, var(--s2l-bg));
  transition: background-color 0.35s ease;
}
.s2l-blm .blm-logo {
  font-size: 1.45rem; font-weight: 800; letter-spacing: -1px; line-height: 1;
  color: var(--blm-logo, var(--s2l-primary)); transition: color 0.35s ease;
}
.s2l-blm .blm-logo span { color: var(--blm-logo2, var(--s2l-ink)); transition: color 0.35s ease; }
.s2l-blm .blm-links { display: flex; gap: 1.8rem; }
.s2l-blm .blm-links a {
  font-size: 0.88rem; cursor: pointer;
  color: var(--blm-link, var(--s2l-ink-2));
  transition: color 0.35s ease, border-color 0.35s ease;
}
.s2l-blm .blm-links a:hover,
.s2l-blm .blm-links a.active { color: var(--blm-linkact, var(--s2l-primary)); }
.s2l-blm .blm-links a.active { border-bottom: 2px solid var(--blm-linkact, var(--s2l-primary)); padding-bottom: 2px; }
.s2l-blm .blm-actions { display: flex; gap: 0.5rem; }
.s2l-blm .blm-regwrap { position: relative; }
/* border-fill: transparent/paper with a themed border + text. Register is the
 * one button allowed to invert to a solid fill, and only on hover — that hover
 * flip is what marks it as the primary action against Login's plain outline. */
.s2l-blm .blm-btn-reg {
  cursor: pointer; padding: 0.42rem 1.1rem; border-radius: var(--s2l-radius-ctl);
  font-size: 0.84rem; font-weight: 600;
  background: transparent; color: var(--blm-reg-bg, var(--s2l-primary));
  border: 1.5px solid var(--blm-reg-bg, var(--s2l-primary));
  transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}
.s2l-blm .blm-btn-reg:hover {
  background: var(--blm-reg-bg, var(--s2l-primary)); color: var(--blm-reg-col, var(--s2l-white));
}
.s2l-blm .blm-btn-login {
  display: inline-block; background: transparent; cursor: pointer;
  padding: 0.42rem 1.1rem; border-radius: var(--s2l-radius-ctl); font-size: 0.84rem; font-weight: 600;
  color: var(--blm-login, var(--s2l-primary)); border: 1.5px solid var(--blm-login, var(--s2l-primary));
  transition: color 0.35s ease, border-color 0.35s ease;
}
.s2l-blm .blm-regmenu {
  position: absolute; top: calc(100% + 6px); right: 0; z-index: 200;
  display: none; min-width: 140px; overflow: hidden;
  background: var(--s2l-white); border: 1.5px solid var(--s2l-primary); border-radius: var(--s2l-radius-ctl);
  box-shadow: 0 6px 24px rgba(13, 27, 62, 0.13);
}
.s2l-blm .blm-regmenu.open { display: block; animation: blmFadeUp 0.15s ease; }
.s2l-blm .blm-regmenu a {
  display: block; width: 100%; padding: 0.6rem 1rem;
  font-size: 0.84rem; color: var(--s2l-ink-2); text-align: left;
}
.s2l-blm .blm-regmenu a:hover { background: var(--s2l-primary-fade); color: var(--s2l-primary); }
@keyframes blmFadeUp { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* mobile menu: hidden on desktop, so the desktop header is unchanged */
.s2l-blm .blm-burger, .s2l-blm .blm-scrim, .s2l-blm .blm-drawer { display: none; }

/* ── 3. footer ────────────────────────────────────────────────────────────── */
/* White, in the landing's editorial type: Roboto Slab 300/400 for headings,
 * Inter for text, ink + blue, flat and square. (Was navy with a blue
 * subscribe band.) */
.s2l-blm .blm-footer { position: relative; z-index: 2; background: var(--s2l-white); color: var(--s2l-ink); }

.s2l-blm .blm-foot-sub {
  background: var(--s2l-white); padding: 2.5rem 4rem;
  border-bottom: 1px solid var(--s2l-line);
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.5rem; flex-wrap: wrap;
}
.s2l-blm .blm-foot-sub h3 {
  font-family: var(--s2l-font-display); font-weight: 300; font-size: 1.6rem;
  color: var(--s2l-ink); margin-bottom: 0.35rem;
}
.s2l-blm .blm-foot-sub p { font-family: 'Inter', 'Segoe UI', Arial, sans-serif; font-size: 0.9rem; color: var(--s2l-muted); }
.s2l-blm .blm-subform { display: flex; gap: 0.4rem; }
.s2l-blm .blm-subform input {
  width: 230px; padding: 0.52rem 1rem;
  border: 1.5px solid var(--s2l-ink); border-radius: var(--s2l-radius-ctl);
  background: var(--s2l-white); color: var(--s2l-ink);
  font-family: 'Inter', 'Segoe UI', Arial, sans-serif; font-size: 0.84rem; outline: none;
}
.s2l-blm .blm-subform input:focus { outline: 2px solid var(--s2l-primary); outline-offset: 1px; }
.s2l-blm .blm-subform button {
  padding: 0.52rem 1.2rem; background: var(--s2l-primary); color: var(--s2l-white);
  border: 1.5px solid var(--s2l-primary); border-radius: var(--s2l-radius-ctl);
  font-family: 'Inter', 'Segoe UI', Arial, sans-serif; font-size: 0.84rem; font-weight: 600; cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
.s2l-blm .blm-subform button:hover { background: var(--s2l-ink); border-color: var(--s2l-ink); }
/* five blocks: brand + Quick Links + Tutoring + Information + Contact Us. (Was
 * four columns, which pushed Contact Us onto a row of its own.) */
.s2l-blm .blm-foot-main { display: grid; grid-template-columns: 2fr 1.5fr 1.5fr 1.5fr 2fr; gap: 2.5rem; padding: 3rem 4rem; }
@media (max-width: 1100px) and (min-width: 769px) {
  .s2l-blm .blm-foot-main { grid-template-columns: repeat(3, 1fr); }
}
.s2l-blm .blm-foot-logo { font-size: 1.35rem; font-weight: 800; color: var(--s2l-primary); letter-spacing: -0.5px; }
.s2l-blm .blm-foot-logo .blm-accent { color: var(--s2l-ink); }
.s2l-blm .blm-foot-logo .blm-foot-sublogo { display: block; margin-top: -2px; font-size: 0.48rem; font-weight: 400; letter-spacing: 0.02em; color: var(--s2l-muted); }
.s2l-blm .blm-foot-social { display: flex; gap: 0.55rem; margin-top: 1rem; }
.s2l-blm .blm-soc {
  width: 29px; height: 29px; border-radius: 50%;
  border: 1px solid var(--s2l-ink);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.72rem; color: var(--s2l-ink);
}
.s2l-blm .blm-soc:hover { background: var(--s2l-ink); color: var(--s2l-white); }
.s2l-blm .blm-foot-col h4 { font-family: var(--s2l-font-display); font-size: 1rem; font-weight: 400; color: var(--s2l-ink); margin-bottom: 1rem; }
.s2l-blm .blm-foot-col li { margin-bottom: 0.5rem; }
.s2l-blm .blm-foot-col a { font-family: 'Inter', 'Segoe UI', Arial, sans-serif; font-size: 0.88rem; color: var(--s2l-muted); }
.s2l-blm .blm-foot-col a:hover { color: var(--s2l-primary); text-decoration: underline; text-underline-offset: 4px; }
.s2l-blm .blm-contact { margin-bottom: 0.75rem; }
.s2l-blm .blm-contact .blm-clabel { font-family: 'Inter', 'Segoe UI', Arial, sans-serif; font-size: 0.65rem; font-weight: 500; color: var(--s2l-muted); margin-bottom: 0.15rem; }
.s2l-blm .blm-contact p { font-family: 'Inter', 'Segoe UI', Arial, sans-serif; font-size: 0.88rem; color: var(--s2l-ink); }
.s2l-blm .blm-foot-bottom {
  border-top: 2px solid var(--s2l-ink); text-align: center;
  padding: 1rem; font-family: 'Inter', 'Segoe UI', Arial, sans-serif; font-size: 0.76rem; color: var(--s2l-muted);
}

@media (max-width: 768px) {
  .s2l-blm .blm-actions { display: none; }
  .s2l-blm .blm-burger {
    display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px;
    width: 44px; height: 44px; margin-right: -10px; background: transparent; border: 0; cursor: pointer;
  }
  .s2l-blm .blm-burger span { display: block; width: 22px; height: 2px; background: var(--blm-logo, var(--s2l-primary)); }
  .s2l-blm .blm-burger:focus-visible, .s2l-blm .blm-drawer a:focus-visible, .s2l-blm .blm-drawer-close:focus-visible {
    outline: 2px solid var(--s2l-primary); outline-offset: 2px;
  }
  .s2l-blm .blm-scrim {
    display: block; position: fixed; inset: 0; z-index: 1000; background: rgba(13, 27, 62, 0.5);
    opacity: 0; visibility: hidden; transition: opacity 0.25s ease, visibility 0.25s;
  }
  .s2l-blm .blm-scrim.open { opacity: 1; visibility: visible; }
  .s2l-blm .blm-drawer {
    display: none; flex-direction: column; position: fixed; top: 0; left: 0; bottom: 0; z-index: 1001;
    width: min(320px, 86vw); height: 100vh; height: 100dvh; overflow-y: auto; overscroll-behavior: contain;
    background: var(--s2l-white); color: var(--s2l-ink); padding-bottom: 1.5rem;
    transform: translateX(-100%); transition: transform 0.25s ease;
  }
  /* .show = in the layout, .open = slid in (display:none while closed keeps the off-screen panel out of the page) */
  .s2l-blm .blm-drawer.show { display: flex; }
  .s2l-blm .blm-drawer.open { transform: none; }
  .s2l-blm .blm-drawer-head { display: flex; align-items: center; justify-content: space-between; height: 52px; padding: 0 0 0 16px; flex: none; }
  .s2l-blm .blm-drawer-close { width: 44px; height: 44px; margin-right: 6px; background: transparent; border: 0; font-size: 1.9rem; line-height: 1; color: var(--s2l-ink); cursor: pointer; }
  .s2l-blm .blm-drawer-links a, .s2l-blm .blm-drawer-reg a {
    display: flex; align-items: center; min-height: 48px; padding: 0 16px;
    font-family: 'Inter', 'Segoe UI', Arial, sans-serif; font-size: 1rem; color: var(--s2l-ink-2);
  }
  .s2l-blm .blm-drawer-links a.active { color: var(--s2l-primary); background: var(--s2l-primary-fade); font-weight: 600; box-shadow: inset 3px 0 0 var(--s2l-primary); }
  .s2l-blm .blm-drawer-reg { margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid var(--s2l-primary-fade); }
  .s2l-blm .blm-drawer-label { padding: 0 16px 0.25rem; font-family: 'Inter', 'Segoe UI', Arial, sans-serif; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--s2l-muted); }
  .s2l-blm .blm-drawer-reg a { padding-left: 32px; }
}
html.blm-lock, html.blm-lock body { overflow: hidden; }

@media (max-width: 768px) {
  .s2l-blm .blm-nav { padding: 0 16px; height: 52px; }
  .s2l-blm .blm-links { display: none; }
  .s2l-blm .blm-logo { font-size: 1.2rem; }
  .s2l-blm .blm-btn-reg, .s2l-blm .blm-btn-login { padding: 0.34rem 0.8rem; font-size: 0.78rem; }
  .s2l-blm .blm-foot-sub { flex-direction: column; align-items: flex-start; padding: 1.75rem 1.25rem; }
  .s2l-blm .blm-subform { width: 100%; }
  .s2l-blm .blm-subform input { width: auto; flex: 1; }
  .s2l-blm .blm-foot-main { grid-template-columns: 1fr 1fr; gap: 1.5rem; padding: 2rem 1.25rem; }
}
@media (max-width: 420px) {
  .s2l-blm .blm-foot-main { grid-template-columns: 1fr; }
}

/* ── 4. shape kit: Blue Memphis decor ─────────────────────────────────────── */
/* idle float loops (duration/delay per instance via --d / --dl) */
@keyframes blmFloat  { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes blmFloatR { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-10px) rotate(6deg); } }
.s2l-blm .blm-f  { animation: blmFloat  var(--d, 8s) ease-in-out var(--dl, 0s) infinite; }
.s2l-blm .blm-fr { animation: blmFloatR var(--d, 8s) ease-in-out var(--dl, 0s) infinite; }
@media (prefers-reduced-motion: reduce) {
  .s2l-blm .blm-f, .s2l-blm .blm-fr { animation: none; }
}
.s2l-blm .blm-ht { background-image: radial-gradient(var(--c) 1.8px, transparent 2.1px); background-size: var(--s, 11px) var(--s, 11px); }
.s2l-blm .blm-sph-blue { width: 100%; height: 100%; border-radius: 50%; background: radial-gradient(circle at 32% 28%, var(--s2l-primary-tint), var(--s2l-primary-mid) 45%, var(--s2l-primary) 72%, var(--s2l-primary-dark) 100%); }
.s2l-blm .blm-sph-white { width: 100%; height: 100%; border-radius: 50%; background: radial-gradient(circle at 32% 28%, var(--s2l-white), var(--s2l-primary-tint) 60%, var(--s2l-primary-light)); }
.s2l-blm .blm-sphdots { position: absolute; inset: 0; border-radius: 50%; background-image: radial-gradient(rgba(10, 27, 62, 0.55) 1.3px, transparent 1.6px); background-size: 9px 9px; }
.s2l-blm .blm-tri { width: 100%; height: 100%; clip-path: polygon(50% 0, 100% 100%, 0 100%); background: linear-gradient(160deg, var(--s2l-primary-light), var(--s2l-primary)); }
.s2l-blm .blm-arc { width: 100%; height: 100%; border: 7px solid var(--c, var(--s2l-primary-light)); border-bottom: none; border-radius: 999px 999px 0 0; }
.s2l-blm .blm-capsule { width: 100%; height: 100%; border-radius: 999px; background: linear-gradient(155deg, var(--s2l-primary-light), var(--s2l-primary)); }
.s2l-blm .blm-zig, .s2l-blm .blm-iso { width: 100%; height: auto; }

/* ── 5. content page (About Us, Privacy Policy, Terms, Feedback, One-on-One,
 * Group Tutoring, Corporate Training, Blog) ──────────────────────────────── */
.s2l-page {
  padding-top: 58px; /* clearance for the fixed .blm-nav */
}
@media (max-width: 768px) {
  .s2l-page { padding-top: 52px; }
}

.s2l-page-inner {
  max-width: 65ch;
  margin: 0 auto;
  padding: 3.5rem 1.5rem 5rem;
}
.s2l-page-inner.s2l-page-wide { max-width: 78ch; }

/* heading scale: the landing's Roboto Slab 800, toned down for body copy */
.s2l-page h1 {
  font-family: var(--s2l-font-display);
  font-weight: 800;
  font-size: clamp(1.9rem, 4.4vw, 2.7rem);
  line-height: 1.1;
  color: var(--s2l-ink);
  margin-bottom: 0.5rem;
}
.s2l-page .s2l-page-kicker {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--s2l-primary);
  margin-bottom: 0.6rem;
}
.s2l-page .s2l-page-dek {
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--s2l-ink-2);
  margin-bottom: 2.5rem;
}
.s2l-page h2 {
  font-family: var(--s2l-font-display);
  font-weight: 800;
  font-size: clamp(1.2rem, 2.2vw, 1.5rem);
  line-height: 1.25;
  color: var(--s2l-ink);
  margin: 2.5rem 0 1rem;
  scroll-margin-top: 74px;
}
.s2l-page h2:first-of-type { margin-top: 0; }
.s2l-page h3 {
  font-family: var(--s2l-font-display);
  font-weight: 800;
  font-size: 1.02rem;
  line-height: 1.3;
  color: var(--s2l-primary-dark);
  margin: 0 0 0.4rem;
}
.s2l-page p {
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--s2l-ink-2);
  margin-bottom: 1.1rem;
}
.s2l-page ul, .s2l-page ol {
  margin: 0 0 1.1rem 1.4rem;
}
.s2l-page li {
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--s2l-ink-2);
  margin-bottom: 0.5rem;
}
.s2l-page ul li { list-style: disc; }
.s2l-page ol li { list-style: decimal; }
.s2l-page a { color: var(--s2l-primary); text-decoration: underline; text-underline-offset: 2px; }
.s2l-page a:hover { color: var(--s2l-primary-dark); }
.s2l-page strong { color: var(--s2l-ink); }

/* feature grid: "Designed for effective online learning" -> [s2l_features] */
.s2l-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem 2rem;
  margin: 1.5rem 0 2.5rem;
}
@media (max-width: 640px) {
  .s2l-features { grid-template-columns: 1fr; }
}
.s2l-feature { border-top: 3px solid var(--s2l-primary-light); padding-top: 0.85rem; }
.s2l-feature h3 { margin-bottom: 0.35rem; }
.s2l-feature p { font-size: 0.9rem; margin-bottom: 0; }

/* closing call-out -> [s2l_cta] */
.s2l-page-cta {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--s2l-line);
}
.s2l-page-cta h2 { margin-top: 0; }

/* legal document layout (Privacy Policy, Terms) */
.s2l-legal-meta {
  font-size: 0.84rem;
  color: var(--s2l-muted-2);
  margin-bottom: 2rem;
}
.s2l-legal-toc {
  background: var(--s2l-white);
  border: 1px solid var(--s2l-line);
  border-radius: var(--s2l-radius-md);
  padding: 1.25rem 1.5rem;
  margin-bottom: 2.5rem;
}
.s2l-legal-toc h2 {
  font-size: 0.82rem;
  font-weight: 700;
  font-family: inherit;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--s2l-muted-2);
  margin: 0 0 0.75rem;
}
.s2l-legal-toc ol {
  margin: 0;
  padding: 0;
  columns: 2;
  column-gap: 1.5rem;
}
.s2l-legal-toc li {
  font-size: 0.88rem;
  margin-bottom: 0.4rem;
  break-inside: avoid;
}
@media (max-width: 560px) {
  .s2l-legal-toc ol { columns: 1; }
}
.s2l-page section.s2l-legal-section {
  padding-top: 0.5rem;
}
.s2l-page section.s2l-legal-section + section.s2l-legal-section {
  border-top: 1px solid var(--s2l-line);
}

/* Logo wordmark: grey (not subpixel) text smoothing. Subpixel smoothing paints
   coloured fringes on the dark "2" next to the blue letters on Windows/Linux
   Chrome; its own layer (will-change) makes Chrome smooth it in grey. */
.s2l-blm .blm-logo,
.s2l-blm .blm-foot-logo { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; will-change: transform; }

/* footer newsletter status line (s2l-header.js) */
.s2l-blm .blm-subform { flex-wrap: wrap; }
.s2l-blm .blm-sub-msg { flex-basis: 100%; min-height: 1.1em; margin: 0.15rem 0 0; font-family: 'Inter', 'Segoe UI', Arial, sans-serif; font-size: 0.78rem; color: #B42318; }
.s2l-blm .blm-sub-msg.ok { color: var(--s2l-ink, #16203A); }
.s2l-blm .blm-subform button:disabled { opacity: 0.6; cursor: default; }

/* ── 5. phones: footer controls, legal contents ───────────────────────────── */
@media (max-width: 768px) {
  .s2l-blm .blm-subform { flex-direction: column; gap: 0.6rem; }
  .s2l-blm .blm-subform input { width: 100%; flex: none; min-height: 48px; font-size: 16px; }
  .s2l-blm .blm-subform button { width: 100%; min-height: 48px; font-size: 1rem; }
  .s2l-blm .blm-soc { width: 44px; height: 44px; }
  .s2l-blm .blm-foot-col a { display: inline-flex; align-items: center; min-height: 44px; }
  .s2l-blm .blm-foot-col li { margin-bottom: 0; }
  .s2l-blm .blm-foot-social { gap: 0.4rem; }
  /* legal TOC: folds to a "Contents" bar (s2l-header.js adds .s2l-toc-fold) */
  .s2l-legal-toc.s2l-toc-fold h2 { margin: 0; display: flex; align-items: center; justify-content: space-between; min-height: 48px; cursor: pointer; }
  .s2l-legal-toc.s2l-toc-fold h2::after { content: "\25BE"; }
  .s2l-legal-toc.s2l-toc-fold.s2l-toc-open h2::after { content: "\25B4"; }
  .s2l-legal-toc.s2l-toc-fold:not(.s2l-toc-open) ol { display: none; }
  .s2l-legal-toc a { display: inline-flex; align-items: center; min-height: 44px; }
}
