:root{--paper:#faf8f4;--ink:#222321;--muted:#505258;--gold:#b18a57;--line:#e1dcd4;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.65 var(--sans)}a{color:inherit;text-decoration:none}a:hover{color:#98703d}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15}.wrap{max-width:1320px;width:calc(100% - 120px);margin:auto}.skip{position:absolute;left:20px;top:-100px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}.header{height:86px}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:block;flex-shrink:0}.brand-name{font:38px/1.05 var(--serif);display:block}.brand-role{display:block;font-size:9px;letter-spacing:2.6px;margin-top:5px}.nav{display:flex;gap:29px;align-items:center}.nav a{font-size:14px;padding:13px 0;position:relative;white-space:nowrap}.nav a[aria-current]:after{content:'';position:absolute;bottom:3px;left:-5px;right:-5px;height:1px;background:var(--gold)}.menu{display:none}.hero{height:462px;color:#faf7f1;position:relative;isolation:isolate;background:#302d27;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/hero-aktuell.webp') no-repeat right top;background-size:cover;width:62%;left:auto;mask-image:linear-gradient(90deg,transparent,black 35%)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#302d27 0%,#302d27 31%,rgba(48,45,39,.98) 40%,rgba(48,45,39,.8) 51%,rgba(48,45,39,.15) 69%,transparent 83%)}.hero-inner{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-left:34px}.hero h1{font-size:clamp(50px,5.9vw,84px);letter-spacing:-1px}.hero-role{font:21px/1.5 var(--serif);letter-spacing:3px;margin-top:3px}.gold-line{display:block;width:42px;height:2px;background:var(--gold);margin:22px 0 17px}.hero blockquote{font:24px/1.4 var(--serif);margin:0;max-width:455px}.hero-actions{display:flex;gap:17px;margin-top:26px}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;border:1px solid currentColor;padding:10px 30px;min-height:49px;font-size:17px}.button-primary{background:#c5a477;border-color:#c5a477;color:white;font-family:var(--serif);font-size:20px}.button:hover{color:#fff;background:#a48051}.overview{min-height:266px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;padding:30px 0}.teaser{display:grid;grid-template-columns:145px 1fr;gap:25px;min-height:197px;padding:0 20px;border-left:1px solid var(--line)}.teaser:first-child{border-left:0;padding-left:0}.teaser:last-child{padding-right:0}.teaser img{width:100%;height:197px;object-fit:cover}.teaser .portrait{object-position:50% 20%}.teaser .cello{object-position:50% 48%}.teaser .project{object-position:50% 46%}.teaser h2{font-size:29px;white-space:nowrap}.teaser .gold-line{margin:17px 0 19px;height:1px}.teaser p{font-size:14px;line-height:1.6}.more{display:inline-block;font-size:11px;letter-spacing:2.1px;color:#a27643;margin-top:20px}.more span{font-size:20px;margin-left:8px;line-height:0}.contact-strip{background:#eeeae4;min-height:148px;display:flex;align-items:center}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.eyebrow{font-size:10px;letter-spacing:2.7px;text-transform:uppercase}.contact-strip h2{font-size:34px;margin-top:8px}.contact-strip .gold-line{height:1px;margin:10px 0 0}.email{display:flex;align-items:center;gap:22px;font-size:20px;letter-spacing:.4px;padding-right:12%}.email svg{width:37px;height:30px;stroke:var(--gold);fill:none;stroke-width:1.3}.footer{background:#262726;color:#f3efe8;min-height:126px;display:flex;align-items:center}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.footer .brand-name{font-size:25px}.footer .brand-role{font-size:8px;letter-spacing:2.2px}.legal{display:flex;gap:26px;font-size:12px}.legal a+a{border-left:1px solid #777;padding-left:26px}.page-main{min-height:calc(100vh - 360px);padding:65px 0 75px}.page-main h1{font-size:58px}.page-main .intro{max-width:650px;font-size:18px}.page-main .gold-line{margin:23px 0}.page-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.page-photo{width:100%;max-height:610px;object-fit:cover;object-position:50% 24%}.draft-note{font-size:13px;color:#68645d;border-left:2px solid var(--gold);padding-left:15px;margin:25px 0}.plain-list{padding-left:20px;margin:20px 0}.plain-list li{padding:5px 0}.content-section{margin-top:35px;max-width:760px}.content-section h2{font-size:30px;margin-bottom:13px}.content-section p+p{margin-top:12px}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;margin-top:40px}.project-list article{border-top:1px solid var(--line);padding-top:25px}.project-list h3{font-size:28px;margin-bottom:14px}.media-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;margin-top:35px}.media-grid figure{margin:0}.media-grid img{width:100%;height:400px;object-fit:cover;object-position:center 25%}.media-grid figcaption{font-size:13px;margin-top:10px;color:var(--muted)}.contact-form{margin-top:35px;max-width:600px;display:grid;gap:15px}.contact-form label{display:grid;gap:5px}.contact-form input,.contact-form textarea{font:inherit;width:100%;padding:10px;border:1px solid #cfc7ba;background:transparent;border-radius:0}.contact-form textarea{min-height:140px;resize:vertical}.contact-form button{font:inherit;color:#69635b;background:#e4ded3;border:1px solid #cfc7ba;padding:12px;cursor:not-allowed}.contact-form small{color:#68645d}.page-contact-link{color:#946c3b;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}

@media(max-width:1250px){.wrap{width:calc(100% - 64px)}.brand-name{font-size:32px}.brand-role{font-size:8px;letter-spacing:1.7px}.nav{gap:19px}.nav a{font-size:13px}.teaser{grid-template-columns:105px 1fr;gap:18px;padding:0 17px}.teaser h2{font-size:25px}.teaser p{font-size:13px}.email{padding-right:0;font-size:17px}.hero-inner{padding-left:12px}.hero-role{font-size:18px;letter-spacing:2px}.contact-strip h2{font-size:30px}}
@media(max-width:980px){.header{height:auto;min-height:86px}.header-inner{flex-wrap:wrap;padding:16px 0;gap:12px}.nav{width:100%;justify-content:space-between;gap:12px}.nav a{padding:4px 0 9px}.hero h1{font-size:62px}.hero-role{font-size:16px;letter-spacing:1px}.hero blockquote{font-size:22px;max-width:370px}.hero:after{background:linear-gradient(90deg,#302d27 0%,rgba(48,45,39,.95) 36%,rgba(48,45,39,.65) 56%,transparent 90%)}.hero:before{background-position:right top;background-size:auto 175%}.overview{grid-template-columns:1fr;padding:28px 0}.teaser,.teaser:first-child,.teaser:last-child{padding:23px 0;grid-template-columns:145px 1fr;border-left:0;border-bottom:1px solid var(--line);gap:28px;min-height:0}.teaser:last-child{border-bottom:0}.teaser img{height:175px}.teaser h2{font-size:30px}.teaser p{font-size:15px;max-width:450px}.more{margin-top:15px}.contact-inner{padding:25px 0;flex-wrap:wrap;gap:20px}.footer-inner{padding:25px 0}.page-grid{gap:35px}.page-main h1{font-size:48px}.project-list{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr 1fr}.media-grid img{height:340px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.header-inner{position:relative;min-height:86px;padding:16px 0}.brand-name{font-size:29px}.brand-role{font-size:6.5px;letter-spacing:1.25px}.menu{display:block;background:none;border:1px solid #c9c1b5;color:var(--ink);padding:7px 10px;font:12px var(--sans)}.nav{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 22px}.js .nav{display:none}.js .nav.is-open{display:flex;padding-top:15px}.nav a{font-size:14px}.hero{height:620px}.hero:before{width:100%;mask-image:none;background-size:auto 102%;background-position:75% top}.hero:after{background:linear-gradient(0deg,rgba(34,32,28,.98),rgba(34,32,28,.87) 40%,rgba(34,32,28,.12) 82%)}.hero-inner{justify-content:flex-end;padding:0 0 30px}.hero h1{font-size:46px;letter-spacing:-1px}.hero-role{font-size:14px;line-height:1.6;letter-spacing:.7px;max-width:320px}.hero .gold-line{margin:17px 0 14px}.hero blockquote{font-size:20px;max-width:340px}.hero-actions{gap:12px;margin-top:22px}.button{padding:9px 18px;font-size:16px}.button-primary{font-size:18px}.teaser,.teaser:first-child,.teaser:last-child{grid-template-columns:110px 1fr;gap:20px;padding:22px 0}.teaser img{height:185px}.teaser h2{font-size:25px;white-space:normal}.teaser .gold-line{margin:14px 0}.teaser p{font-size:13px}.more{font-size:9px;letter-spacing:1.3px}.contact-strip h2{font-size:29px;max-width:330px}.email{font-size:15px;gap:12px;letter-spacing:0}.email svg{width:29px;flex-shrink:0}.footer-inner{align-items:flex-start;flex-direction:column;gap:23px}.footer .brand-role{font-size:6.5px;letter-spacing:1.4px}.page-main{padding:40px 0}.page-main h1{font-size:42px}.page-grid{grid-template-columns:1fr;gap:30px}.page-main .intro{font-size:17px}.page-photo{max-height:450px}.media-grid{grid-template-columns:1fr}.media-grid img{height:440px}.project-list{gap:20px}}

/* Kontaktformular */
.contact-cta{color:#8d683b;padding-right:5%}.contact-cta:hover{color:#62451f}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.contact-intro{margin-top:20px;max-width:390px;color:var(--muted)}.contact-form{margin-top:0;max-width:620px;gap:20px;scroll-margin-top:25px}.contact-form label{font-size:13px;letter-spacing:.3px;gap:8px}.contact-form input,.contact-form textarea{font-size:16px;background:#fffdfa;padding:12px 14px}.contact-form textarea{min-height:170px}.contact-form button{display:flex;align-items:center;justify-content:space-between;gap:35px;justify-self:start;min-width:220px;color:#fff;background:#a17b4d;border:1px solid #a17b4d;padding:13px 22px;cursor:pointer;font-size:15px}.contact-form button:hover{background:#87633b}.contact-form button:disabled{opacity:.65;cursor:wait}.form-privacy,.form-status{font-size:12px;line-height:1.6;color:#68645d}.form-privacy a{text-decoration:underline;text-underline-offset:3px}.form-status{min-height:38px;max-width:540px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:980px){.contact-layout{gap:40px}}
@media(max-width:600px){.contact-layout{grid-template-columns:1fr;gap:24px}.contact-layout .draft-note{margin-bottom:0}.contact-cta{padding-right:0}}

.concert-list{margin-top:45px}.concert{display:grid;grid-template-columns:180px 1fr;gap:35px;padding:30px 0;border-top:1px solid var(--line)}.concert-date time{font:25px var(--serif)}.concert-date p{font-size:14px;color:var(--muted);margin-top:7px}.concert h2,.concert-empty h2{font-size:30px}.concert-ensemble{margin-top:10px}.concert-program{margin-top:15px;color:var(--muted);max-width:650px}.concert-empty{border-top:1px solid var(--line);margin-top:45px;padding-top:30px;max-width:780px}.concert-empty p{margin-top:15px;color:var(--muted)}
@media(max-width:1150px) and (min-width:981px){.nav{gap:14px}.nav a{font-size:12px}}
@media(max-width:600px){.concert{grid-template-columns:1fr;gap:17px}.concert-date{display:flex;gap:20px;align-items:center}.concert-date p{margin:0}}

/* Right edge stays anchored; additional width reveals the quartet to the left. */
.teaser .project{object-position:right top}
@media(min-width:981px){.teaser.teaser-project{grid-template-columns:clamp(105px,calc(25.25vw - 153.5px),210px) minmax(0,1fr);gap:18px}}
@media(min-width:601px) and (max-width:980px){.teaser.teaser-project{grid-template-columns:clamp(145px,25vw,210px) minmax(0,1fr)}}

.project-group{margin-top:45px}.project-group>h2{font-size:34px}.project-group .project-list{margin-top:22px}
@media(max-width:600px){.project-group>h2{font-size:29px}}

/* Medien: vollständige Fotos und Originalvideos. */
.media-section{max-width:none}.media-section .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.media-photos img{display:block;height:400px;object-fit:contain;object-position:center}.media-videos iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;background:#222321}
@media(max-width:600px){.media-section .media-grid{grid-template-columns:1fr}.media-photos img{height:auto}}

/* Video consent stays within the existing 16:9 media grid. */
.video-slot{aspect-ratio:16/9;width:100%;background:var(--paper)}.video-consent{height:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;border:1px solid var(--line);text-align:center}.video-consent p{font-size:13px;line-height:1.5;max-width:360px;color:var(--muted)}.video-load{font:14px var(--sans);padding:10px 16px;color:var(--ink);background:transparent;border:1px solid var(--gold);cursor:pointer}.video-load:hover{color:#98703d}.video-load:disabled{cursor:default}.video-consent a,.video-withdraw{font:12px var(--sans);color:#946c3b;text-decoration:underline;text-underline-offset:3px}.video-withdraw{border:0;padding:0;margin-top:10px;background:transparent;cursor:pointer}.video-withdraw[hidden]{display:none}.video-slot iframe{height:100%}
@media(max-width:600px){.video-consent{padding:14px;gap:9px}}

.media-videos .video-preview{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.video-consent[hidden]{display:none}

/* Unterrichtspreise */
.tuition-price-table{width:100%;border-collapse:collapse;margin:20px 0}.tuition-price-table th,.tuition-price-table td{text-align:left;padding:12px 0;border-bottom:1px solid var(--line);vertical-align:top}.tuition-price-table th{font-size:13px;font-weight:400;color:var(--muted)}.tuition-price-table th:last-child,.tuition-price-table td:last-child{text-align:right;white-space:nowrap;padding-left:20px}
