/* FALK Content Publisher 1.2 – high-contrast editorial article system */
.falk-article{
  --falk-navy:#0b1f33;
  --falk-navy-2:#102a43;
  --falk-navy-3:#173a59;
  --falk-gold:#d1ad5a;
  --falk-gold-strong:#e3c776;
  --falk-paper:#0b1d2d;
  --falk-text:#e8edf2;
  --falk-muted:#aebbc6;
  --falk-on-dark:#f7f9fc;
  --falk-on-dark-muted:#d7e0e8;
  --falk-dark-border:rgba(209,173,90,.32);
  --falk-shadow:0 14px 34px rgba(11,31,51,.13);
  box-sizing:border-box;
  max-width:78ch;
  margin-inline:auto;
  color:var(--falk-text);
  font-family:inherit;
  font-size:clamp(1rem,.98rem + .14vw,1.08rem);
  line-height:1.78;
  overflow-wrap:anywhere;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.falk-article *, .falk-article *::before, .falk-article *::after{box-sizing:border-box}
.falk-article > :first-child{margin-top:0}
.falk-article p{margin:0 0 1.18em}
.falk-article .falk-lead{font-size:clamp(1.08rem,1.04rem + .32vw,1.24rem);line-height:1.7;color:#d4dde5;font-weight:450;margin-bottom:1.7em}
.falk-article h2{margin:2.4em 0 .72em;color:#f7f9fc;font-size:clamp(1.46rem,1.28rem + .85vw,2rem);line-height:1.22;letter-spacing:-.018em;font-weight:780}
.falk-article h3{margin:1.82em 0 .52em;color:#f0d58e;font-size:clamp(1.16rem,1.06rem + .52vw,1.43rem);line-height:1.3;font-weight:740}
.falk-article h4{color:#f7f9fc;font-weight:730}
.falk-article strong{color:#f7f9fc;font-weight:750}
.falk-article a{color:#f0d58e;font-weight:680;text-decoration:underline;text-decoration-color:rgba(240,213,142,.5);text-underline-offset:.18em;text-decoration-thickness:.08em;transition:color .18s ease,text-decoration-color .18s ease}
.falk-article a:hover{color:#fff3ca;text-decoration-color:currentColor}
.falk-article a:focus-visible{outline:3px solid var(--falk-gold);outline-offset:3px;border-radius:3px}
.falk-article ul,.falk-article ol{padding-left:1.42em;margin:0 0 1.4em}
.falk-article li{margin:.46em 0}
.falk-article blockquote{margin:1.6rem 0;padding:1.2rem 1.35rem;border:1px solid var(--falk-dark-border);border-left:4px solid var(--falk-gold);border-radius:10px;background:#132a3e;color:var(--falk-on-dark);box-shadow:var(--falk-shadow)}
.falk-article blockquote p:last-child{margin-bottom:0}

/* Theme-proof normal reading layer on the dark FALK website. */
.falk-article :where(p,li,dd,dt){color:#e1e7ec}
.falk-article > :where(p,ul,ol,blockquote,h2,h3,h4,figure,table,div){max-width:100%}
.falk-article code{padding:.12em .34em;border:1px solid rgba(240,213,142,.2);border-radius:5px;background:#10273b;color:#f0d58e}
.falk-article mark{background:#ddb75f;color:#071522;padding:.05em .18em}

/* Dark editorial surfaces: no pastel/light boxes. */
.falk-article .falk-key-takeaways,
.falk-article .falk-callout,
.falk-article .falk-example,
.falk-article .falk-checklist-box,
.falk-article .falk-faq,
.falk-article .falk-sources,
.falk-article .falk-cta{
  position:relative;
  isolation:isolate;
  border-radius:14px;
  padding:clamp(1.15rem,2.8vw,1.7rem);
  margin:1.75rem 0;
  color:var(--falk-on-dark) !important;
  border:1px solid var(--falk-dark-border);
  box-shadow:var(--falk-shadow);
  overflow:hidden;
}
.falk-article .falk-key-takeaways::before,
.falk-article .falk-callout::before,
.falk-article .falk-example::after,
.falk-article .falk-checklist-box::before,
.falk-article .falk-faq::before,
.falk-article .falk-sources::before,
.falk-article .falk-cta::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--falk-gold);
  z-index:-1;
}
.falk-article .falk-key-takeaways{background:linear-gradient(145deg,#0e263d 0%,#133753 100%)}
.falk-article .falk-callout{background:linear-gradient(145deg,#132a3e 0%,#17344d 100%)}
.falk-article .falk-callout-warning{background:linear-gradient(145deg,#2f2718 0%,#3b3019 100%);border-color:rgba(227,199,118,.42)}
.falk-article .falk-example{background:linear-gradient(145deg,#172939 0%,#1a3348 100%);padding-top:2.95rem}
.falk-article .falk-checklist-box{background:linear-gradient(145deg,#0f2942 0%,#133b5c 100%)}
.falk-article .falk-faq{background:linear-gradient(145deg,#142638 0%,#172f46 100%)}
.falk-article .falk-sources{background:linear-gradient(145deg,#111e2b 0%,#172839 100%);font-size:.94em}
.falk-article .falk-cta{background:linear-gradient(135deg,#081826 0%,#0d2b47 60%,#123c5e 100%);border-color:rgba(227,199,118,.42);box-shadow:0 18px 46px rgba(11,31,51,.2)}

/* Theme-proof text colors inside dark surfaces. */
.falk-article .falk-key-takeaways :is(h2,h3,h4,p,li,strong,em),
.falk-article .falk-callout :is(h2,h3,h4,p,li,strong,em),
.falk-article .falk-example :is(h2,h3,h4,p,li,strong,em),
.falk-article .falk-checklist-box :is(h2,h3,h4,p,li,strong,em),
.falk-article .falk-faq :is(h2,h3,h4,p,li,strong,em),
.falk-article .falk-sources :is(h2,h3,h4,p,li,strong,em),
.falk-article .falk-cta :is(h2,h3,h4,p,li,strong,em){color:var(--falk-on-dark) !important}
.falk-article .falk-key-takeaways :is(h2,h3),
.falk-article .falk-callout :is(h2,h3),
.falk-article .falk-checklist-box :is(h2,h3),
.falk-article .falk-faq :is(h2,h3),
.falk-article .falk-sources :is(h2,h3),
.falk-article .falk-cta :is(h2,h3){margin-top:0}
.falk-article .falk-key-takeaways a,
.falk-article .falk-callout a,
.falk-article .falk-example a,
.falk-article .falk-checklist-box a,
.falk-article .falk-faq a,
.falk-article .falk-sources a{color:var(--falk-gold-strong) !important;text-decoration-color:rgba(227,199,118,.62)}
.falk-article .falk-key-takeaways a:hover,
.falk-article .falk-callout a:hover,
.falk-article .falk-example a:hover,
.falk-article .falk-checklist-box a:hover,
.falk-article .falk-faq a:hover,
.falk-article .falk-sources a:hover{color:#f1d992 !important;text-decoration-color:currentColor}
.falk-article .falk-callout-warning :is(h2,h3,h4){color:#f4d98f !important}
.falk-article .falk-example::before{content:"Praxisbeispiel";position:absolute;top:1.1rem;left:1.45rem;color:var(--falk-gold-strong);font-weight:820;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.falk-article .falk-example p:last-child,
.falk-article .falk-callout p:last-child,
.falk-article .falk-key-takeaways p:last-child,
.falk-article .falk-checklist-box p:last-child,
.falk-article .falk-faq p:last-child,
.falk-article .falk-sources p:last-child,
.falk-article .falk-cta p:last-child{margin-bottom:0}

/* Lists and checklists */
.falk-article .falk-checklist{list-style:none;padding-left:0;margin-bottom:.2rem}
.falk-article .falk-checklist li{position:relative;padding-left:1.95em;margin:.66em 0}
.falk-article .falk-checklist li::before{content:"✓";position:absolute;left:0;top:-.02em;color:var(--falk-gold-strong);font-weight:900;font-size:1.05em}

/* Step cards deliberately use the same dark family to avoid visual noise. */
.falk-article .falk-step{position:relative;padding:1.08rem 1.05rem 1.08rem 3.65rem;margin:1rem 0;border:1px solid rgba(209,173,90,.24);border-radius:12px;background:linear-gradient(145deg,#152b3e,#18354c);color:var(--falk-on-dark) !important;box-shadow:0 10px 26px rgba(11,31,51,.1)}
.falk-article .falk-step :is(h3,p,strong,em,li){color:var(--falk-on-dark) !important}
.falk-article .falk-step a{color:var(--falk-gold-strong) !important}
.falk-article .falk-step-number{position:absolute;left:1rem;top:1.08rem;width:1.9rem;height:1.9rem;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--falk-gold);color:var(--falk-navy) !important;font-weight:850;font-size:.86rem;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.falk-article .falk-step h3{margin:.05rem 0 .45rem}

/* Tables */
.falk-article .falk-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.65rem 0;border:1px solid rgba(209,173,90,.26);border-radius:12px;background:#12283b;box-shadow:0 12px 30px rgba(11,31,51,.1)}
.falk-article table{width:100%;border-collapse:collapse;margin:0;min-width:560px;background:#13283a;color:var(--falk-on-dark)}
.falk-article th,.falk-article td{text-align:left;vertical-align:top;padding:.9rem 1rem;border-bottom:1px solid rgba(215,224,232,.14);color:var(--falk-on-dark) !important}
.falk-article th{background:#0b1f33;color:#fff !important;font-weight:760;letter-spacing:.005em}
.falk-article tbody tr:nth-child(even) td{background:#172f44}
.falk-article tbody tr:hover td{background:#1a3851}
.falk-article tr:last-child td{border-bottom:0}
.falk-article table a{color:var(--falk-gold-strong) !important}

/* Figures */
.falk-article .falk-inline-figure{margin:2rem auto;text-align:center}
.falk-article .falk-inline-figure img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;border-radius:12px;box-shadow:0 16px 38px rgba(11,31,51,.16);background:#0b1f33}
.falk-article .falk-inline-figure figcaption{max-width:68ch;margin:.72rem auto 0;color:var(--falk-muted);font-size:.9em;line-height:1.52}

/* CTA buttons – high contrast, restrained motion, keyboard accessible. */
.falk-article .falk-button,
.falk-article .falk-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:46px;
  margin:.35rem .45rem .25rem 0;
  padding:.76rem 1.05rem;
  border:1px solid #e6ca83;
  border-radius:9px;
  background:linear-gradient(180deg,#e3c776 0%,#d1ad5a 100%);
  color:#0b1f33 !important;
  text-decoration:none !important;
  font-weight:820;
  line-height:1.2;
  box-shadow:0 8px 20px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.falk-article .falk-button::after,
.falk-article .falk-cta a::after{content:"→";font-size:1.02em;transition:transform .18s ease}
.falk-article .falk-button:hover,
.falk-article .falk-cta a:hover{transform:translateY(-2px);background:linear-gradient(180deg,#ecd58f 0%,#d9b866 100%);border-color:#f0d996;box-shadow:0 12px 28px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.45)}
.falk-article .falk-button:hover::after,
.falk-article .falk-cta a:hover::after{transform:translateX(2px)}
.falk-article .falk-button:active,
.falk-article .falk-cta a:active{transform:translateY(0);box-shadow:0 5px 14px rgba(0,0,0,.22)}
.falk-article .falk-button:focus-visible,
.falk-article .falk-cta a:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px rgba(209,173,90,.52)}
.falk-article .falk-button-secondary{background:transparent !important;color:var(--falk-gold-strong) !important;border-color:rgba(227,199,118,.7);box-shadow:none}
.falk-article .falk-button-secondary:hover{background:rgba(227,199,118,.09) !important;color:#f1d992 !important}

.falk-article .falk-note{font-size:.93em;color:var(--falk-muted)}
.falk-article .falk-sources .falk-note{color:var(--falk-on-dark-muted) !important}
.falk-article hr{border:0;border-top:1px solid rgba(240,213,142,.22);margin:2.15rem 0}

@media (max-width:640px){
  .falk-article{font-size:1rem;line-height:1.72;max-width:none}
  .falk-article h2{margin-top:2.05em}
  .falk-article .falk-key-takeaways,.falk-article .falk-callout,.falk-article .falk-example,.falk-article .falk-checklist-box,.falk-article .falk-faq,.falk-article .falk-sources,.falk-article .falk-cta{border-radius:10px;padding:1rem 1.05rem}
  .falk-article .falk-example{padding-top:2.75rem}
  .falk-article .falk-example::before{left:1.05rem;top:1rem}
  .falk-article .falk-step{padding-left:3.35rem}
  .falk-article .falk-step-number{left:.9rem}
  .falk-article .falk-inline-figure img{border-radius:9px}
  .falk-article .falk-button,.falk-article .falk-cta a{width:100%;margin:.35rem 0;min-height:48px}
}

@media (prefers-reduced-motion:reduce){
  .falk-article *, .falk-article *::before, .falk-article *::after{scroll-behavior:auto !important;transition:none !important;animation:none !important}
  .falk-article .falk-button:hover,.falk-article .falk-cta a:hover{transform:none}
}

@media print{
  .falk-article{max-width:none;color:#000;font-size:11pt;line-height:1.55}
  .falk-article .falk-key-takeaways,.falk-article .falk-callout,.falk-article .falk-example,.falk-article .falk-checklist-box,.falk-article .falk-faq,.falk-article .falk-sources,.falk-article .falk-cta,.falk-article .falk-step{background:#fff !important;color:#000 !important;border:1px solid #777;box-shadow:none}
  .falk-article :is(.falk-key-takeaways,.falk-callout,.falk-example,.falk-checklist-box,.falk-faq,.falk-sources,.falk-cta,.falk-step) :is(h2,h3,h4,p,li,strong,em,a){color:#000 !important}
}
