/* ============================================================
   Reasoning GP — SCA landing pages (sca/*.html)
   Shares the look of tools/sca-guide.html: same tokens from
   site.css (--ink, --teal, --line…), same card and FAQ styles.
   Mobile-first; nothing here may cause horizontal scroll at 390px.
   ============================================================ */
.tool-page{ padding:18px 16px 60px; max-width:960px; margin:0 auto; overflow-wrap:break-word; }
@media (min-width:761px){ .tool-page{ padding:28px 32px 90px; } }

.sl-crumbs{ font-size:12px; color:var(--muted); margin-bottom:12px; }
.sl-crumbs ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px; }
.sl-crumbs li + li::before{ content:"›"; margin-right:4px; color:var(--muted-2); }
.sl-crumbs a{ color:var(--teal); text-decoration:none; font-weight:600; }
.sl-crumbs a:hover{ text-decoration:underline; }

.tool-head{ padding-bottom:16px; border-bottom:1px solid var(--line); margin-bottom:20px; }
.tool-eyebrow{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.tool-head h1{ font-family:'Source Serif 4',Georgia,serif; font-weight:500; font-size:29px; line-height:1.12; margin-top:6px; color:var(--ink); }
@media (min-width:761px){ .tool-head h1{ font-size:36px; } }
.tool-head h1 em{ font-style:italic; color:var(--teal); }
.tool-head p{ font-size:14.5px; color:var(--ink-2); margin-top:8px; max-width:70ch; line-height:1.6; }
.sl-checked{ display:inline-block; margin-top:10px; font-size:12px; font-weight:700; color:#92400e; background:#fffbeb; border:1px solid #fde68a; border-radius:999px; padding:4px 11px; }

/* numbers strip */
.g-nums{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:8px; }
@media (min-width:861px){ .g-nums{ grid-template-columns:repeat(4,1fr); } }
.g-num{ border:1px solid var(--line); border-radius:13px; background:#fff; padding:13px 12px; text-align:center; }
.g-num .v{ font-family:'Source Serif 4',Georgia,serif; font-size:25px; font-weight:600; color:var(--ink); }
.g-num .l{ font-size:11px; color:var(--muted); margin-top:2px; line-height:1.4; }

.g-sec{ margin:30px 0 0; }
.g-sec h2{ font-family:'Source Serif 4',Georgia,serif; font-weight:600; font-size:23px; line-height:1.25; color:var(--ink); margin-bottom:4px; }
@media (min-width:761px){ .g-sec h2{ font-size:25px; } }
.g-sec > p, .g-sec > ul, .g-sec > ol{ font-size:14px; line-height:1.7; color:var(--ink-2); margin:8px 0; max-width:74ch; }
.g-sec > ul, .g-sec > ol{ padding-left:20px; }
.g-sec > ul li, .g-sec > ol li{ margin-bottom:6px; }
.g-sec b{ color:var(--ink); }
.g-sec a, .g-card a, .g-callout a, .g-faq a, .sl-table a{ color:var(--teal); font-weight:600; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; }

.g-grid{ display:grid; grid-template-columns:1fr; gap:10px; margin-top:12px; }
@media (min-width:761px){ .g-grid{ grid-template-columns:1fr 1fr; } }
.g-card{ border:1px solid var(--line); border-radius:14px; background:#fff; padding:15px 17px; }
.g-grid .g-card{ margin-top:0; }
.g-sec > .g-card{ margin-top:12px; }
.g-card h3{ font-size:14.5px; font-weight:700; color:var(--ink); margin-bottom:6px; }
.g-card p, .g-card li{ font-size:13.4px; line-height:1.65; color:var(--ink-2); }
.g-card ul, .g-card ol{ margin:6px 0 0; padding-left:18px; }
.g-card li{ margin-bottom:5px; }
.g-card b{ color:var(--ink); }

.g-callout{ border:1px solid #fde68a; background:#fffbeb; border-radius:12px; padding:13px 16px; font-size:13.4px; line-height:1.65; color:#92400e; margin-top:12px; }
.g-callout b{ color:#78350f; }
.g-callout a{ color:#78350f; }

/* tables (scroll inside their own box on narrow screens, never the page) */
.sl-table-wrap{ margin-top:12px; border:1px solid var(--line); border-radius:12px; background:#fff; overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; }
.sl-table{ width:100%; border-collapse:collapse; font-size:13px; line-height:1.5; color:var(--ink-2); }
.sl-table th, .sl-table td{ text-align:left; padding:10px 12px; border-bottom:1px solid #f1f5f9; vertical-align:top; }
.sl-table th{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); background:var(--surface-2); font-weight:700; }
.sl-table tr:last-child td{ border-bottom:none; }
.sl-table td b{ color:var(--ink); }
.sl-chk{ font-size:11px; font-weight:800; color:#92400e; background:#fffbeb; border:1px solid #fde68a; border-radius:999px; padding:1px 7px; white-space:nowrap; }
.sl-past{ font-size:11px; font-weight:700; color:var(--muted); }

/* steps */
.sl-steps{ list-style:none; counter-reset:st; padding:0; margin:12px 0 0; display:flex; flex-direction:column; gap:9px; }
.sl-steps > li{ counter-increment:st; position:relative; border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px 14px 12px 50px; font-size:13.4px; line-height:1.62; color:var(--ink-2); }
.sl-steps > li::before{ content:counter(st); position:absolute; left:14px; top:12px; width:24px; height:24px; border-radius:50%; background:var(--teal-soft); color:var(--teal); font-size:12px; font-weight:800; display:grid; place-items:center; }
.sl-steps > li b{ color:var(--ink); }
.sl-steps a{ color:var(--teal); font-weight:600; }

/* CTA */
.sl-cta{ margin-top:30px; border-radius:16px; background:var(--teal); color:#fff; padding:20px 20px; }
.sl-cta h2{ font-family:'Source Serif 4',Georgia,serif; font-weight:600; font-size:22px; color:#fff; margin:0 0 6px; }
.sl-cta p{ font-size:14px; line-height:1.6; color:#e2f0ee; margin:0; max-width:68ch; }
.sl-cta .sl-btns{ display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.sl-btn{ display:inline-block; font-size:13.5px; font-weight:700; text-decoration:none; border-radius:999px; padding:10px 17px; }
.sl-btn-light{ background:#fff; color:var(--teal); }
.sl-btn-ghost{ border:1px solid rgba(255,255,255,.55); color:#fff; }
.sl-btn:hover{ filter:brightness(.96); text-decoration:underline; }
.sl-cta small{ display:block; margin-top:10px; font-size:12px; color:#cfe3e0; line-height:1.5; }

/* FAQ (same as the SCA Guide) */
.g-faq{ border:1px solid var(--line); border-radius:12px; background:#fff; margin-top:9px; overflow:hidden; }
.g-faq summary{ list-style:none; cursor:pointer; padding:13px 16px; font-size:13.8px; font-weight:700; color:var(--ink); display:flex; justify-content:space-between; gap:12px; align-items:center; }
.g-faq summary::-webkit-details-marker{ display:none; }
.g-faq summary:hover{ background:#f8fafc; }
.g-faq .chev{ transition:transform .18s ease; color:var(--muted); flex-shrink:0; }
.g-faq[open] .chev{ transform:rotate(180deg); }
.g-faq .a{ padding:0 16px 14px; font-size:13.4px; line-height:1.65; color:var(--ink-2); }

/* related pages */
.sl-related{ display:grid; grid-template-columns:1fr; gap:8px; margin-top:12px; }
@media (min-width:600px){ .sl-related{ grid-template-columns:1fr 1fr; } }
@media (min-width:900px){ .sl-related{ grid-template-columns:1fr 1fr 1fr; } }
.sl-related a{ display:block; border:1px solid var(--line); border-radius:12px; background:#fff; padding:11px 14px; text-decoration:none; color:var(--ink); }
.sl-related a b{ display:block; font-size:13.5px; color:var(--teal); }
.sl-related a span{ display:block; font-size:12.4px; color:var(--muted); margin-top:2px; line-height:1.45; }
.sl-related a:hover{ border-color:var(--teal); }

.sl-indep{ margin-top:28px; padding-top:14px; border-top:1px solid var(--line); font-size:12.4px; line-height:1.6; color:var(--muted); }
.sl-indep a{ color:var(--teal); font-weight:600; }

/* ---- Public case pages (sca/case-*.html, sca/case-index.html) — Upload 141 ---- */
.sc-h1{ font-size:30px!important; line-height:1.2!important; }
.sc-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.sc-chip{ font-size:12px; font-weight:600; border-radius:999px; padding:4px 11px; border:1px solid var(--line,#e7e2d8); background:#fff; color:var(--ink-2,#44403c); text-decoration:none; }
.sc-chip.sc-type{ background:#f0f5ff; border-color:#d8e3f8; color:#3f5c93; }
.sc-chip.sc-g{ background:#ecf5f3; border-color:#cfe3df; color:#0c4a47; }
.sc-chip.sc-g:hover{ border-color:#0c4a47; }
.sc-chip.sc-d1{ background:#f0fdf4; border-color:#bbf7d0; color:#15803d; }
.sc-chip.sc-d2{ background:#fffbeb; border-color:#fde68a; color:#92400e; }
.sc-chip.sc-d3{ background:#fef2f2; border-color:#fecaca; color:#b91c1c; }
.sc-lead{ color:var(--ink-2,#44403c); }
.sc-brief{ border:1px solid var(--line,#e7e2d8); border-radius:14px; background:#fff; overflow:hidden; margin-top:12px; }
.sc-row{ display:flex; gap:14px; padding:11px 16px; border-bottom:1px solid #f1f5f9; }
.sc-row:last-child{ border-bottom:0; }
.sc-row .k{ flex:0 0 130px; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--muted,#78716c); padding-top:2px; }
.sc-row .v{ flex:1; font-size:14px; line-height:1.6; min-width:0; overflow-wrap:anywhere; }
.sc-row .v ul{ margin:0; padding-left:18px; }
.sc-spoil .a{ line-height:1.7; }
.sc-toc{ display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 10px; }
.sc-toc a{ font-size:13px; font-weight:600; border:1px solid #cfe3df; background:#ecf5f3; color:#0c4a47; border-radius:999px; padding:6px 12px; text-decoration:none; }
.sc-toc a span{ font-weight:500; color:var(--muted,#78716c); margin-left:4px; }
.sc-n{ font-family:'DM Sans',system-ui,sans-serif; font-size:13px; font-weight:500; color:var(--muted,#78716c); margin-left:6px; }
.sc-list{ list-style:none; padding:0; margin:10px 0 0; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:6px 18px; }
.sc-list li{ display:flex; flex-direction:column; padding:8px 0; border-bottom:1px solid #f1f5f9; }
.sc-list a{ color:var(--ink,#1c1917); font-weight:600; text-decoration:none; font-size:14px; }
.sc-list a:hover{ color:#0c4a47; text-decoration:underline; }
.sc-list span{ font-size:12px; color:var(--muted,#78716c); }
@media (max-width:640px){ .sc-row{ flex-direction:column; gap:4px; } .sc-row .k{ flex:none; } .sc-h1{ font-size:24px!important; } .sc-list{ grid-template-columns:1fr; } }
