
.jump-nav { overflow:visible; isolation:isolate; transform:translateZ(0); }
.jump-nav .nav-menu { position:relative; font-size:inherit; }
.jump-nav summary { display:flex; align-items:center; min-height:48px; padding:10px 12px;
 color:#f5f5f5; cursor:pointer; white-space:nowrap; list-style:none; }
.jump-nav summary::-webkit-details-marker { display:none; }
.jump-nav summary::marker { content:""; }
.menu-arrow { font-size:11px; margin-left:4px; }
.nav-menu[open]>summary, .nav-menu summary:hover { color:#65cef4; background:#222; }
.nav-menu summary:focus-visible { outline:2px solid #65cef4; outline-offset:-3px; }
.nav-submenu { position:absolute; top:100%; right:0; width:228px; max-width:90vw;
 background:#151719; border:1px solid #444; box-shadow:0 8px 20px #0005; }
.jump-nav .nav-submenu a { min-height:46px; padding:12px 18px; font-size:15px; white-space:normal; }
.book-visual { clear:both; width:100%; display:flex; align-items:center; justify-content:center;
 min-height:480px; padding:32px; margin-top:7px; }
.book-visual img { width:auto; max-width:90%; height:430px; object-fit:contain; }
.magic-visual { background:#2f657f; }
.magic-visual img { box-shadow:0 12px 28px #0005; }
.seven-visual { background:#000; }
.top-visual { background:#fff; }
@media(max-width:900px) {
 .book-visual { min-height:0; height:270px; padding:20px; margin-top:4px; }
 .book-visual img { height:230px; max-width:100%; }
 .book-visual + .section-title + .nicolas { margin-top:0; }
}
@media(max-width:480px) {
 .jump-nav { gap:0; }
 .jump-nav>a, .jump-nav summary { padding-inline:9px; }
}
@media(min-width:481px) and (max-width:900px) {
 .book-visual { height:380px; padding:24px; }
 .book-visual img { height:330px; }
}

/* Detailfassung: vollständige Keyvisuals, zusammengeführte Werk- und Kontaktbereiche. */
:root { --section-gap:7px; }
div.book-visual { display:block; min-height:0; height:auto; padding:0; margin:0; background:#000; }
div.book-visual img { display:block; width:100%; max-width:100%; height:auto; box-shadow:none; }
.work-section { margin-bottom:0 !important; }
.work-links-title { margin:1.6em 0 .7em; font-size:1em; line-height:1.4; font-weight:700; }
.work-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px;
 border-top:1px solid #0003; }
.work-links a { display:block; min-height:48px; padding:12px 0; border-bottom:1px solid #0003;
 font-size:.9em; line-height:1.4; color:#164c65; text-decoration:none; }
.work-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.break_image.music-visual { margin-top:var(--section-gap) !important; }
.nicolas.music-copy { margin-bottom:0 !important; }
.leistung.contact-section { clear:both; margin-top:var(--section-gap) !important; margin-bottom:0 !important; }
.contact-title { margin:0 0 1em; font-size:1.15em; line-height:1.3; font-weight:800; }
.contact-section .contact-primary { display:inline-flex; align-items:center; min-height:48px;
 padding:10px 18px; color:#fff; background:#111; font-size:.9em; font-weight:700; text-decoration:none; }
.contact-section .contact-primary:hover { background:#164c65; color:#fff; }
.contact-details { font:inherit; font-style:normal; line-height:1.6; }
.contact-section .contact-details a { text-decoration:underline; text-underline-offset:3px; }
.contact-section .contact-footer { margin:1.6em 0 0; padding-top:1em; border-top:1px solid #0003;
 font-size:.72em; line-height:1.8; }
@media(max-width:900px) {
 :root { --section-gap:4px; }
 .work-links { grid-template-columns:1fr; }
 .work-links a { font-size:1em; }
 .contact-section .contact-footer { font-size:.8em; }
}

/* Verfeinerung der Verweise und ruhiger Abschluss der Unterseiten. */
.work-section .work-links a { font-weight:700; }
.leistung.subpage-contact { clear:both; margin-top:var(--section-gap); margin-bottom:0; border-top:1px solid #0003; }
.subpage-contact h2 { margin:0 0 .8em; font-size:1.15em; line-height:1.3; font-weight:700; }
.subpage-contact a { text-underline-offset:3px; }
.subpage-contact .subpage-legal { margin-top:1.6em; font-size:.8em; }

/* V5: klar erkennbare Fußverweise, Kontakte ohne Unterstreichung. */
.contact-section .contact-details a,
.subpage-contact a[href^="mailto:"],
.subpage-contact a[href^="tel:"] { text-decoration:none; }
.contact-section .contact-details a:hover,
.subpage-contact a[href^="mailto:"]:hover,
.subpage-contact a[href^="tel:"]:hover { text-decoration:underline; }
.contact-section .contact-footer,
.contact-section .contact-footer a,
.subpage-contact .subpage-legal,
a.legal-link { font-size:16px; line-height:1.6; }
a.legal-link { display:inline-block; padding:10px 0; color:#164c65; font-weight:700; text-decoration:none; }
a.legal-link:hover { text-decoration:underline; text-underline-offset:4px; }
.contact-section .contact-footer { display:flex; flex-wrap:wrap; align-items:center; gap:4px 20px; }
.site-legal { clear:both; background:#ecf8ff; padding:16px 40px; margin-top:var(--section-gap); }
@media(max-width:900px) { .site-legal { padding:16px 22px; } }

/* Literaturkritische Arbeit gehört zum Autorenprofil. */
.literary-reviews { margin:1.7em 0 2em; padding:1.2em 0; border-top:1px solid #0003; border-bottom:1px solid #0003; }
.literary-reviews h3 { font-size:1.08em; line-height:1.35; margin:0 0 .8em; font-weight:700; }
.literary-reviews p:last-child { margin-bottom:0; }
.literary-reviews .reviews-link { color:#164c65; font-weight:700; text-decoration:none; }
.literary-reviews .reviews-link:hover { text-decoration:underline; text-underline-offset:4px; }
#vita { scroll-margin-top:80px; }

/* V7: Vita auch auf großen Bildschirmen sichtbar, klarer Referenzhinweis. */
#vita.subsection-title { position:static; width:auto; height:auto; padding:0; clip:auto; clip-path:none; overflow:visible; white-space:normal; margin:2em 0 1em; font-size:1.2em; line-height:1.35; font-weight:800; }
.leistung.reference-note { clear:both; margin:var(--section-gap) 0 0; background:#f4f8fa; }
.reference-note .text-block { border-left:3px solid #164c65; padding-left:24px; }
.reference-note h2 { margin:0 0 .75em; font-size:1em; line-height:1.35; font-weight:700; }
.reference-note p { font-weight:400; }
@media(min-width:901px) {
 a.legal-link, .contact-section .contact-footer a.legal-link { font-size:20px; }
}

/* Echte Firmenzeichen ergänzen die Namen, ohne die Liste zu dominieren. */
.customer-brands { margin:1.5em 0 2em; }
.customer-brands h2 { font-size:1em; font-weight:700; line-height:1.4; margin:0 0 1em; text-transform:uppercase; }
.customer-list { list-style:none; padding:0; margin:0; }
.customer-list li { display:grid; grid-template-columns:146px minmax(0,1fr); gap:24px; align-items:center; min-height:96px; padding:18px 0; border-top:1px solid #0002; text-align:left; }
.customer-logo-slot { display:flex; align-items:center; justify-content:center; width:146px; min-height:62px; padding:8px 12px; box-sizing:border-box; background:white; }
.customer-logo-slot img { display:block; width:auto; height:auto; max-width:122px; max-height:46px; object-fit:contain; }
.customer-logo-slot.basf-logo-slot { background:#004a96; }
.customer-logo-slot.no-logo { background:transparent; }
.customer-name { min-width:0; }
@media(max-width:480px) {
 .customer-list li { grid-template-columns:96px minmax(0,1fr); gap:16px; min-height:84px; padding:14px 0; }
 .customer-logo-slot { width:96px; min-height:52px; padding:8px; }
 .customer-logo-slot img { max-width:80px; max-height:36px; }
}

/* V7: Vita auch auf großen Bildschirmen sichtbar, klarer Referenzhinweis. */
#vita.subsection-title { position:static; width:auto; height:auto; padding:0; clip:auto; clip-path:none; overflow:visible; white-space:normal; margin:2em 0 1em; font-size:1.2em; line-height:1.35; font-weight:800; }
.leistung.reference-note { clear:both; margin:var(--section-gap) 0 0; background:#f4f8fa; }
.reference-note .text-block { border-left:3px solid #164c65; padding-left:24px; }
.reference-note h2 { margin:0 0 .75em; font-size:1em; line-height:1.35; font-weight:700; }
.reference-note p { font-weight:400; }
@media(min-width:901px) {
 a.legal-link, .contact-section .contact-footer a.legal-link { font-size:20px; }
}

/* Echte Firmenzeichen ergänzen die Namen, ohne die Liste zu dominieren. */
.customer-brands { margin:1.5em 0 2em; }
.customer-brands h2 { font-size:1em; font-weight:700; line-height:1.4; margin:0 0 1em; text-transform:uppercase; }
.customer-list { list-style:none; padding:0; margin:0; }
.customer-list li { display:grid; grid-template-columns:146px minmax(0,1fr); gap:24px; align-items:center; min-height:96px; padding:18px 0; border-top:1px solid #0002; text-align:left; }
.customer-logo-slot { display:flex; align-items:center; justify-content:center; width:146px; min-height:62px; padding:8px 12px; box-sizing:border-box; background:white; }
.customer-logo-slot img { display:block; width:auto; height:auto; max-width:122px; max-height:46px; object-fit:contain; }
.customer-logo-slot.basf-logo-slot { background:#004a96; }
.customer-logo-slot.no-logo { background:transparent; }
.customer-name { min-width:0; }
@media(max-width:480px) {
 .customer-list li { grid-template-columns:96px minmax(0,1fr); gap:16px; min-height:84px; padding:14px 0; }
 .customer-logo-slot { width:96px; min-height:52px; padding:8px; }
 .customer-logo-slot img { max-width:80px; max-height:36px; }
}

/* Neue Gliederung: Autorenprofil und Portfolio klar voneinander trennen. */
h2.area-title { position:static; clear:both; display:block; width:auto; height:auto; overflow:visible; clip:auto; clip-path:none; white-space:normal; margin:0; padding:32px 40px 0; color:#111; background:#ecf8ff; font-size:1.35em; line-height:1.3; font-weight:800; }
h2.area-title + .leistung { margin-top:0!important; }
h2.area-title + .leistung .text-block { padding-top:24px; }
h2.music-title { background:#fff; margin-top:var(--section-gap); }
.profile-subheading { font-size:1.08em; line-height:1.35; font-weight:700; margin:1.8em 0 1em; }
#ueber-mich, #film-design, #musik { scroll-margin-top:64px; }
@media(max-width:900px) {
 h2.area-title { font-size:23px; padding:26px clamp(22px,4.2vw,36px) 0; }
 h2.area-title + .leistung .text-block { padding-top:18px; }
 .jump-nav>a, .jump-nav summary { padding-inline:10px; }
}
@media(max-width:360px) { .jump-nav>a, .jump-nav summary { padding-inline:8px; } }

.customer-logo-slot.customer-logo-dark { background:#263b45; }

/* Neutrale Portfolio-Einblicke: Typografie und klare Verweise statt eines einzelnen Leitprojekts. */
.work-section .portfolio-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; border:0; }
.work-section .portfolio-links a { position:relative; display:flex; flex-direction:column; min-height:210px; padding:24px; border:1px solid #164c6538; background:#fff; color:#164c65; font-size:1em; font-weight:400; text-decoration:none; }
.work-section .portfolio-links strong { display:block; font-size:1em; line-height:1.3; font-weight:800; }
.work-section .portfolio-description { display:block; margin-top:14px; font-size:.8em; line-height:1.55; color:#273c46; }
.work-section .portfolio-arrow { display:block; margin-top:auto; padding-top:18px; font-size:1.25em; line-height:1; }
.work-section .portfolio-links a:hover { background:#d9f4f8; text-decoration:none; border-color:#164c65; }
.work-section .portfolio-links a:focus-visible { outline:3px solid #164c65; outline-offset:3px; }
.work-section .portfolio-download { margin:1em 0 0; font-size:.85em; }
.work-section .portfolio-download a { color:#164c65; font-weight:700; }
@media(max-width:900px) {
 .work-section .portfolio-links { grid-template-columns:1fr; gap:12px; }
 .work-section .portfolio-links a { display:block; min-height:0; padding:20px 48px 20px 20px; }
 .work-section .portfolio-description { margin-top:8px; font-size:.95em; }
 .work-section .portfolio-arrow { position:absolute; right:20px; top:20px; padding:0; margin:0; }
}

.work-section .portfolio-links a { text-align:left; }
