:root{--black:#0A0B0F;--white:#FBFAF6;--accent:#22C55E;--accent-dim:#1BA750;--info:#22D3EE;--light:#EAEAEA;--mid:#8A8A8A;--dark2:#12131A;--dark3:#1A1B22;--mono:'JetBrains Mono',ui-monospace,monospace;--display:'Inter',-apple-system,system-ui,sans-serif}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{background:var(--black);color:var(--white);font-family:var(--display);overflow-x:hidden}
a{color:inherit}

/* Nav */
nav{position:sticky;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 60px;height:72px;background:rgba(10,11,15,.92);backdrop-filter:blur(20px);border-bottom:1px solid #2a2a2a}
.nav-logo{display:inline-flex;align-items:center;text-decoration:none}
.nav-logo img{display:block;width:auto;height:24px}
.back-link{font-family:var(--display);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--mid);text-decoration:none;transition:color .2s}
.back-link:hover{color:var(--white)}
.nav-right{display:flex;align-items:center;gap:32px}
.nav-cta{background:var(--white);color:var(--black);padding:11px 22px;font-family:var(--display);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:background .2s}
.nav-cta:hover{background:var(--light)}

/* Shared containers */
.wrap{max-width:760px;margin:0 auto;padding:0 24px}
.wrap-wide{max-width:1080px;margin:0 auto;padding:0 24px}
.section-label{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--accent)}
.section-label::before{content:'';display:block;width:24px;height:1px;background:var(--accent)}

/* Article header */
.article-hero{padding:64px 0 48px;border-bottom:1px solid #2a2a2a}
.article-kicker{margin-bottom:24px}
.article-title{font-family:var(--display);font-size:clamp(30px,4.4vw,50px);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin:20px 0 24px}
.article-dek{font-size:.95rem;color:var(--mid);line-height:1.8;max-width:640px}
.article-meta{display:flex;align-items:center;gap:16px;margin-top:32px;font-family:var(--mono);font-size:.68rem;color:#666;letter-spacing:.05em}
.article-meta .dot{width:3px;height:3px;border-radius:50%;background:#444}

/* Prose */
.prose{padding:56px 0;font-size:.95rem;line-height:1.85;color:#D8D8D4}
.prose h2{font-family:var(--display);font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-.02em;color:var(--white);margin:52px 0 20px}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:var(--display);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--white);margin:36px 0 14px}
.prose p{margin-bottom:22px}
.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:rgba(34,197,94,.35);text-underline-offset:3px}
.prose a:hover{text-decoration-color:var(--accent)}
.prose ul,.prose ol{margin:0 0 22px 22px}
.prose li{margin-bottom:10px}
.prose strong{color:var(--white);font-weight:600}
.prose code{font-family:var(--mono);font-size:.85em;background:var(--dark2);border:1px solid #2a2a2a;padding:2px 6px;border-radius:3px;color:var(--info)}
.prose blockquote{border-left:2px solid var(--accent);padding:4px 0 4px 24px;margin:28px 0;color:var(--mid);font-style:normal}

/* Callout / CTA box */
.callout{background:var(--dark2);border:1px solid #2a2a2a;padding:32px 36px;margin:32px 0;border-left:2px solid var(--accent)}
.callout-label{font-family:var(--display);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.callout p{margin:0;color:var(--mid);font-size:.85rem;line-height:1.8}
.callout p:not(:last-child){margin-bottom:12px}

.cta-box{background:var(--accent);color:var(--black);padding:44px 40px;margin:48px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta-box h3{font-family:var(--display);font-size:1.3rem;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}
.cta-box p{font-size:.8rem;color:rgba(10,11,15,.7);margin:0}
.cta-btn{background:var(--black);color:var(--white);padding:16px 32px;font-family:var(--display);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;white-space:nowrap;flex-shrink:0}

/* Fact table */
.fact-table{width:100%;border-collapse:collapse;margin:8px 0 32px;font-size:.82rem}
.fact-table tr{border-bottom:1px solid #22232c}
.fact-table td{padding:14px 0;vertical-align:top}
.fact-table td:first-child{color:var(--mid);width:38%;font-family:var(--mono);font-size:.72rem;letter-spacing:.03em;padding-right:16px}
.fact-table td:last-child{color:var(--white)}

/* FAQ (reuses site pattern) */
.faq-list{display:flex;flex-direction:column;gap:2px;margin-top:16px}
.faq-item{background:var(--dark2);padding:26px 30px;cursor:pointer;border-left:2px solid transparent;transition:border-color .2s,background .2s}
.faq-item:hover,.faq-item.open{border-left-color:var(--accent);background:#171922}
.faq-question{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.faq-q-text{font-family:var(--display);font-size:.88rem;font-weight:600;letter-spacing:-.005em;line-height:1.3;color:var(--white)}
.faq-toggle{flex-shrink:0;width:22px;height:22px;font-family:var(--mono);border:1px solid #333;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--mid);transition:all .2s;margin-top:1px}
.faq-item.open .faq-toggle{background:var(--accent);border-color:var(--accent);color:var(--black);transform:rotate(45deg)}
.faq-answer{font-family:var(--display);font-size:.8rem;color:var(--mid);line-height:1.85;max-height:0;overflow:hidden;transition:max-height .35s ease,margin-top .35s ease}
.faq-item.open .faq-answer{max-height:320px;margin-top:14px}

/* Related posts */
.related{padding:56px 0 80px;border-top:1px solid #2a2a2a}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:28px}
.related-card{background:var(--dark2);padding:28px;text-decoration:none;transition:background .2s}
.related-card:hover{background:#171922}
.related-tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;display:block}
.related-title{font-family:var(--display);font-size:.92rem;font-weight:700;color:var(--white);line-height:1.4}

/* Blog index */
.blog-hero{padding:80px 0 56px}
.blog-hero h1{font-family:var(--display);font-size:clamp(34px,5vw,58px);font-weight:800;letter-spacing:-.035em;line-height:1.0;margin:20px 0 16px}
.blog-hero p{font-size:.85rem;color:var(--mid);line-height:1.9;max-width:520px}
.post-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding-bottom:100px}
.post-card{background:var(--dark2);padding:44px 40px;text-decoration:none;display:flex;flex-direction:column;gap:18px;transition:background .3s}
.post-card:hover{background:#171922}
.post-card.featured{grid-column:span 2;background:var(--dark3)}
.post-tag{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.post-title{font-family:var(--display);font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--white);line-height:1.3}
.post-card.featured .post-title{font-size:1.7rem}
.post-dek{font-size:.78rem;color:var(--mid);line-height:1.8}
.post-meta{font-family:var(--mono);font-size:.65rem;color:#555;letter-spacing:.05em;margin-top:auto}

footer{padding:48px 60px;border-top:1px solid #2a2a2a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;background:#0d0e12}
.footer-links{display:flex;gap:32px;list-style:none;flex-wrap:wrap}
.footer-links a{font-family:var(--display);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:#555;text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--white)}
.footer-copy{font-family:var(--display);font-size:.58rem;color:#444;letter-spacing:.1em}

@media(max-width:900px){
  nav{padding:0 20px}
  .article-hero{padding:40px 0 32px}
  .related-grid{grid-template-columns:1fr}
  .post-grid{grid-template-columns:1fr}
  .post-card.featured{grid-column:span 1}
  .cta-box{flex-direction:column;align-items:flex-start;padding:32px 28px}
  footer{flex-direction:column;align-items:flex-start;padding:40px 20px}
  .fact-table td:first-child{width:44%}
}
