
:root{
  --ink:#1d1d1b;--muted:#68645f;--paper:#fbfaf7;--warm:#f1ede6;--rose:#a6675d;--rose-dark:#814b43;
  --gold:#8b774a;--gold-soft:#c8b98f;--line:#ded8cf;--white:#fff;--shadow:0 24px 70px rgba(45,38,31,.09);
  --radius:28px;--radius-sm:18px
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.68;-webkit-font-smoothing:antialiased} a{color:inherit}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;background:white;padding:10px;z-index:99}.top{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(139,119,74,.18)}.nav{min-height:92px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;min-width:220px;text-decoration:none}.brand img{width:210px;height:auto;display:block}nav{display:flex;gap:22px;align-items:center;margin-left:auto}nav a{text-decoration:none;font-size:.9rem;font-weight:650;letter-spacing:.01em;position:relative}nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--rose);transition:.25s}nav a:hover:after,nav a.active:after{right:0}.nav-cta{margin-left:6px}.menu-btn{display:none;border:1px solid var(--line);background:transparent;border-radius:999px;padding:10px 14px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--rose);color:white;text-decoration:none;padding:14px 22px;border-radius:999px;font-weight:750;border:1px solid var(--rose);transition:.2s;box-shadow:0 10px 30px rgba(166,103,93,.16)}.btn:hover{transform:translateY(-1px);background:var(--rose-dark);border-color:var(--rose-dark)}.btn.alt{background:transparent;color:var(--ink);border-color:var(--gold-soft);box-shadow:none}.btn.alt:hover{background:white;border-color:var(--gold)}.hero{position:relative;overflow:hidden;padding:104px 0 82px;background:linear-gradient(135deg,#f7f2eb 0%,#fcfbf8 55%,#eee8df 100%)}.hero:before{content:"";position:absolute;width:640px;height:640px;border:1px solid rgba(139,119,74,.18);border-radius:50%;right:-230px;top:-310px}.hero:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(166,103,93,.16);border-radius:50%;right:40px;bottom:-230px}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center;position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.72rem;font-weight:850;color:var(--gold)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(3rem,6.2vw,6.35rem);max-width:980px;margin:.17em 0 .24em}h2{font-size:clamp(2.2rem,4vw,4rem);margin:.2em 0 .45em}h3{font-size:1.55rem;margin:.2em 0 .45em}.lead{font-size:1.18rem;max-width:820px;color:#55514c}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.microtrust{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;color:var(--muted);font-size:.9rem}.hero-card{background:rgba(255,255,255,.72);border:1px solid rgba(139,119,74,.22);border-radius:32px;padding:34px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}.hero-card .kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--rose);font-weight:800}.hero-card ul{list-style:none;margin:20px 0 0;padding:0}.hero-card li{padding:11px 0;border-top:1px solid var(--line);font-weight:650}.section{padding:92px 0}.section.soft{background:var(--warm)}.intro{max-width:790px;color:var(--muted);font-size:1.08rem}.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:42px}.service{grid-column:span 4;min-height:260px;border:1px solid var(--line);background:rgba(255,255,255,.78);padding:30px;border-radius:var(--radius);text-decoration:none;display:flex;flex-direction:column;transition:.24s}.service:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold-soft)}.service .num{font-size:.74rem;letter-spacing:.14em;color:var(--rose);font-weight:850}.service p{color:var(--muted);margin-bottom:22px}.service .more{margin-top:auto;font-weight:800;color:var(--rose)}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.panel{background:#24231f;color:white;border-radius:34px;padding:42px}.panel p{color:#d8d2c8}.panel .eyebrow{color:#d6c596}.feature-list{display:grid;gap:14px;margin-top:26px}.feature{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}.feature b{display:flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:#eee3dd;color:var(--rose);font-size:.82rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.step{border-top:1px solid var(--gold-soft);padding-top:22px}.step .n{color:var(--rose);font-weight:850;font-size:.8rem;letter-spacing:.14em}.quote{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.25;max-width:950px}.regions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.chip{border:1px solid var(--line);padding:8px 13px;border-radius:999px;background:white;font-size:.86rem}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-weight:800;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";float:right;color:var(--rose);font-size:1.25rem}.faq details[open] summary:after{content:"–"}.cta{background:linear-gradient(135deg,#25231f,#35312b);color:#fff;border-radius:36px;padding:54px;position:relative;overflow:hidden}.cta:after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(214,197,150,.25);border-radius:50%;right:-90px;top:-120px}.cta p{color:#d8d2c8;max-width:700px}.footer{background:#1b1a17;color:#d9d4cc;padding:54px 0 34px;margin-top:90px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:48px}.footer img{width:220px;filter:brightness(0) invert(1);opacity:.92}.footer a{color:#f4f0ea;text-decoration:none}.footer small,.small{font-size:.82rem;color:#99938b}.legal{border-top:1px solid #3a3832;margin-top:34px;padding-top:22px;display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap}.page-hero{padding:86px 0 68px;background:linear-gradient(135deg,#f5efe8,#fbfaf7);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.7rem,5.3vw,5.4rem);max-width:940px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:70px}.prose{font-size:1.04rem}.prose h2{font-size:clamp(2rem,3.5vw,3.3rem);margin-top:0}.prose h3{margin-top:38px}.aside{position:sticky;top:122px}.info-card{background:white;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 14px 42px rgba(45,38,31,.05)}.info-card + .info-card{margin-top:16px}.info-card p{color:var(--muted)}.notice{border-left:3px solid var(--gold);background:#f5f1e9;padding:20px 22px;margin:28px 0;border-radius:0 16px 16px 0}.contact-lines a{display:block;text-decoration:none;padding:10px 0;border-top:1px solid var(--line);font-weight:750}.contact-lines a:first-child{border-top:0}.contact-form{display:grid;gap:14px}.contact-form label{font-weight:750;font-size:.9rem}.contact-form input,.contact-form textarea,.contact-form select{width:100%;font:inherit;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:white}.contact-form textarea{min-height:150px;resize:vertical}.contact-form button{cursor:pointer}.breadcrumbs{font-size:.83rem;color:var(--muted);margin-bottom:18px}.breadcrumbs a{text-decoration:none}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:34px}.stat{border:1px solid var(--line);border-radius:18px;padding:18px;background:white}.stat strong{display:block;font-family:Georgia,serif;font-size:1.25rem;font-weight:500}.portrait-placeholder{border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,#efe9df,#f9f7f2);min-height:420px;display:grid;place-items:center;text-align:center;padding:30px;color:var(--muted)}
@media(max-width:980px){nav{display:none;position:absolute;top:92px;left:22px;right:22px;background:var(--paper);border:1px solid var(--line);padding:18px;border-radius:20px;box-shadow:var(--shadow)}nav.open{display:grid}.menu-btn{display:inline-block;margin-left:auto}.nav-cta{display:none}.hero-grid,.split,.content-grid,.footer-grid{grid-template-columns:1fr}.hero-card{max-width:650px}.service{grid-column:span 6}.aside{position:static}.steps{grid-template-columns:1fr}.footer-grid{gap:24px}}
@media(max-width:640px){.wrap{width:min(100% - 28px,1180px)}.nav{min-height:78px}.brand{min-width:0}.brand img{width:172px}nav{top:78px}.hero,.page-hero{padding:72px 0 58px}.hero-grid{gap:34px}.section{padding:68px 0}.service{grid-column:span 12}.hero-card,.panel,.cta{padding:28px;border-radius:24px}.microtrust{gap:10px;display:grid}.footer{margin-top:60px}.stat-row{grid-template-columns:1fr}}

.hero-portrait,.about-portrait{position:relative;overflow:hidden;border-radius:32px;background:#e9e3da;box-shadow:var(--shadow);border:1px solid rgba(139,119,74,.22)}
.hero-portrait{max-width:470px;justify-self:end}.hero-portrait img,.about-portrait img{display:block;width:100%;height:auto;object-fit:cover}.hero-portrait img{aspect-ratio:4/5;object-position:center 23%}.about-portrait img{aspect-ratio:4/5;object-position:center 24%}.portrait-caption{position:absolute;left:18px;right:18px;bottom:18px;padding:16px 18px;border-radius:18px;background:rgba(251,250,247,.88);backdrop-filter:blur(12px);box-shadow:0 8px 28px rgba(45,38,31,.12)}.portrait-caption span,.portrait-caption strong,.portrait-caption small{display:block}.portrait-caption span{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:var(--gold);font-weight:850}.portrait-caption strong{font-family:Georgia,serif;font-size:1.45rem;font-weight:500;line-height:1.2;margin-top:3px}.portrait-caption small{color:var(--muted);margin-top:3px}.about-portrait{max-width:470px;justify-self:end}
@media(max-width:980px){.hero-portrait,.about-portrait{justify-self:start;max-width:560px;width:100%}}

.privacy-notice{position:fixed;left:20px;right:20px;bottom:20px;z-index:9999;max-width:760px;margin:auto;padding:16px 18px;border-radius:16px;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.18);display:flex;gap:18px;align-items:center;justify-content:space-between;font-size:.92rem}
.privacy-notice a{text-decoration:underline}
.privacy-notice button{border:0;border-radius:999px;padding:10px 16px;cursor:pointer;white-space:nowrap}
@media(max-width:640px){.privacy-notice{align-items:flex-start;flex-direction:column}.privacy-notice button{width:100%}}

/* Datenschutz: kompaktere Überschriften */
.privacy-legal h2 { font-size: clamp(1.18rem, 2vw, 1.48rem); margin-top: 2rem; margin-bottom: .7rem; }
.privacy-legal h3 { font-size: clamp(1.05rem, 1.6vw, 1.22rem); margin-top: 1.4rem; margin-bottom: .55rem; }


/* V16 – Abschlussüberschriften exakt am oberen Inhaltsbereich ausrichten */
.section.section-soft > .container {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.section.section-soft > .container > .section-heading {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.section.section-soft > .container > .section-heading h2,
.section.section-soft > .container > .section-heading p,
.section.section-soft > .container > .section-heading .eyebrow {
    max-width: 760px;
}

/* V18 – Impressum & Datenschutz */
.legal-prose h2 { font-size: clamp(1.65rem, 2.4vw, 2.25rem); margin-top: 2.2rem; }
.legal-prose h2:first-child { margin-top: 0; }
.legal-prose h3 { font-size: clamp(1.2rem, 1.7vw, 1.5rem); margin-top: 1.8rem; }
.legal-prose p, .legal-prose li { line-height: 1.75; }
.legal-prose ul { padding-left: 1.2rem; }


/* V19 – Datenschutz: einspaltig und an der Hero-Flucht ausgerichtet */
.privacy-page .wrap {
    display: block;
}

.privacy-prose {
    max-width: 820px;
    margin-left: 0;
    margin-right: auto;
}

.privacy-prose h2 {
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    line-height: 1.2;
    margin-top: 2.5rem;
    margin-bottom: .75rem;
}

.privacy-prose h2:first-child {
    margin-top: 0;
}

.privacy-prose h3 {
    font-size: clamp(1.15rem, 1.5vw, 1.35rem);
    line-height: 1.3;
    margin-top: 1.8rem;
    margin-bottom: .6rem;
}

.privacy-prose p,
.privacy-prose li {
    max-width: 760px;
    line-height: 1.75;
}

@media (max-width: 760px) {
    .privacy-prose {
        max-width: 100%;
    }

    .privacy-prose p,
    .privacy-prose li {
        max-width: 100%;
    }
}


/* V20 – Datenschutz-Hinweis im Beratungsformular */
.privacy-consent {
    margin: 1.25rem 0 1.1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(18, 43, 66, .14);
    border-radius: 12px;
    background: rgba(255,255,255,.55);
}

.privacy-check {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    cursor: pointer;
    line-height: 1.55;
}

.privacy-check input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: .2rem;
    flex: 0 0 auto;
}

.privacy-check a,
.form-privacy-note a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.form-privacy-note {
    margin: .65rem 0 0 1.8rem;
    font-size: .86rem;
    line-height: 1.5;
    opacity: .78;
}

.hp-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.form-error {
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border-radius: 10px;
    border: 1px solid rgba(140, 35, 35, .25);
    background: rgba(140, 35, 35, .07);
    line-height: 1.5;
}
