/* Editorial page treatments for About, the two legal pages and the newsletter sign-up page. */
body.page-id-28 .nx-layout-full .nx-content { max-width: 1120px; }
body.page-id-28 .nx-single .entry-content { max-width: none; margin: 0; }
.nx-about { color: var(--nx-text); }
.nx-about-intro { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 5vw, 72px); padding: 0 0 clamp(32px, 4vw, 56px); }
.nx-about-intro > :last-child { margin-bottom: 0; }
.nx-about-intro-title, .nx-about-intro-copy { min-width: 0; }
.nx-about .nx-about-intro h1 { max-width: 11ch; margin: 0 0 22px; font-size: clamp(44px, 6.2vw, 76px); line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.nx-about-intro .nx-about-names { margin: 0 0 28px; color: var(--nx-brand); font-weight: 600; }
.nx-about-intro .nx-lead { margin: 0 0 10px; color: var(--nx-heading); font: 600 clamp(22px, 3vw, 30px)/1.3 var(--nx-font-heading); letter-spacing: -.025em; }
.nx-about-intro .nx-about-deck { margin: 0 0 30px; color: var(--nx-heading); font-size: clamp(19px, 2.3vw, 24px); line-height: 1.42; }
.nx-about-intro .nx-about-opening { max-width: 70ch; margin-bottom: 0; }
.nx-about-person { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: clamp(28px, 5vw, 76px); padding: clamp(42px, 6vw, 76px) 0; border-top: 1px solid var(--nx-border); }
.nx-about-person.is-reversed { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.nx-about-person.is-reversed .nx-about-portrait { grid-column: 2; grid-row: 1; }
.nx-about-person.is-reversed .nx-about-bio { grid-column: 1; grid-row: 1; }
.nx-about-portrait { width: min(100%, 420px); margin: 0; }
.nx-about-person.is-reversed .nx-about-portrait { justify-self: end; }
.nx-about-portrait img { display: block; width: 100%; height: auto; }
.nx-about-portrait .wp-caption { max-width: 100%; margin: 0; }
.nx-about-portrait .wp-caption-text { margin: 11px 0 0; color: var(--nx-muted); font-size: 14px; line-height: 1.4; }
.nx-about-portrait figcaption { margin-top: 11px; color: var(--nx-muted); font-size: 14px; line-height: 1.4; }
.nx-about .nx-about-bio h2 { margin: 0 0 28px; font-size: clamp(30px, 3.5vw, 44px); line-height: 1.2; letter-spacing: -.025em; }
.nx-about-bio p { max-width: 65ch; }
.nx-about-ending { max-width: 70ch; margin: 0 auto; padding: clamp(42px, 6vw, 76px) 0 0; border-top: 1px solid var(--nx-border); font-size: clamp(19px, 2vw, 22px); line-height: 1.65; }
.nx-about-ending p:last-child { margin-bottom: 0; }

body.page-id-456 .nx-layout-full .nx-content,
body.page-id-464 .nx-layout-full .nx-content { max-width: 900px; }
body.page-id-456 .nx-single .entry-header,
body.page-id-464 .nx-single .entry-header { max-width: 680px; margin: 0 auto 42px; padding-bottom: 24px; border-bottom: 1px solid var(--nx-border); }
body.page-id-456 .nx-single .entry-title,
body.page-id-464 .nx-single .entry-title { margin-bottom: 0; }
.nx-legal { max-width: 70ch; margin-inline: auto; overflow-wrap: anywhere; }
.nx-legal-body { line-height: 1.7; }
.nx-single .entry-content .nx-legal-body h2 { margin: 2.2em 0 .65em; font-size: clamp(24px, 3vw, 30px); line-height: 1.3; letter-spacing: -.025em; scroll-margin-top: 110px; hyphens: auto; }
.nx-legal-body h2:first-child { margin-top: 0; }
.nx-single .entry-content .nx-legal-body h3 { margin: 1.8em 0 .6em; font-size: 21px; line-height: 1.35; }
.nx-legal-body p, .nx-legal-body ol, .nx-legal-body ul { margin: 0 0 1.25em; }
.nx-legal-body ol, .nx-legal-body ul { padding-left: 1.5em; }
.nx-legal-body li + li { margin-top: .4em; }
.nx-legal-body a, .nx-legal-toc a { text-decoration: underline; text-underline-offset: 3px; }
.nx-legal-toc { margin: 0 0 48px; padding: 22px 0; border-block: 1px solid var(--nx-border); font-size: 15px; line-height: 1.55; }
.nx-legal-toc ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 30px; margin: 0; padding: 0; list-style: none; }
.nx-legal-toc li { min-width: 0; }
@media (max-width: 720px) {
  .nx-about-intro { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-bottom: 32px; }
  .nx-about .nx-about-intro h1 { margin-bottom: 12px; }
  .nx-about-intro .nx-about-names { margin-bottom: 0; }
  .nx-about-intro .nx-about-deck { margin-bottom: 18px; }
  .nx-about-person, .nx-about-person.is-reversed { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .nx-about-person.is-reversed .nx-about-portrait,
  .nx-about-person.is-reversed .nx-about-bio { grid-column: 1; grid-row: auto; }
  .nx-about-person.is-reversed .nx-about-portrait { justify-self: start; }
  .nx-about-portrait { width: min(100%, 480px); }
  .nx-legal-toc ol { grid-template-columns: minmax(0, 1fr); }
}

/*
 * Newsletter sign-up page (slug newsletter-anmelden). Its page ID differs between local and
 * live, so the wider column is keyed to the page's own wrapper through :has() instead of a
 * page-id class; browsers without :has() keep the default reading column, which still works.
 */
.nx-layout-full .nx-content:has(.nx-newsletter) { max-width: 1120px; }
.nx-single .entry-content:has(> .nx-newsletter) { max-width: none; margin: 0; }
.nx-newsletter { display: grid; gap: clamp(48px, 7vw, 88px); color: var(--nx-text); font-size: 18px; line-height: 1.6; }
.nx-single .nx-newsletter :is(h2, h3, p, ul, ol, li) { margin: 0; }
.nx-single .nx-newsletter h2, .nx-single .nx-newsletter h3 { color: var(--nx-heading); text-wrap: balance; }
.nx-single .nx-newsletter p, .nx-newsletter li { text-wrap: pretty; }
.nx-newsletter .nx-nowrap { white-space: nowrap; }
.nx-newsletter__hero { overflow: hidden; background: #f3f4f8; border: 1px solid var(--nx-border); border-radius: 6px; }
.nx-newsletter__hero-img { display: block; width: 100%; height: 120px; object-fit: cover; object-position: 85% center; }
.nx-newsletter__hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 8px 16px 16px; }
.nx-newsletter__intro { display: grid; align-content: start; gap: 16px; }
.nx-single .nx-newsletter .nx-newsletter__kicker { color: var(--nx-brand); font: 600 var(--nx-type-label)/1.4 var(--nx-font-body); letter-spacing: .08em; text-transform: uppercase; }
.nx-single .nx-newsletter h2.nx-newsletter__headline { font-size: clamp(28px, 4.2vw, 44px); line-height: 1.15; letter-spacing: -.03em; }
.nx-single .nx-newsletter .nx-newsletter__lead { color: var(--nx-heading); font-size: clamp(18px, 2vw, 21px); line-height: 1.55; }
.nx-single .nx-newsletter .nx-newsletter__ticks { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 0; list-style: none; }
.nx-newsletter__ticks li { position: relative; padding-left: 30px; color: var(--nx-heading); font-weight: 600; }
.nx-newsletter__ticks li::before { content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px; border-radius: 50%; background: var(--nx-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 10.5 2.6 2.6L14 7.5'/%3E%3C/svg%3E") center / 20px no-repeat; }
.nx-newsletter__form-card { scroll-margin-top: 110px; padding: 24px 20px; background: #fff; border: 1px solid var(--nx-border); border-top: 4px solid var(--nx-brand); border-radius: 6px; box-shadow: 0 18px 40px -20px rgba(15, 23, 42, .35); }
.nx-single .nx-newsletter h2.nx-newsletter__form-title { margin-bottom: 18px; font-size: clamp(22px, 2.4vw, 26px); line-height: 1.25; letter-spacing: -.02em; }
.nx-single .nx-newsletter .nx-newsletter__form-card form.sib_signup_form p { margin: 0 0 16px; }
.nx-newsletter__form-card form.sib_signup_form .sib-default-btn { width: 100%; }
.nx-single .nx-newsletter .nx-newsletter__section-title { font-size: clamp(26px, 3.4vw, 36px); line-height: 1.2; letter-spacing: -.025em; }
.nx-newsletter__benefits { display: grid; gap: 32px; text-align: center; }
.nx-newsletter__cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; text-align: left; }
.nx-newsletter__card { display: grid; align-content: start; gap: 10px; padding: 24px; border: 1px solid var(--nx-border); border-radius: 6px; }
.nx-newsletter__card::before { content: ""; width: 48px; height: 48px; margin-bottom: 6px; border-radius: 6px; background: rgba(62, 199, 245, .16) var(--nx-icon) center / 26px no-repeat; }
.nx-newsletter__card--tips { --nx-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233200ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-4 10.5c.7.7 1 1.5 1 2.5h6c0-1 .3-1.8 1-2.5A6 6 0 0 0 12 3z'/%3E%3C/svg%3E"); }
.nx-newsletter__card--mail { --nx-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233200ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.nx-newsletter__card--clear { --nx-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233200ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2V5z'/%3E%3Cpath d='M8 7h7M8 11h5'/%3E%3C/svg%3E"); }
.nx-newsletter__card--free { --nx-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233200ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E"); }
.nx-single .nx-newsletter .nx-newsletter__card h3 { font-size: 20px; line-height: 1.3; }
.nx-single .nx-newsletter .nx-newsletter__card p { font-size: 17px; line-height: 1.55; }
/* The steps sit in the hero: after the form on phones, under the intro beside the form from 900px. */
.nx-newsletter__hero-steps { display: grid; gap: 20px; padding-top: 24px; border-top: 1px solid var(--nx-border); }
.nx-single .nx-newsletter h2.nx-newsletter__steps-title { font-size: 20px; line-height: 1.3; letter-spacing: -.01em; }
.nx-single .nx-newsletter .nx-newsletter__step-list { display: grid; gap: 20px; padding: 0; list-style: none; counter-reset: nx-step; }
.nx-newsletter__step-list li { position: relative; display: grid; gap: 6px; padding-left: 60px; counter-increment: nx-step; }
.nx-newsletter__step-list li::before { content: counter(nx-step); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 44px; height: 44px; color: #fff; background: var(--nx-brand); border-radius: 50%; font: 600 20px/1 var(--nx-font-heading); }
.nx-single .nx-newsletter .nx-newsletter__step-list h3 { padding-top: 8px; font-size: 18px; line-height: 1.3; }
.nx-single .nx-newsletter .nx-newsletter__step-list p { font-size: 17px; line-height: 1.55; }
.nx-newsletter__cta { display: grid; justify-items: center; gap: 18px; padding: clamp(36px, 6vw, 64px) 20px; color: #fff; background: var(--nx-brand); border-radius: 6px; text-align: center; }
.nx-single .nx-newsletter .nx-newsletter__cta-title { max-width: 24ch; color: #fff; font: 600 clamp(24px, 3.4vw, 36px)/1.2 var(--nx-font-heading); letter-spacing: -.025em; text-wrap: balance; }
.nx-single .nx-newsletter .nx-newsletter__btn { display: inline-block; padding: 14px 32px; color: var(--nx-brand); background: #fff; border-radius: 3px; font-weight: 600; text-decoration: none; }
.nx-single .nx-newsletter .nx-newsletter__btn:hover, .nx-single .nx-newsletter .nx-newsletter__btn:focus { color: #fff; background: var(--nx-heading); }
.nx-newsletter__cta .nx-newsletter__btn:focus-visible, .nx-newsletter__cta a:focus-visible { outline-color: #fff; }
.nx-single .nx-newsletter .nx-newsletter__privacy { max-width: 60ch; font-size: 16px; color: rgba(255, 255, 255, .88); }
.nx-single .nx-newsletter .nx-newsletter__privacy a { color: #fff; }
.nx-single .nx-newsletter .nx-newsletter__cta-text { max-width: 46ch; color: #fff; font-size: clamp(18px, 2vw, 20px); line-height: 1.55; }
@media (min-width: 600px) {
  .nx-newsletter__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nx-newsletter__hero-img { height: clamp(160px, 24vw, 270px); }
  .nx-newsletter__hero-grid { padding: 8px 32px 32px; }
  .nx-newsletter__form-card { padding: 28px; }
}
@media (min-width: 900px) {
  /* The form spans both rows so the intro and the steps together match its height. */
  .nx-newsletter__hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); grid-template-areas: "intro form" "steps form"; grid-template-rows: auto 1fr; align-items: start; gap: 40px 48px; padding: 0 48px 48px; }
  /* The intro moves up over the empty left part of the illustration band. */
  .nx-newsletter__intro { grid-area: intro; max-width: 30rem; margin-top: calc(48px - clamp(160px, 24vw, 270px)); }
  .nx-newsletter__form-card { grid-area: form; }
  .nx-newsletter__hero-steps { grid-area: steps; max-width: 30rem; padding-top: 32px; }
  .nx-single .nx-newsletter .nx-newsletter__step-list { gap: 32px; }
}
@media (min-width: 1100px) {
  .nx-newsletter__cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
