:root{
  --purple:#6d28d9;
  --purple-dark:#5b21b6;
  --ink:#1d1533;
  --body:#3d3654;
  --lavender:#f5f2fc;
  --border:#e6e0f3;
  --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--body);background:var(--white);line-height:1.7}
h1,h2,h3{font-family:'Sora',system-ui,sans-serif;color:var(--ink);line-height:1.25;letter-spacing:-0.01em}
a{color:var(--purple);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:3px solid var(--purple);outline-offset:2px;border-radius:4px}

/* Header */
.site-header{border-bottom:1px solid var(--border);background:var(--white);position:sticky;top:0;z-index:10}
.site-header .wrap{max-width:1040px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-family:'Sora',sans-serif;font-weight:700;font-size:1.15rem;color:var(--ink)}
.logo span{color:var(--purple)}
.nav{display:flex;align-items:center;gap:22px;font-size:.95rem}
.nav a{color:var(--body)}
.btn{display:inline-block;background:var(--purple);color:#fff !important;font-weight:600;padding:10px 20px;border-radius:10px;text-decoration:none !important;transition:background .15s ease}
.btn:hover{background:var(--purple-dark)}
.btn-lg{padding:14px 28px;font-size:1.05rem;border-radius:12px}

/* Article layout */
.article{max-width:760px;margin:0 auto;padding:48px 20px 24px}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);background:var(--lavender);padding:5px 12px;border-radius:999px;margin-bottom:18px}
.article h1{font-size:clamp(1.85rem,4.5vw,2.6rem);margin-bottom:16px}
.lede{font-size:1.15rem;color:var(--body)}
.article h2{font-size:1.55rem;margin:44px 0 14px;padding-top:10px}
.article h3{font-size:1.15rem;margin:26px 0 8px}
.article p{margin:14px 0}
.article ul,.article ol{margin:14px 0 14px 24px}
.article li{margin:7px 0}

/* Checklist bullets — signature element */
ul.check{list-style:none;margin-left:0}
ul.check li{padding-left:32px;position:relative}
ul.check li::before{content:"";position:absolute;left:0;top:7px;width:18px;height:18px;border:2px solid var(--purple);border-radius:5px;background:var(--lavender)}
ul.check li::after{content:"";position:absolute;left:5px;top:10px;width:8px;height:5px;border-left:2.5px solid var(--purple);border-bottom:2.5px solid var(--purple);transform:rotate(-45deg)}

/* Tables */
table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.95rem}
th{background:var(--lavender);color:var(--ink);text-align:left;font-family:'Sora',sans-serif;font-size:.85rem}
th,td{padding:11px 14px;border:1px solid var(--border);vertical-align:top}
tr:nth-child(even) td{background:#fbfaff}
.yes{color:var(--purple);font-weight:700}
.no{color:#a49bc0}

/* CTA blocks */
.cta-inline{background:var(--lavender);border:1px solid var(--border);border-left:5px solid var(--purple);border-radius:12px;padding:22px 24px;margin:30px 0}
.cta-inline p{margin:0 0 12px}
.cta-final{background:linear-gradient(135deg,var(--purple),#8b5cf6);border-radius:18px;padding:40px 32px;margin:48px 0 8px;text-align:center;color:#fff}
.cta-final h2{color:#fff;margin:0 0 10px;padding:0}
.cta-final p{color:#f0eaff;max-width:520px;margin:0 auto 22px}
.cta-final .btn{background:#fff;color:var(--purple) !important}
.cta-final .btn:hover{background:var(--lavender)}

/* FAQ */
.faq details{border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin:10px 0;background:#fff}
.faq summary{font-family:'Sora',sans-serif;font-weight:600;color:var(--ink);cursor:pointer}
.faq details[open]{background:var(--lavender)}
.faq details p{margin:10px 0 2px}

/* Footer */
.site-footer{border-top:1px solid var(--border);margin-top:56px;background:#fbfaff}
.site-footer .wrap{max-width:1040px;margin:0 auto;padding:28px 20px;display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;font-size:.9rem;color:#6f6790}
.site-footer a{color:#6f6790}

/* Blog index */
.blog-hero{max-width:1040px;margin:0 auto;padding:56px 20px 8px}
.blog-hero h1{font-size:clamp(1.9rem,4.5vw,2.7rem);max-width:620px}
.cards{max-width:1040px;margin:0 auto;padding:32px 20px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.card{border:1px solid var(--border);border-radius:16px;padding:26px;background:#fff;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s ease}
.card:hover{box-shadow:0 8px 28px rgba(109,40,217,.10)}
.card h2{font-size:1.2rem;margin:0}
.card a.title-link{color:var(--ink)}
.card .tag{font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--purple)}
.card .more{margin-top:auto;font-weight:600}
@media(max-width:560px){.nav a.hide-sm{display:none}}

/* Back link */
.back-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;color:var(--purple);margin-bottom:20px}
.back-link:hover{text-decoration:none;color:var(--purple-dark)}
