/* Hallmark · macrostructure: Catalogue + Long Document · theme: studied-DNA (Geldaura Brand Book)
 * Finance editorial, blue/ink/paper; existing N11 menu and statement footer.
 * Audit 2026-09-04 · critique: P4 H4 E4 S4 R4 V3. Not a claim of full accessibility certification. */
.wp-site-blocks > header.wp-block-template-part { position: sticky; inset-block-start: 0; z-index: var(--z-sticky); }
.admin-bar .wp-site-blocks > header.wp-block-template-part { inset-block-start: var(--wp-admin--admin-bar--height, 32px); }
.admin-bar .nav-scrim { inset-block-start: calc(var(--site-nav-height) + var(--wp-admin--admin-bar--height, 32px)); }
:where(main, article) [id] { scroll-margin-block-start: calc(var(--site-nav-height) + var(--space-lg)); }
:where(main, article) :where(h1, h2, h3) { min-width: 0; overflow-wrap: anywhere; }
:where(main) :where(p, li) > a:not([class]) { text-underline-offset: .18em; }
:where(main) table { font-variant-numeric: tabular-nums; }
.mobile-menu { z-index: var(--z-dropdown); overscroll-behavior: contain; }
.search-trigger { display: inline-flex; }
.menu-trigger[aria-expanded="true"] i { background: transparent; }
.menu-trigger[aria-expanded="true"] i::before { inset-block-start: 0; transform: rotate(45deg); }
.menu-trigger[aria-expanded="true"] i::after { inset-block-start: 0; transform: rotate(-45deg); }
.mobile-menu summary { justify-content: space-between; }
.mobile-menu summary::after { content: '+'; color: var(--color-brand-readable); font-size: var(--text-md); font-weight: 400; }
.mobile-menu details[open] > summary::after { content: '−'; }
.mega-panel { max-height: calc(100dvh - var(--site-nav-height)); overflow-y: auto; overscroll-behavior: contain; }
.mega-panel[hidden], .mobile-menu[hidden] { display: none; }
.mega-panel[inert] { pointer-events: none; }

/* Content comes first; charts complement it rather than delaying the title. */
.geldaura-provider-review .geldaura-provider-hero {
  padding-block: var(--space-xl);
  gap: var(--space-xl);
  align-items: center;
}
.geldaura-provider-review .geldaura-provider-hero__media { order: 0; }
.geldaura-provider-review .geldaura-provider-hero__lead { font-size: 1.0625rem; line-height: 1.7; color: var(--color-ink-2); }
.geldaura-provider-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm); margin-top: var(--space-lg); }
.geldaura-provider-hero__actions .button { font-size: var(--text-sm); white-space: nowrap; }
.geldaura-provider-review .geldaura-provider-hero__name { font-size: clamp(2.25rem, 5vw, 4.25rem); line-height: 1.08; }
.geldaura-provider-review .geldaura-provider-hero__edition { font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.25; margin-top: var(--space-xs); }
.geldaura-provider-review .geldaura-provider-byline { gap: var(--space-lg); margin-top: var(--space-lg); }
.geldaura-provider-byline a { color: var(--color-ink-2); text-underline-offset: .2em; }

.geldaura-article-contents {
  border-block: var(--rule-hair) solid var(--color-rule);
  margin-block: var(--space-lg) 0;
}
.geldaura-article-contents > summary {
  padding-block: var(--space-lg);
  min-height: 3rem;
  font-weight: 750;
  cursor: pointer;
  color: var(--color-ink);
}
.geldaura-article-contents > summary::marker { color: var(--color-brand-readable); }
.geldaura-article-contents > summary span { display: none; }
.geldaura-article-contents .geldaura-provider-index {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0 var(--space-xl);
  padding: 0 0 var(--space-lg);
  margin: 0;
  border: 0;
  overflow: visible;
  white-space: normal;
}
.geldaura-article-contents .geldaura-provider-index a {
  display: flex;
  align-items: center;
  min-height: 2.75rem;
  padding-block: var(--space-xs);
  border-bottom: var(--rule-hair) solid var(--color-rule-2);
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--color-ink-2);
}
.geldaura-article-contents .geldaura-provider-index a:hover { color: var(--color-brand-readable); }

/* Long-document rhythm: a reading column, not a succession of giant heroes. */
.geldaura-provider-review .geldaura-provider-body,
.geldaura-provider-review .geldaura-provider-method { width: min(100%, 46rem); }
.geldaura-provider-review :is(.geldaura-provider-section, .geldaura-provider-verdict, .geldaura-provider-video, .geldaura-provider-source, .geldaura-provider-decision, .geldaura-provider-checklist, .geldaura-provider-alternatives, .geldaura-provider-guides, .geldaura-provider-method, .geldaura-provider-faq, .geldaura-provider-related) {
  padding-block: clamp(2.25rem, 4vw, 3.75rem);
}
.geldaura-provider-review :is(.geldaura-provider-section, .geldaura-provider-verdict, .geldaura-provider-video, .geldaura-provider-source, .geldaura-provider-decision, .geldaura-provider-checklist, .geldaura-provider-alternatives, .geldaura-provider-guides, .geldaura-provider-method, .geldaura-provider-faq, .geldaura-provider-related) h2 {
  font-size: clamp(1.55rem, 2.4vw, 2.35rem);
  line-height: 1.18;
  letter-spacing: -.035em;
  max-width: 32ch;
  margin-bottom: var(--space-lg);
}
.geldaura-provider-review .geldaura-provider-section > p:not([class]),
.geldaura-provider-review .geldaura-provider-method p { color: var(--color-ink-2); line-height: 1.8; }
.geldaura-provider-review .geldaura-provider-section > p:not([class]) { font-size: 1.0625rem; margin-block: 0 var(--space-lg); }
.geldaura-provider-review .geldaura-provider-method > div { columns: auto; }
.geldaura-provider-review .geldaura-provider-section-label { color: var(--color-brand-readable); }
.geldaura-provider-review .geldaura-provider-decision__grid { gap: var(--space-xl); }
.geldaura-provider-review .geldaura-provider-decision__grid article > p { margin-bottom: 0; }
.geldaura-provider-review .geldaura-provider-checklist li { padding-block: var(--space-lg); }
.geldaura-provider-review .geldaura-provider-comparison-bridge { border: var(--rule-hair) solid var(--color-rule); }
.geldaura-provider-review .geldaura-provider-source > a { justify-self: start; font-weight: 750; min-height: 2.75rem; display: inline-flex; align-items: center; }
.geldaura-review-card__link { color: var(--color-brand-readable); }
.geldaura-review-card a:focus-visible { outline-offset: -.2rem; }

/* Search remains useful when no result matches and beyond the first page. */
.search .archive-shell { padding-block: var(--space-xl) var(--space-2xl); }
.search .archive-item h2 { font-size: clamp(1.3rem, 2vw, 1.8rem); line-height: 1.3; }
.search .wp-block-search { margin-block: var(--space-lg) var(--space-xl); }
.search .wp-block-query-title { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.15; }
.search .wp-block-search__label { font-weight: 700; margin-bottom: var(--space-sm); display: block; }
.search .wp-block-search__inside-wrapper { gap: var(--space-xs); }
.search .wp-block-search__input { min-width: 0; border: var(--rule-hair) solid var(--color-rule); padding: var(--space-sm); border-radius: var(--radius-md); background: var(--color-paper); color: var(--color-ink); font: inherit; }
.search .wp-block-search__button { margin: 0; min-height: 3rem; padding-inline: var(--space-md); border: 0; border-radius: var(--radius-md); background: var(--color-brand); color: var(--color-paper); font: inherit; font-weight: 700; }
.search .wp-block-search__button:hover { background: var(--color-brand-readable); }
.search .wp-block-query-no-results { padding-block: var(--space-xl); max-width: 42rem; }
.search .wp-block-query-no-results h2 { font-size: var(--text-xl); }
.wp-block-query-pagination { gap: var(--space-sm); flex-wrap: wrap; margin-top: var(--space-xl); }
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding-inline: var(--space-sm); }
.wp-block-query-pagination .current { background: var(--color-ink); color: var(--color-paper); border-radius: var(--radius-sm); }
.comparison-archive > h1 { font-size: clamp(2rem, 4.4vw, 4rem); line-height: 1.1; }
.comparison-archive > p, .comparison-archive .wp-block-query-no-results { max-width: 65ch; line-height: 1.75; color: var(--color-ink-2); }
.comparison-routes { margin-block: var(--space-xl); }
.comparison-routes h2 { font-size: clamp(1.5rem, 2.4vw, 2.25rem); line-height: 1.2; margin-bottom: var(--space-lg); }
.comparison-routes > a { display: grid; gap: var(--space-xs); padding-block: var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); text-decoration: none; }
.comparison-routes > a strong { color: var(--color-brand-readable); }
.comparison-routes > a > span { color: var(--color-ink-2); font-size: var(--text-sm); }
.comparison-routes > a:hover strong { text-decoration: underline; text-underline-offset: .2em; }
.latest-reviews .geldaura-review-index { padding: 0; }
.review-directory-heading { width: min(100% - 2 * var(--page-gutter), 76rem); margin-inline: auto; padding-block: var(--space-xl) var(--space-lg); }
.review-directory-heading h1 { font-size: clamp(2.1rem, 4.4vw, 4rem); max-width: 23ch; line-height: 1.1; letter-spacing: -.04em; margin-block: var(--space-lg); }
.review-directory-heading > p:not([class]) { max-width: 65ch; color: var(--color-ink-2); line-height: 1.7; }
.review-directory-heading > a { display: inline-block; margin-top: var(--space-lg); color: var(--color-brand-readable); font-size: var(--text-sm); }
.page-id-35 .geldaura-review-index { padding-block: var(--space-xl); }
.page-id-35 .geldaura-review-index > header { margin-bottom: var(--space-lg); }
.page-id-35 .geldaura-review-index > header h2 { font-size: var(--text-xl); max-width: none; }
.review-directory-search label { display: block; font-weight: 750; margin-bottom: var(--space-xs); }
.review-directory-search input { width: min(100%, 38rem); padding: var(--space-md); min-height: 3rem; border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-md); background: var(--color-paper); color: var(--color-ink); font: inherit; }
.review-directory-search p { font-size: var(--text-sm); color: var(--color-muted); margin-block: var(--space-sm); }
.review-directory-search p { min-height: 1lh; }
.review-directory-search input:hover { border-color: var(--color-muted); }
.review-directory-categories { display: flex; gap: var(--space-sm); flex-wrap: wrap; margin-block: var(--space-lg) var(--space-xl); }
.review-directory-categories a { display: inline-flex; align-items: center; gap: var(--space-md); min-height: 2.75rem; padding: var(--space-xs) var(--space-md); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-md); text-decoration: none; font-size: var(--text-sm); }
.review-directory-categories a:hover { background: var(--color-paper-2); }
.review-directory-categories span { color: var(--color-muted); font-variant-numeric: tabular-nums; }
.geldaura-review-index [hidden] { display: none !important; }

/* Other editorial templates retain their layouts with a calmer mobile scale. */
.pillar-hero h1, .depot-guide__hero h1 { font-size: clamp(2.1rem, 4.4vw, 4.5rem); line-height: 1.1; }
.pillar-ledger__heading h2 { font-size: clamp(1.55rem, 2.5vw, 2.4rem); line-height: 1.2; }
.depot-guide__hero { min-height: 0; }
.pillar-hero, .depot-guide__hero { padding-block: clamp(2.5rem, 5vw, 5rem); }

@media (min-width: 40rem) {
  .geldaura-article-contents .geldaura-provider-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .geldaura-article-contents > summary span { display: inline; margin-inline-start: var(--space-lg); font-size: var(--text-sm); font-weight: 400; color: var(--color-muted); }
  .geldaura-provider-review .geldaura-provider-hero { padding-block: var(--space-2xl); }
}
@media (min-width: 60rem) {
  .geldaura-provider-review .geldaura-provider-hero { gap: var(--space-2xl); }
}

/* ------------------------------------------------------------------
 * Finishing pass 2026-09-27 (full audit). Same design language: only
 * spacing, contrast, focus, hyphenation and alignment are touched.
 * ------------------------------------------------------------------ */

/* Keyboard focus never lands under the sticky header (WCAG 2.4.11). */
html { scroll-padding-block-start: calc(var(--site-nav-height) + var(--space-lg)); }
html:has(body.admin-bar) { scroll-padding-block-start: calc(var(--site-nav-height) + var(--wp-admin--admin-bar--height, 32px) + var(--space-lg)); }

/* Header, main and footer touch: the root block gap left 24px paper strips between them. */
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0; }

/* German compound words hyphenate instead of breaking at an arbitrary letter. */
body { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 10 4 4; }
main :is(h1, h2, h3, dt, th, td, strong) { overflow-wrap: break-word; }
@media (min-width: 64rem) { main :is(h1, h2) { -webkit-hyphens: manual; hyphens: manual; } }

/* Small blue text uses the readable blue (brand blue is 4.51:1 on paper and fails on paper-2). */
.category-card > span,
.guide-card > div > p,
.home-hero__promise,
.section-heading > a,
.section-heading--split > a,
.mega-feature:hover strong,
.mega-feature:focus-visible strong { color: var(--color-brand-readable); }
.author-profile-card .wp-block-post-excerpt__more-link,
.author-method-link a,
.author-profile-back a { color: var(--color-brand-readable); }
.author-profile-card .wp-block-post-excerpt__more-link:hover,
.author-method-link a:hover,
.author-profile-back a:hover { color: var(--color-ink); }

/* Form fields: resting border at 3:1 (WCAG 1.4.11); decorative rules keep --color-rule. */
.search-dialog input,
.review-directory-search input { border-color: var(--color-input-border); }

/* One search style everywhere (the 404 page showed WordPress' grey default). */
.wp-block-search .wp-block-search__label { display: block; margin-bottom: var(--space-sm); font-weight: 700; }
.wp-block-search .wp-block-search__inside-wrapper { gap: var(--space-xs); }
.wp-block-search .wp-block-search__input { min-width: 0; min-height: 3rem; padding: var(--space-sm); border: var(--rule-hair) solid var(--color-input-border); border-radius: var(--radius-md); background: var(--color-paper); color: var(--color-ink); font: inherit; }
.wp-block-search .wp-block-search__button { margin: 0; min-height: 3rem; padding-inline: var(--space-md); border: 0; border-radius: var(--radius-md); background: var(--color-brand); color: var(--color-paper); font: inherit; font-weight: 700; }
.wp-block-search .wp-block-search__button:hover,
.wp-block-search .wp-block-search__button:focus-visible { background: var(--color-ink); color: var(--color-paper); }

/* Decorative flows run once instead of forever (WCAG 2.2.2). */
.thematic-visual__flow { animation-iteration-count: 1; animation-fill-mode: both; }

/* Diagram text on ink plates: readable contrast; the tiny masts are hidden on phones. */
.foundation-diagram__mast, .foundation-diagram__muted, .foundation-diagram__foot,
.depot-route__mast, .depot-route__label, .depot-route__caption, .depot-route__foot,
.depot-explainer__mast, .depot-explainer__sub, .depot-explainer__footer { fill: var(--color-on-ink-axis-text); }
@media (max-width: 48rem) {
  .foundation-diagram__mast, .foundation-diagram__foot,
  .depot-route__mast, .depot-route__foot,
  .depot-explainer__mast, .depot-explainer__footer { display: none; }
}

/* Tablet widths: related links wrap, fact labels fit their cells. */
.foundation-related a strong { white-space: normal; }
.foundation-guide__facts dt { font-size: clamp(var(--text-md), 1.1rem + 0.6vw, var(--text-lg)); overflow-wrap: break-word; }
@media (max-width: 70rem) { .foundation-guide__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Home hero: the two buttons wrap instead of overflowing the column at 960–1100px. */
.home-hero__actions { flex-wrap: wrap; }

/* Home categories: fixed visual height, so titles line up across each row. */
@media (min-width: 40rem) { .category-card .thematic-visual { height: 12rem; max-height: none; } }
@media (max-width: 39.99rem) {
  .category-card { grid-template-columns: 1.75rem minmax(0, 1fr); gap: var(--space-md); padding-block: var(--space-lg) var(--space-xl); }
  .category-card .thematic-visual { max-height: 9rem; }
}

/* Calmer vertical rhythm on phones (sections were 96px + 96px apart). */
@media (max-width: 47.99rem) {
  .home-section { padding-block: var(--space-2xl); }
  .guide-section { padding-block: var(--space-2xl); }
}

/* Touch targets of at least 24px, 44px where they sit in lists (WCAG 2.5.8). */
.foundation-guide__index a,
.foundation-guide__verdict a { display: inline-flex; align-items: center; min-height: 2.75rem; line-height: 1.2; }
.site-footer__meta nav a,
.category-card > div > a { display: inline-flex; align-items: center; min-height: 2.75rem; }

/* Missing hover states. */
.site-footer__meta nav a:hover,
.site-footer__meta nav a:focus-visible,
.footer-brand:hover { color: var(--color-brand-readable); text-decoration: underline; text-underline-offset: 0.2em; }
.archive-item h2 a:hover,
.archive-item h2 a:focus-visible { color: var(--color-brand-readable); text-decoration: underline; text-underline-offset: 0.2em; }

/* Desktop nav between 72rem and 80rem: tighter items so nothing collides with the brand or search. */
@media (min-width: 72rem) and (max-width: 80rem) {
  .nav-trigger, .nav-link { padding-inline: var(--space-2xs); }
  .brand__copy small { display: none; }
}

/* /autoren/: one left edge for the intro, cards on the same baseline, divider between columns. */
.author-archive-intro > * { margin-inline: 0 !important; }
.author-profile-grid > li { margin-block-start: 0; }
.section-kicker { color: var(--color-brand-readable); font-size: var(--text-xs); font-weight: 750; letter-spacing: 0.09em; text-transform: uppercase; }
@media (min-width: 48rem) {
  .author-profile-grid > li:nth-child(even) .author-profile-card { padding-inline: var(--space-xl) 0; border-left: var(--rule-hair) solid var(--color-rule); }
}

/* Latest provider analyses on the home page. */
.latest-reviews { padding-block-start: 0; }

/* The decision list is a real ordered list now; links keep their role. */
.comparison-list { margin: 0; padding: 0; list-style: none; }
.comparison-list > li { margin: 0; }

/* Footer statement: styled like before, but no longer an h2 on every page. */
.site-footer__statement .site-footer__title { max-width: 28ch; margin: 0; color: var(--color-ink); font-size: clamp(var(--text-xl), 5vw, var(--text-3xl)); font-weight: 800; line-height: 1.08; letter-spacing: -0.035em; }
.site-footer__consent { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
.site-footer__consent:hover, .site-footer__consent:focus-visible { color: var(--color-brand-readable); text-decoration: underline; text-underline-offset: 0.2em; }

/* /ratgeber/ hub: themed clusters above the full list (ledger style: 2px ink rule, hairline rows). */
.guide-archive > .section-kicker { margin-block-end: var(--space-xs); }
.guide-archive__lede { max-width: 60ch; color: var(--color-ink-2); font-size: var(--text-md); line-height: 1.55; }
.guide-hub { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); margin-block: var(--space-2xl) var(--space-xl); padding-block-start: var(--space-lg); border-block-start: var(--rule-strong) solid var(--color-ink); }
.guide-hub__cluster ul { margin: var(--space-sm) 0 0; padding: 0; list-style: none; border-block-start: var(--rule-hair) solid var(--color-rule); }
.guide-hub__cluster li { margin: 0; }
.guide-hub__cluster a { display: flex; align-items: center; min-height: 2.75rem; padding-block: var(--space-xs); border-block-end: var(--rule-hair) solid var(--color-rule-2); color: var(--color-ink); font-weight: 650; line-height: 1.35; text-decoration: none; }
.guide-hub__cluster a:hover, .guide-hub__cluster a:focus-visible { color: var(--color-brand-readable); }
.guide-archive__all { margin-block-start: var(--space-2xl); font-size: var(--text-xl); }
@media (min-width: 48rem) { .guide-hub { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xl) var(--space-3xl); } }

/* Breadcrumb and byline links on reviews: 24px minimum targets. */
.geldaura-provider-breadcrumb a,
.wise-breadcrumb a,
.geldaura-provider-byline a { display: inline-flex; align-items: center; min-height: 1.5rem; }

/* One H1 scale across templates (phones showed 32–45px depending on the template and even the guide):
 * short titles use --text-h1, long editorial titles --text-h1-long. The home hero keeps its display size. */
:root {
  --text-h1: clamp(2.25rem, 1.55rem + 3vw, 4.25rem);
  --text-h1-long: clamp(2rem, 1.4rem + 2.6vw, 3.75rem);
}
.archive-shell > h1,
.not-found > h1,
.comparison-archive > h1,
.author-archive-intro h1,
.review-directory-heading h1,
.geldaura-provider-review .geldaura-provider-hero__name,
.geldaura-broker-hero h1 { font-size: var(--text-h1); }
.pillar-hero h1,
.depot-guide__hero h1,
.depot-guide[data-guide] .depot-guide__hero h1,
.foundation-guide__hero h1,
.foundation-guide[data-guide] .foundation-guide__hero h1,
.geldaura-broker-comparison-hero h1,
.wise-review .wise-hero h1 { font-size: var(--text-h1-long); }

/* Pillar depth sections: long-form explanations between Einordnung and Prüfraster, same ledger language
 * as the rest of the pillar (strong ink rule on top, hairline rows, brand square markers). */
.pillar-depth h3 { max-width: 40ch; margin-block-start: var(--space-2xl); font-size: var(--text-lg); line-height: 1.3; }
.pillar-depth h3 + p { margin-block-start: var(--space-sm); }
.pillar-depth__list { max-width: 69ch; margin: var(--space-lg) 0 0; padding: 0; list-style: none; border-block-start: var(--rule-hair) solid var(--color-rule); }
.pillar-depth__list li { position: relative; padding: var(--space-md) 0 var(--space-md) 1.75rem; border-block-end: var(--rule-hair) solid var(--color-rule); color: var(--color-ink-2); line-height: 1.65; }
.pillar-depth__list li::before { position: absolute; top: calc(var(--space-md) + 0.55em); left: 0.2rem; width: 0.5rem; height: 0.5rem; background: var(--color-brand); content: ""; }
.pillar-depth__list--ordered { counter-reset: depth-item; }
.pillar-depth__list--ordered li { padding-inline-start: 2.75rem; counter-increment: depth-item; }
.pillar-depth__list--ordered li::before { top: var(--space-md); width: auto; height: auto; background: none; color: var(--color-brand-readable); font-size: var(--text-sm); font-weight: 800; line-height: 1.9; content: counter(depth-item, decimal-leading-zero); }
.pillar-depth__list strong, .pillar-depth__note strong { color: var(--color-ink); }
.pillar-depth__table { min-width: 0; margin-block-start: var(--space-xl); overflow-x: auto; }
.pillar-depth__table:focus-visible { outline: var(--rule-strong) solid var(--color-focus); outline-offset: var(--space-2xs); }
.pillar-depth__table table { width: 100%; border-collapse: collapse; }
.pillar-depth__table caption { padding-block-end: var(--space-sm); color: var(--color-muted); font-size: var(--text-xs); font-weight: 760; letter-spacing: 0.07em; text-align: left; text-transform: uppercase; }
.pillar-depth__table :where(th, td) { padding: var(--space-md) var(--space-md) var(--space-md) 0; border-block-end: var(--rule-hair) solid var(--color-rule); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.pillar-depth__table thead th { border-block-start: var(--rule-strong) solid var(--color-ink); color: var(--color-muted); font-size: var(--text-xs); font-weight: 760; letter-spacing: 0.07em; text-transform: uppercase; }
.pillar-depth__table tbody th { color: var(--color-ink); font-size: var(--text-sm); font-weight: 720; line-height: 1.5; }
.pillar-depth__table td { color: var(--color-ink-2); font-size: var(--text-sm); line-height: 1.55; }
.pillar-depth__note { max-width: 69ch; margin-block-start: var(--space-xl); padding: var(--space-lg) var(--space-xl); border-inline-start: var(--rule-strong) solid var(--color-brand); background: var(--color-paper-2); color: var(--color-ink-2); line-height: 1.65; }
.pillar-depth__note-title { margin: 0 0 var(--space-2xs); color: var(--color-ink); font-size: var(--text-xs); font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.pillar-depth__note p { margin: 0; }
@media (max-width: 44rem) {
  .pillar-depth__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pillar-depth__table :where(table, tbody, tr, th, td) { display: block; width: 100%; }
  .pillar-depth__table tbody { border-block-start: var(--rule-strong) solid var(--color-ink); }
  .pillar-depth__table tr { padding-block: var(--space-md); border-block-end: var(--rule-hair) solid var(--color-rule); }
  .pillar-depth__table :where(tbody th, td) { padding: var(--space-2xs) 0; border: 0; }
  .pillar-depth__table td { display: grid; grid-template-columns: minmax(6.5rem, 0.42fr) minmax(0, 1fr); gap: var(--space-md); }
  .pillar-depth__table td::before { color: var(--color-muted); font-size: var(--text-xs); font-weight: 760; letter-spacing: 0.06em; text-transform: uppercase; content: attr(data-label); }
  .pillar-depth__note { padding: var(--space-md) var(--space-lg); }
}

/* Author profiles: articles written or reviewed, in the same ledger style as the /ratgeber/ hub. */
.profile-posts { margin-block-start: var(--space-2xl); padding-block-start: var(--space-lg); border-block-start: var(--rule-strong) solid var(--color-ink); }
.profile-posts h2 { display: flex; align-items: baseline; gap: var(--space-sm); margin: 0; font-size: var(--text-2xl); }
.profile-posts h2 span { color: var(--color-muted); font-size: var(--text-sm); font-weight: 700; font-variant-numeric: tabular-nums; }
.profile-posts__groups { display: grid; gap: var(--space-xl); margin-block-start: var(--space-lg); }
.profile-posts__group h3 { margin: 0; color: var(--color-muted); font-size: var(--text-xs); font-weight: 760; letter-spacing: 0.07em; text-transform: uppercase; }
.profile-posts__group ul { margin: var(--space-sm) 0 0; padding: 0; list-style: none; border-block-start: var(--rule-hair) solid var(--color-rule); }
.profile-posts__group li { margin: 0; }
.profile-posts__group a { display: flex; align-items: center; min-height: 2.75rem; padding-block: var(--space-xs); border-block-end: var(--rule-hair) solid var(--color-rule-2); color: var(--color-ink); font-weight: 650; line-height: 1.35; text-decoration: none; }
.profile-posts__group a:hover, .profile-posts__group a:focus-visible { color: var(--color-brand-readable); }
@media (min-width: 60rem) { .profile-posts__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl) var(--space-3xl); } }

/* /vergleiche/: method note above the decision hub. */
.comparison-method { max-width: 69ch; margin-block-start: var(--space-2xl); }
.comparison-method h2 { margin: 0; font-size: var(--text-2xl); }
.comparison-method p { margin-block-start: var(--space-md); color: var(--color-ink-2); line-height: 1.7; }

/* /autoren/: role glossary under the profile grid. */
.author-roles { margin-block-start: var(--space-2xl); padding-block-start: var(--space-lg); border-block-start: var(--rule-strong) solid var(--color-ink); }
.author-roles h2 { margin: 0; font-size: var(--text-2xl); }
.author-roles dl { margin: var(--space-md) 0 0; }
.author-roles dl > div { display: grid; grid-template-columns: minmax(9rem, 0.4fr) minmax(0, 1fr); gap: var(--space-lg); padding-block: var(--space-md); border-block-end: var(--rule-hair) solid var(--color-rule); }
.author-roles dt { font-weight: 800; }
.author-roles dd { margin: 0; color: var(--color-ink-2); line-height: 1.6; }
@media (max-width: 44rem) { .author-roles dl > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-2xs); } }

/* Editorial pages (Methodik, Über uns, Kontakt): details blocks as a ledger FAQ, tables reuse .pillar-depth__table. */
.article-shell .pillar-depth__table { margin-block-start: var(--space-xl); }
.article-shell .wp-block-details { margin: 0; border-block-end: var(--rule-hair) solid var(--color-rule); }
.article-shell h2 + .wp-block-details { margin-block-start: var(--space-lg); border-block-start: var(--rule-strong) solid var(--color-ink); }
.article-shell .wp-block-details summary { display: flex; align-items: center; min-height: 2.75rem; padding-block: var(--space-sm); color: var(--color-ink); font-weight: 750; line-height: 1.4; cursor: pointer; }
.article-shell .wp-block-details summary:hover, .article-shell .wp-block-details summary:focus-visible { color: var(--color-brand-readable); }
.article-shell .wp-block-details > :not(summary) { margin-block: 0 var(--space-md); color: var(--color-ink-2); }

/* The sticky pillar index grew with the depth sections: keep it within the viewport on short desktop screens. */
@media (min-width: 64.01rem) {
  /* Inline padding with a matching negative margin keeps focus outlines inside the scroll box without moving the column. */
  .pillar-index { max-height: calc(100vh - var(--site-nav-height) - 2 * var(--space-xl)); margin-inline-start: calc(-1 * var(--space-2xs)); padding-inline: var(--space-2xs); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
}
