:root{--bg:#f4efe5;--paper:#fbf8f1;--card:#ebe3d3;--timber:#5a3d27;--timber-2:#7a5638;--ink:#23271b;--muted:#5d5a4c;--olive:#5f7108;--lime:#afcb08;--lime-soft:#e7efb3;--glow:#f3d79d;--line:rgba(90,61,39,.22);--serif:"Newsreader",Georgia,serif;--sans:"Hanken Grotesk",system-ui,sans-serif;--r:6px}
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
p,li,dd,blockquote,figcaption{text-wrap:pretty}
em{font-style:italic;color:var(--olive)}
.wrap{width:min(1200px,100% - 48px);margin-inline:auto}
.wrap-wide{width:min(1392px,100% - 48px);margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;z-index:200}.skip-link:focus{left:12px}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--timber-2);margin:0 0 22px}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(175,203,8,.18)}
.eyebrow.light{color:var(--glow)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;transition:background-color .25s,color .25s,border-color .25s,transform .25s cubic-bezier(.16,1,.3,1);will-change:transform}
.btn-lime{background:var(--lime);color:#1d2208}.btn-lime:hover{background:#c2dc2a}
.btn-line{border:1.5px solid var(--timber);color:var(--timber)}.btn-line:hover{background:var(--timber);color:var(--paper)}
.btn-ghost-light{border:1.5px solid rgba(251,248,241,.5);color:var(--paper)}.btn-ghost-light:hover{background:var(--paper);color:var(--ink)}
.btn-sm{min-height:42px;padding:0 20px;font-size:15px}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--olive);outline-offset:3px}

/* Preloader: vier Fachwerk-Balken, wie Vorhang */
.preloader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;pointer-events:none}
.js .preloader{pointer-events:auto}
html:not(.js) .preloader{display:none}
.beams{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr)}
.beams i{background:var(--timber);border-right:1px solid rgba(0,0,0,.18)}
.beams i:nth-child(2n){background:#523722}
.pre-inner{position:relative;text-align:center;color:var(--paper)}
.pre-mark{width:72px;height:72px;margin:0 auto 18px}
.pre-title{overflow:hidden;font-family:var(--serif);font-size:clamp(44px,7vw,84px);line-height:1.05}
.pre-word{display:inline-block}
.pre-word em{color:var(--lime)}
.pre-sub{overflow:hidden;margin-top:8px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--glow)}
.pre-sub span{display:inline-block}
.pre-bar{width:180px;height:2px;margin:26px auto 0;background:rgba(251,248,241,.2);overflow:hidden}
.pre-bar i{display:block;height:100%;width:0;background:var(--lime)}
.js body.is-loading .pre-word,.js body.is-loading .pre-sub span{transform:translateY(105%)}

/* Nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;transition:background-color .3s,box-shadow .3s}
.nav.scrolled{background:rgba(244,239,229,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.nav-inner{display:flex;align-items:center;gap:28px;width:min(1392px,100% - 48px);margin-inline:auto;height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-size:24px;white-space:nowrap}
.brand em{font-style:normal;color:var(--olive)}
.brand small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--timber-2);margin-top:-2px}
.brand span{line-height:1.05}
.nav-links{display:flex;gap:30px;margin-left:auto;white-space:nowrap}
.nav-links a{text-decoration:none;font-size:15px;font-weight:500;position:relative;padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--olive);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.nav-links a:hover::after{transform:scaleX(1)}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--timber);background:transparent;position:relative;cursor:pointer}
.burger i{position:absolute;left:13px;right:13px;height:1.5px;background:var(--timber);transition:transform .3s}
.burger i:first-child{top:18px}.burger i:last-child{top:25px}
.burger[aria-expanded="true"] i:first-child{transform:translateY(3.5px) rotate(45deg)}.burger[aria-expanded="true"] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mnav{display:none}

/* Hero */
.hero{padding:148px 0 56px;position:relative}
.hero .wrap{display:grid;grid-template-columns:1fr;gap:40px}
.hero-side{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:end;padding-top:8px;border-top:1px solid var(--line);padding-top:30px}
.hero h1{font-size:clamp(50px,8.4vw,128px);font-weight:300;line-height:.98;letter-spacing:-.025em}
.line-mask{display:block;overflow:hidden;padding-bottom:.06em}
.line{display:block}
.js body.is-loading .line{transform:translateY(105%);opacity:0}

.hero-lead{font-size:19px;color:var(--muted);max-width:52ch;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.js body.is-loading .hero-lead,.js body.is-loading .hero-actions{opacity:0;transform:translateY(18px)}
.hero-media{position:relative;margin:48px 0 0;border-radius:var(--r);overflow:hidden;aspect-ratio:1800/734;background:var(--card)}
.hero-media img{width:100%;height:100%;object-fit:cover}
.js body.is-loading .hero-media{clip-path:inset(14% 22% 14% 22% round 6px)}
.hero-proof{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(to top,rgba(35,39,27,.78),rgba(35,39,27,0));color:var(--paper);padding:60px 28px 22px;gap:24px}
.hero-proof span{display:block;font-size:14px;line-height:1.4;color:rgba(251,248,241,.9);border-left:1.5px solid var(--lime);padding-left:14px}
.hero-proof strong{display:block;font-family:var(--serif);font-weight:400;font-size:22px;color:var(--paper)}

/* Marquee */
.marquee-section{overflow:hidden;padding:34px 0;border-block:1px solid var(--line);margin-top:56px;background:var(--paper)}
.marquee{display:flex;width:max-content}
.marquee-group{display:flex;align-items:center;gap:34px;padding-right:34px}
.marquee span{font-family:var(--serif);font-size:30px;font-style:italic;color:var(--timber);white-space:nowrap}
.marquee i{width:12px;height:12px;border:1.5px solid var(--olive);transform:rotate(45deg)}

section{position:relative}
.trust,.praxis,.services,.steps,.about,.faq,.contact{padding:120px 0}
.sec-head{max-width:820px;margin-bottom:56px}
.sec-head h2,.praxis h2,.steps h2,.about h2,.faq h2{font-size:clamp(34px,4.4vw,58px)}
.sec-head.split{max-width:none;display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:end}
.head-note{color:var(--muted);max-width:46ch;margin:0}
.js .reveal{opacity:0}

/* Trust: Balkenraster */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--timber)}
.trust-grid article{padding:34px 34px 38px 0;border-right:1px solid var(--line)}
.trust-grid article+article{padding-left:34px}
.trust-grid article:last-child{border-right:0}
.t-k{display:inline-block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--olive);margin-bottom:18px}
.trust-grid h3{font-size:27px;margin-bottom:14px}
.trust-grid p{margin:0;color:var(--muted);max-width:40ch}
.voices{margin-top:80px;background:var(--paper);border-radius:var(--r);padding:48px;border:1px solid var(--line)}
.voices-k{margin:0 0 26px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--timber-2);font-weight:600}
.voices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
blockquote{margin:0}
blockquote p{font-family:var(--serif);font-size:22px;line-height:1.38;margin:0 0 16px}
cite{font-style:normal;font-size:14px;font-weight:600;color:var(--timber-2)}

/* Praxis */
.praxis{background:var(--card)}
.praxis-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:center}
.praxis-copy p{color:var(--muted);max-width:50ch}
.facts{list-style:none;padding:0;margin:30px 0 34px;display:grid;gap:12px}
.facts li{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line);color:var(--muted);font-size:16px}
.facts strong{color:var(--timber);font-weight:700}
.praxis-media{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start}
.pm{margin:0;border-radius:var(--r);overflow:hidden}
.pm img{width:100%;height:100%;object-fit:cover}
.pm-a{aspect-ratio:3/4}.pm-a img{object-position:38% 50%}
.pm-b{aspect-ratio:4/5;margin-top:120px}

/* Services */
.svc-list{border-top:2px solid var(--timber)}
.svc{display:grid;grid-template-columns:70px 1fr 170px;gap:28px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--line);transition:background-color .3s}
.svc:hover{background:linear-gradient(90deg,rgba(175,203,8,.08),transparent 70%)}
.svc-n{font-family:var(--serif);font-size:22px;color:var(--olive)}
.svc h3{font-size:30px;margin-bottom:8px}
.svc p{margin:0;color:var(--muted);max-width:66ch}
.svc-p{justify-self:end;font-weight:600;font-size:15px;white-space:nowrap;color:var(--timber)}
.svc-media{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}
.svc-media figure{margin:0;border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:3/2}
.svc-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.svc-media figure:hover img{transform:scale(1.04)}
.svc-media figcaption{position:absolute;left:14px;bottom:14px;background:rgba(251,248,241,.92);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600}
.price-band{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;background:var(--ink);color:var(--paper);border-radius:var(--r)}
.price-band>div{padding:34px;border-right:1px solid rgba(251,248,241,.14)}
.price-band>div:last-child{border-right:0}
.pb-k{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);font-weight:700;margin-bottom:10px}
.price-band strong{display:block;font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.1;margin-bottom:10px}
.price-band span:last-child{font-size:15px;color:rgba(251,248,241,.78)}

/* Steps */
.steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.steps-media{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1}
.steps-media img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.step-list{list-style:none;margin:36px 0 0;padding:0}
.step-list li{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line)}
.step-list li>span{font-family:var(--serif);font-size:34px;color:var(--olive);line-height:1}
.step-list h3{font-size:24px;margin-bottom:6px}
.step-list p{margin:0;color:var(--muted)}

/* About */
.about{background:var(--paper)}
.about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
.about-big{font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);line-height:1.35;color:var(--timber);margin:26px 0;max-width:34ch}
.about-copy>p:not(.about-big){color:var(--muted);max-width:56ch}
.cv{margin:30px 0 0;display:grid;gap:0;border-top:2px solid var(--timber)}
.cv div{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.cv dt{font-family:var(--serif);font-size:20px;color:var(--olive)}
.cv dd{margin:0;color:var(--muted)}
.about-media{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:start}
.about-media figure{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5}
.about-media img{width:100%;height:100%;object-fit:cover}
.am-side{margin-top:90px!important}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:72px;align-items:start}
.faq-grid>div:first-child{position:sticky;top:110px}
.faq-note{color:var(--muted);margin-top:22px;max-width:40ch}
.faq-note a{color:var(--olive);font-weight:600}
.faq-list{border-top:2px solid var(--timber)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;background:none;border:0;font:inherit;font-family:var(--serif);font-size:23px;text-align:left;cursor:pointer;color:var(--ink)}
.faq-q i{flex:0 0 26px;height:26px;border-radius:50%;border:1.5px solid var(--timber);position:relative}
.faq-q i::before,.faq-q i::after{content:"";position:absolute;left:6px;right:6px;top:11px;height:1.5px;background:var(--timber);transition:transform .3s}
.faq-q i::after{transform:rotate(90deg)}
.faq-item.open .faq-q i::after{transform:rotate(0)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.16,1,.3,1)}
.faq-a>p{overflow:hidden;margin:0;color:var(--muted);max-width:60ch}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-item.open .faq-a>p{padding-bottom:24px}

/* Contact */
.contact{padding-top:40px}
.contact-card{display:grid;grid-template-columns:1.4fr 1fr;background:var(--timber);color:var(--paper);border-radius:var(--r);overflow:hidden;position:relative}
.contact-card::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),rgba(0,0,0,.14) calc(25% - 1px) 25%);pointer-events:none}
.cc-main{padding:72px 64px;position:relative}
.cc-main h2{font-size:clamp(36px,4.4vw,60px);max-width:14ch;margin-bottom:18px}
.cc-main p{color:rgba(251,248,241,.82);max-width:42ch}
.cc-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.cc-side{padding:72px 56px;background:rgba(0,0,0,.16);position:relative;font-size:17px}
.cc-side address{font-style:normal;line-height:1.7;margin-bottom:22px}
.cc-side address strong{display:block;font-family:var(--serif);font-weight:400;font-size:26px;margin-bottom:6px}
.cc-side a{color:var(--paper)}
.cc-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;font-size:15px}
.cc-links a{color:var(--glow)}
.aside-note{margin:26px 0 0;font-size:15px;color:var(--muted)}
.aside-note a{color:var(--olive);font-weight:600}

.footer{padding:40px 0 56px;border-top:1px solid var(--line)}
.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;font-size:14px;color:var(--muted)}
.footer strong{color:var(--ink);font-weight:600}
.footer p{margin:6px 0 0}
.footer a{color:inherit}
.fine{font-size:12px;opacity:.8}
.credit{font-size:12px;white-space:nowrap}
.sticky-cta{display:none}

@media (max-width:1180px){.nav-links{gap:20px}.nav-links a{font-size:14px}}
@media (max-width:1024px){
 .nav-links,.nav-inner>.btn{display:none}.burger{display:block}
 .mnav{position:fixed;top:76px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:10px 24px 24px}
 .mnav.open{display:flex}.mnav a{text-decoration:none;font-family:var(--serif);font-size:24px;padding:12px 0;border-bottom:1px solid var(--line)}
 .hero-side{grid-template-columns:1fr;gap:26px}
 .sec-head.split,.praxis-grid,.steps-grid,.about-grid,.faq-grid{grid-template-columns:1fr;gap:40px}
 .hero-proof{position:static;background:var(--ink);padding:24px}
 .hero-media{aspect-ratio:auto}.hero-media img{aspect-ratio:1800/734}
 .pm-b{margin-top:60px}
 .faq-grid>div:first-child{position:static}
 .trust-grid{grid-template-columns:1fr}.trust-grid article,.trust-grid article+article{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}
 .voices-grid{grid-template-columns:1fr;gap:28px}
 .contact-card{grid-template-columns:1fr}
}
@media (max-width:720px){
 body{font-size:16px}
 .wrap,.wrap-wide{width:calc(100% - 40px)}
 .nav-inner{width:calc(100% - 40px);height:68px}.mnav{top:68px}
 .hero{padding:112px 0 24px}
 .hero h1{font-size:clamp(46px,13vw,64px)}
 .hero-media{margin-top:36px}.hero-media img{aspect-ratio:4/3}
 .hero-proof{grid-template-columns:1fr;gap:14px}
 .trust,.praxis,.services,.steps,.about,.faq,.contact{padding:80px 0}
 .contact{padding-top:24px}
 .voices{padding:28px 22px}
 .praxis-media{grid-template-columns:1fr 1fr}
 .svc{grid-template-columns:1fr;gap:6px}
 .svc-p{justify-self:start}
 .svc h3{font-size:26px}
 .svc-media{grid-template-columns:1fr;gap:14px}
 .price-band{grid-template-columns:1fr}.price-band>div{border-right:0;border-bottom:1px solid rgba(251,248,241,.14);padding:26px}
 .about-media{grid-template-columns:1fr 1fr}.am-side{margin-top:50px!important}
 .faq-q{font-size:20px}
 .cc-main,.cc-side{padding:44px 26px}
 .footer-inner{flex-direction:column;align-items:flex-start;padding-bottom:64px}
 .sticky-cta{display:flex;position:fixed;left:16px;right:16px;bottom:14px;z-index:50;justify-content:center;align-items:center;min-height:52px;border-radius:999px;background:var(--lime);color:#1d2208;font-weight:700;text-decoration:none;box-shadow:0 10px 30px rgba(35,39,27,.25)}
 .marquee span{font-size:24px}
}
@media (max-width:380px){.facts li{grid-template-columns:1fr;gap:2px}.cv div{grid-template-columns:1fr;gap:2px}}
@media (prefers-reduced-motion:reduce){.btn,.svc-media img,.faq-a{transition:none}}
.force-visible .reveal,.force-visible .line,.force-visible .hero-lead,.force-visible .hero-actions{opacity:1!important;transform:none!important}
#nl-badge-frame,[id*="netlify-badge"],iframe[src*=".netlify/scripts/hud"]{display:none!important}
