/* Individual case study + whitepaper article pages (SEO audit issue 11: crawlable HTML content). */
:root{
	--tp-ink:#0f172a; --tp-body:#334155; --tp-muted:#64748b;
	--tp-violet:#6d28d9; --tp-violet-2:#7c3aed; --tp-teal:#0d9488; --tp-line:#e2e8f0;
	--tp-bg-soft:#f8f7ff;
}
.tp-article{max-width:820px;margin:0 auto;padding:2.5rem 1.25rem 4rem;color:var(--tp-body);font-size:1.05rem;line-height:1.7;}
.tp-article a{color:var(--tp-violet);}
.tp-article .tp-eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tp-violet-2);background:var(--tp-bg-soft);border:1px solid #ede9fe;padding:.35rem .7rem;border-radius:999px;margin:0 0 1rem;}
.tp-article h1{font-size:2.15rem;line-height:1.2;color:var(--tp-ink);margin:.25rem 0 1rem;font-weight:800;}
.tp-article .tp-lede{font-size:1.2rem;line-height:1.55;color:var(--tp-body);margin:0 0 2rem;}
.tp-article h2{font-size:1.5rem;color:var(--tp-ink);margin:2.5rem 0 .75rem;font-weight:700;}
.tp-article p{margin:0 0 1.1rem;}

/* Stat band */
.tp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:0 0 2rem;}
.tp-stat{background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;border-radius:14px;padding:1.4rem 1.25rem;box-shadow:0 10px 30px rgba(109,40,217,.18);}
.tp-stat .tp-stat-num{display:block;font-size:2rem;font-weight:800;line-height:1;margin-bottom:.4rem;}
.tp-stat .tp-stat-label{display:block;font-size:.9rem;line-height:1.35;opacity:.95;}

/* Facts / at-a-glance */
.tp-facts{background:var(--tp-bg-soft);border:1px solid #ede9fe;border-radius:14px;padding:1.25rem 1.5rem;margin:0 0 2rem;}
.tp-facts dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.25rem;margin:0;}
.tp-facts dt{font-weight:700;color:var(--tp-ink);}
.tp-facts dd{margin:0;color:var(--tp-body);}

/* Quotes */
.tp-article blockquote{margin:1.75rem 0;padding:1rem 1.5rem;border-left:4px solid var(--tp-teal);background:#f0fdfa;border-radius:0 10px 10px 0;font-size:1.1rem;font-style:italic;color:var(--tp-ink);}
.tp-article blockquote cite{display:block;margin-top:.6rem;font-size:.9rem;font-style:normal;color:var(--tp-muted);}

/* Outcomes list */
.tp-outcomes{list-style:none;padding:0;margin:1rem 0 1.5rem;display:grid;gap:.6rem;}
.tp-outcomes li{position:relative;padding-left:1.9rem;}
.tp-outcomes li::before{content:"\2713";position:absolute;left:0;top:0;color:#fff;background:var(--tp-teal);width:1.3rem;height:1.3rem;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;}

/* Download + CTA (appended by the theme, not the article body) */
.tp-doc-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:2.5rem 0;padding:1.5rem;background:#fff;border:1px solid var(--tp-line);border-radius:14px;}
.tp-doc-actions .tp-doc-label{font-weight:700;color:var(--tp-ink);margin-right:auto;}
/* Buttons + CTA use .tp-article prefixes and !important because the ported legacy stylesheets
   (home/index.min.css) also load on these pages and otherwise override heading/button colors. */
.tp-article .tp-btn{display:inline-block;padding:.8rem 1.5rem;border-radius:999px;font-weight:700;text-decoration:none;cursor:pointer;border:0;line-height:1.2;}
.tp-article .tp-btn-primary{background:linear-gradient(135deg,#6d28d9,#7c3aed)!important;color:#fff!important;}
.tp-article .tp-btn-ghost{background:#fff!important;color:var(--tp-violet)!important;border:2px solid var(--tp-violet);}
.tp-article .tp-cta{text-align:center;background:linear-gradient(135deg,#0f172a,#1e1b4b);color:#fff;border-radius:18px;padding:2.5rem 1.5rem;margin:3rem 0 0;}
.tp-article .tp-cta h2{color:#fff!important;margin:0 0 .5rem;}
.tp-article .tp-cta p{color:#cbd5e1!important;margin:0 0 1.5rem;}
.tp-breadcrumb{font-size:.85rem;color:var(--tp-muted);margin:0 0 1.5rem;}
.tp-breadcrumb a{color:var(--tp-muted);text-decoration:none;}
.tp-breadcrumb a:hover{color:var(--tp-violet);text-decoration:underline;}
@media(max-width:640px){.tp-article h1{font-size:1.7rem;}.tp-facts dl{grid-template-columns:1fr;gap:.15rem 0;}.tp-facts dd{margin-bottom:.6rem;}}

/* Soft lead gate: teaser stays crawlable (content remains in the DOM), the rest is visually locked
   behind a form for human visitors and revealed after they submit (see assets/js/gate.js). */
.tp-locked{position:relative;}
.tp-gated .tp-locked{max-height:220px;overflow:hidden;}
.tp-gated .tp-locked::after{content:"";position:absolute;left:0;right:0;bottom:0;height:220px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 78%);pointer-events:none;}
.tp-gate{margin:2rem 0 .5rem;border:1px solid #ede9fe;border-radius:16px;padding:1.75rem 1.5rem;background:var(--tp-bg-soft);box-shadow:0 12px 34px rgba(109,40,217,.10);}
.tp-gate h3{margin:0 0 .35rem;color:var(--tp-ink);font-size:1.4rem;text-align:center;}
.tp-gate .tp-gate-sub{margin:0 auto 1.1rem;color:var(--tp-body);text-align:center;max-width:460px;}
.tp-gate .tp-gate-form{max-width:560px;margin:0 auto;min-height:200px;}
.tp-gate .tp-gate-form iframe{width:100%;border:0;height:780px;min-height:780px;display:block;}
.tp-gate .tp-gate-loading{text-align:center;color:var(--tp-muted);font-size:.9rem;padding:1.5rem 0;}
.tp-unlocked .tp-locked{max-height:none!important;}
.tp-unlocked .tp-locked::after{display:none!important;}
.tp-unlocked .tp-gate{display:none!important;}
