.ks-about,
.ks-about * { box-sizing: border-box; }

.ks-about {
	--gold: #B88A3B;
	--gold-soft: #d6ab63;
	--ink: #14110c;
	--overlay: .85;
	font-family: 'Inter', sans-serif;
	position: relative;
	width: 100%;
}

/* gedeelde icoon-styling met draw-animatie */
.ks-about .ksab-icon { width: 48px; height: 48px; display: block; }
.ks-about .ksab-icon path,
.ks-about .ksab-icon circle,
.ks-about .ksab-icon line,
.ks-about .ksab-icon polyline,
.ks-about .ksab-icon rect {
	stroke: var(--gold);
	stroke-width: 1.6;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 200;
	stroke-dashoffset: 200;
}
.ks-about.is-in .ksab-icon path,
.ks-about.is-in .ksab-icon circle,
.ks-about.is-in .ksab-icon line,
.ks-about.is-in .ksab-icon polyline,
.ks-about.is-in .ksab-icon rect {
	animation: babDraw 1.1s ease forwards;
}
@keyframes babDraw { to { stroke-dashoffset: 0; } }

/* reveal */
.ks-about .ksab-rev { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.ks-about.is-in .ksab-rev { opacity: 1; transform: translateY(0); }
.ks-about.is-in .ksab-rev:nth-child(2){ transition-delay: .1s; }
.ks-about.is-in .ksab-rev:nth-child(3){ transition-delay: .2s; }
.ks-about.is-in .ksab-rev:nth-child(4){ transition-delay: .3s; }

.ks-about .ksab-eyebrow { color: var(--gold); font-size: 12px; letter-spacing: 2.2px; text-transform: uppercase; font-weight: 600; margin-bottom: 12px; }
.ks-about .ksab-title { margin: 0; font-family: 'Barlow Condensed', sans-serif; font-size: 44px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; line-height: 1; }

/* ============ VARIANT A — PIJLERS ============ */
.ks-about.ksab-variant-a { background: #faf6ef; padding: 70px 24px; }
.ksab-variant-a .ksab-inner { max-width: 1100px; margin: 0 auto; }
.ksab-variant-a .ksab-head { text-align: center; margin-bottom: 48px; }
.ksab-variant-a .ksab-grid { display: grid; gap: 24px; }
.ksab-variant-a .ksab-pillar { text-align: center; padding: 30px 18px; background: #fff; border-radius: 14px; border: 1px solid #ece3d3; }
.ksab-variant-a .ksab-pillar-icon { display: flex; justify-content: center; margin-bottom: 16px; }
.ksab-variant-a .ksab-num { font-family: 'Barlow Condensed', sans-serif; font-size: 38px; font-weight: 700; color: var(--ink); line-height: 1; }
.ksab-variant-a .ksab-suffix { color: var(--gold); }
.ksab-variant-a .ksab-pillar h4 { margin: 8px 0 0; font-family: 'Barlow Condensed', sans-serif; font-size: 19px; font-weight: 700; text-transform: uppercase; }
.ksab-variant-a .ksab-pillar p { margin: 6px 0 0; font-size: 13px; color: #6b5d45; line-height: 1.5; }

/* ============ VARIANT B — VERHAAL + KAARTEN + FOTO ============ */
.ks-about.ksab-variant-b { color: #fff; padding: 0; overflow: hidden; border-radius: 0; }
.ksab-variant-b .ksab-bg { position: absolute; inset: 0; background-color: #1a1712; background-position: center; background-size: cover; background-repeat: no-repeat; z-index: 0; }
.ksab-variant-b .ksab-bg-mobiel { display: none; }
.ksab-variant-b .ksab-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(100deg, rgba(10,8,5,var(--overlay)) 0%, rgba(10,8,5,calc(var(--overlay) - .1)) 45%, rgba(10,8,5,calc(var(--overlay) - .25)) 100%); }
.ksab-variant-b .ksab-inner { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; padding: 64px 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.ksab-variant-b .ksab-title { color: #fff; margin-bottom: 18px; }
.ksab-variant-b .ksab-eyebrow { color: var(--gold-soft); }
.ksab-variant-b .ksab-intro { font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.78); max-width: 420px; margin: 0; }
.ksab-variant-b .ksab-col-cards { display: flex; flex-direction: column; gap: 14px; }
.ksab-variant-b .ksab-card { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; background: rgba(20,17,12,.45); border: 1px solid rgba(184,138,59,.3); border-radius: 12px; transition: border-color .3s ease, background .3s ease; }
.ksab-variant-b .ksab-card:hover { border-color: var(--gold); background: rgba(184,138,59,.12); }
.ksab-variant-b .ksab-card .ksab-icon { width: 34px; height: 34px; flex: 0 0 34px; }
.ksab-variant-b .ksab-card .ksab-icon path,
.ksab-variant-b .ksab-card .ksab-icon circle,
.ksab-variant-b .ksab-card .ksab-icon line,
.ksab-variant-b .ksab-card .ksab-icon polyline,
.ksab-variant-b .ksab-card .ksab-icon rect { stroke: var(--gold-soft); }
.ksab-variant-b .ksab-card h4 { margin: 0 0 4px; font-size: 15px; font-weight: 600; color: #fff; }
.ksab-variant-b .ksab-card p { margin: 0; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.62); }

/* ============ VARIANT C — TIJDLIJN ============ */
.ks-about.ksab-variant-c { background: #faf6ef; padding: 70px 24px; }
.ksab-variant-c .ksab-inner { max-width: 1100px; margin: 0 auto; }
.ksab-variant-c .ksab-head { text-align: center; margin-bottom: 54px; }
.ksab-variant-c .ksab-track { position: relative; display: grid; gap: 18px; }
.ksab-variant-c .ksab-line { position: absolute; left: 0; right: 0; top: 34px; height: 3px; background: #e6dac3; border-radius: 2px; overflow: hidden; }
.ksab-variant-c .ksab-fill { position: absolute; inset: 0; width: 0; background: var(--gold); border-radius: 2px; transition: width 1.4s ease; }
.ks-about.is-in .ksab-fill { width: 100%; }
.ksab-variant-c .ksab-step { text-align: center; position: relative; }
.ksab-variant-c .ksab-dot { width: 68px; height: 68px; margin: 0 auto 14px; border-radius: 50%; background: #fff; border: 2px solid var(--gold); display: flex; align-items: center; justify-content: center; position: relative; z-index: 2; }
.ksab-variant-c .ksab-dot .ksab-icon { width: 32px; height: 32px; }
.ksab-variant-c .ksab-step h4 { margin: 0 0 4px; font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 700; text-transform: uppercase; }
.ksab-variant-c .ksab-step p { margin: 0; font-size: 13px; line-height: 1.5; color: #6b5d45; }

/* ============ MOBIEL ============ */
@media (max-width: 860px) {
	.ks-about .ksab-title { font-size: 32px; }

	.ksab-variant-a .ksab-grid { grid-template-columns: repeat(2, 1fr) !important; }

	.ksab-variant-b .ksab-bg-desktop { display: none; }
	.ksab-variant-b .ksab-bg-mobiel { display: block; }
	.ksab-variant-b .ksab-inner { grid-template-columns: 1fr; gap: 28px; padding: 48px 22px; }
	.ksab-variant-b .ksab-intro { max-width: 100%; }

	.ksab-variant-c .ksab-track { grid-template-columns: 1fr !important; gap: 34px; }
	.ksab-variant-c .ksab-line { display: none; }
}

@media (max-width: 480px) {
	.ksab-variant-a .ksab-grid { grid-template-columns: 1fr !important; }
}
