:root { --cobalt:#1D4ED8; --ink:#0E1116; --ink-soft:#3A4254; --ink-mute:#6B7280; --line:#E6E9EF; --bg-soft:#F6F8FB; --dark:#0B1220; }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',system-ui,-apple-system,sans-serif; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; line-height:1.65; }
a { color:var(--cobalt); }
.wrap { max-width:740px; margin:0 auto; padding:0 22px; }

header.site { border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(255,255,255,0.85); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); z-index:10; }
header.site .wrap { display:flex; align-items:center; justify-content:space-between; height:62px; }
.logo { font-family:'Fraunces',Georgia,serif; font-size:24px; font-weight:600; letter-spacing:-0.005em; text-decoration:none; }
.logo .b { color:var(--ink); } .logo .sg { color:var(--cobalt); }
.nav-cta { font-size:13.5px; font-weight:600; background:var(--cobalt); color:#fff; padding:9px 15px; border-radius:9px; text-decoration:none; }

article { padding:44px 0 24px; }
.crumb { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:18px; }
.crumb a { color:var(--ink-mute); text-decoration:none; }
h1 { font-size:clamp(30px,5vw,42px); line-height:1.1; font-weight:800; letter-spacing:-0.035em; margin-bottom:18px; }
.byline { font-size:13.5px; color:var(--ink-mute); margin-bottom:30px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.byline strong { color:var(--ink-soft); font-weight:600; }

.tldr { background:var(--bg-soft); border:1px solid var(--line); border-left:3px solid var(--cobalt); border-radius:0 12px 12px 0; padding:20px 24px; margin:0 0 36px; }
.tldr .label { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--cobalt); margin-bottom:9px; }
.tldr p { font-size:16.5px; color:var(--ink-soft); margin:0; }
.tldr strong { color:var(--ink); font-weight:600; }

article h2 { font-size:26px; font-weight:800; letter-spacing:-0.025em; margin:42px 0 14px; }
article h3 { font-size:19px; font-weight:700; letter-spacing:-0.01em; margin:28px 0 8px; color:var(--ink); }
article p { font-size:16.5px; color:var(--ink-soft); margin:0 0 16px; }
article p strong { color:var(--ink); font-weight:600; }
article ul, article ol { margin:0 0 16px; padding-left:22px; color:var(--ink-soft); font-size:16.5px; }
article li { margin-bottom:8px; }
article ul li::marker { color:var(--cobalt); }

.step { display:flex; gap:16px; margin:0 0 8px; }
.step-num { flex:none; width:34px; height:34px; border-radius:9px; background:var(--cobalt); color:#fff; font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center; }
.step-body h3 { margin-top:4px; }

.ctable { width:100%; border-collapse:collapse; margin:4px 0 22px; font-size:15px; }
.ctable th, .ctable td { border:1px solid var(--line); padding:10px 14px; text-align:left; vertical-align:top; }
.ctable thead th { background:var(--bg-soft); font-weight:700; font-size:12.5px; letter-spacing:0.01em; }
.ctable tbody td:first-child, .ctable thead th:first-child { color:var(--ink-mute); font-weight:600; }
.ctable strong { color:var(--ink); font-weight:600; }

.cta-box { background:var(--dark); color:#E8ECF3; border-radius:16px; padding:30px 32px; margin:44px 0 16px; }
.cta-box h2 { color:#fff; font-size:23px; margin:0 0 8px; }
.cta-box p { color:rgba(232,236,243,0.8); font-size:15.5px; margin:0 0 18px; }
.cta-box a { display:inline-block; background:var(--cobalt); color:#fff; font-weight:600; font-size:15px; padding:12px 22px; border-radius:10px; text-decoration:none; }

.faq { margin-top:8px; }
.faq-item { border-top:1px solid var(--line); padding:20px 0; }
.faq-item:last-child { border-bottom:1px solid var(--line); }
.faq-q { font-size:18px; font-weight:700; letter-spacing:-0.015em; margin-bottom:8px; }
.faq-a { font-size:16px; color:var(--ink-soft); }

.guide-list { list-style:none; padding:0; margin:8px 0 0; display:grid; gap:14px; }
.guide-card { display:block; border:1px solid var(--line); border-radius:14px; padding:22px 24px; text-decoration:none; transition:border-color .15s, transform .15s; }
.guide-card:hover { border-color:var(--cobalt); transform:translateY(-2px); }
.guide-card .gc-title { font-size:19px; font-weight:700; color:var(--ink); letter-spacing:-0.015em; margin-bottom:6px; }
.guide-card .gc-desc { font-size:14.5px; color:var(--ink-soft); }

footer.site { border-top:1px solid var(--line); margin-top:40px; padding:30px 0; }
footer.site .wrap { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
footer.site .fb { font-family:'Fraunces',Georgia,serif; font-size:21px; font-weight:600; letter-spacing:-0.005em; }
footer.site .fb .b { color:var(--ink); } footer.site .fb .sg { color:var(--cobalt); }
footer.site .meta { font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--ink-mute); letter-spacing:0.05em; }
