/* ===== Below – dezent modernisiert, responsiv ===== */
:root{
  --bordeaux:#550100;
  --bordeaux-dk:#3d0100;
  --copper:#cb5d35;
  --copper-lt:#e8915f;
  --ink:#1c1a18;
  --paper:#f6f3ee;
  --maxw:1180px;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-size:18px;line-height:1.65;color:var(--ink);background:var(--paper);
  display:flex;flex-direction:column;min-height:100vh}
img{max-width:100%;height:auto;display:block}
a{color:var(--copper);text-decoration:none}
a:hover{color:var(--copper-lt)}

/* ---- Kopf / Menüleiste ---- */
.topbar{background:var(--bordeaux);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.bar-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:18px;
  padding:0 clamp(16px,4vw,32px);min-height:64px}
.brand{color:#fff;font-weight:700;font-size:1.45rem;font-style:italic;line-height:1.1;letter-spacing:.01em;white-space:nowrap}
.brand-sub{display:block;font-style:normal;font-weight:400;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--copper-lt)}
.mainnav{margin-left:auto;display:flex;align-items:center;gap:6px}

.menu{list-style:none;display:flex;align-items:stretch}
.menu>li{position:relative}
.has-sub{display:flex;align-items:stretch}
.menu a{display:flex;align-items:center;color:#fff;padding:20px 16px;font-size:1rem;
  border-bottom:3px solid transparent;transition:background .25s,border-color .25s}
.menu a:hover{background:var(--bordeaux-dk);color:#fff}
.menu a.active{border-bottom-color:var(--copper);color:#fff}

/* Dropdown – nur das Dreieck öffnet das Untermenü */
.caret{align-self:stretch;display:flex;align-items:center;padding:0 14px 0 2px;margin-left:-6px;
  background:transparent;border:0;border-bottom:3px solid transparent;cursor:pointer;transition:background .25s}
.caret::after{content:"";width:0;height:0;
  border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #fff;opacity:.85}
.caret:hover{background:var(--bordeaux-dk)}
.submenu{list-style:none;position:absolute;top:100%;left:0;min-width:260px;background:var(--bordeaux);
  box-shadow:0 10px 26px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(6px);
  transition:.2s;border-top:3px solid var(--copper)}
.caret:hover ~ .submenu,.caret:focus ~ .submenu,.submenu:hover{opacity:1;visibility:visible;transform:none}
.submenu a{padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.submenu a:hover{background:var(--bordeaux-dk)}

/* Sprachumschalter */
.langs{display:flex;gap:4px;margin-left:10px}
.lang{color:#fff;opacity:.6;font-size:.85rem;font-weight:600;padding:6px 8px;border:1px solid transparent;border-radius:4px}
.lang.on,.lang:hover{opacity:1;border-color:var(--copper);color:#fff}

/* Burger */
.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:10px;flex-direction:column;gap:5px}
.burger span{width:26px;height:2px;background:#fff;transition:.3s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---- Hero (Startseite) ---- */
.hero{position:relative;min-height:calc(100svh - 64px);display:flex;align-items:flex-start;justify-content:center;
  text-align:center;color:#fff;background:var(--bordeaux-dk) center/cover no-repeat fixed;
  background-image:linear-gradient(rgba(30,8,4,.32) 0,rgba(30,8,4,.12) 38%,rgba(30,8,4,.30) 100%),url('../images/hero.jpg')}
@supports not (height:100svh){.hero{min-height:calc(100vh - 64px)}}
/* nur linker/rechter Rand unscharf, zur Mitte hin scharf */
.hero::before,.hero::after{content:"";position:absolute;top:0;bottom:0;width:16vw;z-index:1;pointer-events:none;
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}
.hero::before{left:0;-webkit-mask:linear-gradient(to right,#000 0,#000 25%,transparent 100%);
  mask:linear-gradient(to right,#000 0,#000 25%,transparent 100%)}
.hero::after{right:0;-webkit-mask:linear-gradient(to left,#000 0,#000 25%,transparent 100%);
  mask:linear-gradient(to left,#000 0,#000 25%,transparent 100%)}
.hero-inner{position:relative;z-index:2;padding-top:clamp(8px,2vh,24px)}
/* Startseite: Header + Hero + Footer = genau ein Screen (kein Scrollen) */
body.home .hero{min-height:calc(100svh - 64px - 64px)}
@supports not (height:100svh){body.home .hero{min-height:calc(100vh - 64px - 64px)}}
body.home .bottom{margin-top:0}
.hero-title{font-size:clamp(2.6rem,8vw,5.5rem);font-style:italic;font-weight:700;line-height:1.02;text-shadow:0 3px 24px rgba(0,0,0,.5)}
.hero-sub{font-size:clamp(2.6rem,8vw,5.5rem);font-style:italic;color:var(--copper-lt);margin-top:2px;line-height:1.05;text-shadow:0 3px 24px rgba(0,0,0,.5)}

/* ---- Inhalt ---- */
.content{flex:1;width:100%}
.page{max-width:var(--maxw);margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,4vw,32px)}
.page-title{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--bordeaux);border-bottom:3px solid var(--copper);
  padding-bottom:10px;margin-bottom:22px;display:inline-block}
.page-body h2{color:var(--bordeaux);margin:26px 0 10px;font-size:1.5rem}
.page-body h3{color:var(--copper);margin:20px 0 8px;font-size:1.2rem}
.page-body p{margin:0 0 15px}
.page-body img{border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.18);margin:14px 0}
.page-body ul{margin:0 0 16px 22px}
.page-body a{text-decoration:underline}

/* Download-/Listen-Hinweis */
.hinweis{border-left:4px solid var(--copper);background:rgba(85,1,0,.06);padding:12px 18px;margin:0 0 20px;border-radius:0 8px 8px 0}

/* ---- Fuß ---- */
.bottom{background:var(--ink);color:#cfc8c0;margin-top:40px}
.bottom .bar-inner{justify-content:center;min-height:56px;font-size:.9rem}
.bottom a{color:var(--copper-lt)}

/* ---- Responsive ---- */
@media (max-width:820px){
  .burger{display:flex}
  .mainnav{position:fixed;inset:64px 0 auto 0;background:var(--bordeaux);flex-direction:column;align-items:stretch;
    gap:0;max-height:0;overflow:hidden;transition:max-height .3s ease;box-shadow:0 14px 24px rgba(0,0,0,.35)}
  .mainnav.open{max-height:85vh;overflow:auto}
  .menu{flex-direction:column}
  .menu a{padding:16px 22px;border-bottom:1px solid rgba(255,255,255,.1)}
  .menu a.active{border-bottom-color:rgba(255,255,255,.1);box-shadow:inset 4px 0 0 var(--copper)}
  /* has-sub mobil: Link + Dreieck in einer Zeile, Untermenü darunter (Umbruch) */
  .has-sub{flex-wrap:wrap}
  .has-sub>a{flex:1}
  .caret{align-self:auto;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.1)}
  .submenu{position:static;flex-basis:100%;width:100%;opacity:1;visibility:visible;transform:none;box-shadow:none;min-width:0;
    max-height:0;overflow:hidden;transition:max-height .25s;border-top:0;background:var(--bordeaux-dk)}
  .has-sub.open .submenu{max-height:400px}
  .langs{padding:14px 22px}
}

/* ---- Medien: responsive Videos ---- */
.work{margin:0 0 34px}
.work h3{color:var(--copper);font-size:1.3rem;margin:0 0 14px}
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.video{position:relative}
.video .embed{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.2);background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video .vt{display:block;margin-top:7px;font-size:.92rem;color:var(--ink)}
@media(max-width:900px){.videos{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.videos{grid-template-columns:1fr}}

/* ---- Stimmtöne ---- */
.tuning-pic{max-width:560px;width:100%;margin:6px auto 24px;border-radius:10px}
.strings{display:flex;gap:clamp(10px,2vw,20px);justify-content:center;flex-wrap:wrap;margin:10px 0 6px}
.string{width:92px;height:120px;border:2px solid var(--bordeaux);border-radius:12px;background:var(--bordeaux);color:#fff;
  font-size:2.3rem;font-weight:700;cursor:pointer;transition:.25s;display:flex;align-items:center;justify-content:center}
.string:hover{background:var(--bordeaux-dk);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.string.playing{background:var(--copper);border-color:var(--copper)}
.tuning-hint{text-align:center;color:#6b635c;font-size:.95rem}

/* ---- Zeugnis-Liste ---- */
.zeugnis-liste{list-style:none;margin:0 0 20px;padding:0}
.zeugnis-liste li{padding:5px 0}
.zeugnis-liste a{font-size:1.05rem}

/* ---- Kontaktformular ---- */
.cform{display:flex;flex-direction:column;gap:14px;max-width:560px}
.cform label{font-weight:600;font-size:.95rem;display:flex;flex-direction:column;gap:5px}
.cform input,.cform textarea{font:inherit;padding:11px 14px;border:1px solid #ccc;border-radius:8px;background:#fff}
.cform input:focus,.cform textarea:focus{outline:0;border-color:var(--copper);box-shadow:0 0 0 3px rgba(203,93,53,.15)}
.cform textarea{resize:vertical;min-height:140px}
.cform button{align-self:flex-start;background:var(--bordeaux);color:#fff;border:0;border-radius:8px;
  padding:12px 30px;font-size:1rem;cursor:pointer;transition:.25s}
.cform button:hover{background:var(--bordeaux-dk)}

/* Formular-Plugin-Ausgabe stylen */
article.page form{max-width:560px;margin-top:6px}
article.page form .form-group,article.page form .form-field{margin:0 0 14px}
article.page form label{font-weight:600;display:block;margin-bottom:5px}
article.page form input[type=text],article.page form input[type=email],
article.page form input[type=tel],article.page form textarea{
  width:100%;font:inherit;padding:11px 14px;border:1px solid #ccc;border-radius:8px;background:#fff;display:block}
article.page form input:focus,article.page form textarea:focus{
  outline:0;border-color:var(--copper);box-shadow:0 0 0 3px rgba(203,93,53,.15)}
article.page form textarea{min-height:150px;resize:vertical}
article.page form .buttons{margin-top:16px}
article.page form button,article.page form input[type=submit],article.page form .button{
  background:var(--bordeaux);color:#fff;border:0;border-radius:8px;padding:12px 30px;font-size:1rem;cursor:pointer}
article.page form button:hover,article.page form input[type=submit]:hover{background:var(--bordeaux-dk)}

/* Porträt „Zu meiner Person" wie Original (315px), rechts umflossen */
.page-body img.portrait{width:315px;max-width:45%;height:auto;float:right;margin:0 0 18px 26px;border-radius:10px}
@media(max-width:560px){.page-body img.portrait{float:none;width:100%;max-width:100%;margin:0 0 18px}}

/* ---- Footer-Kontaktblock (kompakt) ---- */
.footer-inner{flex-wrap:wrap;justify-content:center;gap:8px 26px;align-items:center;min-height:0;padding-top:12px;padding-bottom:12px}
.foot-contact{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center;font-size:.9rem}
.foot-social{display:flex;gap:10px;align-items:center}
.foot-social a{display:inline-flex}
.foot-social svg{width:22px;height:22px;fill:rgba(255,255,255,.78);transition:.2s}
.foot-social a:hover svg{fill:#fff;transform:scale(1.08)}
.foot-copy{font-size:.8rem;opacity:.6}


/* ---- Stimmtöne: klickbare Saiten über dem Bild ---- */
.geige-wrap{position:relative;display:block;max-width:760px;width:100%;margin:6px auto 22px;line-height:0}
.geige-wrap .tuning-pic{width:100%;max-width:100%;display:block;margin:0;border-radius:10px}
.str{position:absolute;background:transparent;border:0;padding:0;cursor:pointer;border-radius:3px;
  transition:background .12s,box-shadow .12s}
.str:hover{background:rgba(255,235,150,.30);box-shadow:0 0 12px rgba(255,235,150,.55)}
.str.playing{background:rgba(203,93,53,.45);box-shadow:0 0 14px rgba(203,93,53,.6)}

/* Zeugnisse-Abschnitt auf der Personen-Seite */
.zeugnisse-sektion{clear:both;margin-top:34px;border-top:2px solid var(--copper);padding-top:20px}
.zeugnisse-sektion h2{color:var(--bordeaux);font-size:1.5rem;margin:0 0 6px}
.zeugnisse-sektion h3{color:var(--copper);font-size:1.15rem;margin:18px 0 6px}

/* Zeugnisse 2-spaltig */
.zeugnisse-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 48px}
@media(max-width:600px){.zeugnisse-grid{grid-template-columns:1fr;gap:0}}
