:root{--bg:#F5F2EC;--ink:#191817;--soft:#3C3935;--muted:#807C74;--line:#E3DFD6;--accent:#8C6D46;--maxw:1120px}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;font-weight:300;background:var(--bg);color:var(--ink);line-height:1.75}
h1,h2,h3{font-family:'EB Garamond',serif;font-weight:500;line-height:1.12}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.btn{display:inline-block;padding:15px 36px;border:1px solid var(--ink);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;transition:.3s;cursor:pointer;background:transparent;font-family:'Jost',sans-serif;font-weight:400}
.btn:hover{background:var(--ink);color:var(--bg)}

/* Header */
header{position:sticky;top:0;background:rgba(245,242,236,.93);backdrop-filter:blur(8px);z-index:30;border-bottom:1px solid var(--line)}
.nav{display:flex;justify-content:space-between;align-items:center;height:82px}
.logo{font-family:'EB Garamond',serif;font-size:1.35rem;letter-spacing:.02em}
nav a{margin-left:32px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);transition:.25s;position:relative;padding-bottom:4px}
nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ink);transition:.3s}
nav a:hover,nav a.active{color:var(--ink)}
nav a:hover::after,nav a.active::after{width:100%}
@media(max-width:700px){nav a{margin-left:16px;font-size:.68rem}}

/* Hero */
.hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:78vh;border-bottom:1px solid var(--line)}
.hero-text{display:flex;flex-direction:column;justify-content:center;padding:70px 56px 70px calc((100vw - var(--maxw))/2 + 26px)}
.hero-text .kicker{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:24px}
.hero-text h1{font-size:clamp(2.6rem,5.2vw,4.2rem);margin-bottom:24px}
.hero-text h1 em{font-style:italic;color:var(--accent)}
.hero-text p{color:var(--soft);max-width:420px;font-size:1.06rem;margin-bottom:36px}
.hero-art{background:#EAE6DD;display:flex;align-items:center;justify-content:center;padding:56px}
.hero-art figure{max-width:520px;text-align:center}
.hero-art img{width:100%;height:auto;box-shadow:0 40px 90px rgba(25,24,23,.28)}
.hero-art figcaption{margin-top:18px;font-size:.82rem;color:var(--muted);font-style:italic;letter-spacing:.04em}
@media(max-width:800px){.hero{grid-template-columns:1fr;min-height:auto}.hero-text{padding:60px 26px}.hero-art{padding:40px 26px}}

/* Awards strip */
.awards{border-bottom:1px solid var(--line);padding:26px 0}
.awards-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:'EB Garamond',serif;font-size:.98rem;color:var(--soft)}
.awards-row span::before{content:"—";color:var(--accent);margin-right:10px}
@media(max-width:800px){.awards-row{flex-direction:column;gap:10px}}

/* Sections */
section{padding:90px 0}
.section-head{max-width:620px;margin-bottom:56px}
.section-head .kicker{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:16px}
.section-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
.section-head h2 em{font-style:italic;color:var(--accent)}
.section-head p{color:var(--muted);margin-top:14px}

/* Masonry-Galerie: Bilder in voller Höhe, kein Beschnitt */
.masonry{columns:3;column-gap:30px}
.masonry figure{break-inside:avoid;margin:0 0 42px;position:relative}
.masonry img{width:100%;height:auto;box-shadow:0 14px 36px rgba(25,24,23,.12);transition:.35s}
.masonry figure:hover img{transform:translateY(-4px);box-shadow:0 26px 50px rgba(25,24,23,.2)}
.masonry figcaption{margin-top:14px}
.masonry figcaption b{display:block;font-family:'EB Garamond',serif;font-weight:500;font-size:1.12rem}
.masonry figcaption span{font-size:.78rem;color:var(--muted);letter-spacing:.05em}
@media(max-width:860px){.masonry{columns:2}}
@media(max-width:540px){.masonry{columns:1}}

/* Quote */
.quote{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#EFEBE2}
.quote blockquote{max-width:760px;margin:0 auto;text-align:center;font-family:'EB Garamond',serif;font-size:clamp(1.4rem,2.8vw,2rem);font-style:italic;color:var(--soft);line-height:1.5}
.quote cite{display:block;margin-top:22px;font-family:'Jost',sans-serif;font-style:normal;font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}

/* CTA */
.cta{text-align:center}
.cta h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:12px}
.cta h2 em{font-style:italic;color:var(--accent)}
.cta p{color:var(--muted);margin-bottom:30px}

/* Footer */
footer{border-top:1px solid var(--line);padding:34px 26px;font-size:.8rem;color:var(--muted);background:#EFEBE2}
.f-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer a{color:var(--muted)}
footer a:hover{color:var(--ink)}

/* Biografie */
.bio{padding:70px 26px 100px;max-width:780px;margin:0 auto}
.bio h1{font-size:clamp(2.2rem,4.4vw,3.2rem);margin-bottom:10px}
.bio .sub{color:var(--muted);margin-bottom:56px;font-style:italic;font-family:'EB Garamond',serif;font-size:1.1rem}
.bio h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.24em;color:var(--accent);margin:52px 0 20px;font-family:'Jost',sans-serif;font-weight:500}
.bio-row{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:16px 0;border-bottom:1px solid var(--line)}
.bio-row b{font-family:'EB Garamond',serif;color:var(--ink);font-weight:500}
.bio-row span{color:var(--soft)}
@media(max-width:700px){.bio-row{grid-template-columns:86px 1fr}}

/* Kontakt */
.kontakt{padding:70px 26px 100px;max-width:660px;margin:0 auto}
.kontakt h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:16px}
.kontakt > p{color:var(--muted);margin-bottom:44px}
.k-info{display:flex;gap:44px;margin-bottom:54px;flex-wrap:wrap}
.k-info div b{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:5px;font-weight:500}
.f-field{margin-bottom:20px;display:flex;flex-direction:column;gap:7px}
.f-field label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.f-field input,.f-field textarea{border:1px solid var(--line);background:#fff;padding:14px 16px;font-family:'Jost',sans-serif;font-size:.96rem;color:var(--ink);transition:.25s}
.f-field input:focus,.f-field textarea:focus{outline:none;border-color:var(--ink)}
.f-success{display:none;background:#EAF0E6;border:1px solid #7A9468;color:#48603A;padding:15px 18px;margin-top:18px;font-size:.9rem}

/* Legal */
.legal{padding:70px 26px 100px;max-width:720px;margin:0 auto}
.legal h1{font-size:2.1rem;margin-bottom:32px}
.legal h2{font-size:1.1rem;margin:30px 0 10px;font-family:'Jost',sans-serif;font-weight:500}
.legal p{color:var(--soft);margin-bottom:10px}
