:root {
  --sj-bg: var(--wp--custom--sj--paper, #f4eedf);
  --sj-surface: var(--wp--custom--sj--paper, #f4eedf);
  --sj-surface-muted: var(--wp--custom--sj--paper-warm, #eee5d0);
  --sj-text: var(--wp--custom--sj--ink, #131311);
  --sj-text-soft: var(--wp--custom--sj--muted, #5c5a52);
  --sj-text-muted: var(--wp--custom--sj--muted, #5c5a52);
  --sj-green: var(--wp--custom--sj--forest-3, #1c4128);
  --sj-green-dark: var(--wp--custom--sj--forest, #102218);
  --sj-green-soft: var(--wp--custom--sj--paper-warm, #eee5d0);
  --sj-ink: var(--wp--custom--sj--ink, #131311);
  --sj-border: var(--wp--custom--sj--rule, #c8b98d);
  --sj-border-strong: var(--wp--custom--sj--forest-2, #15301f);
  --sj-accent: var(--wp--custom--sj--ochre, #b07a1f);
  --sj-accent-soft: var(--wp--custom--sj--ochre-soft, #d5a75a);
  --sj-rust: var(--wp--custom--sj--rust, #8c3a1a);
  --sj-law-bg: var(--wp--custom--sj--paper-warm, #eee5d0);
  --sj-law-border: var(--wp--custom--sj--forest-2, #15301f);
  --sj-blue: #3B4E8C;
  --sj-blue-soft: #9FB0E8;
  --sj-blue-dark: #1B233F;
  --sj-dom: #2B2A26;
  --sj-forarbete: #9A6B16;
  --sj-ink-500: #5C5A52;
  --sj-green-2: var(--wp--custom--sj--forest-2, #15301f);
  --sj-green-3: var(--wp--custom--sj--forest-3, #1c4128);
  --sj-paper: var(--wp--custom--sj--paper, #f4eedf);
  --sj-rule: var(--wp--custom--sj--rule, #c8b98d);
  --sj-ochre: var(--wp--custom--sj--ochre, #b07a1f);
  --sj-ochre-soft: var(--wp--custom--sj--ochre-soft, #d5a75a);
  --sj-tillsyn-bg: var(--wp--custom--sj--paper-warm, #eee5d0);
  --sj-tillsyn-border: #3B4E8C;
  --sj-praxis-bg: var(--wp--custom--sj--paper-deep, #e6dbc0);
  --sj-praxis-border: var(--wp--custom--sj--rust, #8c3a1a);
  --sj-template-bg: var(--wp--custom--sj--paper-warm, #eee5d0);
  --sj-template-border: var(--wp--custom--sj--forest-3, #1c4128);
  --sj-warning-bg: #f0dccf;
  --sj-warning-border: var(--wp--custom--sj--rust, #8c3a1a);
  --sj-radius-sm: 2px;
  --sj-radius-md: 6px;
  --sj-radius-lg: 12px;
  --sj-shadow-sm: none;
  --sj-shadow-md: 6px 6px 0 var(--sj-green-dark);
  --sj-max-width: var(--wp--style--global--wide-size, 1440px);
  --sj-serif: var(--wp--custom--sj--serif, Newsreader, Georgia, "Times New Roman", serif);
  --sj-sans: var(--wp--custom--sj--sans, "IBM Plex Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  --sj-mono: var(--wp--custom--sj--mono, "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
}

.sjb-hero,
.sjb-caput-grid,
.sjb-legal-article,
.sjb-case-list,
.sjb-measure-staircase,
.sjb-download-material,
.sjb-prototype-notice,
.sjb-article-hero,
.sjb-guide-search,
.sjb-area-register,
.sjb-marginalia,
.sjb-weekly-decision,
.sjb-supervision-feed,
.sjb-law-commentary,
.sjb-decision-analysis,
.sjb-source-panel,
.sjb-practical-conclusion,
.sjb-responsibility-chain,
.sjb-editorial-note {
  width: min(calc(100% - 40px), var(--sj-max-width));
  margin-right: auto;
  margin-left: auto;
  color: var(--sj-text);
  font-family: var(--sj-sans);
}

.alignfull.sjb-hero,
.alignfull.sjb-caput-grid,
.alignfull.sjb-case-list,
.alignfull.sjb-measure-staircase,
.alignfull.sjb-download-material,
.alignfull.sjb-prototype-notice,
.alignfull.sjb-article-hero,
.alignfull.sjb-guide-search,
.alignfull.sjb-area-register,
.alignfull.sjb-weekly-decision,
.alignfull.sjb-supervision-feed,
.alignfull.sjb-law-commentary,
.alignfull.sjb-decision-analysis,
.alignfull.sjb-responsibility-chain {
  width: 100%;
  max-width: none;
  padding-right: max(20px, calc((100% - var(--sj-max-width)) / 2));
  padding-left: max(20px, calc((100% - var(--sj-max-width)) / 2));
}

.sjb-bg-none { background: transparent !important; }
.sjb-bg-paper { background: var(--sj-bg); }
.sjb-bg-white { background: #fff; }
.sjb-bg-warm { background: var(--sj-surface-muted); }
.sjb-bg-green-soft { background: color-mix(in srgb, var(--sj-green) 10%, var(--sj-bg)); }
.sjb-bg-lavender { background: #ede6f2; }
.sjb-bg-dark-green {
  background: var(--sj-green-dark);
  color: var(--sj-bg);
}
.sjb-bg-custom { background: var(--sjb-custom-bg, var(--sj-bg)); }
.sjb-text-default { color: var(--sj-text); }
.sjb-text-ink { color: var(--sj-ink); }
.sjb-text-muted { color: var(--sj-text-soft); }
.sjb-text-green { color: var(--sj-green-dark); }
.sjb-text-accent { color: var(--sj-accent); }
.sjb-text-custom { color: var(--sjb-custom-text, var(--sj-text)); }

.sjb-border-none { border-color: transparent !important; }
.sjb-border-subtle { border: 1px solid var(--sj-border); }
.sjb-border-strong { border: 1px solid var(--sj-border-strong); }
.sjb-border-left-accent {
  border: 1px solid var(--sj-border);
  border-left: 5px solid var(--sj-accent);
}
.sjb-border-top-accent {
  border: 1px solid var(--sj-border);
  border-top: 5px solid var(--sj-accent);
}
.sjb-border-frame { border: 1px solid var(--sj-green-dark); }

.sjb-radius-none { border-radius: 0 !important; }
.sjb-radius-small { border-radius: var(--sj-radius-sm); }
.sjb-radius-medium { border-radius: var(--sj-radius-md); }
.sjb-radius-large { border-radius: var(--sj-radius-lg); }

.sjb-shadow-none { box-shadow: none; }
.sjb-shadow-subtle { box-shadow: 0 8px 22px rgba(16, 34, 24, 0.08); }
.sjb-shadow-editorial { box-shadow: 6px 6px 0 var(--sj-green-dark); }
.sjb-shadow-raised { box-shadow: 0 18px 45px rgba(16, 34, 24, 0.16); }

.sjb-spacing-compact { padding: 14px; }
.sjb-spacing-normal { padding: 22px; }
.sjb-spacing-airy { padding: clamp(28px, 5vw, 54px); }
.sjb-spacing-extra { padding: clamp(40px, 7vw, 82px); }
.sjb-spacing-custom { padding: var(--sjb-custom-padding, 22px); }

.sjb-heading-small :is(h1, h2, h3, h4) { font-size: clamp(1.35rem, 2vw, 1.8rem); }
.sjb-heading-normal :is(h1, h2, h3, h4) { font-size: clamp(1.8rem, 3vw, 2.7rem); }
.sjb-heading-large :is(h1, h2, h3, h4) { font-size: clamp(2.3rem, 4vw, 3.7rem); }
.sjb-heading-display :is(h1, h2, h3, h4) { font-size: clamp(3rem, 7vw, 5.8rem); }

.sjb-body-small { font-size: 0.92rem; }
.sjb-body-normal { font-size: 1rem; }
.sjb-body-large { font-size: 1.12rem; }
.sjb-align-left { text-align: left; }
.sjb-align-center { text-align: center; }
.sjb-meta-normal :is(.sjb-issue-label, .sjb-kicker, .sjb-eyebrow, small, time, mark) { text-transform: none; }
.sjb-meta-mono-light :is(.sjb-issue-label, .sjb-kicker, .sjb-eyebrow, small, time, mark) {
  font-family: var(--sj-mono);
  font-weight: 400;
}
.sjb-meta-serif :is(.sjb-issue-label, .sjb-kicker, .sjb-eyebrow, small, time, mark) {
  font-family: var(--sj-serif);
  font-style: italic;
  text-transform: none;
}

.sjb-bg-dark-green :is(h1, h2, h3, h4, p, span, strong, small, time) {
  color: inherit;
}

.sjb-issue-label,
.sjb-kicker,
.sjb-eyebrow,
.sjb-source-card__type,
.sjb-source-card__meta,
.sjb-panel-title,
.sjb-count-label,
.sjb-caput-card__reference,
.sjb-caput-card__meta,
.sjb-case-row__meta,
.sjb-case-row__foot,
.sjb-measure-step__ref,
.sjb-download-card small,
.sjb-file-type,
.sjb-article-hero__meta,
.sjb-article-hero__details,
.sjb-area-card__marker,
.sjb-area-card__stats,
.sjb-weekly-decision__meta,
.sjb-decision-analysis__meta,
.sjb-law-commentary__meta,
.sjb-source-entry small,
.sjb-responsibility-role small,
.sjb-supervision-item strong,
.sjb-editorial-note strong {
  color: var(--sj-text-muted);
  font-family: var(--sj-mono);
  font-size: 0.72rem;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: uppercase;
}

.sjb-chapter-hero,
.sjb-chapter-structure,
.sjb-progression-band,
.sjb-concept-grid,
.sjb-paragraph-walkthrough,
.sjb-comparison-box,
.sjb-checklist-box,
.sjb-decisive-cases,
.sjb-related-reading {
  width: min(calc(100% - 40px), var(--sj-max-width));
  margin-right: auto;
  margin-left: auto;
  color: var(--sj-text);
  font-family: var(--sj-sans);
}

.alignfull.sjb-chapter-hero,
.alignfull.sjb-chapter-structure,
.alignfull.sjb-progression-band,
.alignfull.sjb-concept-grid,
.alignfull.sjb-paragraph-walkthrough,
.alignfull.sjb-comparison-box,
.alignfull.sjb-checklist-box,
.alignfull.sjb-decisive-cases,
.alignfull.sjb-related-reading {
  width: 100%;
  max-width: none;
  padding-right: max(20px, calc((100% - var(--sj-max-width)) / 2));
  padding-left: max(20px, calc((100% - var(--sj-max-width)) / 2));
}

.sjb-chapter-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
  gap: clamp(32px, 8vw, 120px);
  align-items: end;
  padding-top: clamp(52px, 8vw, 92px);
  padding-bottom: clamp(42px, 7vw, 76px);
  border-bottom: 1px solid var(--sj-border);
}

.sjb-chapter-hero--text,
.sjb-chapter-hero--center {
  grid-template-columns: minmax(0, 1fr);
}

.sjb-chapter-hero--center {
  text-align: center;
}

.sjb-chapter-hero__content {
  max-width: 780px;
}

.sjb-chapter-hero__crumbs,
.sjb-chapter-hero__label,
.sjb-jump-grid__label,
.sjb-comparison-box__label,
.sjb-source-support-card__type,
.sjb-source-support-card__meta,
.sjb-decisive-case-card__type,
.sjb-decisive-case-card__meta,
.sjb-decisive-case-card__ref,
.sjb-paragraph-section__label {
  color: var(--sj-text-muted);
  font-family: var(--sj-mono);
  font-size: 0.72rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.sjb-chapter-hero h1 {
  margin: 12px 0 8px;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: clamp(4.5rem, 9vw, 9.5rem);
  font-weight: 500;
  line-height: 0.88;
}

.sjb-chapter-hero h1 em,
.sjb-chapter-hero__subtitle em,
.sjb-chapter-structure h2 em,
.sjb-progression-band h2 em,
.sjb-concept-grid h2 em,
.sjb-decisive-cases h2 em {
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-style: italic;
}

.sjb-chapter-hero__subtitle {
  margin: 0;
  color: var(--sj-green);
  font-family: var(--sj-serif);
  font-size: clamp(1.45rem, 2.8vw, 2.1rem);
  font-style: italic;
  line-height: 1.18;
}

.sjb-chapter-hero__intro {
  max-width: 660px;
  margin-top: 28px;
  color: var(--sj-text-soft);
  font-size: 1.05rem;
  line-height: 1.65;
}

.sjb-chapter-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
  margin-top: 26px;
}

.sjb-chapter-hero__search {
  min-width: min(100%, 320px);
  border: 1px solid var(--sj-green-dark);
  padding: 14px 18px;
  color: var(--sj-text-muted);
  background: transparent;
}

.sjb-chapter-hero__search::before {
  content: "§";
  margin-right: 12px;
  color: var(--sj-accent);
}

.sjb-jump-grid {
  border: 1px solid var(--sj-green-dark);
  background: var(--sj-surface-muted);
  padding: 22px;
  box-shadow: var(--sj-shadow-md);
}

.sjb-jump-grid__items {
  display: grid;
  grid-template-columns: repeat(4, minmax(58px, 1fr));
  gap: 8px;
}

.sjb-jump-grid a {
  border: 1px solid var(--sj-border);
  padding: 9px 10px;
  color: var(--sj-green-dark);
  font-family: var(--sj-mono);
  font-size: 0.82rem;
  text-align: center;
  text-decoration: none;
}

.sjb-chapter-structure {
  padding-top: clamp(36px, 6vw, 72px);
  padding-bottom: clamp(32px, 5vw, 58px);
}

.sjb-chapter-structure__head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  border-bottom: 1px solid var(--sj-border);
  margin-bottom: 24px;
  padding-bottom: 16px;
}

.sjb-chapter-structure__head h2,
.sjb-concept-grid h2,
.sjb-decisive-cases h2 {
  margin: 0;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
  line-height: 1.05;
}

.sjb-chapter-structure__head p {
  margin: 0;
  color: var(--sj-text-muted);
  font-family: var(--sj-mono);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.sjb-chapter-structure > .block-editor-inner-blocks > .block-editor-block-list__layout,
.sjb-chapter-structure {
  --sjb-structure-columns: 3;
}

.sjb-chapter-structure--cols-2 {
  --sjb-structure-columns: 2;
}

.sjb-chapter-structure > .sjb-structure-card,
.sjb-chapter-structure > .block-editor-inner-blocks > .block-editor-block-list__layout > .wp-block {
  min-width: 0;
}

.sjb-chapter-structure > .block-editor-inner-blocks > .block-editor-block-list__layout,
.sjb-chapter-structure:not(.block-editor-block-list__block) {
  display: grid;
  grid-template-columns: repeat(var(--sjb-structure-columns), minmax(0, 1fr));
  gap: 18px;
}

.sjb-chapter-structure__head {
  grid-column: 1 / -1;
}

.sjb-structure-card {
  position: relative;
  min-height: 148px;
  border: 1px solid var(--sj-border);
  padding: 22px 24px;
  background: color-mix(in srgb, var(--sj-bg) 88%, white);
}

.sjb-structure-card a {
  color: inherit;
  text-decoration: none;
}

.sjb-structure-card__number {
  display: block;
  color: var(--sj-accent);
  font-family: var(--sj-serif);
  font-size: 2.45rem;
  font-style: italic;
  line-height: 1;
}

.sjb-structure-card__ref {
  position: absolute;
  top: 30px;
  right: 24px;
  color: var(--sj-green);
  font-family: var(--sj-mono);
  font-size: 0.78rem;
}

.sjb-structure-card h3 {
  margin: 12px 0 24px;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: 1.5rem;
  font-weight: 600;
}

.sjb-structure-card p {
  margin: 0;
  color: var(--sj-text-soft);
  font-size: 0.92rem;
  line-height: 1.5;
}

.sjb-progression-band {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 2.1fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
  max-width: none;
  width: 100%;
  padding: clamp(44px, 7vw, 86px) max(20px, calc((100% - var(--sj-max-width)) / 2));
  background: var(--sj-green-dark);
  color: var(--sj-bg);
}

.sjb-progression-band::after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -160px;
  width: 680px;
  height: 680px;
  max-width: 62vw;
  background: url("data:image/svg+xml,%3Csvg%20width%3D%22100%25%22%20height%3D%22100%25%22%20viewBox%3D%220%200%20918%20912%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20xml%3Aspace%3D%22preserve%22%20xmlns%3Aserif%3D%22http%3A%2F%2Fwww.serif.com%2F%22%20style%3D%22fill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bstroke-linejoin%3Around%3Bstroke-miterlimit%3A2%3B%22%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cpath%20d%3D%22M737.147%2C492.187c0.831%2C-1.173%201.651%2C-2.378%202.459%2C-3.622c6.373%2C-9.814%2011.199%2C-20.506%2014.477%2C-32.075c3.281%2C-11.574%203.814%2C-22.563%201.603%2C-32.964c-3.564%2C-16.765%20-10.486%2C-30.847%20-20.763%2C-42.256c-10.278%2C-11.409%20-26.97%2C-21.002%20-50.069%2C-28.777c-23.099%2C-7.775%20-56.168%2C-13.434%20-99.213%2C-16.969c-25.871%2C-2.357%20-50.46%2C-8.609%20-73.762%2C-18.757c-23.302%2C-10.148%20-43.207%2C-24.193%20-59.705%2C-42.132c-16.499%2C-17.943%20-27.577%2C-40.205%20-33.229%2C-66.794c-6.513%2C-30.636%20-5.011%2C-59.802%204.508%2C-87.501c9.515%2C-27.699%2026.354%2C-51.519%2050.51%2C-71.454c24.156%2C-19.935%2055.307%2C-33.957%2093.46%2C-42.068c36.991%2C-7.864%2069.69%2C-8.927%2098.099%2C-3.185c28.404%2C5.742%2052.656%2C17.502%2072.748%2C35.284c20.091%2C17.778%2036.219%2C41.085%2048.39%2C69.911l-105.504%2C45.085c-4.893%2C-11.649%20-11.47%2C-21.274%20-19.733%2C-28.881c-8.263%2C-7.608%20-18.553%2C-12.669%20-30.869%2C-15.19c-12.315%2C-2.516%20-26.565%2C-2.054%20-42.749%2C1.386c-16.765%2C3.564%20-31.305%2C11.186%20-43.622%2C22.867c-12.317%2C11.681%20-16.632%2C26.192%20-12.946%2C43.53c3.195%2C15.03%2012.026%2C26.746%2026.502%2C35.148c14.471%2C8.403%2039.533%2C15.459%2075.184%2C21.172l31.874%2C5.005c35.651%2C5.71%2067.188%2C14.111%2094.617%2C25.195c27.429%2C11.084%2050.155%2C26.342%2068.18%2C45.77c18.025%2C19.428%2030.417%2C45.037%2037.175%2C76.827c4.915%2C23.119%204.653%2C44.621%20-0.786%2C64.506c-5.439%2C19.884%20-13.773%2C37.516%20-25.006%2C52.895c-4.074%2C5.578%20-8.209%2C10.871%20-12.404%2C15.879c-13.791%2C-7.467%20-28.702%2C-13.544%20-44.733%2C-18.231c-14.464%2C-4.233%20-29.362%2C-7.432%20-44.691%2C-9.605Z%22%20style%3D%22fill%3A%23f4eedf%3Bfill-rule%3Anonzero%3B%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cg%3E%3Cpath%20d%3D%22M839.966%2C564.855c4.079%2C2.523%208.045%2C5.171%2011.9%2C7.94c16.46%2C11.827%2030.185%2C26.315%2041.183%2C43.462c10.995%2C17.145%2018.284%2C37.402%2021.861%2C60.767c5.369%2C35.046%201.304%2C67.054%20-12.193%2C96.026c-13.499%2C28.969%20-33.9%2C52.868%20-61.206%2C71.699c-27.305%2C18.827%20-59.653%2C31.107%20-97.037%2C36.832c-40.888%2C6.264%20-76.863%2C4.599%20-107.922%2C-4.991c-31.062%2C-9.59%20-57.177%2C-25.917%20-78.345%2C-48.978c-21.168%2C-23.061%20-37.651%2C-51.626%20-49.445%2C-85.687l107.519%2C-41.578c5.514%2C16.492%2013.56%2C30.953%2024.13%2C43.383c10.573%2C12.428%2023.64%2C21.635%2039.205%2C27.622c15.562%2C5.984%2032.983%2C7.502%2052.26%2C4.549c25.701%2C-3.936%2044.52%2C-12.797%2056.458%2C-26.584c11.936%2C-13.784%2016.116%2C-32.359%2012.536%2C-55.725c-2.148%2C-14.018%20-7.856%2C-24.949%20-17.129%2C-32.796c-9.271%2C-7.847%20-23.274%2C-14.369%20-42.004%2C-19.571c-18.733%2C-5.204%20-43.169%2C-10.575%20-73.313%2C-16.122l-23.988%2C-4.397c-32.658%2C-6.357%20-60.485%2C-16.293%20-83.478%2C-29.809c-22.996%2C-13.516%20-41.259%2C-30.298%20-54.79%2C-50.344c-13.534%2C-20.046%20-22.135%2C-42.044%20-25.802%2C-65.994c-5.01%2C-32.71%20-0.376%2C-61.966%2013.907%2C-87.768c14.282%2C-25.801%20126.844%2C-16.889%20117.2%2C-7.64c-9.644%2C9.249%20-16.726%2C19.6%20-21.251%2C31.054c-4.522%2C11.454%20-5.798%2C23.605%20-3.83%2C36.457c2.237%2C14.603%208.338%2C27.12%2018.305%2C37.55c9.967%2C10.43%2025.205%2C19.154%2045.707%2C26.177c20.505%2C7.023%2047.583%2C13.037%2081.229%2C18.046c6.983%2C0.963%2013.868%2C2.128%2020.654%2C3.49c15.18%2C3.049%2029.867%2C7.101%2044.066%2C12.153c15.738%2C5.602%2030.273%2C12.528%2043.612%2C20.773Z%22%20style%3D%22fill%3A%23d5a75a%3B%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%3E%3Cg%3E%3Cpath%20d%3D%22M322.172%2C518.594c0.831%2C-1.173%201.651%2C-2.378%202.459%2C-3.622c6.373%2C-9.814%2011.199%2C-20.506%2014.477%2C-32.075c3.281%2C-11.574%203.814%2C-22.563%201.603%2C-32.964c-3.564%2C-16.765%20-10.486%2C-30.847%20-20.763%2C-42.256c-10.278%2C-11.409%20-26.97%2C-21.002%20-50.069%2C-28.777c-23.099%2C-7.775%20-56.168%2C-13.434%20-99.213%2C-16.969c-25.871%2C-2.357%20-50.46%2C-8.609%20-73.762%2C-18.757c-23.302%2C-10.148%20-43.207%2C-24.193%20-59.705%2C-42.132c-16.499%2C-17.943%20-27.577%2C-40.205%20-33.229%2C-66.794c-6.513%2C-30.636%20-5.011%2C-59.802%204.508%2C-87.501c9.515%2C-27.699%2026.354%2C-51.519%2050.51%2C-71.454c24.156%2C-19.935%2055.307%2C-33.957%2093.46%2C-42.068c36.991%2C-7.864%2069.69%2C-8.927%2098.099%2C-3.185c28.404%2C5.742%2052.656%2C17.502%2072.748%2C35.284c20.091%2C17.778%2036.219%2C41.085%2048.39%2C69.911l-105.504%2C45.085c-4.893%2C-11.649%20-11.47%2C-21.274%20-19.733%2C-28.881c-8.263%2C-7.608%20-18.553%2C-12.669%20-30.869%2C-15.19c-12.315%2C-2.516%20-26.565%2C-2.054%20-42.749%2C1.386c-16.765%2C3.564%20-31.305%2C11.186%20-43.622%2C22.867c-12.317%2C11.681%20-16.632%2C26.192%20-12.946%2C43.53c3.195%2C15.03%2012.026%2C26.746%2026.502%2C35.148c14.471%2C8.403%2039.533%2C15.459%2075.184%2C21.172l31.874%2C5.005c35.651%2C5.71%2067.188%2C14.111%2094.617%2C25.195c27.429%2C11.084%2050.155%2C26.342%2068.18%2C45.77c18.025%2C19.428%2030.417%2C45.037%2037.175%2C76.827c4.915%2C23.119%204.653%2C44.621%20-0.786%2C64.506c-5.439%2C19.884%20-13.773%2C37.516%20-25.006%2C52.895c-4.074%2C5.578%20-8.209%2C10.871%20-12.404%2C15.879c-13.791%2C-7.467%20-28.702%2C-13.544%20-44.733%2C-18.231c-14.464%2C-4.233%20-29.362%2C-7.432%20-44.691%2C-9.605Z%22%20style%3D%22fill%3A%23d5a75a%3Bfill-rule%3Anonzero%3B%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cg%3E%3Cpath%20d%3D%22M424.991%2C591.263c4.079%2C2.523%208.045%2C5.171%2011.9%2C7.94c16.46%2C11.827%2030.185%2C26.315%2041.183%2C43.462c10.995%2C17.145%2018.284%2C37.402%2021.861%2C60.767c5.369%2C35.046%201.304%2C67.054%20-12.193%2C96.026c-13.499%2C28.969%20-33.9%2C52.868%20-61.206%2C71.699c-27.305%2C18.827%20-59.653%2C31.107%20-97.037%2C36.832c-40.888%2C6.264%20-76.863%2C4.599%20-107.922%2C-4.991c-31.062%2C-9.59%20-57.177%2C-25.917%20-78.345%2C-48.978c-21.168%2C-23.061%20-37.651%2C-51.626%20-49.445%2C-85.687l107.519%2C-41.578c5.514%2C16.492%2013.56%2C30.953%2024.13%2C43.383c10.573%2C12.428%2023.64%2C21.635%2039.205%2C27.622c15.562%2C5.984%2032.983%2C7.502%2052.26%2C4.549c25.701%2C-3.936%2044.52%2C-12.797%2056.458%2C-26.584c11.936%2C-13.784%2016.116%2C-32.359%2012.536%2C-55.725c-2.148%2C-14.018%20-7.856%2C-24.949%20-17.129%2C-32.796c-9.271%2C-7.847%20-23.274%2C-14.369%20-42.004%2C-19.571c-18.733%2C-5.204%20-43.169%2C-10.575%20-73.313%2C-16.122l-23.988%2C-4.397c-32.658%2C-6.357%20-60.485%2C-16.293%20-83.478%2C-29.809c-22.996%2C-13.516%20-41.259%2C-30.298%20-54.79%2C-50.344c-13.534%2C-20.046%20-22.135%2C-42.044%20-25.802%2C-65.994c-5.01%2C-32.71%20-0.376%2C-61.966%2013.907%2C-87.768c14.282%2C-25.801%20126.844%2C-16.889%20117.2%2C-7.64c-9.644%2C9.249%20-16.726%2C19.6%20-21.251%2C31.054c-4.522%2C11.454%20-5.798%2C23.605%20-3.83%2C36.457c2.237%2C14.603%208.338%2C27.12%2018.305%2C37.55c9.967%2C10.43%2025.205%2C19.154%2045.707%2C26.177c20.505%2C7.023%2047.583%2C13.037%2081.229%2C18.046c6.983%2C0.963%2013.868%2C2.128%2020.654%2C3.49c15.18%2C3.049%2029.867%2C7.101%2044.066%2C12.153c15.738%2C5.602%2030.273%2C12.528%2043.612%2C20.773Z%22%20style%3D%22fill%3A%23f4eedf%3B%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center / contain;
  opacity: 0.07;
  transform: rotate(-6deg);
  transform-origin: bottom right;
  pointer-events: none;
  z-index: 0;
}
.sjb-progression-band .sjb-progression-step { position: relative; z-index: 1; }

.sjb-progression-band__intro {
  position: relative;
  z-index: 1;
  align-self: start;
}

.sjb-progression-band h2 {
  margin: 4px 0 18px;
  font-family: var(--sj-serif);
  font-size: clamp(2rem, 4vw, 3.35rem);
  font-weight: 500;
  line-height: 1.05;
}

.sjb-progression-band__intro p:not(.sjb-eyebrow) {
  max-width: 560px;
  color: color-mix(in srgb, var(--sj-bg) 72%, transparent);
  line-height: 1.55;
}

.sjb-progression-band > .block-editor-inner-blocks > .block-editor-block-list__layout,
.sjb-progression-band:not(.block-editor-block-list__block) {
  position: relative;
  z-index: 1;
}

.sjb-progression-band > .block-editor-inner-blocks > .block-editor-block-list__layout,
.sjb-progression-band:not(.block-editor-block-list__block) {
  display: grid;
  grid-template-columns: repeat(5, minmax(170px, 1fr));
  gap: 16px;
  align-items: end;
}

.sjb-progression-band:not(.block-editor-block-list__block) > .sjb-progression-band__intro {
  grid-column: 1 / -1;
  max-width: 720px;
}

.sjb-progression-step {
  min-height: 138px;
  border: 1px solid rgba(244, 238, 223, 0.22);
  padding: 18px;
  background: rgba(244, 238, 223, 0.045);
}

.sjb-progression-step.is-highlighted {
  min-height: 190px;
  border-color: var(--sj-accent);
  background: var(--sj-accent);
  color: var(--sj-green-dark);
}

.sjb-progression-step__number {
  color: var(--sj-accent-soft);
  font-family: var(--sj-serif);
  font-size: 2rem;
  font-style: italic;
  line-height: 1;
}

.sjb-progression-step.is-highlighted .sjb-progression-step__number {
  color: var(--sj-green-dark);
}

.sjb-progression-step h3 {
  margin: 12px 0 6px;
  font-family: var(--sj-serif);
  font-size: 1.1rem;
}

.sjb-progression-step p {
  margin: 0;
  color: inherit;
  font-size: 0.82rem;
  line-height: 1.45;
}

.sjb-progression-step__ref {
  color: color-mix(in srgb, currentColor 78%, transparent);
  font-family: var(--sj-mono);
  font-size: 0.7rem;
}

.sjb-concept-grid {
  padding-top: clamp(36px, 6vw, 72px);
  padding-bottom: clamp(36px, 6vw, 72px);
}

.sjb-concept-grid > .block-editor-inner-blocks > .block-editor-block-list__layout,
.sjb-concept-grid:not(.block-editor-block-list__block) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
  border-top: 1px solid var(--sj-border);
  border-left: 1px solid var(--sj-border);
}

.sjb-concept-grid > .sjb-eyebrow,
.sjb-concept-grid > h2 {
  grid-column: 1 / -1;
}

.sjb-concept-card {
  min-height: 96px;
  border-right: 1px solid var(--sj-border);
  border-bottom: 1px solid var(--sj-border);
  padding: 20px 24px;
}

.sjb-concept-card h3 {
  margin: 0 0 8px;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: 1.32rem;
  font-style: italic;
  font-weight: 500;
}

.sjb-concept-card p {
  margin: 0;
  color: var(--sj-text-soft);
  font-size: 0.9rem;
  line-height: 1.45;
}

.sjb-paragraph-walkthrough {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: clamp(28px, 4vw, 54px);
  align-items: start;
  padding-top: clamp(36px, 6vw, 72px);
  padding-bottom: clamp(36px, 6vw, 72px);
}

.sjb-paragraph-walkthrough--stacked {
  grid-template-columns: minmax(0, 1fr);
}

.sjb-paragraph-walkthrough > .sjb-eyebrow,
.sjb-paragraph-walkthrough > h2,
.sjb-paragraph-walkthrough > .sjb-section-intro,
.sjb-paragraph-section,
.sjb-comparison-box,
.sjb-checklist-box {
  grid-column: 1;
}

.sjb-source-support-rail {
  grid-column: 2;
  grid-row: 1 / span 80;
}

.sjb-paragraph-walkthrough--stacked .sjb-source-support-rail {
  grid-column: 1;
  grid-row: auto;
}

.sjb-paragraph-walkthrough > h2 {
  margin: 0;
  border-bottom: 2px solid var(--sj-green-dark);
  padding-bottom: 20px;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
}

.sjb-paragraph-section {
  scroll-margin-top: 96px;
  padding: 20px 0 28px;
}

.sjb-paragraph-section__head {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: baseline;
}

.sjb-paragraph-section__paragraph {
  color: var(--sj-accent);
  font-family: var(--sj-serif);
  font-size: clamp(3.5rem, 6vw, 6rem);
  font-style: italic;
  line-height: 0.95;
}

.sjb-paragraph-section h3 {
  margin: 0;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: clamp(2rem, 3.5vw, 3.5rem);
  font-weight: 600;
  line-height: 1.0;
}

.sjb-paragraph-section__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 20px;
}

.sjb-paragraph-section__tags mark {
  border: 1px solid var(--sj-accent);
  padding: 4px 9px;
  background: transparent;
  color: var(--sj-accent);
  font-family: var(--sj-mono);
  font-size: 0.68rem;
  text-transform: uppercase;
  border-radius: 0;
}

.sjb-paragraph-section__core {
  color: var(--sj-green);
  font-family: var(--sj-serif);
  font-size: 1.18rem;
  line-height: 1.55;
}

.sjb-paragraph-section__body {
  color: var(--sj-text-soft);
  line-height: 1.65;
}

.sjb-editorial-inline {
  border-left: 3px solid var(--sj-green);
  margin-top: 18px;
  padding: 14px 18px;
  background: var(--sj-surface-muted);
  color: var(--sj-green);
  font-family: var(--sj-serif);
  font-style: italic;
}

.sjb-source-support-rail__inner.is-sticky {
  position: sticky;
  top: var(--wp-admin--admin-bar--height, 24px);
}

.sjb-source-support-rail__head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--sj-border);
  margin-bottom: 16px;
  padding-bottom: 14px;
  color: var(--sj-text-muted);
  font-family: var(--sj-mono);
  font-size: 0.72rem;
}

.sjb-source-support-card {
  border: 1px solid var(--sj-border);
  border-left: 4px solid var(--sj-green);
  margin-bottom: 14px;
  padding: 18px;
  background: color-mix(in srgb, var(--sj-bg) 88%, white);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.sjb-source-support-card.is-active {
  border-color: var(--sj-green-dark);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--sj-green) 18%, transparent);
  transform: translateX(-2px);
}

.sjb-source-support-card.is-dom {
  border-left-color: var(--sj-ink);
}

.sjb-source-support-card.is-tillsyn,
.sjb-source-support-card.is-skolinspektionen {
  border-left-color: var(--sj-blue);
}

.sjb-source-support-card.is-tillsyn .sjb-source-support-card__type,
.sjb-source-support-card.is-skolinspektionen .sjb-source-support-card__type {
  color: var(--sj-blue);
}

.sjb-source-support-card.is-proposition,
.sjb-source-support-card.is-forarbete {
  border-left-color: var(--sj-accent);
}

.sjb-source-support-card h3 {
  margin: 6px 0 8px;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: 1.08rem;
}

.sjb-source-support-card blockquote {
  border-left: 2px solid var(--sj-border);
  margin: 10px 0;
  padding-left: 12px;
  color: var(--sj-green);
  font-family: var(--sj-serif);
  font-size: 0.92rem;
  font-style: italic;
  line-height: 1.45;
}

.sjb-source-support-card p {
  margin: 0 0 10px;
  color: var(--sj-text-soft);
  font-size: 0.86rem;
  line-height: 1.5;
}

.sjb-source-support-rail__legend {
  border-top: 1px solid var(--sj-border);
  margin-top: 16px;
  padding-top: 16px;
  color: var(--sj-text-muted);
  font-family: var(--sj-mono);
  font-size: 0.75rem;
  line-height: 1.7;
}

.sjb-comparison-box,
.sjb-checklist-box {
  border: 1px solid var(--sj-green-dark);
  margin-top: 24px;
  margin-bottom: 28px;
  background: transparent;
}

.sjb-comparison-box__label {
  border-bottom: 1px solid var(--sj-border);
  margin: 0;
  padding: 12px 18px;
  background: var(--sj-surface-muted);
}

.sjb-comparison-box__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sjb-comparison-box article {
  padding: 22px 24px;
}

.sjb-comparison-box article + article {
  border-left: 1px solid var(--sj-border);
}

.sjb-comparison-box h3,
.sjb-checklist-box h2 {
  margin: 0 0 16px;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: 1.42rem;
  font-weight: 500;
}

.sjb-comparison-box ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sjb-comparison-box li::before {
  content: "–";
  margin-right: 10px;
  color: var(--sj-accent);
}

.sjb-checklist-box {
  padding: 28px 34px;
  background: var(--sj-surface-muted);
}

.sjb-checklist-box h2::before {
  content: "✓";
  margin-right: 8px;
  color: var(--sj-accent);
}

.sjb-checklist-box__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 72px;
}

.sjb-checklist-box label {
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--sj-text);
}

.sjb-checklist-box label span {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 2px solid var(--sj-green);
}

.sjb-decisive-cases {
  padding-top: clamp(36px, 6vw, 72px);
  padding-bottom: clamp(36px, 6vw, 72px);
}

.sjb-decisive-cases > .block-editor-inner-blocks > .block-editor-block-list__layout,
.sjb-decisive-cases:not(.block-editor-block-list__block) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 26px;
}

.sjb-decisive-case-card {
  border: 1px solid var(--sj-border);
  border-top: 4px solid var(--sj-ink);
  padding: 24px;
  background: color-mix(in srgb, var(--sj-bg) 90%, white);
}

.sjb-decisive-case-card.is-tillsyn,
.sjb-decisive-case-card.is-skolinspektionen {
  border-top-color: var(--sj-blue);
}

.sjb-decisive-case-card h3 {
  margin: 6px 0 12px;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: 1.42rem;
}

.sjb-decisive-case-card blockquote {
  border-left: 2px solid var(--sj-border);
  margin: 16px 0;
  padding-left: 12px;
  color: var(--sj-green);
  font-family: var(--sj-serif);
  font-style: italic;
}

.sjb-related-reading {
  padding-top: clamp(24px, 4vw, 44px);
  padding-bottom: clamp(36px, 6vw, 72px);
}

.sjb-related-reading > .block-editor-inner-blocks > .block-editor-block-list__layout,
.sjb-related-reading:not(.block-editor-block-list__block) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.sjb-related-reading > .sjb-eyebrow {
  grid-column: 1 / -1;
}

.sjb-related-reading-card {
  border: 1px solid var(--sj-border);
  min-height: 128px;
  background: color-mix(in srgb, var(--sj-bg) 90%, white);
}

.sjb-related-reading-card a {
  display: grid;
  height: 100%;
  padding: 22px 24px;
  color: inherit;
  text-decoration: none;
}

.sjb-related-reading-card p {
  margin: 0;
  color: var(--sj-accent);
  font-family: var(--sj-mono);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.sjb-related-reading-card h3 {
  margin: 8px 0 auto;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: 1.45rem;
}

.sjb-related-reading-card span {
  color: var(--sj-green);
  font-size: 1.5rem;
}

.sjb-hero {
  display: grid;
  gap: 28px;
  padding-top: clamp(48px, 7vw, 92px);
  padding-bottom: clamp(44px, 6vw, 78px);
  border-bottom: 1px solid var(--sj-border-strong);
}

.sjb-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
  gap: clamp(28px, 5vw, 58px);
  align-items: start;
}

.sjb-hero-title {
  grid-column: 1;
  max-width: 760px;
  margin: 0;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: clamp(3rem, 7vw, 5.6rem);
  font-weight: 500;
  line-height: 0.96;
}

.sjb-hero-intro {
  grid-column: 1;
  max-width: 680px;
  color: var(--sj-text-soft);
  font-size: 1.1rem;
  line-height: 1.68;
}

.sjb-search-panel {
  grid-column: 2;
  grid-row: span 4;
  display: grid;
  gap: 16px;
  border: 1px solid var(--sj-green-dark);
  background: var(--sj-surface-muted);
  padding: 24px;
  box-shadow: var(--sj-shadow-md);
}

.sjb-search-panel__heading,
.sjb-question-box h2 {
  margin: 0;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  font-weight: 500;
  line-height: 1.05;
}

.sjb-search-panel__box {
  display: grid;
  gap: 10px;
  border: 1px solid var(--sj-border);
  background: var(--sj-bg);
  padding: 16px;
}

.sjb-search-panel__placeholder,
.sjb-search-panel__example {
  margin: 0;
  color: var(--sj-text-soft);
  line-height: 1.55;
}

.sjb-button,
.sjb-card-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border: 1px solid var(--sj-green-dark);
  background: var(--sj-accent);
  color: var(--sj-green-dark);
  padding: 9px 14px;
  font-weight: 650;
  text-decoration: none;
  transition: background 150ms ease-out, color 150ms ease-out, transform 150ms ease-out;
}

.sjb-button:hover,
.sjb-card-link:hover {
  background: var(--sj-green-dark);
  color: var(--sj-bg);
  transform: translateY(-1px);
}

.sjb-button:focus-visible,
.sjb-card-link:focus-visible,
.sjb-caput-card a:focus-visible,
.sjb-marginalia-note a:focus-visible {
  outline: 3px solid rgba(176, 122, 31, 0.45);
  outline-offset: 3px;
}

.sjb-ledger-stat {
  display: flex;
  align-items: baseline;
  gap: 10px;
  border-top: 1px solid var(--sj-border);
  padding-top: 12px;
}

.sjb-ledger-stat strong {
  color: var(--sj-green-dark);
  font-family: var(--sj-mono);
  font-size: 1rem;
}

.sjb-ledger-stat span {
  color: var(--sj-text-muted);
  font-family: var(--sj-mono);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.sjb-weekly-questions {
  grid-column: 1;
  margin: 8px 0 0;
  padding-left: 1.2rem;
  color: var(--sj-text-soft);
}

.sjb-latest-update {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  border-top: 1px solid var(--sj-border-strong);
  border-bottom: 1px solid var(--sj-border-strong);
  background: var(--sj-green-dark);
  color: var(--sj-bg);
  padding: 12px 16px;
}

.sjb-latest-update strong {
  color: var(--sj-accent-soft);
  font-family: var(--sj-mono);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.sjb-latest-update p {
  margin: 0;
  color: var(--sj-bg);
}

.sjb-caput-grid {
  display: grid;
  gap: 22px;
  padding-top: 52px;
  padding-bottom: 56px;
}

.sjb-caput-grid > h2,
.sjb-case-list h2,
.sjb-measure-staircase h2,
.sjb-download-material h2,
.sjb-legal-article h2 {
  margin: 0;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 500;
  line-height: 1.05;
}

.sjb-section-intro {
  max-width: 720px;
  color: var(--sj-text-soft);
  font-size: 1.02rem;
  line-height: 1.6;
}

.sjb-caput-card {
  position: relative;
  display: grid;
  gap: 12px;
  min-height: 270px;
  border: 1px solid var(--sj-border);
  background: var(--sj-surface);
  padding: 22px;
  box-shadow: var(--sj-shadow-sm);
}

.sjb-caput-grid--cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sjb-caput-grid--cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sjb-caput-grid > .sjb-eyebrow,
.sjb-caput-grid > h2,
.sjb-caput-grid > .sjb-section-intro {
  grid-column: 1 / -1;
}

.sjb-caput-card__roman {
  color: var(--sj-green);
  font-family: var(--sj-serif);
  font-size: 3.2rem;
  font-style: italic;
  line-height: 0.9;
}

.sjb-caput-card h3,
.sjb-source-card h3,
.sjb-case-row h3,
.sjb-measure-step h3 {
  margin: 0;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.14;
}

.sjb-caput-card p {
  margin: 0;
  color: var(--sj-text-soft);
  line-height: 1.5;
}

.sjb-caput-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
  border-top: 1px dotted var(--sj-border-strong);
  padding-top: 12px;
}

.sjb-caput-card__badge {
  position: absolute;
  top: 18px;
  right: 18px;
  background: var(--sj-green-soft);
  color: var(--sj-green-dark);
  padding: 4px 8px;
  font-family: var(--sj-mono);
  font-size: 0.68rem;
  text-transform: uppercase;
}

.sjb-legal-article {
  display: grid;
  grid-template-columns: 150px minmax(0, 760px);
  gap: clamp(24px, 5vw, 54px);
  align-items: start;
  padding-top: 50px;
  padding-bottom: 58px;
}

.sjb-legal-article--two-column {
  grid-template-columns: 150px minmax(0, 1fr);
}

.sjb-section-marker {
  position: sticky;
  top: 24px;
  display: grid;
  gap: 8px;
  border-top: 1px solid var(--sj-border-strong);
  padding-top: 12px;
}

.sjb-section-marker span {
  color: var(--sj-green);
  font-family: var(--sj-serif);
  font-size: 3.4rem;
  font-style: italic;
  line-height: 0.9;
}

.sjb-section-marker small {
  color: var(--sj-text-muted);
  font-family: var(--sj-mono);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.sjb-legal-article__content {
  color: var(--sj-text);
  font-size: 1.05rem;
  line-height: 1.76;
}

.sjb-legal-article__content blockquote,
.sjb-source-card__excerpt {
  margin: 22px 0;
  border-left: 4px solid var(--sj-law-border);
  background: var(--sj-law-bg);
  padding: 18px 20px;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: 1.18rem;
  line-height: 1.45;
}

.sjb-summary {
  border-top: 1px solid var(--sj-border);
  padding-top: 14px;
  color: var(--sj-green-dark);
  font-weight: 600;
}

.sjb-marginalia-panel {
  display: grid;
  gap: 12px;
  border-top: 1px solid var(--sj-border-strong);
  padding-top: 16px;
}

.sjb-marginalia-panel.is-sticky {
  position: sticky;
  top: 24px;
}

.sjb-marginalia-note {
  border-bottom: 1px dotted var(--sj-border-strong);
  padding: 12px 0;
}

.sjb-marginalia-note a {
  color: inherit;
  text-decoration: none;
}

.sjb-marginalia-note strong {
  display: block;
  color: var(--sj-green);
  font-family: var(--sj-mono);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.sjb-marginalia-note p {
  margin: 6px 0 0;
  color: var(--sj-text-soft);
  font-family: var(--sj-serif);
  font-size: 0.95rem;
  font-style: italic;
  line-height: 1.45;
}

.sjb-source-card {
  --source-bg: var(--sj-law-bg);
  --source-border: var(--sj-law-border);
  display: grid;
  gap: 12px;
  border: 1px solid var(--source-border);
  background: var(--sj-surface);
  padding: 22px;
  box-shadow: var(--sj-shadow-sm);
}

.sjb-source-card__type {
  width: fit-content;
  background: var(--source-bg);
  color: var(--source-border);
  padding: 4px 9px;
}

.is-skolinspektionen,
.is-tillsyn,
.is-rapport,
.is-lagandring {
  --source-bg: var(--sj-tillsyn-bg);
  --source-border: var(--sj-tillsyn-border);
}

.is-hfd,
.is-jo,
.is-praxis,
.is-beo,
.is-forvaltningsratt,
.is-kammarratt {
  --source-bg: var(--sj-praxis-bg);
  --source-border: var(--sj-praxis-border);
}

.is-mall,
.is-arbetsmiljoverket,
.is-arbetsmiljolagen,
.is-skollagen,
.is-skolforordning,
.is-gymnasieforordning,
.is-allmanna-rad,
.is-kommentar {
  --source-bg: var(--sj-template-bg);
  --source-border: var(--sj-template-border);
}

.sjb-source-card__commentary {
  margin: 0;
  border-top: 1px solid var(--sj-border);
  padding-top: 12px;
  color: var(--sj-text-soft);
  line-height: 1.58;
}

.sjb-case-list {
  display: grid;
  gap: 14px;
  padding-top: 48px;
  padding-bottom: 54px;
}

.sjb-case-row {
  display: grid;
  gap: 12px;
  border: 1px solid var(--sj-border);
  border-left: 5px solid var(--source-border, var(--sj-law-border));
  background: var(--sj-surface);
  padding: 18px;
}

.sjb-case-row__meta,
.sjb-case-row__foot {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.sjb-case-row mark {
  background: var(--source-bg, var(--sj-law-bg));
  color: var(--source-border, var(--sj-law-border));
  padding: 3px 8px;
}

.sjb-case-row p {
  margin: 0;
  color: var(--sj-text-soft);
  line-height: 1.58;
}

.sjb-count-label {
  width: fit-content;
  margin-left: auto;
  color: var(--sj-green);
}

.sjb-measure-staircase {
  position: relative;
  display: grid;
  gap: 18px;
  padding-top: 48px;
  padding-bottom: 54px;
}

.sjb-measure-staircase > h2,
.sjb-measure-staircase > p {
  grid-column: 1 / -1;
}

.sjb-measure-step {
  position: relative;
  display: grid;
  gap: 10px;
  border: 1px solid var(--sj-border);
  border-top: 4px solid var(--sj-green);
  background: var(--sj-surface);
  padding: 18px;
}

.sjb-measure-staircase--left-right,
.sjb-measure-staircase--staircase {
  grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr);
}

.sjb-measure-staircase--left-right::before,
.sjb-measure-staircase--staircase::before {
  content: "";
  position: absolute;
  top: 150px;
  bottom: 48px;
  left: 50%;
  width: 1px;
  background: var(--sj-border-strong);
}

.sjb-measure-staircase--left-right .sjb-measure-step:nth-of-type(odd),
.sjb-measure-staircase--staircase .sjb-measure-step:nth-of-type(odd) {
  grid-column: 1;
}

.sjb-measure-staircase--left-right .sjb-measure-step:nth-of-type(even),
.sjb-measure-staircase--staircase .sjb-measure-step:nth-of-type(even) {
  grid-column: 3;
  margin-top: 44px;
}

.sjb-measure-staircase--diagonal {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: start;
}

.sjb-measure-staircase--diagonal .sjb-measure-step {
  grid-column: span 3;
}

.sjb-measure-staircase--diagonal .sjb-measure-step:nth-of-type(1) { grid-column: 1 / span 3; }
.sjb-measure-staircase--diagonal .sjb-measure-step:nth-of-type(2) { grid-column: 2 / span 3; }
.sjb-measure-staircase--diagonal .sjb-measure-step:nth-of-type(3) { grid-column: 3 / span 3; }
.sjb-measure-staircase--diagonal .sjb-measure-step:nth-of-type(4) { grid-column: 4 / span 3; }
.sjb-measure-staircase--diagonal .sjb-measure-step:nth-of-type(5) { grid-column: 2 / span 3; }
.sjb-measure-staircase--diagonal .sjb-measure-step:nth-of-type(6) { grid-column: 3 / span 3; }

.sjb-measure-staircase--timeline .sjb-measure-step {
  margin-left: 36px;
}

.sjb-measure-staircase--timeline .sjb-measure-step::before {
  content: "";
  position: absolute;
  top: 20px;
  left: -26px;
  width: 12px;
  height: 12px;
  border: 1px solid var(--sj-accent);
  background: var(--sj-bg);
}

.sjb-measure-staircase--compact-list .sjb-measure-step {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.sjb-measure-step__number {
  color: var(--sj-green);
  font-family: var(--sj-serif);
  font-size: 2.1rem;
  font-style: italic;
  line-height: 1;
}

.sjb-measure-step p {
  margin: 0;
  color: var(--sj-text-soft);
  line-height: 1.55;
}

.sjb-measure-step__warning {
  border-top: 1px solid var(--sj-warning-border);
  background: var(--sj-warning-bg);
  padding: 10px;
  color: var(--sj-warning-border);
}

.sjb-measure-step__doc,
.sjb-measure-step__role,
.sjb-measure-step__source {
  border-top: 1px dotted var(--sj-border);
  padding-top: 8px;
  font-size: 0.92rem;
}

.sjb-measure-step.is-preventive { border-top-color: var(--sj-green); }
.sjb-measure-step.is-conversation { border-top-color: var(--sj-accent-soft); }
.sjb-measure-step.is-guardian { border-top-color: var(--sj-accent); }
.sjb-measure-step.is-principal { border-top-color: var(--sj-green-dark); }
.sjb-measure-step.is-disciplinary { border-top-color: var(--sj-rust); }
.sjb-measure-step.is-documentation { border-top-color: var(--sj-template-border); }
.sjb-measure-step.is-organizer { border-top-color: var(--sj-praxis-border); }

.sjb-download-material {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  gap: 16px;
  padding-top: 42px;
  padding-bottom: 50px;
}

.sjb-download-material > h2,
.sjb-download-material > .sjb-section-intro {
  grid-column: 1 / -1;
}

.sjb-download-card {
  display: grid;
  gap: 10px;
  border: 1px solid var(--sj-border);
  background: var(--sj-surface);
  padding: 18px;
  box-shadow: var(--sj-shadow-sm);
}

.sjb-download-card strong {
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: 1.2rem;
}

.sjb-file-type {
  width: fit-content;
  background: var(--sj-template-bg);
  color: var(--sj-template-border);
  padding: 3px 8px;
}

.sjb-prototype-notice {
  display: grid;
  gap: 12px;
  border: 1px solid var(--sj-warning-border);
  background: var(--sj-warning-bg);
  padding: 22px;
  color: var(--sj-text);
}

.sjb-prototype-notice h2 {
  margin: 0;
  color: var(--sj-warning-border);
  font-family: var(--sj-serif);
  font-size: 1.7rem;
  line-height: 1.1;
}

.sjb-prototype-notice p {
  margin: 0;
  color: var(--sj-text-soft);
  line-height: 1.6;
}

.sjb-prototype-notice[hidden] {
  display: none;
}

.sjb-article-hero,
.sjb-guide-search,
.sjb-area-register,
.sjb-weekly-decision,
.sjb-supervision-feed,
.sjb-law-commentary,
.sjb-decision-analysis,
.sjb-source-panel,
.sjb-practical-conclusion,
.sjb-responsibility-chain,
.sjb-editorial-note {
  display: grid;
  gap: 18px;
  margin-top: 32px;
  margin-bottom: 32px;
}

.sjb-article-hero h1,
.sjb-weekly-decision h2,
.sjb-law-commentary h2,
.sjb-decision-analysis h2 {
  margin: 0;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-weight: 500;
  line-height: 1.02;
}

.sjb-article-hero__meta,
.sjb-article-hero__details,
.sjb-weekly-decision__meta,
.sjb-decision-analysis__meta,
.sjb-law-commentary__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.sjb-article-hero__dek,
.sjb-guide-search__text,
.sjb-weekly-decision__summary,
.sjb-practical-conclusion__lead {
  max-width: 820px;
  margin: 0;
  color: var(--sj-text-soft);
  font-size: 1.12rem;
  line-height: 1.62;
}

.sjb-article-hero--split {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
}

.sjb-article-hero--split .sjb-article-hero__sources {
  grid-column: 2;
  grid-row: 1 / span 4;
}

.sjb-article-hero__sources,
.sjb-weekly-decision__marginalia,
.sjb-editorial-note,
.sjb-practical-conclusion {
  border-left: 4px solid var(--sj-accent);
  background: var(--sj-surface-muted);
  padding: 18px;
}

.sjb-guide-search__box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--sj-green-dark);
  background: var(--sj-bg);
  padding: 18px;
}

.sjb-guide-search__box kbd {
  border: 1px solid var(--sj-border);
  background: var(--sj-surface-muted);
  padding: 3px 7px;
  font-family: var(--sj-mono);
}

.sjb-guide-search--sidebar {
  max-width: 420px;
}

.sjb-area-register {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sjb-area-register--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sjb-area-register--cols-auto { grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr)); }

.sjb-area-register > .sjb-eyebrow,
.sjb-area-register > h2,
.sjb-area-register > .sjb-section-intro {
  grid-column: 1 / -1;
}

.sjb-area-card {
  position: relative;
  display: grid;
  gap: 12px;
  min-height: 260px;
  border: 1px solid var(--sj-border);
  background: var(--sj-bg);
  padding: 22px;
}

.sjb-area-card__roman {
  color: var(--sj-green);
  font-family: var(--sj-serif);
  font-size: 3.4rem;
  font-style: italic;
  line-height: 0.9;
}

.sjb-area-card h3,
.sjb-marginalia-entry h3,
.sjb-source-entry strong,
.sjb-responsibility-role strong {
  margin: 0;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.15;
}

.sjb-area-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
  border-top: 1px dotted var(--sj-border);
  padding-top: 12px;
}

.sjb-area-card mark {
  position: absolute;
  top: 16px;
  right: 16px;
  background: var(--sj-surface-muted);
  color: var(--sj-green-dark);
  padding: 3px 8px;
  font-family: var(--sj-mono);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.sjb-marginalia {
  display: grid;
  gap: 12px;
  border-top: 1px solid var(--sj-border-strong);
}

.sjb-marginalia--sticky {
  position: sticky;
  top: 24px;
}

.sjb-marginalia--cards {
  border-top: 0;
}

.sjb-marginalia-entry {
  border-bottom: 1px dotted var(--sj-border);
  padding: 12px 0;
}

.sjb-marginalia--cards .sjb-marginalia-entry {
  border: 1px solid var(--sj-border);
  background: var(--sj-bg);
  padding: 16px;
}

.sjb-marginalia-entry a,
.sjb-supervision-item a,
.sjb-source-entry a {
  color: inherit;
  text-decoration: none;
}

.sjb-marginalia-entry strong {
  color: var(--sj-accent);
  font-family: var(--sj-mono);
  font-size: 0.78rem;
}

.sjb-weekly-decision__grid,
.sjb-decision-analysis__grid,
.sjb-practical-conclusion__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.sjb-weekly-decision__grid p,
.sjb-analysis-field,
.sjb-practical-conclusion__grid p {
  margin: 0;
  border-top: 1px solid var(--sj-border);
  padding-top: 12px;
  line-height: 1.55;
}

.sjb-analysis-field--conclusion {
  border-top-color: var(--sj-accent);
  color: var(--sj-green-dark);
  font-weight: 650;
}

.sjb-supervision-feed__items {
  display: grid;
  gap: 10px;
}

.sjb-supervision-feed--ticker .sjb-supervision-feed__items,
.sjb-supervision-feed--strip .sjb-supervision-feed__items {
  display: flex;
  gap: 14px;
  overflow-x: auto;
}

.sjb-supervision-item {
  min-width: min(420px, 100%);
  border-top: 1px solid var(--sj-border);
  padding: 12px 0;
}

.sjb-supervision-feed--cards .sjb-supervision-item {
  border: 1px solid var(--sj-border);
  background: var(--sj-bg);
  padding: 16px;
}

.sjb-law-commentary {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.sjb-law-commentary__meta {
  grid-column: 1 / -1;
}

.sjb-law-commentary__law {
  margin: 0;
  border-left: 4px solid var(--sj-green-dark);
  background: var(--sj-surface-muted);
  padding: 22px;
  color: var(--sj-green-dark);
  font-family: var(--sj-serif);
  font-size: 1.25rem;
  line-height: 1.5;
}

.sjb-law-commentary__commentary,
.sjb-law-commentary__practical,
.sjb-law-commentary__misunderstanding,
.sjb-law-commentary__related {
  margin: 0;
  line-height: 1.62;
}

.sjb-law-commentary--compact {
  grid-template-columns: 1fr;
}

.sjb-source-panel {
  display: grid;
  gap: 12px;
}

.sjb-source-panel--cards {
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
}

.sjb-source-panel > h2 {
  grid-column: 1 / -1;
}

.sjb-source-entry {
  border-left: 4px solid var(--source-border, var(--sj-green-dark));
  background: var(--sj-bg);
  padding: 14px 16px;
}

.sjb-responsibility-chain {
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
}

.sjb-responsibility-chain > h2 {
  grid-column: 1 / -1;
}

.sjb-responsibility-chain--vertical,
.sjb-responsibility-chain--matrix {
  grid-template-columns: 1fr;
}

.sjb-responsibility-role {
  position: relative;
  border: 1px solid var(--sj-border);
  background: var(--sj-bg);
  padding: 18px;
}

.sjb-responsibility-chain--horizontal .sjb-responsibility-role:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: 18px;
  right: -18px;
  color: var(--sj-accent);
  font-family: var(--sj-mono);
}

.sjb-editorial-note {
  max-width: 860px;
}

.sjb-bg-none { background: transparent !important; }
.sjb-bg-paper { background: var(--sj-bg) !important; }
.sjb-bg-white { background: #fff !important; }
.sjb-bg-warm { background: var(--sj-surface-muted) !important; }
.sjb-bg-green-soft { background: color-mix(in srgb, var(--sj-green) 10%, var(--sj-bg)) !important; }
.sjb-bg-lavender { background: #ede6f2 !important; }
.sjb-bg-dark-green { background: var(--sj-green-dark) !important; color: var(--sj-bg); }
.sjb-bg-custom { background: var(--sjb-custom-bg, var(--sj-bg)) !important; }
.sjb-border-none { border-color: transparent !important; }
.sjb-border-subtle { border: 1px solid var(--sj-border) !important; }
.sjb-border-strong { border: 1px solid var(--sj-border-strong) !important; }
.sjb-border-left-accent { border: 1px solid var(--sj-border) !important; border-left: 5px solid var(--sj-accent) !important; }
.sjb-border-top-accent { border: 1px solid var(--sj-border) !important; border-top: 5px solid var(--sj-accent) !important; }
.sjb-border-frame { border: 1px solid var(--sj-green-dark) !important; }
.sjb-shadow-none { box-shadow: none !important; }
.sjb-shadow-subtle { box-shadow: 0 8px 22px rgba(16, 34, 24, 0.08) !important; }
.sjb-shadow-editorial { box-shadow: 6px 6px 0 var(--sj-green-dark) !important; }
.sjb-shadow-raised { box-shadow: 0 18px 45px rgba(16, 34, 24, 0.16) !important; }
:is(.sjb-caput-card, .sjb-area-card, .sjb-source-card, .sjb-case-row, .sjb-measure-step, .sjb-download-card, .sjb-marginalia-entry, .sjb-source-entry, .sjb-supervision-item, .sjb-responsibility-role, .sjb-editorial-note).sjb-spacing-compact { padding: 14px !important; }
:is(.sjb-caput-card, .sjb-area-card, .sjb-source-card, .sjb-case-row, .sjb-measure-step, .sjb-download-card, .sjb-marginalia-entry, .sjb-source-entry, .sjb-supervision-item, .sjb-responsibility-role, .sjb-editorial-note).sjb-spacing-normal { padding: 22px !important; }
:is(.sjb-caput-card, .sjb-area-card, .sjb-source-card, .sjb-case-row, .sjb-measure-step, .sjb-download-card, .sjb-marginalia-entry, .sjb-source-entry, .sjb-supervision-item, .sjb-responsibility-role, .sjb-editorial-note).sjb-spacing-airy { padding: clamp(28px, 5vw, 54px) !important; }
:is(.sjb-caput-card, .sjb-area-card, .sjb-source-card, .sjb-case-row, .sjb-measure-step, .sjb-download-card, .sjb-marginalia-entry, .sjb-source-entry, .sjb-supervision-item, .sjb-responsibility-role, .sjb-editorial-note).sjb-spacing-extra { padding: clamp(40px, 7vw, 82px) !important; }
:is(.sjb-caput-card, .sjb-area-card, .sjb-source-card, .sjb-case-row, .sjb-measure-step, .sjb-download-card, .sjb-marginalia-entry, .sjb-source-entry, .sjb-supervision-item, .sjb-responsibility-role, .sjb-editorial-note).sjb-spacing-custom { padding: var(--sjb-custom-padding, 22px) !important; }

.sjb-card-animation--lift .sjb-caput-card,
.sjb-card-animation--lift .sjb-area-card,
.sjb-card-animation--lift .sjb-case-row,
.sjb-card-animation--lift .sjb-measure-step,
.sjb-card-animation--lift .sjb-download-card,
.sjb-card-animation--lift .sjb-supervision-item,
.sjb-card-animation--lift .sjb-source-entry,
.sjb-source-card.sjb-card-animation--lift {
  transition: border-color 150ms ease-out, box-shadow 150ms ease-out, transform 150ms ease-out;
}

.sjb-card-animation--lift .sjb-caput-card:hover,
.sjb-card-animation--lift .sjb-area-card:hover,
.sjb-card-animation--lift .sjb-case-row:hover,
.sjb-card-animation--lift .sjb-measure-step:hover,
.sjb-card-animation--lift .sjb-download-card:hover,
.sjb-card-animation--lift .sjb-supervision-item:hover,
.sjb-card-animation--lift .sjb-source-entry:hover,
.sjb-source-card.sjb-card-animation--lift:hover {
  border-color: var(--sj-accent);
  box-shadow: 0 12px 24px rgba(16, 34, 24, 0.13);
  transform: translateY(-3px);
}

.sjb-card-animation--glow .sjb-caput-card:hover,
.sjb-card-animation--glow .sjb-area-card:hover,
.sjb-card-animation--glow .sjb-case-row:hover,
.sjb-card-animation--glow .sjb-measure-step:hover,
.sjb-card-animation--glow .sjb-download-card:hover,
.sjb-card-animation--glow .sjb-supervision-item:hover,
.sjb-card-animation--glow .sjb-source-entry:hover,
.sjb-source-card.sjb-card-animation--glow:hover {
  border-color: var(--sj-accent);
  box-shadow: 0 0 0 1px rgba(176, 122, 31, 0.38), 0 18px 38px rgba(16, 34, 24, 0.18);
  transform: none;
}

.sjb-card-animation--underline .sjb-caput-card,
.sjb-card-animation--underline .sjb-area-card,
.sjb-card-animation--underline .sjb-case-row,
.sjb-card-animation--underline .sjb-measure-step,
.sjb-card-animation--underline .sjb-download-card,
.sjb-card-animation--underline .sjb-supervision-item,
.sjb-card-animation--underline .sjb-source-entry,
.sjb-source-card.sjb-card-animation--underline {
  position: relative;
  overflow: hidden;
}

.sjb-card-animation--underline .sjb-caput-card::after,
.sjb-card-animation--underline .sjb-area-card::after,
.sjb-card-animation--underline .sjb-case-row::after,
.sjb-card-animation--underline .sjb-measure-step::after,
.sjb-card-animation--underline .sjb-download-card::after,
.sjb-card-animation--underline .sjb-supervision-item::after,
.sjb-card-animation--underline .sjb-source-entry::after,
.sjb-source-card.sjb-card-animation--underline::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 12px;
  left: 16px;
  height: 2px;
  background: var(--sj-accent);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease-out;
}

.sjb-card-animation--underline .sjb-caput-card:hover::after,
.sjb-card-animation--underline .sjb-area-card:hover::after,
.sjb-card-animation--underline .sjb-case-row:hover::after,
.sjb-card-animation--underline .sjb-measure-step:hover::after,
.sjb-card-animation--underline .sjb-download-card:hover::after,
.sjb-card-animation--underline .sjb-supervision-item:hover::after,
.sjb-card-animation--underline .sjb-source-entry:hover::after,
.sjb-source-card.sjb-card-animation--underline:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.sjb-card-animation--none .sjb-caput-card,
.sjb-card-animation--none .sjb-area-card,
.sjb-card-animation--none .sjb-case-row,
.sjb-card-animation--none .sjb-measure-step,
.sjb-card-animation--none .sjb-download-card,
.sjb-card-animation--none .sjb-supervision-item,
.sjb-card-animation--none .sjb-source-entry,
.sjb-source-card.sjb-card-animation--none {
  transition: none;
}

.sjb-card-animation--none .sjb-caput-card:hover,
.sjb-card-animation--none .sjb-area-card:hover,
.sjb-card-animation--none .sjb-case-row:hover,
.sjb-card-animation--none .sjb-measure-step:hover,
.sjb-card-animation--none .sjb-download-card:hover,
.sjb-card-animation--none .sjb-supervision-item:hover,
.sjb-card-animation--none .sjb-source-entry:hover,
.sjb-source-card.sjb-card-animation--none:hover {
  border-color: var(--sj-border);
  box-shadow: none;
  transform: none;
}

.sjb-animated {
  opacity: 0;
  transition: opacity 260ms ease-out, transform 260ms ease-out;
}

.sjb-animation-speed-fast { transition-duration: 180ms; }
.sjb-animation-speed-normal { transition-duration: 260ms; }
.sjb-animation-speed-slow { transition-duration: 420ms; }
.sjb-animation-delay-short { transition-delay: 90ms; }
.sjb-animation-delay-medium { transition-delay: 180ms; }
.sjb-animation-delay-long { transition-delay: 320ms; }

.sjb-animation-rise,
.sjb-animation-slide-up,
.sjb-animation-stagger {
  transform: translateY(12px);
}

.sjb-animation-fade {
  transform: none;
}

.sjb-animation-scale {
  transform: scale(0.985);
}

.sjb-animation-slide-left {
  transform: translateX(18px);
}

.sjb-animation-slide-right {
  transform: translateX(-18px);
}

.sjb-animated.is-visible {
  opacity: 1;
  transform: none;
}

@media (max-width: 900px) {
  .sjb-hero__inner,
  .sjb-caput-grid--cols-2,
  .sjb-caput-grid--cols-3,
  .sjb-legal-article,
  .sjb-article-hero--split,
  .sjb-area-register,
  .sjb-area-register--cols-2,
  .sjb-area-register--cols-3,
  .sjb-law-commentary,
  .sjb-weekly-decision__grid,
  .sjb-decision-analysis__grid,
  .sjb-practical-conclusion__grid,
  .sjb-measure-staircase--left-right,
  .sjb-measure-staircase--staircase,
  .sjb-measure-staircase--diagonal {
    grid-template-columns: 1fr;
  }

  .sjb-search-panel,
  .sjb-latest-update,
  .sjb-weekly-questions {
    grid-column: auto;
  }

  .sjb-section-marker,
  .sjb-marginalia-panel.is-sticky,
  .sjb-marginalia--sticky {
    position: static;
  }

  .sjb-article-hero--split .sjb-article-hero__sources,
  .sjb-measure-staircase--left-right .sjb-measure-step:nth-of-type(n),
  .sjb-measure-staircase--staircase .sjb-measure-step:nth-of-type(n),
  .sjb-measure-staircase--diagonal .sjb-measure-step:nth-of-type(n) {
    grid-column: 1;
    grid-row: auto;
    margin-top: 0;
  }

  .sjb-measure-staircase--left-right::before,
  .sjb-measure-staircase--staircase::before {
    display: none;
  }

  .sjb-measure-staircase--staircase .sjb-measure-step {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sjb-animated,
  .sjb-card-animation--lift .sjb-caput-card,
  .sjb-card-animation--lift .sjb-area-card,
  .sjb-card-animation--lift .sjb-case-row,
  .sjb-card-animation--lift .sjb-measure-step,
  .sjb-card-animation--lift .sjb-download-card,
  .sjb-card-animation--lift .sjb-supervision-item,
  .sjb-card-animation--lift .sjb-source-entry,
  .sjb-card-animation--glow .sjb-caput-card,
  .sjb-card-animation--glow .sjb-area-card,
  .sjb-card-animation--glow .sjb-case-row,
  .sjb-card-animation--glow .sjb-measure-step,
  .sjb-card-animation--glow .sjb-download-card,
  .sjb-card-animation--glow .sjb-supervision-item,
  .sjb-card-animation--glow .sjb-source-entry,
  .sjb-card-animation--underline .sjb-caput-card,
  .sjb-card-animation--underline .sjb-area-card,
  .sjb-card-animation--underline .sjb-case-row,
  .sjb-card-animation--underline .sjb-measure-step,
  .sjb-card-animation--underline .sjb-download-card,
  .sjb-card-animation--underline .sjb-supervision-item,
  .sjb-card-animation--underline .sjb-source-entry,
  .sjb-source-card.sjb-card-animation--lift,
  .sjb-source-card.sjb-card-animation--glow,
  .sjb-source-card.sjb-card-animation--underline {
    opacity: 1;
    transform: none;
    transition-duration: 0.001ms;
  }
}

/* ── Skolinspektionen dark card ── */
.sjb-supervision-item.is-dark,
.sjb-supervision-feed--cards .sjb-supervision-item.is-dark {
  background: var(--sj-blue-dark);
  color: var(--sj-bg);
  border: none;
  border-radius: 0;
  padding: 24px;
}

.sjb-supervision-item.is-dark .sjb-eyebrow,
.sjb-supervision-item.is-dark .sjb-kicker,
.sjb-supervision-item.is-dark .sjb-issue-label {
  color: var(--sj-blue-soft);
}

.sjb-supervision-item.is-dark h3 {
  color: var(--sj-bg);
  font-family: var(--sj-serif);
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  margin-bottom: 12px;
}

.sjb-supervision-item.is-dark p {
  color: color-mix(in srgb, var(--sj-bg) 85%, transparent);
  font-size: 0.98rem;
  line-height: 1.6;
}

.sjb-supervision-item.is-dark hr {
  border: none;
  border-top: 1px solid rgba(255,255,255,0.18);
  margin: 16px 0;
}

.sjb-supervision-item.is-dark .sjb-supervision-item__significance {
  font-family: var(--sj-serif);
  font-style: italic;
  color: color-mix(in srgb, var(--sj-bg) 80%, transparent);
}

.sjb-supervision-item.is-dark a,
.sjb-supervision-item.is-dark button {
  display: inline-block;
  margin-top: 14px;
  padding: 10px 18px;
  background: var(--sj-blue-soft);
  color: var(--sj-blue-dark);
  font-family: var(--sj-mono);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  border: none;
  cursor: pointer;
  border-radius: 0;
}

/* ── Inline source markers ── */
.sjb-inline-source {
  appearance: none;
  border: 0;
  background: transparent;
  font: inherit;
  color: inherit;
  padding: 0 0.06em;
  cursor: pointer;
  border-bottom: 2px solid rgba(28, 65, 40, 0.35);
  position: relative;
}

.sjb-inline-source::before {
  content: "▣";
  display: inline-block;
  font-size: 0.62em;
  margin-right: 0.2em;
  vertical-align: 0.12em;
  color: var(--sj-green);
}

.sjb-inline-source.is-tillsyn,
.sjb-inline-source.is-skolinspektionen {
  color: var(--sj-blue);
  border-bottom-color: rgba(56, 84, 154, 0.4);
}

.sjb-inline-source.is-tillsyn::before,
.sjb-inline-source.is-skolinspektionen::before {
  content: "◆";
  font-size: 0.55em;
  color: var(--sj-blue);
}

.sjb-inline-source.is-dom::before {
  content: "●";
  font-size: 0.5em;
  color: var(--sj-ink);
}

.sjb-inline-source.is-dom {
  border-bottom-color: rgba(19, 19, 17, 0.35);
}

/* ── Border-radius = 0 on key card components ── */
.sjb-source-support-card,
.sjb-source-card,
.sjb-decisive-case-card,
.sjb-comparison-box,
.sjb-checklist-box,
.sjb-supervision-item,
.sjb-caput-card,
.sjb-area-card,
.sjb-measure-step,
.sjb-editorial-note {
  border-radius: 0 !important;
}

/* ════════════════════════════════════════════════════════════════════
   STANDALONE-EXACT LAYER  ·  Trygghet & studiero (5 kap. skollagen)
   Authoritative visual match to the reference standalone. Values are the
   exact px/colors from the reference React artboard. This layer is loaded
   last and supersedes earlier rules.
   ════════════════════════════════════════════════════════════════════ */

:root {
  --sj-pad-x: 56px;
}

/* Grid wrappers always fill their section width (guards against intrinsic-width shrink). */
.sjb-grid-items { width: 100%; }

/* ── Neutralise the legacy "section IS the grid" rules ──────────────────
   Older plugin CSS turned each section element into a grid via
   `.sjb-X:not(.block-editor-block-list__block){display:grid}`. That higher-
   specificity rule made the section's heading + .sjb-grid-items wrapper land
   in 1/3-width grid cells, squashing the cards to the left. The standalone
   layout puts the grid on the inner .sjb-grid-items wrapper instead, so the
   section must be a plain block (or flex for the åtgärdstrappa). */
.sjb-chapter-structure:not(.block-editor-block-list__block),
.sjb-concept-grid:not(.block-editor-block-list__block),
.sjb-decisive-cases:not(.block-editor-block-list__block),
.sjb-related-reading:not(.block-editor-block-list__block) {
  display: block;
  grid-template-columns: none;
}
.sjb-progression-band:not(.block-editor-block-list__block) {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  gap: 14px;
}
.sjb-progression-band:not(.block-editor-block-list__block) > .sjb-progression-band__intro {
  grid-column: 1 / -1;
}

/* Source-type colour system ----------------------------------------- */
:root {
  --sjt-lagrum:    var(--sj-green-3, #1C4128);
  --sjt-tillsyn:   #3B4E8C;
  --sjt-dom:       #2B2A26;
  --sjt-forarbete: #9A6B16;
  --sjt-kommentar: #15301F;
}

/* Typography stacks (mirror .font-serif-a / sans / mono) ------------- */
.sjb-chapter-hero h1,
.sjb-chapter-hero__subtitle,
.sjb-chapter-structure__head h2,
.sjb-progression-band h2,
.sjb-concept-grid h2,
.sjb-decisive-cases h2 {
  font-feature-settings: 'liga','dlig','onum','ss01';
}

/* ── HERO (TSHero) ─────────────────────────────────────────────────── */
.sjb-chapter-hero {
  padding: 52px var(--sj-pad-x) 44px;
  border-bottom: 1px solid var(--sj-rule, #C8B98D);
  position: relative;
  overflow: hidden;
  background: var(--sj-paper, #F4EEDF);
}
.sjb-chapter-hero.sjb-chapter-hero--split {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 48px;
  align-items: end;
}
.sjb-chapter-hero__content { min-width: 0; }
.sjb-chapter-hero__crumbs,
.sjb-chapter-hero p.sjb-chapter-hero__crumbs {
  font-family: var(--sj-mono);
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--sj-green-3, #1C4128);
  margin: 0 0 22px;
}
.sjb-chapter-hero__crumbs strong,
.sjb-chapter-hero__crumbs b { color: var(--sj-ochre, #B07A1F); font-weight: inherit; }
.sjb-chapter-hero__label,
.sjb-chapter-hero p.sjb-chapter-hero__label {
  font-family: var(--sj-mono);
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--sj-ochre, #B07A1F);
  margin: 0 0 18px;
}
.sjb-chapter-hero h1 {
  font-family: var(--sj-serif);
  font-size: 88px;
  line-height: 0.95;
  letter-spacing: -0.03em;
  font-weight: 400;
  color: var(--sj-green, #102218);
  margin: 0;
  text-wrap: balance;
}
.sjb-chapter-hero h1 em { font-style: italic; }
.sjb-chapter-hero__subtitle {
  font-family: var(--sj-serif);
  font-size: 26px;
  font-style: italic;
  color: var(--sj-green-3, #1C4128);
  line-height: 1.25;
  margin: 14px 0 0;
}
/* Let the editor's block text colour win over the design default.
   When a text colour is set on the hero block, the heading + subtitle inherit it
   (inline text-colour on selected words still wins via its own style). */
.sjb-chapter-hero.has-text-color h1,
.sjb-chapter-hero.has-text-color .sjb-chapter-hero__subtitle { color: inherit; }
.sjb-chapter-hero__intro {
  font-family: var(--sj-sans);
  font-size: 16.5px;
  line-height: 1.6;
  color: var(--sj-ink, #131311);
  margin: 22px 0 0;
  max-width: 640px;
}
.sjb-chapter-hero__actions {
  display: flex;
  gap: 12px;
  margin-top: 28px;
  align-items: center;
  flex-wrap: wrap;
}
.sjb-chapter-hero__search {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--sj-green-2, #15301F);
  background: var(--sj-paper, #F4EEDF);
  padding: 11px 16px;
  min-width: 320px;
  color: var(--sj-ink-500, #5C5A52);
  font-family: var(--sj-sans);
  font-size: 14.5px;
}
.sjb-chapter-hero__search::before {
  content: "§";
  color: var(--sj-ochre, #B07A1F);
  font-size: 18px;
}
.sjb-chapter-hero .sjb-button {
  background: var(--sj-green-2, #15301F);
  color: var(--sj-paper, #F4EEDF);
  padding: 12px 20px;
  font-family: var(--sj-sans);
  font-weight: 600;
  font-size: 14px;
  border: 0;
  border-radius: 0;
  text-decoration: none;
  display: inline-block;
}
.sjb-chapter-hero__aside { align-self: end; }

/* Jump grid (HOPPA TILL PARAGRAF) */
.sjb-jump-grid {
  border: 1px solid var(--sj-green-2, #15301F);
  background: var(--sj-surface-muted, #EEE5D0);
  padding: 18px;
  box-shadow: 4px 4px 0 var(--sj-green-2, #15301F);
  border-radius: 0;
}
.sjb-jump-grid__label,
.sjb-jump-grid p.sjb-jump-grid__label {
  font-family: var(--sj-mono);
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--sj-ochre, #B07A1F);
  margin: 0 0 12px;
}
.sjb-jump-grid__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
.sjb-jump-grid a {
  font-family: var(--sj-mono);
  font-size: 12.5px;
  text-align: center;
  padding: 8px 0;
  border: 1px solid var(--sj-rule, #C8B98D);
  color: var(--sj-green-2, #15301F);
  background: var(--sj-paper, #F4EEDF);
  text-decoration: none;
  border-radius: 0;
}

/* ── STRUKTUR (TSStruktur) — 6 cards ───────────────────────────────── */
.sjb-chapter-structure {
  padding: 56px var(--sj-pad-x) 48px;
  background: var(--sj-paper, #F4EEDF);
}
.sjb-chapter-structure__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 1px solid var(--sj-rule, #C8B98D);
  padding-bottom: 16px;
  margin-bottom: 28px;
  gap: 24px;
}
.sjb-chapter-structure__head h2 {
  font-family: var(--sj-serif);
  font-size: 40px;
  color: var(--sj-green, #102218);
  letter-spacing: -0.02em;
  font-weight: 500;
  margin: 0;
  line-height: 1.02;
}
.sjb-chapter-structure__head h2 em { font-style: italic; }
.sjb-chapter-structure__head p {
  font-family: var(--sj-mono);
  font-size: 11px;
  color: var(--sj-green-3, #1C4128);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0;
}
.sjb-chapter-structure .sjb-grid-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.sjb-chapter-structure--cols-2 .sjb-grid-items { grid-template-columns: repeat(2, 1fr); }
.sjb-structure-card {
  background: #FBF8EE;
  border: 1px solid var(--sj-rule, #C8B98D);
  padding: 22px 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 168px;
  border-radius: 0;
  box-shadow: none;
  position: relative;
}
.sjb-structure-card > a {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.sjb-structure-card__number {
  font-family: var(--sj-serif);
  font-size: 44px;
  color: var(--sj-ochre, #B07A1F);
  font-style: italic;
  line-height: 0.8;
}
.sjb-structure-card__ref {
  position: absolute;
  top: 22px;
  right: 22px;
  font-family: var(--sj-mono);
  font-size: 11px;
  color: var(--sj-green-3, #1C4128);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.sjb-structure-card h3 {
  font-family: var(--sj-serif);
  font-size: 25px;
  color: var(--sj-green, #102218);
  font-weight: 500;
  letter-spacing: -0.01em;
  margin: 6px 0 0;
}
.sjb-structure-card p {
  font-family: var(--sj-sans);
  font-size: 14px;
  line-height: 1.5;
  color: var(--sj-ink, #131311);
  margin: auto 0 0;
}

/* ── ÅTGÄRDSTRAPPAN (Atgardstrappan) — dark stepped ────────────────── */
.sjb-progression-band {
  padding: 56px var(--sj-pad-x) 60px;
  background: var(--sj-green-dark, #102218);
  color: var(--sj-paper, #F4EEDF);
  position: relative;
  overflow: hidden;
}
.sjb-progression-band__intro { position: relative; z-index: 1; }
.sjb-progression-band .sjb-eyebrow {
  font-family: var(--sj-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  color: var(--sj-ochre-soft, #D5A75A);
  margin: 0 0 10px;
}
.sjb-progression-band h2 {
  font-family: var(--sj-serif);
  font-size: 44px;
  letter-spacing: -0.02em;
  font-weight: 400;
  margin: 0 0 8px;
  color: var(--sj-paper, #F4EEDF);
}
.sjb-progression-band h2 em { font-style: italic; color: var(--sj-ochre-soft, #D5A75A); }
.sjb-progression-band__intro p:not(.sjb-eyebrow) {
  font-family: var(--sj-sans);
  font-size: 15px;
  color: rgba(244, 238, 223, 0.8);
  max-width: 620px;
  margin: 0 0 36px;
  line-height: 1.55;
}
.sjb-progression-band {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
}
.sjb-progression-band__intro { grid-column: 1 / -1; }
.sjb-progression-step { min-width: 0; }
.sjb-progression-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  /* Neutral, readable default so the step works inside any core Row/Columns/Group. */
  background: var(--sj-surface-muted, #EEE5D0);
  border: 1px solid var(--sj-rule, #C8B98D);
  color: var(--sj-green, #102218);
  padding: 16px;
  border-radius: 0;
  min-height: 120px;
}
/* Dark treatment only when used inside the åtgärdstrappan band. */
.sjb-progression-band .sjb-progression-step {
  background: rgba(244, 238, 223, 0.06);
  border-color: rgba(244, 238, 223, 0.22);
  color: var(--sj-paper, #F4EEDF);
}
.sjb-progression-band .sjb-progression-step:nth-of-type(2) { min-height: 146px; }
.sjb-progression-band .sjb-progression-step:nth-of-type(3) { min-height: 172px; }
.sjb-progression-band .sjb-progression-step:nth-of-type(4) { min-height: 198px; }
.sjb-progression-band .sjb-progression-step:nth-of-type(5) { min-height: 224px; }
.sjb-progression-step.is-highlighted {
  background: var(--sj-ochre, #B07A1F);
  color: var(--sj-green, #102218);
  border-color: var(--sj-ochre, #B07A1F);
}
.sjb-progression-step__number {
  font-family: var(--sj-serif);
  font-size: 30px;
  font-style: italic;
  line-height: 1;
  color: var(--sj-ochre-soft, #D5A75A);
}
.sjb-progression-step.is-highlighted .sjb-progression-step__number { color: var(--sj-green, #102218); }
.sjb-progression-step h3 {
  font-family: var(--sj-serif);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.1;
  margin: 10px 0 0;
  color: inherit;
}
.sjb-progression-step__ref {
  font-family: var(--sj-mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 6px 0 0;
  opacity: 0.8;
}
.sjb-progression-step p:not(.sjb-progression-step__ref) {
  font-family: var(--sj-sans);
  font-size: 12px;
  line-height: 1.35;
  margin: 8px 0 0;
  opacity: 0.78;
}

/* ── BEGREPP (Begrepp) — vocabulary grid ───────────────────────────── */
.sjb-concept-grid {
  padding: 56px var(--sj-pad-x);
  background: var(--sj-paper, #F4EEDF);
  border-top: 1px solid var(--sj-rule, #C8B98D);
}
.sjb-concept-grid > .sjb-eyebrow {
  font-family: var(--sj-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  color: var(--sj-ochre, #B07A1F);
  margin: 0 0 10px;
}
.sjb-concept-grid > h2 {
  font-family: var(--sj-serif);
  font-size: 40px;
  color: var(--sj-green, #102218);
  letter-spacing: -0.02em;
  font-weight: 500;
  margin: 0 0 32px;
}
.sjb-concept-grid > h2 em { font-style: italic; }
.sjb-concept-grid .sjb-grid-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--sj-rule, #C8B98D);
  border: 1px solid var(--sj-rule, #C8B98D);
}
.sjb-concept-card {
  background: var(--sj-paper, #F4EEDF);
  padding: 20px 22px;
  border: 1px solid var(--sj-rule, #C8B98D);
  border-radius: 0;
  margin: 0;
  height: 100%;
}
/* Inside the concept-grid container the 1px grid gap draws the lines, so drop the card border there. */
.sjb-concept-grid .sjb-grid-items .sjb-concept-card { border: 0; }
.sjb-concept-card h3 {
  font-family: var(--sj-serif);
  font-size: 22px;
  color: var(--sj-green, #102218);
  font-style: italic;
  margin: 0 0 8px;
  letter-spacing: -0.01em;
  font-weight: 500;
}
.sjb-concept-card p {
  font-family: var(--sj-sans);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--sj-ink, #131311);
  margin: 0;
}

/* ── BODY: two-column guide + sticky source panel ──────────────────── */
.sjb-paragraph-walkthrough {
  padding: 24px var(--sj-pad-x) 64px;
  background: var(--sj-paper, #F4EEDF);
}
/* Two-column guide: main content flows, källpanel is a full-height sticky rail.
   Uses an absolutely-positioned rail (not grid row-spanning) so there is no
   phantom whitespace below the content and the sticky panel tracks the full
   height of the walkthrough. */
.sjb-paragraph-walkthrough.sjb-paragraph-walkthrough--rail,
.sjb-paragraph-walkthrough--rail:not(.block-editor-block-list__block) {
  display: block;
  grid-template-columns: none;
  position: relative;
}
/* Vertical rhythm in the main column. */
.sjb-paragraph-walkthrough--rail > .sjb-paragraph-section,
.sjb-paragraph-walkthrough--rail > .sjb-comparison-box,
.sjb-paragraph-walkthrough--rail > .sjb-checklist-box,
.sjb-paragraph-walkthrough--rail > .sjb-practice-note,
.sjb-paragraph-walkthrough--rail > .sjb-fordjupning { margin-top: 40px; }

@media (min-width: 1081px) {
  /* Reserve room for the rail on the container (padding) instead of per-child
     margins — robust against blocks (comparison/checklist) whose own margins
     don't shrink auto width, which caused them to overflow into the rail. */
  .sjb-paragraph-walkthrough.sjb-paragraph-walkthrough--rail {
    padding-right: calc(360px + 48px + var(--sj-pad-x, 56px));
  }
  .sjb-paragraph-walkthrough--rail > .sjb-source-support-rail {
    position: absolute;
    top: 24px;
    right: var(--sj-pad-x, 56px);
    bottom: 64px;
    width: 360px;
  }
}
/* Generic eyebrow (e.g. "Genomgång" intro label) — gold mono uppercase.
   The higher-specificity `p.sjb-eyebrow` variants ensure the size wins over the
   theme's `.entry-content p` body rule (which was bumping "Genomgång" to 17px). */
.sjb-eyebrow,
.sjb-paragraph-walkthrough p.sjb-eyebrow,
.sjb-paragraph-walkthrough .sjb-eyebrow {
  font-family: var(--sj-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  line-height: 1.4;
  color: var(--sj-ochre, #B07A1F);
  margin: 0 0 10px;
}
/* Walkthrough intro: "Genomgång / Paragraf för paragraf" */
.sjb-paragraph-walkthrough > h2,
.sjb-paragraph-walkthrough > .wp-block-heading {
  font-family: var(--sj-serif);
  font-size: 36px;
  color: var(--sj-green, #102218);
  letter-spacing: -0.02em;
  font-weight: 500;
  line-height: 1.05;
  border: 0;
  margin: 0;
}
.sjb-paragraph-walkthrough .sjb-section-intro {
  font-family: var(--sj-sans);
  font-size: 15px;
  color: var(--sj-ink-500, #5C5A52);
  margin: 8px 0 0;
  padding-bottom: 24px;
  border-bottom: 3px double var(--sj-green-2, #15301F);
}
.sjb-paragraph-walkthrough .sjb-section-intro em { font-style: italic; }

/* Paragraph block */
.sjb-paragraph-section {
  scroll-margin-top: 120px;
  padding: 8px 0;
}
.sjb-paragraph-section__head {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 14px;
  flex-wrap: nowrap;
}
.sjb-paragraph-section__paragraph {
  font-family: var(--sj-serif);
  font-size: 40px;
  color: var(--sj-ochre, #B07A1F);
  font-style: italic;
  line-height: 0.9;
  font-weight: 400;
  flex-shrink: 0;
}
.sjb-paragraph-section h3 {
  font-family: var(--sj-serif);
  font-size: 30px;
  color: var(--sj-green, #102218);
  letter-spacing: -0.015em;
  line-height: 1.05;
  font-weight: 500;
  margin: 0;
}
.sjb-paragraph-section__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 16px;
}
.sjb-paragraph-section__tags mark {
  font-family: var(--sj-mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 9px;
  white-space: nowrap;
  border-radius: 0;
  background: var(--sj-surface-muted, #EEE5D0);
  color: var(--sj-green-2, #15301F);
  border: 1px solid var(--sj-rule, #C8B98D);
}
.sjb-paragraph-section__tags mark.is-ansvar {
  background: rgba(28, 65, 40, 0.08);
  color: var(--sj-green-3, #1C4128);
  border-color: rgba(28, 65, 40, 0.25);
}
.sjb-paragraph-section__tags mark.is-aktor {
  background: rgba(59, 78, 140, 0.08);
  color: #3B4E8C;
  border-color: rgba(59, 78, 140, 0.25);
}
.sjb-paragraph-section__tags mark.is-disciplin {
  background: rgba(154, 107, 22, 0.12);
  color: #9A6B16;
  border-color: rgba(154, 107, 22, 0.3);
}
/* Kärna / Praktisk labels + prose */
.sjb-paragraph-section .sjb-paragraph-section__label {
  font-family: var(--sj-mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 16px 0 6px;
  color: var(--sj-green-3, #1C4128);
}
.sjb-paragraph-section .sjb-paragraph-section__label--core { color: var(--sj-ochre, #B07A1F); }
.sjb-paragraph-section .sjb-paragraph-section__label--practical { color: var(--sj-green-3, #1C4128); }
.sjb-paragraph-section__core {
  font-family: var(--sj-serif);
  font-size: 19px;
  line-height: 1.45;
  color: var(--sj-green, #102218);
  font-weight: 400;
  margin: 0;
}
.sjb-paragraph-section__body {
  font-family: var(--sj-sans);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--sj-ink, #131311);
  margin: 0;
}
/* Redaktionell kommentar (editorial-inline) */
.sjb-editorial-inline {
  background: var(--sj-surface-muted, #EEE5D0);
  border-left: 3px solid var(--sj-green-3, #1C4128);
  padding: 12px 16px;
  margin: 4px 0 0;
}
.sjb-editorial-inline::before {
  content: "※ Redaktionell kommentar";
  display: block;
  font-family: var(--sj-mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sj-green-3, #1C4128);
  margin-bottom: 6px;
}
.sjb-editorial-inline {
  font-family: var(--sj-serif);
  font-size: 15.5px;
  font-style: italic;
  line-height: 1.5;
  color: var(--sj-green, #102218);
}

/* Inline citation markers (Cite) */
.sjb-paragraph-section__core .sjb-inline-source,
.sjb-paragraph-section__body .sjb-inline-source,
.sjb-inline-source {
  display: inline;
  cursor: pointer;
  font: inherit;
  padding: 0 2px;
  background: transparent;
  border: 0;
  border-bottom: 1.5px solid rgba(28, 65, 40, 0.3);
  color: var(--sjt-lagrum);
  white-space: nowrap;
}
.sjb-inline-source::before { content: "▣"; font-size: 0.82em; margin-right: 3px; }
.sjb-inline-source.is-tillsyn,
.sjb-inline-source[data-sjb-type="tillsyn"] { color: var(--sjt-tillsyn); border-bottom-color: rgba(59,78,140,0.3); }
.sjb-inline-source.is-tillsyn::before,
.sjb-inline-source[data-sjb-type="tillsyn"]::before { content: "◆"; }
.sjb-inline-source.is-dom,
.sjb-inline-source[data-sjb-type="dom"] { color: var(--sjt-dom); border-bottom-color: rgba(43,42,38,0.28); }
.sjb-inline-source.is-dom::before,
.sjb-inline-source[data-sjb-type="dom"]::before { content: "●"; }
.sjb-inline-source.is-forarbete,
.sjb-inline-source[data-sjb-type="forarbete"] { color: var(--sjt-forarbete); border-bottom-color: rgba(154,107,22,0.32); }
.sjb-inline-source.is-forarbete::before,
.sjb-inline-source[data-sjb-type="forarbete"]::before { content: "◐"; }
.sjb-inline-source.is-active { background: rgba(28,65,40,0.10); }
.sjb-inline-source.is-tillsyn.is-active,
.sjb-inline-source[data-sjb-type="tillsyn"].is-active { background: rgba(59,78,140,0.10); }

/* ── SOURCE SUPPORT RAIL (sticky källpanel) ────────────────────────── */
.sjb-source-support-rail { min-width: 0; }
.sjb-source-support-rail__inner.is-sticky {
  position: sticky;
  top: 24px;
  max-height: calc(100vh - 48px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
/* Header stays pinned; only the cards scroll. */
.sjb-source-support-rail__head {
  flex: 0 0 auto;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid var(--sj-rule, #C8B98D);
  padding-bottom: 12px;
  margin-bottom: 16px;
  gap: 12px;
}
.sjb-source-support-rail__head p:first-child {
  font-family: var(--sj-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  color: var(--sj-ochre, #B07A1F);
  margin: 0;
  white-space: nowrap;
  flex: 0 0 auto;
}
.sjb-source-support-rail .sjb-source-support-rail__head .sjb-source-support-rail__active {
  font-family: var(--sj-mono);
  font-size: 11px;
  line-height: 1.3;
  color: var(--sj-green-3, #1C4128);
  letter-spacing: 0.02em;
  margin: 0;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.sjb-source-support-rail__cards {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
}
.sjb-source-support-rail__cards::-webkit-scrollbar { width: 8px; }
.sjb-source-support-rail__cards::-webkit-scrollbar-thumb { background: var(--sj-rule, #C8B98D); }
.sjb-source-support-rail__legend {
  flex: 0 0 auto;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--sj-rule, #C8B98D);
}
.sjb-source-support-rail__legend-title {
  display: block;
  font-family: var(--sj-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sj-ink-500, #5C5A52);
  margin-bottom: 10px;
}
.sjb-source-support-rail__legend-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sjb-source-support-rail__legend-list .sjb-legend-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--sj-sans);
  font-size: 12.5px;
  color: var(--sj-ink, #131311);
}
.sjb-source-support-rail__legend-list .sjb-legend-glyph {
  width: 14px;
  text-align: center;
  font-size: 12px;
  flex: 0 0 auto;
}
.sjb-legend-row.is-lagrum .sjb-legend-glyph { color: var(--sjt-lagrum); }
.sjb-legend-row.is-tillsyn .sjb-legend-glyph { color: var(--sjt-tillsyn); }
.sjb-legend-row.is-dom .sjb-legend-glyph { color: var(--sjt-dom); }
.sjb-legend-row.is-forarbete .sjb-legend-glyph { color: var(--sjt-forarbete); }
.sjb-legend-row.is-kommentar .sjb-legend-glyph { color: var(--sjt-kommentar); }

/* Source card */
.sjb-source-support-card {
  border: 1px solid var(--sj-rule, #C8B98D);
  border-left: 4px solid var(--sjt-lagrum);
  background: var(--sj-paper, #F4EEDF);
  padding: 14px 16px;
  margin-bottom: 12px;
  border-radius: 0;
}
.sjb-source-support-card.is-tillsyn,
.sjb-source-support-card.is-skolinspektionen,
.sjb-source-support-card.is-rapport,
.sjb-source-support-card.is-lagandring { border-left-color: var(--sjt-tillsyn); }
.sjb-source-support-card.is-dom,
.sjb-source-support-card.is-hfd,
.sjb-source-support-card.is-nja,
.sjb-source-support-card.is-jo { border-left-color: var(--sjt-dom); }
.sjb-source-support-card.is-forarbete,
.sjb-source-support-card.is-proposition,
.sjb-source-support-card.is-prop { border-left-color: var(--sjt-forarbete); }
.sjb-source-support-card__type {
  font-family: var(--sj-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--sjt-lagrum);
  margin: 0 0 8px;
}
.sjb-source-support-card__type::before { content: "▣ "; }
.sjb-source-support-card.is-tillsyn .sjb-source-support-card__type,
.sjb-source-support-card.is-skolinspektionen .sjb-source-support-card__type { color: var(--sjt-tillsyn); }
.sjb-source-support-card.is-tillsyn .sjb-source-support-card__type::before,
.sjb-source-support-card.is-skolinspektionen .sjb-source-support-card__type::before { content: "◆ "; }
.sjb-source-support-card.is-dom .sjb-source-support-card__type,
.sjb-source-support-card.is-hfd .sjb-source-support-card__type,
.sjb-source-support-card.is-nja .sjb-source-support-card__type { color: var(--sjt-dom); }
.sjb-source-support-card.is-dom .sjb-source-support-card__type::before,
.sjb-source-support-card.is-hfd .sjb-source-support-card__type::before,
.sjb-source-support-card.is-nja .sjb-source-support-card__type::before { content: "● "; }
.sjb-source-support-card.is-forarbete .sjb-source-support-card__type,
.sjb-source-support-card.is-proposition .sjb-source-support-card__type { color: var(--sjt-forarbete); }
.sjb-source-support-card.is-forarbete .sjb-source-support-card__type::before,
.sjb-source-support-card.is-proposition .sjb-source-support-card__type::before { content: "◐ "; }
.sjb-source-support-card__meta {
  font-family: var(--sj-mono);
  font-size: 10px;
  color: var(--sj-ink-500, #5C5A52);
  letter-spacing: 0.04em;
  margin: 0 0 4px;
  text-align: right;
  text-transform: none;
}
.sjb-source-support-card h3 {
  font-family: var(--sj-serif);
  font-size: 17px;
  color: var(--sj-green, #102218);
  line-height: 1.2;
  margin: 0 0 4px;
  letter-spacing: -0.005em;
  font-weight: 500;
}
.sjb-source-support-card blockquote {
  font-family: var(--sj-serif);
  font-size: 13.5px;
  font-style: italic;
  color: var(--sj-green-2, #15301F);
  line-height: 1.45;
  padding-left: 10px;
  border-left: 2px solid var(--sj-rule, #C8B98D);
  margin: 8px 0;
}
.sjb-source-support-card p {
  font-family: var(--sj-sans);
  font-size: 12px;
  color: var(--sj-ink-500, #5C5A52);
  line-height: 1.45;
  margin: 8px 0 0;
}
/* Consistent, readable källstöd button — identical for every source type and
   legible in both rest and hover states (matches the theme's ochre→forest
   button). Overrides the per-type colouring + the generic .sjb-card-link fill. */
.sjb-source-support-card .sjb-card-link,
.sjb-source-support-card a.sjb-card-link,
.sjb-source-support-card.is-tillsyn .sjb-card-link,
.sjb-source-support-card.is-dom .sjb-card-link,
.sjb-source-support-card.is-forarbete .sjb-card-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 0;
  margin-top: 12px;
  padding: 9px 16px;
  border: 0;
  border-radius: 0;
  background: var(--sj-accent, #B07A1F);
  color: var(--sj-green-dark, #102218);
  font-family: var(--sj-sans);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: background 150ms ease-out, color 150ms ease-out;
}
.sjb-source-support-card .sjb-card-link:hover,
.sjb-source-support-card a.sjb-card-link:hover,
.sjb-source-support-card.is-tillsyn .sjb-card-link:hover,
.sjb-source-support-card.is-dom .sjb-card-link:hover,
.sjb-source-support-card.is-forarbete .sjb-card-link:hover {
  background: var(--sj-green-dark, #102218);
  color: var(--sj-bg, #F4EEDF);
  transform: none;
}
.sjb-source-support-card.is-active {
  box-shadow: 0 0 0 2px rgba(28, 65, 40, 0.18);
}
.sjb-source-support-card.is-dim { opacity: 0.62; }

/* ── COMPARISON (Jamforelse) ───────────────────────────────────────── */
.sjb-comparison-box {
  border: 1px solid var(--sj-green-2, #15301F);
  margin: 4px 0;
  background: transparent;
  border-radius: 0;
}
.sjb-comparison-box__label {
  font-family: var(--sj-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sj-green-3, #1C4128);
  padding: 10px 16px;
  border-bottom: 1px solid var(--sj-rule, #C8B98D);
  background: var(--sj-surface-muted, #EEE5D0);
  margin: 0;
}
.sjb-comparison-box__columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.sjb-comparison-box__columns > article { padding: 18px 20px; }
.sjb-comparison-box__columns > article + article { border-left: 1px solid var(--sj-rule, #C8B98D); }
.sjb-comparison-box__columns h3 {
  font-family: var(--sj-serif);
  font-size: 21px;
  color: var(--sj-green, #102218);
  line-height: 1.1;
  margin: 0 0 12px;
  font-weight: 500;
}
.sjb-comparison-box__columns ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sjb-comparison-box__columns li {
  font-family: var(--sj-sans);
  font-size: 14px;
  line-height: 1.45;
  color: var(--sj-ink, #131311);
  display: flex;
  gap: 8px;
}
.sjb-comparison-box__columns li::before { content: "—"; color: var(--sj-ochre, #B07A1F); }

/* ── DECISIVE CASES (TSDomar) ──────────────────────────────────────── */
.sjb-decisive-cases {
  padding: 60px var(--sj-pad-x);
  background: #FBF8EE;
  border-top: 3px double var(--sj-green-2, #15301F);
}
.sjb-decisive-cases > .sjb-eyebrow {
  font-family: var(--sj-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  color: var(--sj-ochre, #B07A1F);
  margin: 0 0 10px;
}
.sjb-decisive-cases > h2 {
  font-family: var(--sj-serif);
  font-size: 40px;
  color: var(--sj-green, #102218);
  letter-spacing: -0.02em;
  font-weight: 500;
  line-height: 1.05;
  margin: 0 0 28px;
}
.sjb-decisive-cases > h2 em { font-style: italic; }
.sjb-decisive-cases .sjb-grid-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.sjb-decisive-case-card {
  background: var(--sj-paper, #F4EEDF);
  border: 1px solid var(--sj-rule, #C8B98D);
  border-top: 4px solid var(--sjt-dom);
  padding: 22px 24px;
  border-radius: 0;
}
.sjb-decisive-case-card.is-tillsyn,
.sjb-decisive-case-card.is-skolinspektionen { border-top-color: var(--sjt-tillsyn); }
.sjb-decisive-case-card.is-forarbete,
.sjb-decisive-case-card.is-proposition { border-top-color: var(--sjt-forarbete); }
.sjb-decisive-case-card__type {
  font-family: var(--sj-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sjt-dom);
  font-weight: 600;
  margin: 0 0 12px;
}
.sjb-decisive-case-card.is-tillsyn .sjb-decisive-case-card__type { color: var(--sjt-tillsyn); }
.sjb-decisive-case-card__type::before { content: "● "; }
.sjb-decisive-case-card.is-tillsyn .sjb-decisive-case-card__type::before { content: "◆ "; }
.sjb-decisive-case-card__meta {
  font-family: var(--sj-mono);
  font-size: 12px;
  color: var(--sj-green-3, #1C4128);
  letter-spacing: 0.04em;
  margin: 0 0 6px;
}
.sjb-decisive-case-card h3 {
  font-family: var(--sj-serif);
  font-size: 24px;
  color: var(--sj-green, #102218);
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 12px;
  font-weight: 500;
}
.sjb-decisive-case-card p {
  font-family: var(--sj-sans);
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--sj-ink, #131311);
  margin: 0 0 12px;
}
.sjb-decisive-case-card blockquote {
  font-family: var(--sj-serif);
  font-size: 14.5px;
  font-style: italic;
  color: var(--sj-green-2, #15301F);
  line-height: 1.45;
  padding-left: 12px;
  border-left: 2px solid var(--sj-rule, #C8B98D);
  margin: 0 0 16px;
}
.sjb-decisive-case-card .sjb-card-link,
.sjb-decisive-case-card.is-tillsyn .sjb-card-link,
.sjb-decisive-case-card.is-forarbete .sjb-card-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 0;
  padding: 9px 16px;
  border: 0;
  border-radius: 0;
  background: var(--sj-accent, #B07A1F);
  color: var(--sj-green-dark, #102218);
  font-family: var(--sj-sans);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
  transition: background 150ms ease-out, color 150ms ease-out;
}
.sjb-decisive-case-card .sjb-card-link:hover,
.sjb-decisive-case-card.is-tillsyn .sjb-card-link:hover,
.sjb-decisive-case-card.is-forarbete .sjb-card-link:hover {
  background: var(--sj-green-dark, #102218);
  color: var(--sj-bg, #F4EEDF);
  transform: none;
}

/* ── Skolinspektionen i praktiken (dark navy practice block) ───────── */
.sjb-practice-note {
  background: var(--sj-blue-dark, #1B233F);
  color: var(--sj-paper, #F4EEDF);
  padding: 24px 26px;
  margin: 8px 0;
  position: relative;
  overflow: hidden;
  border-radius: 0;
}
.sjb-practice-note__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.sjb-practice-note__label {
  font-family: var(--sj-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sj-blue-soft, #9FB0E8);
  font-weight: 600;
}
.sjb-practice-note__label::before { content: "◆ "; }
.sjb-practice-note__ref {
  font-family: var(--sj-mono);
  font-size: 10.5px;
  color: rgba(244, 238, 223, 0.6);
  letter-spacing: 0.06em;
  margin-left: auto;
}
.sjb-practice-note h3 {
  font-family: var(--sj-serif);
  font-size: 24px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 12px;
  color: var(--sj-paper, #F4EEDF);
}
.sjb-practice-note__body {
  font-family: var(--sj-sans);
  font-size: 15px;
  line-height: 1.6;
  color: rgba(244, 238, 223, 0.9);
  margin: 0 0 14px;
}
.sjb-practice-note__divider {
  padding-top: 14px;
  border-top: 1px solid rgba(159, 176, 232, 0.25);
}
.sjb-practice-note__betydelse-label {
  font-family: var(--sj-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sj-blue-soft, #9FB0E8);
  margin: 0 0 6px;
}
.sjb-practice-note__betydelse {
  font-family: var(--sj-serif);
  font-size: 16px;
  font-style: italic;
  line-height: 1.45;
  color: var(--sj-paper, #F4EEDF);
  margin: 0;
}
.sjb-practice-note__cta,
.sjb-practice-note a.sjb-practice-note__cta {
  margin-top: 16px;
  display: inline-block;
  background: var(--sj-blue-soft, #9FB0E8);
  color: var(--sj-blue-dark, #1B233F);
  padding: 8px 16px;
  font-family: var(--sj-sans);
  font-weight: 600;
  font-size: 13px;
  border: 0;
  border-radius: 0;
  text-decoration: none;
  cursor: pointer;
}

/* ── Fördjupning (bordered box w/ circle glyph) ────────────────────── */
.sjb-fordjupning {
  border: 1px solid rgba(28, 65, 40, 0.22);
  background: rgba(28, 65, 40, 0.05);
  padding: 18px 20px;
  margin: 4px 0;
  border-radius: 0;
}
.sjb-fordjupning.is-misstag { background: rgba(154,107,22,0.07); border-color: rgba(154,107,22,0.3); }
.sjb-fordjupning.is-gransdragning { background: rgba(59,78,140,0.05); border-color: rgba(59,78,140,0.25); }
.sjb-fordjupning.is-lagandring { background: rgba(179,38,30,0.06); border-color: rgba(179,38,30,0.32); }
.sjb-fordjupning__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.sjb-fordjupning__glyph {
  width: 22px; height: 22px; border-radius: 99px;
  background: var(--sj-green-3, #1C4128);
  color: var(--sj-paper, #F4EEDF);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; font-family: var(--sj-mono); flex-shrink: 0;
}
.sjb-fordjupning.is-misstag .sjb-fordjupning__glyph { background: #9A6B16; }
.sjb-fordjupning.is-gransdragning .sjb-fordjupning__glyph { background: #3B4E8C; }
.sjb-fordjupning.is-lagandring .sjb-fordjupning__glyph { background: #b3261e; font-size: 10px; }
.sjb-fordjupning__label {
  font-family: var(--sj-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sj-green-3, #1C4128);
  font-weight: 600;
}
.sjb-fordjupning.is-misstag .sjb-fordjupning__label { color: #9A6B16; }
.sjb-fordjupning.is-gransdragning .sjb-fordjupning__label { color: #3B4E8C; }
.sjb-fordjupning.is-lagandring .sjb-fordjupning__label { color: #b3261e; }
.sjb-fordjupning__body {
  font-family: var(--sj-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--sj-ink, #131311);
  margin: 0;
}

/* ── Checklista (checklist-box) ────────────────────────────────────── */
.sjb-checklist-box {
  border: 1px solid var(--sj-green-2, #15301F);
  background: var(--sj-surface-muted, #EEE5D0);
  padding: 24px 26px;
  border-radius: 0;
}
.sjb-checklist-box h2 {
  font-family: var(--sj-serif);
  font-size: 26px;
  color: var(--sj-green, #102218);
  letter-spacing: -0.01em;
  font-weight: 500;
  margin: 0 0 16px;
}
.sjb-checklist-box h2::before { content: "✓ "; color: var(--sj-ochre, #B07A1F); font-style: italic; }
.sjb-checklist-box__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 28px;
}
.sjb-checklist-box__items label {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-family: var(--sj-sans);
  font-size: 14.5px;
  line-height: 1.4;
  color: var(--sj-ink, #131311);
}
.sjb-checklist-box__items label span[aria-hidden] {
  width: 18px; height: 18px;
  border: 1.5px solid var(--sj-green-3, #1C4128);
  flex-shrink: 0;
  margin-top: 2px;
}

/* ── RELATED READING (TSRelaterade) ────────────────────────────────── */
.sjb-related-reading {
  padding: 56px var(--sj-pad-x);
  background: var(--sj-paper, #F4EEDF);
  border-top: 1px solid var(--sj-rule, #C8B98D);
}
.sjb-related-reading > .sjb-eyebrow {
  font-family: var(--sj-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 11px;
  color: var(--sj-ochre, #B07A1F);
  margin: 0 0 22px;
}
.sjb-related-reading .sjb-grid-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.sjb-related-reading-card {
  border: 1px solid var(--sj-rule, #C8B98D);
  background: #FBF8EE;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-radius: 0;
}
.sjb-related-reading-card__ref,
.sjb-related-reading-card .sjb-eyebrow {
  font-family: var(--sj-mono);
  font-size: 10.5px;
  color: var(--sj-ochre, #B07A1F);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.sjb-related-reading-card h3 {
  font-family: var(--sj-serif);
  font-size: 26px;
  color: var(--sj-green, #102218);
  letter-spacing: -0.01em;
  font-weight: 500;
  line-height: 1.1;
  margin: 0;
}

/* ── Responsive ────────────────────────────────────────────────────── */
@media (max-width: 1080px) {
  .sjb-paragraph-walkthrough--rail > .sjb-source-support-rail { margin-top: 40px; }
  .sjb-source-support-rail__inner.is-sticky { position: static; max-height: none; overflow: visible; }
  .sjb-source-support-rail__cards { overflow: visible; }
  .sjb-chapter-hero.sjb-chapter-hero--split { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  :root { --sj-pad-x: 28px; }
  .sjb-chapter-hero h1 { font-size: 60px; }
  .sjb-chapter-structure .sjb-grid-items,
  .sjb-concept-grid .sjb-grid-items,
  .sjb-decisive-cases .sjb-grid-items,
  .sjb-related-reading .sjb-grid-items { grid-template-columns: 1fr; }
  .sjb-progression-band,
  .sjb-progression-band:not(.block-editor-block-list__block) { grid-template-columns: 1fr; }
  .sjb-progression-band .sjb-progression-step { min-height: 0 !important; }
  .sjb-comparison-box__columns { grid-template-columns: 1fr; }
  .sjb-comparison-box__columns > article + article { border-left: 0; border-top: 1px solid var(--sj-rule, #C8B98D); }
  .sjb-checklist-box__items { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════════════
   MONO-LABEL SIZE LOCK
   The active theme styles `.entry-content p { font-size }` (body size), which
   beats single-class rules on label paragraphs and inflates them. These
   `p.`-qualified, parent-scoped selectors (specificity 0,2,1) re-assert each
   label's intended size so the theme can't override it. Sizes here mirror the
   values already declared above — this only locks them, nothing changes for
   labels that already render correctly.
   ════════════════════════════════════════════════════════════════════ */
.sjb-source-support-card p.sjb-source-support-card__type { font-size: 10px; }
.sjb-source-support-card p.sjb-source-support-card__meta { font-size: 10px; }
.sjb-comparison-box p.sjb-comparison-box__label { font-size: 11px; }
.sjb-practice-note p.sjb-practice-note__betydelse-label { font-size: 10.5px; }
.sjb-decisive-case-card p.sjb-decisive-case-card__type { font-size: 10.5px; }
.sjb-decisive-case-card p.sjb-decisive-case-card__meta { font-size: 12px; }
