*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --brand:#166534; --gray-50:#f9fafb; --gray-100:#f3f4f6; --gray-200:#e5e7eb; --gray-500:#6b7280; --gray-700:#374151; --gray-900:#111827; --radius:12px; }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif; background:var(--gray-50); color:var(--gray-900); line-height:1.75; }
nav { background:#fff; border-bottom:1px solid var(--gray-200); padding:0 24px; height:60px; display:flex; align-items:center; }
.nav-logo { display:flex; align-items:center; gap:8px; font-size:1.05rem; font-weight:700; color:var(--gray-900); text-decoration:none; }
.logo-icon { width:32px; height:32px; background:var(--brand); border-radius:8px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1rem; font-weight:700; }
article { max-width:720px; margin:48px auto 64px; padding:0 24px; }
.breadcrumb { font-size:0.82rem; color:var(--gray-500); margin-bottom:24px; }
.breadcrumb a { color:var(--brand); text-decoration:none; }
.post-date { font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; color:var(--brand); margin-bottom:12px; }
h1 { font-size:clamp(1.7rem,4vw,2.4rem); font-weight:800; letter-spacing:-0.02em; line-height:1.2; margin-bottom:24px; }
h2 { font-size:1.3rem; font-weight:700; margin:36px 0 12px; }
p { margin-bottom:18px; color:var(--gray-700); }
ul, ol { margin:0 0 18px 22px; color:var(--gray-700); }
li { margin-bottom:8px; }
table { width:100%; border-collapse:collapse; margin:20px 0 26px; font-size:0.9rem; }
th, td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--gray-200); }
th { background:var(--gray-100); font-weight:700; }
strong { color:var(--gray-900); }
.callout { background:#dcfce7; border-left:4px solid var(--brand); border-radius:8px; padding:16px 20px; margin:24px 0; font-size:0.92rem; }
.cta { margin-top:40px; background:#111111; border-radius:var(--radius); padding:28px; text-align:center; color:#fff; }
.cta h3 { font-size:1.1rem; margin-bottom:8px; }
.cta p { color:rgba(255,255,255,0.6); font-size:0.88rem; margin-bottom:18px; }
.cta a { display:inline-block; background:#166534; color:#fff; text-decoration:none; padding:11px 26px; border-radius:8px; font-weight:600; font-size:0.9rem; }
footer { background:#0a0a0a; color:rgba(255,255,255,0.45); text-align:center; font-size:0.8rem; padding:24px; }
footer a { color:rgba(255,255,255,0.55); text-decoration:none; margin:0 8px; }
