/* Wonder Resume — shared article styles */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --paper:#faf7f0;
  --paper-2:#f4efe4;
  --paper-3:#efeae0;
  --card:#fbf8f1;
  --ink:#1a1410;
  --ink-2:#3a2e24;
  --ink-3:#5a4a3c;
  --text:#2a1e16;
  --text-2:#685647;
  --text-3:#8a7a62;
  --accent:#9b3b1f;
  --accent-2:#c26845;
  --rule:#d9cdb7;
  --rule-2:#e3d9c4;
  --success:#5a7a3a;
  --shadow-sm: 0 1px 2px rgba(42,26,8,.06);
  --shadow-md: 0 4px 12px rgba(42,26,8,.08);
  --shadow-lg: 0 20px 40px rgba(42,26,8,.12);
  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --container: 780px;
  --container-wide: 1160px;
}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-ui);
  background:var(--paper);
  color:var(--text);
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 24px}

/* ───── Top nav ───── */
.site-nav{
  position:sticky;top:0;z-index:50;
  background:rgba(250,247,240,.82);
  backdrop-filter:saturate(160%) blur(10px);
  -webkit-backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color .2s ease;
}
.site-nav.scrolled{border-bottom-color:var(--rule)}
.site-nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--container-wide);margin:0 auto;padding:16px 24px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-mark{
  width:30px;height:30px;border-radius:6px;background:var(--ink);
  display:flex;align-items:center;justify-content:center;
  color:var(--paper);font-family:var(--font-display);
  font-style:italic;font-weight:500;font-size:18px;
}
.brand-name{font-family:var(--font-display);font-size:19px;font-weight:500;letter-spacing:-.01em}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{color:var(--ink-2);text-decoration:none;font-size:14.5px;font-weight:450}
.nav-links a:hover{color:var(--accent)}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;border-radius:999px;
  font-weight:500;font-size:14.5px;text-decoration:none;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
  border:1px solid transparent;white-space:nowrap;
}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);background:#000}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn-secondary:hover{background:var(--paper-3)}
.btn-sm{padding:7px 14px;font-size:13.5px}
@media (max-width:760px){
  .nav-links a:not(.btn){display:none}
}

/* ───── Article header ───── */
.article-head{
  padding:64px 0 40px;
  border-bottom:1px solid var(--rule);
  margin-bottom:48px;
}
.crumbs{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-3);
  margin-bottom:28px;
}
.crumbs a{color:var(--text-3);text-decoration:none}
.crumbs a:hover{color:var(--accent)}
.crumbs .sep{margin:0 10px;color:var(--rule)}
.article-category{
  display:inline-block;
  font-family:var(--font-mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);font-weight:500;margin-bottom:20px;
}
.article-title{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(34px, 5vw, 54px);
  line-height:1.08;letter-spacing:-.02em;
  color:var(--ink);margin-bottom:20px;
}
.article-lede{
  font-size:clamp(18px, 2vw, 20px);
  line-height:1.55;color:var(--text-2);max-width:680px;
  font-weight:400;
}
.article-meta{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  margin-top:32px;
  font-size:14px;color:var(--text-3);
}
.article-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--rule);display:inline-block}
.article-meta .author{color:var(--ink-2);font-weight:500}

/* ───── Article body ───── */
.article-body{
  font-size:17.5px;line-height:1.75;color:var(--text);
  padding-bottom:96px;
}
.article-body > * + *{margin-top:1.2em}
.article-body h2{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(24px, 3vw, 32px);line-height:1.2;letter-spacing:-.01em;
  color:var(--ink);margin-top:2.2em;margin-bottom:.6em;
}
.article-body h3{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(19px, 2.2vw, 22px);line-height:1.3;
  color:var(--ink);margin-top:1.8em;margin-bottom:.4em;
}
.article-body p{margin-bottom:0}
.article-body a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article-body a:hover{color:var(--ink)}
.article-body strong{font-weight:600;color:var(--ink)}
.article-body em{font-style:italic;font-family:var(--font-display);font-weight:400}
.article-body ul,.article-body ol{padding-left:24px;margin-top:.8em}
.article-body li{margin-bottom:.5em}
.article-body ul li::marker{color:var(--accent)}
.article-body blockquote{
  border-left:3px solid var(--accent);
  padding:6px 0 6px 22px;
  margin:1.8em 0;
  font-family:var(--font-display);font-size:21px;font-style:italic;
  color:var(--ink-2);line-height:1.5;
}
.article-body code{
  background:var(--paper-3);padding:2px 6px;border-radius:4px;
  font-family:var(--font-mono);font-size:.88em;color:var(--ink);
}
.callout{
  background:var(--card);
  border:1px solid var(--rule);
  border-left:3px solid var(--accent);
  padding:20px 24px;border-radius:6px;
  margin:2em 0;
}
.callout-label{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--accent);font-weight:500;
  margin-bottom:8px;display:block;
}
.callout p{font-size:16px;line-height:1.6;color:var(--ink-2)}
.example-block{
  border:1px solid var(--rule);
  border-radius:8px;padding:22px 26px;margin:1.6em 0;
  background:var(--card);
}
.example-block .label{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--text-3);margin-bottom:10px;display:block;
}
.example-block.good{border-left:3px solid var(--success)}
.example-block.bad{border-left:3px solid #9a2a28}
.example-block.good .label{color:var(--success)}
.example-block.bad .label{color:#9a2a28}
.example-block p{font-size:15.5px;line-height:1.6;margin-bottom:0}
.example-block p + p{margin-top:.8em}

/* Inline CTA card */
.inline-cta{
  margin:2.4em 0;padding:28px 32px;border-radius:10px;
  background:linear-gradient(135deg, var(--card), var(--paper-2));
  border:1px solid var(--rule);
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
  justify-content:space-between;
}
.inline-cta-text h4{
  font-family:var(--font-display);font-weight:500;font-size:20px;
  color:var(--ink);line-height:1.2;margin-bottom:4px;
}
.inline-cta-text p{font-size:15px;color:var(--text-2);line-height:1.5;margin:0}

/* TOC */
.toc{
  background:var(--card);border:1px solid var(--rule);
  border-radius:8px;padding:22px 26px;margin:2em 0 2.4em;
}
.toc-label{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--text-3);font-weight:500;
  margin-bottom:12px;display:block;
}
.toc ol{list-style:none;padding:0;margin:0;counter-reset:toc}
.toc li{
  counter-increment:toc;margin-bottom:8px;font-size:15px;
  padding-left:28px;position:relative;
}
.toc li::before{
  content:counter(toc, decimal-leading-zero);
  position:absolute;left:0;top:0;
  font-family:var(--font-mono);font-size:12px;
  color:var(--accent);font-weight:500;
}
.toc a{color:var(--ink-2);text-decoration:none;line-height:1.45}
.toc a:hover{color:var(--accent);text-decoration:underline}

/* Related articles */
.related{
  border-top:1px solid var(--rule);
  padding:56px 0 80px;
  margin-top:64px;
}
.related-label{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent);font-weight:500;
  margin-bottom:24px;
}
.related-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
@media (max-width:820px){
  .related-grid{grid-template-columns:1fr}
}
.related-card{
  display:block;text-decoration:none;padding:22px 24px;
  border:1px solid var(--rule);border-radius:8px;
  background:var(--card);color:var(--ink);
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.related-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.related-card .cat{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);display:block;margin-bottom:10px;
}
.related-card h4{
  font-family:var(--font-display);font-weight:500;font-size:19px;
  line-height:1.25;color:var(--ink);margin-bottom:8px;letter-spacing:-.005em;
}
.related-card p{font-size:14px;color:var(--text-2);line-height:1.5;margin:0}

/* Footer */
.site-footer{
  background:var(--paper-3);border-top:1px solid var(--rule);
  padding:56px 0 40px;
}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;
  margin-bottom:40px;
}
@media (max-width:760px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
.footer-col h5{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--text-3);font-weight:500;
  margin-bottom:16px;
}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:10px}
.footer-col a{color:var(--ink-2);text-decoration:none;font-size:14.5px}
.footer-col a:hover{color:var(--accent)}
.footer-about p{font-size:14px;color:var(--text-2);line-height:1.6;margin-top:14px}
.footer-bottom{
  border-top:1px solid var(--rule-2);padding-top:24px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:13px;color:var(--text-3);
}

/* Hub page (articles index) */
.hub-head{padding:72px 0 40px}
.hub-title{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(36px, 5vw, 56px);line-height:1.05;letter-spacing:-.02em;
  color:var(--ink);margin-bottom:18px;
}
.hub-lede{font-size:19px;line-height:1.55;color:var(--text-2);max-width:680px}
.hub-list{padding:32px 0 96px}
.hub-item{
  display:grid;grid-template-columns:180px 1fr;gap:40px;
  padding:32px 0;border-top:1px solid var(--rule);
  text-decoration:none;color:inherit;
  transition:background .2s ease;
}
.hub-item:hover{background:var(--card)}
.hub-item:last-child{border-bottom:1px solid var(--rule)}
@media (max-width:720px){
  .hub-item{grid-template-columns:1fr;gap:8px;padding:24px 16px}
}
.hub-item .cat{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);
  padding-top:8px;
}
.hub-item h2{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(22px, 2.4vw, 26px);line-height:1.25;letter-spacing:-.005em;
  color:var(--ink);margin-bottom:10px;
}
.hub-item:hover h2{color:var(--accent)}
.hub-item p{font-size:15.5px;line-height:1.55;color:var(--text-2);margin-bottom:12px}
.hub-item .read{
  font-size:13px;color:var(--text-3);font-family:var(--font-mono);
}
