/* KI Beratung Services: frontend styles, aligned with the design of ki-beratung-goeroeg.com
   (navy #1a1f2e / gold #c8a04a / teal #335860, Nunito Sans + Lato). Scoped to .kbs. */

.kbs, .kbs * { box-sizing: border-box; }
.kbs {
	--kbs-ink: var(--kbs-text, #303333);
	--kbs-muted: var(--kbs-text-light, #5a6068);
	--kbs-line: var(--kbs-border, #e8e6e1);
	--kbs-tint: var(--kbs-bg, #fafaf8);
	--kbs-navy: var(--kbs-dark, #1a1f2e);
	--kbs-navy-2: var(--kbs-charcoal, #252b3b);
	--kbs-gold: var(--kbs-accent, #c8a04a);
	--kbs-gold-2: var(--kbs-accent-light, #e2c170);
	--kbs-teal: var(--kbs-primary, #335860);
	--kbs-radius: 10px;
	--kbs-hero-bg: linear-gradient(145deg, #141824, #1a2a30 40%, #243540);
	font-family: var(--kbs-font-body, 'Lato', 'Nunito Sans', system-ui, sans-serif);
	color: var(--kbs-ink);
	line-height: 1.7;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
}
.kbs img { max-width: 100%; height: auto; display: block; border: 0; }
.kbs a { color: var(--kbs-teal); text-decoration: none; }
.kbs a:hover { color: var(--kbs-gold); text-decoration: none; }
.kbs svg { width: 1.1em; height: 1.1em; flex: 0 0 auto; }
.kbs p { font-family: var(--kbs-font-body, 'Lato', sans-serif); }

.kbs-wrap { width: min(1100px, calc(100% - 40px)); margin: 0 auto; }
.kbs-wrap--narrow { width: min(820px, calc(100% - 40px)); }
.kbs-page, .kbs-overview { background: #fff; }
body.kbs-service-page { background: #fff; }
.kbs-section { padding: 80px 0; background: #fff; }
.kbs-section--tint { background: var(--kbs-tint); }
.kbs-section--dark { background: var(--kbs-hero-bg); color: #fff; }
.kbs-center { text-align: center; }
.kbs-muted { color: var(--kbs-muted); }

/* Typography */
.kbs-h1, .kbs-h2, .kbs-h3 {
	font-family: var(--kbs-font-head, 'Nunito Sans', 'Lato', system-ui, sans-serif);
	font-weight: 800; line-height: 1.2; margin: 0 0 .5em; color: inherit; letter-spacing: -.2px;
}
.kbs-h1 { font-size: clamp(2.1rem, 4.6vw, 3rem); line-height: 1.12; letter-spacing: -.5px; color: #fff; }
.kbs-h2 { font-size: clamp(1.45rem, 3.2vw, 2rem); line-height: 1.25; }
.kbs-h3 { font-size: 1rem; line-height: 1.35; }
.kbs-eyebrow, .kbs-kicker {
	display: inline-block; font-family: var(--kbs-font-head, 'Nunito Sans', sans-serif);
	font-size: .68rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
	color: var(--kbs-gold); padding: 6px 16px; border: 1px solid rgba(200,160,74,.35); border-radius: 3px;
	background: rgba(200,160,74,.06); margin: 0 0 18px;
}
.kbs-sublabel {
	display: block; text-align: center; font-family: var(--kbs-font-head, sans-serif); font-size: .66rem; font-weight: 700;
	letter-spacing: 3px; text-transform: uppercase; color: var(--kbs-gold); margin: 0 0 10px;
}
.kbs-lead { font-size: 1.02rem; color: var(--kbs-muted); }
.kbs-prose p { margin: 0 0 1em; font-size: .97rem; line-height: 1.75; }
.kbs-prose p:last-child { margin-bottom: 0; }
.kbs-prose--lead { max-width: 800px; margin: 0 auto 44px; text-align: center; }
.kbs-prose--lead p { color: var(--kbs-muted); }
.kbs-prose--light { color: #fff; }
.kbs-prose--light p { color: rgba(255,255,255,.7); }
.kbs-prose--light .kbs-h2 { color: #fff; }
.kbs-prose--light a { color: var(--kbs-gold-2); }
.kbs-tag {
	display: inline-block; font-size: .62rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
	color: var(--kbs-gold); background: rgba(200,160,74,.08); padding: 4px 10px; border-radius: 3px; margin-bottom: 14px;
	font-family: var(--kbs-font-head, sans-serif);
}

/* Buttons (like .lkb-btn on the homepage) */
.kbs-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--kbs-font-head, 'Nunito Sans', sans-serif); font-size: .9rem; font-weight: 700;
	padding: 14px 30px; border-radius: 6px; border: 1px solid transparent; cursor: pointer; line-height: 1.2;
	transition: all .25s ease; text-decoration: none !important;
}
.kbs-btn svg { width: 1em; height: 1em; }
.kbs-btn--accent { background: var(--kbs-gold); color: var(--kbs-navy) !important; border-color: var(--kbs-gold); box-shadow: 0 4px 15px rgba(200,160,74,.2); }
.kbs-btn--accent:hover { background: var(--kbs-gold-2); border-color: var(--kbs-gold-2); transform: translateY(-2px); box-shadow: 0 8px 25px rgba(200,160,74,.3); color: var(--kbs-navy) !important; }
.kbs-btn--ghost { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.25); }
.kbs-btn--ghost:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.05); }
.kbs-btn--outline { background: transparent; color: var(--kbs-teal) !important; border-color: var(--kbs-teal); }
.kbs-btn--outline:hover { background: var(--kbs-teal); color: #fff !important; transform: translateY(-2px); }
.kbs-btn--sm { padding: 10px 18px; font-size: .82rem; }
.kbs-link { font-weight: 700; display: inline-flex; align-items: center; gap: 6px; font-family: var(--kbs-font-head, sans-serif); font-size: .92rem; }

/* Breadcrumb + region switch */
.kbs-breadcrumb { background: var(--kbs-navy); color: rgba(255,255,255,.55); font-size: .78rem; border-bottom: 1px solid rgba(255,255,255,.05); }
.kbs-breadcrumb .kbs-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; flex-wrap: wrap; }
.kbs-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.kbs-breadcrumb li + li::before { content: "›"; margin-right: 6px; opacity: .5; }
.kbs-breadcrumb a { color: rgba(255,255,255,.75); }
.kbs-breadcrumb a:hover { color: var(--kbs-gold); }
.kbs-region { display: inline-flex; border: 1px solid rgba(200,160,74,.35); border-radius: 6px; padding: 3px; gap: 2px; background: rgba(255,255,255,.04); }
.kbs-region__btn {
	appearance: none; -webkit-appearance: none; box-shadow: none; border: 0; background: transparent; color: inherit;
	font-family: var(--kbs-font-head, sans-serif); font-size: .72rem; font-weight: 700; letter-spacing: .5px; text-transform: uppercase;
	padding: 5px 12px; border-radius: 4px; cursor: pointer; line-height: 1.2;
}
.kbs-region__btn.is-active { background: var(--kbs-gold); color: var(--kbs-navy); }
.kbs-overview .kbs-region { background: #fff; color: var(--kbs-ink); border-color: var(--kbs-line); }

/* Switch bar (injected by JS) */
.kbs-switchbar { background: var(--kbs-gold); color: var(--kbs-navy); font-size: .88rem; }
.kbs-switchbar__inner { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; padding: 9px 0; }
.kbs-switchbar a { font-weight: 800; color: var(--kbs-navy); text-decoration: underline; }
.kbs-switchbar button { appearance: none; -webkit-appearance: none; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 6px !important; cursor: pointer; font-size: 1.3rem; line-height: 1; color: inherit !important; opacity: .7; border-radius: 0; }

/* Hero (like .lkb-hero) */
.kbs-hero { background: var(--kbs-hero-bg); color: #fff; position: relative; overflow: hidden; }
.kbs-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(ellipse at 80% 20%, rgba(200,160,74,.10) 0%, rgba(200,160,74,0) 55%), radial-gradient(ellipse at 10% 90%, rgba(61,107,116,.25) 0%, rgba(61,107,116,0) 50%);
}
.kbs-hero__inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 70px 0 64px; position: relative; z-index: 1; min-height: 560px; }
.kbs-hero__text { flex: 1; max-width: 720px; }
.kbs-hero__intro { font-size: clamp(.95rem, 1.6vw, 1.02rem); line-height: 1.75; color: rgba(255,255,255,.7); max-width: 640px; }
.kbs-hero__intro p { margin: 0 0 .8em; }
.kbs-hero__intro strong { color: rgba(255,255,255,.92); }
.kbs-facts { display: flex; flex-wrap: wrap; gap: 14px 34px; margin: 26px 0 0; padding: 20px 0 0; border-top: 1px solid rgba(255,255,255,.08); }
.kbs-fact { display: flex; gap: 10px; align-items: flex-start; flex: 1 1 160px; max-width: 260px; }
.kbs-fact svg { color: var(--kbs-gold); margin-top: 3px; opacity: .9; }
.kbs-fact dt { font-family: var(--kbs-font-head, sans-serif); font-size: .64rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--kbs-gold); margin: 0 0 2px; font-weight: 700; }
.kbs-fact dd { margin: 0; font-size: .9rem; color: rgba(255,255,255,.85); font-weight: 700; }
.kbs-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; align-items: center; }
.kbs-hero__note { margin: 12px 0 0; font-size: .8rem; color: rgba(255,255,255,.45); }
.kbs-hero__media { margin: 0; position: relative; flex-shrink: 0; width: 300px; }
.kbs-hero__media img { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 20px 50px rgba(0,0,0,.4); border: 2px solid rgba(200,160,74,.15); aspect-ratio: 4/5; object-fit: cover; }
.kbs-hero__media figcaption { margin-top: 12px; text-align: center; display: flex; flex-direction: column; font-size: .78rem; color: rgba(255,255,255,.5); }
.kbs-hero__media figcaption strong { font-family: var(--kbs-font-head, sans-serif); color: rgba(255,255,255,.9); font-size: .9rem; }

/* Client logos strip under the hero (like .lkb-trust-logos) */
.kbs-clients-strip { background: var(--kbs-tint); border-bottom: 1px solid var(--kbs-line); padding: 40px 0 34px; }
.kbs-clients-strip__label { margin: 0 0 22px; text-align: center; font-family: var(--kbs-font-head, sans-serif); font-size: .66rem; letter-spacing: 3px; text-transform: uppercase; color: var(--kbs-gold); font-weight: 700; }
.kbs-logos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 22px 36px; }
.kbs-logos li { margin: 0; }
.kbs-logos img { height: 28px; max-height: 28px; width: auto; max-width: 130px; object-fit: contain; filter: grayscale(100%); opacity: .55; transition: opacity .3s, filter .3s; }
.kbs-logos img:hover { filter: none; opacity: 1; }
.kbs-press-block .kbs-logos { margin-top: 28px; gap: 26px 44px; }
.kbs-press-block .kbs-logos img { height: 34px; max-height: 34px; max-width: 160px; }

/* Grid + cards (like .lkb-svc-card) */
.kbs-grid { display: grid; gap: 20px; }
.kbs-grid--2 { grid-template-columns: repeat(2, 1fr); }
.kbs-grid--3 { grid-template-columns: repeat(3, 1fr); }
.kbs-grid--4 { grid-template-columns: repeat(4, 1fr); }
.kbs-grid--1 { grid-template-columns: 1fr; }
.kbs-grid--invest { grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: start; }
.kbs-card { background: #fff; border: 1px solid var(--kbs-line); border-radius: var(--kbs-radius); padding: 30px 28px; position: relative; overflow: hidden; }
.kbs-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
.kbs-card--yes::before { background: linear-gradient(90deg, var(--kbs-gold), var(--kbs-teal)); }
.kbs-card--no::before { background: var(--kbs-line); }
.kbs-card .kbs-h2 { font-size: 1.15rem; margin-bottom: 16px; }
.kbs-list { list-style: none; margin: 0; padding: 0; }
.kbs-list li { display: flex; gap: 12px; align-items: flex-start; padding: 9px 0; border-bottom: 1px solid var(--kbs-line); font-size: .93rem; line-height: 1.6; color: var(--kbs-ink); }
.kbs-list li:last-child { border-bottom: 0; }
.kbs-list svg { margin-top: 5px; }
.kbs-list--check svg { color: var(--kbs-gold); }
.kbs-list--x svg { color: #b5b0a6; }
.kbs-list--cols { columns: 2; column-gap: 40px; }
.kbs-list--cols li { break-inside: avoid; }

/* Benefits */
.kbs-benefit { background: #fff; border: 1px solid var(--kbs-line); border-radius: var(--kbs-radius); padding: 28px 26px; position: relative; overflow: hidden; transition: all .3s; }
.kbs-benefit::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--kbs-gold), var(--kbs-teal)); opacity: 0; transition: opacity .3s; }
.kbs-benefit:hover { transform: translateY(-4px); box-shadow: 0 14px 40px rgba(26,31,46,.07); border-color: var(--kbs-gold); }
.kbs-benefit:hover::before { opacity: 1; }
.kbs-benefit__num { font-family: var(--kbs-font-head, sans-serif); font-weight: 800; color: var(--kbs-gold); font-size: .72rem; letter-spacing: 2px; display: block; margin-bottom: 10px; }
.kbs-benefit p { margin: 0; color: var(--kbs-muted); font-size: .88rem; line-height: 1.65; }
.kbs-value { background: var(--kbs-tint); }
.kbs-value .kbs-h2 { text-align: center; }

/* Process */
.kbs-process .kbs-h2 { text-align: center; margin-bottom: 36px; }
.kbs-phases { list-style: none; margin: 0 auto; padding: 0; max-width: 860px; }
.kbs-phase { display: grid; grid-template-columns: 52px 1fr; gap: 20px; position: relative; padding-bottom: 22px; }
.kbs-phase::before { content: ""; position: absolute; left: 25px; top: 52px; bottom: 0; width: 2px; background: var(--kbs-line); }
.kbs-phase:last-child::before { display: none; }
.kbs-phase__marker span {
	display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%;
	background: var(--kbs-navy); color: var(--kbs-gold); font-family: var(--kbs-font-head, sans-serif); font-weight: 800; font-size: 1.05rem;
	border: 2px solid rgba(200,160,74,.35);
}
.kbs-phase__body { background: #fff; border: 1px solid var(--kbs-line); border-radius: var(--kbs-radius); padding: 20px 24px; }
.kbs-phase__body .kbs-h3 { margin-bottom: 4px; }
.kbs-phase__time { display: inline-flex; align-items: center; gap: 6px; font-family: var(--kbs-font-head, sans-serif); font-size: .7rem; letter-spacing: 1px; text-transform: uppercase; color: var(--kbs-gold); font-weight: 700; margin-bottom: 8px; }
.kbs-phase__body p { margin: 0; font-size: .9rem; color: var(--kbs-muted); line-height: 1.65; }

/* Results */
.kbs-results { background: var(--kbs-tint); }
.kbs-results__inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: start; }
.kbs-results__inner .kbs-muted { font-size: .95rem; }

/* Proof + stats (like .lkb-stats) */
.kbs-proof__head { max-width: 720px; margin: 0 auto 34px; text-align: center; }
.kbs-proof__head .kbs-muted { font-size: .95rem; }
.kbs-stats { list-style: none; margin: 0 0 48px; padding: 34px 20px; display: flex; justify-content: center; gap: 48px; flex-wrap: wrap; background: var(--kbs-navy); border-radius: var(--kbs-radius); }
.kbs-stats li { text-align: center; display: flex; flex-direction: column; }
.kbs-stats strong { font-family: var(--kbs-font-head, sans-serif); font-size: 2.1rem; font-weight: 800; color: var(--kbs-gold); line-height: 1.1; }
.kbs-stats span { font-size: .78rem; color: rgba(255,255,255,.5); margin-top: 4px; letter-spacing: .3px; }
.kbs-proof__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 44px; align-items: center; }
.kbs-proof__item { display: flex; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--kbs-line); }
.kbs-proof__item:last-child { border-bottom: 0; }
.kbs-proof__item p { margin: 0; color: var(--kbs-muted); font-size: .9rem; line-height: 1.65; }
.kbs-proof__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--kbs-gold); margin-top: 8px; flex: 0 0 auto; }
.kbs-proof__media { margin: 0; }
.kbs-proof__media img { border-radius: 12px; box-shadow: 0 16px 40px rgba(26,31,46,.15); aspect-ratio: 4/3; object-fit: cover; width: 100%; border: 2px solid rgba(200,160,74,.15); }

/* Case */
.kbs-case__box { background: var(--kbs-tint); border: 1px solid var(--kbs-line); border-left: 4px solid var(--kbs-gold); border-radius: var(--kbs-radius); padding: 36px 40px; max-width: 900px; margin: 0 auto; }
.kbs-case__box .kbs-h2 { font-size: 1.35rem; }

/* Press block */
.kbs-press-block .kbs-h2 { margin-bottom: 0; }

/* Local */
.kbs-local__inner { display: grid; grid-template-columns: 64px 1fr; gap: 24px; max-width: 900px; margin: 0 auto; }
.kbs-local__icon { width: 64px; height: 64px; border-radius: 50%; background: var(--kbs-tint); border: 1px solid var(--kbs-line); display: flex; align-items: center; justify-content: center; color: var(--kbs-gold); }
.kbs-local__icon svg { width: 26px; height: 26px; }

/* CTA box */
.kbs-cta { display: flex; align-items: flex-start; gap: 22px; background: #fff; color: var(--kbs-ink); border-radius: var(--kbs-radius); border: 1px solid var(--kbs-line); padding: 30px; margin-top: 48px; }
.kbs-section--dark .kbs-cta { box-shadow: 0 20px 50px rgba(0,0,0,.3); border: 0; }
.kbs-section--dark .kbs-cta, .kbs-cta--compact { margin-top: 0; }
.kbs-cta__avatar { width: 76px !important; height: 76px !important; min-width: 76px; max-width: 76px; aspect-ratio: 1 / 1; border-radius: 50% !important; object-fit: cover; object-position: center top; flex: 0 0 76px; align-self: flex-start; border: 2px solid rgba(200,160,74,.4); }
.kbs-cta__body { flex: 1; min-width: 0; }
.kbs-cta__body .kbs-h3 { font-size: 1.1rem; }
.kbs-cta__body p { margin: 0 0 14px; font-size: .93rem; color: var(--kbs-muted); }
.kbs-cta__actions { margin: 6px 0 12px; }
.kbs-cta__note { font-size: .82rem; }
.kbs-cta__contact { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: .88rem; }
.kbs-cta__contact li { display: inline-flex; align-items: center; gap: 8px; }
.kbs-cta__contact svg { color: var(--kbs-gold); }
.kbs-cta__footnote { display: flex; gap: 8px; align-items: flex-start; font-size: .78rem; color: var(--kbs-muted); margin: 14px 0 0; border-top: 1px solid var(--kbs-line); padding-top: 12px; }
.kbs-cta__footnote svg { color: var(--kbs-gold); margin-top: 3px; }

/* FAQ (like .lkb-faq) */
.kbs-faq .kbs-h2 { text-align: center; margin-bottom: 30px; }
.kbs-accordion { display: grid; gap: 10px; }
.kbs-faq__item { background: var(--kbs-tint); border: 1px solid var(--kbs-line); border-radius: 8px; overflow: hidden; }
.kbs-faq__item summary {
	list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px;
	padding: 18px 22px; font-family: var(--kbs-font-head, sans-serif); font-weight: 700; font-size: .92rem; color: var(--kbs-ink);
	transition: background .2s; user-select: none;
}
.kbs-faq__item summary:hover { background: rgba(200,160,74,.04); }
.kbs-faq__item summary::-webkit-details-marker { display: none; }
.kbs-faq__item summary::marker { content: ""; }
.kbs-faq__item summary > span:first-child { flex: 1 1 auto; }
.kbs-faq__icon { flex: 0 0 22px; width: 22px; height: 22px; min-width: 22px; max-width: 22px; border-radius: 50%; border: 2px solid var(--kbs-gold); display: flex; align-items: center; justify-content: center; color: var(--kbs-gold); transition: all .3s; }
.kbs-faq__icon svg { width: 12px; height: 12px; }
.kbs-faq__item[open] .kbs-faq__icon { background: var(--kbs-gold); color: #fff; transform: rotate(180deg); }
.kbs-faq__answer { padding: 0 22px 20px 56px; font-size: .9rem; color: var(--kbs-muted); line-height: 1.7; }
.kbs-faq__answer p { margin: 0; }
.kbs-faq__item[open] .kbs-faq__answer { display: block; }
.kbs-faq__item:not([open]) .kbs-faq__answer { display: none; }

/* Service cards (like .lkb-svc-card) */
.kbs-scard {
	display: flex; flex-direction: column; gap: 10px; background: #fff; border: 1px solid var(--kbs-line); border-radius: var(--kbs-radius);
	padding: 30px 26px; color: var(--kbs-ink) !important; text-decoration: none !important; transition: all .35s ease; position: relative; overflow: hidden;
}
.kbs-scard::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--kbs-gold), var(--kbs-teal)); opacity: 0; transition: opacity .35s; }
.kbs-scard:hover { transform: translateY(-4px); box-shadow: 0 14px 40px rgba(26,31,46,.07); border-color: var(--kbs-gold); }
.kbs-scard:hover::before { opacity: 1; }
.kbs-scard__kicker { font-family: var(--kbs-font-head, sans-serif); font-size: .62rem; letter-spacing: 1px; text-transform: uppercase; color: var(--kbs-gold); font-weight: 700; }
.kbs-scard .kbs-h3 { margin: 0; font-size: .98rem; }
.kbs-scard p { margin: 0; color: var(--kbs-muted); font-size: .87rem; line-height: 1.65; flex: 1; }
.kbs-scard__facts { list-style: none; margin: 6px 0 0; padding: 0; font-size: .8rem; color: var(--kbs-muted); display: grid; gap: 3px; }
.kbs-scard__facts span { font-weight: 700; color: var(--kbs-ink); }
.kbs-scard__more { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--kbs-teal); margin-top: 8px; font-family: var(--kbs-font-head, sans-serif); font-size: .85rem; }
.kbs-scard:hover .kbs-scard__more { color: var(--kbs-gold); }
.kbs-more { margin: 30px 0 0; text-align: center; }
.kbs-related .kbs-h2 { text-align: center; margin-bottom: 30px; }

/* Overview (hub pages) */
.kbs-overview { padding: 60px 0 40px; background: var(--kbs-tint); }
.kbs-overview__intro { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 36px; flex-wrap: wrap; }
.kbs-overview__text { max-width: 820px; }
.kbs-overview .kbs-cta { margin-top: 44px; }

/* Author box */
.kbs-author { padding: 30px 0 80px; }
.kbs-author__box { display: grid; grid-template-columns: 110px 1fr; gap: 28px; align-items: start; background: var(--kbs-tint); border: 1px solid var(--kbs-line); border-radius: var(--kbs-radius); padding: 30px; max-width: 980px; margin: 0 auto; }
.kbs-author__box img { border-radius: 50%; width: 110px !important; height: 110px !important; aspect-ratio: 1 / 1; object-fit: cover; object-position: center top; border: 2px solid rgba(200,160,74,.4); }
.kbs-author__label { font-family: var(--kbs-font-head, sans-serif); font-size: .64rem; letter-spacing: 3px; text-transform: uppercase; color: var(--kbs-gold); margin: 0 0 6px; font-weight: 700; }
.kbs-author__box p { margin: 0 0 10px; font-size: .92rem; color: var(--kbs-muted); }
.kbs-author__box .kbs-h3 { font-size: 1.05rem; }
.kbs-author__links a { margin-right: 18px; font-weight: 700; font-size: .88rem; font-family: var(--kbs-font-head, sans-serif); }
.kbs-author__updated { font-size: .78rem; }

/* Contact footer (like .lkb-cta + .lkb-footer on the homepage) */
.kbs-footer { background: var(--kbs-hero-bg); color: #fff; padding: 80px 0 0; text-align: center; position: relative; overflow: hidden; }
.kbs-footer::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 50% 0%, rgba(200,160,74,.10) 0%, rgba(200,160,74,0) 55%); }
.kbs-footer__inner { position: relative; z-index: 1; max-width: 680px; margin: 0 auto; padding-bottom: 60px; }
.kbs-footer__avatar { width: 80px !important; height: 80px !important; border-radius: 50% !important; object-fit: cover; object-position: center top; margin: 0 auto 20px; border: 2px solid rgba(200,160,74,.3); aspect-ratio: 1/1; }
.kbs-footer .kbs-h2 { color: #fff; font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: 12px; }
.kbs-footer__lead { color: rgba(255,255,255,.55); font-size: .93rem; line-height: 1.6; margin: 0 0 28px; }
.kbs-footer__btns { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.kbs-footer__btns .kbs-btn { padding: 16px 36px; font-size: .95rem; }
.kbs-footer__contact { margin-top: 25px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.06); }
.kbs-footer__contact-grid { display: flex; justify-content: center; gap: 40px; flex-wrap: wrap; }
.kbs-footer__contact-item { text-align: center; }
.kbs-footer__contact-item span { display: block; font-family: var(--kbs-font-head, sans-serif); font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--kbs-gold); margin-bottom: 3px; }
.kbs-footer__contact-item a, .kbs-footer__contact-item p { font-size: .85rem; color: rgba(255,255,255,.5); text-decoration: none !important; margin: 0; }
.kbs-footer__contact-item a:hover { color: #fff; }
.kbs-footer__note { margin: 22px auto 0; font-size: .78rem; color: rgba(255,255,255,.35); display: inline-flex; gap: 8px; align-items: center; }
.kbs-footer__note svg { color: var(--kbs-gold); }
.kbs-footer__bottom { position: relative; z-index: 1; background: var(--kbs-navy); padding: 28px 20px; text-align: center; border-top: 1px solid rgba(255,255,255,.04); }
.kbs-footer__bottom p { font-size: .75rem; color: rgba(255,255,255,.3); margin: 0 0 5px; }
.kbs-footer__bottom p.kbs-footer__addr { font-size: .7rem; color: rgba(255,255,255,.2); margin-bottom: 6px; }
.kbs-footer__bottom a { color: rgba(255,255,255,.45); }
.kbs-footer__bottom a:hover { color: var(--kbs-gold); }

/* Full-bleed inside theme containers */
.kbs-fullbleed, .entry-content > .kbs-fullbleed, .et_pb_text_inner > .kbs-fullbleed { position: relative !important; width: 100vw !important; max-width: 100vw !important; left: 50% !important; right: 50% !important; margin-left: -50vw !important; margin-right: -50vw !important; overflow-x: clip; }
.wp-site-blocks > .kbs-fullbleed, .kbs-standalone .kbs-fullbleed { margin-block-start: 0; }
.kbs-standalone .kbs-fullbleed { left: 0 !important; right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; max-width: 100% !important; }
.kbs-service-page .kbs-page { margin-bottom: 0; }
/* Divi: no extra spacing around the page */
.kbs-service-page #main-content .container { padding-top: 0; }
.kbs-service-page #main-content .container::before { display: none; }

/* Standalone header */
.kbs-standalone { margin: 0; background: #fff; }
.kbs-sh { background: var(--kbs-navy); border-bottom: 1px solid rgba(255,255,255,.06); position: sticky; top: 0; z-index: 50; }
.kbs-sh__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 0; }
.kbs-sh__brand img { height: 44px; width: auto; border-radius: 6px; }
.kbs-sh__brand span { font-family: var(--kbs-font-head, sans-serif); font-weight: 800; font-size: 1.05rem; color: #fff; }
.kbs-sh__nav { display: flex; align-items: center; gap: 22px; font-weight: 700; font-size: .88rem; font-family: var(--kbs-font-head, sans-serif); }
.kbs-sh__nav a { color: rgba(255,255,255,.75); }
.kbs-sh__nav a:hover { color: var(--kbs-gold); }

/* Responsive */
@media (max-width: 980px) {
	.kbs-hero__inner { gap: 30px; padding: 50px 0 44px; min-height: auto; }
	.kbs-hero__media { width: 220px; }
	.kbs-grid--3, .kbs-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.kbs-grid--invest, .kbs-results__inner, .kbs-proof__grid { grid-template-columns: 1fr; }
	.kbs-stats { gap: 28px; }
	.kbs-list--cols { columns: 1; }
}
@media (max-width: 720px) {
	.kbs-section { padding: 56px 0; }
	.kbs-hero__inner { flex-direction: column; text-align: center; }
	.kbs-hero__media { width: 180px; order: -1; }
	.kbs-hero__intro { margin: 0 auto; }
	.kbs-facts { justify-content: center; }
	.kbs-fact { text-align: left; }
	.kbs-hero__actions { justify-content: center; }
	.kbs-hero__actions .kbs-btn { width: 100%; }
	.kbs-grid--2, .kbs-grid--3, .kbs-grid--4 { grid-template-columns: 1fr; }
	.kbs-card, .kbs-case__box, .kbs-cta, .kbs-author__box, .kbs-benefit { padding: 22px; }
	.kbs-cta { flex-direction: column; }
	.kbs-author__box { grid-template-columns: 1fr; }
	.kbs-local__inner { grid-template-columns: 1fr; }
	.kbs-phase { grid-template-columns: 42px 1fr; gap: 14px; }
	.kbs-phase__marker span { width: 42px; height: 42px; font-size: .95rem; }
	.kbs-phase::before { left: 20px; top: 42px; }
	.kbs-faq__answer { padding-left: 22px; }
	.kbs-footer__btns { flex-direction: column; align-items: center; }
	.kbs-footer__contact-grid { flex-direction: column; gap: 14px; }
	.kbs-sh__nav a:not(.kbs-btn) { display: none; }
	.kbs-stats { gap: 22px; }
	.kbs-stats strong { font-size: 1.7rem; }
}
@media print {
	.kbs-hero, .kbs-section--dark, .kbs-footer { background: #fff !important; color: #000 !important; }
	.kbs-h1 { color: #000; }
	.kbs-switchbar, .kbs-region { display: none !important; }
}
