/* Shared EN/DE typography with a balanced responsive hierarchy.
   Montserrat headings and Open Sans text retain the Panaccess identity.
   Inner titles 32–46px, homepage title 32–42px, major sections 28–36px,
   feature headings 26–32px, cards 20–22px, body 16–17px.
   Compact heading leading keeps titles proportionate to readable copy. */
:root {
  --pa-type-body-family: "Open Sans", sans-serif;
  --pa-type-heading-family: "Montserrat", sans-serif;
  --pa-type-h1: clamp(2rem, calc(1.375rem + 1.875vw), 2.875rem);
  --pa-type-home-h1: clamp(2rem, calc(1.375rem + 1.5625vw), 2.625rem);
  --pa-type-section: clamp(1.75rem, calc(1.4rem + 1vw), 2.25rem);
  --pa-type-h2: clamp(1.625rem, calc(1.375rem + .65vw), 2rem);
  --pa-type-h3: clamp(1.25rem, calc(1.125rem + .25vw), 1.375rem);
  --pa-type-body: 1.0625rem;
  --pa-type-lead: 1.1875rem;
  --pa-type-intro: 1.125rem;
  --pa-type-support: 1rem;
  --pa-type-small: .875rem;
  --pa-type-label: .875rem;
  --pa-type-eyebrow: .8125rem;
  --pa-type-control: 1rem;
}

#wrapper #inner-wrap {
  font-family: var(--pa-type-body-family);
  font-size: var(--pa-type-body);
  line-height: 1.6;
}
#wrapper #inner-wrap :is(p, li, address, blockquote, .kt-blocks-info-box-text) {
  font-family: var(--pa-type-body-family) !important;
  font-size: var(--pa-type-body) !important;
  line-height: 1.6 !important;
}
#wrapper #inner-wrap :is(h1, h2, h3, h4, h5, h6):not(.pa-accessible-page-title):not(.screen-reader-text) {
  font-family: var(--pa-type-heading-family) !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
  overflow-wrap: break-word;
}
#wrapper #inner-wrap h1:not(.pa-accessible-page-title),
#wrapper #inner-wrap .pa-page-hero-heading {
  font-size: var(--pa-type-h1) !important;
  line-height: 1.15 !important;
}
#wrapper #inner-wrap h2:where(:not(.screen-reader-text)) {
  font-size: var(--pa-type-h2) !important;
  line-height: 1.3 !important;
}
#wrapper #inner-wrap h3,
#wrapper #inner-wrap .kt-blocks-info-box-title,
#wrapper #inner-wrap .panaccess-access-card h2,
#wrapper #inner-wrap .pa-layout-feature-title {
  font-size: var(--pa-type-h3) !important;
  line-height: 1.35 !important;
}
#wrapper #inner-wrap h4 { font-size: 1.25rem !important; line-height: 1.4 !important; }
#wrapper #inner-wrap h5 { font-size: 1.125rem !important; line-height: 1.4 !important; }
#wrapper #inner-wrap h6 { font-size: 1.0625rem !important; line-height: 1.4 !important; }
#wrapper #inner-wrap #team .kt-blocks-info-box-title {
  font-size: var(--pa-type-h3) !important;
  line-height: 1.35 !important;
}
#wrapper #inner-wrap :is(h1, h2, h3, h4, h5, h6) > :is(span, strong, em) {
  font: inherit !important;
  letter-spacing: inherit !important;
}


/* Section titles sit between the page title and compact feature headings. */
#wrapper #inner-wrap :is(.pa-section-heading, .ph-section-heading,
  .pbm-section-heading, .pss-section-heading) h2,
#wrapper #inner-wrap .kt-adv-heading6_a2f1a4-7c {
  font-size: var(--pa-type-section) !important;
  line-height: 1.22 !important;
}
#wrapper #inner-wrap #pa-home-title {
  font-size: var(--pa-type-home-h1) !important;
  line-height: 1.15 !important;
}

/* Lead paragraphs and compact supporting copy share roles across old/new pages. */
#wrapper #inner-wrap :is(.pa-layout-lead, .pa-lead, .pbm-lead, .pss-lead),
#wrapper #inner-wrap .kt-adv-heading6_3c4c0f-1b,
#wrapper #inner-wrap .panaccess-about-dc-copy > p:not(.panaccess-dc-eyebrow):not(.panaccess-about-dc-eyebrow),
#wrapper #inner-wrap .pa-contact-heading > p:last-child {
  font-size: var(--pa-type-lead) !important;
  line-height: 1.6 !important;
}

/* Intros are slightly larger than body text without competing with headings. */
#wrapper #inner-wrap .wp-block-paragraph,
#wrapper #inner-wrap :is(.pa-section-heading, .ph-section-heading,
  .pbm-section-heading, .pss-section-heading) > p:not([class*="eyebrow"]),
#wrapper #inner-wrap :is(.ph-visible-copy, .ph-infrastructure-copy,
  .ph-start-grid > div) > p:not([class*="eyebrow"]):not(.ph-note) {
  font-size: var(--pa-type-intro) !important;
  line-height: 1.65 !important;
}

#wrapper #inner-wrap :is(
  .pa-card, .pa-deliverable, .pa-metric, .pa-source-list, .pa-workflow,
  .pa-quality, .pa-option, .pa-faq-list, .pa-partner-note,
  .ph-card, .ph-deliverable, .ph-step, .ph-support-points, .ph-partner-note,
  .pbm-feature, .pbm-reporting, .pbm-steps, .pss-measure, .pss-use-grid, .pss-steps,
  .panaccess-dc-grid, .panaccess-dc-gallery-grid, .panaccess-access-card
) p,
#wrapper #inner-wrap .kt-blocks-info-box-text,
#wrapper #inner-wrap :is(.pbm-comparisons, .pss-report-points) li,
#wrapper #inner-wrap .pa-checks span,
#wrapper #inner-wrap .pa-report-body li strong {
  font-size: var(--pa-type-support) !important;
  line-height: 1.6 !important;
}

/* Captions, explanatory notes and metadata are readable on desktop and mobile. */
#wrapper #inner-wrap figcaption,
#wrapper #inner-wrap :is(
  .pa-caption, .pa-note, .ph-note, .pa-scope-footnote, .pss-method-note,
  .pa-contact-legal, .pa-satellite-footnote, .entry-meta, .post-navigation-sub,
  .wp-block-latest-posts__post-date, .wp-block-latest-posts__post-author
),
#wrapper #inner-wrap .pa-clarity-note p,
#wrapper #inner-wrap .pa-report-body li span,
#wrapper #inner-wrap .pa-metric details,
#wrapper #inner-wrap .pa-metric details p,
#wrapper #inner-wrap .pa-data-schema dl > div,
#wrapper #inner-wrap .pa-contact-details > span,
#wrapper #inner-wrap .pa-lightbox p,
#wrapper #inner-wrap .ph-lightbox p {
  font-family: var(--pa-type-body-family) !important;
  font-size: var(--pa-type-small) !important;
  line-height: 1.6 !important;
}
#wrapper #inner-wrap figcaption strong {
  font-family: var(--pa-type-heading-family) !important;
  font-size: var(--pa-type-support) !important;
  font-weight: 600;
  line-height: 1.5 !important;
}
#wrapper #inner-wrap :is(.pa-layout-eyebrow, .pa-eyebrow, .ph-eyebrow, .pbm-eyebrow, .pss-eyebrow,
  .panaccess-dc-eyebrow, .panaccess-about-dc-eyebrow, .pa-contact-kicker,
  .pa-contact-overline, .pa-satellite-eyebrow) {
  font-family: var(--pa-type-body-family) !important;
  font-size: var(--pa-type-eyebrow) !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  letter-spacing: .1em !important;
}
#wrapper #inner-wrap :is(.pa-card-label, .pa-metric-tag, .pa-option-label, .pa-step-output,
  .pa-schema-title, .pa-contact-label, .pbm-step-number, .pss-number),
#wrapper #inner-wrap .pa-card p.pa-card-label,
#wrapper #inner-wrap .pa-card-result strong,
#wrapper #inner-wrap .pa-jump-nav span,
#wrapper #inner-wrap .pa-report-outline summary small,
#wrapper #inner-wrap .pbm-chips span,
#wrapper #inner-wrap .pss-chips span,
#wrapper #inner-wrap .panaccess-dc-badges span,
#wrapper #inner-wrap .ph-metric-grid span,
#wrapper #inner-wrap .pa-evidence-strip span,
#wrapper #inner-wrap .pa-satellite-specs dt,
#wrapper #inner-wrap .pbm-gallery .pbm-image-action,
#wrapper #inner-wrap .pss-gallery .pss-image-action {
  font-size: var(--pa-type-label) !important;
  line-height: 1.6 !important;
}
#wrapper #inner-wrap .pa-hero-scope,
#wrapper #inner-wrap .pa-source-list strong,
#wrapper #inner-wrap .pa-quality strong,
#wrapper #inner-wrap .pa-satellite-subheading,
#wrapper #inner-wrap .pa-satellite-specs dd {
  font-size: var(--pa-type-support) !important;
  line-height: 1.6 !important;
}
#wrapper #inner-wrap .pa-evidence-strip strong,
#wrapper #inner-wrap .ph-metric-grid strong,
#wrapper #inner-wrap .pa-report-outline summary strong {
  font-size: var(--pa-type-control) !important;
  line-height: 1.5 !important;
}
#wrapper #inner-wrap .pa-partner-role {
  font-size: var(--pa-type-support) !important;
  line-height: 1.6 !important;
}

/* Only text controls are resized; lightbox close/expand icons retain their sizing. */
#wrapper #inner-wrap :is(.pa-button, .pa-text-link, .ph-button, .ph-text-link,
  .pbm-button, .pss-button, .pa-partner-button, .panaccess-access-button,
  .kb-button, .kt-button, .wp-block-button__link, .pa-faq-list summary),
#wrapper #inner-wrap .pa-layout-actions > a,
#wrapper #inner-wrap .pa-jump-nav a,
#wrapper #inner-wrap :is(input, select, textarea),
#wrapper #inner-wrap button[type="submit"] {
  font-family: var(--pa-type-body-family) !important;
  font-size: var(--pa-type-control) !important;
  line-height: 1.5 !important;
}
#wrapper #inner-wrap :is(.pa-contact-whatsapp, .pa-contact-linkedin, .pa-contact-imprint),
#wrapper #inner-wrap .pa-contact-whatsapp span {
  font-size: var(--pa-type-control) !important;
}
#wrapper #inner-wrap .pa-tabs,
#wrapper #inner-wrap .ph-tabs { flex-wrap: wrap; }
#wrapper #inner-wrap .pa-tabs button,
#wrapper #inner-wrap .ph-tabs button {
  flex: 1 1 120px;
  min-width: 0;
  font-family: var(--pa-type-body-family) !important;
  font-size: var(--pa-type-label) !important;
  line-height: 1.5 !important;
  white-space: normal;
}

/* News exports use WordPress small-font presets and nested em-sized dates. */
#wrapper #inner-wrap .wp-block-latest-posts__post-title {
  font-family: var(--pa-type-heading-family) !important;
  font-size: var(--pa-type-h3) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}
#wrapper #inner-wrap .wp-block-latest-posts__post-excerpt,
#wrapper #inner-wrap .wp-block-latest-posts__post-excerpt p {
  font-size: var(--pa-type-support) !important;
  line-height: 1.6 !important;
}


/* Calls to action stay close to the body-text scale. */
#wrapper #inner-wrap .pa-layout-actions > a,
#wrapper #inner-wrap .pa-hero .pa-actions > a {
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}
/* Match the 17px primary menu where there is room for the expanded local menu. */
@media (min-width: 1280px) {
  #wrapper #masthead .header-navigation .header-menu-container > ul > li > a {
    font-family: var(--pa-type-heading-family) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
  }
}

/* The footer follows the same families with a compact, legible text size. */
#wrapper #colophon,
#wrapper #colophon :is(p, li, address, .site-footer-section, .footer-widget-area, .site-info) {
  font-family: var(--pa-type-body-family) !important;
  font-size: var(--pa-type-small) !important;
  line-height: 1.6 !important;
}
#wrapper #colophon :is(h2, h3, h4, h5, h6, .widget-title) {
  font-family: var(--pa-type-heading-family) !important;
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

@media (max-width: 600px) {
  :root {
    --pa-type-body: 1rem;
    --pa-type-lead: 1.125rem;
    --pa-type-intro: 1.0625rem;
    --pa-type-small: .875rem;
  }
  #wrapper #inner-wrap .pa-data-schema :is(dt, dd) { overflow-wrap: anywhere; }
  #wrapper #inner-wrap .pa-jump-nav a { white-space: normal; }
}

/* Balance multiline titles; preserve the original section and card spacing. */
#wrapper #inner-wrap :is(h1, h2, h3):not(.pa-accessible-page-title):not(.screen-reader-text) {
  text-wrap: balance;
}
