/* Inhaltsvorlage: die Komponentenregeln der bisherigen style.css, auf die Edition-02-Tokens umgeschrieben
   (Kopf-/Fußzeile, Hero, Sticky-Elemente und Basis-Elementregeln entfernt). Erzeugt von _relaunch/build_site.py. */
:root{--o-black:var(--ink);--o-white:var(--chalk);--o-off-white:var(--chalk);--o-graphite:#4c5d57;--o-stone:var(--muted);--o-mist:var(--line);--o-paper:var(--paper);--o-ink:var(--ink);--o-accent-700:var(--deep);--o-accent:var(--petrol);--o-accent-300:var(--petrol-2);--o-accent-100:var(--mist);--o-risk:#A33A3A;--o-risk-bg:#F4CCCC;--o-warn:#9C5A00;--o-warn-bg:#FCE5CD;--o-ok:#2E6B4F;--o-ok-bg:#D9EAD3;--o-max:1200px;--o-gutter:24px;--o-section:96px;--o-font:var(--sans);--o-mono:var(--sans)}
svg{max-width: 100%; display: block;}
.has-submenu{position: relative;}
.has-submenu > a::after{content: " ▾"; font-size: 0.7em; color: var(--o-stone); margin-left: 2px;}
.submenu{display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); background: var(--o-white); border: 1px solid var(--o-mist); border-radius: 6px; padding: 8px 0; min-width: 240px; list-style: none; margin: 8px 0 0; box-shadow: 0 6px 24px rgba(0,0,0,0.08); z-index: 110;}
.submenu::before{content: ""; position: absolute; top: -8px; left: 0; right: 0; height: 8px;}
.has-submenu:hover > .submenu, .has-submenu:focus-within > .submenu{display: block;}
.submenu li{padding: 0;}
.submenu a{display: block; padding: 10px 18px; font-size: 0.78rem; font-weight: 500; letter-spacing: 0.04em; text-transform: none; color: var(--o-graphite); white-space: nowrap;}
.submenu a:hover{background: var(--o-paper); color: var(--o-black); opacity: 1;}
@media (max-width: 860px){.has-submenu > a::after{display: none;}
.submenu{display: block; position: static; transform: none; border: none; box-shadow: none; padding: 4px 0 0 16px; margin: 0; min-width: 0; background: transparent;}
.submenu a{padding: 6px 0; font-size: 0.78rem; color: var(--o-stone); text-transform: uppercase; letter-spacing: 0.08em;}}
.about p, .about-grid p, .ki-body p, .section-intro, .leistung-intro p, .leistung-cases p, .team-card p, .contact-block p, .preis-foot, .preis-disclaimer, .faq-list details p, .verfahren-lead, .ki-track-lead, .ki-method-step p, .ki-case p, .ki-cta-inner p{text-align: justify; hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; text-justify: inter-word;}
.ki-link-cta{display: inline-block; margin-top: 16px; color: var(--o-ink); border-bottom: 1px solid var(--o-ink); font-size: 0.875rem; font-weight: 600; letter-spacing: 0.04em; padding-bottom: 2px;}
.ki-link-cta:hover{opacity: 0.6; border-bottom-color: var(--o-ink);}
.ki-hero{background: var(--o-white); padding: 140px 0 80px; border-bottom: 1px solid var(--o-mist); margin-top: 72px;}
.ki-hero-eyebrow{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 28px;}
.ki-hero-title{font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; letter-spacing: -0.025em; line-height: 1.05; margin-bottom: 32px; max-width: 920px;}
.ki-hero-sub{font-size: 1.125rem; line-height: 1.6; color: var(--o-graphite); max-width: 760px; text-align: justify; hyphens: auto;}
.ki-tracks{background: var(--o-paper); padding: 96px 0;}
.ki-tracks-wrap{max-width: 1040px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 32px;}
@media (max-width: 920px){.ki-tracks-wrap{grid-template-columns: 1fr;}}
.ki-track{background: var(--o-white); border: 1px solid var(--o-mist); border-top: 3px solid var(--o-black); padding: 40px 36px;}
.ki-track-num{font-size: 0.78rem; font-weight: 700; letter-spacing: 0.16em; color: var(--o-stone); margin-bottom: 8px;}
.ki-track-label{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--o-black); margin-bottom: 16px;}
.ki-track h2{font-size: 1.75rem; font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; margin-bottom: 20px;}
.ki-track-lead{color: var(--o-graphite); line-height: 1.7; margin-bottom: 24px;}
.ki-list{list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--o-mist);}
.ki-list li{padding: 14px 0; border-bottom: 1px solid var(--o-mist); font-size: 1rem; color: var(--o-graphite); line-height: 1.55;}
.ki-list strong{color: var(--o-black); display: block; margin-bottom: 2px;}
.ki-method{padding: 96px 0; background: var(--o-white);}
.ki-method-eyebrow{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 16px;}
.ki-method h2{font-size: clamp(1.75rem, 3.5vw, 2.5rem); font-weight: 700; letter-spacing: -0.015em; margin-bottom: 56px; max-width: 700px;}
.ki-method-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px;}
@media (max-width: 920px){.ki-method-grid{grid-template-columns: 1fr; gap: 28px;}}
.ki-method-step{position: relative; padding-top: 56px;}
.step-num{position: absolute; top: 0; left: 0; width: 44px; height: 44px; background: var(--o-black); color: var(--o-white); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.125rem; font-weight: 700;}
.ki-method-step h3{font-size: 1.125rem; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 14px;}
.ki-method-step p{color: var(--o-graphite); line-height: 1.7; text-align: justify; hyphens: auto;}
.ki-cases{background: var(--o-paper); padding: 96px 0; border-top: 1px solid var(--o-mist);}
.ki-cases-wrap{max-width: 1200px; margin: 0 auto; padding: 0 24px;}
.ki-cases-eyebrow{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 16px;}
.ki-cases h2{font-size: clamp(1.75rem, 3.5vw, 2.5rem); font-weight: 700; letter-spacing: -0.015em; margin-bottom: 48px; max-width: 720px;}
.ki-cases-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;}
@media (max-width: 1024px){.ki-cases-grid{grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 640px){.ki-cases-grid{grid-template-columns: 1fr;}}
.ki-case{background: var(--o-white); padding: 28px 26px; border-left: 2px solid var(--o-black); transition: transform 0.15s ease, box-shadow 0.15s ease;}
.ki-case:hover{transform: translateX(4px); box-shadow: 0 6px 18px rgba(0,0,0,0.05);}
.ki-case h3{font-size: 1rem; font-weight: 700; letter-spacing: -0.005em; margin-bottom: 10px;}
.ki-case p{color: var(--o-graphite); line-height: 1.6; font-size: 0.875rem; margin: 0;}
.ki-cta{background: var(--o-black); color: var(--o-white); padding: 96px 0;}
.ki-cta-inner{max-width: 720px; margin: 0 auto; text-align: center;}
.ki-cta h2{font-size: clamp(1.875rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.015em; color: var(--o-white); margin-bottom: 20px;}
.ki-cta-inner p{color: var(--o-mist); line-height: 1.6; margin-bottom: 36px; font-size: 1rem;}
.ki-cta-btn{display: inline-block; background: var(--o-white); color: var(--o-black); padding: 16px 36px; font-size: 1rem; font-weight: 600; letter-spacing: 0.04em; border-radius: 8px; transition: opacity 0.15s ease;}
.ki-cta-btn:hover{opacity: 1; background: var(--o-mist);}
@media (max-width: 720px){.ki-hero{padding: 100px 0 56px; margin-top: 64px;}
.ki-tracks, .ki-method, .ki-cases, .ki-cta{padding: 56px 0;}
.ki-track{padding: 28px 22px;}}
.fade-up{opacity: 0; transform: translateY(28px); transition: opacity 0.7s cubic-bezier(.4,0,.2,1), transform 0.7s cubic-bezier(.4,0,.2,1); will-change: opacity, transform;}
.fade-up.is-visible{opacity: 1; transform: translateY(0);}
@media (prefers-reduced-motion: reduce){.fade-up{opacity: 1; transform: none; transition: none;}}
.ki-case, .verfahren-card, .news-card{transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;}
.news-hero{padding: 140px 0 64px; border-bottom: 1px solid var(--o-mist); margin-top: 72px;}
.news-hero-eyebrow{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 20px;}
.news-hero h1{font-size: clamp(2rem, 5vw, 3rem); font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; margin-bottom: 20px; max-width: 760px;}
.news-hero-sub{color: var(--o-graphite); font-size: 1rem; max-width: 640px; line-height: 1.6;}
.news-list{padding: 80px 0; background: var(--o-white);}
.news-list-wrap{max-width: 920px; margin: 0 auto; padding: 0 24px;}
.news-card{display: block; padding: 32px 0; border-bottom: 1px solid var(--o-mist); color: inherit;}
.news-card:hover{opacity: 1; background: var(--o-paper); margin: 0 -24px; padding: 32px 24px;}
.news-card-meta{display: flex; gap: 16px; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 14px;}
.news-card-meta time{color: var(--o-stone);}
.news-card-meta .news-tag{background: var(--o-black); color: var(--o-white); padding: 3px 10px; border-radius: 999px; letter-spacing: 0.08em;}
.news-card h2{font-size: clamp(1.25rem, 2.6vw, 1.625rem); font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; margin-bottom: 12px; color: var(--o-black);}
.news-card-excerpt{color: var(--o-graphite); line-height: 1.6; font-size: 1rem; margin-bottom: 14px; max-width: 720px;}
.news-card-more{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--o-black); border-bottom: 1px solid var(--o-black); display: inline-block; padding-bottom: 2px;}
.news-article{max-width: 760px; margin: 0 auto; padding: 64px 24px 96px;}
.news-article .breadcrumb{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 24px;}
.news-article .breadcrumb a{color: var(--o-stone); border-bottom: 1px solid transparent;}
.news-article .breadcrumb a:hover{color: var(--o-black); border-bottom-color: var(--o-black); opacity: 1;}
.news-article h1{font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 16px;}
.news-article .news-meta{display: flex; gap: 16px; font-size: 0.78rem; color: var(--o-stone); letter-spacing: 0.04em; margin-bottom: 40px; padding-bottom: 24px; border-bottom: 1px solid var(--o-mist);}
.news-article p{font-size: 1rem; line-height: 1.75; margin-bottom: 20px; color: var(--o-graphite); text-align: justify; hyphens: auto;}
.news-article h2{font-size: 1.375rem; font-weight: 700; letter-spacing: -0.01em; margin: 40px 0 16px; color: var(--o-black);}
.news-article ul{padding-left: 24px; margin-bottom: 20px; color: var(--o-graphite); line-height: 1.75;}
.news-article ul li{margin-bottom: 6px;}
.news-article strong{color: var(--o-black);}
section{padding: var(--o-section) 0;}
.section-label{font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.16em; color: var(--o-stone); margin-bottom: 24px;}
.section-title{font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; margin-bottom: 32px; max-width: 800px;}
.section-intro{font-size: 1rem; line-height: 1.7; color: var(--o-graphite); max-width: 640px; margin-bottom: 64px;}
.about{background: var(--o-paper);}
.about-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start;}
@media (max-width: 768px){.about-grid{grid-template-columns: 1fr;}}
.about p{margin-bottom: 16px; color: var(--o-graphite); line-height: 1.75;}
.ki{background: var(--o-black); color: var(--o-white); padding: var(--o-section) 0;}
.ki .section-label{color: var(--o-stone);}
.ki-grid{display: grid; grid-template-columns: 1fr 1.25fr; gap: 80px; align-items: start;}
@media (max-width: 768px){.ki-grid{grid-template-columns: 1fr; gap: 32px;}}
.ki-body p{color: var(--o-mist); line-height: 1.75; margin-bottom: 16px;}
.ki .ki-list{list-style: none; padding: 0; margin-top: 32px; border-top: 1px solid var(--o-graphite);}
.ki .ki-list li{padding: 20px 0; border-bottom: 1px solid var(--o-graphite); font-size: 0.875rem; color: var(--o-mist); line-height: 1.6;}
.ki .ki-list strong{color: var(--o-white); font-weight: 600; display: block; margin-bottom: 4px;}
.team{background: var(--o-paper);}
.team-card{display: grid; grid-template-columns: 240px 1fr; gap: 48px; align-items: start; max-width: 800px;}
@media (max-width: 768px){.team-card{grid-template-columns: 1fr; gap: 24px;}}
.team-photo{width: 240px; height: 300px; background: var(--o-mist); display: flex; align-items: center; justify-content: center; color: var(--o-stone); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.1em; overflow: hidden;}
.team-photo img{width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(0.08) contrast(1.02);}
.team-card h3{font-size: 1.375rem; font-weight: 700; margin-bottom: 4px;}
.team-card .role{font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--o-stone); margin-bottom: 20px;}
.team-card p{color: var(--o-graphite); line-height: 1.75; margin-bottom: 12px;}
.team-card .contact{font-size: 0.875rem; margin-top: 24px;}
.team-card .contact a{border-bottom: 1px solid var(--o-black);}
.team-card .team-sub{font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; color: var(--o-stone); margin-top: 28px; margin-bottom: 12px;}
.team-card .team-stations, .team-card .team-mandate{list-style: none; padding: 0; margin: 0 0 8px 0;}
.team-card .team-stations li, .team-card .team-mandate li{padding: 12px 0; border-bottom: 1px solid var(--o-mist); font-size: 0.875rem; color: var(--o-graphite); line-height: 1.55;}
.team-card .team-stations li:last-child, .team-card .team-mandate li:last-child{border-bottom: none;}
.team-card .team-stations li strong, .team-card .team-mandate li strong{color: var(--o-black);}
.team-card .team-rak{font-size: 0.78rem; color: var(--o-stone); margin-top: 4px; margin-bottom: 0;}
.team-card .team-mandat-lead{font-size: 0.78rem; color: var(--o-stone); margin-bottom: 16px; font-style: italic;}
.team-card .team-mandate-rich li{padding: 18px 0;}
.team-card .team-mandate-rich .mandat-title{font-size: 1rem; color: var(--o-black); margin-bottom: 4px; line-height: 1.4;}
.team-card .team-mandate-rich .mandat-meta{font-family: var(--o-mono); font-size: 0.78rem; color: var(--o-stone); letter-spacing: 0.02em; margin-bottom: 8px;}
.team-card .team-mandate-rich .mandat-desc{font-size: 0.875rem; color: var(--o-graphite); line-height: 1.6;}
.contact{background: var(--o-black); color: var(--o-white); border-top: 1px solid var(--o-black);}
.contact .section-label{color: var(--o-stone);}
.contact .section-title{color: var(--o-white);}
.contact .section-intro{color: var(--o-mist);}
.contact-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 64px;}
@media (max-width: 768px){.contact-grid{grid-template-columns: 1fr;}}
.contact-block h4{font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--o-stone); margin-bottom: 16px;}
.contact-block p{color: var(--o-white); margin-bottom: 6px; line-height: 1.6;}
.contact-block a{border-bottom: 1px solid var(--o-white);}
.btn-secondary{display: inline-flex; align-items: center; gap: 10px; padding: 15px 30px; background: var(--o-white); color: var(--o-accent); border: 1px solid var(--o-accent); font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; text-decoration: none; transition: background 0.18s ease, color 0.18s ease;}
.btn-secondary:hover{background: var(--o-accent); color: var(--o-white); opacity: 1;}
@media (max-width: 560px){.btn-secondary{width: 100%; justify-content: center; text-align: center;}}
.kanzlei-prose p, .page-content p, .page-lead, .section-intro, .jp-note, .mandat-desc, .ka-block p, .kontakt-legal p{text-align: justify; hyphens: auto; -webkit-hyphens: auto;}
.section-marker{font-family: var(--o-mono); font-size: 0.78rem; letter-spacing: 0.02em; color: var(--o-graphite); margin-bottom: 24px; text-transform: none;}
.section-marker .marker-bracket{color: var(--o-stone);}
.section-marker .marker-num{color: var(--o-black); font-weight: 500; margin: 0 6px;}
.sektor-card{position: relative;}
.sektor-card-num{position: absolute; top: 24px; right: 24px; font-family: var(--o-mono); font-size: 0.68rem; color: var(--o-stone); letter-spacing: 0.04em;}
.sektor-icon{width: 44px; height: 44px; margin-bottom: 24px; stroke: var(--o-black); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke 0.25s ease;}
.sektor-card:hover .sektor-icon{stroke: var(--o-black);}
.ki-service-card{position: relative; padding-top: 32px; border-top: 2px solid var(--o-black);}
.ki-service-num{font-family: var(--o-mono); font-size: 3rem; font-weight: 500; color: var(--o-black); letter-spacing: -0.02em; line-height: 1; margin-bottom: 24px; display: block;}
@media (max-width: 768px){.ki-service-num{font-size: 2.25rem; margin-bottom: 16px;}}
.o-workflow-tools{font-family: var(--o-mono); font-size: 0.68rem; letter-spacing: 0.02em;}
.preis-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px;}
@media (max-width: 900px){.preis-grid{grid-template-columns: 1fr;}}
.preis-paket{background: var(--o-white); border: 1px solid var(--o-mist); padding: 32px 28px; display: flex; flex-direction: column; transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;}
.preis-paket:hover{transform: translateY(-3px); border-color: var(--o-graphite); box-shadow: 0 8px 24px rgba(0,0,0,0.06);}
.preis-paket.preis-featured{border: 2px solid var(--o-black);}
.preis-paket .paket-label{font-family: var(--o-mono); font-size: 0.68rem; letter-spacing: 0.06em; color: var(--o-stone); margin-bottom: 12px;}
.preis-paket h3{font-size: 1.125rem; font-weight: 700; margin-bottom: 8px; letter-spacing: -0.005em;}
.preis-paket .paket-zielgruppe{font-size: 0.78rem; color: var(--o-stone); margin-bottom: 20px; line-height: 1.5;}
.preis-paket .paket-preis{font-size: 1.75rem; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 4px;}
.preis-paket .paket-preis-sub{font-family: var(--o-mono); font-size: 0.68rem; color: var(--o-stone); margin-bottom: 24px;}
.preis-paket ul{list-style: none; padding: 0; margin: 0 0 24px 0; flex: 1;}
.preis-paket ul li{font-size: 0.875rem; color: var(--o-graphite); line-height: 1.5; padding: 8px 0 8px 18px; position: relative; border-bottom: 1px solid var(--o-paper);}
.preis-paket ul li::before{content: "—"; position: absolute; left: 0; color: var(--o-stone);}
.preis-paket .paket-cta{display: inline-block; text-align: center; background: var(--o-black); color: var(--o-white); padding: 12px 20px; font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; transition: background 0.25s ease;}
.preis-paket .paket-cta:hover{background: var(--o-graphite);}
.news-section{background: var(--o-paper);}
.news-feed{margin-top: 40px; border-top: 1px solid var(--o-mist); max-width: 920px;}
.news-item{display: block; padding: 22px 8px 22px 0; border-bottom: 1px solid var(--o-mist); transition: padding-left 0.25s ease, background 0.25s ease, border-color 0.25s ease; text-decoration: none; color: var(--o-black);}
.news-item:hover{padding-left: 12px; background: var(--o-off-white); border-color: var(--o-graphite);}
.news-meta{font-family: var(--o-mono); font-size: 0.68rem; color: var(--o-stone); letter-spacing: 0.04em; margin-bottom: 8px;}
.news-source{color: var(--o-black); font-weight: 500;}
.news-title{font-size: 1rem; color: var(--o-black); font-weight: 500; line-height: 1.5;}
.news-loading, .news-empty{padding: 28px 0; color: var(--o-stone); font-family: var(--o-mono); font-size: 0.78rem;}
.jp-stamp{font-family: var(--o-mono); font-size: 0.68rem; letter-spacing: 0.04em; color: var(--o-stone); margin-top: 28px;}
.jp-feed{margin-top: 20px; border-top: 1px solid var(--o-mist); max-width: 960px;}
.jp-item{display: block; position: relative; padding: 26px 8px 26px 22px; border-bottom: 1px solid var(--o-mist); text-decoration: none; color: var(--o-black); transition: background 0.25s ease, border-color 0.25s ease;}
.jp-item::before{content: ""; position: absolute; left: 0; top: 26px; bottom: 26px; width: 2px; background: var(--o-mist); transition: background 0.25s ease, top 0.25s ease, bottom 0.25s ease;}
.jp-item:hover{background: var(--o-off-white); border-color: var(--o-graphite);}
.jp-item:hover::before{background: var(--o-black); top: 18px; bottom: 18px;}
.jp-meta{display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 10px;}
.jp-tag{font-family: var(--o-mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--o-graphite); border: 1px solid var(--o-mist); border-radius: 2px; padding: 3px 8px;}
.jp-cite{font-family: var(--o-mono); font-size: 0.68rem; letter-spacing: 0.03em; color: var(--o-stone);}
.jp-cite strong{color: var(--o-black); font-weight: 600;}
.jp-title{font-size: 1.125rem; font-weight: 600; line-height: 1.4; color: var(--o-black); margin-bottom: 8px;}
.jp-note{font-size: 1rem; line-height: 1.65; color: var(--o-graphite); max-width: 760px;}
.jp-arrow{font-family: var(--o-mono); font-size: 0.68rem; color: var(--o-stone); margin-top: 12px; opacity: 0; transform: translateX(-4px); transition: opacity 0.25s ease, transform 0.25s ease;}
.jp-item:hover .jp-arrow{opacity: 1; transform: translateX(0);}
@media (max-width: 600px){.jp-title{font-size: 1rem;}
.jp-note{font-size: 0.875rem;}}
.jp-more{margin-top: 28px; max-width: 960px;}
.jp-more-link{font-family: var(--o-mono); font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--o-accent); text-decoration: none; border-bottom: 1px solid var(--o-accent); padding-bottom: 3px; transition: opacity 0.2s ease;}
.jp-more-link:hover{opacity: 0.55;}
.jp-archive{margin-top: 60px; max-width: 960px;}
.jp-archive-head{font-family: var(--o-mono); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--o-stone); padding-bottom: 14px; border-bottom: 1px solid var(--o-graphite);}
.jp-arch-item{display: block; padding: 16px 8px 16px 0; border-bottom: 1px solid var(--o-mist); text-decoration: none; color: var(--o-black); transition: background 0.2s ease;}
.jp-arch-item:hover{background: var(--o-off-white);}
.jp-arch-cite{font-family: var(--o-mono); font-size: 0.68rem; letter-spacing: 0.03em; color: var(--o-stone); display: block; margin-bottom: 5px;}
.jp-arch-cite strong{color: var(--o-black); font-weight: 600;}
.jp-arch-title{font-size: 1rem; font-weight: 500; line-height: 1.45; color: var(--ink, var(--o-black));}
.trust-bar{background: var(--o-white); border-top: 1px solid var(--o-mist); border-bottom: 1px solid var(--o-mist); padding: 28px 0;}
.trust-bar-label{font-family: var(--o-mono); font-size: 0.68rem; letter-spacing: 0.04em; color: var(--o-stone); flex-shrink: 0;}
.trust-bar-items{display: flex; flex-wrap: wrap; gap: 12px 28px; font-family: var(--o-mono); font-size: 0.78rem; color: var(--o-graphite); letter-spacing: 0.01em;}
.trust-bar-items .trust-item{white-space: nowrap;}
.trust-bar-items .trust-sep{color: var(--o-mist);}
@media (max-width: 768px){.trust-bar{padding: 20px 0;}
.trust-bar-items{font-size: 0.78rem; gap: 8px 18px;}}
.sektor-section{background: var(--o-paper);}
.sektor-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px;}
@media (max-width: 1024px){.sektor-grid{grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 640px){.sektor-grid{grid-template-columns: 1fr;}}
.sektor-card{background: var(--o-white); padding: 32px 28px; border: 1px solid var(--o-mist); transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;}
.sektor-card:hover{transform: translateY(-3px); border-color: var(--o-graphite); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);}
.sektor-icon{width: 36px; height: 36px; margin-bottom: 20px; stroke: var(--o-black); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;}
.sektor-card h3{font-size: 1.125rem; font-weight: 700; margin-bottom: 14px; letter-spacing: -0.005em;}
.sektor-card p{color: var(--o-graphite); font-size: 0.875rem; line-height: 1.65;}
.o-workflow-section{background: var(--o-off-white); padding: 64px 0 48px; border-top: 1px solid var(--o-mist); border-bottom: 1px solid var(--o-mist);}
.o-workflow-diagram{max-width: 1040px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto 1.1fr auto 1fr; align-items: center; gap: 0;}
.o-workflow-embedded{margin: 48px auto 64px; padding: 32px 0; border-top: 1px solid var(--o-mist); border-bottom: 1px solid var(--o-mist);}
@media (max-width: 768px){.o-workflow-diagram{grid-template-columns: 1fr; gap: 24px;}
.o-workflow-diagram .o-workflow-line{display: none;}}
.o-workflow-node{text-align: center; padding: 24px 12px;}
.o-workflow-tools{margin-top: 12px; font-size: 0.78rem; color: var(--o-stone); line-height: 1.7; letter-spacing: 0.02em;}
.o-workflow-line{height: 1px; background: var(--o-graphite); width: calc(100% + 6px); min-width: 38px; margin: 0 -3px; position: relative;}
.o-workflow-line::after{content: ""; position: absolute; right: -2px; top: 50%; width: 7px; height: 7px; border-right: 1px solid var(--o-graphite); border-top: 1px solid var(--o-graphite); transform: translateY(-50%) rotate(45deg);}
.ki-services-section{background: var(--o-white);}
.ki-service-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; margin-top: 48px;}
@media (max-width: 768px){.ki-service-grid{grid-template-columns: 1fr; gap: 32px;}}
.ki-service-card{padding-top: 24px; border-top: 2px solid var(--o-black);}
.ki-service-card h3{font-size: 1.125rem; font-weight: 700; margin-bottom: 14px; letter-spacing: -0.005em;}
.ki-service-card p{color: var(--o-graphite); line-height: 1.7;}
.kanzlei-section{background: var(--o-white); padding: 80px 0;}
.kanzlei-prose{max-width: 720px;}
.kanzlei-prose p{color: var(--o-graphite); line-height: 1.75; margin-bottom: 16px;}
.kanzlei-prose h3{font-size: 1.125rem; font-weight: 700; margin-top: 40px; margin-bottom: 12px; letter-spacing: -0.005em;}
.kanzlei-vita{background: var(--o-paper);}
.page-lead{font-size: 1rem; line-height: 1.7; color: var(--o-graphite); max-width: 60ch; margin-bottom: 48px;}
.kontakt-page-grid{background: var(--o-black); color: var(--o-white); padding: 48px; margin-bottom: 48px;}
.kontakt-page-grid .contact-block h4{color: var(--o-stone);}
.kontakt-page-grid .contact-block p{color: var(--o-white);}
.trust-bar{background: var(--o-paper); border-top: 1px solid var(--o-mist); border-bottom: 1px solid var(--o-mist); padding: 32px 0;}
.trust-bar .wrapper{max-width: 1040px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;}
@media (max-width: 768px){.trust-bar .wrapper{grid-template-columns: repeat(2, 1fr);}}
.trust-item{text-align: center;}
.trust-item strong{display: block; font-size: 1.375rem; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 4px;}
.trust-item span{font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--o-stone);}
.page-header{padding: 160px 0 64px; border-bottom: 1px solid var(--o-mist);}
.page-header h1{font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; letter-spacing: -0.02em; line-height: 1.1;}
.page-header .breadcrumb{font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.16em; color: var(--o-stone); margin-bottom: 24px;}
.page-content{padding: 80px 0; max-width: 760px; margin: 0 auto;}
.page-content h2{font-size: 1.75rem; font-weight: 700; margin-top: 56px; margin-bottom: 20px; letter-spacing: -0.01em;}
.page-content h2:first-of-type{margin-top: 0;}
.page-content h3{font-size: 1.125rem; font-weight: 700; margin-top: 32px; margin-bottom: 12px;}
.page-content p, .page-content ul{margin-bottom: 16px; color: var(--o-graphite); line-height: 1.75;}
.page-content ul{padding-left: 24px;}
.page-content ul li{margin-bottom: 6px;}
.page-content strong{color: var(--o-black); font-weight: 600;}
.page-content a{border-bottom: 1px solid var(--o-black);}
.leistung-hero{position: relative; width: 100%; height: 520px; background-size: cover; background-position: center; filter: grayscale(100%) contrast(1.05); margin-top: 72px;}
.leistung-hero-inner{position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.60) 100%); display: flex; align-items: flex-end; padding-bottom: 72px;}
.leistung-hero-label{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255,255,255,0.7); margin-bottom: 16px;}
.leistung-hero h1{color: var(--o-white); font-size: clamp(2.25rem, 5vw, 3.75rem); font-weight: 700; letter-spacing: -0.02em; line-height: 1.05; max-width: 820px;}
@media (max-width: 768px){.leistung-hero{height: 380px;}}
.leistung-hero-typo{margin-top: 72px; padding: 180px 0 120px; border-bottom: 1px solid var(--o-mist);}
.leistung-hero-typo .leistung-hero-label{color: var(--o-stone); margin-bottom: 24px;}
.leistung-hero-typo h1{font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 700; letter-spacing: -0.03em; line-height: 1; max-width: 900px; color: var(--o-black);}
.leistung-hero-typo .kicker{font-size: 1.125rem; color: var(--o-graphite); margin-top: 32px; max-width: 640px; line-height: 1.5;}
.leistung-intro{padding: 96px 0 64px;}
.leistung-intro .wrapper{max-width: 1040px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 2fr 1fr; gap: 64px; align-items: start;}
@media (max-width: 768px){.leistung-intro .wrapper{grid-template-columns: 1fr; gap: 32px;}}
.leistung-intro h2{font-size: 1.75rem; font-weight: 700; margin-bottom: 24px; letter-spacing: -0.01em; line-height: 1.25;}
.leistung-intro p{color: var(--o-graphite); line-height: 1.75; margin-bottom: 16px;}
.leistung-overview{background: var(--o-paper); padding: 32px; border-left: 2px solid var(--o-black);}
.leistung-overview .label{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 20px;}
.leistung-overview dl{display: grid; grid-template-columns: auto 1fr; gap: 12px 16px; font-size: 0.875rem; line-height: 1.55;}
.leistung-overview dt{color: var(--o-stone);}
.leistung-overview dd{color: var(--o-black); font-weight: 500;}
.leistung-process{background: var(--o-paper); padding: 96px 0;}
.leistung-process .wrapper{max-width: 1040px; margin: 0 auto; padding: 0 24px;}
.leistung-process .label{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 16px;}
.leistung-process h2{font-size: 1.75rem; font-weight: 700; margin-bottom: 48px; letter-spacing: -0.01em;}
.leistung-process-grid{display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 64px;}
@media (max-width: 640px){.leistung-process-grid{grid-template-columns: 1fr;}}
.process-step .num{font-size: 0.78rem; font-weight: 700; color: var(--o-black); margin-bottom: 8px; letter-spacing: 0.08em;}
.process-step strong{font-size: 1rem; display: block; margin-bottom: 6px;}
.process-step p{color: var(--o-graphite); font-size: 0.875rem; line-height: 1.6; margin: 0;}
.leistung-band{width: 100%; height: 320px; background-size: cover; background-position: center; filter: grayscale(100%) contrast(1.05);}
.leistung-cases{padding: 96px 0;}
.leistung-cases .wrapper{max-width: 1040px; margin: 0 auto; padding: 0 24px;}
.leistung-cases .label{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 16px;}
.leistung-cases h2{font-size: 1.75rem; font-weight: 700; margin-bottom: 48px; letter-spacing: -0.01em;}
.leistung-cases-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;}
@media (max-width: 768px){.leistung-cases-grid{grid-template-columns: 1fr;}}
.case{padding-top: 20px; border-top: 2px solid var(--o-black);}
.case strong{font-size: 1rem; display: block; margin-bottom: 8px;}
.case p{color: var(--o-graphite); font-size: 0.875rem; margin: 0; line-height: 1.6;}
.leistung-cta{background: var(--o-black); color: var(--o-white); padding: 96px 0;}
.leistung-cta .wrapper{max-width: 1040px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 2fr 1fr; gap: 48px; align-items: center;}
@media (max-width: 768px){.leistung-cta .wrapper{grid-template-columns: 1fr; gap: 24px;}}
.leistung-cta h2{color: var(--o-white); font-size: 1.75rem; font-weight: 700; margin-bottom: 12px;}
.leistung-cta p{color: var(--o-mist); max-width: 520px; margin: 0;}
.leistung-cta-btn{display: inline-block; background: var(--o-white); color: var(--o-black); padding: 16px 32px; font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em;}
.leistung-cta-btn:hover{opacity: 1; background: var(--o-mist);}
@media (max-width: 767px){section{padding: 56px 0;}
.section-title{font-size: clamp(1.5rem, 5.5vw, 2rem); margin-bottom: 24px;}
.section-intro{font-size: 1rem; margin-bottom: 36px;}
.leistung-hero-typo{padding: 100px 0 48px; margin-top: 64px;}
.leistung-hero-typo h1{font-size: clamp(2rem, 9vw, 2.75rem);}
.leistung-hero-typo .kicker{font-size: 1rem; margin-top: 20px;}
.leistung-intro, .leistung-process, .leistung-cases, .leistung-cta{padding: 56px 0;}
.leistung-intro h2, .leistung-process h2, .leistung-cases h2, .leistung-cta h2{font-size: 1.375rem; margin-bottom: 24px;}
.page-header{padding: 100px 0 40px;}
.page-content{padding: 48px 0;}
.page-content h2{font-size: 1.375rem; margin-top: 36px;}
.trust-item strong{font-size: 1.125rem;}
.trust-item span{font-size: 0.68rem;}}
.preis-section{background: var(--o-white); padding: 64px 0; border-bottom: 1px solid var(--o-mist);}
.preis-wrap{max-width: 900px; margin: 0 auto; padding: 0 24px;}
.preis-eyebrow{font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 16px;}
.preis-headline{font-size: clamp(1.375rem, 3.5vw, 1.75rem); font-weight: 700; margin-bottom: 40px; letter-spacing: -0.01em; line-height: 1.25;}
.preis-disclaimer{margin-top: 32px; font-size: 0.78rem; color: var(--o-stone); line-height: 1.6; max-width: 760px;}
@media (max-width: 720px){.preis-section{padding: 48px 0;}
.preis-headline{margin-bottom: 28px;}}
.preis-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 32px;}
@media (max-width: 720px){.preis-grid{grid-template-columns: 1fr; gap: 16px;}}
.preis-card{border: 2px solid var(--o-black); padding: 32px;}
.preis-card.alt{border: none; background: var(--o-paper);}
.preis-card .preis-label{font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 8px;}
.preis-card .preis-amount{font-size: clamp(1.875rem, 6vw, 2.5rem); font-weight: 700; line-height: 1; margin-bottom: 4px;}
.preis-card .preis-sub{font-size: 0.78rem; color: var(--o-stone); margin-bottom: 24px;}
.preis-card ul{list-style: none; padding: 0; font-size: 0.875rem; color: var(--o-graphite); line-height: 1.7;}
.preis-card li{padding: 8px 0; border-top: 1px solid var(--o-mist);}
.preis-card .preis-foot{margin-top: 24px; font-size: 0.78rem; color: var(--o-stone); line-height: 1.6;}
@media (max-width: 480px){.preis-card{padding: 24px 20px;}}
.trust-bar-5 .wrapper{grid-template-columns: repeat(5, 1fr);}
@media (max-width: 1024px){.trust-bar-5 .wrapper{grid-template-columns: repeat(3, 1fr);}}
@media (max-width: 640px){.trust-bar-5 .wrapper{grid-template-columns: repeat(2, 1fr); gap: 16px;}
.trust-bar{padding: 24px 0;}
.trust-item strong{font-size: 1rem;}
.trust-item span{font-size: 0.68rem; line-height: 1.3;}}
.faq-section{background: var(--o-paper); padding: 80px 0; border-bottom: 1px solid var(--o-mist);}
.faq-wrap{max-width: 820px; margin: 0 auto; padding: 0 24px;}
.faq-eyebrow{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 16px;}
.faq-headline{font-size: clamp(1.375rem, 3.5vw, 1.75rem); font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; margin-bottom: 36px;}
.faq-list{display: flex; flex-direction: column; gap: 0;}
.faq-list details{border-top: 1px solid var(--o-mist); padding: 18px 0;}
.faq-list details:last-of-type{border-bottom: 1px solid var(--o-mist);}
.faq-list summary{cursor: pointer; list-style: none; font-size: 1rem; font-weight: 600; letter-spacing: -0.005em; color: var(--o-black); position: relative; padding-right: 32px; line-height: 1.4; user-select: none;}
.faq-list summary::-webkit-details-marker{display: none;}
.faq-list summary::after{content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 1.125rem; font-weight: 400; color: var(--o-stone); transition: transform 0.18s var(--ease, ease);}
.faq-list details[open] summary::after{content: "−";}
.faq-list details p{margin-top: 12px; color: var(--o-graphite); font-size: 1rem; line-height: 1.65;}
.faq-foot{margin-top: 32px; font-size: 0.875rem; color: var(--o-graphite); text-align: center;}
.faq-foot a{color: var(--o-black); border-bottom: 1px solid var(--o-black); font-weight: 600;}
@media (max-width: 720px){.faq-section{padding: 56px 0;}
.faq-headline{margin-bottom: 24px;}
.faq-list summary{font-size: 0.875rem;}
.faq-list details{padding: 14px 0;}}
.verfahren-hub{padding: 96px 0; background: var(--o-white); border-top: 1px solid var(--o-mist); border-bottom: 1px solid var(--o-mist);}
.verfahren-wrap{max-width: 1040px; margin: 0 auto; padding: 0 24px;}
.verfahren-eyebrow{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 16px;}
.verfahren-headline{font-size: clamp(1.5rem, 3.5vw, 1.875rem); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; margin-bottom: 40px; max-width: 720px;}
.verfahren-card{border: 1px solid var(--o-mist); border-left: 3px solid var(--o-black); padding: 36px 36px 32px; background: var(--o-white); transition: box-shadow 0.18s ease;}
.verfahren-card:hover{box-shadow: 0 6px 28px rgba(0,0,0,0.06);}
.verfahren-card-meta{display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px;}
.verfahren-tag{font-size: 0.68rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--o-graphite); background: var(--o-paper); padding: 5px 11px; border-radius: 999px;}
.verfahren-card h3{font-size: clamp(1.25rem, 2.6vw, 1.625rem); font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; margin-bottom: 12px;}
.verfahren-lead{color: var(--o-graphite); line-height: 1.7; margin-bottom: 28px; max-width: 760px;}
.verfahren-stats{display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 28px; padding: 20px 0; border-top: 1px solid var(--o-mist); border-bottom: 1px solid var(--o-mist);}
.verfahren-stats > div{text-align: left;}
.verfahren-stats strong{display: block; font-size: 1.125rem; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 2px;}
.verfahren-stats span{font-size: 0.68rem; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--o-stone); line-height: 1.3;}
.verfahren-cta-row{display: flex; flex-wrap: wrap; gap: 12px; align-items: center;}
.verfahren-cta{display: inline-block; background: var(--o-black); color: var(--o-white); padding: 14px 28px; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; border-radius: 8px;}
.verfahren-cta:hover{opacity: 1; background: var(--o-graphite);}
.verfahren-cta-secondary{display: inline-block; background: transparent; color: var(--o-black); padding: 13px 22px; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.04em; border: 1.5px solid var(--o-mist); border-radius: 8px; transition: border-color 0.15s ease;}
.verfahren-cta-secondary:hover{opacity: 1; border-color: var(--o-black);}
@media (max-width: 720px){.verfahren-hub{padding: 56px 0;}
.verfahren-card{padding: 24px 20px 22px;}
.verfahren-stats{grid-template-columns: repeat(2, 1fr); gap: 14px 12px;}
.verfahren-cta-row{flex-direction: column; align-items: stretch; gap: 8px;}
.verfahren-cta, .verfahren-cta-secondary{display: block; text-align: center; padding: 14px 20px;}}
.check-inline-cta{background: var(--o-paper); padding: 64px 0; border-top: 1px solid var(--o-mist); border-bottom: 1px solid var(--o-mist);}
.check-inline-wrap{max-width: 1040px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 2fr auto; gap: 40px; align-items: center;}
.check-inline-eyebrow{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 10px;}
.check-inline-text h2{font-size: clamp(1.375rem, 3vw, 1.75rem); font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; margin-bottom: 12px;}
.check-inline-text p{color: var(--o-graphite); line-height: 1.65; max-width: 560px; margin: 0;}
.check-inline-btn{display: inline-flex; align-items: center; gap: 8px; background: var(--o-black); color: var(--o-white); padding: 18px 32px; font-size: 1rem; font-weight: 600; letter-spacing: 0.04em; border-radius: 10px; white-space: nowrap; box-shadow: 0 4px 16px rgba(0,0,0,0.08); transition: transform 0.15s ease, box-shadow 0.15s ease;}
.check-inline-btn:hover{opacity: 1; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(0,0,0,0.14);}
@media (max-width: 768px){.check-inline-cta{padding: 48px 0;}
.check-inline-wrap{grid-template-columns: 1fr; gap: 24px;}
.check-inline-btn{width: 100%; justify-content: center; padding: 16px 24px;}}
.erweiterungen{background: var(--o-paper); padding: 72px 0;}
.erweiterungen .wrapper{max-width: 1040px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 2fr 1fr; gap: 48px; align-items: center;}
.erweiterungen .label{font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 12px;}
.erweiterungen h2{font-size: clamp(1.375rem, 3vw, 1.625rem); font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; margin-bottom: 14px;}
.erweiterungen p{color: var(--o-graphite); line-height: 1.7; max-width: 580px;}
@media (max-width: 768px){.erweiterungen .wrapper{grid-template-columns: 1fr; gap: 24px;}
.erweiterungen{padding: 56px 0;}}
.kontakt-layout{display: grid; grid-template-columns: 1.25fr 0.9fr; gap: 48px; margin: 40px 0 56px; align-items: start;}
@media (max-width: 860px){.kontakt-layout{grid-template-columns: 1fr; gap: 32px;}}
.kontakt-form{display: flex; flex-direction: column; gap: 22px; position: relative; background: var(--chalk); border: 1px solid var(--o-mist); padding: 36px;}
@media (max-width: 520px){.kontakt-form{padding: 24px;}}
.kf-row{display: flex; flex-direction: column; gap: 8px;}
.kf-row label{font-family: var(--sans); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--o-graphite);}
.kf-row input, .kf-row select, .kf-row textarea{font-family: var(--sans); font-size: 1rem; color: var(--o-black); background: var(--chalk); border: 1px solid var(--line); border-radius: 0; padding: 14px 15px; width: 100%; transition: border-color .15s ease, box-shadow .15s ease;}
.kf-row textarea{min-height: 150px; resize: vertical;}
.kf-row input:focus, .kf-row select:focus, .kf-row textarea:focus{outline: none; border-color: var(--o-black); box-shadow: inset 0 0 0 1px var(--o-black);}
.kf-row input::placeholder, .kf-row textarea::placeholder{color: var(--muted);}
.kf-consent{display: flex; gap: 11px; align-items: flex-start; font-size: 0.875rem; color: var(--o-graphite); line-height: 1.55;}
.kf-consent input{margin-top: 3px; width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--ink);}
.kf-consent a{border-bottom: 1px solid var(--o-graphite);}
.kf-submit{width: 100%; background: var(--o-black); color: var(--o-white); border: 1px solid var(--o-black); font-family: var(--sans); font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; padding: 17px 30px; cursor: pointer; transition: all .15s ease;}
.kf-submit:hover{background: var(--chalk); color: var(--o-black);}
.kf-hp{position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden;}
.kontakt-aside{padding-top: 4px;}
@media (max-width: 860px){.kontakt-aside{border-top: 1px solid var(--o-mist); padding-top: 28px;}}
.kontakt-aside .ka-block{margin-bottom: 26px;}
.kontakt-aside h4{font-family: var(--sans); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 11px;}
.kontakt-aside p{color: var(--o-graphite); line-height: 1.6; margin-bottom: 5px;}
.kontakt-aside a{border-bottom: 1px solid var(--o-black);}
.ka-points{list-style: none; padding: 0; margin: 0;}
.ka-points li{position: relative; padding-left: 22px; color: var(--o-graphite); line-height: 1.5; margin-bottom: 10px; font-size: 0.875rem;}
.ka-points li::before{content: "→"; position: absolute; left: 0; color: var(--o-black); font-family: var(--sans);}
.kf-banner{padding: 16px 18px; border: 1px solid var(--o-black); background: var(--off-white, #f5f5f3); font-size: 1rem; line-height: 1.5; margin-bottom: 28px;}
.kf-banner.error{border-color: #a33; color: #a33;}
.kontakt-legal{border-top: 1px solid var(--o-mist); padding-top: 28px; max-width: 760px;}
.kontakt-legal p{font-size: 0.875rem; color: var(--o-stone); line-height: 1.6; margin-bottom: 10px;}
.section-marker .marker-num{color: var(--o-accent);}
.section-marker .marker-bracket{color: var(--o-accent-300);}
.page-header .breadcrumb{color: var(--o-accent);}
.preis-paket .paket-label{color: var(--o-accent);}
.jp-tag{color: var(--o-accent); border-color: var(--o-accent-300);}
.kanzlei-prose a, .page-content a{color: var(--o-accent-700);}
.contact{background: var(--o-off-white); color: var(--o-ink); border-top: 1px solid var(--o-mist);}
.contact .section-title{color: var(--o-ink);}
.contact .section-intro{color: var(--o-graphite);}
.contact .section-label{color: var(--o-stone);}
.contact-block h4{color: var(--o-stone);}
.contact-block p{color: var(--o-graphite);}
.contact-block a{color: var(--o-accent-700); border-bottom: 1px solid var(--o-mist);}
.team-photo{position: relative; overflow: visible; background: transparent;}
.team-photo::before{content: ""; position: absolute; left: 16px; top: 16px; right: -16px; bottom: -16px; background: var(--o-accent-100); z-index: 0;}
.team-photo img{position: relative; z-index: 1; box-shadow: 0 22px 45px -20px rgba(17,17,17,.42);}
.response-note{font-size: 0.78rem; color: var(--o-stone); margin-top: 10px;}
.deal-timeline{border-left: 1px solid var(--o-mist); margin: 32px 0 8px;}
.deal-phase{position: relative; padding: 0 0 40px 28px;}
.deal-phase:last-child{padding-bottom: 8px;}
.deal-phase::before{content: ""; position: absolute; left: -5px; top: 7px; width: 9px; height: 9px; background: var(--o-ink); border-radius: 50%;}
.deal-phase h3{margin: 0 0 6px;}
.deal-phase-num{font-family: var(--o-mono); font-size: 0.78rem; color: var(--o-accent); margin-right: 10px;}
.deal-phase > p{margin: 0 0 4px; color: var(--o-graphite);}
.deal-cols{display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 14px;}
.deal-col h4{font-family: var(--o-mono); font-size: 0.68rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.08em; color: var(--o-stone); margin: 0 0 8px;}
.deal-col ul{margin: 0; padding-left: 18px;}
.deal-col li{font-size: 0.875rem; line-height: 1.55; margin-bottom: 6px;}
@media (max-width: 719px){.deal-cols{grid-template-columns: 1fr;}}
.sektor-card[data-rg]{cursor: pointer; transition: border-color .15s ease, transform .15s ease;}
.sektor-card[data-rg]:hover, .sektor-card[data-rg]:focus-visible{border-color: var(--o-ink); transform: translateY(-2px); outline: none;}
.sektor-card[data-rg]::after{content: "Details ansehen →"; display: block; margin-top: 14px; font-family: var(--o-mono); font-size: 0.68rem; letter-spacing: 0.06em; color: var(--o-stone);}
@media (prefers-reduced-motion: reduce){.sektor-card[data-rg]{transition: none;}}
.leitfaden-box{border: 1px solid var(--ink); padding: 22px 24px; margin: 32px 0 24px; background: var(--paper); max-width: 720px;}
.leitfaden-box .lb-title{font-weight: 700; font-size: 1rem; margin-bottom: 6px;}
.leitfaden-box .lb-text{font-size: 0.875rem; color: #4c5d57; line-height: 1.55; margin-bottom: 14px;}
.leitfaden-box .lb-row{display: flex; gap: 10px; flex-wrap: wrap;}
.leitfaden-box .lb-row input{flex: 1 1 240px; padding: 12px 14px; border: 1px solid var(--line); font-family: inherit; font-size: 1rem;}
.leitfaden-box .lb-row button{padding: 12px 22px; background: var(--ink); color: var(--chalk); border: none; font-family: inherit; font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; cursor: pointer;}
.leitfaden-box .lb-consent{display: flex; gap: 8px; align-items: flex-start; font-size: 0.78rem; color: #555; margin-top: 12px; line-height: 1.5;}
.leitfaden-box .lb-consent a{color: inherit; text-decoration: underline;}
@media (max-width: 768px){.kanzlei-prose p{text-align: left !important; hyphens: auto;}}
.sektor-link{display: inline-block; margin-top: 12px; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.04em; text-decoration: none; color: inherit; border-bottom: 1px solid currentColor;}
.fu-subnav{border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper);}
.fu-subnav ul{list-style: none; margin: 0 auto; padding: 0 24px; max-width: 1200px; display: flex; gap: 4px 22px; flex-wrap: wrap; overflow-x: auto;}
.fu-subnav li{white-space: nowrap;}
.fu-subnav a{display: inline-block; padding: 12px 0; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.04em; text-decoration: none; color: #4c5d57; border-bottom: 2px solid transparent;}
.fu-subnav a:hover, .fu-subnav a.active{color: var(--ink); border-bottom-color: var(--ink);}
.fu-subnav .fu-label{font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); padding: 13px 0;}
@media (max-width: 1180px){.submenu{display: block; position: static; transform: none; border: 0; box-shadow: none; padding: 8px 0 0; margin: 0; min-width: 0; width: 100%;}
.has-submenu > a::after{content: "";}
.submenu a{padding: 6px 0; white-space: normal; text-align: center;}}
.rc-filter{display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 14px 0; border-top: 1px solid var(--o-mist); border-bottom: 1px solid var(--o-mist); margin: 0 0 30px;}
.rc-filter b{font-family: var(--o-mono); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--o-stone); margin-right: 6px;}
.rc-f{font: inherit; font-size: 0.78rem; padding: 6px 12px; border: 1px solid var(--o-mist); background: var(--o-white); color: var(--o-ink); cursor: pointer; transition: background .15s, color .15s, border-color .15s;}
.rc-f:hover{border-color: var(--o-ink);}
.rc-f.is-on{background: var(--o-ink); color: var(--o-white); border-color: var(--o-ink);}
.radar-feed{display: block;}
.rc{background: var(--o-white); border: 1px solid var(--o-mist); padding: 28px 30px; margin-bottom: 18px; scroll-margin-top: 90px;}
.rc[hidden]{display: none;}
.rc-head{display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; align-items: baseline; margin-bottom: 14px;}
.rc-g{font-family: var(--o-mono); font-size: 0.68rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--o-accent); margin-right: 10px;}
.rc-cite{font-family: var(--o-mono); font-size: 0.78rem; color: var(--o-stone);}
.rc-hook{font-size: 1.125rem; line-height: 1.4; letter-spacing: -0.012em; margin: 0 0 20px; max-width: 58ch;}
.rc-body p{margin: 0 0 12px; font-size: 0.875rem; line-height: 1.6; color: var(--o-graphite); text-align: left; max-width: 74ch;}
.rc-body p:last-child{margin-bottom: 0;}
.rc-lbl{display: block; font-family: var(--o-mono); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--o-stone); margin-bottom: 7px;}
.rc-block p{margin: 0; font-size: 0.875rem; line-height: 1.6; color: var(--o-graphite); text-align: left;}
.rc-foot{display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--o-mist); font-size: 0.78rem; color: var(--o-stone);}
.rc-sig{flex: 1;}
.rc-links a{color: var(--o-ink); text-decoration: none; border-bottom: 1px solid var(--o-mist);}
.rc-links a:hover{border-bottom-color: var(--o-ink);}
.rc-badge{font-family: var(--o-mono); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 9px; border: 1px solid currentColor;}
.rc-badge--handeln{color: var(--o-risk);}
.rc-badge--pruefen{color: var(--o-warn);}
.rc-badge--beobachten{color: var(--o-accent);}
.rq{display: block; background: var(--o-white); border: 1px solid var(--o-mist); padding: 22px 24px; margin-bottom: 12px; text-decoration: none; color: inherit; transition: border-color .15s;}
.rq:hover{border-color: var(--o-ink);}
.rq-top{display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; align-items: baseline; margin-bottom: 10px;}
.rq-cite{font-family: var(--o-mono); font-size: 0.78rem; color: var(--o-stone);}
.rq-hook{font-size: 1rem; line-height: 1.45; font-weight: 600; letter-spacing: -0.01em; max-width: 62ch;}
.rq-foot{display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 16px; flex-wrap: wrap;}
.rq-arrow{font-size: 0.78rem; color: var(--o-stone);}
.rq:hover .rq-arrow{color: var(--o-ink);}
@media (max-width: 760px){.rc{padding: 22px 20px;}
.rc-foot{gap: 10px;}
.rc-sig{flex: 1 1 100%; order: 3;}}
.ent-fakten{border: 1px solid var(--o-mist); background: var(--o-white); padding: 22px 26px; margin: 0 0 32px;}
.ent-fakten dl{display: grid; grid-template-columns: 170px 1fr; gap: 9px 20px; margin: 0;}
.ent-fakten dt{font-family: var(--o-mono); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--o-stone); padding-top: 3px;}
.ent-fakten dd{margin: 0; font-size: 0.875rem; line-height: 1.5;}
.ent-fakten dd a{color: var(--o-ink);}
@media (max-width: 620px){.ent-fakten dl{grid-template-columns: 1fr; gap: 3px 0;}
.ent-fakten dd{margin-bottom: 12px;}}
.ent-leitsatz{border-left: 3px solid var(--o-accent); padding: 4px 0 4px 22px; margin: 0 0 30px;}
.ent-leitsatz p{font-size: 1rem; line-height: 1.65; margin: 0 0 10px; text-align: left;}
.ent-leitsatz .q{font-family: var(--o-mono); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--o-stone); display: block; margin-bottom: 10px;}
.ent-betroffene{background: var(--o-paper); padding: 24px 26px; margin: 34px 0 0;}
.ent-betroffene h3{margin-top: 0;}
.ent-liste{display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin: 20px 0 8px; padding: 0; list-style: none;}
@media (max-width: 700px){.ent-liste{grid-template-columns: 1fr;}}
.ent-liste a{display: block; border: 1px solid var(--o-mist); padding: 12px 15px; text-decoration: none; color: inherit; background: var(--o-white);}
.ent-liste a:hover{border-color: var(--o-ink);}
.ent-liste .el-cite{font-family: var(--o-mono); font-size: 0.68rem; color: var(--o-stone); display: block; margin-bottom: 4px;}
.ent-liste .el-titel{font-size: 0.875rem; line-height: 1.4; font-weight: 600;}
.section-title, .rq-hook{text-wrap: balance;}
.section-intro, .sektor-card p{text-wrap: pretty;}
.section-title{font-feature-settings: "kern" 1, "liga" 1, "ss03" 1;}
.label-mono, .section-marker, .rq-cite, .rc-g, .sektor-card-num, .ki-service-num, .marker-num, [class*="-mono"]{font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1, "zero" 1;}
.rq-cite, .ent-fakten td, .mandat-meta{hyphens: none;}
:target, section[id], h2[id], h3[id]{scroll-margin-top: 104px;}
:focus{outline: none;}
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible, [data-rg]:focus-visible{outline: 2px solid var(--o-accent); outline-offset: 3px; border-radius: 1px;}
.contact a:focus-visible{outline-color: var(--o-accent-300);}
.kanzlei-prose a, .section-intro a, .rq-hook a{text-underline-offset: 0.18em; text-decoration-thickness: 1px; transition: color var(--o-t-fast) var(--o-ease), text-decoration-color var(--o-t-fast) var(--o-ease);}
.kanzlei-prose a:hover, .section-intro a:hover{color: var(--o-accent);}
.sektor-card, .rq, .team-card, .ki-service-card{transition: transform var(--o-t-base) var(--o-ease), border-color var(--o-t-base) var(--o-ease), box-shadow var(--o-t-base) var(--o-ease);}
.sektor-card{display: flex; flex-direction: column; box-shadow: var(--o-sh-1);}
.sektor-card > p{flex: 1 1 auto; margin-bottom: var(--o-s-5);}
.sektor-card[data-rg]::after{padding-top: var(--o-s-4);}
.sektor-card .sektor-link{align-self: flex-start; margin-top: auto;}
.sektor-card:not([data-rg]) .sektor-link{margin-top: auto;}
.sektor-card:hover, .sektor-card[data-rg]:hover{transform: translateY(-2px); border-color: var(--o-accent-300); box-shadow: var(--o-sh-3);}
.sektor-card[data-rg]:hover::after{color: var(--o-accent);}
.rq{box-shadow: var(--o-sh-1);}
.rq:hover{border-color: var(--o-accent-300); box-shadow: var(--o-sh-2); transform: translateY(-1px);}
.team-photo, .team-card img{box-shadow: var(--o-sh-2);}
@media (prefers-reduced-motion: reduce){.sektor-card:hover, .rq:hover{transform: none;}}
@media (max-width: 768px){.sektor-link, .ki-link-cta, .jp-more-link, .rq-arrow, .team-card .contact a{display: inline-flex; align-items: center; min-height: 44px;}
.sektor-card .sektor-link{align-self: flex-start;}
.ki-service-card > p > a, .team-card > div > p > a, .contact-block p > a{display: inline-flex; align-items: center; min-height: 44px;}}
.sektor-grid--2{grid-template-columns: repeat(2, 1fr);}
.mandate-list{list-style: none; padding: 0; margin: var(--o-s-6) 0 var(--o-s-4); max-width: 720px;}
.mandate-list li{padding: 18px 0; border-bottom: 1px solid var(--o-mist);}
.mandate-list li:last-child{border-bottom: none;}
.mandate-list .mandat-title{font-size: 1rem; color: var(--o-black); margin-bottom: 4px; line-height: 1.4;}
.mandate-list .mandat-meta{font-family: var(--o-mono); font-size: 0.78rem; color: var(--o-stone); letter-spacing: 0.02em; margin-bottom: 8px;}
.mandate-list .mandat-desc{font-size: 0.875rem; color: var(--o-graphite); line-height: 1.6;}
.deal-timeline{max-width: 720px;}
.deal-phase > p{line-height: 1.65;}
.cta-panel{background: var(--o-white); border: 1px solid var(--o-mist); padding: var(--o-s-7) var(--o-s-6); max-width: 720px; box-shadow: var(--o-sh-1);}
.cta-panel p{color: var(--o-graphite); line-height: 1.7; margin-bottom: var(--o-s-4);}
.cta-panel .response-note{margin-top: var(--o-s-4); margin-bottom: 0;}
.leistung-links{display: flex; flex-wrap: wrap; gap: var(--o-s-3) var(--o-s-5); margin-top: var(--o-s-5);}
@media (max-width: 768px){.sektor-grid--2{grid-template-columns: 1fr;}
.cta-panel{padding: var(--o-s-6) var(--o-s-5);}}
.contact--dark{background: var(--o-black); color: var(--o-white); border-top: none; padding: var(--o-s-9) 0 var(--o-s-8);}
.contact--dark .section-marker, .contact--dark .section-marker .marker-bracket{color: var(--o-stone);}
.contact--dark .section-marker .marker-num{color: var(--o-accent-300);}
.contact--dark .section-title{color: var(--o-white); margin-bottom: var(--o-s-5);}
.contact--dark .section-intro{color: var(--o-mist); margin-bottom: var(--o-s-5); max-width: 52ch;}
.contact-layout{display: grid; grid-template-columns: 1fr 1.15fr; gap: var(--o-s-8); align-items: start;}
.contact--dark .contact-grid{gap: var(--o-s-6); margin-top: var(--o-s-7);}
.contact--dark .contact-block h4{color: var(--o-stone);}
.contact--dark .contact-block p{color: var(--o-white);}
.contact--dark .contact-block a{color: var(--o-white); border-bottom: 1px solid var(--o-graphite);}
.contact--dark .contact-block a:hover{border-bottom-color: var(--o-white);}
.contact-cal{display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--o-white); font-weight: 600; font-size: 0.875rem; letter-spacing: 0.04em; border-bottom: 1px solid var(--o-white); transition: color var(--o-t-fast) var(--o-ease), border-color var(--o-t-fast) var(--o-ease);}
.contact-cal:hover{color: var(--o-accent-300); border-bottom-color: var(--o-accent-300);}
.contact-form{position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: var(--o-s-4); background: rgba(255,255,255,0.035); border: 1px solid var(--o-graphite); padding: var(--o-s-6);}
.cf-row{display: flex; flex-direction: column; gap: 6px;}
.cf-full{grid-column: span 2;}
.cf-row label{font-family: var(--o-mono); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--o-stone);}
.cf-row input, .cf-row select, .cf-row textarea{width: 100%; padding: 13px 14px; background: transparent; border: 1px solid var(--o-graphite); color: var(--o-white); font-family: var(--o-font); font-size: 1rem; border-radius: 0;}
.cf-row select{appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23D9D6D0' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center;}
.cf-row select option{color: var(--o-black); background: var(--o-white);}
.cf-row input:focus, .cf-row select:focus, .cf-row textarea:focus{outline: none; border-color: var(--o-white);}
.cf-row input::placeholder, .cf-row textarea::placeholder{color: var(--o-stone);}
.cf-row textarea{min-height: 120px; resize: vertical;}
.cf-hp{position: absolute; left: -9999px; top: 0; width: 1px; height: 1px; overflow: hidden;}
.cf-consent{display: flex; gap: 12px; align-items: flex-start; font-size: 0.78rem; color: var(--o-mist); line-height: 1.55; cursor: pointer;}
.cf-consent input{margin-top: 3px; accent-color: var(--o-white); flex: 0 0 auto;}
.cf-consent a{color: var(--o-white); border-bottom: 1px solid var(--o-graphite);}
.cf-submit{padding: 16px 32px; background: var(--o-white); color: var(--o-black); border: none; font-family: var(--o-font); font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; cursor: pointer; transition: background var(--o-t-fast) var(--o-ease), transform var(--o-t-fast) var(--o-ease);}
.cf-submit:hover{background: var(--o-mist); transform: translateY(-1px);}
.cf-note{font-size: 0.78rem; color: var(--o-stone); margin: 0; line-height: 1.6;}
@media (max-width: 900px){.contact-layout{grid-template-columns: 1fr; gap: var(--o-s-7);}
.contact--dark{padding: var(--o-s-8) 0 var(--o-s-7);}}
@media (max-width: 600px){.contact-form{grid-template-columns: 1fr; padding: var(--o-s-5);}
.cf-full{grid-column: span 1;}}

/* ── Inhaltsvorlage im Edition-02-Idiom (gilt für alle Seiten außerhalb der sieben Designseiten) ── */
.container{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
.content-hero{background:var(--paper);padding:clamp(56px,7vw,110px) 0 clamp(40px,5vw,72px)}
.content-hero .eyebrow{color:var(--rust)}
.content-hero .eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--rust)}
.content-hero h1{font-size:clamp(40px,5.6vw,88px);font-weight:490;line-height:.98;letter-spacing:-.075em;margin:24px 0 0;max-width:1000px}
.content-hero .subhero-lede{margin-top:26px}
.content-hero .hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.content-hero .hero-trust{font-size:13px;color:var(--muted);margin-top:22px;max-width:640px}
.btn.outline{background:transparent;color:var(--ink)}
.btn.outline:hover{background:var(--ink);color:var(--chalk)}
.page-content{max-width:820px;margin:0 auto;padding:clamp(56px,7vw,100px) var(--gutter)}
.page-content h2,.kanzlei-prose h2,.section-title,.news-article h2{font-size:clamp(26px,3vw,44px);font-weight:520;letter-spacing:-.05em;line-height:1.1;margin:56px 0 20px}
.page-content h2:first-child,.section-title{margin-top:0}
.section-title{margin-bottom:30px;max-width:820px}
.page-content h3,.kanzlei-prose h3,.news-article h3{font-size:clamp(20px,1.6vw,24px);font-weight:540;letter-spacing:-.03em;margin:36px 0 12px}
.page-content p,.page-content ul,.page-content ol,.kanzlei-prose p,.kanzlei-prose ul,.kanzlei-prose ol,.about p,.news-article p{font-size:17px;line-height:1.7;color:#4c5d57}
.page-content strong,.kanzlei-prose strong{color:var(--ink);font-weight:600}
.page-content a,.kanzlei-prose a,.section-intro a,.about a,.news-article a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;border-bottom:0}
.page-content a:hover,.kanzlei-prose a:hover{color:var(--rust)}
.about p,.about-grid p,.ki-body p,.section-intro,.leistung-intro p{text-align:left;hyphens:manual}
.section-label,.section-marker,.breadcrumb,.news-hero-eyebrow,.leistung-hero-label{font-family:var(--sans);font-size:10px;line-height:1.4;letter-spacing:.17em;text-transform:uppercase;font-weight:660;color:var(--rust);margin-bottom:22px}
.section-marker .marker-bracket{display:none}
.section-marker .marker-num{color:var(--rust);margin:0 6px 0 0}
.section-marker .marker-num::after{content:' /'}
.page-lead{font-size:clamp(17px,1.44vw,22px);line-height:1.65;color:#4b6058;max-width:720px;margin-bottom:48px}
.response-note{font-size:13px;color:var(--muted);line-height:1.6}
.kanzlei-section,.ki-services-section,.sektor-section,.team,.leistung-process,.leistung-cases,.news-list{background:var(--chalk);padding:clamp(60px,7vw,110px) 0}
.about,.leistung-intro{background:var(--paper);padding:clamp(60px,7vw,110px) 0}
.about+.about,.kanzlei-section+.kanzlei-section{padding-top:0}
.hero-cta,.hero-cta-primary,.kf-submit,.mandat-submit,.chk-btn,.btn-primary,.leistung-cta-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border:1px solid var(--ink);padding:18px 21px;min-height:59px;background:var(--ink);color:var(--chalk);font-family:var(--sans);font-size:12px;font-weight:580;letter-spacing:0;text-transform:none;border-radius:0;box-shadow:none;transition:background .3s,color .3s}
.hero-cta:hover,.hero-cta-primary:hover,.kf-submit:hover,.mandat-submit:hover,.chk-btn:hover,.btn-primary:hover{background:var(--petrol);border-color:var(--petrol);color:var(--chalk);opacity:1;transform:none;box-shadow:none}
.btn-secondary,.btn-ghost,.btn-plain{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:17px 21px;min-height:59px;font-size:12px;font-weight:580;border-radius:0}
.btn-secondary:hover,.btn-ghost:hover{background:var(--ink);color:var(--chalk)}
.kf-row label,.ent-fakten dt,.ent-leitsatz .q,.chk-card .label,.mandat-step .label{font-family:var(--sans);font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:660;color:var(--muted)}
.kf-row input,.kf-row select,.kf-row textarea,.mandat-form input,.mandat-form select,.mandat-form textarea,.lb-row input{font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--chalk);border:1px solid var(--line);border-radius:0;padding:14px 16px}
.kf-row input:focus,.kf-row select:focus,.kf-row textarea:focus,.mandat-form input:focus,.mandat-form textarea:focus{outline:none;border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.fu-subnav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--chalk)}
.fu-subnav ul{max-width:1200px;padding:0 var(--gutter)}
.fu-subnav a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:620;color:#4c5d57;padding:14px 0}
.fu-subnav a:hover,.fu-subnav a.active{color:var(--ink);border-bottom-color:var(--rust)}
.fu-subnav .fu-label{font-size:10px;letter-spacing:.17em;color:var(--rust);font-weight:660}
.rc,.ent-fakten,.cta-panel,.hub-card,.news-card,.process-step,.case,.opt-card,.result-card,.pay-card,.leitfaden-box,.chk-card{background:var(--chalk);border:1px solid var(--line);box-shadow:none;border-radius:0}
.hub-card.primary{background:var(--ink);color:var(--chalk);border-color:var(--ink)}
.rc-hook,.news-card h2{font-weight:540;letter-spacing:-.03em}
.rc-g{background:var(--mist);color:var(--petrol);border-radius:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:660}
.ent-leitsatz{border-left:2px solid var(--rust)}
.ent-leitsatz p{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.5;color:var(--ink)}
.jp-stamp,.news-card-meta,.mandat-meta,.news-meta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:620}
table{border-collapse:collapse;font-size:15px}
th{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:660;color:var(--muted);border-bottom:1px solid var(--ink)}
td{border-bottom:1px solid var(--line);vertical-align:top}
blockquote{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.45;color:var(--ink);border-left:2px solid var(--rust);margin:32px 0;padding:4px 0 4px 24px}
.team-card,.team-photo img{border-radius:0}
hr{border:0;border-top:1px solid var(--line);margin:40px 0}
.page-content p,.kanzlei-prose p,.page-content li,.kanzlei-prose li,.page-content dd{overflow-wrap:anywhere}
.wrapper{box-sizing:border-box;max-width:100%}
.mandat-step,.mandat-wrap,.mandat-form,.pay-card,.check-shell,.chk-card{min-width:0;width:auto;max-width:100%;box-sizing:border-box}
@media(max-width:760px){.check-paths,.leistung-process-grid,.leistung-cases-grid,.hub-grid,.leistung-intro .wrapper,.verfahren-wrap,.team-card,.kontakt-layout{grid-template-columns:1fr!important}}
@media(max-width:420px){.ent-fakten dl{grid-template-columns:1fr;gap:2px 0}.ent-fakten dt{padding-top:10px}}
@media(max-width:760px){.content-hero h1,.section-title,.page-content h2,.kanzlei-prose h2,.story-grid h2,.news-article h2{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:14 6 6}
.mandat-steps,.mandat-step,.leistung-overview,.ent-fakten,.ent-betroffene,.cta-panel,.tablewrap{width:auto;min-width:0;max-width:100%;margin-left:0;margin-right:0;box-sizing:border-box}
.kanzlei-prose>*,.page-content>*{max-width:100%;box-sizing:border-box}
.ent-fakten dt,.ent-fakten dd,.kanzlei-prose h3,.page-content h3{overflow-wrap:anywhere;min-width:0}}
main.page-404{padding:clamp(120px,16vw,220px) var(--gutter) clamp(100px,12vw,160px);text-align:left;max-width:860px;margin:0 auto}
