/* Layout only: brand tokens, fonts, logo, background and theme come from /style.css. */
.blog { --ink:var(--color-text); --muted:var(--color-text-muted); --line:var(--color-border); --paper:var(--color-bg); }
.blog h1,.blog h2,.blog h3 { font-family:var(--font-display); font-weight:600; line-height:1.08; letter-spacing:-.018em; }
.blog h1 { animation:none; filter:none; opacity:1; }
.blog .eyebrow { color:transparent; }
.blog a:focus-visible,.blog [tabindex]:focus-visible { outline:2px solid var(--color-primary); outline-offset:5px; }
.blog .nav [aria-current] { color:var(--color-primary); background:var(--color-primary-highlight); }
.wrap { width:min(1220px,92%); margin:auto; }
.intro { padding:80px 0 56px; display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:60px; }
.intro h1 { font-size:clamp(48px,6vw,86px); margin:18px 0 0; max-width:13ch; color:var(--color-text); }
.intro>p { font-size:var(--text-lg); color:var(--muted); max-width:43ch; margin:0 0 5px; }
.rule { display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding-top:20px; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }
.feature { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; padding:40px 0 72px; align-items:center; }
.feature-art { display:block; text-decoration:none; border:1px solid var(--line); border-radius:var(--radius-xl); overflow:hidden; background:var(--color-surface); }
.feature-art img { width:100%; aspect-ratio:1.3; object-fit:contain; }
.feature h2 { font-size:clamp(32px,3.5vw,50px); margin:22px 0; }
.feature h2 a { text-decoration:none; }
.feature h2 a:hover { color:var(--color-primary); }
.feature p { color:var(--muted); max-width:45ch; }
.meta { font-size:13px; color:var(--muted); margin:18px 0; }
.read { display:inline-flex; gap:30px; align-items:center; font-size:14px; font-weight:700; text-decoration:none; color:var(--color-primary); border-bottom:1px solid var(--color-primary); padding:15px 0; min-height:44px; }
.topics { border-top:1px solid var(--line); padding:40px 0 72px; }
.topics h2 { font-size:var(--text-2xl); margin:20px 0; }
.topics p { color:var(--muted); margin-bottom:24px; }
.tags { display:flex; gap:10px; flex-wrap:wrap; }
.tags span { border:1px solid var(--line); background:var(--color-surface); color:var(--muted); padding:9px 15px; border-radius:var(--radius-full); font-size:13px; }
.cta { border:1px solid var(--line); background:linear-gradient(120deg,var(--color-surface-offset),var(--color-surface)); padding:48px; display:flex; align-items:center; justify-content:space-between; gap:30px; border-radius:var(--radius-xl); }
.cta h2 { font-size:clamp(30px,4vw,48px); margin:18px 0; max-width:18ch; }
.cta p { color:var(--muted); max-width:48ch; }
.cta a { display:inline-block; background:var(--gold-gradient); color:#080704; padding:16px 24px; border-radius:var(--radius-full); white-space:nowrap; text-decoration:none; font-size:14px; font-weight:700; min-height:48px; }
.blog .site-footer { margin-top:60px; }
.breadcrumb { font-size:13px; padding-top:32px; color:var(--muted); }
.article-head { max-width:920px; margin:50px auto 38px; }
.article-head h1 { font-size:clamp(38px,5.4vw,68px); max-width:22ch; margin:22px 0; }
.article-head .deck { font-size:var(--text-lg); color:var(--muted); max-width:65ch; }
.hero-figure { margin:0 auto 55px; max-width:1100px; }
.hero-figure img { width:100%; aspect-ratio:2.2; object-fit:contain; background:var(--color-surface); border:1px solid var(--line); border-radius:var(--radius-xl); }
.hero-figure figcaption { font-size:12px; color:var(--muted); margin-top:12px; }
.article-grid { display:grid; grid-template-columns:190px minmax(0,740px); gap:60px; max-width:1000px; margin:0 auto 72px; }
.toc { font-size:13px; align-self:start; position:sticky; top:160px; }
.toc strong { display:block; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--color-primary); }
.toc a { display:block; margin:16px 0; text-decoration:none; color:var(--muted); }
.toc a:hover { color:var(--color-primary); }
.prose { font-size:18px; line-height:1.85; min-width:0; }
.prose p { margin:0 0 26px; }
.prose h2 { max-width:none; font-size:32px; line-height:1.2; margin:48px 0 20px; scroll-margin-top:180px; }
.prose h3 { font-size:24px; line-height:1.25; margin:30px 0 16px; }
.prose a,.breadcrumb a { color:var(--color-primary); }
.prose ul,.prose ol { padding-left:24px; margin-bottom:26px; }
.prose li { padding-left:5px; margin:12px 0; }
.note { background:var(--color-surface-offset); border:1px solid var(--line); border-left:3px solid var(--color-primary); border-radius:var(--radius-md); padding:26px; margin:32px 0; }
.note strong { color:var(--color-primary); }
.note p:last-child { margin:10px 0 0; }
.table-scroll { overflow:auto; margin:30px 0; border:1px solid var(--line); border-radius:var(--radius-md); }
table { border-collapse:collapse; width:100%; font-size:14px; line-height:1.6; }
caption { text-align:left; font-size:13px; color:var(--muted); padding:16px; }
th,td { padding:16px 12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { background:var(--color-surface-offset); color:var(--color-primary); font-weight:700; }
td { color:var(--color-text); }
.sources { border-top:1px solid var(--line); margin-top:40px; padding-top:20px; font-size:14px; color:var(--muted); }
.prose .sources h2 { font-size:24px; margin-top:20px; color:var(--color-text); }
.related { font-size:16px; border-top:1px solid var(--line); padding-top:24px; margin-top:40px; }
@media(max-width:920px) {
  .site-header .nav { display:flex; grid-column:1/-1; grid-row:2; flex-wrap:wrap; justify-content:flex-start; gap:0; width:100%; }
  .site-header .nav a { padding-inline:10px; font-size:13px; }
  .site-header .theme-toggle { grid-column:2; grid-row:1; }
  .intro { gap:24px; padding-top:48px; }
  .feature { gap:30px; }
  .article-grid { grid-template-columns:1fr; gap:28px; }
  .toc { position:static; border-block:1px solid var(--line); padding:20px 0; }
  .toc a { display:inline-block; margin:14px 18px 0 0; min-height:32px; }
  .cta { padding:32px; }
  .prose h2 { scroll-margin-top:220px; }
}
@media(max-width:600px) {
  .intro,.feature { grid-template-columns:1fr; gap:28px; }
  .intro { padding:44px 0 34px; }
  .intro>p { font-size:18px; }
  .feature { padding-bottom:44px; }
  .feature-art img { aspect-ratio:1.3; }
  .feature h2 { margin-top:20px; }
  .cta { display:block; padding:28px; }
  .cta a { margin-top:24px; white-space:normal; }
  .article-head { margin-top:36px; }
  .article-head .deck { font-size:19px; }
  .prose { font-size:17px; }
  .prose h2 { font-size:28px; }
  .hero-figure img { aspect-ratio:1.4; }
  .rule { font-size:10px; }
  .rule span:last-child { display:none; }
  .article-grid { margin-bottom:44px; }
}
@media print {
  .blog {
    --color-bg:#fff; --color-text:#000; --color-text-muted:#222;
    --color-primary:#000; --color-border:#777; --color-surface:#fff;
    --color-surface-offset:#fff;
    background:#fff; color:#000;
  }
  .blog::before,.blog::after,.site-header,.toc,.cta,.site-footer { display:none; }
  .article-grid { display:block; }
  .prose { font-size:12pt; }
  .blog h1,.blog .eyebrow {
    color:#000; background:none; -webkit-text-fill-color:#000;
  }
  .blog h2,.blog h3,.blog p,.blog a,.blog strong,.blog li,
  .blog .meta,.blog .deck,.blog figcaption,.blog caption,
  .blog th,.blog td,.blog .sources { color:#000; }
  .blog .wrap { width:100%; }
  .blog .article-head { margin:0 0 24pt; }
  .blog .article-head h1 { font-size:26pt; max-width:none; }
  .blog .hero-figure { display:none; }
  .blog .table-scroll { overflow:visible; }
  .blog .note,.blog th { background:#fff; }
  .blog h2,.blog h3 { break-after:avoid; }
  .blog .note,.blog tr { break-inside:avoid; }
}
