/* Campaign-led presentation. Layout and copy remain readable without motion. */
.pitch-chapter { padding: clamp(16px, 2vw, 32px); border: 0; }
.pitch-stage { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 4vw, 64px); align-items: center; padding: clamp(24px, 3vw, 48px); border: 1px solid var(--line); border-radius: 30px; background: radial-gradient(ellipse at 70% 0, color-mix(in srgb, var(--spec-2) 10%, transparent), transparent 70%), var(--surface-1); }
.pitch-stage > *, .pitch-copy, .pitch-preview { min-width: 0; }
.pitch-chapter .pitch-copy h2 { font-size: clamp(2.25rem, calc(1.5rem + 2.5vw), 4.125rem); line-height: 1.13; max-width: 16ch; margin-block: 16px 26px; font-weight: 800; }
.pitch-chapter .pitch-copy .pitch-lead { font-size: clamp(1.0625rem, calc(1rem + .35vw), 1.3125rem); line-height: 1.65; max-width: 48ch; margin-bottom: 30px; }
.pitch-accent { display: block; color: var(--story-accent); }
.pitch-stage--opening { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); grid-template-areas: "title preview" "detail preview"; grid-template-rows: 1fr 1fr; row-gap: 0; min-height: calc(100svh - 190px); }
.pitch-stage--opening > .pitch-intro-title { grid-area: title; align-self: end; }
.pitch-stage--opening > .pitch-intro-detail { grid-area: detail; align-self: start; }
.pitch-stage--opening > .pitch-preview { grid-area: preview; }
.pitch-preview__masthead { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; font-size: 12px; padding: 12px 0; color: var(--story-muted); }
.pitch-preview__masthead > span:first-child { font-weight: 800; font-size: 20px; letter-spacing: -.04em; background: linear-gradient(100deg, #6366f1, #8b5cf6 48%, #ec4899); background-clip: text; -webkit-background-clip: text; color: transparent; }
.pitch-room { position: relative; aspect-ratio: 3 / 2; background: #07070c; border-radius: 20px; overflow: hidden; }
.pitch-room__frame { display: block; width: 100%; height: auto; }
.pitch-preview__viewport { position: absolute; left: 17.55%; top: 12.2%; width: 64.8%; height: 50.3%; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; background: #f5f3f8; color: #191734; font-size: 14px; line-height: 1.5; border-radius: 1px; }
.pitch-preview__viewport:focus-visible { outline: 3px solid #b7b2ff; outline-offset: -3px; }
.pitch-preview__scene { min-width: 0; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); grid-template-areas: "message art"; align-items: center; gap: 16px; padding: 24px; background: radial-gradient(ellipse at top left, #dcd8f5, transparent 70%), #f5f3f8; }
.pitch-preview__message { min-width: 0; grid-area: message; }
.pitch-preview__scene h3 { font-size: clamp(1.75rem, 2.5vw, 2.75rem); line-height: 1.12; margin-block: 12px; color: #191734; font-weight: 800; }
.story-presentation .story-sr-only, .story-explainer .story-sr-only { font-weight: 400; }
.story-presentation .skip-link, .story-explainer .skip-link, .pitch-handover__sheet h3 { font-weight: 600; }
.pitch-preview__scene p { color: #555169; font-size: 1rem; line-height: 1.5; }
.pitch-preview__scene .story-opening-image { margin: 0; grid-area: art; }
.pitch-preview__scene img { width: 100%; height: auto; border-radius: 8px; }
.pitch-preview__scene figcaption { position: static; margin-top: 10px; border: 0; border-radius: 0; background: none; color: #555169; padding: 0; max-width: none; font-size: .875rem; line-height: 1.4; }
.pitch-preview__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.pitch-preview__choices button[aria-pressed="true"] { border-color: var(--story-accent); background: var(--surface-2); }
.pitch-preview__item > summary { cursor: pointer; padding: 1rem; min-height: 44px; border-top: 1px solid #d8d5e1; font-weight: 600; }
.story-presentation[data-reader-mode] .pitch-preview__item > summary { display: none; }
.pitch-document-label { font: 11px/1.6 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.pitch-preview__viewport .pitch-document-label { color: #5142ad; }
.pitch-brief { padding: clamp(24px, 3vw, 44px); background: var(--surface-2); border: 1px solid var(--line); border-radius: 20px; }
.pitch-brief dl { margin: 24px 0 0; }
.pitch-brief dl > div { padding-block: 20px; border-top: 1px solid var(--line); }
.pitch-brief dt { font: 12px/1.5 var(--mono); color: var(--story-accent); margin-bottom: 10px; }
.pitch-brief dd { margin: 0; font-size: clamp(18px, 1.8vw, 25px); line-height: 1.4; color: var(--ink); }
.pitch-preview__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; color: var(--story-muted); font-size: 12px; }
.pitch-preview__footer button { min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); font-size: 12px; cursor: pointer; }
.pitch-caption { font-size: 12px; line-height: 1.7; color: var(--story-muted); margin-block: 14px; }
.pitch-art { position: relative; display: block; }
.pitch-art img { display: block; width: 100%; height: auto; border-radius: 16px; }
.pitch-art__detail { position: absolute; bottom: 16px; right: 16px; border: 1px solid #ffffff40; border-radius: 999px; background: #101018ed; color: #f4f3fb; padding: 8px 14px; font-size: 12px; }
.pitch-stage--routes { grid-template-columns: minmax(0, .55fr) minmax(0, 1.45fr); }
.pitch-stage--routes .story-gallery { width: 100%; }
.pitch-stage--routes .story-art-panel { margin: 0; }
.pitch-stage--routes .story-art-panel figcaption { margin-bottom: 0; }
.pitch-stage--routes .story-art-panel figcaption span { color: var(--story-accent); font-family: var(--mono); }
.pitch-stage--routes .story-gallery__controls button { font-size: 12px; }
.pitch-stage--routes .story-gallery__controls button > span { font-family: var(--mono); margin-inline-end: 6px; }
.pitch-review { min-width: 0; background: var(--surface-2); border-radius: 20px; border: 1px solid var(--line); overflow: hidden; }
.pitch-review .pitch-art img { border-radius: 0; }
.pitch-review__copy { padding: 24px; }
.pitch-review blockquote { margin: 14px 0; font-size: clamp(20px, 2vw, 28px); line-height: 1.35; font-weight: 600; }
.pitch-review__copy > p { line-height: 1.7; }
.pitch-stage--channels { grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); }
.pitch-stage--channels .story-gallery { width: 100%; }
.pitch-channel-panel { min-width: 0; margin: 0 0 24px; }
.pitch-channel-panel figcaption { font-size: .875rem; margin-top: 10px; color: var(--story-muted); }
.pitch-chapter > .pitch-copy { padding-inline: clamp(24px, 3vw, 48px); max-width: 900px; }
.pitch-handover { display: grid; gap: 16px; padding: 16px; background: linear-gradient(145deg, color-mix(in srgb, var(--spec-2) 14%, var(--surface-2)), var(--surface-1)); border-radius: 24px; }
.pitch-handover__sheet { background: var(--surface-1); border: 1px solid var(--line); border-radius: 12px; padding: 24px; box-shadow: 0 8px 24px #00000010; }
.pitch-handover__sheet:nth-child(2) { margin-inline-start: 16px; }
.pitch-handover__sheet:nth-child(3) { margin-inline-start: 32px; }
.pitch-handover__sheet h3 { font-size: clamp(20px, 2vw, 28px); line-height: 1.3; margin-block: 12px; }
.pitch-handover__sheet p { font-size: 13px; }
.pitch-handover__export { font-size: 16px; line-height: 1.7; margin-block: 24px 12px; }
.pitch-memory { border-inline-start: 2px solid var(--story-accent); padding-inline-start: clamp(24px, 4vw, 56px); }
.pitch-memory dl { margin: 28px 0; }
.pitch-memory dl > div { padding-block: 24px; border-top: 1px solid var(--line); }
.pitch-memory dt { color: var(--story-accent); font: 12px/1.5 var(--mono); margin-bottom: 12px; }
.pitch-memory dd { margin: 0; color: var(--ink); font-size: clamp(26px, 3vw, 42px); line-height: 1.25; font-weight: 600; overflow-wrap: anywhere; }
:lang(de) .pitch-copy h2, :lang(de) .pitch-lead, :lang(de) .pitch-memory dd, :lang(de) .pitch-brief dd { hyphens: auto; }
.pitch-closing-art { margin: 0; min-width: 0; }
.pitch-closing-art img { width: 100%; display: block; border-radius: 20px; }
.pitch-demo-link { display: block; width: fit-content; margin-top: 24px; }
.pitch-scope { margin-top: 28px; padding: 16px 24px; border-top: 1px solid var(--line); color: var(--story-muted); }
.pitch-scope summary { cursor: pointer; min-height: 44px; padding-block: 12px; font-size: 14px; }
.pitch-scope p { font-size: 14px; line-height: 1.8; max-width: 80ch; margin-block: 16px; }
.story-explainer .pitch-opening { padding-inline-end: 0; }
.story-explainer .pitch-chapter:not(.pitch-opening) { margin-bottom: 32px; }

.story-presentation[data-reader-mode="reading"] .pitch-stage { grid-template-columns: minmax(0, 1fr); min-height: 0; }
.story-presentation[data-reader-mode="reading"] .pitch-copy h2 { font-size: clamp(2.125rem, calc(1.625rem + 3vw), 2.875rem); }
.story-presentation[data-reader-mode="reading"] .pitch-stage--opening { grid-template-areas: "title" "preview" "detail"; grid-template-rows: auto; gap: 1rem; }
.story-presentation[data-reader-mode="reading"] .pitch-intro-title h2 { margin-block-end: .875rem; }
.story-presentation[data-reader-mode="reading"] .pitch-preview__masthead { padding-block: .5rem; }
.story-presentation[data-reader-mode="reading"] .pitch-room { aspect-ratio: auto; background: none; overflow: visible; }
.story-presentation[data-reader-mode="reading"] .pitch-room__frame { display: none; }
.story-presentation[data-reader-mode="reading"] .pitch-preview__viewport { position: static; width: 100%; height: auto; overflow: visible; container-type: normal; border: 1px solid #d8d5e1; border-radius: 16px; }
.story-presentation[data-reader-mode="reading"] .pitch-preview__footer { display: flex; }
.story-presentation[data-reader-mode="reading"] .pitch-preview__scene { grid-template-columns: minmax(0, 1fr); grid-template-areas: "art" "message"; }
@media (max-width: 1099px), (max-height: 719px) {
  .pitch-stage, .pitch-stage--opening, .pitch-stage--routes { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .pitch-stage--opening .pitch-copy { max-width: 760px; }
  .pitch-stage--opening { grid-template-areas: "title" "preview" "detail"; grid-template-rows: auto; }
  .pitch-room { aspect-ratio: auto; background: none; overflow: visible; }
  .pitch-room__frame { display: none; }
  .pitch-preview__viewport { position: static; width: 100%; height: auto; max-height: none; overflow: visible; border: 1px solid #d8d5e1; border-radius: 16px; }
  .pitch-preview__footer { display: flex; }
  .pitch-preview__scene { grid-template-columns: minmax(0, 1fr); grid-template-areas: "art" "message"; }
  .pitch-preview__scene:not(:first-child) { margin-top: 1rem; border-top: 1px solid #d8d5e1; }
  .pitch-memory { border-inline-start: 0; padding-inline-start: 0; }
  .pitch-stage--routes .story-art-panel { margin-bottom: 16px; }
}
@media (max-width: 680px) {
  .story-presentation .story-controls { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; grid-template-areas: "counter all all" "prev select next"; gap: 6px 8px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); }
  .story-presentation [data-story-counter] { grid-area: counter; width: auto; }
  .story-presentation [data-story-prev] { grid-area: prev; }
  .story-presentation [data-story-select] { grid-area: select; width: 100%; }
  .story-presentation [data-story-next] { grid-area: next; }
  .story-presentation [data-story-overview] { grid-area: all; width: auto; justify-self: end; min-height: 44px; padding: 8px 12px; }
  .story-presentation[data-reader-mode] .story-main { padding-bottom: 118px; }
  .pitch-chapter { padding: 16px 12px; }
  .pitch-stage { padding: 24px 18px; border-radius: 22px; gap: 24px; }
  .pitch-chapter .pitch-copy h2 { font-size: clamp(2.125rem, calc(1.625rem + 3vw), 2.875rem); max-width: 18ch; }
  .pitch-chapter .pitch-copy .pitch-lead { font-size: 1.0625rem; margin-bottom: 22px; }
  .pitch-preview__masthead { gap: 8px; font-size: 11px; }
  .pitch-preview__scene { padding: 20px; gap: 16px; }
  .pitch-preview__scene .pitch-document-label { display: none; }
  .pitch-preview__scene h3 { margin: 0; }
  .pitch-preview__scene p { margin: 0; }
  .pitch-review__copy, .pitch-brief { padding: 22px; }
  .pitch-handover { padding: 10px; }
  .pitch-handover__sheet { padding: 20px; }
  .pitch-handover__sheet:nth-child(2) { margin-inline-start: 8px; }
  .pitch-handover__sheet:nth-child(3) { margin-inline-start: 16px; }
  .pitch-chapter > .pitch-copy { padding-inline: 18px; }
  .pitch-chapter .pitch-art__detail { right: 10px; bottom: 10px; font-size: 11px; padding: 6px 10px; }
}
@media (prefers-reduced-motion: no-preference) {
  .story-presentation[data-reader-mode="present"] .pitch-chapter:not(.pitch-opening):not([hidden]) .pitch-stage { animation: pitch-enter 420ms ease-out both; }
  @keyframes pitch-enter { from { transform: translateY(8px); } to { transform: translateY(0); } }
}
@media print {
  .pitch-stage { display: block; border: 0; background: none; padding: 0; }
  .pitch-copy h2 { max-width: none !important; }
  .pitch-room__frame, .pitch-preview__footer, .pitch-art__detail { display: none !important; }
  .pitch-room { aspect-ratio: auto; overflow: visible; }
  .pitch-preview__viewport { position: static; height: auto; width: 100%; overflow: visible; }
  .pitch-stage .pitch-preview { display: none; }
  .pitch-art img, .pitch-closing-art img { max-height: 170mm; object-fit: contain; }
  .pitch-chapter .pitch-copy h2 { font-size: 30pt; }
  .story-presentation[data-reader-mode="present"] { display: block; height: auto; }
  .story-presentation[data-reader-mode="present"] .story-main, .story-presentation[data-reader-mode="present"] .pitch-stage { container-type: normal; }
  .story-presentation[data-reader-mode="present"] .pitch-chapter { display: block; block-size: auto; }
  .story-page .pitch-channel-panel { display: block !important; break-inside: avoid; margin-block: 20px; }
  .story-presentation[data-reader-mode="present"] .story-gallery, .story-presentation[data-reader-mode="present"] .story-gallery [data-art-panel] { display: block !important; block-size: auto; }
  .story-presentation[data-reader-mode="present"] .story-gallery picture, .story-presentation[data-reader-mode="present"] .story-gallery img { block-size: auto; }
  .pitch-handover, .pitch-brief { background: #f4f3f8; }
  .pitch-handover__sheet { margin: 12px 0 !important; }
  .pitch-memory dd, .pitch-brief dd { color: #191734; }
}
