/* Focus Foundations Toolkit — page layout.
   Drop into the child theme: assets/css/pages/ls-fftoolkit.css
   (auto-enqueued site-wide per theme README). Tokens only; no theme
   colors/components redeclared — those come from tokens.css/components.css. */

/* Focus Foundations Toolkit — page-scoped layout (tokens only) */
.ls-fftoolkit{ text-align:center; }
.ls-fftoolkit .ff-hero{ padding:56px 32px 40px; }
.ls-fftoolkit h1{ font:var(--font-hero); margin:6px 0 14px; }
.ls-fftoolkit .ff-lead{ font:var(--font-body-md); font-size:var(--text-lg); color:var(--text-body);
  max-width:720px; margin:0 auto 26px; }
.ls-fftoolkit .ff-banner{ width:100%; max-width:960px; height:auto; border-radius:var(--radius-2xl);
  box-shadow:var(--shadow-lg); margin:6px auto 30px; display:block; }
.ls-fftoolkit .ff-btnrow{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.ls-fftoolkit .ff-prose{ max-width:760px; margin:0 auto; text-align:left; }
.ls-fftoolkit .ff-prose h2{ font:var(--font-h2); margin:0 0 14px; }
.ls-fftoolkit .ff-prose p{ font:var(--font-body-md); color:var(--text-body); margin:0 0 16px; }
.ls-fftoolkit .ff-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:left; }
.ls-fftoolkit .ff-cards h3{ font:var(--font-h3); margin:14px 0 8px; }
.ls-fftoolkit .ff-cards p{ font:var(--font-body-base); color:var(--text-body); margin:0; }
.ls-fftoolkit .ff-cards ul{ margin:10px 0 0; padding-left:0; list-style:none; }
.ls-fftoolkit .ff-cards li{ font:var(--font-body-base); color:var(--text-body); padding:6px 0 6px 26px;
  position:relative; }
.ls-fftoolkit .ff-cards li::before{ content:""; position:absolute; left:0; top:12px; width:10px; height:10px;
  border-radius:var(--radius-pill); background:var(--blue-300); }
.ls-fftoolkit .ff-community{ text-align:left; }
.ls-fftoolkit .ff-community .ff-inner{ max-width:820px; margin:0 auto; }
.ls-fftoolkit .ff-community h2{ font:var(--font-h1); color:#fff; margin:8px 0 16px; }
.ls-fftoolkit .ff-community p{ font:var(--font-body-md); color:var(--blue-100); margin:0 0 16px; }
.ls-fftoolkit .ff-chip-lg{ width:64px; height:64px; border-radius:var(--radius-lg); background:rgba(255,255,255,.14);
  display:inline-flex; align-items:center; justify-content:center; }
.ls-fftoolkit .ff-chip-lg svg{ stroke:#fff; }
.ls-fftoolkit .ff-free{ background:var(--blue-50); border:1px solid var(--border-subtle);
  border-radius:var(--radius-2xl); padding:48px 44px; max-width:900px; margin:0 auto; }
.ls-fftoolkit .ff-free h2{ font:var(--font-h2); margin:0 0 12px; }
.ls-fftoolkit .ff-free p{ font:var(--font-body-md); color:var(--text-body); max-width:680px; margin:0 auto; }
.ls-fftoolkit .ff-enroll h2{ font:var(--font-h1); color:#fff; margin:0 0 12px; }
.ls-fftoolkit .ff-enroll p{ font:var(--font-body-md); color:var(--blue-100); margin:0 0 26px; }
@media (max-width:860px){ .ls-fftoolkit .ff-cards{ grid-template-columns:1fr; } }
