@font-face {
  font-family:'Cormorant Garamond';
  src:url('/assets/fonts/cormorant-garamond.woff2') format('woff2');
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
}
@font-face {
  font-family:'Manrope';
  src:url('/assets/fonts/manrope.woff2') format('woff2');
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
}

:root { --background:#f1f4f6; --foreground:#18364a; --ink:#18364a; --paper:#f1f4f6; --sage:#aebfc7; --clay:#477f9d; --line:rgba(24,54,74,.18); --font-display:'Cormorant Garamond'; --font-sans:'Manrope'; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-sans),sans-serif; }
a { color:inherit; text-decoration:none; }
img,svg { display:block; max-width:100%; }
.site-header { height:96px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 4.5vw; border-bottom:1px solid var(--line); position:absolute; inset:0 0 auto; z-index:10; }
.wordmark { width:max-content; font-family:var(--font-display),serif; font-size:23px; line-height:.78; letter-spacing:-.02em; }
.wordmark span { display:block; }
.site-header nav { display:flex; gap:34px; font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.site-header nav a,.text-link { position:relative; }
.site-header nav a::after,.text-link::after { content:''; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:currentColor; transition:width .25s ease; }
.site-header nav a:hover::after,.text-link:hover::after { width:100%; }
.header-contact { justify-self:end; display:flex; align-items:center; gap:8px; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.hero { min-height:100svh; display:grid; grid-template-columns:56% 44%; position:relative; overflow:hidden; }
.hero-copy { padding:176px 6vw 120px 8vw; display:flex; flex-direction:column; justify-content:center; }
.eyebrow { margin:0 0 34px; color:#5f7684; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
h1 { margin:0; max-width:760px; font-family:var(--font-display),serif; font-size:clamp(64px,7.3vw,122px); font-weight:400; letter-spacing:-.052em; line-height:.78; }
h1 em { color:var(--clay); font-style:italic; font-weight:500; }
.hero-intro { max-width:630px; margin:48px 0 0; font-family:var(--font-display),serif; font-size:clamp(21px,2vw,29px); line-height:1.32; }
.hero-actions { margin-top:44px; display:flex; align-items:center; gap:30px; }
.button { min-height:54px; padding:0 24px; display:inline-flex; align-items:center; gap:18px; justify-content:center; font-size:12px; letter-spacing:.055em; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-dark { background:var(--ink); color:var(--paper); }
.text-link { display:inline-flex; align-items:center; gap:8px; font-size:12px; }
.hero-visual { position:relative; min-height:100%; background:#9eb4bf; overflow:hidden; }
.hero-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(24,54,74,.08),transparent 42%,rgba(24,54,74,.18)); pointer-events:none; }
.portrait-image { width:100%; height:100%; display:block; object-fit:cover; object-position:43% center; }
.hero-footnote { position:absolute; left:8vw; bottom:28px; display:flex; align-items:center; gap:12px; color:#647269; font-size:9px; text-transform:uppercase; letter-spacing:.17em; }
.hero-footnote i { width:3px; height:3px; border-radius:50%; background:var(--clay); }
@media (max-width:900px) { .site-header{position:relative;height:82px;grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:84px 7vw 80px}.hero-visual{min-height:620px}.portrait-image{object-position:44% 40%}.hero-footnote{display:none} }
@media (max-width:560px) { .site-header{padding:0 6vw}.header-contact{font-size:0}.header-contact::before{content:'Kontakt';font-size:11px}.hero-copy{padding:64px 6vw 72px}h1{font-size:clamp(59px,18vw,82px)}.hero-intro{margin-top:36px;font-size:22px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.button{width:100%}.hero-visual{min-height:500px} }

.section-pad { padding: 130px 8vw; }
.section-label { margin:0; color:#657b87; font-size:10px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }
.manifesto { min-height:760px; display:grid; grid-template-columns:18% 1fr; gap:7vw; align-content:center; position:relative; overflow:hidden; }
.manifesto::after { content:'BEGEGNUNG'; position:absolute; right:-24px; bottom:20px; color:rgba(32,52,43,.035); font-family:var(--font-display),serif; font-size:15vw; line-height:1; }
.manifesto-copy h2 { max-width:950px; margin:0; font-family:var(--font-display),serif; font-size:clamp(50px,6.3vw,102px); line-height:.92; letter-spacing:-.04em; font-weight:400; }
.manifesto-copy h2 em { color:var(--clay); font-weight:500; }
.manifesto-copy > p { margin:32px 0 0; font-family:var(--font-display),serif; font-size:clamp(26px,2.6vw,40px); }
.manifesto-note { grid-column:2; display:flex; align-items:flex-start; gap:25px; margin:84px 0 0 auto; max-width:600px; }
.manifesto-note .line { flex:none; width:78px; height:1px; margin-top:10px; background:var(--clay); }
.manifesto-note p { margin:0; line-height:1.8; font-size:14px; }

.approach { background:#dbe4e8; }
.approach-head { display:grid; grid-template-columns:24% 1fr; margin-bottom:80px; }
.approach-head h2 { margin:0; font-family:var(--font-display),serif; font-weight:400; font-size:clamp(42px,5vw,75px); line-height:.95; letter-spacing:-.035em; }
.methods { border-top:1px solid rgba(32,52,43,.24); }
.method { min-height:120px; display:grid; grid-template-columns:9% 29% 1fr; align-items:center; gap:2vw; border-bottom:1px solid rgba(32,52,43,.24); transition:background .25s,padding .25s; }
.method:hover { background:rgba(242,239,231,.45); padding:0 20px; }
.method > span { font-size:10px; letter-spacing:.13em; }
.method h3 { margin:0; font-family:var(--font-display),serif; font-size:31px; font-weight:500; }
.method p { max-width:610px; margin:0; color:#506b79; font-size:13px; line-height:1.7; }
.methods-footnote { max-width:560px; margin:48px 0 0 38%; font-family:var(--font-display),serif; font-size:20px; line-height:1.4; }

.about { display:grid; grid-template-columns:40% 1fr; gap:7.5vw; align-items:start; }
.about-art { height:min(78vh,820px); min-height:680px; position:sticky; top:40px; overflow:hidden; background:#345f79; }
.about-art::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgba(24,54,74,.16)); pointer-events:none; }
.about-art img { width:100%; height:100%; min-height:680px; display:block; object-fit:cover; object-position:45% center; }
.about-copy h2 { max-width:700px; margin:25px 0 45px; font-family:var(--font-display),serif; font-size:clamp(48px,5vw,76px); font-weight:400; line-height:.93; letter-spacing:-.04em; }
.about-copy p:not(.section-label) { max-width:680px; margin:0 0 24px; color:#4f6876; font-size:14px; line-height:1.9; }
.about-copy .lead { color:var(--ink)!important; font-family:var(--font-display),serif; font-size:25px!important; line-height:1.45!important; }
.about-copy .about-qualification { margin:34px 0!important; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink)!important; }
.about-copy .about-closing { margin:38px 0 0!important; color:var(--ink)!important; font-family:var(--font-display),serif; font-size:22px!important; line-height:1.5!important; }

.session { display:grid; grid-template-columns:42% 1fr; gap:8vw; background:var(--ink); color:var(--paper); }
.session .light { color:#b8c3bc; }
.session h2 { margin:26px 0 0; font-family:var(--font-display),serif; font-size:clamp(48px,5vw,76px); font-weight:400; line-height:.93; }
.session-details { border-top:1px solid rgba(242,239,231,.25); }
.session-details > div { min-height:155px; display:grid; grid-template-columns:18% 34% 1fr; align-items:center; gap:18px; border-bottom:1px solid rgba(242,239,231,.25); }
.session-details span { color:#b8c3bc; font-size:10px; text-transform:uppercase; letter-spacing:.15em; }
.session-details strong { font-family:var(--font-display),serif; font-size:32px; font-weight:400; }
.session-details p { color:#b8c3bc; font-size:12px; line-height:1.7; }

.faq { display:grid; grid-template-columns:34% 1fr; gap:8vw; background:#e8eef1; }
.faq-head h2 { max-width:520px; margin:26px 0 0; font-family:var(--font-display),serif; font-size:clamp(44px,4.7vw,72px); font-weight:400; line-height:.96; letter-spacing:-.035em; }
.faq-list { width:100%; border-top:1px solid var(--line); }
.faq-list details { margin:0; border-bottom:1px solid var(--line); }
.faq-list summary { min-height:94px; padding:18px 0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; cursor:pointer; list-style:none; appearance:none; -webkit-appearance:none; color:var(--ink); font-family:var(--font-display),serif; font-size:25px; line-height:1.2; }
.faq-list summary::marker { display:none; content:""; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { display:grid; place-items:center; width:30px; height:30px; color:var(--clay); font-family:var(--font-sans),sans-serif; font-size:24px; font-weight:300; transition:transform .2s ease; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { max-width:680px; margin:-6px 54px 30px 0; color:#4f6876; font-size:14px; line-height:1.85; }

.contact { min-height:760px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; position:relative; }
.contact h2 { margin:30px 0; font-family:var(--font-display),serif; font-size:clamp(50px,6vw,92px); font-weight:400; line-height:.9; letter-spacing:-.04em; }
.contact h2 em { color:var(--clay); }
.contact > p:not(.section-label) { max-width:620px; margin:0 auto 38px; font-size:14px; line-height:1.8; }
.contact-email { margin-top:20px; color:#526d7c; font-size:12px; letter-spacing:.04em; border-bottom:1px solid var(--line); padding-bottom:4px; }
footer { min-height:130px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 5vw; border-top:1px solid var(--line); }
.footer-mark { font-size:20px; }
footer p { font-family:var(--font-display),serif; font-style:italic; font-size:18px; }
footer div { justify-self:end; display:flex; gap:28px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }

.legal-page { min-height:100svh; background:var(--paper); }
.legal-header { height:96px; display:flex; justify-content:space-between; align-items:center; padding:0 5vw; border-bottom:1px solid var(--line); }
.legal-back { display:flex; align-items:center; gap:9px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.legal-content { width:min(820px,88vw); margin:0 auto; padding:110px 0 130px; }
.legal-content > h1 { margin:22px 0 80px; font-family:var(--font-display),serif; font-size:clamp(64px,9vw,116px); font-weight:400; line-height:.85; }
.legal-content section { padding:36px 0; border-top:1px solid var(--line); }
.legal-content section:last-child { border-bottom:1px solid var(--line); }
.legal-content h2 { margin:0 0 20px; font-family:var(--font-display),serif; font-size:29px; font-weight:500; }
.legal-content p { margin:0 0 15px; color:#4f6876; font-size:14px; line-height:1.85; }
.legal-content p:last-child { margin-bottom:0; }
.legal-content a { color:var(--ink); border-bottom:1px solid var(--line); }
.legal-intro { max-width:650px; margin:-45px 0 70px!important; font-family:var(--font-display),serif; font-size:24px!important; color:var(--ink)!important; }
.legal-footer { min-height:100px; display:flex; justify-content:space-between; align-items:center; padding:0 5vw; color:#657b87; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }

@media (max-width:900px) {
  .section-pad{padding:100px 7vw}.manifesto{grid-template-columns:1fr;min-height:auto}.manifesto-copy,.manifesto-note{grid-column:1}.manifesto-copy{margin-top:30px}.manifesto-note{margin-top:55px}.approach-head{grid-template-columns:1fr;gap:28px}.method{grid-template-columns:8% 34% 1fr}.method svg{display:none}.methods-footnote{margin-left:42%}.about{grid-template-columns:1fr}.about-art{height:auto;position:relative;top:auto}.about-art,.about-art img{min-height:560px}.session{grid-template-columns:1fr}.session-details{margin-top:25px}.faq{grid-template-columns:1fr}.faq-list{margin-top:20px}footer{grid-template-columns:1fr auto}footer p{display:none}
}
@media (max-width:560px) {
  html,body{overflow-x:hidden}.section-pad{padding:82px 6vw}h1{font-size:clamp(50px,14vw,58px);line-height:.84}.manifesto-copy h2{font-size:clamp(39px,10.8vw,45px);line-height:.96}.approach-head h2{font-size:clamp(36px,9.7vw,40px);line-height:1}.about-copy h2,.session h2,.faq-head h2{font-size:clamp(39px,10.8vw,45px);line-height:.98}.contact h2{font-size:clamp(40px,11vw,46px);line-height:.95}.manifesto-note .line{width:35px}.method{padding:28px 0;grid-template-columns:30px 1fr}.method h3{font-size:27px}.method p{grid-column:2}.methods-footnote{margin:38px 0 0}.about-art,.about-art img{min-height:430px}.session-details>div{padding:28px 0;grid-template-columns:1fr 2fr}.session-details p{grid-column:2}.faq-list summary{min-height:82px;font-size:22px}.faq-list details p{margin-right:42px}.contact{min-height:660px}footer{padding:32px 6vw;gap:25px}footer div{flex-direction:column;gap:10px}
}
@media (max-width:560px) { .legal-header{height:82px;padding:0 6vw}.legal-back{font-size:0}.legal-back svg{width:20px;height:20px}.legal-content{padding:78px 0 90px}.legal-content>h1{font-size:clamp(50px,14vw,58px);margin-bottom:60px}.legal-intro{margin-top:-30px!important}.legal-content section{padding:30px 0}.legal-footer{padding:25px 6vw;gap:20px} }
