/* Laibra Homepage — v1.4.1 */

@font-face {
	font-family: "Bricolage Grotesque";
	src: url("../fonts/bricolage-grotesque-latin-wght-normal.woff2") format("woff2-variations");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "DM Sans";
	src: url("../fonts/dm-sans-latin-wght-normal.woff2") format("woff2-variations");
	font-weight: 100 1000;
	font-style: normal;
	font-display: swap;
}

body.laibra-body { margin: 0; background: #FFFBF2; }

.laibra {
	--lb-ink: #1B1F3B;
	--lb-ink-2: #3B4063;
	--lb-ground: #FFFBF2;
	--lb-line: #ECE4D2;
	--lb-indigo: #4A4FE6;
	--lb-geel: #FFC93C;
	--lb-geel-l: #FFE9A8;
	--lb-koraal: #FF6B5B;
	--lb-koraal-l: #FFDCD7;
	--lb-blauw: #7CCFF2;
	--lb-blauw-l: #D6EEFB;
	--lb-mint: #6FD8A0;
	--lb-mint-l: #D9F3E4;
	--lb-paars-l: #E6E0FB;
	--lb-display: "Bricolage Grotesque", Georgia, serif;
	--lb-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

	font-family: var(--lb-body);
	font-size: 17px;
	line-height: 1.5;
	color: var(--lb-ink);
	background: var(--lb-ground);
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}
.laibra *, .laibra *::before, .laibra *::after { box-sizing: border-box; }
.laibra img { max-width: 100%; height: auto; display: block; }
.laibra h1, .laibra h2, .laibra h3 { font-family: var(--lb-display); color: inherit; letter-spacing: -0.01em; margin: 0; }
.laibra p { margin: 0; }
.laibra a { color: var(--lb-ink); }
.laibra a:hover { color: var(--lb-indigo); }
.laibra mark { background: var(--lb-geel); color: var(--lb-ink); border-radius: 12px; padding: 0 .22em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.laibra :focus-visible { outline: 3px solid var(--lb-indigo); outline-offset: 3px; border-radius: 6px; }

.lb-wrap { max-width: 1240px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.lb-section { padding-top: 96px; padding-bottom: 40px; }
.lb-row { display: flex; flex-wrap: wrap; gap: 14px; }

.lb-h1 { font-size: clamp(40px, 5.6vw, 72px); line-height: 1.02; letter-spacing: -0.02em; font-weight: 800; margin: 20px 0; }
.lb-h2 { font-size: clamp(32px, 4vw, 52px); line-height: 1.08; font-weight: 800; margin: 12px 0 16px; }
.lb-h3 { font-size: clamp(28px, 3vw, 38px); line-height: 1.1; font-weight: 800; }
.lb-lead { font-size: 19px; line-height: 1.6; color: var(--lb-ink-2); max-width: 600px; }

.lb-eyebrow { display: inline-block; font-weight: 700; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; }
.lb-eyebrow--indigo { color: var(--lb-indigo); }
.lb-eyebrow--koraal { color: #C03A2B; }
.lb-eyebrow--blauw { color: #1F6E9A; }
.lb-eyebrow--paars { color: #5B3FC4; }
.lb-eyebrow--mint { color: #177245; }
.lb-eyebrow--geel { color: var(--lb-geel); }

.lb-intro { max-width: 760px; margin-bottom: 44px; }
.lb-intro--center { margin-left: auto; margin-right: auto; text-align: center; }

/* Buttons */
.lb-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: 12px 24px; border-radius: 999px;
	font-family: var(--lb-body); font-weight: 700; font-size: 16px; line-height: 1.2;
	text-decoration: none; border: 2px solid transparent; cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease;
}
.lb-btn:hover { transform: translateY(-2px); }
.lb-btn--lg { padding: 16px 28px; font-size: 17px; }
.lb-btn--block { width: 100%; }
.laibra .lb-btn--indigo { background: var(--lb-indigo); color: #fff; }
.laibra .lb-btn--indigo:hover { color: #fff; box-shadow: 0 8px 20px rgba(74,79,230,.3); }
.laibra .lb-btn--geel { background: var(--lb-geel); color: var(--lb-ink); }
.laibra .lb-btn--outline { background: #fff; color: var(--lb-ink); border-color: var(--lb-ink); }
.laibra .lb-btn--wit { background: #fff; color: var(--lb-ink); }
.laibra .lb-btn--navy { background: var(--lb-ink); color: #fff; }
.laibra .lb-btn--navy:hover { color: #fff; }

.lb-badge { align-self: flex-start; display: inline-block; font-weight: 700; font-size: 13px; padding: 6px 12px; border-radius: 999px; }
.lb-badge--geel { background: var(--lb-geel); color: var(--lb-ink); }
.lb-badge--wit { background: #fff; color: var(--lb-ink); }
.lb-badge--mint { background: var(--lb-mint-l); color: #146C43; }

/* Header */
.lb-header { position: relative; z-index: 20; }
.lb-header__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; padding-bottom: 20px; }
.lb-logo img { height: 44px; width: auto; }
.lb-nav { display: flex; align-items: center; gap: 26px; font-weight: 500; }
.lb-nav a:not(.lb-btn) { text-decoration: none; padding: 8px 0; }
.laibra .lb-nav a.is-current { color: var(--lb-indigo); font-weight: 700; }
.lb-menu-btn { display: none; width: 48px; height: 48px; border: 2px solid var(--lb-ink); border-radius: 14px; background: #fff; cursor: pointer; padding: 12px 10px; flex-direction: column; justify-content: space-between; }
.lb-menu-btn span { display: block; height: 2px; background: var(--lb-ink); border-radius: 2px; }

@media (max-width: 1080px) {
	.lb-menu-btn { display: flex; }
	.lb-nav {
		display: none; position: absolute; top: 100%; left: 16px; right: 16px;
		flex-direction: column; align-items: stretch; gap: 4px;
		background: #fff; border: 2px solid var(--lb-ink); border-radius: 24px; padding: 16px;
		box-shadow: 0 20px 40px rgba(27,31,59,.15);
	}
	.lb-nav.is-open { display: flex; }
	.lb-nav a:not(.lb-btn) { padding: 12px 8px; font-size: 18px; }
	.lb-nav__cta { margin-top: 8px; }
}

/* Hero */
.lb-hero { display: flex; flex-wrap: wrap; align-items: center; gap: 48px; padding-top: 40px; padding-bottom: 72px; }
.lb-hero__text { flex: 1 1 480px; min-width: 0; }
.lb-hero__text .lb-lead { margin-bottom: 32px; font-size: 20px; }
.lb-badge-live { display: inline-flex; align-items: center; gap: 8px; background: var(--lb-mint-l); color: #146C43; font-weight: 700; font-size: 14px; padding: 8px 14px; border-radius: 999px; }
.lb-badge-live span { width: 8px; height: 8px; border-radius: 50%; background: #1E9E5A; animation: lb-pulse 2s ease-in-out infinite; }
@keyframes lb-pulse { 50% { opacity: .35; } }
.lb-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; font-size: 14px; font-weight: 500; color: var(--lb-ink-2); }
.lb-chips span { background: #fff; border: 1px solid var(--lb-line); padding: 8px 14px; border-radius: 999px; }

.lb-hero__visual { flex: 1 1 420px; min-width: 0; position: relative; aspect-ratio: 1 / 1.1; }
.lb-shape { position: absolute; }
.lb-shape--sun { left: 6%; right: 6%; bottom: 4%; aspect-ratio: 1; border-radius: 50%; background: var(--lb-geel); }
.lb-shape--coral { width: 22%; aspect-ratio: 1; border-radius: 50%; background: var(--lb-koraal); top: 6%; right: 2%; }
.lb-shape--tile { width: 14%; aspect-ratio: 1; border-radius: 22px; background: var(--lb-blauw); top: 22%; left: 0; transform: rotate(14deg); }
.lb-shape--dot { width: 10%; aspect-ratio: 1; border-radius: 50%; background: #6A62F0; bottom: 2%; right: 8%; }
.laibra .lb-hero__img { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); height: 100%; width: auto; max-width: 100%; object-fit: contain; object-position: bottom; }
.lb-float { position: absolute; left: 0; bottom: 18%; background: #fff; border-radius: 18px; padding: 14px 18px; box-shadow: 0 10px 30px rgba(27,31,59,.14); display: flex; align-items: center; gap: 12px; font-size: 14px; line-height: 1.35; animation: lb-bob 5s ease-in-out infinite; }
.lb-float__ico { width: 36px; height: 36px; border-radius: 10px; background: var(--lb-mint-l); color: #1E9E5A; display: flex; align-items: center; justify-content: center; flex: none; }
@keyframes lb-bob { 50% { transform: translateY(-8px); } }

/* Kernvraag */
.lb-question { background: var(--lb-ink); color: #fff; text-align: center; }
.lb-question .lb-wrap { padding-top: 64px; padding-bottom: 64px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.lb-question__q { font-family: var(--lb-display); font-weight: 800; font-size: clamp(30px, 4.2vw, 56px); line-height: 1.1; max-width: 980px; }

/* Steps */
.lb-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; }
.lb-step { border-radius: 24px; padding: 24px; transition: transform .2s ease; }
.lb-step:hover { transform: rotate(-1.5deg) translateY(-4px); }
.lb-step h3 { font-size: 22px; margin: 6px 0; }
.lb-step p { color: var(--lb-ink-2); }
.lb-step__n { font-family: var(--lb-display); font-weight: 800; font-size: 40px; line-height: 1; }
.lb-step--geel { background: var(--lb-geel-l); } .lb-step--geel .lb-step__n { color: #B07E00; }
.lb-step--blauw { background: var(--lb-blauw-l); } .lb-step--blauw .lb-step__n { color: #1F6E9A; }
.lb-step--koraal { background: var(--lb-koraal-l); } .lb-step--koraal .lb-step__n { color: #C03A2B; }
.lb-step--mint { background: var(--lb-mint-l); } .lb-step--mint .lb-step__n { color: #177245; }
.lb-step--paars { background: var(--lb-paars-l); } .lb-step--paars .lb-step__n { color: #5B3FC4; }

.lb-rubric { margin-top: 28px; background: #fff; border: 1px solid var(--lb-line); border-radius: 24px; padding: 24px 28px; display: flex; flex-wrap: wrap; gap: 16px 20px; align-items: center; }
.lb-rubric__txt { color: var(--lb-ink-2); flex: 1 1 280px; }
.lb-pill { font-weight: 700; padding: 8px 16px; border-radius: 999px; font-size: 15px; }
.lb-pill--sm { font-size: 13px; padding: 6px 12px; }
.lb-pill--niet { background: var(--lb-koraal-l); color: #8F2A1F; }
.lb-pill--deels { background: var(--lb-geel-l); color: #6B5310; }
.lb-pill--vol { background: var(--lb-mint-l); color: #146C43; }

/* Cards */
.lb-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 24px; }
.lb-card { background: #fff; border: 2px solid var(--lb-ink); border-radius: 28px; padding: 32px; display: flex; flex-direction: column; gap: 14px; transition: transform .2s ease, box-shadow .2s ease; }
.lb-card:hover { transform: translate(-3px, -3px); }
.lb-card h3 { font-size: 25px; line-height: 1.15; }
.lb-card p, .lb-card ul { color: var(--lb-ink-2); }
.lb-card ul { margin: 4px 0 0; padding-left: 20px; line-height: 1.8; }
.lb-card__ico { width: 56px; height: 56px; border-radius: 16px; display: flex; align-items: center; justify-content: center; }
.laibra .lb-link { margin-top: auto; font-weight: 700; color: var(--lb-indigo); text-decoration: none; }
.lb-card--geel { box-shadow: 8px 8px 0 var(--lb-geel); } .lb-card--geel:hover { box-shadow: 11px 11px 0 var(--lb-geel); } .lb-card--geel .lb-card__ico { background: var(--lb-geel-l); color: #8A6200; }
.lb-card--blauw { box-shadow: 8px 8px 0 var(--lb-blauw); } .lb-card--blauw:hover { box-shadow: 11px 11px 0 var(--lb-blauw); } .lb-card--blauw .lb-card__ico { background: var(--lb-blauw-l); color: #1F6E9A; }
.lb-card--koraal { box-shadow: 8px 8px 0 #FF8B7E; } .lb-card--koraal:hover { box-shadow: 11px 11px 0 #FF8B7E; } .lb-card--koraal .lb-card__ico { background: var(--lb-koraal-l); color: #C03A2B; }
.lb-card--mint { box-shadow: 8px 8px 0 var(--lb-mint); } .lb-card--mint:hover { box-shadow: 11px 11px 0 var(--lb-mint); } .lb-card--mint .lb-card__ico { background: var(--lb-mint-l); color: #177245; }

/* Flow */
.lb-flow { background: var(--lb-blauw-l); margin-top: 56px; }
.lb-split { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; padding-top: 88px; padding-bottom: 88px; }
.lb-split__a { flex: 1 1 420px; min-width: 0; }
.lb-split__b { flex: 1 1 440px; min-width: 0; }
.lb-flow__list { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.lb-flow__list li { display: flex; gap: 16px; align-items: flex-start; background: #fff; border-radius: 20px; padding: 18px 20px; }
.lb-num { flex: none; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; }
.lb-num--geel { background: var(--lb-geel); } .lb-num--blauw { background: var(--lb-blauw); } .lb-num--koraal { background: #FF8B7E; } .lb-num--mint { background: var(--lb-mint); }
.lb-mock { background: #fff; border-radius: 28px; padding: 24px; box-shadow: 0 20px 50px rgba(31,110,154,.18); }
.lb-mock__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid #E6EEF4; }
.lb-mock__rows { list-style: none; margin: 0; padding: 16px 0 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.lb-mock__rows li { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.lb-tag { font-weight: 700; padding: 4px 10px; border-radius: 8px; font-size: 14px; }
.lb-tag--vol { background: var(--lb-mint-l); color: #146C43; }
.lb-tag--deels { background: var(--lb-geel-l); color: #6B5310; }
.lb-tag--niet { background: var(--lb-koraal-l); color: #8F2A1F; }
.lb-mock__btns { margin-top: 20px; }
.lb-mock__btns .lb-btn { flex: 1 1 160px; cursor: default; }
.lb-mock__btns .lb-btn:hover { transform: none; box-shadow: none; }

/* Photo band */
.lb-photoband { position: relative; min-height: 600px; display: flex; align-items: center; overflow: hidden; background: var(--lb-ink); }
.laibra .lb-photoband__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 40% 30%; }
.lb-photoband__in { position: relative; width: 100%; display: flex; justify-content: flex-end; padding-top: 48px; padding-bottom: 48px; }
.lb-photoband__card { background: var(--lb-ground); border-radius: 32px; padding: 36px; max-width: 460px; box-shadow: 0 24px 60px rgba(27,31,59,.28); display: flex; flex-direction: column; gap: 14px; }
.lb-photoband__card p { color: var(--lb-ink-2); line-height: 1.6; }
.lb-photoband__card .lb-btn { align-self: flex-start; margin-top: 4px; }
@media (max-width: 760px) {
	.lb-photoband { flex-direction: column; min-height: 0; }
	.laibra .lb-photoband__img { position: relative; height: 340px; }
	.lb-photoband__in { margin-top: -60px; padding-top: 0; }
}

/* Courses */
.lb-courses { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; }
.lb-course { position: relative; overflow: hidden; border-radius: 32px; padding: 36px; display: flex; flex-direction: column; gap: 16px; }
.lb-course > * { position: relative; }
.lb-course::before { content: ""; position: absolute; width: 180px; height: 180px; right: -50px; top: -50px; }
.lb-course h3 { font-size: 32px; line-height: 1.1; }
.lb-course p { line-height: 1.6; }
.lb-course ul { margin: 0; padding-left: 20px; line-height: 1.9; }
.lb-course .lb-btn { align-self: flex-start; margin-top: 8px; }
.lb-meta { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; margin-top: 8px; }
.lb-course--indigo { background: var(--lb-indigo); color: #fff; }
.lb-course--indigo::before { border-radius: 50%; background: #6A62F0; }
.lb-course--indigo p, .lb-course--indigo .lb-meta { color: #E2E5FC; }
.lb-course--koraal { background: var(--lb-koraal); color: var(--lb-ink); }
.lb-course--koraal::before { border-radius: 40px; background: #FF8B7E; transform: rotate(18deg); top: -60px; right: -40px; }
.lb-photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; margin-top: 24px; }
.laibra .lb-photos img { width: 100%; height: 260px; object-fit: cover; border-radius: 24px; }

/* Prices */
.lb-prices { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.lb-price { background: #fff; border: 1px solid var(--lb-line); border-radius: 28px; padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.lb-price h3 { font-size: 24px; }
.lb-price p { color: var(--lb-ink-2); line-height: 1.55; }
.lb-price .lb-btn { margin-top: auto; }
.lb-price__amt { font-family: var(--lb-display); font-weight: 800; font-size: 44px; line-height: 1.1; }
.lb-price--hl { background: var(--lb-ink); color: #fff; border-color: var(--lb-ink); box-shadow: 8px 8px 0 var(--lb-geel); }
.lb-price--hl p { color: #C9CCE0; }

/* Demo */
.lb-demo-wrap { padding-top: 64px; padding-bottom: 96px; }
.lb-demo { position: relative; overflow: hidden; background: var(--lb-geel); border-radius: 40px; padding: clamp(28px, 5vw, 64px); display: flex; flex-wrap: wrap; gap: 32px; align-items: center; justify-content: space-between; }
.lb-demo::before { content: ""; position: absolute; width: 260px; height: 260px; border-radius: 50%; background: #FFD866; right: -60px; bottom: -110px; }
.lb-demo > * { position: relative; }
.lb-demo__text { flex: 1 1 380px; min-width: 0; }
.lb-demo__text .lb-h2 { margin-top: 0; }
.lb-demo__text p { font-size: 18px; }
.lb-demo__msg { flex: 1 1 360px; background: #fff; border-radius: 24px; padding: 24px; font-size: 18px; }
.lb-form { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.lb-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.lb-form label { display: block; font-weight: 700; font-size: 15px; margin-bottom: 6px; }
.lb-form input, .lb-form select {
	width: 100%; min-height: 52px; border: 2px solid var(--lb-ink); border-radius: 16px; padding: 0 16px;
	font: inherit; font-size: 16px; background: #fff; color: var(--lb-ink); margin: 0;
}
.lb-form textarea {
	width: 100%; min-height: 96px; border: 2px solid var(--lb-ink); border-radius: 16px; padding: 12px 16px;
	font: inherit; font-size: 16px; background: #fff; color: var(--lb-ink); margin: 0; resize: vertical;
}
.lb-form__opt { font-weight: 400; color: var(--lb-ink-2); }
.lb-form__err { background: #fff; border-left: 0; border-radius: 14px; padding: 12px 16px; color: #8F2A1F; font-weight: 700; }
.lb-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Footer */
.lb-footer { background: var(--lb-ink); color: #C9CCE0; }
.lb-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; padding-top: 56px; padding-bottom: 32px; }
.laibra .lb-footer__logo { height: 40px; width: auto; margin-bottom: 14px; }
.lb-footer__col { display: flex; flex-direction: column; gap: 8px; }
.lb-footer__col strong { color: #fff; }
.laibra .lb-footer a { color: #C9CCE0; text-decoration: none; }
.laibra .lb-footer a:hover { color: #fff; }
.lb-footer__bottom { border-top: 1px solid #343961; padding-top: 20px; padding-bottom: 32px; font-size: 14px; }

@media (max-width: 600px) {
	.laibra { font-size: 16px; }
	.lb-section { padding-top: 64px; }
	.lb-hero { padding-top: 16px; gap: 32px; }
	.lb-float { bottom: 6%; }
	.lb-card, .lb-course, .lb-price { padding: 26px; }
}

@media (prefers-reduced-motion: reduce) {
	.laibra *, .laibra *::before, .laibra *::after { animation: none !important; transition: none !important; }
	html { scroll-behavior: auto !important; }
}
html:has(.laibra) { scroll-behavior: smooth; }

/* ---------- Onderzoek ---------- */
.lb-section--tight { padding-top: 72px; padding-bottom: 24px; }

.lb-research-link { margin-top: 18px; display: flex; align-items: center; gap: 16px; background: var(--lb-paars-l); border-radius: 24px; padding: 20px 24px; text-decoration: none; transition: transform .15s ease; }
.laibra .lb-research-link { color: var(--lb-ink); }
.lb-research-link:hover { transform: translateY(-2px); }
.lb-research-link__ico { flex: none; width: 44px; height: 44px; border-radius: 14px; background: #fff; color: #5B3FC4; display: flex; align-items: center; justify-content: center; }
.lb-research-link__arrow { margin-left: auto; font-weight: 800; font-size: 22px; color: #5B3FC4; }

.lb-rhero { padding-bottom: 56px; }
.lb-stack { flex: 1 1 420px; min-width: 0; position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 24px 0; }
.lb-stack__card { width: min(320px, 82%); border-radius: 22px; padding: 18px 22px; display: flex; flex-direction: column; border: 2px solid var(--lb-ink); background: #fff; box-shadow: 6px 6px 0 var(--lb-ink); }
.lb-stack__card small { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--lb-ink-2); }
.lb-stack__card strong { font-family: var(--lb-display); font-size: 28px; font-weight: 800; line-height: 1.1; }
.lb-stack__card--geel { background: var(--lb-geel-l); transform: rotate(-4deg) translateX(-18%); }
.lb-stack__card--blauw { background: var(--lb-blauw-l); transform: rotate(3deg) translateX(14%); margin-top: -6px; }
.lb-stack__card--koraal { background: var(--lb-koraal-l); transform: rotate(-2deg) translateX(-8%); margin-top: -6px; }
.lb-stack__arrow { color: var(--lb-indigo); animation: lb-bob 3s ease-in-out infinite; }
.lb-stack__result { display: flex; align-items: center; gap: 16px; background: var(--lb-indigo); color: #fff; border-radius: 26px; padding: 18px 26px 18px 18px; box-shadow: 0 18px 40px rgba(74,79,230,.35); }
.lb-stack__result img { width: 56px; height: 56px; background: #fff; border-radius: 16px; padding: 6px; }
.lb-stack__result small { display: block; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #D9DBFB; }
.lb-stack__result strong { font-family: var(--lb-display); font-size: 28px; font-weight: 800; line-height: 1.1; }

.lb-found { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 24px; }
.lb-src { align-self: flex-start; font-size: 13px; font-weight: 700; background: var(--lb-ground); border: 1px solid var(--lb-line); border-radius: 999px; padding: 5px 12px; color: var(--lb-ink-2); margin-top: -4px; }

.lb-model { background: var(--lb-paars-l); margin-top: 56px; }
.lb-section--model { padding-top: 88px; padding-bottom: 88px; }
.lb-phases { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.lb-phase { background: #fff; border-radius: 28px; padding: 26px; border-top: 10px solid; }
.lb-phase--geel { border-color: var(--lb-geel); } .lb-phase--blauw { border-color: var(--lb-blauw); } .lb-phase--mint { border-color: var(--lb-mint); } .lb-phase--koraal { border-color: var(--lb-koraal); } .lb-phase--paars { border-color: #A895EE; }
.lb-phase__head { margin-bottom: 16px; }
.lb-phase__nr { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--lb-ink-2); }
.lb-phase__head h3 { font-size: 28px; }
.lb-phase__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.lb-phase__steps li { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 18px; background: var(--lb-ground); border-radius: 16px; padding: 10px 14px; }
.lb-phase__steps span { flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--lb-ink); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 15px; }

.lb-collab { background: var(--lb-ink); color: #fff; }
.lb-collab__in { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; padding-top: 88px; padding-bottom: 40px; }
.lb-collab__a { flex: 1 1 440px; min-width: 0; }
.lb-collab__b { flex: 1 1 400px; min-width: 0; }
.lb-collab__txt { color: #C9CCE0; font-size: 18px; line-height: 1.6; max-width: 560px; }
.lb-collab__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 28px; }
.lb-badge-live--dark { background: rgba(111,216,160,.16); color: var(--lb-mint); }
.lb-badge-live--dark span { background: var(--lb-mint); }
.lb-uni { display: inline-flex; align-items: center; gap: 10px; background: #fff; color: var(--lb-ink); border-radius: 16px; padding: 10px 16px; text-decoration: none; }
.laibra .lb-uni { color: var(--lb-ink); }
.lb-uni img { max-height: 40px; width: auto; }
.lb-uni__ico { color: #5B3FC4; display: flex; }
.lb-qcard { background: var(--lb-ground); color: var(--lb-ink); border-radius: 32px; padding: 32px; box-shadow: 8px 8px 0 var(--lb-geel); }
.lb-qcard h3 { font-size: 24px; margin-bottom: 18px; }
.lb-qcard ol { list-style: none; counter-reset: q; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.lb-qcard li { counter-increment: q; display: flex; gap: 14px; align-items: flex-start; font-size: 17px; line-height: 1.5; font-weight: 500; }
.lb-qcard li::before { content: "?"; flex: none; width: 34px; height: 34px; border-radius: 12px; background: var(--lb-geel); font-family: var(--lb-display); font-weight: 800; display: flex; align-items: center; justify-content: center; font-size: 18px; }
.lb-timeline-wrap { padding-top: 32px; padding-bottom: 88px; }
.lb-timeline__title { font-size: 24px; margin-bottom: 20px; color: #fff; }
.lb-timeline { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.lb-timeline li { background: rgba(255,255,255,.06); border: 1px solid #343961; border-radius: 22px; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.lb-timeline li strong { font-family: var(--lb-display); font-size: 20px; }
.lb-timeline li p { color: #C9CCE0; font-size: 15px; line-height: 1.5; }
.lb-timeline .lb-num { color: var(--lb-ink); }

.lb-refs { background: #fff; border: 1px solid var(--lb-line); border-radius: 28px; padding: clamp(24px, 4vw, 40px); }
.lb-refs h2 { margin-bottom: 18px; }
.lb-refs ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.lb-refs li { padding-left: 2em; text-indent: -2em; color: var(--lb-ink-2); font-size: 15px; line-height: 1.55; }

@media (max-width: 600px) {
	.lb-stack__card { width: 88%; }
	.lb-stack__card--geel { transform: rotate(-3deg) translateX(-6%); }
	.lb-stack__card--blauw { transform: rotate(2deg) translateX(6%); }
	.lb-stack__card--koraal { transform: rotate(-1deg) translateX(-3%); }
	.lb-qcard, .lb-phase { padding: 22px; }
	.lb-research-link { align-items: flex-start; }
}

/* ---------- Onderzoeksbelofte ---------- */
.lb-center { text-align: center; }
.lb-collab__more { margin-top: 14px; }
.laibra .lb-collab__more a { color: var(--lb-geel); font-weight: 700; text-decoration: none; }
.laibra .lb-collab__more a:hover { color: #fff; }

.lb-pledges { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; }
.lb-pledge { position: relative; overflow: hidden; border-radius: 32px; padding: 36px; display: flex; flex-direction: column; gap: 14px; }
.lb-pledge p { line-height: 1.6; font-size: 17px; }
.lb-pledge .lb-link { margin-top: 4px; }
.lb-pledge--a { background: #fff; border: 2px solid var(--lb-ink); box-shadow: 8px 8px 0 var(--lb-blauw); }
.lb-pledge--a p { color: var(--lb-ink-2); }
.lb-pledge--b { background: var(--lb-indigo); color: #fff; box-shadow: 8px 8px 0 var(--lb-geel); }
.lb-pledge--b p { color: #E2E5FC; }
.lb-pledge__ico { width: 64px; height: 64px; border-radius: 20px; display: flex; align-items: center; justify-content: center; }
.lb-pledge--a .lb-pledge__ico { background: var(--lb-blauw-l); color: #1F6E9A; }
.lb-pledge--b .lb-pledge__ico { background: rgba(255,255,255,.14); color: var(--lb-geel); }
.lb-pledge__nr { position: absolute; right: 22px; top: 6px; font-family: var(--lb-display); font-weight: 800; font-size: 120px; line-height: 1; opacity: .08; }
.lb-pledge__big { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; }
.lb-pledge__big strong { font-family: var(--lb-display); font-weight: 800; font-size: clamp(64px, 8vw, 96px); line-height: .95; color: var(--lb-geel); }
.lb-pledge__big span { font-weight: 700; color: #E2E5FC; max-width: 180px; line-height: 1.3; }

.lb-spend { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.lb-spend__item { border-radius: 26px; padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.lb-spend__item h3 { font-size: 22px; line-height: 1.2; }
.lb-spend__item p { color: var(--lb-ink-2); line-height: 1.55; }
.lb-spend__item--geel { background: var(--lb-geel-l); }
.lb-spend__item--blauw { background: var(--lb-blauw-l); }
.lb-spend__item--mint { background: var(--lb-mint-l); }
.lb-spend__item--koraal { background: var(--lb-koraal-l); }

.lb-demo--cta .lb-row { position: relative; }
@media (max-width: 600px) {
	.lb-pledge { padding: 26px; }
	.lb-pledge__nr { font-size: 88px; }
}

/* Investeren in onderzoek (onderzoekspagina) */
.lb-invest { display: flex; flex-wrap: wrap; gap: 32px; align-items: stretch; }
.lb-invest > .lb-pledge { flex: 1 1 420px; min-width: 0; justify-content: center; }
.lb-invest__spend { flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.lb-invest__title { font-size: 26px; margin-bottom: 4px; }
.lb-spend--stack { grid-template-columns: 1fr; gap: 12px; margin-top: 16px; }
.lb-spend--stack .lb-spend__item { flex-direction: row; align-items: flex-start; gap: 16px; padding: 20px 22px; border-radius: 22px; }
.lb-spend--stack .lb-spend__item h3 { font-size: 19px; margin-bottom: 4px; }

/* Fase-label op denkstappen */
.lb-step__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.lb-step__fase { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; background: rgba(255,255,255,.7); border-radius: 999px; padding: 4px 10px; color: var(--lb-ink-2); }

/* ---------- Gedeeld: callouts, notes ---------- */
.lb-mb { margin-bottom: 24px; }
.lb-lead--center { margin-left: auto; margin-right: auto; }
.laibra .lb-note { margin-top: 20px; color: var(--lb-ink-2); font-size: 16px; line-height: 1.6; max-width: 820px; }
.laibra .lb-fine { margin-top: 18px; font-size: 13px; color: var(--lb-ink-2); }
.lb-callout { margin-top: 24px; display: flex; gap: 16px; align-items: flex-start; border-radius: 24px; padding: 22px 24px; }
.lb-callout p { line-height: 1.6; font-size: 17px; }
.lb-callout__ico { flex: none; width: 48px; height: 48px; border-radius: 14px; background: #fff; display: flex; align-items: center; justify-content: center; color: var(--lb-indigo); }
.lb-callout--mint { background: var(--lb-mint-l); } .lb-callout--mint .lb-callout__ico { color: #177245; }
.lb-callout--geel { background: var(--lb-geel-l); } .lb-callout--geel .lb-callout__ico { color: #8A6200; }
.lb-callout--blauw { background: var(--lb-blauw-l); } .lb-callout--blauw .lb-callout__ico { color: #1F6E9A; }
.lb-callout--wit { background: #fff; } .lb-callout--wit .lb-callout__ico { background: var(--lb-paars-l); color: #5B3FC4; }
.laibra .lb-btn--ghost { background: transparent; color: var(--lb-ink-2); border-color: var(--lb-line); }

/* ---------- App-pagina ---------- */
.lb-appmock-wrap { aspect-ratio: auto; min-height: 560px; display: flex; align-items: center; justify-content: center; }
.lb-appmock-wrap .lb-shape--sun { left: 12%; right: 0; bottom: 6%; }
.lb-appmock { position: relative; width: min(440px, 100%); background: #fff; border: 2px solid var(--lb-ink); border-radius: 28px; padding: 18px 20px 20px; box-shadow: 10px 10px 0 var(--lb-ink); display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.lb-appmock__bar { display: flex; align-items: center; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid var(--lb-line); }
.lb-appmock__bar span { width: 10px; height: 10px; border-radius: 50%; background: var(--lb-line); }
.lb-appmock__bar span:nth-child(1) { background: #FF8B7E; } .lb-appmock__bar span:nth-child(2) { background: var(--lb-geel); } .lb-appmock__bar span:nth-child(3) { background: var(--lb-mint); }
.lb-appmock__bar strong { margin-left: 8px; font-size: 14px; }
.lb-appmock__step { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.lb-appmock__step strong { font-family: var(--lb-display); font-size: 22px; }
.lb-appmock__fase { order: 2; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; background: var(--lb-blauw-l); color: #1F6E9A; border-radius: 999px; padding: 4px 10px; }
.lb-appmock small { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--lb-ink-2); margin-bottom: 4px; }
.lb-appmock__block { background: var(--lb-ground); border-radius: 14px; padding: 10px 14px; }
.lb-appmock blockquote { margin: 0; font-style: italic; line-height: 1.45; border-left: 4px solid var(--lb-geel); padding-left: 10px; }
.lb-appmock__block p { line-height: 1.45; }
.lb-appmock__block--tip { background: var(--lb-mint-l); }
.lb-appmock__proposal { display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 2px dashed var(--lb-indigo); border-radius: 14px; padding: 10px 14px; }
.lb-appmock__proposal strong { font-family: var(--lb-display); font-size: 20px; color: var(--lb-indigo); }
.lb-appmock__unc { font-size: 13px; font-weight: 700; background: var(--lb-paars-l); color: #5B3FC4; border-radius: 999px; padding: 4px 10px; }
.lb-appmock__teacher { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 4px; }
.lb-appmock__teacher small { margin: 0; }
.lb-appmock__teacher span { font-weight: 700; color: var(--lb-ink-2); font-size: 14px; }
.lb-appmock__btns { gap: 8px; }
.lb-appmock__btns .lb-btn { min-height: 40px; padding: 8px 14px; font-size: 14px; cursor: default; flex: 1 1 auto; }
.lb-appmock__btns .lb-btn:hover { transform: none; box-shadow: none; }

.lb-phase__steps--desc li { align-items: flex-start; font-weight: 400; font-size: 16px; }
.lb-phase__steps--desc li strong { display: block; font-size: 18px; }
.lb-phase__steps--desc li p { color: var(--lb-ink-2); line-height: 1.45; margin-top: 2px; font-size: 15px; }
.lb-phase__steps--desc li > span { margin-top: 2px; }

.lb-proposal { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.lb-proposal__item { border-radius: 24px; padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.lb-proposal__item strong { font-family: var(--lb-display); font-size: 20px; }
.lb-proposal__item p { color: var(--lb-ink-2); line-height: 1.5; font-size: 15px; }
.lb-proposal__ico { width: 44px; height: 44px; border-radius: 14px; background: #fff; display: flex; align-items: center; justify-content: center; }
.lb-proposal__item--geel { background: var(--lb-geel-l); } .lb-proposal__item--geel .lb-proposal__ico { color: #8A6200; }
.lb-proposal__item--blauw { background: var(--lb-blauw-l); } .lb-proposal__item--blauw .lb-proposal__ico { color: #1F6E9A; }
.lb-proposal__item--koraal { background: var(--lb-koraal-l); } .lb-proposal__item--koraal .lb-proposal__ico { color: #C03A2B; }
.lb-proposal__item--mint { background: var(--lb-mint-l); } .lb-proposal__item--mint .lb-proposal__ico { color: #177245; }
.lb-proposal__item--paars { background: var(--lb-paars-l); } .lb-proposal__item--paars .lb-proposal__ico { color: #5B3FC4; }

.lb-split--flat { padding-top: 0; padding-bottom: 0; }
.lb-split--top { align-items: flex-start; }
.lb-tracks { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; max-width: 460px; }
.lb-track { position: relative; background: #fff; border: 2px solid var(--lb-ink); border-radius: 999px; height: 44px; overflow: hidden; }
.lb-track i { position: absolute; inset: 0 auto 0 0; background: var(--lb-blauw); }
.lb-track--b i { background: var(--lb-geel); }
.lb-track span { position: relative; z-index: 1; display: flex; align-items: center; height: 100%; padding: 0 18px; font-weight: 700; }
.lb-levels { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.lb-level { display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 2px solid var(--lb-ink); border-radius: 22px; padding: 18px 20px; }
.lb-level--1 { margin-right: 15%; box-shadow: 6px 6px 0 var(--lb-blauw); }
.lb-level--2 { margin-left: 7%; margin-right: 7%; box-shadow: 6px 6px 0 var(--lb-geel); }
.lb-level--3 { margin-left: 15%; box-shadow: 6px 6px 0 var(--lb-mint); }
.lb-level__nr { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--lb-ink); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.lb-level strong { font-family: var(--lb-display); font-size: 20px; }
.lb-level p { color: var(--lb-ink-2); line-height: 1.5; margin-top: 2px; }

.lb-routes { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; margin-top: 32px; }
.lb-routes .lb-card h3 { font-size: 28px; }
.lb-kw .lb-h2 { color: #fff; }
.lb-kw .lb-timeline { margin-top: 28px; }
.laibra .lb-collab__note { margin-top: 28px; max-width: 820px; font-size: 16px; }

.lb-stairs { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; align-items: end; }
.lb-stairs__item { border-radius: 24px; padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.lb-stairs__item strong { font-family: var(--lb-display); font-size: 20px; line-height: 1.2; }
.lb-stairs__item p { color: var(--lb-ink-2); line-height: 1.5; font-size: 15px; }
.lb-spend__item--paars { background: var(--lb-paars-l); }
@media (min-width: 1100px) {
	.lb-stairs { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.lb-stairs__item:nth-child(1) { min-height: 210px; } .lb-stairs__item:nth-child(2) { min-height: 240px; } .lb-stairs__item:nth-child(3) { min-height: 270px; } .lb-stairs__item:nth-child(4) { min-height: 300px; } .lb-stairs__item:nth-child(5) { min-height: 330px; }
}

/* ---------- Privacypagina ---------- */
.lb-pledge-hero { text-align: center; padding-top: 56px; padding-bottom: 32px; display: flex; flex-direction: column; align-items: center; }
.lb-pledge-hero .lb-h1 { max-width: 900px; }
.lb-pledge-hero .lb-lead { max-width: 720px; }
.lb-toc { margin-top: 28px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.laibra .lb-toc a { text-decoration: none; background: #fff; border: 2px solid var(--lb-ink); border-radius: 999px; padding: 10px 16px; font-weight: 700; font-size: 15px; transition: background .15s ease; }
.laibra .lb-toc a:hover { background: var(--lb-geel); color: var(--lb-ink); }
.lb-principles { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.lb-principle { border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.lb-principle h3 { font-size: 21px; }
.lb-principle p { color: var(--lb-ink-2); line-height: 1.5; }
.lb-principle__ico { width: 48px; height: 48px; border-radius: 14px; background: #fff; display: flex; align-items: center; justify-content: center; color: var(--lb-ink); }
.lb-roles { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.lb-role { border-radius: 28px; padding: 30px; display: flex; flex-direction: column; gap: 10px; }
.lb-role h3 { font-size: 30px; }
.lb-role p { line-height: 1.6; font-size: 17px; }
.lb-role__tag { align-self: flex-start; font-size: 13px; font-weight: 700; border-radius: 999px; padding: 6px 12px; }
.lb-role--school { background: #fff; border: 2px solid var(--lb-ink); box-shadow: 8px 8px 0 var(--lb-geel); }
.lb-role--school p { color: var(--lb-ink-2); }
.lb-role--school .lb-role__tag { background: var(--lb-geel-l); color: #6B5310; }
.lb-role--laibra { background: var(--lb-indigo); color: #fff; box-shadow: 8px 8px 0 var(--lb-blauw); }
.lb-role--laibra p { color: #E2E5FC; }
.lb-role--laibra .lb-role__tag { background: rgba(255,255,255,.16); color: #fff; }
.lb-datatable { background: #fff; border-radius: 28px; overflow: hidden; border: 1px solid var(--lb-line); }
.lb-datatable__row { display: grid; grid-template-columns: 1fr 1.4fr 1.6fr; gap: 20px; padding: 20px 24px; border-top: 1px solid var(--lb-line); line-height: 1.5; }
.lb-datatable__head { border-top: 0; background: var(--lb-ink); color: #fff; font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .05em; }
.lb-datatable__doel { font-weight: 800; font-family: var(--lb-display); font-size: 19px; display: flex; gap: 10px; align-items: flex-start; }
.lb-datatable__row span:not(.lb-datatable__doel) { color: var(--lb-ink-2); }
.lb-datatable__head span { color: #fff !important; }
.lb-dot { flex: none; width: 14px; height: 14px; border-radius: 50%; margin-top: 6px; }
.lb-dot--geel { background: var(--lb-geel); } .lb-dot--blauw { background: var(--lb-blauw); } .lb-dot--mint { background: var(--lb-mint); } .lb-dot--koraal { background: var(--lb-koraal); }
@media (max-width: 760px) {
	.lb-datatable__head { display: none; }
	.lb-datatable__row { grid-template-columns: 1fr; gap: 8px; }
	.lb-datatable__row span[data-label]::before { content: attr(data-label); display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--lb-ink); margin-bottom: 2px; }
}
.lb-timeline--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.lb-faq { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; }
.lb-faq details { background: #fff; border: 2px solid var(--lb-ink); border-radius: 20px; padding: 0 20px; }
.lb-faq summary { cursor: pointer; list-style: none; padding: 16px 32px 16px 0; font-weight: 700; font-size: 17px; position: relative; }
.lb-faq summary::-webkit-details-marker { display: none; }
.lb-faq summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; background: var(--lb-geel); display: flex; align-items: center; justify-content: center; font-weight: 800; }
.lb-faq details[open] summary::after { content: "–"; background: var(--lb-mint); }
.lb-faq details p { padding: 0 0 18px; color: var(--lb-ink-2); line-height: 1.6; }
.lb-letter { background: var(--lb-geel-l); border-radius: 32px; padding: 32px; display: flex; flex-direction: column; gap: 14px; position: relative; }
.lb-letter::before { content: "“"; position: absolute; right: 24px; top: -10px; font-family: var(--lb-display); font-size: 140px; line-height: 1; color: var(--lb-geel); }
.lb-letter h3 { font-size: 24px; max-width: 80%; }
.lb-letter p { font-size: 18px; line-height: 1.65; background: #fff; border-radius: 18px; padding: 20px; }
.lb-letter .lb-btn { align-self: flex-start; }
.lb-docs { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 14px; }
.lb-doc { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid var(--lb-line); border-radius: 22px; padding: 18px 20px; }
.lb-doc > div { flex: 1; min-width: 0; }
.lb-doc strong { font-size: 17px; }
.lb-doc p { color: var(--lb-ink-2); font-size: 14px; line-height: 1.45; margin-top: 2px; }
.lb-doc__ico { flex: none; width: 46px; height: 46px; border-radius: 14px; background: var(--lb-paars-l); color: #5B3FC4; display: flex; align-items: center; justify-content: center; }
.lb-doc .lb-btn { flex: none; min-height: 42px; padding: 8px 16px; font-size: 14px; }
.lb-refs--small { margin-top: 28px; }
.lb-refs--small h3 { font-size: 20px; margin-bottom: 12px; }
.laibra .lb-refs a { color: var(--lb-indigo); }
@media (max-width: 600px) {
	.lb-appmock-wrap { min-height: 0; padding: 24px 0; }
	.lb-level--1, .lb-level--2, .lb-level--3 { margin-left: 0; margin-right: 0; }
	.lb-doc { flex-wrap: wrap; }
	.lb-letter::before { font-size: 100px; }
}

/* ---------- Werkplek ---------- */
.lb-wshead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 32px; padding-top: 32px; padding-bottom: 24px; }
.lb-wshead__text { flex: 1 1 520px; min-width: 0; }
.lb-wshead .lb-h2 { margin: 8px 0 10px; }
.lb-wshead .lb-lead { font-size: 18px; }
.lb-wshead__links { flex: none; }
.lb-workspace { padding-bottom: 32px; }
.lb-workspace__frame { background: #fff; border: 2px solid var(--lb-ink); border-radius: 28px; box-shadow: 10px 10px 0 var(--lb-geel); overflow: hidden; }
.lb-workspace__bar { display: flex; align-items: center; gap: 6px; padding: 14px 20px; border-bottom: 1px solid var(--lb-line); background: var(--lb-ground); }
.lb-workspace__bar span { width: 11px; height: 11px; border-radius: 50%; }
.lb-workspace__bar span:nth-child(1) { background: #FF8B7E; } .lb-workspace__bar span:nth-child(2) { background: var(--lb-geel); } .lb-workspace__bar span:nth-child(3) { background: var(--lb-mint); }
.lb-workspace__bar strong { margin-left: 10px; font-size: 14px; }
.lb-workspace__body { min-height: 520px; }
.lb-workspace__tool { padding: clamp(16px, 3vw, 32px); }
.lb-workspace__iframe { display: block; width: 100%; height: min(80vh, 900px); min-height: 560px; border: 0; }
.lb-workspace__empty { min-height: 520px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; text-align: center; padding: 40px 24px; background: radial-gradient(circle at 80% 20%, var(--lb-geel-l) 0 120px, transparent 121px), radial-gradient(circle at 15% 85%, var(--lb-blauw-l) 0 90px, transparent 91px); }
.lb-workspace__empty p { max-width: 480px; font-size: 18px; line-height: 1.55; color: var(--lb-ink-2); }
.lb-workspace__ico { width: 72px; height: 72px; border-radius: 22px; background: var(--lb-indigo); color: #fff; display: flex; align-items: center; justify-content: center; }
.lb-wshelp { padding-bottom: 56px; text-align: center; color: var(--lb-ink-2); }
.laibra .lb-wshelp a { color: var(--lb-indigo); font-weight: 700; }
@media (max-width: 600px) {
	.lb-workspace__body, .lb-workspace__empty { min-height: 420px; }
	.lb-workspace__frame { box-shadow: 6px 6px 0 var(--lb-geel); }
}

/* ---------- Over Laibra ---------- */
.lb-mt { margin-top: 32px; }
.lb-aboutphoto { flex: 1 1 420px; min-width: 0; position: relative; padding: 24px 12px; }
.lb-aboutphoto .lb-shape--coral { top: 0; right: 0; width: 26%; }
.lb-aboutphoto .lb-shape--tile { bottom: 4px; left: 0; top: auto; width: 16%; }
.lb-aboutphoto__frame { position: relative; border-radius: 32px; overflow: hidden; border: 2px solid var(--lb-ink); box-shadow: 10px 10px 0 var(--lb-geel); transform: rotate(1.5deg); }
.laibra .lb-aboutphoto__frame img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 40% 30%; }
.lb-mission .lb-wrap { padding-top: 72px; padding-bottom: 72px; }
.lb-mission__txt { font-family: var(--lb-display); font-weight: 800; font-size: clamp(26px, 3.4vw, 44px); line-height: 1.18; max-width: 980px; }
.lb-course h3 { font-size: 30px; }
.lb-track-record { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 16px; }
.lb-tr { display: flex; gap: 16px; align-items: flex-start; background: #fff; border-radius: 24px; padding: 22px; border-left: 0; }
.lb-tr h3 { font-size: 21px; line-height: 1.2; }
.lb-tr p { color: var(--lb-ink-2); line-height: 1.5; margin-top: 4px; }
.lb-tr__ico { flex: none; width: 52px; height: 52px; border-radius: 16px; display: flex; align-items: center; justify-content: center; }
.lb-tr--geel .lb-tr__ico { background: var(--lb-geel-l); color: #8A6200; }
.lb-tr--blauw .lb-tr__ico { background: var(--lb-blauw-l); color: #1F6E9A; }
.lb-tr--koraal .lb-tr__ico { background: var(--lb-koraal-l); color: #C03A2B; }
.lb-tr--mint .lb-tr__ico { background: var(--lb-mint-l); color: #177245; }
.lb-tr--paars .lb-tr__ico { background: var(--lb-paars-l); color: #5B3FC4; }

/* Demo-tabbladen (Demo-basis / Demo-klasoverzicht) */
.lb-demotabs { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 18px; }
.laibra .lb-demotab { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border: 2px solid var(--lb-ink); border-radius: 999px; background: #fff; color: var(--lb-ink); font-weight: 700; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.laibra .lb-demotab:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--lb-ink); }
.laibra .lb-demotab.is-active { background: var(--lb-ink); color: #fff; box-shadow: 4px 4px 0 var(--lb-geel); }
.lb-workspace--klas .lb-workspace__frame { box-shadow: 10px 10px 0 var(--lb-blauw); }
.lb-workspace--klas .lb-workspace__tool { overflow-x: auto; }
.lb-workspace--basis .lb-workspace__frame { box-shadow: 10px 10px 0 var(--lb-mint); }
@media (max-width: 720px) {
	.lb-workspace--klas .lb-workspace__frame { box-shadow: 6px 6px 0 var(--lb-blauw); }
	.lb-workspace--basis .lb-workspace__frame { box-shadow: 6px 6px 0 var(--lb-mint); }
}
