
:root{--cream:#F7F5F1;--ink:#1C1A17;--soft:#8B857B;--line:#DDD8CF;
--display:'Italiana',Georgia,serif;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat','Helvetica Neue',Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.8;font-size:15px;-webkit-font-smoothing:antialiased}
::selection{background:var(--ink);color:var(--cream)}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 6vw}
header{position:sticky;top:0;z-index:50;background:rgba(247,245,241,.94);backdrop-filter:blur(8px)}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.3rem 4vw;border-bottom:1px solid var(--line)}
.nav ul{display:flex;gap:1.8rem;list-style:none}
.nav ul.right{justify-content:flex-end}
.nav ul a{font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;transition:color .3s}
.nav ul a:hover{color:var(--soft)}
.wordmark{font-family:var(--display);font-size:1.9rem;letter-spacing:.3em;text-align:center;padding-left:.3em}
@media(max-width:1000px){.nav ul{display:none}.nav{grid-template-columns:1fr auto 1fr}}
.k{font-size:.62rem;letter-spacing:.45em;text-transform:uppercase;color:var(--soft)}
section{padding:8rem 0;scroll-margin-top:5rem}
h2{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,4.6vw,3.6rem);letter-spacing:.12em;line-height:1.25;text-transform:uppercase}
.it{font-family:var(--serif);font-style:italic;font-weight:300;text-transform:none;letter-spacing:.02em}
.center{text-align:center}
.btn{display:inline-block;font-size:.64rem;letter-spacing:.4em;text-transform:uppercase;padding:1.15rem 2.8rem 1.05rem;border:1px solid var(--ink);transition:.4s}
.btn:hover{background:var(--ink);color:var(--cream)}
.btn.light{border-color:rgba(247,245,241,.7);color:var(--cream)}
.btn.light:hover{background:var(--cream);color:var(--ink)}
.underline{border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:.64rem;letter-spacing:.35em;text-transform:uppercase}
.underline:hover{color:var(--soft);border-color:var(--soft)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s ease,transform 1s ease}
.reveal.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.hero{min-height:84vh;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:5rem 6vw}
.hero .k{margin-bottom:3rem}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,7vw,5.8rem);letter-spacing:.14em;line-height:1.18;text-transform:uppercase}
.hero h1 .it{font-size:1.06em}
.hero .sub{max-width:52ch;margin:3rem auto 0;color:var(--soft);font-size:.85rem;letter-spacing:.12em;line-height:2.2}
.hero .cta{margin-top:3.6rem;display:flex;gap:2.4rem;justify-content:center;align-items:center;flex-wrap:wrap}
.manifesto{background:var(--ink);color:var(--cream);text-align:center;padding:9rem 0}
.manifesto .k{color:#7d786e}
.manifesto p.big{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.6;max-width:30ch;margin:2.4rem auto 0}
.manifesto p.big em{font-style:italic}
.manifesto .small{color:#9d9789;max-width:54ch;margin:2.6rem auto 0;font-size:.82rem;letter-spacing:.1em;line-height:2.2}
.mlist{max-width:720px;margin:4rem auto 0}
.mitem{text-align:center;padding:3.4rem 0;border-top:1px solid var(--line);display:block}
.mitem.last{border-bottom:1px solid var(--line)}
.mitem .n{font-family:var(--serif);font-style:italic;color:var(--soft);font-size:1rem;letter-spacing:.15em}
.mitem h3{font-family:var(--display);font-weight:400;font-size:1.9rem;letter-spacing:.16em;text-transform:uppercase;margin:1rem 0 1.1rem}
.mitem p{color:var(--soft);font-size:.84rem;letter-spacing:.08em;max-width:48ch;margin:0 auto 1.8rem;line-height:2.1}
.exgrid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:4.5rem}
.excell{padding:3rem 2.6rem;border-bottom:1px solid var(--line);text-align:center}
.excell:nth-child(odd){border-right:1px solid var(--line)}
.excell .n{font-size:.62rem;letter-spacing:.4em;color:var(--soft)}
.excell h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;margin:1.1rem 0 .8rem;letter-spacing:.04em}
.excell:hover h3{font-style:italic}
.excell p{color:var(--soft);font-size:.82rem;letter-spacing:.08em;line-height:2;max-width:40ch;margin:0 auto}
@media(max-width:820px){.exgrid{grid-template-columns:1fr}.excell:nth-child(odd){border-right:none}}
.berater{text-align:center;background:#EFECE5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.berater p{color:var(--soft);max-width:56ch;margin:2.2rem auto 2.6rem;font-size:.85rem;letter-spacing:.1em;line-height:2.2}
.team{display:grid;grid-template-columns:1fr 1fr;gap:5rem;max-width:900px;margin:4.5rem auto 0}
.member{text-align:center}
.member .frame{width:150px;height:150px;border:1px solid var(--line);border-radius:50%;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:2.4rem;color:var(--soft);letter-spacing:.1em;padding-left:.1em}
.member h3{font-family:var(--display);font-weight:400;font-size:1.75rem;letter-spacing:.2em;text-transform:uppercase}
.member .role{font-size:.62rem;letter-spacing:.35em;text-transform:uppercase;color:var(--soft);margin:1rem 0 1.2rem;line-height:2.2}
.member p{color:var(--soft);font-size:.82rem;letter-spacing:.08em;line-height:2.1;max-width:38ch;margin:0 auto}
@media(max-width:820px){.team{grid-template-columns:1fr;gap:4rem}}
.partners{max-width:760px;margin:4rem auto 0}
.pitem{text-align:center;padding:2.6rem 0;border-top:1px solid var(--line);display:block}
.pitem.last{border-bottom:1px solid var(--line)}
.pitem h3{font-family:var(--serif);font-weight:400;font-size:1.9rem;letter-spacing:.05em}
.pitem:hover h3{font-style:italic}
.pitem span{display:block;margin-top:.7rem;font-size:.62rem;letter-spacing:.35em;text-transform:uppercase;color:var(--soft)}
.kontakt{background:var(--ink);color:var(--cream);text-align:center;padding:9rem 0}
.kontakt .k{color:#7d786e}
.kontakt h2{margin-top:2rem;color:var(--cream)}
.kontakt .details{margin:2.8rem 0 3.4rem;color:#9d9789;font-size:.8rem;letter-spacing:.22em;line-height:2.6;text-transform:uppercase}
.kontakt a.mail{border-bottom:1px solid #7d786e;padding-bottom:3px;text-transform:none;letter-spacing:.12em;font-size:.9rem}
footer{background:var(--ink);color:#7d786e;border-top:1px solid #33302a;padding:2.6rem 6vw;text-align:center;font-size:.6rem;letter-spacing:.35em;text-transform:uppercase}
footer .fm{font-family:var(--display);font-size:1.3rem;letter-spacing:.35em;color:var(--cream);margin-bottom:1.2rem}
footer nav{display:flex;gap:2.4rem;justify-content:center;margin-bottom:1.2rem}
footer a:hover{color:var(--cream)}
.subhero{padding:7rem 6vw 4rem;text-align:center}
.subhero h1{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,5vw,4.2rem);letter-spacing:.14em;line-height:1.25;text-transform:uppercase;max-width:26ch;margin:0 auto}
.subhero h1 .it{font-size:1.06em}
.subhero .intro{max-width:56ch;margin:2.6rem auto 0;color:var(--soft);font-size:.85rem;letter-spacing:.1em;line-height:2.2}
.ctaband{background:var(--ink);color:var(--cream);text-align:center;padding:6.5rem 6vw}
.ctaband .btn{border-color:rgba(247,245,241,.7);color:var(--cream);margin-top:2.6rem}
.ctaband .btn:hover{background:var(--cream);color:var(--ink)}
.ctaband h2{color:var(--cream)}
.legal{max-width:760px;margin:0 auto;padding:6rem 6vw 7rem}
.legal h1{font-family:var(--display);font-weight:400;font-size:2.4rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2.4rem}
@media(max-width:640px){.legal h1{font-size:1.5rem;hyphens:auto}}
.legal h2{font-weight:400;font-size:.68rem;letter-spacing:.35em;text-transform:uppercase;margin:2.6rem 0 .7rem}
.legal p{color:var(--soft);font-size:.88rem;line-height:2}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5rem;margin-top:4.5rem;text-align:center}
.val h3{font-family:var(--display);font-weight:400;font-size:1.4rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.8rem}
.val p{color:var(--soft);font-size:.82rem;letter-spacing:.08em;line-height:2.1}
@media(max-width:820px){.vals{grid-template-columns:1fr}}
.burger{display:none;background:none;border:0;cursor:pointer;padding:.6rem;margin:-.6rem -.6rem -.6rem 0;grid-column:3;grid-row:1;justify-self:end;color:var(--ink)}
.burger span{display:block;width:24px;height:1px;background:currentColor;margin:7px 0;transition:transform .3s ease}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mnav{display:none}
@media(max-width:1000px){
.burger{display:block}
.nav>.wordmark,.nav>.lm{grid-column:2;grid-row:1}
.mnav:not([hidden]){display:block;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid var(--line);padding:1rem 4vw 1.6rem;box-shadow:0 18px 30px -18px rgba(28,26,23,.18)}
.mnav a{display:block;padding:.95rem 0;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.mnav a:last-child{border-bottom:0}
}

.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;padding:1.25rem 0;background:var(--cream)}
.ticker .track{display:inline-block;animation:mv 42s linear infinite}
.ticker span{font-family:var(--serif);font-style:italic;font-size:1.15rem;letter-spacing:.06em;margin:0 1.8rem;color:var(--ink)}
.ticker b{font-weight:300;font-size:.65rem;letter-spacing:.2em;vertical-align:middle;color:var(--soft)}
@keyframes mv{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker .track{animation:none}}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:4.5rem}
.mcell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:3.2rem 2.4rem 3.4rem;display:flex;flex-direction:column;align-items:center;text-align:center;transition:background .35s,color .35s;min-height:360px}
.mcell .n{font-family:var(--serif);font-style:italic;color:var(--soft);font-size:1rem;letter-spacing:.15em}
.mcell h3{font-family:var(--display);font-weight:400;font-size:1.6rem;letter-spacing:.14em;text-transform:uppercase;margin:1.2rem 0 1rem;line-height:1.45}
.mcell p{color:var(--soft);font-size:.83rem;letter-spacing:.08em;line-height:2.1;flex:1;max-width:34ch}
.mcell .underline{margin-top:1.8rem}
.mcell:hover{background:var(--ink);color:var(--cream)}
.mcell:hover .n{color:#9d9789}
.mcell:hover p{color:#9d9789}
.mcell:hover h3{color:var(--cream)}
.mcell:hover .underline{color:var(--cream);border-color:rgba(247,245,241,.7)}
@media(max-width:900px){.mgrid{grid-template-columns:1fr}.mcell{min-height:0}}
.exl{border-top:1px solid var(--line);margin-top:4.5rem}
.exr{display:grid;grid-template-columns:5.5rem 1.05fr 1fr auto;gap:2rem;align-items:center;padding:2.15rem 0;border-bottom:1px solid var(--line);text-align:left;transition:.3s}
.exr .n{font-size:.62rem;letter-spacing:.4em;color:var(--soft)}
.exr h3{font-family:var(--serif);font-weight:400;font-size:1.75rem;letter-spacing:.04em}
.exr:hover h3{font-style:italic}
.exr p{color:var(--soft);font-size:.82rem;letter-spacing:.08em;line-height:2}
.exr .a{font-size:1.2rem;color:var(--soft);transition:transform .3s,color .3s}
.exr:hover .a{transform:translateX(6px);color:var(--ink)}
@media(max-width:900px){.exr{grid-template-columns:1fr;gap:.4rem}.exr .a{display:none}.exr .n{justify-self:start}.exr h3{font-size:1.5rem;hyphens:auto}}
.lm{display:inline-block;text-align:center;line-height:1;color:inherit}
.lm .lmv{font-family:'Bodoni Moda',Georgia,serif;font-weight:500;font-variation-settings:'opsz' 44;display:block;line-height:.88}
.lm .lmr{display:block;height:1px;background:currentColor;opacity:.5}
.lm .lmw{font-family:'Bodoni Moda',Georgia,serif;letter-spacing:.5em;padding-left:.5em;display:block}
.lm .lmw .lmx{letter-spacing:0;margin-left:-.42em;font-size:.72em}
.lm .lms{font-family:'Bodoni Moda',Georgia,serif;letter-spacing:.34em;padding-left:.34em;display:block}
.lm.lg .lmv{font-size:118px}
.lm.lg .lmr{width:150px;margin:20px auto}
.lm.lg .lmw{font-size:19px}
.lm.lg .lms{font-size:12.5px;margin-top:10px}
.lm.mini .lmv{font-size:30px}
.lm.mini .lmw{font-size:8.6px;margin-top:6px}
.lm.foot .lmv{font-size:42px}
.lm.foot .lmw{font-size:10.5px;margin-top:7px}
footer .lm.foot{color:var(--cream);margin-bottom:1.2rem}
.hero .lm{margin-bottom:2.6rem}
/* --- Feedback-Runde 1: Überschriften ohne Versalien, serif, seitlich --- */
h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,4.2vw,3.2rem);letter-spacing:0;line-height:1.2;text-transform:none}
.shead{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;margin-bottom:3.2rem;flex-wrap:wrap;text-align:left}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.7rem,6.2vw,5rem);letter-spacing:0;text-transform:none;line-height:1.12;max-width:22ch;margin:0 auto}
.hero .tagline{font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:var(--soft);margin:0 0 2.6rem;line-height:2.1}
.subhero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,5vw,4.2rem);letter-spacing:0;text-transform:none;line-height:1.15;max-width:26ch;margin:0 auto}
.mcell h3{font-family:var(--serif);font-weight:500;font-size:1.6rem;letter-spacing:.01em;text-transform:none;line-height:1.25}
.manifesto p.big em{font-style:italic}
.val h3{font-family:var(--serif);font-weight:500;font-size:1.45rem;letter-spacing:.02em;text-transform:none}
/* CV eingerahmt */
.tgrid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-top:4rem;text-align:left;background:transparent}
.tcell{padding:2.8rem 2.4rem}
.tcell+.tcell{border-left:1px solid var(--line)}
.tcell h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.9rem}
.tcell .r{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--soft);margin:.9rem 0 1rem;line-height:2}
.tcell p{color:var(--soft);font-size:.84rem;letter-spacing:.06em;line-height:2;max-width:48ch}
.tphoto{width:100%;aspect-ratio:4/5;max-width:260px;background:#EDEAE3;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;color:var(--soft);font-size:1rem;margin-bottom:2rem}
@media(max-width:820px){.tgrid{grid-template-columns:1fr}.tcell+.tcell{border-left:none;border-top:1px solid var(--line)}}
/* Partner-Logos */
.plogos{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:4rem}
.plogo{padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;min-height:200px;text-align:center;transition:background .3s}
.plogo+.plogo{border-left:1px solid var(--line)}
.plogo .mark{font-family:var(--serif);font-weight:500;font-size:1.7rem;line-height:1.2}
.plogo:hover .mark{font-style:italic}
.plogo span{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--soft)}
.plogo img{max-height:64px;max-width:80%;object-fit:contain}
@media(max-width:820px){.plogos{grid-template-columns:1fr}.plogo+.plogo{border-left:none;border-top:1px solid var(--line)}}
/* Kontaktformular */
.kform{max-width:640px;margin:3.5rem auto 0;text-align:left}
.kform .row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.kform label{display:block;font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:#9d9789;margin-bottom:.55rem}
.kform input,.kform textarea{width:100%;background:transparent;border:none;border-bottom:1px solid #4a463f;color:var(--cream);font-family:var(--sans);font-weight:300;font-size:.95rem;padding:.65rem 0;outline:none;border-radius:0}
.kform input:focus,.kform textarea:focus{border-color:var(--cream)}
.kform .field{margin-bottom:2.2rem}
.kform textarea{min-height:110px;resize:vertical}
.kform button{font-family:var(--sans);cursor:pointer;background:none;display:inline-block;font-size:.64rem;letter-spacing:.4em;text-transform:uppercase;padding:1.15rem 2.8rem 1.05rem;border:1px solid rgba(247,245,241,.7);color:var(--cream);transition:.4s}
.kform button:hover{background:var(--cream);color:var(--ink)}
.kform .alt{margin-top:2rem;font-size:.72rem;letter-spacing:.14em;color:#9d9789;text-align:center}
.kform .alt a{border-bottom:1px solid #7d786e;padding-bottom:2px;color:var(--cream)}
@media(max-width:640px){.kform .row{grid-template-columns:1fr}}
/* --- Feedback-Runde 2 --- */
.plist{border-top:1px solid var(--line);margin-top:2.6rem}
.prowl{display:grid;grid-template-columns:200px 1fr auto;gap:2.4rem;align-items:center;padding:2.1rem 0;border-bottom:1px solid var(--line)}
.prowl .pimg{display:flex;align-items:center}
.prowl img{max-height:60px;max-width:170px;object-fit:contain}
.prowl .pname{font-family:var(--serif);font-weight:500;font-size:1.6rem}
.prowl:hover .pname{font-style:italic}
.prowl .ploc{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--soft);text-align:right}
@media(max-width:760px){.prowl{grid-template-columns:1fr;gap:.8rem}.prowl .ploc{text-align:left}}
.tcell img.photo{width:100%;max-width:300px;aspect-ratio:4/5;object-fit:cover;object-position:top;filter:grayscale(1);display:block;margin:0 auto 2rem}
.bandimg{width:100%;height:360px;object-fit:cover;display:block;margin-top:5rem;filter:grayscale(1)}
@media(max-width:760px){.bandimg{height:220px}}
/* --- Feedback-Runde 3 --- */
.lm.mini{padding:2px 0}
.lm.mini .lmv{font-size:32px}
.lm.mini .lmw{font-size:9px;margin-top:5px}
.lm.mini .lms{font-size:6.6px;letter-spacing:.32em;padding-left:.32em;margin-top:4px;display:block}
.lm.foot .lms{font-size:8px;letter-spacing:.32em;padding-left:.32em;margin-top:5px;display:block}
.hero{position:relative;overflow:hidden}
.subhero{position:relative;overflow:hidden}
.wmark{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 74%,transparent);mask-image:linear-gradient(to bottom,#000 74%,transparent)}
.subhero.hasbg{padding-bottom:10rem}
.wmark.photo{filter:grayscale(1);opacity:.12}
.wmark.map{opacity:.16;filter:grayscale(1)}
.wmark.fit{object-fit:contain;opacity:.14;padding:2.5rem 0;
  -webkit-mask-image:radial-gradient(ellipse 72% 68% at center,#000 62%,transparent 96%);
  mask-image:radial-gradient(ellipse 72% 68% at center,#000 62%,transparent 96%)}
.hero>*:not(.wmark),.subhero>*:not(.wmark){position:relative;z-index:1}
.hero h1{font-size:clamp(1.9rem,4.9vw,4.4rem);white-space:nowrap;max-width:none}
@media(max-width:700px){.hero h1{white-space:normal}}
.pstack{margin-top:3rem;border-top:1px solid var(--line)}
.pitem2{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:3rem 0;border-bottom:1px solid var(--line)}
.pitem2 img{max-height:64px;max-width:190px;object-fit:contain}
.pitem2 .pname{font-family:var(--serif);font-weight:500;font-size:1.7rem}
.pitem2:hover .pname{font-style:italic}
.pitem2 .ploc{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--soft);line-height:2}
/* --- Lesbarkeit: dunkleres Grau, etwas größere und kräftigere Fließtexte --- */
:root{--soft:#67625A}
body{font-weight:400}
.hero .sub{font-size:.95rem;letter-spacing:.07em;line-height:2}
.hero .tagline{color:#3C3831}
.subhero .intro{font-size:.95rem;letter-spacing:.05em;line-height:2}
.mcell p{font-size:.88rem;letter-spacing:.04em;line-height:1.95}
.exr p,.excell p{font-size:.88rem;letter-spacing:.04em;line-height:1.9}
.mitem p{font-size:.9rem;letter-spacing:.05em}
.tcell p,.member p{font-size:.9rem;letter-spacing:.03em;line-height:1.95}
.berater p{font-size:.95rem;letter-spacing:.06em}
.vals .val p{font-size:.88rem;letter-spacing:.04em}
.manifesto .small{color:#c2bcb0;font-size:.92rem;letter-spacing:.06em}
.manifesto .k{color:#a39d90}
.kontakt .k{color:#a39d90}
.kform label{color:#b5afa2}
.kform .alt{color:#b5afa2;font-size:.8rem;letter-spacing:.1em}
footer{color:#a8a296}
footer a:hover{color:var(--cream)}
