
:root{--ink:#25202a;--muted:#6d6670;--accent:#76527f;--accent-dark:#56385f;--soft:#f5f0f7;--line:#ded5e1;--paper:#fff;--max:1160px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.65}
a{color:var(--accent-dark);text-underline-offset:.18em}
img{max-width:100%}
.site-header{position:sticky;top:0;z-index:20;background:rgba(245,240,247,.97);border-bottom:1px solid #d8cddd;backdrop-filter:blur(8px)}
.nav{max-width:var(--max);margin:auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;line-height:1.1}
.brand span{font-size:1.1rem;font-weight:700}.brand small{margin-top:.3rem;color:var(--muted);font-family:Arial,sans-serif;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.menu{display:flex;gap:1.5rem;font-family:Arial,sans-serif;font-size:.92rem}.menu a{text-decoration:none;color:var(--ink);position:relative;padding:.35rem 0}.menu a::after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.menu a:hover{color:var(--accent-dark)}.menu a:hover::after{transform:scaleX(1)}
.menu-toggle{display:none}
main{min-height:70vh}
.hero{max-width:var(--max);margin:2.5rem auto 0;display:grid;grid-template-columns:1.15fr .85fr;min-height:610px;padding:0 1.5rem}
.hero-image{background:linear-gradient(rgba(50,25,54,.16),rgba(50,25,54,.16)),url("../images/dnb-lesesaal-hero.jpg") center 48%/cover;border-radius:2px 0 0 2px}
.hero-panel{background:var(--soft);display:flex;flex-direction:column;justify-content:center;padding:4.5rem}
h1,h2,h3{line-height:1.18;margin-top:0}
h1{font-size:clamp(2.25rem,5vw,4.6rem);font-weight:500;letter-spacing:-.025em}
h2{font-size:clamp(1.45rem,2.5vw,2.3rem);font-weight:500}
h3{font-size:1.15rem}
.lead{font-size:1.23rem;color:#4d4650;max-width:760px}
.eyebrow{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:700;color:var(--accent);margin-bottom:1rem}
.actions{display:flex;align-items:center;gap:1.25rem;margin-top:1.3rem;flex-wrap:wrap}
.button{display:inline-block;border:0;background:var(--accent-dark);color:white;text-decoration:none;padding:.85rem 1.15rem;font-family:Arial,sans-serif;font-size:.92rem;cursor:pointer;border-radius:2px}
.button:hover{background:#3f2946}
.text-link{font-family:Arial,sans-serif;font-size:.92rem;font-weight:700;text-decoration:none}
.section{max-width:var(--max);margin:0 auto;padding:5rem 1.5rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.grid-3 article{border-top:3px solid var(--accent);padding-top:1.5rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.soft{max-width:none;padding-left:max(1.5rem,calc((100% - var(--max))/2 + 1.5rem));padding-right:max(1.5rem,calc((100% - var(--max))/2 + 1.5rem));background:var(--soft)}
.publisher-list{display:flex;flex-direction:column;gap:1rem;font-family:Arial,sans-serif;border-left:1px solid #cdbfd1;padding-left:2rem}
.publisher-list span{font-size:1.3rem}.publisher-list a{margin-top:1rem}
.cta{text-align:center;border-top:1px solid var(--line)}
.page-head{max-width:var(--max);margin:auto;padding:6rem 1.5rem 2rem}.page-head h1{max-width:900px}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.service-grid article{border:1px solid var(--line);padding:2rem;background:#fff}
.prose{max-width:820px}.prose p{font-size:1.08rem}.note,.warning{margin-top:2rem;padding:1.25rem 1.4rem;background:var(--soft);border-left:4px solid var(--accent)}
.contact-card{padding:2.5rem;background:var(--soft)}.email-display{font-size:1.25rem}.small{font-size:.9rem;color:var(--muted)}

.footer{border-top:1px solid var(--line);max-width:var(--max);margin:2rem auto 0;padding:2.5rem 1.5rem;display:grid;grid-template-columns:1fr auto;gap:1rem;font-family:Arial,sans-serif;font-size:.82rem;color:var(--muted)}
.footer-links{display:flex;gap:1.25rem}
@media(max-width:800px){
 .menu-toggle{display:block;background:none;border:1px solid var(--line);padding:.55rem .7rem}
 .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--soft);border-bottom:1px solid var(--line);padding:1rem 1.5rem;flex-direction:column}.menu.open{display:flex}
 .hero{grid-template-columns:1fr;min-height:0}.hero-image{min-height:320px}.hero-panel{padding:2.5rem 1.6rem}
 .grid-3,.split,.service-grid,.reference-grid{grid-template-columns:1fr}.section{padding-top:3.5rem;padding-bottom:3.5rem}
 .publisher-list{border-left:0;border-top:1px solid #cdbfd1;padding:1.5rem 0 0}.footer{grid-template-columns:1fr}
}

.hero-image{
  position:relative;
  filter:saturate(.92) contrast(1.02);
}
.hero-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(43,29,46,.18),rgba(43,29,46,.03));
}
.about-visual{
  max-width:var(--max);
  margin:0 auto;
  padding:0 1.5rem;
}
.about-visual img{
  display:block;
  width:100%;
  height:clamp(240px,34vw,430px);
  object-fit:cover;
  object-position:center 44%;
  filter:saturate(.9) contrast(1.03);
}
.footer .credit a{
  color:inherit;
}
@media(max-width:800px){
  .about-visual img{
    height:260px;
  }
}

.site-header .brand span{color:var(--accent-dark)}
.site-header .brand small{color:#6b5d70}
.menu-toggle{background:rgba(255,255,255,.55)}


/* Bildnachweise */
.image-credit{
  margin:.55rem 0 0;
  font-family:Arial,sans-serif;
  font-size:.72rem;
  line-height:1.45;
  color:var(--muted);
  text-align:right;
}
.image-credit a{color:inherit;text-decoration-color:#aaa0ad}
.hero-credit{max-width:var(--max);margin:.55rem auto 0;padding:0 1.5rem}
.about-visual .image-credit{padding:0}

/* Aktiver Navigationspunkt und Tastaturbedienung */
.menu a[aria-current="page"]{color:var(--accent-dark);font-weight:700}
.menu a[aria-current="page"]::after{transform:scaleX(1)}
a:focus-visible,button:focus-visible{outline:3px solid rgba(118,82,127,.38);outline-offset:3px}

/* Referenzen: ruhige editorische Gliederung */
.reference-section{margin-bottom:5rem}
.reference-section>h2{margin-bottom:.25rem;padding-bottom:1rem;border-bottom:2px solid var(--accent)}
.reference-list{display:block}
.reference-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,300px);
  gap:3rem;
  padding:2.1rem 0 2.2rem;
  border-bottom:1px solid var(--line);
}
.reference-title{margin:0 0 .6rem;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:500;line-height:1.3}
.reference-author{margin:0 0 .35rem;font-family:Arial,sans-serif;font-size:.84rem;letter-spacing:.035em;color:var(--accent-dark)}
.reference-biblio{margin:.25rem 0 .85rem;color:var(--muted)}
.reference-main .text-link{display:inline-block;margin-top:.1rem}
.reference-role{align-self:start;padding-top:.15rem}
.role-label{margin:0 0 .65rem;font-family:Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.role-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.role-tag{display:inline-block;padding:.38rem .58rem;background:var(--soft);border:1px solid #ddd0e1;border-radius:2px;font-family:Arial,sans-serif;font-size:.76rem;line-height:1.25;color:var(--accent-dark)}

@media(max-width:800px){
  .reference-item{grid-template-columns:1fr;gap:1.25rem;padding:1.7rem 0}
  .reference-role{padding-top:0}
  .hero-credit{padding:0 1.5rem}
}


/* Referenzen: aufklappbare weitere Einträge */
.reference-more[hidden]{display:none}
.reference-toggle{
  margin-top:1.35rem;
  padding:.72rem 1rem;
  border:1px solid var(--accent);
  border-radius:2px;
  background:transparent;
  color:var(--accent-dark);
  font-family:Arial,sans-serif;
  font-size:.88rem;
  font-weight:700;
  cursor:pointer;
}
.reference-toggle:hover{background:var(--soft)}


/* Eigene Publikationen auf der Seite „Über mich“ */
.publications-card{
  max-width:100%;
  margin-top:2.5rem;
  padding:1.8rem 2rem 2rem;
}
.publications-card>h2{
  margin:0 0 1.8rem;
  font-size:clamp(1.45rem,2.5vw,2.05rem);
}
.publication-section{
  margin-top:2.2rem;
}
.publication-section:first-of-type{
  margin-top:0;
}
.publication-section>h3{
  margin:0 0 .3rem;
  padding-bottom:.75rem;
  border-bottom:2px solid var(--accent);
  font-size:1.12rem;
  font-weight:500;
}
.publication-list{
  display:block;
}
.publication-item{
  padding:1.35rem 0 1.45rem;
  border-bottom:1px solid var(--line);
}
.publication-title{
  margin:0 0 .45rem;
  font-size:1.03rem;
  font-weight:500;
  line-height:1.4;
}
.publication-biblio{
  margin:.15rem 0 .55rem !important;
  color:var(--muted);
  font-size:.94rem !important;
  line-height:1.55;
}
.publication-item .text-link{
  display:inline-block;
  margin-top:.05rem;
}
.publication-more[hidden]{
  display:none;
}
.publication-toggle{
  margin-top:1.25rem;
  padding:.72rem 1rem;
  border:1px solid var(--accent);
  border-radius:2px;
  background:transparent;
  color:var(--accent-dark);
  font-family:Arial,sans-serif;
  font-size:.84rem;
  font-weight:700;
  cursor:pointer;
}
.publication-toggle:hover{
  background:rgba(255,255,255,.58);
}
@media(max-width:800px){
  .publications-card{
    padding:1.45rem 1.3rem 1.6rem;
  }
}

/* LinkedIn-Verweise */
.linkedin-contact{margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.linkedin-contact h2{font-size:1.25rem;margin-bottom:.5rem}
.linkedin-note{margin-top:2rem}


/* VFLL-Mitgliedschaft auf der Seite „Über mich“ */
@media(max-width:600px){
.vfll-logo-link{
    flex-basis:2.55rem;
  }
}
@media(max-width:380px){
.vfll-logo-link{
    flex-basis:2.45rem;
  }
}
