/* Kanzlei Diehl Boutique 2.5.0 — approved article typography. */
:root {
  --kdb-font-body: Gelasio, Georgia, "Times New Roman", serif;
  --kdb-reading-width: 38rem;
  --kdb-body-size: 1.0625rem;
  --kdb-post-h1: clamp(1.8rem, 1.3rem + 2.1vw, 2.75rem);
  --kdb-post-h2: clamp(1.45rem, 1.2rem + .9vw, 1.8rem);
  --kdb-post-h3: clamp(1.2rem, 1.1rem + .3vw, 1.35rem);
}
body {
  font-family: var(--kdb-font-body);
  font-size: var(--kdb-body-size);
  line-height: 1.7;
}
/* Other page layouts keep their established content widths and type sizes. */
:is(h1,h2,h3,h4,h5,h6) {
  -webkit-hyphens: manual;
  hyphens: manual;
  text-wrap: balance;
}
.page-content :is(p,li) {
  hyphenate-limit-chars: 8 4 4;
}
/* All new rules are scoped to articles; card and page layouts stay independent. */
.single-entry .page-content--single,
.single-entry .single-entry__intro {
  width: min(100%, var(--kdb-reading-width));
  max-width: var(--kdb-reading-width);
  margin-left: auto;
  margin-right: auto;
}
.single-entry .page-content--single {
  --kdb-content: var(--kdb-reading-width);
  font-size: var(--kdb-body-size);
  line-height: 1.7;
}
.single-entry .page-content--single :where(p,li) {
  font-size: var(--kdb-body-size);
  line-height: 1.7;
  text-wrap: pretty;
  -webkit-hyphens: auto;
  hyphens: auto;
  hyphenate-limit-chars: 8 4 4;
}
.single-entry .page-content--single > p:first-child {
  font-size: var(--kdb-body-size);
}
.single-entry .single-entry__intro--post .single-entry__title {
  max-width: 100%;
  font-size: var(--kdb-post-h1);
  line-height: 1.12;
  letter-spacing: -.012em;
}
.single-entry .page-content--single h2 {
  font-size: var(--kdb-post-h2);
  line-height: 1.25;
  letter-spacing: -.01em;
}
.single-entry .page-content--single h3 {
  font-size: var(--kdb-post-h3);
  line-height: 1.25;
  letter-spacing: 0;
}
.single-entry .page-content--single h4 {
  font-size: 1.2rem;
  line-height: 1.3;
}
/* A quiet lead: regular weight and dark ink, one pixel larger on desktop. */
.single-entry .single-entry__lead {
  max-width: 100%;
  font-family: var(--kdb-font-body);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--kdb-text);
  margin-bottom: 1.7rem;
  -webkit-hyphens: manual;
  hyphens: manual;
}
.single-entry .single-entry__lead p {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  -webkit-hyphens: manual;
  hyphens: manual;
}
/* Article images retain the original composition, including on mobile. */
.single-entry .single-entry__featured-media {
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.single-entry .single-entry__featured-frame {
  padding: 0;
  background: transparent;
  border: 0;
}
.single-entry .single-entry__featured-image {
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 10px;
}
/* Portraits and squares are also uncropped, with a modest height limit. */
.single-entry .single-entry__featured-media--portrait .single-entry__featured-image,
.single-entry .single-entry__featured-media--square .single-entry__featured-image {
  width: auto;
  max-width: 100%;
  max-height: min(72vh, 640px);
  margin-inline: auto;
}
.single-entry .single-entry__intro .eyebrow {
  font-size: .8125rem;
  font-weight: 500;
  line-height: 1.4;
  -webkit-hyphens: manual;
  hyphens: manual;
}
@media (max-width: 720px) {
  .single-entry .single-entry__lead { font-size: var(--kdb-body-size); }
}
/* Compact card headings keep long German titles readable in three columns. */
.page-content .wp-block-group.is-style-kdb-panel h3,
.page-content .wp-block-columns .wp-block-group.is-style-kdb-panel h3 {
  font-size: clamp(1.3rem, 1.1rem + .6vw, 1.55rem);
  line-height: 1.22;
}
.page-content .is-style-kdb-panel p:not(.eyebrow) {
  font-size: 1rem;
  line-height: 1.55;
  -webkit-hyphens: manual;
  hyphens: manual;
}


/* 2.5.1: Approved typography for pages and editorial overviews. */
:root{--kdb-page-h1:clamp(2rem,1.5rem + 1.5vw,2.75rem);--kdb-page-h2:clamp(1.6rem,1.25rem + 1vw,1.875rem);--kdb-page-h3:clamp(1.3rem,1.1rem + .6vw,1.55rem);--kdb-prose:650px}
body:is(.page,.blog) .page-title,body:is(.page,.blog) .hero__title,body:is(.page,.blog) .kdb-knowledge__intro h1,body:is(.page,.blog) .kdb-article-index > header h1{font-size:var(--kdb-page-h1);line-height:1.12;letter-spacing:-.012em;max-width:100%;font-weight:600!important;hyphens:manual;text-wrap:balance}
body:is(.page,.blog) .hero__title--claim{max-width:12ch}
body:is(.page,.blog) main h2{font-size:var(--kdb-page-h2)!important;line-height:1.25;letter-spacing:-.01em}
body:is(.page,.blog) main h3{font-size:var(--kdb-page-h3)!important;line-height:1.25;letter-spacing:0}
body:is(.page,.blog) .hero__lead,body:is(.page,.blog) .page-lead{font-size:18px;line-height:1.6;hyphens:manual;-webkit-hyphens:manual}
body:is(.page,.blog) .hero__lead p,body:is(.page,.blog) .page-lead p{font-size:inherit;line-height:inherit;hyphens:manual;-webkit-hyphens:manual}
body:is(.page,.blog) .page-lead{color:var(--kdb-text)}
body:is(.page,.blog) .eyebrow{font-size:13px;line-height:1.4;letter-spacing:.1em;hyphens:manual;-webkit-hyphens:manual}
/* Reading measures apply to prose, not to multi-column layouts. */
body.page-template-template-focus-area .page-content--focus > :is(p,ul,ol,h2,h3,h4,blockquote),
body.page-template-template-venture .page-content--focus > :is(p,ul,ol,h2,h3,h4,blockquote),
body.page-template-template-landing-hub .page-content > :is(p,ul,ol,h2,h3,h4,blockquote),
body.page-template-template-topic-directory .topic-directory > :is(p,ul,ol,h2,h3,h4,blockquote){max-width:var(--kdb-prose)!important}
body.page-template-template-legal .page-content--legal{--kdb-content:var(--kdb-prose);max-width:var(--kdb-prose)}
body.page-id-3 .page-content--legal,body.page-id-520 .page-content--legal,body.page-id-57 .page-content--legal,body.page-id-361 .page-content--legal{--kdb-content:var(--kdb-prose);max-width:var(--kdb-prose)}
body:is(.page,.blog) .page-content p:not(.eyebrow):not([class*="__eyebrow"]),body:is(.page,.blog) .page-content li{font-size:17px;line-height:1.7}
body:is(.page,.blog) .page-content :is(.card,.is-style-kdb-panel) p:not(.eyebrow),body:is(.page,.blog) .network-partner-card p,body:is(.page,.blog) .entry-card__excerpt{font-size:16px;line-height:1.55;hyphens:manual;-webkit-hyphens:manual}
body:is(.page,.blog) .page-content .card__link a,body:is(.page,.blog) .network-partner-card__link a{font-family:var(--kdb-font-label);font-size:13px;font-weight:500}
body:is(.page,.blog) .network-partner-card h3{font-size:clamp(1.3rem,1.1rem + .4vw,1.45rem)!important;line-height:1.25}
body:is(.page,.blog) .network-partner-card__text,body:is(.page,.blog) .network-partners__intro{color:var(--kdb-text-soft)}
body:is(.page,.blog) .contact-content p{font-size:17px!important;line-height:1.7}
body:is(.page,.blog) .contact-card .contact-card__heading{font-size:clamp(1.35rem,1.15rem + .5vw,1.65rem)!important;line-height:1.25}
/* Overview and article lists share the display face with all other headings. */
body:is(.page,.blog) .kdb-knowledge__intro,body:is(.page,.blog) .kdb-knowledge__preamble.page-content{max-width:650px}
body:is(.page,.blog) .kdb-knowledge__preamble.page-content > *{max-width:100%}
body:is(.page,.blog) .kdb-knowledge__body h2{font-size:var(--kdb-page-h3)!important;line-height:1.25;overflow-wrap:break-word}
body:is(.page,.blog) .kdb-knowledge__body p{font-size:16px;line-height:1.6}
body:is(.page,.blog) .kdb-knowledge__news h2{font-size:clamp(1.4rem,1.2rem + .5vw,1.75rem)!important}
body:is(.page,.blog) .kdb-article-index__list,body:is(.page,.blog) .kdb-article-index__search{max-width:760px}
body:is(.page,.blog) .kdb-article-index__item h2{font-family:var(--kdb-font-display);font-size:clamp(1.35rem,1.2rem + .5vw,1.5rem)!important;line-height:1.25}
body:is(.page,.blog) .kdb-article-index__item p{font-size:16px;line-height:1.6}
body:is(.page,.blog) .kdb-article-index__item time,body:is(.page,.blog) .kdb-article-index__count{font-family:var(--kdb-font-label);font-size:14px;color:var(--kdb-text-soft)}
body:is(.page,.blog) .kdb-article-index__search input{font-size:16px}
body:is(.page,.blog) .entry-card h2,body:is(.page,.blog) .kdb-publication-item h3{font-size:clamp(1.3rem,1.1rem + .5vw,1.45rem)!important;line-height:1.25}
body:is(.page,.blog) .topic-directory__items{max-width:700px}
body:is(.page,.blog) .topic-directory__item h3{font-family:var(--kdb-font-display);font-size:clamp(1.3rem,1.1rem + .5vw,1.45rem)!important;line-height:1.3}
body:is(.page,.blog) .topic-directory__item p{font-size:16px!important;line-height:1.55!important;color:var(--kdb-text-soft)}
body:is(.page,.blog) .topic-directory__nav{background:var(--kdb-surface-soft);border-color:var(--kdb-accent)}
/* Generated policy content needs its own selectors. */
body:is(.page,.blog) #cmplz-document{max-width:650px;font-size:17px;line-height:1.7}
body:is(.page,.blog) #cmplz-document :is(p,li){font-size:17px;line-height:1.7}
body:is(.page,.blog) #cmplz-document h2{font-size:var(--kdb-page-h2)!important;line-height:1.25}
body:is(.page,.blog) #cmplz-document h3{font-size:var(--kdb-page-h3)!important;line-height:1.3}
body:is(.page,.blog) #cmplz-document :is(summary,button,label){font-size:15px}
@media(max-width:720px){body:is(.page,.blog) .hero__lead,body:is(.page,.blog) .page-lead{font-size:17px}}


/* Restrained reading suggestions, scoped to article cards on advisory pages. */
.landing-hub-posts{scroll-margin-top:100px}
.landing-hub-posts .entry-card{
  min-width:0;padding-top:1rem;background:transparent;border:0;
  border-top:1px solid var(--kdb-line);border-radius:0;box-shadow:none;overflow:visible;
}
.landing-hub-posts .entry-card__thumb{border-radius:6px;overflow:hidden}
.landing-hub-posts .entry-card__thumb-frame{aspect-ratio:2 / 1;background:var(--kdb-surface-soft)}
.landing-hub-posts .entry-card__thumb-image,
.landing-hub-posts .entry-card__thumb img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;box-shadow:none;border-radius:0}
.landing-hub-posts .entry-card__thumb--contain .entry-card__thumb-frame{padding:.5rem;background:var(--kdb-surface-soft)}
.landing-hub-posts .entry-card__thumb--contain .entry-card__thumb-image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:none}
.landing-hub-posts .entry-card__content{padding:.9rem 0 0}
.landing-hub-posts .entry-meta{font-size:13px;line-height:1.4;margin-bottom:.5rem;gap:0}
.landing-hub-posts .entry-meta span:not(:first-child){display:none}
body:is(.page,.blog) .landing-hub-posts .entry-card h2.entry-card__title{
  font-family:var(--kdb-font-display);font-size:clamp(1.25rem,1.1rem + .35vw,1.375rem)!important;
  font-weight:600;line-height:1.28;margin:.3rem 0 .6rem;letter-spacing:0;
}
.landing-hub-posts .entry-card__excerpt{
  color:var(--kdb-text-soft);font-size:16px;line-height:1.55;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;
}
body:is(.page,.blog) .landing-hub-posts .entry-card__excerpt p{font-size:16px!important;line-height:1.55;margin:0}
