/* Kahyalar Solutions. Keynote-Buehne: schwarz und silber, Gruen nur fuer "wiederhergestellt". */
@font-face {font-family: Archivo; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url('/assets/archivo-400.97c0a4fdaca7.woff2') format('woff2');}
@font-face {font-family: Archivo; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url('/assets/archivo-500.0dbb16fe97bb.woff2') format('woff2');}
@font-face {font-family: Archivo; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url('/assets/archivo-600.f039ad088d5d.woff2') format('woff2');}
@font-face {font-family: Archivo; font-style: normal; font-weight: 600; font-stretch: 87.5%; font-display: swap; src: url('/assets/archivo-600-sc.64007b07f427.woff2') format('woff2');}

/* ---------- Farben ---------- */
:root {
 color-scheme: light;
 --bg: #F5F5F7; --tile: #FFFFFF; --tile2: #E8E8ED; --ink: #1D1D1F; --ink2: #6E6E73; --line: rgba(0,0,0,.12);
 --green: #1A7F37; --btn: #1D1D1F; --btnink: #FFFFFF; --nav: rgba(250,250,252,.86); --drawer: rgba(250,250,252,.94); --navline: rgba(0,0,0,.08);
 --shadow: 0 14px 34px rgba(0,0,0,.14);
 --r-stage: 36px; --r-tile: 28px; --r-inner: 18px;
 --ease: cubic-bezier(.32,.72,0,1);
}
@media (prefers-color-scheme: dark) {
 :root:not([data-theme=light]) {
  color-scheme: dark;
  --bg: #000000; --tile: #1C1C1E; --tile2: #2C2C2E; --ink: #F5F5F7; --ink2: #A1A1A6; --line: rgba(255,255,255,.15);
  --green: #30D158; --btn: #F5F5F7; --btnink: #000000; --nav: rgba(44,44,46,.72); --drawer: rgba(28,28,30,.94); --navline: rgba(255,255,255,.14);
  --shadow: 0 14px 34px rgba(0,0,0,.45);
 }
}
:root[data-theme=dark] {
 color-scheme: dark;
 --bg: #000000; --tile: #1C1C1E; --tile2: #2C2C2E; --ink: #F5F5F7; --ink2: #A1A1A6; --line: rgba(255,255,255,.15);
 --green: #30D158; --btn: #F5F5F7; --btnink: #000000; --nav: rgba(44,44,46,.72); --drawer: rgba(28,28,30,.94); --navline: rgba(255,255,255,.14);
 --shadow: 0 14px 34px rgba(0,0,0,.45);
}
/* Buehne bleibt in beiden Modi schwarz */
.stage,.application-band {
 color-scheme: dark;
 --bg: #000000; --tile: #1C1C1E; --tile2: #2C2C2E; --ink: #F5F5F7; --ink2: #A1A1A6; --line: rgba(255,255,255,.15);
 --green: #30D158; --btn: #F5F5F7; --btnink: #000000; --shadow: 0 14px 34px rgba(0,0,0,.45);
 background: #000; color: var(--ink); margin: 12px; border-radius: var(--r-stage); position: relative; overflow: hidden;
}

/* ---------- Grundlagen ---------- */
*,:before,:after {box-sizing: border-box;}
* {margin: 0;}
[hidden] {display: none !important;}
html {scroll-behavior: smooth; scroll-padding-top: 104px; -webkit-text-size-adjust: 100%; background: var(--bg);}
body {font-family: Archivo,-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; font-size: 17px; line-height: 1.5; color: var(--ink); background: var(--bg); -webkit-font-smoothing: antialiased; overflow-x: clip;}
button,input,textarea,select {font: inherit; color: inherit;}
button,a,input,summary,select,textarea {-webkit-tap-highlight-color: transparent;}
button,a {touch-action: manipulation;}
a {color: inherit; text-decoration: none;}
button {cursor: pointer; background: none; border: 0; padding: 0;}
img,svg {display: block; max-width: 100%;}
img {height: auto;}
ul,ol {padding: 0; list-style: none;}
:focus-visible {outline: 2px solid var(--ink); outline-offset: 3px; border-radius: 6px;}
::selection {background: var(--ink); color: var(--bg);}
h1,h2,h3 {font-weight: 600; font-stretch: 87.5%;}
h1 {font-size: clamp(42px,min(4.6vw,8svh),68px); line-height: 1.02; letter-spacing: -.028em;}
h1 em,h2 em {font-style: normal; color: var(--ink2);}
h2 {font-size: clamp(36px,3.9vw,54px); line-height: 1.05; letter-spacing: -.024em;}
h3 {font-size: clamp(23px,2.1vw,30px); line-height: 1.12; letter-spacing: -.016em;}
p {color: var(--ink2);}
.section-width {width: min(1200px,calc(100% - 40px)); margin-inline: auto;}
.wrap {width: min(1200px,calc(100% - 40px)); margin-inline: auto;}
.eyebrow,.section-tag {display: block; font-size: 15px; font-weight: 500; color: var(--ink2); margin-bottom: 14px;}
.skip-link {position: fixed; top: 8px; left: 12px; z-index: 100; background: var(--btn); color: var(--btnink); padding: 12px 18px; border-radius: 999px; transform: translateY(-160%);}
.skip-link:focus {transform: none;}
.ui-check {flex: none;}

/* ---------- Knoepfe und Links ---------- */
.button,.apply-continue-btn {display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 26px; border-radius: 999px; background: var(--btn); color: var(--btnink); font-weight: 500; font-size: 16px; line-height: 1.2; text-align: center; transition: transform .1s ease-out, opacity .2s;}
.button:hover,.apply-continue-btn:hover {opacity: .86;}
.button:active,.apply-continue-btn:active,.global-apply:active {transform: scale(.97);}
.button .ui-arrow,.apply-continue-btn .ui-arrow,.global-apply .ui-arrow {display: none;}
.button.outline,.apply-back-btn {background: var(--tile2); color: var(--ink);}
.apply-back-btn {display: inline-flex; align-items: center; min-height: 50px; padding: 12px 24px; border-radius: 999px; font-weight: 500; font-size: 16px;}
.text-link {display: inline-flex; align-items: center; gap: 5px; font-weight: 500; font-size: 16px; line-height: 1.3; padding-block: 6px; color: var(--ink);}
.text-link:hover {opacity: .7;}
.ui-arrow {width: 15px; height: 15px; flex: none; transition: transform .2s var(--ease);}
.text-link:hover .ui-arrow {transform: translateX(3px);}
.actions {display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px;}

/* ---------- Navigation ---------- */
.global-header {position: fixed; z-index: 40; top: 22px; left: 50%; transform: translateX(-50%); width: min(1208px,calc(100% - 32px));}
.global-shell {position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 18px; height: 60px; padding: 0 10px 0 22px; border-radius: 999px;}
/* Glas auf einer eigenen Ebene: sonst kann das Menue darunter die Seite nicht weichzeichnen */
.global-shell:before {content: ''; position: absolute; z-index: -1; inset: 0; border-radius: inherit; background: var(--nav); -webkit-backdrop-filter: blur(26px) saturate(180%); backdrop-filter: blur(26px) saturate(180%); border: 1px solid var(--navline); box-shadow: 0 10px 34px rgba(0,0,0,.2);}
.global-brand {display: flex; align-items: center; gap: 10px; flex: none; color: var(--ink);}
.brand-mark {width: 25px; height: 30px; flex: none;}
.global-brand span {display: block; font-size: 13px; font-weight: 600; letter-spacing: .14em; line-height: 1;}
.global-brand small {display: block; font-size: 9px; font-weight: 400; letter-spacing: .3em; color: var(--ink2); margin-top: 4px;}
.global-links {display: flex; gap: clamp(14px,2.1vw,30px); font-size: 15px; font-weight: 500; white-space: nowrap;}
.global-links a:hover,.global-language a:hover {opacity: .65;}
.global-actions {display: flex; align-items: center; gap: 14px; flex: none;}
.global-language {display: flex; align-items: center; gap: 7px; font-size: 14px; color: var(--ink2);}
.global-language span {display: none;}
.global-language [aria-current] {color: var(--ink); font-weight: 600;}
.theme-toggle {display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--ink);}
.theme-toggle:hover {background: var(--tile2);}
.theme-toggle svg {width: 18px; height: 18px;}
.theme-toggle .moon {display: none;}
:root:not([data-theme=dark]) .theme-toggle .sun {display: none;}
:root:not([data-theme=dark]) .theme-toggle .moon {display: block;}
@media (prefers-color-scheme: dark) {
 :root:not([data-theme=light]) .theme-toggle .sun {display: block;}
 :root:not([data-theme=light]) .theme-toggle .moon {display: none;}
}
.global-apply {display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: 999px; background: var(--btn); color: var(--btnink); font-size: 15px; font-weight: 500; white-space: nowrap; transition: transform .1s ease-out, opacity .2s;}
.global-apply:hover {opacity: .86;}
.global-apply-short {display: none;}
.ks-menu {display: none; position: static;}
.global-toggle {display: grid; gap: 6px; place-content: center; width: 40px; height: 40px; cursor: pointer; list-style: none;}
.global-toggle::-webkit-details-marker {display: none;}
.global-toggle span {display: block; width: 20px; height: 2px; border-radius: 2px; background: var(--ink); transition: transform .28s var(--ease);}
.ks-menu[open] .global-toggle span:first-child {transform: translateY(4px) rotate(45deg);}
.ks-menu[open] .global-toggle span:last-child {transform: translateY(-4px) rotate(-45deg);}
.global-drawer {position: absolute; top: calc(100% + 8px); left: 0; right: 0; padding: 12px 22px 22px; border-radius: 30px; background: var(--drawer); -webkit-backdrop-filter: blur(30px) saturate(180%); backdrop-filter: blur(30px) saturate(180%); border: 1px solid var(--navline); box-shadow: var(--shadow); transform-origin: 100% 0; animation: sheet-in .34s var(--ease);}
@keyframes sheet-in {from {opacity: 0; transform: scale(.96) translateY(-6px); filter: blur(6px);} to {opacity: 1; transform: none; filter: none;}}
.global-mobile-links a {display: flex; align-items: center; justify-content: space-between; min-height: 52px; font-size: 21px; font-weight: 500; border-bottom: 1px solid var(--line);}
.global-mobile-links a>span {display: none;}
.global-mobile-links .ui-arrow {color: var(--ink2);}
.global-drawer .button {width: 100%; margin-top: 16px;}
.menu-email {display: block; text-align: center; font-size: 14px; color: var(--ink2); padding-top: 14px;}
.drawer-tools {display: flex; align-items: center; justify-content: space-between; padding-top: 14px;}
.menu-open {overflow: hidden;}
@media (max-width: 1100px) {
 .global-links,.global-actions>.global-language,.global-actions>.theme-toggle,.global-apply {display: none;}
 .ks-menu {display: block;}
 .global-shell {height: 54px; padding: 0 8px 0 16px;}
 .global-header {top: 16px;}
}

/* ---------- Hero ---------- */
.hero {--p: 1; --q: 1; text-align: center; padding-top: 102px; display: flex; flex-direction: column;}
.js .hero {--p: 0; --q: 0;}
.hero-copy {position: relative; z-index: 2;}
.hero-category {color: var(--ink2); margin-bottom: 8px;}
.hero h1 em {display: block; color: #636366; color: color-mix(in srgb, #F5F5F7 calc(var(--p)*100%), #636366);}
.hero-description {max-width: 760px; margin: 12px auto 0; font-size: 18px; line-height: 1.42; padding-inline: 20px;}
.hero-actions {display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 18px;}
.hero-response {font-size: 13px; line-height: 1.4; margin-top: 8px;}
.hero-stage {--shield: clamp(380px,54svh,488px); position: relative; height: calc(var(--shield)*.66); margin-top: 10px; z-index: 1;}
.shield {position: absolute; left: 50%; top: calc(var(--shield)*-.21); width: var(--shield); height: var(--shield); max-width: none; margin-left: calc(var(--shield)*-.5); pointer-events: none;}
.shield-on {opacity: var(--p); will-change: opacity;}
.hero-card {position: absolute; display: flex; gap: 12px; align-items: center; border-radius: 20px; padding: 14px 18px 14px 14px; text-align: left; background: rgba(58,58,60,.42); -webkit-backdrop-filter: blur(24px) saturate(160%); backdrop-filter: blur(24px) saturate(160%); border: 1px solid rgba(255,255,255,.13); box-shadow: 0 18px 50px rgba(0,0,0,.45);}
.hero-status {left: calc(50% - 470px); top: 36px; width: max-content; min-width: 264px; white-space: nowrap;}
.hero-avatar {width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(145deg,#8E8E93,#3A3A3C); flex: none;}
.hero-status b {display: block; font-size: 15px; font-weight: 500; line-height: 1.25;}
.hero-status small {display: flex; align-items: center; gap: 7px; font-size: 14px; color: #D1D1D6; line-height: 1.3; margin-top: 3px;}
.dot {display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex: none; background: #30D158; box-shadow: 0 0 10px rgba(48,209,88,.7);}
.is-locked .dot {background: #FF453A; box-shadow: 0 0 10px rgba(255,69,58,.6);}
.hero-result {right: calc(50% - 470px); top: 124px; width: 318px; display: block; opacity: var(--q); transform: scale(calc(.94 + .06*var(--q))); filter: blur(calc((1 - var(--q))*8px)); will-change: opacity,transform;}
.hero-result:hover {border-color: rgba(255,255,255,.3);}
.is-locked .hero-result {pointer-events: none;}
.hero-result-top {display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.3;}
.hero-result-top img {width: 36px; height: 36px; border-radius: 50%; object-fit: cover;}
.hero-result-top small {display: block; font-size: 13px; color: #A1A1A6;}
.hero-result-top .ui-arrow {display: none;}
.ks-hero-quote {font-size: 16px; font-weight: 500; line-height: 1.28; color: var(--ink); margin-top: 9px;}
.hero-result>p:last-child {font-size: 13px; color: #A1A1A6; margin-top: 5px;}
.hero-under {position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; padding: 0 16px 14px;}
.unlock {--k: 1; container-type: inline-size; position: relative; width: min(372px,100%); height: 60px; border-radius: 999px; background: rgba(58,58,60,.5); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); border: 1px solid rgba(255,255,255,.14); overflow: hidden; touch-action: pan-y; -webkit-user-select: none; user-select: none; cursor: pointer;}
.js .unlock {--k: 0;}
.unlock:focus-visible {outline-color: #F5F5F7;}
.unlock-fill {position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.2)); transform: translate3d(calc((var(--k) - 1)*(100cqw - 54px)),0,0);}
.unlock-label {position: absolute; inset: 0; display: grid; place-items: center; font-size: 16px; font-weight: 500; color: #E5E5EA; pointer-events: none;}
.unlock-label span {grid-area: 1/1;}
.unlock-label .l-off {opacity: calc(1 - var(--p)*2.2); padding-left: 44px; color: transparent; background: linear-gradient(90deg,#8E8E93 0%,#8E8E93 40%,#F5F5F7 50%,#8E8E93 60%,#8E8E93 100%) 0 0/250% 100%; -webkit-background-clip: text; background-clip: text; animation: unlock-shine 2.6s linear infinite;}
@keyframes unlock-shine {from {background-position: 100% 0;} to {background-position: -150% 0;}}
.unlock-label .l-on {opacity: calc(var(--p)*2.2 - 1.2);}
.unlock-knob {position: absolute; left: 4px; top: 4px; width: 50px; height: 50px; border-radius: 50%; background: #F5F5F7; color: #000; display: grid; place-items: center; box-shadow: 0 4px 16px rgba(0,0,0,.45); transform: translate3d(calc(var(--k)*(100cqw - 58px)),0,0); cursor: grab; will-change: transform;}
.unlock.is-dragging .unlock-knob {cursor: grabbing;}
.unlock-knob svg {grid-area: 1/1; width: 22px; height: 22px;}
.unlock-knob .k-off {opacity: calc(1 - var(--p)*3);}
.unlock-knob .k-on {opacity: calc(var(--p)*3 - 2);}
.hero-trust {display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 22px; margin-top: 10px; font-size: 14px; color: #D1D1D6;}
.hero-trust li {display: flex; align-items: center; gap: 6px;}
.hero-trust .ui-check {width: 14px; height: 14px; color: #A1A1A6;}
.hero-illustration {margin-top: 3px; font-size: 12px; line-height: 1.4; color: #8E8E93;}
@media (max-width: 1100px) {
 .hero {padding-top: 88px;}
 .hero-stage {--shield: min(470px,120vw); height: calc(var(--shield)*.7); margin-top: 0;}
 .shield {top: calc(var(--shield)*-.165);}
 .hero-status {left: 50%; transform: translateX(-50%); top: auto; bottom: 0; min-width: 240px; padding: 10px 16px 10px 10px;}
 .hero-avatar {width: 36px; height: 36px;}
 .hero-result {display: none;}
 .hero-under {margin-top: 8px; padding-bottom: 24px;}
 .hero-trust {flex-direction: column; align-items: center; margin-top: 14px;}
 .hero-illustration {margin-top: 8px;}
 .hero-description {font-size: 17px; margin-top: 14px;}
}
@media (max-width: 640px) {
 .stage,.application-band {margin: 6px; border-radius: 30px;}
 .hero-actions {flex-direction: column; gap: 12px; margin-top: 20px; padding-inline: 18px;}
 .hero-actions .button {width: 100%; min-height: 54px;}
 .hero-copy h1 {padding-inline: 16px;}
}

/* ---------- Startseite ---------- */
.home-metrics {padding-top: 64px;}
.stats {display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line);}
.stats>div {padding: 26px 24px 26px 0; display: flex; align-items: baseline; gap: 14px; min-width: 0;}
.stats>div+div {padding-left: 28px; border-left: 1px solid var(--line);}
.stats strong {font-size: clamp(32px,3.6vw,52px); font-weight: 600; font-stretch: 87.5%; letter-spacing: -.025em; line-height: 1;}
.stats span {font-size: 15px; line-height: 1.3; color: var(--ink2); max-width: 170px;}
.stats-note {font-size: 13px; line-height: 1.45; border-top: 1px solid var(--line); padding-top: 14px;}
.stats-note a {color: var(--ink); text-decoration: underline; text-underline-offset: 2px;}
.home-sec {padding-top: clamp(72px,9vw,128px);}
.section-heading {display: flex; justify-content: space-between; align-items: flex-end; gap: 60px; margin-bottom: 44px;}
.section-heading>p {max-width: 400px; font-size: 19px; line-height: 1.42;}
.services-grid {display: grid; grid-template-columns: repeat(12,1fr); gap: 16px;}
.service {background: var(--tile); border-radius: var(--r-tile); min-height: 470px; padding: 34px; display: flex; overflow: hidden; position: relative; min-width: 0;}
.service-wide {grid-column: span 7; flex-direction: row; gap: 26px;}
.service-narrow {grid-column: span 5; flex-direction: column; justify-content: space-between; gap: 26px;}
.service-copy h3 {margin-bottom: 12px;}
.service-copy>p {font-size: 16px; line-height: 1.45; max-width: 42ch;}
.service-copy ul {display: flex; flex-wrap: wrap; gap: 6px; margin: 18px 0;}
.service-copy li {font-size: 13px; line-height: 1; padding: 7px 11px; border-radius: 999px; background: var(--tile2); color: var(--ink);}
.service-wide .service-copy {flex: 1; min-width: 0; align-self: flex-end; order: 1;}
.service-wide .service-vis {flex: 0 0 46%; order: 2; position: relative;}
.record {background: var(--tile2); border-radius: var(--r-inner); padding: 16px 18px;}
.stage .record {background: #1C1C1E;}
.record-s {display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 500; color: var(--ink); line-height: 1.2;}
.record-n {display: flex; align-items: baseline; gap: 6px; font-size: 30px; font-weight: 600; font-stretch: 87.5%; letter-spacing: -.018em; line-height: 1.05; margin-top: 12px; color: var(--ink);}
.record-n small {font-size: 13px; font-weight: 400; letter-spacing: 0; font-stretch: 100%; color: var(--ink2);}
.record-d {font-size: 13px; color: var(--ink2); margin-top: 3px;}
.record-stack {position: absolute; left: 0; right: -8px; top: 92px;}
.record-stack .record {position: absolute; left: 0; right: 0; box-shadow: var(--shadow);}
.record-stack .r-a {top: 88px; background: var(--bg);}
.record-stack .r-b {top: 46px; transform: scale(.95); transform-origin: 50% 0;}
.record-stack .r-c {top: 8px; transform: scale(.9); transform-origin: 50% 0; opacity: .8;}
.record-stack .r-b .record-s,.record-stack .r-c .record-s {color: var(--ink2);}
.toggle-row {display: flex; align-items: center; justify-content: space-between; padding: 15px 0; border-bottom: 1px solid var(--line); font-weight: 500; font-size: 16px; color: var(--ink);}
.toggle-row:last-child {border-bottom: 0;}
.toggle-row i {width: 50px; height: 30px; border-radius: 999px; background: var(--green); position: relative; flex: none;}
.toggle-row i:after {content: ''; position: absolute; right: 2px; top: 2px; width: 26px; height: 26px; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px rgba(0,0,0,.25);}
.reach-chart {width: 100%; height: 160px; overflow: visible;}
.badge-vis {display: grid; place-items: center;}
.verified-badge {width: min(210px,100%); height: auto;}
.ks-agency-bridge {display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; margin-top: 22px; color: var(--ink2);}
.ks-agency-bridge a {display: inline-flex; align-items: center; gap: 5px; font-weight: 500; font-size: 16px; color: var(--ink);}

/* Bewertungen */
.ks-testimonials {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px;}
.ks-testimonial {background: var(--tile); border-radius: var(--r-tile); padding: 30px 32px; display: flex; flex-direction: column; gap: 22px; min-width: 0;}
.ks-client {display: flex; align-items: center; gap: 12px; order: 2; margin-top: auto;}
.ks-client-avatar span {display: block; width: 44px; height: 44px; border-radius: 50%; overflow: hidden; background: var(--tile2);}
.ks-client-avatar img {width: 100%; height: 100%; object-fit: cover;}
.ks-client-logo img {background: #000;}
.ks-client-avatar-5 img {object-fit: contain;}
.ks-client-info h3 {font-family: inherit; font-stretch: 100%; font-size: 15px; font-weight: 600; letter-spacing: 0; line-height: 1.3;}
.ks-client-info p {font-size: 15px; line-height: 1.3;}
.ks-testimonial-quote {font-size: 19px; line-height: 1.36; letter-spacing: -.004em; color: var(--ink);}
.ks-translation-label {font-size: 13px; margin-bottom: -12px;}
.ks-review-original {order: 1; font-size: 14px;}
.ks-review-original summary {cursor: pointer; font-weight: 500; color: var(--ink);}
.ks-review-original blockquote {margin-top: 10px; color: var(--ink2); line-height: 1.45;}
.reviews-home .ks-testimonials {grid-template-columns: 7fr 5fr;}
.reviews-home .ks-testimonial:first-child {grid-row: span 2; display: grid; grid-template-columns: 44% 1fr; grid-template-rows: 1fr auto; padding: 0; overflow: hidden; gap: 0; min-height: 560px;}
.ks-feature-photo {grid-row: 1/-1; min-height: 100%; position: relative;}
.ks-feature-photo img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%;}
.reviews-home .ks-testimonial:first-child .ks-testimonial-quote {grid-column: 2; padding: 38px 36px 0; font-size: 26px; line-height: 1.2; font-weight: 500; font-stretch: 87.5%; letter-spacing: -.014em;}
.reviews-home .ks-testimonial:first-child .ks-client {grid-column: 2; padding: 26px 36px 38px;}
.reviews-home .ks-testimonial:first-child .ks-client-avatar {display: none;}
.reviews-home .ks-testimonial:first-child .ks-translation-label {grid-column: 2; padding: 38px 36px 0; margin: 0 0 -26px;}
.reviews-home .ks-testimonial:first-child .ks-review-original {grid-column: 2; padding: 14px 36px 0;}
.results-note {font-size: 13px; line-height: 1.45; margin-top: 18px; max-width: 70ch;}
.ks-vouches-link {gap: 8px; margin-top: 12px;}
.ks-vouches-link>svg:first-child {width: 18px; height: 18px;}
.ks-review-more {margin-top: 2px;}

/* Ablauf */
.process {display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start;}
.process-head {position: sticky; top: 118px;}
.rail li {position: relative; display: flex; gap: 26px; padding-bottom: 50px; color: var(--ink2);}
.rail li:last-child {padding-bottom: 0;}
.rail li:before {content: ''; position: absolute; left: 21px; top: 44px; bottom: 0; width: 2px; background: var(--line);}
.rail li:last-child:before {display: none;}
.rail li:after {content: ''; position: absolute; left: 21px; top: 44px; bottom: 0; width: 2px; background: var(--ink); transform: scaleY(var(--fill,1)); transform-origin: 0 0;}
.rail li:last-child:after {display: none;}
.rail-node {width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--ink); background: var(--ink); color: var(--bg); display: grid; place-items: center; font-weight: 600; flex: none; transition: background-color .25s, color .25s, border-color .25s;}
.rail-meta {font-size: 14px; font-weight: 500; margin-bottom: 6px;}
.rail h3 {color: var(--ink); margin-bottom: 8px; transition: color .25s;}
.rail li>div>p:last-child {max-width: 52ch;}
.rail li.is-next .rail-node {background: transparent; border-color: var(--line); color: var(--ink2);}
.rail li.is-next h3 {color: var(--ink2);}

/* Ueber uns + Archiv */
.about-stage {margin-top: clamp(72px,9vw,128px); padding: 72px 0 56px;}
.about-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;}
.about-stage .about-grid {width: min(1200px,calc(100% - 40px)); margin-inline: auto;}
.about-copy h2 {margin-bottom: 18px;}
.about-copy>p:not(.eyebrow) {font-size: 19px; line-height: 1.42; margin-bottom: 18px;}
.about-image {position: relative; border-radius: 22px; overflow: hidden; background: #111;}
.about-image img {width: 100%;}
.about-image>span,.about-image>div {position: absolute; left: 18px; right: 18px; bottom: 14px; display: flex; justify-content: space-between; font-size: 12px; color: #E5E5EA;}
.ks-evidence-bridge {width: min(1200px,calc(100% - 40px)); margin: 64px auto 28px; display: flex; justify-content: space-between; align-items: flex-end; gap: 60px;}
.ks-evidence-bridge h3 {margin-bottom: 10px;}
.ks-evidence-bridge p {max-width: 640px; font-size: 15px; line-height: 1.45;}
.ks-evidence-bridge .text-link {flex: none;}
.wall {overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image: linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); cursor: grab;}
.wall::-webkit-scrollbar {display: none;}
.wall.is-dragging {cursor: grabbing; scroll-behavior: auto;}
.wall-row {display: flex; gap: 12px; width: max-content; padding-inline: 40px;}
.wall-row+.wall-row {margin-top: 12px; padding-left: 0;}
.wall .record {width: 232px; flex: none;}

/* Preis */
.home-pricing {display: grid; grid-template-columns: 5fr 7fr; gap: 60px; align-items: center; padding-top: clamp(72px,9vw,128px);}
.home-pricing h2 {margin-bottom: 18px;}
.home-pricing h2 em {display: block;}
.home-pricing-copy {font-size: 19px; line-height: 1.42;}
.home-pricing-actions {display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 26px;}
.calc {background: var(--tile); border-radius: var(--r-tile); padding: 36px;}
.calc-top {display: flex; justify-content: space-between; align-items: baseline; gap: 16px; font-size: 15px; color: var(--ink2);}
.calc-top output {font-size: 24px; font-weight: 600; font-stretch: 87.5%; letter-spacing: -.012em; color: var(--ink); text-align: right;}
.calc-range {--v: 16.67; position: relative; height: 36px; margin-top: 16px;}
.calc-track {position: absolute; left: 0; right: 0; top: 14px; height: 8px; border-radius: 999px; background: var(--tile2); overflow: hidden;}
.calc-fill {display: block; height: 100%; width: 100%; background: var(--ink); border-radius: inherit; transform-origin: 0 0; transform: scaleX(calc(var(--v)/100));}
.calc-knob {position: absolute; top: 0; left: calc((100% - 36px)*var(--v)/100); width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 1px solid rgba(0,0,0,.08); box-shadow: 0 3px 12px rgba(0,0,0,.28); pointer-events: none;}
.calc-range input {position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: grab; touch-action: pan-y;}
.calc-range input:active {cursor: grabbing;}
.calc-range input:focus-visible~.calc-knob {outline: 2px solid var(--ink); outline-offset: 3px;}
.calc-ticks {position: relative; height: 20px; margin-top: 6px; font-size: 13px; color: var(--ink2);}
.calc-ticks span {position: absolute; transform: translateX(-50%); white-space: nowrap;}
.calc-ticks span:first-child {transform: none;}
.calc-ticks span:last-child {transform: translateX(-100%);}
.calc-prices {display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px 0 16px;}
.calc-prices>div {background: var(--bg); border-radius: var(--r-inner); padding: 18px 20px; min-width: 0;}
.calc-prices dt {font-size: 15px; color: var(--ink2);}
.calc-prices dd {display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; font-size: clamp(38px,4vw,52px); font-weight: 600; font-stretch: 87.5%; letter-spacing: -.025em; line-height: 1.1; margin-top: 6px; font-variant-numeric: tabular-nums;}
.calc-prices dd.is-text {font-size: 28px; line-height: 1.3;}
.calc-prices small {font-size: 15px; font-weight: 500; letter-spacing: 0; font-stretch: 100%; color: var(--ink2);}
.calc-note {font-size: 15px; line-height: 1.42; color: var(--ink); border-left: 2px solid var(--ink); padding-left: 12px;}
.calc-date {font-size: 13px; line-height: 1.4; margin-top: 12px;}
.no-js-hide {display: none;}
.js .no-js-hide {display: block;}

/* FAQ */
.faq-grid {display: grid; grid-template-columns: 5fr 7fr; gap: 60px; align-items: start;}
.faq-grid h2 {margin-bottom: 18px;}
.faq-grid>div:first-child>p:not(.eyebrow) {font-size: 19px; line-height: 1.42; margin-bottom: 14px;}
.faq-item {border-bottom: 1px solid var(--line);}
.faq-item:first-child,.service-faq h2+.faq-item {border-top: 1px solid var(--line);}
.faq-item summary {display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0; font-size: 19px; font-weight: 500; line-height: 1.3; cursor: pointer; list-style: none; color: var(--ink);}
.faq-item summary::-webkit-details-marker {display: none;}
.ui-plus {flex: none; width: 20px; height: 20px; color: var(--ink2); transition: transform .3s var(--ease);}
.faq-item[open] .ui-plus {transform: rotate(45deg);}
.faq-item>p {padding: 0 40px 22px 0; line-height: 1.5;}


/* Kontakt */
.application-band {margin-top: clamp(64px,7vw,100px); padding: 96px 0;}
#apply {width: min(1200px,calc(100% - 40px)); margin-inline: auto; display: grid; grid-template-columns: 5fr 6fr; column-gap: 80px; align-content: center;}
#apply>* {grid-column: 1;}
.contact-mark {width: 200px; max-width: none; margin: -66px 0 -10px -52px;}
.section-tag {margin-bottom: 14px;}
.section-title {margin-bottom: 18px;}
.apply-intro {color: #D1D1D6; font-size: 19px; line-height: 1.42; margin-bottom: 26px;}
.ks-contact-options {display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px;}
.apply-contact-alternative {font-size: 14px; margin-top: 18px;}
.apply-contact-alternative a {color: #D1D1D6; text-decoration: underline; text-underline-offset: 2px;}
#apply .apply-shell {grid-column: 2; grid-row: 1/span 8; align-self: center;}
.apply-shell {border-radius: 30px; padding: 30px; background: rgba(58,58,60,.42); -webkit-backdrop-filter: blur(24px) saturate(160%); backdrop-filter: blur(24px) saturate(160%); border: 1px solid rgba(255,255,255,.13); box-shadow: 0 18px 50px rgba(0,0,0,.45); color: var(--ink);}
.apply-step-meta {display: flex; justify-content: space-between; gap: 16px; font-size: 14px; color: #D1D1D6;}
.apply-step-meta b {font-weight: 500;}
.apply-progress-track {height: 4px; border-radius: 999px; background: rgba(255,255,255,.14); margin: 12px 0 18px; overflow: hidden;}
.apply-progress-fill {height: 100%; border-radius: 999px; background: var(--ink); transition: width .4s var(--ease);}
.apply-field-hint {display: block; font-size: 14px; line-height: 1.42; color: var(--ink2);}
.ks-form-step {border: 0; padding: 0; margin: 20px 0 0; min-width: 0;}
.ks-form-step legend {font-size: 24px; font-weight: 600; font-stretch: 87.5%; letter-spacing: -.012em; margin-bottom: 16px; padding: 0;}
.ks-form-step legend:focus {outline: none;}
.apply-input-wrap {display: block; margin-bottom: 16px;}
.apply-field-label {display: block; font-size: 15px; font-weight: 500; margin-bottom: 7px;}
.apply-input,.apply-textarea {display: block; width: 100%; min-height: 54px; padding: 14px 18px; border-radius: 14px; background: rgba(0,0,0,.42); border: 1px solid rgba(255,255,255,.14); font-size: 17px; line-height: 1.3; color: var(--ink);}
.apply-input:focus,.apply-textarea:focus {outline: 2px solid #F5F5F7; outline-offset: 0;}
.apply-input::placeholder,.apply-textarea::placeholder {color: #8E8E93;}
select.apply-input {appearance: none; -webkit-appearance: none; padding-right: 44px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23A1A1A6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M3.500 6l4.500 4.500L12.500 6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center;}
select.apply-input option {background: #1C1C1E; color: #F5F5F7;}
.apply-textarea {resize: vertical; min-height: 140px;}
.input-hint,.apply-input-wrap .apply-field-hint {margin-top: 7px;}
.appeal-field {margin-top: 2px;}
.appeal-price-hint {margin: -8px 0 8px;}
.apply-price-link {font-size: 14px; color: #D1D1D6; text-decoration: underline; text-underline-offset: 2px;}
.apply-consent {display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.4; color: #D1D1D6; margin: 4px 0;}
.apply-consent input {width: 20px; height: 20px; flex: none; margin-top: 1px; accent-color: #F5F5F7;}
.apply-consent a {text-decoration: underline; text-underline-offset: 2px;}
.apply-nav {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: 18px;}
.apply-nav [data-next],.apply-nav [data-submit] {margin-left: auto;}
.apply-continue-btn {background: var(--btn); color: var(--btnink);}
.apply-back-btn {background: rgba(255,255,255,.1);}
.form-status {font-size: 14px; color: #FFD60A; margin-top: 14px;}
.form-status:empty {margin: 0;}
.honeypot {display: none !important;}
.knowledge-section {margin-top: clamp(64px,7vw,100px);}
.blog-bridge {padding: 34px 0; border-block: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 60px;}
.blog-bridge h3 {margin-bottom: 8px;}
.blog-bridge p {font-size: 16px; max-width: 72ch;}
.blog-bridge .text-link {flex: none;}

/* ---------- Footer ---------- */
.global-footer {width: min(1200px,calc(100% - 40px)); margin: 0 auto; padding: 72px 0 44px; font-size: 15px;}
.global-footer h2 {font-size: 15px; font-weight: 600; font-stretch: 100%; letter-spacing: 0; line-height: 1.3; margin-bottom: 12px;}
.global-footer-main {display: grid; grid-template-columns: 6fr 3fr 3fr; gap: 40px;}
.global-footer-main>div:first-child>p {max-width: 42ch; margin-top: 18px; line-height: 1.45;}
.global-social {display: flex; gap: 8px; margin-top: 16px;}
.global-social a {display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--tile2);}
.global-social svg {width: 20px; height: 20px;}
.global-footer-links a,.global-footer-contact>a {display: block; color: var(--ink2); padding: 4px 0;}
.global-footer-links a:hover,.global-footer-contact>a:hover,.global-resource-group a:hover,.global-legal a:hover {color: var(--ink);}
.global-footer-contact>a {display: flex; align-items: center; gap: 6px; overflow-wrap: anywhere;}
.global-footer-contact .ui-arrow {width: 12px; height: 12px;}
.global-resources {margin-top: 36px; border-block: 1px solid var(--line);}
.global-resources summary {display: flex; align-items: center; gap: 16px; min-height: 60px; cursor: pointer; list-style: none; font-size: 15px;}
.global-resources summary::-webkit-details-marker {display: none;}
.global-resources summary>span:first-child {font-weight: 600;}
.global-resources summary>span:nth-child(2) {color: var(--ink2);}
.global-resources summary:after {content: '+'; margin-left: auto; font-size: 22px; color: var(--ink2); line-height: 1;}
.global-resources[open] summary:after {content: '\2212';}
.global-resource-grid {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; padding: 8px 0 28px;}
.global-resource-group a {display: inline-block; padding-block: 4px; color: var(--ink2); line-height: 1.35;}
.global-footer-bottom {display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 20px; font-size: 13px;}
.global-legal {display: flex; flex-wrap: wrap; gap: 6px 20px; color: var(--ink2);}
.ks-footer-note {font-size: 13px; line-height: 1.5; margin-top: 8px; max-width: 80ch;}

/* ---------- Unterseiten ---------- */
.breadcrumbs {display: flex; flex-wrap: wrap; gap: 4px 8px; padding-top: 108px; font-size: 14px; color: var(--ink2);}
.breadcrumbs a:hover {color: var(--ink);}
.breadcrumbs [aria-current] {color: var(--ink);}
.page-hero {padding: 32px 0 56px; max-width: 920px;}
.page-hero h1 {margin-bottom: 18px;}
.lead {font-size: clamp(18px,1.6vw,21px); line-height: 1.4; max-width: 62ch;}
.page-hero .actions {margin-top: 26px;}
.accent {color: var(--ink2);}
.section {padding-block: clamp(56px,6vw,88px);}
.section-head {display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 30px;}
.section-head p {max-width: 56ch;}
.light-section {background: transparent;}
.small {font-size: 14px; line-height: 1.45; color: var(--ink2);}

/* Fliesstext */
.prose {min-width: 0;}
.prose>*+* {margin-top: 18px;}
.prose h2 {font-size: clamp(27px,2.6vw,36px); line-height: 1.12; letter-spacing: -.018em; margin-top: 44px; scroll-margin-top: 104px;}
.prose h3 {font-size: clamp(20px,1.8vw,24px); line-height: 1.2; margin-top: 28px;}
.prose section {margin-top: 44px;}
.prose section>*+* {margin-top: 16px;}
.prose section h2 {margin-top: 0;}
.prose p,.prose li,.prose dd {line-height: 1.58; color: var(--ink2);}
.prose ul,.prose ol {padding-left: 22px; list-style: disc;}
.prose ol {list-style: decimal;}
.prose li+li {margin-top: 8px;}
.prose a:not(.button):not(.text-link) {color: var(--ink); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px;}
.prose a:not(.button):not(.text-link):hover {text-decoration-color: currentColor;}
.prose strong,.prose b {color: var(--ink); font-weight: 600;}
.prose img {border-radius: var(--r-inner);}
.legal-prose {max-width: 860px; padding-bottom: 64px;}
.wrap.legal-prose {width: min(860px,calc(100% - 40px)); margin-left: max(20px,calc((100% - 1200px)/2)); margin-right: auto;}
.answer-box {background: var(--tile); border-radius: var(--r-tile); padding: 28px 30px; margin-bottom: 8px;}
.answer-box h2 {font-size: 22px; letter-spacing: -.01em; line-height: 1.2; margin: 0 0 10px;}
.answer-box p+p {margin-top: 10px;}
.article-layout {display: grid; grid-template-columns: 230px minmax(0,780px); gap: 65px; justify-content: space-between; padding-bottom: 90px;}
.article-aside {position: sticky; top: 104px; align-self: start;}
.article-aside h2 {font-size: 15px; font-weight: 600; font-stretch: 100%; letter-spacing: 0; line-height: 1.3; margin-bottom: 12px;}
.article-aside a {display: block; font-size: 14px; line-height: 1.35; padding: 6px 0; color: var(--ink2);}
.article-aside a:hover {color: var(--ink);}
.article-toc-mobile {display: none; background: var(--tile); border-radius: var(--r-inner); padding: 4px 18px;}
.article-toc-mobile summary {display: flex; justify-content: space-between; align-items: center; min-height: 50px; font-weight: 500; cursor: pointer; list-style: none; color: var(--ink);}
.article-toc-mobile summary::-webkit-details-marker {display: none;}
.article-toc-mobile nav {padding-bottom: 12px;}
.article-toc-mobile a {display: block; padding: 7px 0; font-size: 15px; color: var(--ink2);}
.article-meta {font-size: 13px; line-height: 1.5;}
.article-cta {background: var(--tile); border-radius: var(--r-tile); padding: 30px; margin-top: 38px;}
.article-cta h2 {font-size: clamp(24px,2.2vw,30px); margin: 0 0 12px;}
.article-cta .button {margin-top: 16px; text-decoration: none;}
.source-list {margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--line);}
.source-list h2 {font-size: 22px; margin-top: 0;}
.source-list ul {margin-top: 12px;}
.source-list li {font-size: 15px;}
.ks-resource-note {background: var(--tile); border-radius: var(--r-inner); padding: 22px 24px; margin-top: 32px;}
.ks-resource-note h2 {font-size: 20px; margin: 0 0 6px;}
.guide-examples {margin-top: 36px;}
.guide-screen-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 14px;}
.guide-screen-grid figure {background: var(--tile); border-radius: var(--r-inner); overflow: hidden; margin: 0;}
.guide-screen-grid figcaption {padding: 12px 16px; font-size: 14px; line-height: 1.4; color: var(--ink2);}

/* Leistungsseiten */
.service-detail-grid {display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 56px; padding-bottom: 64px;}
.service-summary {position: sticky; top: 104px; align-self: start; background: var(--tile); border-radius: var(--r-tile); padding: 28px;}
.service-summary h2 {font-size: 24px; letter-spacing: -.014em; margin-bottom: 14px;}
.service-summary dt {font-size: 14px; color: var(--ink2); margin-top: 16px;}
.service-summary dd {margin: 3px 0 0; font-size: 16px; line-height: 1.4; font-weight: 500;}
.service-summary dd a {text-decoration: underline; text-underline-offset: 3px;}
.service-summary .button {width: 100%; margin-top: 22px;}
.service-faq {margin-top: 44px;}
.service-faq h2 {margin: 0 0 18px;}
.service-faq .faq-item>p {margin: 0;}

/* Karten fuer Ratgeber */
.blog-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px;}
.blog-card {background: var(--tile); border-radius: var(--r-tile); padding: 28px; display: flex; flex-direction: column; align-items: flex-start; min-width: 0;}
.blog-number {display: none;}
.blog-card .eyebrow {font-size: 14px; margin-bottom: 10px;}
.blog-card h3 {font-size: 23px; line-height: 1.15; margin-bottom: 12px;}
.blog-card h3 a:hover {opacity: .7;}
.blog-card p {font-size: 15px; line-height: 1.45; margin-bottom: 18px;}
.blog-card .text-link {margin-top: auto; font-size: 15px;}
.guide-group {margin-top: 64px;}
.guide-count {font-size: 14px; color: var(--ink2); white-space: nowrap;}
.guide-topics {display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px;}
.guide-topics a {display: inline-flex; align-items: center; gap: 4px; font-size: 14px; padding: 8px 14px; border-radius: 999px; background: var(--tile2);}
.guide-topics .ui-arrow {width: 12px; height: 12px;}
.ks-resource-callout {background: var(--tile); border-radius: var(--r-tile); padding: 30px 32px; display: flex; align-items: center; justify-content: space-between; gap: 40px;}
.ks-resource-callout h2 {font-size: clamp(25px,2.6vw,34px); margin-bottom: 8px;}
.ks-resource-callout .button {flex: none;}

/* Preisseite */
.pricing-content {padding-bottom: 64px;}
.price-date {font-size: 14px; margin-bottom: 18px;}
.ks-price-scope h2 {font-size: 22px;}
.ks-price-scope p+p {margin-top: 8px;}
.ks-price-scope strong {color: var(--ink); font-weight: 600;}
.price-section {margin-top: 64px;}
.price-section>h2,.price-section .section-heading h2 {margin-bottom: 12px;}
.price-section .section-heading {margin-bottom: 20px;}
.price-section .eyebrow {margin-bottom: 8px;}
.price-section>p {max-width: 72ch;}
.price-table {width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 20px; font-variant-numeric: tabular-nums;}
.price-table caption {text-align: left; font-size: 14px; color: var(--ink2); padding-bottom: 10px;}
.price-table th,.price-table td {text-align: left; padding: 14px 20px; border-bottom: 1px solid var(--line); font-size: 16px; line-height: 1.3; font-weight: 400; background: var(--tile);}
.price-table thead th:first-child {border-top-left-radius: var(--r-inner);}
.price-table thead th:last-child {border-top-right-radius: var(--r-inner);}
.price-table tbody tr:last-child>:first-child {border-bottom-left-radius: var(--r-inner);}
.price-table tbody tr:last-child>:last-child {border-bottom-right-radius: var(--r-inner);}
.price-table thead th {font-size: 14px; color: var(--ink2); font-weight: 500;}
.price-table tbody th {font-weight: 500; color: var(--ink);}
.price-table tr:last-child th,.price-table tr:last-child td {border-bottom: 0;}
.price-table small {display: block; font-size: 13px; color: var(--ink2); font-weight: 400;}
.currency {font-size: 13px; color: var(--ink2);}
.price-section .actions {margin-top: 22px;}
.package-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 16px;}
.package-panel {min-width: 0;}
.package-panel h3 {margin: 16px 0 0;}
.price-conditions {background: var(--tile); border-radius: var(--r-inner); padding: 22px 24px; margin-top: 18px;}
.price-conditions h3 {font-size: 20px; margin-bottom: 6px;}

/* Bewertungen, Archiv */
.ks-proof-note {font-size: 13px; line-height: 1.45; margin-top: 14px;}
.ks-archive-intro {max-width: 72ch;}
.ks-archive-tools {display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 18px 0;}
.ks-archive-tools select {min-height: 44px; padding: 8px 14px; border-radius: 12px; background: var(--tile); border: 1px solid var(--line);}
.ks-month-nav {display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 24px;}
.ks-month-nav a {font-size: 14px; padding: 7px 13px; border-radius: 999px; background: var(--tile2);}
.ks-proof-month {border-top: 1px solid var(--line); scroll-margin-top: 104px;}
.ks-proof-month>summary {display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 60px; cursor: pointer; font-size: 19px; font-weight: 500; list-style: none; color: var(--ink);}
.ks-proof-month>summary::-webkit-details-marker {display: none;}
.ks-proof-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 8px 0 28px;}
.ks-proof-card {background: var(--tile); border-radius: var(--r-inner); padding: 16px; min-width: 0; scroll-margin-top: 104px;}
.ks-proof-top {display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 13px; color: var(--ink2); margin-bottom: 12px;}
.ks-proof-top span:last-child {display: inline-flex; align-items: center; gap: 5px; color: var(--green); font-weight: 500;}
.ks-proof-top .ui-check {width: 14px; height: 14px;}
.ks-proof-image {display: block; position: relative; border-radius: 12px; overflow: hidden; background: #000;}
.ks-proof-image img {width: 100%;}
.ks-proof-image span {display: flex; align-items: center; gap: 4px; padding: 8px 10px; font-size: 12px; color: #D1D1D6; background: #1C1C1E;}
.ks-proof-image .ui-arrow {width: 12px; height: 12px;}
.ks-proof-meta {display: flex; justify-content: space-between; gap: 10px; font-size: 13px; line-height: 1.35; color: var(--ink2); margin-top: 10px;}

/* Checkliste */
.ks-case-routes {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 18px;}
.ks-case-routes article {background: var(--tile); border-radius: var(--r-inner); padding: 20px 22px;}
.ks-case-routes .eyebrow {display: none;}
.ks-case-routes h3 {font-size: 19px; margin: 0 0 8px;}
.prose .ks-checklist {list-style: none; padding-left: 0;}
.ks-checklist label {display: flex; gap: 10px; align-items: flex-start;}
.ks-checklist input {width: 20px; height: 20px; flex: none; margin-top: 2px; accent-color: var(--ink);}
.ks-checklist li {padding: 12px 0; border-bottom: 1px solid var(--line); margin: 0;}
.ks-case-template {background: var(--tile); border-radius: var(--r-inner); padding: 20px 22px; white-space: pre-wrap;}
.notfound {padding: 140px 0 80px; text-align: center;}
.notfound h1 {margin-bottom: 16px;}
.notfound p {max-width: 60ch; margin-inline: auto;}
.notfound .actions {justify-content: center; margin-top: 24px;}

/* ---------- Tablet und Handy ---------- */
@media (max-width: 1100px) {
 .ks-testimonials,.blog-grid,.ks-proof-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
 .reviews-home .ks-testimonials {grid-template-columns: repeat(2,minmax(0,1fr));}
 .reviews-home .ks-testimonial:first-child {grid-column: 1/-1; grid-row: auto; min-height: 420px;}
 .service-wide,.service-narrow {grid-column: span 6; flex-direction: column; justify-content: space-between;}
 .service-wide .service-copy {flex: none; align-self: auto; order: 2;}
 .service-wide .service-vis {flex: none; order: 1; min-height: 210px;}
 .record-stack {right: 0; top: 0;}
 #apply {grid-template-columns: 1fr 1fr; column-gap: 40px;}
 .home-pricing {grid-template-columns: 1fr; gap: 28px;}
 .faq-grid,.process,.about-grid {gap: 40px;}
 .article-layout {grid-template-columns: 190px minmax(0,1fr); gap: 40px;}
 .service-detail-grid {grid-template-columns: minmax(0,1fr) 300px; gap: 36px;}
 .global-resource-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media (max-width: 860px) {
 html {scroll-padding-top: 84px;}
 .section-heading,.section-head,.ks-evidence-bridge {display: block; margin-bottom: 24px;}
 .section-heading>p,.section-head p {font-size: 17px; margin-top: 12px; max-width: none;}
 .ks-evidence-bridge {margin: 44px 20px 20px; width: auto;}
 .ks-evidence-bridge .text-link {margin-top: 10px;}
 .stats>div {flex-direction: column; gap: 6px; padding: 18px 10px 18px 0;}
 .stats>div+div {padding-left: 12px;}
 .stats span {font-size: 12px;}
 /* Wischbare Karten */
 .services-grid,.reviews-home .ks-testimonials {display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: -20px; padding-inline: 20px; scroll-padding-inline: 20px; scrollbar-width: none;}
 .services-grid::-webkit-scrollbar,.reviews-home .ks-testimonials::-webkit-scrollbar {display: none;}
 .service,.service-wide,.service-narrow {flex: 0 0 min(82vw,320px); min-height: 520px; padding: 24px; scroll-snap-align: start; flex-direction: column; justify-content: space-between;}
 .verified-badge {width: 170px;}
 .record-stack .r-a {top: 82px;} .record-stack .r-b {top: 42px;} .record-stack .r-c {top: 6px;}
 .reviews-home .ks-testimonial,.reviews-home .ks-testimonial:first-child {flex: 0 0 min(82vw,320px); scroll-snap-align: start; padding: 24px; min-height: 0;}
 .reviews-home .ks-testimonial:first-child {display: flex; flex-direction: column; padding: 0; gap: 0;}
 .ks-feature-photo {height: 220px; min-height: 0; flex: none;}
 .reviews-home .ks-testimonial:first-child .ks-testimonial-quote {padding: 24px 24px 0; font-size: 21px;}
 .reviews-home .ks-testimonial:first-child .ks-client {padding: 20px 24px 24px;}
 .reviews-home .ks-testimonial:first-child .ks-translation-label {padding: 24px 24px 0; margin: 0 0 -16px;}
 .reviews-home .ks-testimonial:first-child .ks-review-original {padding: 12px 24px 0;}
 .ks-testimonials,.blog-grid,.ks-proof-grid,.ks-case-routes,.package-grid,.guide-screen-grid {grid-template-columns: minmax(0,1fr);}
 .process,.about-grid,.faq-grid {display: block;}
 .process-head {position: static; margin-bottom: 28px;}
 .rail li {gap: 16px; padding-bottom: 34px;}
 .rail li:before,.rail li:after {left: 17px; top: 36px;}
 .rail-node {width: 36px; height: 36px; font-size: 15px;}
 .about-stage {padding: 48px 0 36px;}
 .about-image {margin-top: 24px;}
 .about-copy>p:not(.eyebrow),.home-pricing-copy,.faq-grid>div:first-child>p:not(.eyebrow),.apply-intro {font-size: 17px;}
 .wall-row {padding-inline: 20px;}
 .wall .record {width: 200px;}
 .home-pricing-actions {flex-direction: column; align-items: stretch; text-align: center; gap: 8px;}
 .home-pricing-actions .text-link {justify-content: center;}
 .calc {padding: 22px;}
 .calc-top {display: block;}
 .calc-top output {display: block; text-align: left; font-size: 22px; margin-top: 2px;}
 .calc-prices {grid-template-columns: minmax(0,1fr); gap: 8px;}
 .calc-prices dd {font-size: 44px;}
 .faq-list,.faq-grid>div:last-child {margin-top: 24px;}
 .faq-item summary {font-size: 17px; padding: 18px 0;}
 .application-band {padding: 52px 0 14px;}
 #apply {display: block; width: auto; margin: 0 14px;}
 #apply>:not(.apply-shell):not(.contact-mark) {margin-inline: 6px;}
 .contact-mark {width: 170px; margin: -46px 0 -8px -36px;}
 .ks-contact-options {flex-direction: column; align-items: stretch; text-align: center; gap: 8px;}
 .ks-contact-options .text-link {justify-content: center;}
 #apply .apply-shell {margin-top: 28px; padding: 20px; border-radius: 24px;}
 .apply-contact-alternative {text-align: center; padding-bottom: 12px; overflow-wrap: anywhere;}
 .apply-nav>.apply-continue-btn {width: 100%; margin-left: 0;}
 .apply-back-btn {width: 100%; justify-content: center;}
 .blog-bridge {display: block; padding: 28px 0;}
 .blog-bridge .text-link {margin-top: 12px;}
 .global-footer {padding: 44px 0 32px;}
 .global-footer-main {display: block;}
 .global-footer-main>*+* {margin-top: 28px;}
 .global-resources summary>span:nth-child(2) {display: none;}
 .global-footer-bottom {display: block;}
 .global-legal {margin-top: 10px;}
 .breadcrumbs {padding-top: 88px;}
 .page-hero {padding: 24px 0 36px;}
 .article-layout,.service-detail-grid {display: block;}
 .article-aside {display: none;}
 .article-toc-mobile {display: block;}
 .service-summary {position: static; margin-top: 36px;}
 .ks-resource-callout {display: block; padding: 24px;}
 .ks-resource-callout .button {margin-top: 16px; width: 100%;}
 .price-table th,.price-table td {padding: 12px 12px; font-size: 15px;}
 .ks-proof-meta {flex-wrap: wrap;}
}
@media (max-width: 400px) {
 .price-table th,.price-table td {padding: 10px 8px; font-size: 14px;}
 .price-table tbody th {overflow-wrap: anywhere;}
 .global-brand span {font-size: 12px;}
}

/* ---------- Bewegung, Transparenz, Kontrast, Druck ---------- */
.theme-fade,.theme-fade * {transition: background-color .25s ease, color .25s ease, border-color .25s ease !important;}
@media (prefers-reduced-motion: reduce) {
 html {scroll-behavior: auto;}
 *,:before,:after {animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important;}
}
@media (prefers-reduced-transparency: reduce) {
 .global-shell:before,.global-drawer {-webkit-backdrop-filter: none; backdrop-filter: none; background: var(--tile);}
 .hero-card,.unlock,.apply-shell {-webkit-backdrop-filter: none; backdrop-filter: none; background: #1C1C1E;}
}
@media (prefers-contrast: more) {
 :root {--line: currentColor;}
 p,.eyebrow,.section-tag {color: var(--ink);}
 .global-shell:before {background: var(--tile); border-color: var(--ink);}
}
@media print {
 .global-header,.global-footer,.skip-link,.application-band,.article-aside,.article-toc-mobile,.article-cta,.ks-resource-note,[data-print-checklist] {display: none !important;}
 body {background: #fff; color: #000;}
 p,li,.prose p,.prose li {color: #000;}
 .breadcrumbs {padding-top: 0;}
 .answer-box,.ks-case-routes article,.ks-case-template {background: none; border: 1px solid #999;}
}
.section-space {padding-top: clamp(72px,9vw,128px);}
h1,h2,h3 {text-wrap: balance;}
h1,h2,h3,.prose p,.prose li,.prose td,.global-footer a {overflow-wrap: break-word;}
@media (max-width: 640px) {
 h1,h2,h3 {-webkit-hyphens: auto; hyphens: auto;}
}

.price-section>.button {margin-top: 22px;}
.ks-metrics+.prose {margin-top: 24px;}
.ks-proof-month>summary>:first-child {margin-right: auto;}
.ks-archive-intro strong {display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; font-size: clamp(38px,4vw,52px); font-weight: 600; font-stretch: 87.5%; letter-spacing: -.025em; line-height: 1.05; color: var(--ink); margin-bottom: 8px;}
.ks-archive-intro strong span {font-size: 17px; font-weight: 500; font-stretch: 100%; letter-spacing: 0;}
.ks-proof-month[open] .ui-plus,.article-toc-mobile[open] .ui-plus {transform: rotate(45deg);}

/* Screenshot im Formular */
.shot-field {margin-bottom: 16px;}
.shot-drop {position: relative; display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 10px 18px 10px 10px; border-radius: 14px; background: rgba(0,0,0,.42); border: 1px dashed rgba(255,255,255,.3); cursor: pointer; transition: border-color .2s, background-color .2s;}
.shot-drop:hover {border-color: rgba(255,255,255,.55);}
.shot-drop:focus-within {outline: 2px solid #F5F5F7; outline-offset: 0;}
.shot-drop input {position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer;}
.shot-drop img {width: 56px; height: 56px; border-radius: 10px; object-fit: cover; flex: none;}
.shot-text {display: block; min-width: 0; padding-left: 8px;}
.shot-drop img:not([hidden])+.shot-text {padding-left: 0;}
.shot-text b {display: block; font-weight: 500; font-size: 16px; line-height: 1.3;}
.shot-text small {display: block; font-size: 13px; color: var(--ink2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.shot-remove {font-size: 14px; color: #D1D1D6; text-decoration: underline; text-underline-offset: 2px; padding: 8px 0 0;}
.shot-field .apply-field-hint {margin-top: 7px;}
.shot-error {display: block; margin-top: 7px; font-size: 14px; line-height: 1.4; color: #FFD60A;}

/* Euro neben USD, deutsche Preisseite */
.eur {font-size: .82em; font-weight: 400; color: var(--ink2); white-space: nowrap;}
.eur-block {display: block; font-size: 13px; line-height: 1.35; margin-top: 2px;}
.price-sub {display: block; font-size: 13px; color: var(--ink2); margin-top: 2px;}
.price-glance h2 {font-size: clamp(25px,2.6vw,34px); line-height: 1.12; letter-spacing: -.018em; margin-bottom: 6px;}
.price-glance .price-date {margin-top: 12px;}
.price-glance .price-date a {color: var(--ink); text-decoration: underline; text-underline-offset: 2px;}
.pricing-content .price-glance+.answer-box {margin-top: 32px;}
.calc-prices dd {flex-direction: column; align-items: flex-start; gap: 0;}
.calc-usd {display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px;}
.calc-prices dd .eur-block {font-size: 15px; letter-spacing: 0; font-stretch: 100%; line-height: 1.3; margin-top: 4px;}
.calc-note .eur {font-size: 1em; color: inherit;}
.calc-date time {white-space: nowrap;}

/* Telefon: Vorwahl als Pflichtauswahl neben der Nummer */
.phone-wrap {display: grid; grid-template-columns: minmax(0,170px) minmax(0,1fr); gap: 7px 10px; align-items: end;}
.phone-wrap .apply-field-hint {grid-column: 1/-1; margin-top: 0;}
.phone-wrap select.apply-input {text-overflow: ellipsis;}
@media (max-width: 480px) {
 .phone-wrap {grid-template-columns: minmax(0,1fr);}
}
.ks-price-scope .eur,.calc-note .eur {white-space: nowrap;}
.price-date a {color: var(--ink); text-decoration: underline; text-underline-offset: 2px;}

/* Formular: eigener Account oder Agentur */
.who-switch {display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 14px; background: rgba(0,0,0,.42); border: 1px solid rgba(255,255,255,.14);}
.who-switch label {position: relative; display: grid; place-items: center; min-height: 46px; padding: 6px 10px; border-radius: 10px; font-size: 15px; font-weight: 500; line-height: 1.2; text-align: center; color: #D1D1D6; cursor: pointer; transition: background-color .2s, color .2s;}
.who-switch input {position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer;}
.who-switch label:has(input:checked) {background: #F5F5F7; color: #000;}
.who-switch label:has(input:focus-visible) {outline: 2px solid #F5F5F7; outline-offset: 2px;}
.who-hint {margin-top: 7px;}
.who-hint a {color: #D1D1D6; text-decoration: underline; text-underline-offset: 2px;}

/* Handy: klare Ueberschrift, Schild und Regler rutschen nach oben */
@media (max-width: 640px) {
 .hero {padding-top: 84px;}
 .hero-copy h1 {padding-inline: 0; -webkit-hyphens: manual; hyphens: manual;}
 .hero h1 {font-size: min(7.9vw,35px); line-height: 1.08; letter-spacing: -.024em; white-space: nowrap; text-wrap: nowrap;}
 :lang(de) .hero h1 {font-size: min(9.9vw,42px); line-height: 1.05; white-space: normal; text-wrap: balance;}
 .hero-category {font-size: 13px; margin-bottom: 8px;}
 .hero-description {font-size: 16px; line-height: 1.4; margin-top: 10px; padding-inline: 22px;}
 .hero-actions {margin-top: 16px; padding-inline: 16px;}
 .hero-actions .button {min-height: 52px;}
 .hero-actions .text-link {display: none;}
 .hero-response {font-size: 12px; margin-top: 8px;}
 .hero-stage {--shield: min(360px,92vw,47svh); height: calc(var(--shield)*.72); margin-top: 2px;}
 .shield {top: calc(var(--shield)*-.17);}
 .hero-status {min-width: 0; width: max-content; padding: 7px 14px 7px 8px; border-radius: 16px; bottom: 2px;}
 .hero-avatar {width: 30px; height: 30px;}
 .hero-status b {font-size: 13px;}
 .hero-status small {font-size: 12px; margin-top: 1px;}
 .hero-under {margin-top: 10px; padding-inline: 16px;}
 .hero-trust {font-size: 13px; margin-top: 12px;}
}
/* Inhalt laeuft unter der Statusleiste weich aus statt hart sichtbar zu bleiben */
body:before {content: ''; position: fixed; z-index: 39; top: 0; left: 0; right: 0; height: 22px; pointer-events: none; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); -webkit-mask-image: linear-gradient(#000 45%,transparent); mask-image: linear-gradient(#000 45%,transparent);}
@media (max-width: 1100px) {body:before {height: 18px;}}
@media print {body:before {display: none;}}
@media (prefers-reduced-motion: reduce) {.unlock-label .l-off {animation: none; color: #E5E5EA; background: none;}}

/* Handy: Beschriftung der Nachweiskarten bleibt einzeilig */
@media (max-width: 860px) {
 .wall .record {width: 216px;}
 .wall .record-s {font-size: 12px; white-space: nowrap;}
}
