@font-face{font-family:Montserrat;src:url('assets/montserrat.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Tangerine;src:url('assets/tangerine.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#fbf7ef;--ink:#292629;--muted:#625a5e;--wine:#703b46;--wine-dark:#552a34;--line:#ded3c7;--soft:#f1e9de;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Montserrat,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.8 var(--sans)}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a67838;outline-offset:5px}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(2.7rem,5vw,4.9rem);line-height:1.12;letter-spacing:-.045em;margin-bottom:25px}h2{font-size:clamp(2.3rem,4vw,3.7rem);line-height:1.14;letter-spacing:-.035em;margin-bottom:24px}h3{font-size:1.8rem;line-height:1.3;margin-bottom:16px}em{font-weight:400;color:var(--wine)}p{margin-bottom:20px}.eyebrow{font-size:.78rem;letter-spacing:.15em;line-height:1.6;color:var(--wine);margin-bottom:24px}.fine{font-size:.875rem;line-height:1.7;color:var(--muted)}.skip-link{position:fixed;top:-100px;left:15px;z-index:99;background:white;padding:12px}.skip-link:focus{top:10px}.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1600px;margin:auto;padding:20px clamp(24px,5vw,80px);background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;flex-shrink:0;line-height:1.1}.brand-name{font-family:Tangerine,var(--serif);font-size:3.1rem;color:var(--wine)}.brand-sub{font-size:.65rem;letter-spacing:.2em;margin-top:3px}.header nav{display:flex;align-items:center;gap:28px}.header nav a{text-decoration:none;font-size:.875rem}.header nav a:hover{color:var(--wine);text-decoration:underline}.header .nav-cta{border:1px solid var(--wine);color:var(--wine);padding:10px 18px}.menu-toggle{border:1px solid var(--wine);background:transparent;color:var(--wine);padding:8px 14px}.hero{max-width:1440px;margin:auto;padding:75px clamp(24px,6vw,95px) 0}.hero-copy{max-width:950px;position:relative}.hero h1 br:first-of-type{display:none}.hero-intro{max-width:620px;color:var(--muted);font-size:1.08rem}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.button{display:inline-block;cursor:pointer;text-align:center;color:white;background:var(--wine);border:1px solid var(--wine);padding:15px 23px;text-decoration:none;font-size:.875rem;line-height:1.6;transition:background .2s}.button:hover{background:var(--wine-dark)}.text-link{font-size:.875rem;color:var(--wine);text-decoration:underline}.hero-signature{font-family:Tangerine,var(--serif);font-size:2.3rem;margin:28px 0;color:var(--wine)}.hero-photo{position:relative;margin-top:32px;background:#292629;overflow:hidden}.hero-photo img{width:100%;aspect-ratio:3.27;object-fit:cover}.hero-photo figcaption{position:absolute;left:28px;bottom:20px;color:white;font-family:var(--serif);font-size:1.5rem;background:#2229;padding:10px 18px}.hero-photo figcaption span{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.05em}.region-line{max-width:1250px;margin:0 auto;padding:28px clamp(24px,3vw,50px);display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--line);font-size:.875rem;color:var(--muted)}.region-line span{flex-shrink:0;color:var(--wine)}.region-line p{margin:0}.section{max-width:1250px;margin:auto;padding:90px 40px}.section-heading{max-width:750px;margin-bottom:45px}.section-heading>p:last-child{max-width:580px;color:var(--muted)}.moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.moments article{border-top:1px solid var(--line);padding-top:28px}.number{font-size:.75rem;letter-spacing:.1em;color:var(--wine);display:block;margin-bottom:24px}.moments h3{font-size:2rem}.moments p{color:var(--muted)}.music-section{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;background:var(--soft)}.music-section>div{max-width:570px}.music-note{border:1px solid #ccb7a4;padding:36px;align-self:center;background:var(--paper)}.note{display:block;color:var(--wine);font-size:3rem;line-height:1.3;margin-bottom:20px}.music-note .fine{margin:22px 0 0}.about{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:95px}.about figure{max-width:360px;justify-self:center}.about img{width:100%;filter:saturate(.65)}.about figcaption{font-family:Tangerine,var(--serif);font-size:2rem;color:var(--wine);text-align:center;margin-top:12px;line-height:1.2}.about p{color:var(--muted)}.credentials{display:flex;gap:15px;flex-wrap:wrap;margin:28px 0;font-size:.8rem}.credentials span{border-bottom:1px solid var(--line);padding-bottom:10px}.planning{border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;list-style:none;margin:0;padding:0;counter-reset:step}.steps li{counter-increment:step}.steps li:before{content:'0' counter(step);font-family:var(--serif);font-style:italic;font-size:3rem;color:var(--wine);display:block;margin-bottom:12px}.steps h3{font-size:1.6rem}.steps p{color:var(--muted)}.local{background:var(--wine);color:var(--paper);text-align:center;padding-inline:clamp(25px,7vw,100px)}.local .eyebrow,.local em{color:#ebd6b9}.local>p:not(.eyebrow){max-width:790px;margin:0 auto 22px}.towns{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:35px 0 0}.towns li{border:1px solid #be929b;padding:7px 14px;font-size:.8rem}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.faq-list details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:20px 25px 20px 0;line-height:1.5;font-size:1rem}.faq-list summary{position:relative;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:0;top:18px;font-size:1.5rem;color:var(--wine)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{color:var(--muted);padding-right:25px;font-size:.95rem}.contact{background:var(--soft);display:grid;grid-template-columns:1fr 1.15fr;gap:75px}address{font-style:normal;display:flex;flex-direction:column;gap:12px;margin:30px 0}address a{font-size:.9rem;overflow-wrap:anywhere}address span{font-size:.875rem;color:var(--muted)}.inquiry{padding:35px;background:var(--paper);border:1px solid var(--line)}.inquiry h3{margin-bottom:26px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label{font-size:.875rem}.field label span{font-size:.75rem;color:var(--muted)}input,select,textarea{width:100%;min-width:0;border:1px solid #aa978c;padding:12px;background:white;color:var(--ink);border-radius:0;font-size:1rem;line-height:1.5}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.inquiry .button{width:100%}#form-status{margin-top:20px;font-size:.875rem;overflow-wrap:anywhere}footer{max-width:1250px;margin:auto;padding:50px 40px 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:40px}.footer-top p{font-family:var(--serif);font-style:italic;color:var(--muted);margin:0}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:var(--muted)}.footer-bottom div{display:flex;flex-wrap:wrap;gap:24px}.legal{margin-top:25px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.legal summary{font-size:.875rem}.legal p{max-width:850px}.legal details{scroll-margin-top:110px}.legal details+details{border-top:1px solid var(--line)}
@media(min-width:1200px){.hero-copy{padding-right:200px;max-width:none}.hero-signature{position:absolute;right:0;bottom:6px;max-width:200px;transform:rotate(-7deg);font-size:2.5rem;text-align:center}}
@media(max-width:1000px){.header nav{gap:16px}.header nav a{font-size:.8rem}.brand-name{font-size:2.6rem}.header{padding:16px 24px}.section{padding:65px 28px}.music-section,.about,.contact{gap:45px}.faq{gap:35px}.moments,.steps{gap:25px}.hero{padding-top:55px}.region-line{display:block}.region-line span{display:block;margin-bottom:8px}.music-note{padding:28px}}
@media(max-width:760px){html{scroll-padding-top:90px}.header{flex-wrap:wrap}.menu-toggle:not([hidden]){display:block}.header nav{width:100%;flex-wrap:wrap;justify-content:center;border-top:1px solid var(--line);padding-top:18px;gap:18px}.header nav[data-collapsed='true']{display:none}.brand-name{font-size:2.5rem}.hero{padding:45px 24px 0}.hero h1 br:first-of-type{display:block}.hero h1{font-size:clamp(2.65rem,8.5vw,4rem)}.hero .eyebrow{font-size:.7rem}.actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-signature{font-size:2rem}.hero-photo{margin-inline:-24px}.hero-photo img{aspect-ratio:2.3}.hero-photo figcaption{left:16px;bottom:12px;font-size:1.2rem;padding:7px 12px}.hero-photo figcaption span{font-size:.65rem}.section{padding:58px 24px}.section-heading{margin-bottom:30px}.moments,.steps,.music-section,.about,.faq,.contact{grid-template-columns:1fr;gap:35px}.moments article{padding-top:22px}.moments article p:last-child{margin-bottom:0}.music-section{gap:32px}.about figure{max-width:280px;justify-self:start}.about>div{order:-1}.faq{gap:15px}.contact{gap:25px}.inquiry{padding:24px}.footer-top{flex-direction:column;align-items:flex-start;gap:22px}.footer-bottom{flex-direction:column;gap:18px}.form-row{grid-template-columns:1fr;gap:0}footer{padding:40px 24px 24px}.towns{gap:8px}.towns li{font-size:.75rem}.region-line{padding:24px}.local h2{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.copy-button{margin-top:14px;border:0;background:transparent;padding:0;cursor:pointer;font:inherit}

.event-extension{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:40px;border-top:1px solid var(--line)}.event-extension h2{font-size:clamp(2rem,3vw,2.8rem)}.event-extension>div:last-child{align-self:center}.event-extension p:not(.eyebrow){color:var(--muted)}@media(max-width:760px){.event-extension{grid-template-columns:1fr;gap:12px;padding-top:45px}}

.recordings{grid-column:1/-1;border-top:1px solid var(--line);padding-top:40px}.recordings>p:not(.eyebrow){max-width:780px}.recordings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.recording{padding:25px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.recording .eyebrow{margin-bottom:12px;font-size:.75rem}.recording h4{font-family:var(--serif);font-size:1.7rem;line-height:1.3;font-weight:400;margin:0 0 10px}.recording .text-link{margin-top:auto}.recordings-note{margin-top:25px;margin-bottom:0}@media(max-width:1000px){.recordings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.recordings-grid{grid-template-columns:1fr}.recordings{padding-top:30px}}

@media(min-width:761px) and (max-width:1000px){.moments{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Bright photographic backgrounds and progressive scroll effects. */
:root{--paper:#fdfbf7;--soft:#f5f0e8}
.hero{position:relative;isolation:isolate;max-width:none;min-height: min(88svh,900px);padding:clamp(70px,9vw,145px) max(24px,calc((100vw - 1180px)/2)) 70px;overflow:hidden;display:flex;align-items:center}
.photo-background{position:absolute;inset:-6% 0;z-index:-2;background-size:cover;background-repeat:no-repeat;pointer-events:none}
.hero-background{background-image:url('assets/klavier-blueten-v8.webp');background-position:center}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(253,251,247,.96) 0%,rgba(253,251,247,.87) 34%,rgba(253,251,247,.2) 69%,rgba(253,251,247,.08))}
.hero-copy{max-width:750px;padding-right:0}.hero h1{font-size:clamp(2.7rem,4.9vw,4.7rem);line-height:1.15}.hero h1 br:first-of-type{display:none}.hero h1 em{display:block;margin-top:14px;font-size:.61em;letter-spacing:-.015em}.hero-intro{max-width:590px}.hero-signature{position:static;transform:none;max-width:none;text-align:left;font-size:2.05rem;margin:28px 0 0;line-height:1.25}.hero-signature br{display:none}.hero-signature br:after{content:' '}.hero-signature{word-spacing:.06em}
.local{position:relative;isolation:isolate;max-width:none;color:var(--ink);overflow:hidden;background:var(--paper);padding-top:100px;padding-bottom:100px}.local-background{background-image:url('assets/klavier-licht-v8.webp');background-position:center}.local:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(253,251,247,.62),rgba(253,251,247,.96) 55%)}.local-content{max-width:850px;margin-left:auto;margin-right:max(0px,calc((100vw - 1380px)/2));padding:40px;text-align:left;background:rgba(253,251,247,.72)}.local .eyebrow,.local em{color:var(--wine)}.local-content>p:not(.eyebrow){max-width:790px;margin-bottom:22px}.local .towns{justify-content:flex-start}.local .towns li{border-color:#bca89d;background:rgba(255,255,255,.72);color:var(--ink)}
.section-heading,.moments article,.recording,.about>div,.about figure,.steps li,.faq>div,.contact>div,.inquiry{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal-pending{opacity:0;transform:translateY(24px)}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference) and (min-width:1001px){.photo-background{animation:backgroundFloat linear both;animation-timeline:view();animation-range:entry 0% exit 100%}@keyframes backgroundFloat{from{transform:translateY(-3%) scale(1.02)}to{transform:translateY(3%) scale(1.04)}}}
@media(max-width:1000px){.hero{padding:75px 30px;min-height:650px}.hero-copy{max-width:650px}.hero:after{background:linear-gradient(90deg,rgba(253,251,247,.97),rgba(253,251,247,.86) 50%,rgba(253,251,247,.42))}.local-content{max-width:750px;padding:30px}.hero-background{background-position:70% 50%}}
@media(max-width:760px){.hero{padding:55px 24px 65px;min-height:640px;align-items:flex-start}.hero h1{font-size:clamp(2.65rem,8.5vw,3.9rem)}.hero h1 br:first-of-type{display:none}.hero-background{background-position:75% 50%}.hero:after{background:linear-gradient(180deg,rgba(253,251,247,.92),rgba(253,251,247,.94) 67%,rgba(253,251,247,.55))}.hero .actions{gap:18px}.hero-signature{font-size:1.8rem}.local{padding:55px 24px}.local-content{padding:25px 18px;margin:0;background:rgba(253,251,247,.86)}.local h2{font-size:2.2rem}.photo-background{inset:0}.local:after{background:rgba(253,251,247,.5)}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.photo-background{animation:none!important;transform:none!important}}
@media print{.reveal-pending{opacity:1;transform:none}.photo-background{display:none}.hero:after,.local:after{display:none}.hero{min-height:0}.local-content{background:none}}

.header .menu-toggle{display:none;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:0;padding:10px;background:transparent;color:var(--wine);cursor:pointer}.header .menu-toggle[hidden]{display:none!important}.menu-icon{display:block;flex:none;width:24px;height:24px;overflow:visible}
@media(max-width:900px){.header{flex-wrap:wrap}.header .menu-toggle:not([hidden]){display:inline-flex}.header nav{width:100%;justify-content:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;gap:18px}.header nav[data-collapsed="true"]{display:none}}
@media(max-width:380px){.header{gap:10px}.header .brand-sub{font-size:.6rem;letter-spacing:.14em}}

/* Generated photographs with verified 2–3–2–3 black key groups. */
.hero-background,.local-background{opacity:1;filter:none;background-position:center}
.hero:after{background:linear-gradient(90deg,rgba(253,251,247,.97) 0%,rgba(253,251,247,.94) 35%,rgba(253,251,247,.2) 67%,rgba(253,251,247,.03) 100%)}
.hero-copy{padding:28px;background:rgba(253,251,247,.86);max-width:720px}
.local:after{background:linear-gradient(90deg,rgba(253,251,247,.02),rgba(253,251,247,.4) 45%,rgba(253,251,247,.85))}
.local-content{background:rgba(253,251,247,.94)}
@media(max-width:1000px){.hero-copy{max-width:620px}}
@media(max-width:760px){.hero{padding:45px 24px 240px;min-height:0}.hero-copy{padding:0;background:none}.hero-background{background-size:auto 240px;background-position:center bottom;background-color:var(--paper)}.hero:after{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) calc(100% - 240px),rgba(253,251,247,.12) calc(100% - 195px),transparent 100%)}.local{padding-bottom:200px}.local-background{background-size:auto 220px;background-position:center bottom}.local:after{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) calc(100% - 220px),transparent calc(100% - 180px))}.local-content{background:none;padding:0}}

.legal h3{font-size:1.3rem;margin-top:28px;margin-bottom:14px}.legal code{overflow-wrap:anywhere}.legal a{overflow-wrap:anywhere}

/* Use the actual space required by the brand and the full navigation. */
.header{--navigation-gap:28px}
.header nav a{white-space:nowrap}
.header[data-compact="false"]{flex-wrap:nowrap}
.header[data-compact="false"] nav{display:flex;width:auto;flex-wrap:nowrap;justify-content:flex-start;border-top:0;padding-top:0;gap:var(--navigation-gap)}
.header[data-compact="false"] .menu-toggle{display:none!important}
.header[data-compact="true"]{flex-wrap:wrap}
.header[data-compact="true"] .menu-toggle:not([hidden]){display:inline-flex}
.header[data-compact="true"] nav{width:100%;display:flex;flex-wrap:wrap;justify-content:center;border-top:1px solid var(--line);padding-top:18px;gap:18px}
.header[data-compact="true"] nav[data-collapsed="true"]{display:none}
@media(max-width:1000px){.header{--navigation-gap:16px}}

.about figcaption q{quotes:"„" "“"}.about figcaption .quote-author{display:block;margin-top:.25rem;font-family:var(--sans);font-size:.875rem;font-style:normal;line-height:1.6;color:var(--muted)}

/* Responsive, full-width recordings carousel. Simple pixel widths avoid browser-dependent flex calculations. */
.music-section>.recordings{max-width:none;min-width:0;width:100%}
.recordings-grid{display:flex;width:100%;min-width:0;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:none;scroll-behavior:auto;padding:6px 0 12px;margin-top:20px;scrollbar-width:none}
.recordings-grid::-webkit-scrollbar{display:none}
.recordings-grid .recording{flex:0 0 var(--recording-width,calc(16.666667% - 16.666667px));min-width:0;scroll-snap-align:start;overflow-wrap:anywhere}
.recordings-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:24px}
.recordings-controls[hidden]{display:none}
.recordings-controls>.recordings-prev,.recordings-controls>.recordings-next{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:0;background:transparent;color:var(--wine);cursor:pointer;transition:opacity .2s,transform .2s}
.recordings-controls>.recordings-prev:hover:not(:disabled){transform:translateX(-3px)}.recordings-controls>.recordings-next:hover:not(:disabled){transform:translateX(3px)}
.recordings-controls>button:disabled{opacity:.22;cursor:default}
.recordings-dots{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}
.recordings-dot{display:grid;place-items:center;width:26px;height:32px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:50%}
.recordings-dot::before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--wine);opacity:.25;transition:opacity .2s,transform .2s}
.recordings-dot[aria-current="true"]::before{opacity:1;transform:scale(1.4)}.recordings-dot:hover::before{opacity:.7}
.hero h1{letter-spacing:0;line-height:1.2}.hero h1 em{letter-spacing:0}
@media(max-width:1099px){.recordings-grid{gap:12px}.recordings-grid .recording{flex-basis:var(--recording-width,calc(33.333333% - 8px));padding:16px 12px}.recording h4{font-size:1.25rem}}
@media(max-width:760px){.recordings-controls{gap:8px}}
@media(prefers-reduced-motion:reduce){.recordings-controls button,.recordings-dot::before{transition:none}}
@media print{.recordings-controls{display:none}.recordings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.recordings-grid .recording{break-inside:avoid}}

.hero h1 .hero-moment{display:block;margin-top:0.15em;font-size:clamp(1.4rem,4.8vw,3.2rem);line-height:1.2;letter-spacing:0;white-space:nowrap}
.recordings-grid .recording.reveal-pending{opacity:1;transform:none}

.music-quote{margin:28px 0;padding-left:20px;border-left:2px solid #b99965}.music-quote blockquote{margin:0}.music-quote blockquote p{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.65rem);line-height:1.5;color:var(--wine);margin:0 0 10px}.music-quote figcaption{font-family:var(--sans);font-size:.875rem;line-height:1.6;color:var(--muted)}

.recordings-grid .recording{padding:18px 12px}.recording h4{font-size:1.25rem}.recording .eyebrow{letter-spacing:.03em;line-height:1.5}@media(max-width:760px){.recordings-grid{gap:8px}.recordings-grid .recording{padding:14px 8px;flex-basis:var(--recording-width,calc(33.333333% - 5.333333px))}.recording h4{font-size:1rem}.recording .text-link,.recording .fine{font-size:.875rem;line-height:1.5}}

.hero-claim{font-family:Tangerine,var(--serif);font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.25;color:var(--wine);margin:0 0 22px}.hero-claim span{white-space:nowrap}.hero h1{margin-bottom:18px}
