.campaign-header .nav-shell { gap: 1.25rem; }
.campaign-nav { display: flex; align-items: center; gap: 1.5rem; }
.campaign-nav > a:first-child { font-weight: 650; text-decoration: none; }
.campaign-nav .button { min-height: 2.75rem; padding: .65rem 1.1rem; }
.campaign-hero { padding: 4.5rem 0 3.5rem; }
.campaign-grid { display: grid; grid-template-columns: 1.12fr 1fr; gap: 4rem; align-items: center; }
.campaign-grid > * { min-width: 0; }
.campaign-hero h1 { font-size: clamp(2.65rem, 4.65vw, 4.6rem); line-height: 1.1; }
.campaign-hero .lede { max-width: 38rem; font-size: 1.125rem; }
.campaign-hero .actions { margin-top: 1.8rem; }
.campaign-note { margin-top: 1rem; color: var(--muted); font-size: .9rem; }
.campaign-board { margin: 0; padding: 1.7rem; background: white; border: 1px solid var(--purple-200); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.board-heading { display: flex; justify-content: space-between; align-items: start; gap: 1rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); }
.board-heading h2 { margin: .25rem 0 0; font-size: 1.5rem; letter-spacing: -.025em; }
.board-heading p { margin: 0; color: var(--muted); font-size: .875rem; }
.board-count { flex-shrink: 0; padding: .45rem .65rem; background: #fff4df; color: #7a4505; border-radius: .55rem; font-size: .875rem; font-weight: 750; }
.preparation-list { margin: 0; }
.preparation-list > div { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.preparation-list dt { min-width: 0; overflow-wrap: anywhere; font-weight: 650; line-height: 1.45; }
.preparation-list dd { margin: 0; flex-shrink: 0; font-size: .875rem; font-weight: 700; }
.preparation-list .task-open { color: #92400e; }
.preparation-list .task-progress { color: var(--purple-dark); }
.preparation-list .task-done { color: var(--mint-text); }
.campaign-board figcaption { padding-top: .85rem; font-size: .875rem; color: var(--muted); }
.campaign-trust { display: flex; flex-wrap: wrap; gap: .5rem 2rem; padding: 1.2rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .9375rem; color: var(--ink-soft); }
.campaign-trust strong { color: var(--purple-dark); }
.campaign-section { padding: 4.5rem 0; }
.campaign-section h2 { overflow-wrap: anywhere; hyphens: auto; font-size: clamp(2rem, 3.25vw, 3rem); }
.campaign-intro { max-width: 46rem; margin-bottom: 2.3rem; }
.campaign-intro > p { font-size: 1.1rem; color: var(--ink-soft); }
.promise-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.promise-card { padding: 1.7rem; background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.promise-card span { display: block; margin-bottom: 1rem; color: var(--purple-dark); font-size: .875rem; font-weight: 750; }
.promise-card h3 { font-size: 1.25rem; }
.promise-card p { margin: 0; color: var(--ink-soft); }
.campaign-reputation { display: grid; grid-template-columns: .85fr 1.15fr; gap: 3rem; padding: 2.7rem; border-radius: var(--radius-lg); background: var(--purple-deep); color: white; }
.campaign-reputation h2 { margin: 0; color: white; }
.campaign-reputation p { font-size: 1.1rem; color: #f4e8f7; }
.campaign-reputation p:last-child { margin: 0; }
.product-proof { display: grid; grid-template-columns: 1.6fr 1fr; gap: 2.5rem; align-items: center; }
.product-proof figure { margin: 0; }
.product-proof img { width: 100%; height: auto; border: 1px solid var(--purple-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.product-proof figcaption { margin-top: .8rem; color: var(--muted); font-size: .875rem; }
.proof-points { padding: 0; margin: 0; list-style: none; }
.proof-points li { margin-bottom: 1.6rem; }
.proof-points strong { display: block; margin-bottom: .35rem; font-size: 1.125rem; }
.proof-points p { margin: 0; color: var(--ink-soft); }
.campaign-example-note { padding: 1rem 1.2rem; margin-top: 1.5rem; background: var(--purple-50); border-left: 3px solid var(--purple); font-size: .9375rem; color: var(--ink-soft); }
.campaign-contact { display: grid; grid-template-columns: 1.35fr 1fr; gap: 3.5rem; padding: 2.8rem; background: white; border: 1px solid var(--purple-200); border-radius: var(--radius-lg); }
.campaign-contact h2 { margin-bottom: 1rem; }
.campaign-contact .actions { margin-top: 1.5rem; }
.campaign-contact aside { padding-left: 2rem; border-left: 1px solid var(--line); }
.campaign-contact aside h3 { margin-bottom: .3rem; }
.campaign-contact aside p { color: var(--ink-soft); }
.campaign-price { margin: 1.5rem 0 0; color: var(--muted); font-size: .9375rem; }
.campaign-faq { max-width: 52rem; }
.campaign-faq details { border-bottom: 1px solid var(--line); padding: 1.2rem 0; }
.campaign-faq summary { cursor: pointer; font-weight: 750; font-size: 1.0625rem; }
.campaign-faq details p { margin: 1rem 0 0; color: var(--ink-soft); }
.campaign-related { padding: 1.2rem 0 2.5rem; text-align: center; }
#kennenlernen, #einblick { scroll-margin-top: 6rem; }
@media (max-width: 1000px) {
  .campaign-grid { gap: 2rem; }
  .campaign-hero h1 { font-size: 3rem; }
  .product-proof, .campaign-contact { gap: 2rem; }
}
@media (max-width: 800px) {
  .campaign-grid, .product-proof, .campaign-reputation, .campaign-contact { grid-template-columns: 1fr; }
  .campaign-grid { gap: 2.5rem; }
  .campaign-hero { padding-top: 3rem; }
  .promise-grid { grid-template-columns: 1fr; }
  .campaign-section { padding: 3rem 0; }
  .campaign-reputation, .campaign-contact { padding: 1.8rem; gap: 1.5rem; }
  .campaign-contact aside { padding: 1.5rem 0 0; border-left: 0; border-top: 1px solid var(--line); }
}
@media (max-width: 450px) {
  .campaign-nav { gap: .65rem; }
  .campaign-nav > a:first-child { font-size: .875rem; }
  .campaign-nav .button { font-size: .875rem; padding: .6rem .7rem; }
  .campaign-header .brand { gap: .4rem; font-size: 1rem; }
  .campaign-header .nav-shell { gap: .5rem; }
  .campaign-hero h1 { font-size: 2.55rem; }
  .campaign-board { padding: 1.2rem; }
  .board-heading { flex-direction: column; gap: .7rem; }
  .preparation-list > div { gap: .6rem; }
  .preparation-list dt { font-size: .9375rem; }
}
