:root{--bg:#f1ece2;--bg2:#e6e0d2;--ink:#2a3125;--mute:#5d6455;--sage:#6b7b5c;--olive:#2f3a2a;--clay:#c08a63;--line:rgba(42,49,37,.16);--serif:'Fraunces',Georgia,serif;--sans:'Manrope',system-ui,sans-serif;--btn-bg:#2f3a2a;--btn-ink:#f1ece2;
--cta-bg:#2f3a2a;--cta-ink:#f1ece2;--cta-line:rgba(241,236,226,.3);--cta-accent:#e0b48f;--cta-r:200px 200px 28px 28px;--cta-sec:#f1ece2}
.h2{font-size:clamp(38px,4.3vw,62px);font-weight:300;letter-spacing:-.015em}
.h3{font-size:clamp(26px,2.4vw,36px);font-weight:400;margin-bottom:16px}
.kicker{color:var(--sage)}
em{font-style:italic}
/* intro */
.intro{align-items:center;justify-content:center}
.intro-bg{position:absolute;inset:0;background:var(--olive)}
.intro-scale{position:relative;width:min(560px,80vw);height:240px;color:#f1ece2}
.is-beam{position:absolute;left:0;right:0;top:150px;height:2px;background:#f1ece2;transform-origin:50% 50%}
.is-w{position:absolute;bottom:2px;width:44px;height:44px;border-radius:50%}
.is-l{left:40px;background:var(--clay)}.is-r{right:40px;background:#f1ece2}
.is-pivot{position:absolute;left:50%;top:152px;width:0;height:0;margin-left:-14px;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:24px solid #f1ece2}
.is-word{position:absolute;left:0;right:0;top:20px;text-align:center;font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(56px,7vw,92px);line-height:1.2;margin:0}
/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px clamp(20px,4vw,56px);transition:background .4s,padding .4s}
.nav.scrolled{background:rgba(241,236,226,.92);backdrop-filter:blur(10px);padding-block:12px;box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--olive)}
.brand svg{width:54px;height:26px}
.brand span{font-size:15px;letter-spacing:.02em}
.brand b{font-family:var(--serif);font-weight:500;font-size:22px;margin-right:4px}
.nav-links{display:flex;gap:26px}
.nav-links a{text-decoration:none;font-size:14.5px;font-weight:500}
.nav-links a:hover{color:var(--clay)}
/* hero */
.hero{padding:150px clamp(20px,5vw,80px) 90px;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between}
.hero-h{font-size:clamp(70px,10.5vw,170px);font-weight:300;letter-spacing:-.035em;line-height:1.02;margin-top:10px}
.hero-h .hw{display:inline-block}
.hero-h em{color:var(--clay);font-weight:300}
.hero-row{display:grid;grid-template-columns:1fr 1.25fr .75fr;gap:clamp(24px,3vw,50px);align-items:end;margin-top:50px}
.hero-lead{font-size:19px;color:var(--mute);margin-bottom:28px;max-width:40ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-img{margin:0;border-radius:999px 999px 24px 24px;overflow:hidden;aspect-ratio:1.9/1;background:var(--bg2)}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:40% 50%}
.hero-trust{display:flex;flex-direction:column;gap:16px}
.hero-trust li{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;line-height:1.35}
.hero-trust b{font-family:var(--serif);font-weight:400;font-size:24px;color:var(--olive)}
.hero-trust span{font-size:14px;color:var(--mute)}
/* kompass */
.kompass{padding:clamp(90px,10vw,160px) 0;background:var(--olive);color:#efe9dc}
.kompass .kicker{color:#cbd3b8}
.kompass-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,100px);align-items:center}
.kompass-head .h2{margin-bottom:24px}
.kompass-head p{color:rgba(239,233,220,.78);font-size:18px}
.kompass-ui{display:grid;grid-template-columns:220px 1fr;grid-template-rows:auto 1fr;gap:30px 40px;align-items:start}
.k-opts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}
.k-opts button{border:1px solid rgba(239,233,220,.35);background:transparent;border-radius:999px;padding:12px 22px;cursor:pointer;font-weight:500;line-height:1.3;transition:background .3s,color .3s}
.k-opts button[aria-selected=true]{background:#efe9dc;color:var(--olive)}
.k-dial{color:#efe9dc;width:220px}
.k-dial svg{width:100%;height:auto;overflow:visible}
.k-pnls .pnl{display:none}.k-pnls .pnl.is-open{display:block}
.k-pnls h3{font-size:34px;font-weight:300;margin-bottom:14px}
.k-pnls p{color:rgba(239,233,220,.8)}
.k-rec{border-left:2px solid var(--clay);padding-left:16px;color:#efe9dc!important}
/* angebot */
.angebot{padding:clamp(90px,10vw,160px) 0}
.ang-head{display:grid;grid-template-columns:200px 1fr;gap:20px 40px;margin-bottom:60px}
.ang-head .h2{max-width:20ch}
.ang-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ang-list li{display:grid;grid-template-columns:200px minmax(0,.9fr) minmax(0,1.1fr);gap:40px;padding:34px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:background .4s,padding .4s}
.ang-list li:hover{background:var(--bg2);padding-inline:20px}
.ang-n{font-family:var(--serif);font-size:15px;color:var(--clay);letter-spacing:.1em}
.ang-list h3{font-size:clamp(26px,2.3vw,34px);font-weight:400}
.ang-list p{margin:0;color:var(--mute)}
/* marken */
.marken{padding:0 0 clamp(80px,9vw,140px)}
.marken-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;background:var(--bg2);border-radius:28px;padding:40px}
.marken-img{margin:0;border-radius:18px;overflow:hidden}
.marken-img img{width:100%;aspect-ratio:2.2/1;object-fit:cover}
.marken p:last-child{color:var(--mute);margin:0}
/* preise */
.preise{padding:clamp(90px,10vw,150px) 0;background:#faf7f1}
.preise-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:50px}
.preise-head .kicker{width:100%;margin:0}
.preise-legend{display:flex;gap:22px;font-size:14px;color:var(--mute);margin:0}
.preise-legend span{display:flex;align-items:center;gap:8px}
.preise-legend span::before{content:'';width:12px;height:12px;border-radius:50%;background:var(--olive)}
.preise-legend .lg-b::before{background:var(--clay)}
.ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.led-col h3{font-family:var(--sans);font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--sage);margin:0 0 6px;padding-bottom:10px;border-bottom:2px solid var(--olive)}
.led-col ul{margin-bottom:38px}
.led-col li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.4}
.led-col b{font-family:var(--serif);font-weight:500;font-size:18px;white-space:nowrap;display:flex;gap:10px;align-items:baseline}
.led-col b i{font-style:normal;font-size:14px;color:#fff;background:var(--clay);border-radius:999px;padding:1px 9px;line-height:1.5}
/* team */
.team{padding:clamp(90px,10vw,160px) 0}
.team-head{max-width:760px;margin:0 auto 70px;text-align:center}
.team-head .h2{margin-bottom:20px}
.team-head p{color:var(--mute);font-size:18px}
.beam-wrap{position:relative;padding-bottom:30px}
.beam{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,46px);transform-origin:50% 100%;position:relative;z-index:1}
.beam-line{position:absolute;left:-2%;right:-2%;bottom:0;height:3px;background:var(--olive);border-radius:3px;transform-origin:50% 50%}
.beam-line::after{content:'';position:absolute;left:50%;top:3px;margin-left:-16px;border-left:16px solid transparent;border-right:16px solid transparent;border-top:26px solid var(--olive)}
.tm{margin:0}
.tm img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%;border-radius:999px 999px 18px 18px}
.tm figcaption{padding:18px 4px 0;display:flex;flex-direction:column;gap:4px;line-height:1.4}
.tm b{font-family:var(--serif);font-weight:400;font-size:26px}
.tm span{font-size:14.5px;color:var(--mute)}
.team-wide{margin:90px 0 0;border-radius:24px;overflow:hidden}
.team-wide img{width:100%;aspect-ratio:2.6/1;object-fit:cover}
/* faq */
.faq{padding:clamp(90px,10vw,150px) 0;background:var(--bg2)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.faq-side{color:var(--mute);margin-top:20px;max-width:34ch}
.faq-list details{background:var(--bg);border-radius:18px;margin-bottom:12px;padding:0 26px}
.faq-list summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font-family:var(--serif);font-size:22px;line-height:1.35}
.faq-list summary span{flex:0 0 30px;height:30px;border-radius:50%;border:1px solid var(--line);position:relative}
.faq-list summary span::before,.faq-list summary span::after{content:'';position:absolute;left:8px;right:8px;top:50%;height:1.5px;background:var(--olive);transition:transform .4s}
.faq-list summary span::after{transform:rotate(90deg)}
.faq-list details[open] summary span::after{transform:rotate(0)}
.faq-list details p{color:var(--mute);padding:0 0 22px;margin:0}
/* kontakt */
.kontakt{padding:clamp(90px,10vw,150px) 0 0}
.kontakt-card{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.kc-main .h2{margin-bottom:30px;max-width:16ch}
.kc-list{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:30px}
.kc-list dt{font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);font-weight:600;margin-bottom:8px}
.kc-list dd{margin:0;font-size:17px;line-height:1.65}
.kc-list a{text-decoration:none;border-bottom:1px solid var(--clay)}
.footer{background:var(--olive);color:rgba(241,236,226,.78);padding:30px clamp(20px,5vw,80px);font-size:14px}
.footer-row{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between}
.footer nav{display:flex;gap:24px}.footer a{text-decoration:none}
.tnv-cta .btn{--btn-bg:#e0b48f;--btn-ink:#2f3a2a}
