/* Warmes Magazin: shared shell and the chosen, guided homepage. */
@font-face {
  font-family: Inter;
  src: url('/fonts/inter-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --paper: #f4ede0;
  --ink: #302b27;
  --accent: #a12a3a;
  --accent-dark: #801e2b;
  --stream-red: #a12a3a;
  --muted: #6a6057;
  --rule: #d0c3b2;
  --border: #d0c3b2;
  --mag-sans: Inter, Arial, sans-serif;
}
body { background: var(--paper); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline-color: var(--accent); }
.stream-header {
  --ink: #302b27;
  --rule: #d0c3b2;
  --muted: #6a6057;
  height: 96px;
  gap: 28px;
  padding-inline: max(24px, calc((100vw - 1216px) / 2));
  background: #f4ede0f5;
  border-bottom: 1px solid var(--rule);
  backdrop-filter: blur(12px);
}
.stream-header .stream-brand { color: var(--ink); font-size: 19px; }
.stream-header .stream-brand-mark { color: var(--accent); }
.stream-brand-tag { color: var(--muted); font-size: 8px; }
.stream-header .main-tabs { justify-content: flex-end; gap: 27px; }
.stream-header .main-tab {
  color: var(--ink); font-family: var(--mag-sans); font-size: 12px;
  padding: 16px 0; border-bottom: 1px solid transparent;
}
.stream-header .main-tab.active, .stream-header .main-tab:hover {
  color: var(--accent); border-color: var(--accent);
}
.stream-header .mag-about-link { border: 1px solid var(--ink); padding: 12px 17px; }
.stream-header .mag-about-link.active { border-color: var(--accent); }
.stream-header-actions { gap: 18px; }
.stream-search-button, .stream-list-button { color: var(--ink); font-family: var(--mag-sans); }
.stream-list-button span { color: var(--muted); }
.mag-menu-toggle, .mag-list-icon { display: none; }
.stream-list-button .mag-list-label { color: inherit; }
.stream-dialog { --ink: #f1eadd; }
body:has(.mag-home) .stream-progress { display: none; }
.mag-footer-nav { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 16px 28px; margin: 0 auto 30px; font: 13px/1.5 var(--mag-sans); }
.mag-footer-nav a { text-decoration: none; }
.mag-footer-nav a:hover { color: var(--accent); text-decoration: underline; }
.mag-archive { color: var(--muted); }
.mag-archive summary { padding: 0; color: var(--muted); }
.mag-archive > div { top: auto; bottom: 30px; background: #faf5eb; border-color: var(--rule); box-shadow: 0 8px 25px #302b2715; }
.mag-archive a { color: var(--ink); }
.footer { border-top: 1px solid var(--rule); }
/* Keep the home layout isolated from legacy catalogue and reader styles. */
.layout.blog-layout:has(.mag-home) { max-width: none; padding: 0; display: block; }
.mag-home { color: var(--ink); font: 17px/1.7 var(--mag-sans); -webkit-font-smoothing: antialiased; }
.mag-home *, .mag-home *::before, .mag-home *::after { box-sizing: border-box; }
.mag-home a { color: inherit; text-decoration: none; }
.mag-home h1, .mag-home h2, .mag-home h3 { font-family: var(--font-headline); font-weight: 500; line-height: 1.12; letter-spacing: -.035em; color: inherit; margin: 0 0 24px; }
.mag-home h1 { font-size: clamp(48px, 5.75vw, 82px); line-height: 1.08; }
.mag-home h2 { font-size: clamp(34px, 3.9vw, 55px); }
.mag-home h3 { font-size: 28px; line-height: 1.22; }
.mag-home p { margin: 0 0 20px; max-width: 65ch; }
.mag-home button { font-family: var(--mag-sans); }
.mag-home [hidden] { display: none !important; }
.mag-wrap { width: min(1216px, calc(100% - 96px)); margin-inline: auto; }
.mag-home .mag-eyebrow, .mag-home .mag-number { font: 11px/1.7 var(--font-mono); text-transform: uppercase; letter-spacing: .105em; margin: 0 0 22px; }
.mag-home .mag-eyebrow, .mag-home .mag-number, .mag-home .mag-red { color: var(--accent); }
.mag-home .mag-muted { color: var(--muted); }
.mag-home .mag-lead { font-size: 19px; line-height: 1.65; max-width: 490px; margin-bottom: 34px; }
.mag-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.mag-home .mag-btn { display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 52px; padding: 14px 22px; border: 1px solid var(--accent); background: var(--accent); color: #fff; font: 500 13px/1.5 var(--mag-sans); text-decoration: none; transition: background .15s; }
.mag-home .mag-btn:hover { background: var(--accent-dark); }
.mag-home .mag-text-link, .mag-home .mag-author-more { display: inline-block; color: inherit; border-bottom: 1px solid currentColor; padding-bottom: 4px; font: 13px/1.6 var(--mag-sans); }
.mag-home .mag-text-link:hover, .mag-home .mag-author-more:hover { color: var(--accent); }
.mag-home .mag-fine { font: 11px/1.75 var(--font-mono); color: var(--muted); }
.mag-a-hero { display: grid; grid-template-columns: 1.08fr 1fr; gap: 64px; align-items: center; min-height: 630px; padding: 70px 0; }
.mag-a-hero h1 em { font-weight: 500; color: var(--accent); }
.mag-trust { display: flex; flex-wrap: wrap; gap: 18px 38px; padding: 19px 0; border-block: 1px solid var(--ink); font: 11px/1.6 var(--font-mono); }
.mag-trust span::before { content: '✓'; color: var(--accent); margin-right: 10px; }
.mag-section { padding: 84px 0; }
.mag-section-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 36px; }
.mag-section-head h2 { margin-bottom: 0; }
.mag-section-head > p { font-size: 15px; }
.mag-grid3 { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.mag-card { display: flex; flex-direction: column; align-items: start; border-top: 2px solid var(--ink); padding: 28px 0 0; min-height: 265px; }
.mag-home .mag-card .mag-number { margin-bottom: 30px; }
.mag-home .mag-card h3 { font-size: 29px; }
.mag-home .mag-card p:not(.mag-number) { font-size: 15px; color: var(--muted); line-height: 1.75; }
.mag-home .mag-card .mag-text-link { margin-top: auto; color: var(--accent); }
.mag-dark { background: #352e2a; color: #f4ede0; }
.mag-dark .mag-eyebrow, .mag-dark .mag-muted { color: #dfd3c1; }
.mag-example-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; }
.mag-example { padding: 32px; background: #faf5eb; color: var(--ink); border: 1px solid #817261; }
.mag-switch { display: flex; border-bottom: 1px solid var(--rule); margin-bottom: 30px; }
.mag-switch button { flex: 1; padding: 12px 8px; min-height: 52px; border: 0; border-bottom: 3px solid transparent; background: none; color: var(--ink); font-size: 12px; cursor: pointer; }
.mag-switch button[aria-pressed='true'] { font-weight: 650; border-bottom-color: var(--accent); }
.mag-example h3 { font-size: 30px; line-height: 1.25; }
.mag-example p { font-size: 16px; line-height: 1.8; }
.mag-result { padding: 17px; background: #eae1d1; font-size: 14px; border-left: 2px solid var(--accent); }
.mag-dark .mag-text-link:hover { color: #f3cbbd; }
.mag-author-row { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.mag-person { display: flex; align-items: center; gap: 20px; margin-top: 28px; }
.mag-person img { width: 96px; height: 96px; object-fit: cover; border-radius: 50%; }
.mag-person strong { display: block; font: 600 16px/1.5 var(--mag-sans); }
.mag-person span { color: var(--muted); font-size: 12px; }
.mag-home .mag-author-more { margin-top: 20px; }
.mag-principle { display: grid; grid-template-columns: 70px 1fr; gap: 25px; }
.mag-principle-index { font: 56px/1.2 var(--font-headline); color: var(--accent); }
.mag-home .mag-more-reading { margin-top: 32px; }
.mag-newsletter { display: flex; align-items: center; justify-content: space-between; gap: 40px; border-top: 1px solid var(--ink); padding-top: 45px; }
.mag-newsletter h2 { max-width: 650px; }
.mag-newsletter .mag-fine { margin-top: 12px; max-width: 36ch; }
.mag-section.mag-rule { border: 0; padding-top: 0; }
@media (max-width: 1080px) {
  .stream-header { gap: 20px; }
  .stream-header .main-tabs { gap: 19px; }
  .stream-list-button { font-size: 11px; }
  .stream-brand-tag { display: none; }
}
@media (max-width: 900px) {
  .stream-header { height: auto; min-height: 78px; padding: 14px 20px; gap: 14px; flex-wrap: wrap; }
  .stream-header .stream-brand { font-size: 16px; margin-right: auto; }
  .stream-header .stream-brand-mark { font-size: 45px; width: 38px; }
  .stream-header-actions { margin: 0; gap: 14px; }
  .stream-list-button { display: flex; align-items: center; gap: 4px; min-height: 40px; }
  .stream-list-button .mag-list-label { display: none; }
  .mag-list-icon { display: block; width: 20px; height: 24px; }
  .mag-menu-toggle:not([hidden]) { display: block; order: 3; padding: 8px 12px; min-height: 40px; border: 1px solid var(--rule); background: none; color: var(--ink); font: 12px var(--mag-sans); }
  .stream-header .main-tabs { order: 4; flex-basis: 100%; justify-content: start; flex-wrap: wrap; gap: 10px 23px; overflow: visible; padding: 8px 0 0; }
  .stream-header[data-mag-enhanced] .main-tabs { display: none; }
  .stream-header[data-mag-open] .main-tabs { display: flex; }
  .stream-header .main-tab { font-size: 13px; padding: 10px 0; }
  .stream-header .mag-about-link { padding: 9px 13px; }
}
@media (max-width: 780px) {
  .mag-wrap { width: calc(100% - 40px); }
  .mag-a-hero { grid-template-columns: 1fr; min-height: 0; padding: 44px 0 36px; gap: 35px; }
  .mag-home h1 { font-size: clamp(42px, 11.4vw, 68px); }
  .mag-home h2 { font-size: clamp(33px, 8vw, 48px); }
  .mag-home .mag-lead { font-size: 17px; }
  .mag-trust { gap: 13px; font-size: 10px; }
  .mag-section { padding: 55px 0; }
  .mag-section-head { flex-direction: column; align-items: start; gap: 20px; }
  .mag-grid3 { grid-template-columns: 1fr; gap: 30px; }
  .mag-card { min-height: 220px; }
  .mag-home .mag-card h3 { font-size: 28px; }
  .mag-example-layout, .mag-author-row { grid-template-columns: 1fr; gap: 32px; }
  .mag-example { padding: 22px; }
  .mag-example h3 { font-size: 27px; }
  .mag-example p { font-size: 15px; }
  .mag-principle { grid-template-columns: 45px 1fr; gap: 20px; }
  .mag-principle-index { font-size: 42px; }
  .mag-newsletter { flex-direction: column; align-items: start; gap: 20px; padding-top: 32px; }
  .mag-footer-nav { gap: 15px 22px; }
}
@media (max-width: 370px) {
  .stream-header { gap: 10px; padding-inline: 12px; }
  .stream-header .stream-brand { font-size: 14px; gap: 8px; }
  .stream-list-button { font-size: 10px; }
  .stream-header-actions { gap: 10px; }
  .mag-menu-toggle:not([hidden]) { padding: 8px; }
}
@media print {
  .stream-header-actions, .mag-menu-toggle, .mag-switch, .mag-footer-nav { display: none !important; }
  .mag-home .mag-dark { background: white; color: #302b27; }
  .mag-section { break-inside: avoid; padding: 24px 0; }
  .mag-wrap { width: 100%; }
  .mag-home .mag-eyebrow, .mag-home .mag-muted { color: #302b27; }
}

/* A paper workshop: a quiet initial task, then the learner's own thinking. */
.mag-workshop {
  isolation: isolate; padding: 27px; border: 1px solid #d5c5b0;
  border-top: 3px solid var(--accent); border-radius: 4px;
  background: radial-gradient(ellipse at 100% 0, #be91892b, transparent 55%),
    radial-gradient(#9a7b5324 .7px, transparent .7px), #eae0ce;
  background-size: auto, 9px 9px, auto;
  box-shadow: 0 16px 40px -30px #56392280;
}
.mag-workshop-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 21px; }
.mag-home .mag-workshop-top .mag-eyebrow { margin: 0; font-size: 10px; letter-spacing: .13em; }
.mag-workshop-edition { color: #786957; font: 10px var(--font-mono); white-space: nowrap; }
.mag-workshop-topic { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 10px; margin-bottom: 23px; min-height: 34px; font: 12px/1.5 var(--mag-sans); color: #68594c; }
.mag-subject { color: #6d2430; background: #f7f0e4; border: 1px solid #cdb7a6; padding: 5px 9px; font-size: 10px; font-weight: 550; }
.mag-workshop-before { transform: rotate(-1deg); padding: 18px 22px; min-height: 113px; background: #f6f0e6; border: 1px solid #ccbdac; box-shadow: 2px 4px 0 #cbbb9c35; margin-inline: 3px 17px; }
.mag-workshop-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #7d6f5f; font: 9px/1.6 var(--font-mono); text-transform: uppercase; letter-spacing: .09em; margin-bottom: 12px; }
.mag-home .mag-workshop-before p { font: 19px/1.45 var(--font-body); color: #796d60; margin: 0; }
.mag-workshop-bridge { display: flex; align-items: center; gap: 11px; padding: 12px 8px; color: #866e5d; font: 10px/1.5 var(--font-mono); }
.mag-workshop-arrow { width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid #bca389; border-radius: 50%; color: var(--accent); font-size: 16px; background: #f4ecdd; }
.mag-workshop-line { flex: 1; border-top: 1px dashed #bca389; }
.mag-workshop-after { position: relative; padding: 22px 24px 20px; min-height: 220px; background: #fffaf1; border: 1px solid #bfa48e; border-left: 3px solid var(--accent); box-shadow: 0 8px 16px -12px #593b2d70; }
.mag-workshop-after::after { content: ''; position: absolute; right: -1px; top: -1px; width: 19px; height: 19px; background: linear-gradient(45deg, #e2d1bb 50%, #eae0ce 51%); }
.mag-workshop-after .mag-workshop-label { color: var(--accent); margin-bottom: 13px; }
.mag-workshop-spark { width: 27px; height: 27px; flex-shrink: 0; margin-right: 3px; }
.mag-home .mag-workshop-after p { font: 23px/1.43 var(--font-body); letter-spacing: -.015em; margin: 0 0 18px; }
.mag-workshop-after strong { font-weight: 600; color: var(--accent); background: linear-gradient(transparent 70%, #a12a3a0d 70%); }
.mag-workshop-skills { display: flex; flex-wrap: wrap; gap: 6px; }
.mag-workshop-skills span { padding: 3px 7px; border: 1px solid #dfd2c1; color: #7a6450; font: 9px/1.6 var(--mag-sans); }
.mag-workshop-skills span::before { content: '↗'; margin-right: 4px; color: var(--accent); }
.mag-workshop-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 22px; }
.mag-home .mag-workshop-bottom p { margin: 0; color: #75624f; font: 10px/1.65 var(--mag-sans); }
.mag-workshop-bottom em { font-style: normal; color: #48392e; }
.mag-workshop-next { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 10px 13px; border: 1px solid var(--accent); border-radius: 2px; background: var(--accent); color: #fffaf1; font: 500 11px/1.4 var(--mag-sans); white-space: nowrap; transition: background .15s, box-shadow .15s; }
.mag-workshop-next:hover { background: var(--accent-dark); box-shadow: 0 4px 10px -6px #631220; }
.mag-workshop-next svg { width: 19px; height: 19px; flex-shrink: 0; }
.mag-workshop-next:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (min-width: 781px) and (max-width: 1100px) {
  .mag-a-hero { gap: 36px; grid-template-columns: 1fr 1.12fr; }
  .mag-workshop { padding: 22px 18px; }
  .mag-home .mag-workshop-after p { font-size: 21px; }
  .mag-workshop-bottom { flex-wrap: wrap; }
}
@media (max-width: 780px) {
  .mag-workshop { padding: 22px 18px; }
  .mag-workshop-topic { min-height: 42px; }
  .mag-workshop-before { padding: 17px 18px; min-height: 119px; margin-right: 9px; }
  .mag-workshop-after { padding: 19px 18px; min-height: 244px; }
  .mag-home .mag-workshop-after p { font-size: 22px; }
  .mag-workshop-bottom { gap: 12px; }
  .mag-workshop-next { padding-inline: 10px; gap: 7px; }
}
@media (max-width: 370px) {
  .mag-workshop { padding-inline: 14px; }
  .mag-workshop-bottom { flex-wrap: wrap; }
  .mag-workshop-top { gap: 6px; }
  .mag-home .mag-workshop-top .mag-eyebrow { font-size: 9px; }
  .mag-workshop-before { min-height: 147px; }
  .mag-workshop-after { min-height: 285px; }
}
@media (prefers-reduced-motion: reduce) {
  .mag-workshop *, .mag-workshop *::before, .mag-workshop *::after { animation: none !important; transition: none !important; }
}
@media print { .mag-workshop-next { display: none !important; } }

/* One editorial language for the whole site. */
:root { --max-width: 1320px; }
body { color: var(--ink); font-family: var(--mag-sans); }
.layout, .layout.blog-layout { max-width: 1320px; padding: 48px 52px 72px; }
.main-content .stream-section-hero {
  --ink: #302b27; --accent: #a12a3a;
  min-height: 0; padding: 16px 0 42px; margin: 0 0 40px;
  background: transparent; color: var(--ink); border-radius: 0;
  border-bottom: 1px solid var(--rule); overflow: visible;
}
.main-content .stream-section-hero::before, .main-content .stream-section-hero::after { display: none; }
.main-content .stream-section-hero h1 {
  max-width: 22ch; color: var(--ink); font: 500 clamp(38px,4.8vw,68px)/1.1 var(--font-headline);
  letter-spacing: -.035em; margin-bottom: 24px;
}
.main-content .stream-section-hero p { color: var(--muted); font: 16px/1.75 var(--mag-sans); max-width: 64ch; }
.main-content .stream-section-hero :is(.projekte-eyebrow,.atlas-eyebrow,.artikel-showcase-kicker,.mag-rubric) { color: var(--accent); font: 10px/1.7 var(--font-mono); letter-spacing: .12em; margin: 0 0 20px; }
.main-content :is(.tutorial-title,.legal-title,.tldr-title,.lexikon-term-title) { color: var(--ink); font-family: var(--font-headline); font-weight: 500; letter-spacing: -.03em; }
.main-content :is(.tool-card,.publication-card,.model-map-card,.atlas-project-card,.library-card,.artikel-teaser-card,.theme-model-card,.block-card) {
  background: #fbf6ec; color: var(--ink); border: 1px solid var(--rule); border-top: 2px solid #89725e; border-radius: 0; box-shadow: none;
}
.main-content :is(.tool-card,.publication-card,.model-map-card,.atlas-project-card,.artikel-teaser-card):hover { border-top-color: var(--accent); transform: none; }
.main-content :is(.tool-card,.publication-card,.model-map-card,.atlas-project-card) :is(p,dd) { font-family: var(--mag-sans); line-height: 1.7; }
.main-content :is(.tool-card,.model-map-card,.atlas-project-card,.publication-card) :is(h2,h3) { font-family: var(--font-headline); font-weight: 500; letter-spacing: -.025em; }
.main-content :is(.tool-card,.model-map-card,.atlas-project-card,.publication-card) a { text-underline-offset: 4px; }
.main-content :is(.denk-kern-level,.denk-kern-level-card,.denk-kern-definition,.denk-kern-home-intro) { background: #eae0ce; border-color: #cfbda7; }
.main-content :is(.denk-kern-definition,.denk-kern-hero) blockquote { color: var(--ink); }
.main-content :is(.artikel-post-content,.modell-detail-content,.legal-content,.lexikon-term-content,.tldr-body) { font-family: var(--font-body); font-size: 19px; line-height: 1.85; }
.main-content :is(.artikel-back,.breadcrumb,.modell-back) { font: 12px/1.7 var(--mag-sans); color: var(--muted); }
.main-content :is(.library-controls,.theme-substack-note,.material-license-note) { background: #fbf6ec; border-color: var(--rule); border-radius: 0; }
.main-content :is(input[type=search],select) { font-family: var(--mag-sans); background: #fffaf2; color: var(--ink); border-color: var(--rule); }
.library-filter.active { background: var(--accent); color: #fff; }
.stream-dialog { --ink: #302b27; --muted: #6a6057; background: #f4ede0; border: 1px solid #bda88f; border-top: 3px solid #a12a3a; border-radius: 0; }
.stream-dialog :is(input,.stream-search-result) { background: #fffaf2; color: var(--ink); border-color: var(--rule); border-radius: 0; }
.stream-dialog .stream-search-result > a, .stream-dialog .stream-close { color: var(--ink); }
.stream-dialog .stream-save { background: #eee3d1; color: #6e2732; border-color: #cbb59d; }
.stream-dialog .stream-save[aria-pressed=true] { background: var(--accent); color: white; }
.stream-dialog .stream-list-note { color: var(--muted); }
.stream-header .main-tabs { gap: 22px; }
.mag-next-steps { width: min(1216px,calc(100% - 104px)); margin: 0 auto 70px; border-top: 1px solid var(--rule); padding-top: 32px; }
body:has(.mag-home) .mag-next-steps { display: none; }
.mag-next-steps > p { font: 10px var(--font-mono); color: var(--accent); text-transform: uppercase; letter-spacing: .12em; margin-bottom: 22px; }
.mag-next-steps > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.mag-next-steps a { display: flex; flex-direction: column; gap: 8px; color: var(--ink); text-decoration: none; padding: 0 0 16px; border-bottom: 1px solid var(--rule); }
.mag-next-steps a:hover { border-color: var(--accent); }
.mag-next-steps strong { font: 500 26px var(--font-headline); }
.mag-next-steps span { font: 12px/1.7 var(--mag-sans); color: var(--muted); }
/* Blog: a feature story, then a browsable collection of real articles. */
.mag-blog-catalog [hidden], .mag-post[hidden] { display: none !important; }
.mag-blog-preview { background: #eae0ce; }
.mag-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 28px; }
.mag-post { min-width: 0; border-bottom: 1px solid #c5b39e; padding-bottom: 22px; }
.mag-post-link { display: flex; flex-direction: column; height: 100%; color: var(--ink); text-decoration: none; }
.mag-post-image { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #dbccb7; margin-bottom: 20px; }
.mag-post-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; display: block; }
.mag-post-link:hover img { transform: scale(1.025); }
.mag-post-monogram { display: grid; place-items: center; height: 100%; font: italic 90px var(--font-headline); color: #a12a3a; }
.mag-post-index { position: absolute; left: 12px; bottom: 12px; background: #f4ede0; padding: 5px 8px; font: 10px var(--font-mono); color: #6d503f; }
.mag-post-copy { display: flex; flex-direction: column; align-items: start; flex: 1; }
.mag-post .mag-post-date { color: #8a3b43; font: 10px/1.6 var(--font-mono); margin: 0 0 12px; }
.mag-home .mag-post h3, .mag-post :is(h2,h3) { font: 500 28px/1.2 var(--font-headline); letter-spacing: -.025em; margin: 0 0 14px; color: var(--ink); }
.mag-home .mag-post .mag-post-excerpt, .mag-post .mag-post-excerpt { font: 14px/1.7 var(--mag-sans); color: var(--muted); margin: 0 0 24px; }
.mag-post-read { margin-top: auto; padding-top: 8px; color: var(--accent); font: 500 11px/1.7 var(--mag-sans); border-bottom: 1px solid currentColor; }
.mag-post-read span { margin-left: 8px; }
.mag-blog-catalog .mag-post-grid > .mag-post:first-child { grid-column: 1/-1; padding-bottom: 40px; margin-bottom: 8px; }
.mag-blog-catalog .mag-post-grid > .mag-post:first-child .mag-post-link { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; }
.mag-blog-catalog .mag-post-grid > .mag-post:first-child .mag-post-image { margin: 0; }
.mag-blog-catalog .mag-post-grid > .mag-post:first-child h2 { font-size: clamp(30px,3vw,44px); }
.mag-blog-catalog .mag-post-grid > .mag-post:first-child .mag-post-excerpt { font-size: 16px; }
.mag-blog-toolbar { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; padding: 22px 0; margin-bottom: 36px; border-bottom: 1px solid var(--rule); }
.mag-blog-toolbar label { font: 500 13px var(--mag-sans); }
.mag-blog-toolbar > div { display: flex; gap: 8px; flex: 1; }
.mag-blog-toolbar input { min-width: 0; flex: 1; border: 1px solid var(--rule); padding: 12px; min-height: 44px; font: 14px var(--mag-sans); }
.mag-blog-toolbar button { min-height: 44px; padding: 8px 12px; color: var(--ink); background: #eae0ce; border: 1px solid var(--rule); font: 11px var(--mag-sans); }
.mag-blog-toolbar p { font: 10px var(--font-mono); margin: 0; }
.mag-blog-empty { font: 18px/1.8 var(--font-body); padding: 30px 0; }
@media (max-width:1100px) { .stream-header .main-tabs { gap: 16px; } .stream-header { gap: 20px; } .stream-header .main-tab { font-size: 11px; } }
@media (max-width:900px) { .mag-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .mag-blog-preview .mag-post:first-child { grid-column: 1/-1; } }
@media (max-width:780px) {
  .layout, .layout.blog-layout { padding: 34px 20px 48px; }
  .main-content .stream-section-hero { padding: 8px 0 30px; margin-bottom: 30px; }
  .main-content .stream-section-hero h1 { font-size: 40px; }
  .main-content .stream-section-hero p { font-size: 15px; }
  .mag-post-grid { grid-template-columns: 1fr; gap: 30px; }
  .mag-blog-catalog .mag-post-grid > .mag-post:first-child .mag-post-link { grid-template-columns: 1fr; gap: 20px; }
  .mag-blog-catalog .mag-post-grid > .mag-post:first-child { padding-bottom: 24px; }
  .mag-blog-toolbar { align-items: start; flex-direction: column; }
  .mag-blog-toolbar > div { width: 100%; }
  .mag-next-steps { width: calc(100% - 40px); margin-bottom: 40px; }
  .mag-next-steps > div { grid-template-columns: 1fr; gap: 20px; }
  .stream-header .main-tab { font-size: 13px; }
}

/* A personal author page instead of another category banner. */
.author-profile { display: block; max-width: 1100px; margin: 0 auto; border-top: 0; padding: 0 0 36px; }
.main-content .mag-about-header { display: block; }
.author-profile blockquote { max-width: 24ch; margin: 48px 0; padding: 0 0 0 26px; border-left: 3px solid var(--accent); font: 500 clamp(30px,3.5vw,46px)/1.2 var(--font-headline); letter-spacing: -.025em; color: var(--accent); }
.author-bio { max-width: 720px; }
.author-bio h2, .author-publications h2 { font: 500 30px/1.2 var(--font-headline); margin-bottom: 22px; }
.author-bio p { font: 18px/1.85 var(--font-body); color: var(--ink); }
.author-profile-links { display: flex; flex-wrap: wrap; gap: 15px 24px; margin-top: 35px; padding-top: 24px; border-top: 1px solid var(--rule); font: 12px/1.6 var(--mag-sans); }
.author-publications { margin-top: 44px; }
@media (max-width:780px) { .author-profile blockquote { padding-left: 20px; } }

/* Catalogue pages: choose an intention first, reveal detail when needed. */
.main-content .tool-catalog .tool-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; border: 0; align-items: start; }
.main-content .tool-catalog .tool-card { display: flex; flex-direction: column; padding: 30px 32px; min-width: 0; min-height: 0; height: auto; border: 1px solid var(--rule); border-top: 3px solid var(--accent); }
.main-content .tool-card .tool-intent { color: var(--accent); font: 600 12px/1.5 var(--mag-sans); margin: 0 0 16px; }
.main-content .tool-card h2 { font-size: clamp(25px,2.5vw,34px); line-height: 1.15; margin: 0 0 14px; overflow-wrap: anywhere; }
.main-content .tool-card .tool-summary { font: 15px/1.7 var(--mag-sans); color: var(--muted); margin: 0 0 20px; }
.main-content .tool-card .tool-cta { order: 1; align-self: flex-start; margin: 0; padding: 9px 0; border: 0; border-bottom: 1px solid var(--accent); color: var(--accent); font: 600 13px/1.5 var(--mag-sans); background: transparent; }
.main-content .tool-card .tool-details { order: 2; margin-top: 22px; border-top: 1px solid var(--rule); padding-top: 16px; }
.tool-details > summary, .library-filter-options > summary { cursor: pointer; color: var(--muted); font: 13px/1.6 var(--mag-sans); }
.tool-details[open] > summary { margin-bottom: 18px; }
.main-content .tool-details .tool-problem { background: transparent; padding: 0; font-size: 14px; }
.main-content .tool-details dl { display: block; margin: 18px 0 0; }
.main-content .tool-details dl > div { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 15px; border-top: 1px solid var(--rule); padding: 10px 0; }
.main-content .tool-details :is(dt,dd) { font: 12px/1.65 var(--mag-sans); margin: 0; }
.main-content .tool-details dt { color: var(--muted); }
.main-content .artikel-showcase { display: block; }
.main-content .artikel-showcase > .library-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 24px; margin: 0 0 28px; padding: 24px; border: 1px solid var(--rule); background: #eee3d1; }
.library-controls > label { grid-column: 1 / -1; font: 600 13px/1.5 var(--mag-sans); }
.library-controls > input { width: 100%; min-width: 0; margin: 0; }
.library-filter-options { align-self: center; max-width: 290px; }
.library-filter-options .library-theme-filters { padding-top: 10px; }
.library-controls #library-result-count { grid-column: 1 / -1; font: 11px/1.5 var(--font-mono); margin: 0; color: var(--muted); }
.artikel-showcase .artikel-section { padding: 0; border: 0; margin: 0 0 14px; }
.library-folder { border: 1px solid var(--rule); background: #fbf6ec; }
.library-folder-summary { list-style: none; display: grid; grid-template-columns: 36px minmax(0,1fr) auto 24px; align-items: center; gap: 24px; padding: 28px; cursor: pointer; }
.library-folder-summary::-webkit-details-marker { display: none; }
.library-folder-summary::marker { content: ''; }
.library-folder-number { color: var(--accent); font: 12px/1.5 var(--font-mono); }
.library-folder-copy h2 { font: 500 clamp(23px,2.4vw,31px)/1.2 var(--font-headline); margin: 0 0 7px; letter-spacing: -.02em; }
.library-folder-copy > span { display: block; max-width: 65ch; font: 14px/1.6 var(--mag-sans); color: var(--muted); }
.library-folder-count { white-space: nowrap; font: 11px/1.5 var(--font-mono); color: var(--muted); }
.library-folder-toggle { font: 28px/1 var(--mag-sans); color: var(--accent); }
.library-folder[open] .library-folder-toggle { transform: rotate(45deg); }
.library-folder[open] > summary { border-bottom: 1px solid var(--rule); }
.library-folder-content { padding: 24px 28px 28px; }
.library-theme-link { display: inline-block; margin-bottom: 22px; color: var(--accent); font: 13px/1.7 var(--mag-sans); text-underline-offset: 4px; }
.artikel-showcase .artikel-section-grid { grid-template-columns: repeat(3,minmax(0,1fr)); border: 0; gap: 18px; }
.artikel-showcase .artikel-teaser-card { min-height: 0; }
.artikel-showcase .artikel-teaser-card h3 { font-size: 21px; }
:is(.library-folder-summary,.tool-details > summary,.library-filter-options > summary):focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (max-width:780px) {
  .main-content .tool-catalog .tool-grid { grid-template-columns: 1fr; gap: 18px; }
  .main-content .tool-catalog .tool-card { padding: 24px; }
  .main-content .artikel-showcase > .library-controls { grid-template-columns: minmax(0,1fr); padding: 20px; }
  .library-folder-summary { grid-template-columns: 24px minmax(0,1fr) 20px; gap: 12px; padding: 22px 18px; }
  .library-folder-count { grid-column: 2; grid-row: 2; }
  .library-folder-toggle { grid-column: 3; grid-row: 1; }
  .library-folder-copy > span { font-size: 13px; }
  .library-folder-content { padding: 20px 18px; }
  .artikel-showcase .artikel-section-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:480px) { .artikel-showcase .artikel-section-grid { grid-template-columns: 1fr; } .main-content .tool-details dl > div { grid-template-columns: 1fr; gap: 4px; } }
.tool-catalog .stream-section-hero { text-align: left; }
.main-content .tool-catalog .stream-section-hero :is(h1,p) { margin-left: 0; margin-right: 0; }
.main-content .tool-catalog .tool-grid { align-items: stretch; }
.main-content .tool-card .tool-summary { flex-grow: 1; }
