:root{
  --bg:#ffffff; --flaeche-hell:#f9fafb; --pill-grau:#f2f4f7; --linie:#e4e7ec;
  --text:#000000; --text-gedaempft:rgba(0,0,0,.56); --text-leise:#667085;
  --radius-karte:16px; --radius-pill:100px; --akzent-gold:#c9a227;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:"Inter",sans-serif;
  font-weight:500;letter-spacing:-0.04em;line-height:1.5;font-size:18px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{max-width:1200px;margin:0 auto;padding:0 40px}

/* ponytail: schwebendes Dock weggelassen — Topbar übernimmt Nav */
.topbar{display:flex;align-items:center;justify-content:space-between;
  padding:24px 40px;border-bottom:1px solid var(--linie)}
.topbar-name strong{display:block;font-size:20px;font-weight:500;letter-spacing:-0.05em}
.topbar-name span{font-size:14px;font-weight:400;color:var(--text-leise)}
.topbar-nav a{font-size:14px;color:var(--text-leise)}
.topbar-nav a:hover{color:var(--text)}

.section-label{font-family:"Fragment Mono",monospace;font-size:12px;
  letter-spacing:0.14em;text-transform:uppercase;color:var(--text-leise);
  margin:60px 0 8px}
.stat{font-family:"Fragment Mono",monospace;font-size:13px;color:var(--text-leise);margin-bottom:32px}

.foto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:809.98px){.container{padding:0 20px}.foto-grid{grid-template-columns:1fr}}

.foto-karte{display:block}
.foto-karte img{width:100%;aspect-ratio:3/2;object-fit:cover;
  border-radius:var(--radius-karte);transition:transform .2s ease-out;margin-bottom:10px}
.foto-karte:hover img{transform:scale(1.02)}
.foto-meta{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}
.foto-meta b{font-weight:600;letter-spacing:-0.03em}
.foto-meta span{color:var(--text-leise);font-family:"Fragment Mono",monospace;font-size:12px}

.progress{margin-top:10px}
.progress .bar{height:4px;background:var(--pill-grau);border-radius:var(--radius-pill);overflow:hidden}
.progress .bar span{display:block;height:100%;background:var(--text);border-radius:var(--radius-pill);transition:width .4s ease-out}
.progress-meta{font-family:"Fragment Mono",monospace;font-size:12px;color:var(--text-leise);margin-top:6px}

.badge{font-family:"Fragment Mono",monospace;font-size:11px;letter-spacing:0.14em;
  text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-pill);background:var(--pill-grau);color:var(--text-leise)}
.badge-done{background:var(--text);color:#fff}
.badge-overdue{background:var(--akzent-gold);color:#fff}

.projekt{padding:40px 0 90px}
.projekt .cover{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-karte);margin-bottom:24px}
.projekt h1{font-size:clamp(32px,5vw,52px);font-weight:600;letter-spacing:-0.04em;line-height:1.05;margin:8px 0 16px}
.exif-meta{font-family:"Fragment Mono",monospace;font-size:13px;color:var(--text-leise);margin-bottom:24px}
.progress.gross .bar{height:8px}
.progress.gross .progress-meta{font-size:14px}
.note{max-width:720px;color:var(--text-gedaempft);font-size:16px;line-height:1.6;margin:24px 0}
.btn-pill{display:inline-block;padding:14px 28px;border-radius:var(--radius-pill);
  background:var(--text);color:#fff;font-size:16px;transition:opacity .2s ease-out;margin-top:16px}
.btn-pill:hover{opacity:.85}
.btn-pill.muted{background:var(--pill-grau);color:var(--text-leise);cursor:default}
.back{margin-top:40px}
.back a{color:var(--text-leise);font-size:14px}
.back a:hover{color:var(--text)}

.empty{color:var(--text-leise);padding:40px 0}
.footer{border-top:1px solid var(--linie);padding:40px 0 80px;margin-top:60px}
.footer p{font-family:"Fragment Mono",monospace;font-size:12px;color:var(--text-leise)}
.footer-links a{color:var(--text-leise)}
.footer-links a:hover{color:var(--text)}