/* Originalfarben, Abstände und Gestaltung; datenschutzfreundlich ohne externe Schriftanfragen. */
:root{--teal:#062d33;--deep:#04252b;--cream:#faf8f2;--gold:#cba65d;--ink:#193337;--muted:#657678}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}.header{height:90px;background:var(--deep);display:flex;align-items:center;justify-content:space-between;padding:12px max(5%,calc((100vw - 1220px)/2));gap:30px}.brand{width:170px;max-height:70px;object-fit:contain}.nav{display:flex;gap:31px;color:#e7ece8}.nav a{font-size:14px}.nav a:hover,.nav .active{color:var(--gold)}.menu{display:none}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em;line-height:1.15}h1{font-size:clamp(40px,6vw,80px);margin:14px 0 24px;font-weight:600}h2{font-size:clamp(29px,4vw,48px);margin:10px 0 20px}h3{font-size:21px;margin:8px 0}p{margin:0 0 20px}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.wrap{width:min(1180px,90%);margin:auto}.hero{background:var(--deep);color:#fff;padding:85px 0 95px}.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:7%;align-items:center}.hero p{color:#d0dddb;max-width:520px;font-size:18px}.hero-img{width:100%;border-radius:4px;aspect-ratio:1/1;object-fit:cover}.accent{color:#e5bc71}.btn{display:inline-flex;align-items:center;gap:12px;background:var(--gold);color:#092d32;padding:13px 24px;border-radius:3px;font-weight:700;font-size:14px}.btn.secondary{background:transparent;border:1px solid var(--gold);color:var(--gold)}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.section{padding:85px 0}.section.light{background:#f0f0e9}.lead{font-size:19px;color:#516669;max-width:730px}.two{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.line{height:1px;background:#d9d6c9;margin:35px 0}.event{padding:30px 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d5d7d0;border-bottom:1px solid #d5d7d0}.event strong{font-size:22px}.event .date{color:#9c793f;font-weight:700}.pagehead{padding:78px 0 55px;background:#e9eee9}.pagehead h1{margin-bottom:10px}.profiles{display:grid;grid-template-columns:repeat(4,1fr);gap:36px 24px}.profile{background:white;border:1px solid #e7e8df;border-radius:5px;overflow:hidden}.profile img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.profile .copy{padding:20px 19px 24px}.profile .role{color:#a47f3f;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.profile p{font-size:14px;color:#53696b;line-height:1.65}.fun{border-top:1px solid #e9e8e2;padding-top:13px;font-size:13px;color:#64787a}.concert{background:white;padding:35px;border:1px solid #e1e2dc;border-left:4px solid var(--gold)}.concert .date{color:#a37b3b;font-weight:700}.repertoire{display:grid;grid-template-columns:1fr 1fr;gap:50px}.repertoire li{padding:8px 0;border-bottom:1px solid #e5e5df}.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:70px}.qr{max-width:280px;width:100%;border-radius:6px}.note{background:#eaf0ec;padding:20px;border-left:3px solid var(--gold)}footer{background:var(--deep);color:#d9e3e0;padding:48px max(5%,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;gap:30px;font-size:14px}footer p{color:#a6b9b5;margin:8px 0}footer a:hover{text-decoration:underline}.small{font-size:13px;color:var(--muted)}@media(max-width:900px){.profiles{grid-template-columns:repeat(2,1fr)}.hero-grid,.two,.contact-grid{grid-template-columns:1fr}.hero-img{max-height:460px}.repertoire{grid-template-columns:1fr}.header{height:auto;min-height:78px;flex-wrap:wrap}.menu{display:block;border:0;background:none;color:white;font-size:25px}.nav{display:none;flex-basis:100%;flex-direction:column;gap:0;padding-bottom:12px}.nav.show{display:flex}.nav a{padding:10px 0}.section{padding:60px 0}}@media(max-width:520px){.profiles{grid-template-columns:1fr}.hero{padding:50px 0}.event,footer{flex-direction:column}.brand{width:140px}.pagehead{padding:55px 0 30px}}
.featured-video{display:block;width:100%;max-width:850px;max-height:620px;margin:30px auto 12px;background:#061e23;border-radius:8px;box-shadow:0 16px 38px rgba(4,37,43,.14)}.reel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}.reel{min-height:140px;padding:24px;background:#fff;border:1px solid #d9e2dc;border-radius:8px;display:flex;align-items:center;gap:18px;font-weight:700}.reel span:last-child{margin-left:auto;color:#9b7b40}.reel-play{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:50%;background:#0a353a;color:#f5ce80}.reel:hover{border-color:#cba65d}@media(max-width:650px){.reel-grid{grid-template-columns:1fr}}

/* Instagram-Reels: erst nach Klick einbetten */
.embed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}.embed-card{min-width:0}.embed-shell{min-height:420px;border-radius:16px;overflow:hidden;background:#113d40;display:flex;align-items:center;justify-content:center;color:#fff}.embed-shell.loaded{background:#fff}.embed-shell iframe{display:block;width:100%;height:600px;border:0}.embed-placeholder{text-align:center;padding:28px;max-width:320px}.embed-placeholder h3{color:#fff;margin:12px 0}.embed-placeholder p{color:#e4eeee;font-size:.94rem;line-height:1.55}.embed-icon{font-size:36px;color:#e6c78e}.embed-button{background:#f1e4cd;color:#173e40;border:0;border-radius:30px;padding:13px 22px;font:inherit;font-weight:700;cursor:pointer;margin-top:12px}.embed-button:hover,.embed-button:focus-visible{background:#fff}.embed-external{display:inline-block;margin-top:12px;font-size:.9rem}@media(max-width:700px){.embed-grid{grid-template-columns:1fr}.embed-shell{min-height:330px}}

.poster{margin:0 0 2rem}.poster img{display:block;width:100%;max-width:530px;height:auto;border-radius:14px;box-shadow:0 12px 40px #002a3620}.poster figcaption{font-size:.85rem;color:#657479;margin-top:.6rem}.qr{background:white;padding:12px;border-radius:14px;max-width:240px}

/* Echte Reel-Vorschaubilder, mobil und am Desktop */
.embed-shell{min-height:0;aspect-ratio:9/13;position:relative;align-items:stretch;justify-content:stretch}
.embed-placeholder{width:100%;height:100%;max-width:none;padding:28px 22px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;background-position:center;background-size:cover!important;text-shadow:0 1px 8px #001c24}
.embed-placeholder .embed-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#082e36d9;color:#fff;text-shadow:none;font-size:27px;margin:auto auto 0}
.embed-placeholder h3{margin-top:22px}.embed-placeholder p{margin-bottom:10px}.embed-shell.loaded{aspect-ratio:auto;min-height:590px}
@media(max-width:700px){.embed-shell{min-height:0}.embed-shell.loaded{min-height:590px}}

/* Konzert: großformatiges Plakat, ohne Kartenraster */
.concert-feature{max-width:920px;margin:0 auto}.poster-large{margin:0 auto 3rem}.poster-large img{width:100%;max-width:820px;height:auto;margin:auto;display:block;border-radius:5px;box-shadow:none}.concert-details{max-width:780px;margin:0 auto;border-top:1px solid #d9d6c9;padding-top:2.3rem}.concert-details h2{margin-top:.7rem}@media(max-width:520px){.poster-large{margin-bottom:2rem}.concert-details{padding-top:1.7rem}}

/* Startseiten-Galerie */
.hero-gallery{position:relative;min-width:0;width:100%;height:420px;overflow:hidden;border-radius:8px;background:#0b363a}.hero-gallery .gallery-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}.hero-gallery .gallery-slide.active{opacity:1}.gallery-controls{position:absolute;bottom:16px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:14px}.gallery-controls button{border:1px solid #ffffffaa;background:#082f36d9;color:white;border-radius:50%;width:36px;height:36px;font-size:22px;cursor:pointer}.gallery-dots{display:flex;gap:9px}.gallery-dots button{height:9px;width:9px;padding:0;border-radius:50%;border:1px solid white;background:transparent;cursor:pointer}.gallery-dots button.active{background:white}@media(max-width:760px){.hero-gallery{height:310px}}@media(prefers-reduced-motion:reduce){.hero-gallery .gallery-slide{transition:none}}

/* Groesseres Achtklang-Logo, auch mobil */
.header{height:112px;gap:18px}.header>a{flex-shrink:0}.header .brand{width:235px;max-height:96px;height:auto;display:block}@media(max-width:760px){.header{height:98px;padding:10px 5%}.header .brand{width:205px;max-height:82px}}@media(max-width:370px){.header .brand{width:175px}}

/* Extra grosses Logo – responsive Header */
.header{height:170px;gap:16px}
.header .brand{width:365px;max-height:150px;height:auto;object-fit:contain}
@media(max-width:760px){.header{height:158px;padding:10px 4%;gap:10px}.header .brand{width:min(76vw,330px);max-height:138px}}
@media(max-width:370px){.header .brand{width:75vw;max-height:132px}}

/* Neu: stabiler, moderner Header und kompakter Startseiten-Einstieg */
.header{position:relative;z-index:30;height:auto;min-height:112px;padding:12px max(5%,calc((100vw - 1220px)/2));gap:20px;flex-wrap:nowrap;background:linear-gradient(100deg,rgba(2,31,36,.94),rgba(4,42,46,.88)),url('assets/probe-2.jpg') center 42%/cover;box-shadow:0 4px 22px #001b2030}
.header>a{display:flex;align-items:center;min-width:0;flex-shrink:1}.header .brand{width:clamp(210px,25vw,310px);max-width:100%;height:auto;max-height:112px;object-fit:contain}.header .nav{margin-left:auto;align-items:center}.header .menu{flex:none;cursor:pointer;line-height:1;border:1px solid #d7bb7e77;border-radius:10px;padding:11px 15px;background:#082e35;color:#fff;font-size:26px}
.hero{padding:36px 0 65px;background:linear-gradient(145deg,#052b32,#073941)}.hero-grid{gap:5%}.hero h1{margin:5px 0 5px}.hero .eyebrow{display:block;margin:0 0 4px}.hero h1+p{font-size:clamp(20px,2.3vw,27px);color:#f0d092;margin-bottom:18px}
@media(max-width:900px){.header{min-height:104px;padding:10px 5%;flex-wrap:wrap;gap:8px}.header>a{flex:1;max-width:calc(100% - 75px)}.header .brand{width:min(68vw,300px);max-height:112px}.header .menu{display:block;margin-left:auto}.header .nav{display:none;width:100%;flex-basis:100%;margin:0;padding:12px 0 8px;flex-direction:column;align-items:stretch;gap:0;background:rgba(3,32,38,.98);border-top:1px solid #cba65d66}.header .nav.show{display:flex}.header .nav a{display:block;padding:12px 16px;font-size:16px;border-bottom:1px solid #ffffff16}.hero{padding:20px 0 46px}.hero-grid{gap:26px}}
@media(max-width:520px){.header .brand{width:min(70vw,285px);max-height:105px}.header .menu{padding:9px 12px}.hero h1{font-size:clamp(43px,12vw,64px)}.hero .eyebrow{letter-spacing:.12em}.hero-gallery{height:330px}}

/* Neues Konzertfoto als gut sichtbarer Header-Hintergrund */
.header{background:linear-gradient(90deg,rgba(2,28,34,.77) 0%,rgba(2,28,34,.48) 58%,rgba(2,28,34,.32) 100%),url('assets/kirchenkonzert-header.jpg') center 49%/cover;background-color:#06323a}
@media(max-width:900px){.header{background-position:center 40%;background-image:linear-gradient(90deg,rgba(2,28,34,.76),rgba(2,28,34,.38)),url('assets/kirchenkonzert-header.jpg')}}

/* Groesserer Kopfbereich: Logo, Hintergrundfoto und Navigation */
@media (min-width: 901px) {
  .header { min-height: 155px; padding-top: 18px; padding-bottom: 18px; gap: 28px; }
  .header .brand { width: clamp(255px, 27vw, 350px); max-height: 138px; }
  .header .nav { gap: 35px; }
  .header .nav a { font-size: 16px; font-weight: 500; }
}
@media (min-width: 521px) and (max-width: 900px) {
  .header { min-height: 132px; padding-top: 14px; padding-bottom: 14px; }
  .header .brand { width: min(69vw, 330px); max-height: 125px; }
}
@media (max-width: 520px) {
  .header { min-height: 118px; padding-top: 12px; padding-bottom: 12px; }
  .header .brand { width: min(70vw, 295px); max-height: 110px; }
}

/* Kontaktformular auf der Startseite */
.contact-home{background:var(--deep);color:#f7f4eb;padding:78px 0 88px}.contact-home-inner{max-width:760px}.contact-home h2{color:#e6bd74}.contact-home p{color:#d1dedb}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 20px}.contact-fields label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:14px}.contact-fields .full{grid-column:1/-1}.contact-fields input,.contact-fields textarea{width:100%;border:1px solid #adc0b9;border-radius:4px;background:#fff;color:#173339;padding:13px 14px;font:inherit}.contact-fields input:focus,.contact-fields textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.privacy-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;margin:0 0 25px}.privacy-check input{margin-top:5px;accent-color:var(--gold)}.privacy-check a{color:#e6bd74;text-decoration:underline}.contact-home button.btn{border:0;cursor:pointer}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.contact-fields{grid-template-columns:1fr}.contact-home{padding:55px 0 65px}}
