/* 1. Variablen */
:root{--ink:#272620;--muted:#625c53;--paper:#faf9f5;--sand:#eee9df;--accent:#bd9b70;--line:#d5cfc3;--dark:#191b19;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--gutter:clamp(24px,5vw,96px);--space:clamp(72px,9vw,152px)}
/* 2. Basis / Reset */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 var(--sans)}img{display:block;max-width:100%;height:auto}figure,blockquote,p,h1,h2,h3{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{font:inherit}button,summary{cursor:pointer}p+p{margin-top:1.15em}::selection{background:#d6bea0;color:#171715}:focus-visible{outline:3px solid #947047;outline-offset:6px}section[id]{scroll-margin-top:20px}.skip{position:fixed;z-index:100;top:8px;left:12px;padding:12px;background:white;color:black;transform:translateY(-160%)}.skip:focus{transform:none}[hidden]{display:none!important}
/* 3. Typografie */
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;text-wrap:balance}h1{font-size:clamp(43px,6vw,88px);letter-spacing:-.045em}h2{font-size:clamp(36px,4vw,59px);letter-spacing:-.035em}h3{font-size:30px;letter-spacing:-.02em}.eyebrow{font:12px/1.5 var(--sans);letter-spacing:.17em;text-transform:uppercase}.standfirst{font-family:var(--serif);font-size:24px;line-height:1.4}.text-link{display:inline-flex;align-items:center;gap:16px;min-height:48px}
/* 4. Layout */
.shell{width:min(100% - 2*var(--gutter),1320px);margin-inline:auto}.section{padding-block:var(--space)}.intro-grid,.story-grid,.fee-grid,.about-grid,.music-grid,.contact-grid{display:grid;gap:40px}.intro-text{max-width:570px}.editorial-image img{width:100%;aspect-ratio:1.35;object-fit:cover}.story-copy h2,.about-copy h2,.music-copy h2{margin-bottom:28px}.story-copy .standfirst{margin-bottom:24px}.story-copy,.about-copy,.music-copy,.fee-detail{max-width:580px}
/* 5. Navigation */
.site-header{position:relative;z-index:20;background:var(--dark);color:#fff}.home-header{position:absolute;inset:0 0 auto;background:transparent}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}.brand{display:block;flex:none}.brand img{width:68px;height:68px}.site-header nav{display:flex;flex-wrap:wrap;gap:4px 22px;align-items:center}.site-header nav a{text-decoration:none;font-size:13px;min-height:44px;display:flex;align-items:center;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current]{border-color:var(--accent)}.menu-toggle{border:1px solid #b8b8af;background:transparent;color:white;min-width:88px;min-height:48px;padding:10px 14px;display:flex;gap:12px;align-items:center}.menu-lines{width:18px;height:10px;border-block:1px solid currentColor}.menu-open{overflow:hidden}
/* 6. Hero */
.hero{position:relative;isolation:isolate;background:#111412;color:#fff;min-height:870px;display:grid;align-items:end}.hero-image{position:absolute;inset:0;width:100%;height:52%;object-fit:cover;object-position:55% 30%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(12,15,13,.1) 0%,rgba(12,15,13,.05) 22%,#111412 51%)}.hero-inner{padding-block:340px 72px}.hero-copy{max-width:730px}.hero h1{margin-bottom:28px}.hero-lead{max-width:520px;font-size:17px;line-height:1.6}.hero-action{margin-top:36px}.hero-note{font-size:12px;color:#e0d6c7;max-width:360px;margin-top:18px}.hero-scroll{position:absolute;right:var(--gutter);bottom:25px;display:grid;place-items:center;width:44px;height:44px;font-size:23px;text-decoration:none}
/* 7. Sections */
.introduction{background:var(--paper)}.intro-text{align-self:end;color:var(--muted)}.process{display:grid;margin-top:60px;gap:28px}.process-item{border-top:1px solid var(--line);padding-top:25px}.process-item img{width:30px;height:30px;margin-bottom:22px}.process-item h3{margin-bottom:15px}.process-item p{font-size:15px;color:var(--muted);max-width:320px}.story{padding-top:0}.story-copy{align-self:center}.fee{background:var(--sand);border-block:1px solid var(--line)}.fee h2{max-width:540px}.fee-inclusions{color:var(--muted)}.price{font:clamp(74px,9vw,126px)/1 var(--serif);letter-spacing:-.06em;margin-top:35px}.price-caption{font-size:13px;margin-top:10px}.fee .button{margin-top:30px}.about{background:#f1f1ed}.about-image{position:relative}.about-image img{width:100%;aspect-ratio:1/1.1;object-fit:cover;object-position:36% center}.about-copy{align-self:center}.about-copy .eyebrow{margin-bottom:22px}.about-copy>.button{margin-top:28px}#ueber-mich .about-disclosure{margin-top:25px;border-bottom:1px solid var(--line);font-size:16px}#ueber-mich .about-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding-block:12px;list-style:none;cursor:pointer}#ueber-mich .about-disclosure summary::-webkit-details-marker{display:none}#ueber-mich .about-disclosure summary::after{content:"";flex:none;width:8px;height:8px;margin-right:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .25s ease}#ueber-mich .about-disclosure[open] summary::after{transform:rotate(225deg)}#ueber-mich .about-more{padding-block:16px 24px;line-height:1.8;text-align:left;overflow-wrap:break-word}#ueber-mich .about-more p+p{margin-top:1.15em}@supports(interpolate-size:allow-keywords){#ueber-mich .about-disclosure{interpolate-size:allow-keywords}#ueber-mich .about-disclosure::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size .28s ease,opacity .2s ease,content-visibility .28s allow-discrete}#ueber-mich .about-disclosure[open]::details-content{block-size:auto;opacity:1}}@media(prefers-reduced-motion:reduce){#ueber-mich .about-disclosure::details-content{transition:none}}.testimonials{position:relative;isolation:isolate;background:var(--dark);color:#fff;padding-block:var(--space)}.testimonials-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.testimonials-shade{position:absolute;inset:0;background:rgba(10,15,13,.84);z-index:-2}.testimonials-inner{max-width:1000px}.testimonials h2{color:#e0c49e;margin-bottom:44px;text-align:center}.quotes{display:grid;gap:36px}.quotes blockquote{text-align:center;font:clamp(24px,3vw,38px)/1.4 var(--serif);text-wrap:balance}.quotes blockquote+blockquote{padding-top:34px;border-top:1px solid #66665b}.music-image{align-self:stretch}.music-image img{height:100%;width:100%;object-fit:cover;min-height:380px}.music .eyebrow{margin-bottom:20px}.ritual{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.ritual h3{margin-bottom:18px}.music .button{margin-top:30px}.faq{background:#eeeee8}.faq-heading{margin-bottom:46px}.faq-heading .eyebrow{margin-bottom:20px}.faq-list details{border-top:1px solid #cbc9be}.faq-list details:last-child{border-bottom:1px solid #cbc9be}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:17px;line-height:1.5;padding:24px 0;min-height:72px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:25px;font-weight:400;flex:none}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-answer{max-width:840px;padding:0 38px 30px 0;font-size:16px;color:#514e46}.contact{background:var(--paper)}address{font-style:normal}.contact-name{font:34px/1.2 var(--serif);margin-bottom:14px}.contact-details address p+p{margin-top:5px}.contact-actions{display:flex;flex-direction:column;align-items:start;gap:12px;margin-top:28px}.site-footer{padding:64px 0 24px;background:#2b2d27;color:#f2efe7}.footer-main{display:grid;gap:36px}.footer-brand img{width:110px;height:110px}.footer-message{max-width:560px}.footer-message p{font-family:var(--serif);font-size:23px;line-height:1.5}.footer-message .button{margin-top:26px}.footer-message .text-link{font-size:14px;display:flex;margin-top:12px}.footer-links{display:grid;justify-items:start;gap:4px}.footer-links .eyebrow{color:#dac09a;margin-bottom:14px}.footer-links a{font-size:14px;text-decoration:none;min-height:30px}.footer-bottom{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;border-top:1px solid #67685c;margin-top:50px;padding-top:24px;font-size:13px}.footer-bottom a{min-height:44px;display:flex;align-items:center}.designer-credit{font-size:12px;line-height:1.7;color:#d2d0c7;margin-top:20px}.designer-credit a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}.legal-main{padding-block:48px 96px;max-width:1000px}.legal-main h1{font-size:clamp(40px,5vw,70px);overflow-wrap:anywhere;margin:35px 0 48px}.back-link{display:inline-flex;min-height:44px;align-items:center}.legal-copy h2{font-size:30px;margin:42px 0 20px;line-height:1.3}.legal-copy h3{font-size:24px;margin:28px 0 14px}.legal-copy p{overflow-wrap:anywhere}
/* 8. Komponenten */
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:22px;min-height:56px;padding:15px 22px;background:var(--accent);color:#1d211b;text-decoration:none;font-size:14px;font-weight:600;line-height:1.4;max-width:100%;transition:background .2s,transform .2s}.button:hover{background:#d2b48d;transform:translateY(-2px)}.button span{font-size:20px;font-weight:400}
/* 9. Animationen: Inhalt ist standardmäßig sichtbar */
.reveal{opacity:1;transform:none}.motion-ready .reveal.pending{opacity:0;transform:translateY(22px)}.motion-ready .reveal{transition:opacity .75s ease,transform .75s ease}.editorial-image,.about-image,.music-image{overflow:hidden}
/* 10. Responsive */
@media(max-width:1099px){.site-header nav{padding:18px 0}.js .site-header nav{display:none}.js .site-header nav.is-open{position:fixed;inset:100px 0 0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#191b19;padding:20px var(--gutter) 40px;overflow:auto}.js .site-header nav.is-open a{font:27px/1.4 var(--serif);padding:10px 0;min-height:56px}.site-header:not(:has(.menu-toggle:not([hidden]))) .header-inner{align-items:start}.site-header:not(:has(.menu-toggle:not([hidden]))) nav{font-size:12px;gap:0 12px}.site-header:not(:has(.menu-toggle:not([hidden]))) .brand{padding-top:16px}}
@media(min-width:650px){.process{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.footer-main{grid-template-columns:120px 1fr}.footer-links{grid-column:2}.hero-image{height:65%}.hero-shade{background:linear-gradient(180deg,rgba(12,15,13,.1),rgba(12,15,13,.1) 25%,#111412 65%)}.hero-inner{padding-top:420px}.faq-list summary{font-size:19px}}
@media(min-width:900px){.intro-grid,.fee-grid,.contact-grid{grid-template-columns:1.1fr 1fr;gap:9%}.story-grid,.about-grid{grid-template-columns:1fr 1fr;gap:8%}.music-grid{grid-template-columns:1fr 1fr;gap:8%}.story-copy{padding-block:28px}.about-image img{aspect-ratio:.94;object-position:35% center}.footer-main{grid-template-columns:130px 1fr 160px;gap:6%}.footer-links{grid-column:auto}.music-image{grid-column:2;grid-row:1}.hero{min-height:840px;align-items:center}.hero-image{height:100%;object-position:70% center}.hero-shade{background:linear-gradient(90deg,rgba(10,14,11,.94),rgba(10,14,11,.75) 36%,rgba(10,14,11,.26) 72%,rgba(10,14,11,.34))}.hero-inner{padding-block:175px 100px}.hero-copy{max-width:660px}.hero-lead{max-width:465px}.hero h1{font-size:clamp(64px,5.5vw,88px)}.hero-action{margin-top:40px}.process{margin-top:70px;gap:6%}.faq-heading{max-width:650px}.faq-list{max-width:1000px;margin-left:auto}.about-copy h2{max-width:490px}}
@media(min-width:1500px){.hero{min-height:960px}.hero-copy{max-width:770px}.hero-image{object-position:center 42%}.hero-lead{font-size:19px;max-width:530px}}
@media(max-width:399px){.button{font-size:13px;padding-inline:17px;gap:14px}.hero-inner{padding-top:320px}.hero{min-height:870px}.hero h1{font-size:43px}.hero-lead{font-size:16px}}
/* 11. Reduced Motion */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .reveal.pending{opacity:1;transform:none}.button:hover{transform:none}}

/* Kontaktkorrektur: ausschließlich auf #kontakt begrenzt. */
#kontakt .contact-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}
#kontakt .contact-grid > * { min-width: 0; }
#kontakt .contact-details {
  width: 100%;
  max-width: 25rem;
}
#kontakt .contact-address {
  display: grid;
  gap: 20px;
  font: 400 17px/1.7 var(--sans);
}
#kontakt .contact-address p { margin: 0; }
#kontakt .contact-address .contact-name {
  font: 400 clamp(26px, 2.2vw, 30px)/1.3 var(--serif);
  margin-bottom: 8px;
}
#kontakt .contact-role { color: var(--muted); }
#kontakt .contact-channels a {
  display: flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-width: 44px;
  min-height: 44px;
  padding-block: 6px;
  overflow-wrap: anywhere;
}
#kontakt .contact-postal { line-height: 1.7; }
#kontakt .contact-actions {
  align-items: flex-start;
  gap: 14px;
  margin-top: 32px;
}
#kontakt .contact-actions a { min-width: 44px; min-height: 48px; }
#kontakt .contact-actions .button { width: fit-content; }
#kontakt .contact-actions .text-link {
  max-width: 100%;
  font-size: 15px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
@media (min-width: 768px) {
  #kontakt .contact-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    column-gap: clamp(48px, 9vw, 128px);
  }
}


/* SEO: sichtbare regionale Einordnung, vorhandene Gestaltung bleibt erhalten. */
.hero-region{margin:0 0 18px;font:400 14px/1.5 var(--sans);letter-spacing:.04em;color:#e0d6c7}
.legal-copy h2,.legal-copy h3{overflow-wrap:anywhere}
