:root {
    --ink: #121827;
    --ink-2: #20293a;
    --ink-3: #3e485a;
    --muted: #687386;
    --paper: #ffffff;
    --soft: #f5f6f8;
    --soft-purple: #f2efff;
    --line: #dde2e9;
    --line-dark: rgba(255,255,255,.15);
    --purple: #0057A8;
    --purple-dark: #00437F;
    --green: #0057A8;
    --green-dark: #00437F;
    --green-soft: #e7f8f0;
    --cream: #f7f1e7;
    --danger: #a72c28;
    --success: #087647;
    --shadow-sm: 0 12px 34px rgba(18,24,39,.07);
    --shadow-md: 0 24px 70px rgba(18,24,39,.13);
    --radius-sm: 12px;
    --radius: 20px;
    --radius-lg: 30px;
    --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: Poppins, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 9999; padding: 10px 14px; border-radius: 8px; background: #fff; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; }

.utility-bar { background: #0d1320; color: #bcc4d2; font-size: 12px; }
.utility-bar-inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }

.site-header { position: sticky; top: 0; z-index: 60; background: rgba(255,255,255,.95); border-bottom: 1px solid rgba(18,24,39,.08); backdrop-filter: blur(16px); }
.header-inner { min-height: 78px; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; text-decoration: none; }
.brand-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: linear-gradient(145deg, var(--purple), #4f2dd0); color: #fff; font-size: 20px; font-weight: 700; box-shadow: 0 9px 24px rgba(0,87,168,.28); }
.brand-copy { display: grid; line-height: 1.12; }
.brand-copy strong { font-size: 18px; letter-spacing: -.025em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: 10px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 26px; }
.main-nav a { color: var(--ink-2); text-decoration: none; font-size: 14px; font-weight: 550; }
.main-nav a:hover { color: var(--purple); }
.nav-toggle { display: none; margin-left: auto; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; }
.nav-toggle > span:not(.sr-only) { display: block; height: 2px; margin: 5px 0; background: var(--ink); }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 1px solid var(--green); border-radius: 10px; background: var(--green); color: #fff; text-decoration: none; font-weight: 650; line-height: 1.2; cursor: pointer; box-shadow: 0 10px 24px rgba(0,87,168,.2); transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.button:hover { transform: translateY(-1px); background: var(--green-dark); border-color: var(--green-dark); box-shadow: 0 14px 30px rgba(0,87,168,.26); }
.button:disabled, .button[aria-busy="true"] { cursor: wait; opacity: .72; transform: none; box-shadow: none; }
.button-small { min-height: 42px; padding: 10px 16px; font-size: 14px; }
.button-large { min-height: 54px; padding: 15px 24px; }
.button-full { width: 100%; }
.button-secondary { border-color: var(--line); background: #fff; color: var(--ink); box-shadow: none; }
.button-secondary:hover { background: var(--soft); border-color: #cbd2dc; color: var(--ink); box-shadow: none; }
.button-ghost { border-color: rgba(255,255,255,.3); background: transparent; color: #fff; box-shadow: none; }
.button-ghost:hover { border-color: rgba(255,255,255,.65); background: rgba(255,255,255,.08); }
.button-light { border-color: #fff; background: #fff; color: var(--ink); box-shadow: none; }
.button-light:hover { border-color: var(--cream); background: var(--cream); color: var(--ink); }

.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--purple); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 24px; height: 2px; background: currentColor; }
.eyebrow-light { color: #D5E7F5; }

.hero { position: relative; overflow: hidden; color: #fff; background: linear-gradient(128deg, #101725 0%, #161d2c 53%, #1d2340 100%); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to right, transparent, #000 55%, #000); }
.hero::after { content: ""; position: absolute; width: 520px; height: 520px; right: -140px; top: -170px; border-radius: 50%; background: radial-gradient(circle, rgba(0,87,168,.34), transparent 68%); }
.hero-grid { position: relative; z-index: 1; min-height: 660px; padding-block: 84px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(370px, .72fr); gap: 72px; align-items: center; }
.hero-content h1 { max-width: 760px; margin: 18px 0 22px; font-size: clamp(48px, 6.1vw, 78px); line-height: .98; letter-spacing: -.052em; }
.hero-lead { max-width: 720px; margin: 0; color: #c6cfdd; font-size: clamp(18px, 2vw, 21px); line-height: 1.62; }
.hero-actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero-proof { margin-top: 42px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.hero-proof > div { padding-top: 17px; border-top: 1px solid rgba(255,255,255,.17); }
.hero-proof strong { display: block; font-size: 14px; }
.hero-proof span { display: block; margin-top: 5px; color: #9faabc; font-size: 12px; line-height: 1.45; }
.hero-calculator { padding: 29px; border: 1px solid rgba(255,255,255,.16); border-radius: 26px; background: rgba(255,255,255,.085); box-shadow: 0 32px 80px rgba(0,0,0,.25); backdrop-filter: blur(17px); }
.calculator-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.calculator-label { color: #b8c2d2; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.status-dot { display: inline-flex; align-items: center; gap: 7px; color: #9ce3c0; font-size: 12px; font-weight: 600; }
.status-dot::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #2A83CC; box-shadow: 0 0 0 5px rgba(42,131,204,.12); }
.hero-calculator h2 { margin: 29px 0 6px; font-size: 30px; line-height: 1.15; letter-spacing: -.035em; }
.hero-calculator > p { margin: 0; color: #b3becf; font-size: 14px; }
.hero-number-row { margin-top: 26px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hero-number-row div { padding: 16px; border-radius: 13px; background: rgba(255,255,255,.08); }
.hero-number-row span, .hero-total-row span { display: block; color: #9faabc; font-size: 12px; }
.hero-number-row strong { display: block; margin-top: 4px; font-size: 21px; }
.hero-total-row { margin: 13px 0 17px; padding: 18px; display: flex; align-items: end; justify-content: space-between; gap: 20px; border-radius: 15px; background: #fff; color: var(--ink); }
.hero-total-row span { color: var(--muted); }
.hero-total-row strong { font-size: 25px; }
.calculator-note { margin-bottom: 20px !important; color: #a7b1c1 !important; font-size: 12px !important; }

.trust-strip { border-bottom: 1px solid var(--line); background: #fff; }
.trust-strip-grid { min-height: 74px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; gap: 22px; }
.trust-strip span { position: relative; padding-left: 18px; color: var(--ink-3); font-size: 13px; font-weight: 750; }
.trust-strip span::before { content: ""; position: absolute; left: 0; top: .57em; width: 7px; height: 7px; border-radius: 50%; background: var(--green); }

.message-section { padding-top: 28px; }
.alert { padding: 17px 19px; display: flex; align-items: flex-start; gap: 13px; border: 1px solid; border-radius: 12px; }
.alert strong { flex: 0 0 auto; }
.alert ul { margin: 0; padding-left: 20px; }
.alert-success { color: var(--success); background: #eefaf4; border-color: #a8dfc3; }
.alert-error { color: var(--danger); background: #fff3f2; border-color: #efbbb7; }

.submission-result { margin-bottom: 28px; padding: 24px; display: grid; grid-template-columns: 48px 1fr; gap: 18px; border: 1px solid; border-radius: 18px; box-shadow: var(--shadow-sm); outline: none; }
.submission-result:focus { box-shadow: 0 0 0 4px rgba(0,87,168,.14), var(--shadow-sm); }
.submission-result-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; font-size: 24px; font-weight: 700; }
.submission-result h3 { margin: 6px 0 8px; font-size: 28px; line-height: 1.15; letter-spacing: -.03em; }
.submission-result p { margin: 0; color: var(--ink-3); }
.submission-result-success { border-color: #9fd9bc; background: #f1fbf6; }
.submission-result-success .submission-result-icon { color: #fff; background: var(--green); }
.submission-result-error { border-color: #efbbb7; background: #fff5f4; }
.submission-result-error .submission-result-icon { color: #fff; background: var(--danger); }
.submission-result-error ul { margin: 8px 0 0; padding-left: 20px; color: var(--danger); }
.submission-result-dark { margin-bottom: 18px; border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: #fff; box-shadow: none; }
.submission-result-dark h3, .submission-result-dark strong { color: #fff; }
.submission-result-dark p, .submission-result-dark li { color: #e5e8ef; }
.submission-result-dark.submission-result-error { background: rgba(135,35,32,.34); }
.submission-steps { margin: 18px 0 0; padding-left: 20px; color: var(--ink-3); }
.submission-steps li + li { margin-top: 6px; }
.submission-note { margin-top: 15px !important; padding-top: 14px; border-top: 1px solid rgba(18,24,39,.1); font-size: 13px; font-weight: 550; }
.submission-result-dark .submission-note { border-color: rgba(255,255,255,.18); }
.form-submit-status { min-height: 20px; margin: 10px 0 0; color: var(--muted); font-size: 12px; text-align: center; }
.is-submitting { opacity: .94; }

.section { padding-block: 104px; }
.section-heading { max-width: 820px; margin: 0 auto 46px; text-align: center; }
.section-heading.align-left { margin-inline: 0; text-align: left; }
.section-heading h2, .section-split-heading h2, .process-copy h2, .quality-copy h2, .custom-request-copy h2 { margin: 14px 0 16px; font-size: clamp(35px, 4.5vw, 56px); line-height: 1.06; letter-spacing: -.046em; font-weight: 650;}
.section-heading p, .section-split-heading > p, .quality-copy > p, .custom-request-copy > p { margin: 0; color: var(--muted); font-size: 17px; }
.compact-heading { max-width: 850px; }
.section-split-heading { margin-bottom: 48px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 76px; align-items: end; }
.section-split-heading > div { max-width: 720px; }
.section-split-heading > p { padding-bottom: 7px; }

.intro-section { background: #fff; }
.usecase-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.usecase-card { min-height: 250px; padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }
.usecase-card > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: var(--soft-purple); color: var(--purple); font-size: 12px; font-weight: 700; }
.usecase-card h3 { margin: 42px 0 10px; font-size: 21px; line-height: 1.2; letter-spacing: -.025em; }
.usecase-card p { margin: 0; color: var(--muted); font-size: 14px; }

.package-section { background: var(--soft); }
.package-grid { display: grid; gap: 20px; }
.package-grid-three { grid-template-columns: repeat(3, 1fr); }
.package-card { position: relative; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-sm); }
.package-card-featured { border-color: rgba(0,87,168,.45); box-shadow: 0 18px 55px rgba(0,87,168,.12); }
.package-badge { position: absolute; top: 17px; right: 17px; padding: 6px 9px; border-radius: 999px; background: var(--soft-purple); color: var(--purple-dark); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.package-title > span { color: var(--purple); font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.package-title h3 { margin: 7px 0 8px; font-size: 27px; letter-spacing: -.035em; }
.package-title p { min-height: 76px; margin: 0; color: var(--muted); font-size: 14px; }
.package-price { margin: 24px 0 20px; padding: 17px; border-radius: 14px; background: var(--soft); }
.package-price span, .package-price small { display: block; color: var(--muted); font-size: 11px; }
.package-price strong { display: block; margin: 2px 0; font-size: 28px; letter-spacing: -.035em; }
.package-card ul { list-style: none; margin: 0 0 25px; padding: 0; display: grid; gap: 9px; flex: 1; }
.package-card li { position: relative; padding-left: 20px; color: var(--ink-3); font-size: 13px; }
.package-card li::before { content: "✓"; position: absolute; left: 0; color: var(--green); font-weight: 900; }

.process-section { color: #fff; background: linear-gradient(128deg, #082F55 0%, #0057A8 58%, #0057A8 100%); }
.process-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 86px; align-items: start; }
.process-copy { position: sticky; top: 120px; }
.process-copy > p { margin: 0 0 28px; color: #e3ddff; font-size: 17px; }
.process-list { list-style: none; margin: 0; padding: 0; display: grid; }
.process-list li { padding: 25px 0; display: grid; grid-template-columns: 54px 1fr; gap: 20px; border-bottom: 1px solid rgba(255,255,255,.18); }
.process-list li:first-child { padding-top: 0; }
.process-list > li > span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 14px; font-weight: 900; }
.process-list h3 { margin: 0 0 5px; font-size: 20px; }
.process-list p { margin: 0; color: #ded8ff; font-size: 14px; }

.pricing-section { background: #fff; }
.pricing-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-sm); }
.pricing-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.pricing-table th, .pricing-table td { padding: 20px 22px; border-bottom: 1px solid var(--line); text-align: left; }
.pricing-table thead th { background: var(--ink); color: #fff; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.pricing-table tbody th { font-size: 15px; }
.pricing-table tbody td { font-size: 18px; font-weight: 850; }
.pricing-table tbody td small { color: var(--muted); font-size: 11px; font-weight: 600; }
.pricing-table tr:last-child th, .pricing-table tr:last-child td { border-bottom: 0; }
.over-limit-card { margin-top: 24px; padding: 27px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border: 1px solid #cfc5ff; border-radius: 18px; background: var(--soft-purple); }
.over-limit-card h3 { margin: 7px 0 5px; font-size: 24px; letter-spacing: -.03em; }
.over-limit-card p { margin: 0; color: var(--muted); }

.calculator-section { background: linear-gradient(180deg, #f5f6f8 0%, #ffffff 100%); }
.calculator-heading { margin-bottom: 34px; }
.form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
.form-stack { display: grid; gap: 18px; }
.form-card { padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow-sm); }
.form-card-heading { margin-bottom: 22px; display: grid; grid-template-columns: 42px 1fr; gap: 15px; align-items: start; }
.form-card-heading > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: var(--ink); color: #fff; font-size: 13px; font-weight: 900; }
.form-card-heading h3 { margin: 0 0 3px; font-size: 22px; letter-spacing: -.03em; }
.form-card-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.package-choice-grid { display: grid; gap: 12px; }
.package-choice-grid-three { grid-template-columns: repeat(3, 1fr); }
.package-choice { position: relative; cursor: pointer; }
.package-choice input { position: absolute; opacity: 0; pointer-events: none; }
.package-choice > span { min-height: 122px; padding: 17px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; background: #fff; transition: border-color .18s, box-shadow .18s, background .18s; }
.package-choice strong { font-size: 14px; }
.package-choice small { color: var(--muted); font-size: 11px; }
.package-choice b { margin-top: auto; color: var(--purple); font-size: 13px; }
.package-choice input:checked + span { border-color: var(--purple); background: var(--soft-purple); box-shadow: 0 0 0 3px rgba(0,87,168,.1); }
.fields { display: grid; gap: 16px; }
.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field.full { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 7px; color: var(--ink-2); font-size: 13px; font-weight: 800; }
.required::after { content: " *"; color: var(--danger); }
.optional-label { color: var(--muted); font-size: 10px; font-weight: 650; }
input, select, textarea { width: 100%; border: 1px solid #ccd3dd; border-radius: 10px; background: #fff; color: var(--ink); padding: 12px 13px; outline: none; transition: border-color .18s, box-shadow .18s; }
input:focus, select:focus, textarea:focus { border-color: var(--purple); box-shadow: 0 0 0 4px rgba(0,87,168,.1); }
textarea { min-height: 126px; resize: vertical; }
.textarea-small { min-height: 100px; }
.quantity-layout { display: grid; grid-template-columns: minmax(180px, 260px) 1fr; gap: 18px; align-items: end; }
.quick-quantities { display: flex; flex-wrap: wrap; gap: 8px; }
.quick-quantities button { min-height: 44px; padding: 9px 15px; border: 1px solid var(--line); border-radius: 9px; background: #fff; cursor: pointer; font-size: 13px; font-weight: 600; }
.quick-quantities button:hover, .quick-quantities button.active { border-color: var(--purple); background: var(--soft-purple); color: var(--purple-dark); }
.active-tier { margin-top: 18px; padding: 14px 16px; display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 12px; border-radius: 12px; background: var(--soft); font-size: 13px; }
.active-tier span { color: var(--muted); }
.active-tier strong { text-align: right; }
.field-note { margin: 12px 0 0; color: var(--muted); font-size: 12px; }
.field-note a { color: var(--purple); font-weight: 800; }
.conditional-fields { margin-top: 18px; display: grid; gap: 13px; }
.conditional-panel[hidden] { display: none !important; }
.conditional-panel { padding: 20px; border: 1px solid #d7d0ff; border-radius: 14px; background: #faf9ff; }
.conditional-panel-basic { border-style: dashed; }
.conditional-panel-basic strong { display: block; font-size: 14px; }
.conditional-panel-basic p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.conditional-panel-custom { padding: 23px; background: linear-gradient(180deg, #f8f6ff 0%, #fff 100%); }
.conditional-heading { margin-bottom: 15px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.conditional-kicker { display: block; margin-bottom: 4px; color: var(--purple); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.conditional-heading h4 { margin: 0; font-size: 18px; }
.conditional-required { padding: 5px 8px; border-radius: 999px; background: var(--soft-purple); color: var(--purple-dark); white-space: nowrap; font-size: 10px; font-weight: 850; }
.spaced-fields { margin-top: 12px; }
.selection-notice { margin-top: 18px; padding: 16px 18px; border-left: 4px solid var(--green); border-radius: 0 12px 12px 0; background: var(--green-soft); }
.selection-notice strong { display: block; margin-bottom: 3px; font-size: 13px; }
.selection-notice p { margin: 0; color: var(--ink-3); font-size: 12px; }
.consent { margin: 0 !important; padding: 14px; display: flex !important; align-items: flex-start; gap: 10px; border-radius: 11px; background: var(--soft); font-weight: 600 !important; line-height: 1.55; }
.consent input { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; accent-color: var(--purple); }
.consent a { color: var(--purple); }
.form-summary { min-width: 0; }
.summary-sticky { position: sticky; top: 104px; padding: 25px; border-radius: 20px; background: var(--ink); color: #fff; box-shadow: var(--shadow-md); }
.summary-label { color: #9ca8bb; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.summary-sticky h3 { margin: 8px 0 5px; font-size: 25px; letter-spacing: -.035em; }
.summary-sticky > p { margin: 0; color: #aeb8c8; font-size: 13px; }
.summary-lines { margin-top: 20px; display: grid; }
.summary-lines > div { padding: 10px 0; display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid rgba(255,255,255,.11); }
.summary-lines span, .summary-total span { color: #aeb8c8; font-size: 12px; }
.summary-lines strong { font-size: 13px; text-align: right; }
.summary-total { margin: 18px 0; padding: 15px; border-radius: 13px; background: rgba(255,255,255,.08); }
.summary-total > div { padding: 5px 0; display: flex; justify-content: space-between; gap: 18px; }
.summary-total strong { font-size: 13px; }
.summary-total .grand-total { margin-top: 8px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.15); }
.summary-total .grand-total strong { font-size: 21px; }
.summary-disclaimer { margin-top: 12px !important; color: #8f9bac !important; font-size: 11px !important; text-align: center; }

.quality-section { background: var(--cream); }
.quality-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 72px; align-items: start; }
.quality-copy { max-width: 520px; }
.quality-cards { display: grid; gap: 14px; }
.quality-cards article { padding: 22px 24px; display: grid; grid-template-columns: 150px 1fr; gap: 20px; border: 1px solid #e0d7c8; border-radius: 15px; background: rgba(255,255,255,.72); }
.quality-cards strong { font-size: 14px; }
.quality-cards p { margin: 0; color: var(--muted); font-size: 14px; }

.custom-request-section { color: #fff; background: linear-gradient(128deg, #111827 0%, #182032 60%, #252c46 100%); }
.custom-request-grid { display: grid; grid-template-columns: .84fr 1.16fr; gap: 72px; align-items: center; }
.custom-request-copy > p { color: #bec7d6; }
.custom-request-copy ul { margin: 28px 0 0; padding: 0; list-style: none; display: grid; gap: 11px; }
.custom-request-copy li { position: relative; padding-left: 22px; color: #d4dbe6; font-size: 14px; }
.custom-request-copy li::before { content: "✓"; position: absolute; left: 0; color: #70d5a4; font-weight: 900; }
.quick-request-card { padding: 30px; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: #fff; color: var(--ink); box-shadow: 0 28px 80px rgba(0,0,0,.25); }
.quick-card-heading { margin-bottom: 21px; }
.quick-card-heading > span { color: var(--purple); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.quick-card-heading h3 { margin: 5px 0 4px; font-size: 28px; letter-spacing: -.035em; }
.quick-card-heading p { margin: 0; color: var(--muted); font-size: 13px; }

.faq-section { background: #fff; }
.faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 72px; align-items: start; }
.faq-intro { position: sticky; top: 112px; }
.faq-intro h2 { font-size: clamp(34px, 4vw, 50px); }
.faq-intro a { color: var(--purple); font-weight: 800; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { list-style: none; padding: 21px 0; display: flex; justify-content: space-between; gap: 18px; cursor: pointer; font-weight: 650; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--purple); font-size: 20px; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details > div { padding: 0 0 22px; }
.faq-list p { margin: 0; color: var(--muted); }

.final-cta { padding-block: 72px; color: #fff; background: var(--purple); }
.final-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 44px; }
.final-cta h2 { max-width: 760px; margin: 10px 0 0; font-size: clamp(31px, 4vw, 50px); line-height: 1.08; letter-spacing: -.04em; }
.final-cta-actions { display: flex; flex-wrap: wrap; gap: 10px; flex: 0 0 auto; }

.site-footer { color: #c2cad7; background: #0d1320; }
.footer-grid { padding-block: 64px; display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 48px; }
.footer-logo .brand-copy strong { color: #fff; }
.footer-logo .brand-copy small { color: #8793a5; }
.footer-brand p { max-width: 430px; margin: 20px 0 0; color: #8e99aa; font-size: 13px; }
.footer-grid > div:not(.footer-brand) { display: grid; align-content: start; gap: 8px; }
.footer-grid h2 { margin: 0 0 8px; color: #fff; font-size: 13px; }
.footer-grid a, .footer-grid span { color: #96a2b4; text-decoration: none; font-size: 13px; }
.footer-grid a:hover { color: #fff; }
.footer-bottom { min-height: 66px; padding-block: 16px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border-top: 1px solid rgba(255,255,255,.09); color: #7f8b9d; font-size: 12px; }
.footer-bottom div { display: flex; gap: 18px; }
.footer-bottom a { color: inherit; text-decoration: none; }
.mobile-cta { display: none; }

/* Juridische pagina's */
.legal-page { background: var(--soft); }
.legal-hero { padding: 70px 0 48px; color: #fff; background: linear-gradient(128deg, #101725, #1c2340); }
.legal-hero h1 { margin: 14px 0 12px; font-size: clamp(38px, 6vw, 62px); line-height: 1.05; letter-spacing: -.045em; }
.legal-hero p { max-width: 780px; margin: 0; color: #b8c2d2; }
.legal-hero-inner { position: relative; }
.legal-meta { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px; }
.legal-meta span { padding: 6px 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: #c4ccda; font-size: 11px; }
.legal-section { padding: 70px 0 100px; background: var(--soft); }
.legal-layout { display: grid; grid-template-columns: 260px 1fr; gap: 34px; align-items: start; }
.legal-nav { position: sticky; top: 104px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.legal-nav strong { display: block; margin-bottom: 10px; font-size: 13px; }
.legal-nav a { display: block; padding: 6px 0; color: var(--muted); text-decoration: none; font-size: 12px; }
.legal-content { padding: 42px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow-sm); }
.legal-content > p:first-child { margin-top: 0; }
.legal-content section { scroll-margin-top: 120px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.legal-content section:first-of-type { padding-top: 8px; }
.legal-content h2 { margin: 0 0 12px; font-size: 24px; letter-spacing: -.025em; }
.legal-content h3 { margin: 22px 0 9px; font-size: 17px; }
.legal-content p, .legal-content li { color: var(--ink-3); line-height: 1.75; }
.legal-content ol, .legal-content ul { padding-left: 22px; }
.legal-content li + li { margin-top: 8px; }
.legal-intro { margin-bottom: 18px; padding: 20px; border-left: 4px solid var(--purple); border-radius: 0 12px 12px 0; background: var(--soft-purple); }
.legal-intro strong { display: block; margin-bottom: 4px; }
.legal-intro p { margin: 0; }
.legal-callout { margin: 20px 0 4px; padding: 18px 20px; border: 1px solid #cfc5ff; border-radius: 14px; background: #f7f5ff; }
.legal-callout strong { display: block; margin-bottom: 5px; }
.legal-callout p { margin: 0; }
.legal-callout-warning { border-color: #e5ca97; background: #fff9ec; }
.legal-callout-soft { margin-top: 20px; border-style: dashed; background: #fbfbfd; }
.legal-definitions { margin: 0; display: grid; grid-template-columns: minmax(150px, 210px) 1fr; gap: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.legal-definitions dt, .legal-definitions dd { margin: 0; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.legal-definitions dt { background: var(--soft); font-weight: 800; }
.legal-definitions dd { color: var(--ink-3); }
.legal-definitions dt:last-of-type, .legal-definitions dd:last-of-type { border-bottom: 0; }
.legal-table-wrap { width: 100%; margin: 18px 0; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.legal-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 13px; }
.legal-table th, .legal-table td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal-table th { background: var(--soft); color: var(--ink); font-size: 12px; }
.legal-table td { color: var(--ink-3); line-height: 1.55; }
.legal-table tr:last-child td { border-bottom: 0; }
.legal-contact { margin-top: 30px; padding: 24px; border-radius: 14px; background: var(--soft); }
.legal-contact-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

@media (max-width: 1080px) {
    .main-nav { gap: 18px; }
    .header-cta { display: none; }
    .hero-grid { grid-template-columns: 1fr; gap: 40px; min-height: 0; }
    .hero-calculator { max-width: 650px; }
    .usecase-grid { grid-template-columns: repeat(2, 1fr); }
    .package-grid-three { grid-template-columns: 1fr; }
    .package-title p { min-height: 0; }
    .process-grid, .quality-grid, .custom-request-grid, .faq-layout { grid-template-columns: 1fr; gap: 44px; }
    .process-copy, .faq-intro { position: static; }
    .form-layout { grid-template-columns: 1fr; }
    .form-summary { order: -1; }
    .summary-sticky { position: static; }
    .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .footer-grid > div:last-child { grid-column: 2; }
    .legal-layout { grid-template-columns: 1fr; }
    .legal-nav { display: none; }
}

@media (max-width: 820px) {
    .utility-bar-inner span:first-child { display: none; }
    .utility-bar-inner { justify-content: center; }
    .nav-toggle { display: block; }
    .main-nav { position: absolute; top: 78px; left: 20px; right: 20px; margin: 0; padding: 14px; display: none; align-items: stretch; flex-direction: column; gap: 0; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow-md); }
    .main-nav.open { display: flex; }
    .main-nav a { padding: 12px; }
    .trust-strip-grid { grid-template-columns: repeat(2, 1fr); padding-block: 18px; }
    .section-split-heading { grid-template-columns: 1fr; gap: 18px; align-items: start; }
    .package-choice-grid-three { grid-template-columns: 1fr; }
    .package-choice > span { min-height: 0; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid > div:last-child { grid-column: auto; }
}

@media (max-width: 680px) {
    body { padding-bottom: 0; }
    .container { width: min(calc(100% - 28px), var(--container)); }
    .brand-copy small { display: none; }
    .section { padding-block: 72px; }
    .hero-grid { padding-block: 58px 70px; }
    .hero-content h1 { font-size: 45px; }
    .hero-lead { font-size: 17px; }
    .hero-actions { flex-direction: column; align-items: stretch; }
    .hero-actions .button { width: 100%; }
    .hero-proof { grid-template-columns: 1fr; gap: 10px; }
    .hero-proof > div { padding-top: 11px; }
    .hero-calculator { padding: 21px; border-radius: 21px; }
    .hero-number-row { grid-template-columns: 1fr; }
    .hero-total-row { align-items: flex-start; flex-direction: column; gap: 4px; }
    .trust-strip-grid { grid-template-columns: 1fr; gap: 10px; }
    .usecase-grid { grid-template-columns: 1fr; }
    .usecase-card { min-height: 0; }
    .usecase-card h3 { margin-top: 28px; }
    .package-card { padding: 22px; }
    .process-list li { grid-template-columns: 43px 1fr; gap: 14px; }
    .process-list > li > span { width: 40px; height: 40px; border-radius: 11px; }
    .over-limit-card { align-items: stretch; flex-direction: column; }
    .over-limit-card .button { width: 100%; }
    .form-card { padding: 20px; }
    .submission-result { grid-template-columns: 1fr; padding: 20px; }
    .submission-result h3 { font-size: 24px; }
    .form-card-heading { grid-template-columns: 36px 1fr; }
    .form-card-heading > span { width: 34px; height: 34px; }
    .two-columns { grid-template-columns: 1fr; }
    .quantity-layout { grid-template-columns: 1fr; }
    .active-tier { grid-template-columns: 1fr 1fr; }
    .active-tier strong { text-align: left; }
    .conditional-heading { display: grid; gap: 8px; }
    .conditional-required { width: max-content; }
    .quality-cards article { grid-template-columns: 1fr; gap: 5px; }
    .quick-request-card { padding: 20px; }
    .final-cta-inner { align-items: stretch; flex-direction: column; }
    .final-cta-actions { flex-direction: column; }
    .final-cta-actions .button { width: 100%; }
    .footer-grid { grid-template-columns: 1fr; gap: 32px; }
    .footer-bottom { align-items: flex-start; flex-direction: column; }
    .footer-bottom div { flex-wrap: wrap; }
    .legal-content { padding: 24px 20px; }
    .legal-definitions { grid-template-columns: 1fr; }
    .legal-definitions dt { border-bottom: 0; }
    .legal-definitions dd { padding-top: 4px; }
    .legal-contact-actions { display: grid; }
    .legal-contact-actions .button { width: 100%; }
    .mobile-cta { position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 80; padding: 9px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(13,19,32,.96); color: #fff; box-shadow: 0 16px 40px rgba(0,0,0,.28); backdrop-filter: blur(12px); }
    .mobile-cta div { padding-left: 5px; display: grid; line-height: 1.1; }
    .mobile-cta span { color: #929daf; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
    .mobile-cta strong { margin-top: 3px; font-size: 13px; }
    .mobile-cta .button { min-height: 42px; padding: 10px 14px; font-size: 13px; }
    body { padding-bottom: 72px; }
}

/* Multi-page commercial layout */
.main-nav a.active { color: var(--purple); }
.page-hero { position: relative; overflow: hidden; padding: 84px 0; color: #fff; background: linear-gradient(128deg, #101725 0%, #171e2e 58%, #222747 100%); }
.page-hero::after { content: ""; position: absolute; width: 440px; height: 440px; right: -120px; top: -160px; border-radius: 50%; background: radial-gradient(circle, rgba(0,87,168,.35), transparent 70%); }
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { max-width: 820px; margin: 16px 0 20px; font-size: clamp(46px, 6vw, 76px); line-height: 1; letter-spacing: -.05em; }
.page-hero-small { padding: 64px 0; }
.page-hero-small h1 { font-size: clamp(40px, 5vw, 62px); }
.hero-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(330px, .65fr); gap: 70px; align-items: center; }
.hero-copy-block { max-width: 780px; }
.hero-facts { margin: 34px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 24px; list-style: none; color: #cbd3e0; font-size: 14px; }
.hero-facts li::before { content: "✓"; margin-right: 8px; color: #8ee0b8; font-weight: 900; }
.hero-panel { padding: 28px; border: 1px solid rgba(255,255,255,.15); border-radius: 22px; background: rgba(255,255,255,.07); box-shadow: 0 30px 80px rgba(0,0,0,.2); backdrop-filter: blur(12px); }
.hero-panel h2 { margin: 6px 0 12px; font-size: 31px; }
.hero-panel a { color: #fff; font-weight: 800; }
.hero-panel.simple { background: rgba(255,255,255,.06); }
.panel-kicker { color: #D5E7F5; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero-price { margin: 24px 0; display: flex; align-items: baseline; gap: 9px; }
.hero-price strong { font-size: 48px; line-height: 1; letter-spacing: -.04em; }
.hero-price span { color: #cbd3e0; }
.panel-total { padding-top: 16px; margin-bottom: 20px; display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.15); }
.narrow-hero { max-width: 900px; }
.breadcrumbs { padding-top: 18px; display: flex; gap: 10px; color: var(--muted); font-size: 13px; }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { color: var(--purple); }
.section-compact { padding-block: 76px; }
.section-soft { background: var(--soft); }
.section-dark { background: #101725; color: #fff; }
.section-heading { max-width: 760px; margin: 0 auto 40px; text-align: center; }
.section-heading.align-left { margin-inline: 0; text-align: left; }
.section-heading h2, .statement-grid h2, .process-preview h2, .compact-cta h2 { margin: 12px 0 0; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; letter-spacing: -.04em; }
.statement-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; }
.statement-copy { color: var(--ink-3); font-size: 18px; }
.statement-copy p:first-child { margin-top: 0; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.service-card { min-height: 320px; padding: 30px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow-sm); }
.service-card.featured { border-color: #c8bbff; box-shadow: 0 22px 55px rgba(0,87,168,.13); }
.service-card h3 { margin: 38px 0 12px; font-size: 29px; letter-spacing: -.03em; }
.service-card p { color: var(--muted); }
.service-card .text-link { margin-top: auto; }
.card-number { color: var(--purple); font-size: 13px; font-weight: 900; }
.text-link { color: var(--purple); font-weight: 850; text-decoration: none; }
.text-link::after { content: " →"; }
.block-link { display: block; margin-top: 18px; }
.process-preview { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; align-items: start; }
.process-list { margin: 0; padding: 0; display: grid; gap: 0; list-style: none; }
.process-list li { padding: 22px 0; display: grid; grid-template-columns: 46px 1fr; gap: 18px; border-bottom: 1px solid var(--line); }
.process-list li:first-child { padding-top: 0; }
.process-list span, .steps-detailed > article > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: var(--purple); color: #fff; font-weight: 900; }
.process-list p { margin: 3px 0 0; color: var(--muted); }
.compact-cta { padding: 62px 0; }
.cta-row { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 70px; align-items: start; }
.prose { max-width: 820px; }
.prose h2 { margin: 0 0 14px; font-size: 34px; letter-spacing: -.035em; }
.prose h2:not(:first-child) { margin-top: 42px; }
.prose p, .prose li { color: var(--ink-3); font-size: 17px; }
.prose ul { padding-left: 22px; }
.side-card, .light-card { padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow-sm); }
.side-card { position: sticky; top: 112px; }
.side-card h2 { margin: 10px 0 12px; font-size: 31px; line-height: 1.12; letter-spacing: -.035em; }
.side-card p { color: var(--muted); }
.check-list { margin: 18px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; color: #e1e6ef; }
.check-list li::before { content: "✓"; margin-right: 9px; color: #8ee0b8; font-weight: 900; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.pricing-table { width: 100%; border-collapse: collapse; }
.pricing-table th, .pricing-table td { padding: 22px 20px; text-align: left; border-bottom: 1px solid var(--line); }
.pricing-table thead th { background: #151c2c; color: #fff; }
.pricing-table tbody tr:last-child th, .pricing-table tbody tr:last-child td { border-bottom: 0; }
.pricing-table td strong { font-size: 20px; }
.pricing-table td small { color: var(--muted); }
.price-notes { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 12px 30px; color: var(--muted); }
.steps-detailed { max-width: 960px; display: grid; gap: 0; }
.steps-detailed article { padding: 34px 0; display: grid; grid-template-columns: 58px 1fr; gap: 24px; border-bottom: 1px solid var(--line); }
.steps-detailed article:first-child { padding-top: 0; }
.steps-detailed h2 { margin: 0 0 8px; font-size: 31px; }
.steps-detailed p { margin: 0; color: var(--ink-3); font-size: 17px; }
.contact-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(420px, 1fr); gap: 70px; align-items: start; }
.form-page-section { background: #f5f6f8; }
.form-page-section .form-layout { align-items: start; }
.quick-request-card.light-card { color: var(--ink); }
.quick-request-card.light-card .quick-card-heading p { color: var(--muted); }
.field-note { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.quantity-buttons { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 6px; }
.quantity-buttons button { padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; font-size: 12px; font-weight: 600; }
.quantity-buttons button.active { border-color: var(--purple); color: var(--purple); background: var(--soft-purple); }
.package-choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.package-choice { position: relative; cursor: pointer; }
.package-choice input { position: absolute; opacity: 0; pointer-events: none; }
.package-choice > span { min-height: 150px; padding: 18px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.package-choice input:checked + span { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(0,87,168,.11); background: #faf9ff; }
.package-choice strong { font-size: 17px; }
.package-choice small { margin-top: 5px; color: var(--muted); }
.package-choice b { margin-top: auto; color: var(--purple); }
.conditional-panel[hidden] { display: none !important; }
.form-submit-status { min-height: 20px; margin: 10px 0 0; color: var(--muted); font-size: 12px; }

@media (max-width: 980px) {
    .hero-split, .statement-grid, .process-preview, .content-grid, .contact-layout { grid-template-columns: 1fr; }
    .hero-panel, .side-card { position: static; }
    .service-grid { grid-template-columns: 1fr 1fr; }
    .package-choice-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .page-hero { padding: 58px 0; }
    .page-hero h1 { font-size: 43px; }
    .service-grid { grid-template-columns: 1fr; }
    .cta-row { align-items: stretch; flex-direction: column; }
    .cta-row .button { width: 100%; }
    .pricing-table th, .pricing-table td { padding: 16px 14px; min-width: 145px; }
    .price-notes { display: grid; gap: 4px; }
    .contact-layout { gap: 42px; }
    .steps-detailed article { grid-template-columns: 46px 1fr; gap: 16px; }
}

/* ========================================================================== */
/* De Data Verzamelaar v18 - editorial product design                               */
/* ========================================================================== */
:root {
    --ink: #101622;
    --ink-2: #171f2e;
    --ink-3: #394357;
    --muted: #687386;
    --paper: #ffffff;
    --soft: #f4f5f7;
    --soft-purple: #f1efff;
    --line: #d9dee7;
    --line-strong: #bfc7d4;
    --purple: #008a97;
    --purple-dark: #4d2ec0;
    --green: #23b77a;
    --green-dark: #108152;
    --green-soft: #e9f8f1;
    --danger: #a82e28;
    --success: #087647;
    --shadow-sm: 0 10px 28px rgba(16, 22, 34, .07);
    --shadow-md: 0 26px 70px rgba(16, 22, 34, .16);
    --radius-sm: 6px;
    --radius: 10px;
    --radius-lg: 14px;
    --container: 1240px;
}

html { scroll-padding-top: 92px; }
body {
    color: var(--ink);
    background: var(--paper);
    font-family: Poppins, "SF Pro Text", "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.62;
    letter-spacing: -.005em;
    padding-bottom: 0;
}
body::selection { color: #fff; background: var(--purple); }
.container { width: min(calc(100% - 48px), var(--container)); }
h1, h2, h3, h4, strong { text-wrap: balance; }
p { text-wrap: pretty; }

p.white-text { color: #fff; }

.utility-bar { background: #090e17; color: #b8c0ce; border: 0; }
.utility-bar-inner { min-height: 34px; font-size: 11px; letter-spacing: .02em; }
.utility-bar strong { color: #fff; }

.site-header { background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.header-inner { min-height: 82px; gap: 34px; }
.brand { gap: 11px; }
.brand-logo { width: 42px; height: 42px; display: block; border-radius: 9px; }
.brand-copy strong { font-size: 18px; font-weight: 850; letter-spacing: -.035em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: 9px; font-weight: 750; letter-spacing: .08em; }
.main-nav { gap: 25px; }
.main-nav a { color: var(--ink-3); font-size: 13px; font-weight: 720; text-decoration: none; }
.main-nav a:hover, .main-nav a.active { color: var(--purple); }
.main-nav .button { color: #fff; }

.button {
    min-height: 48px;
    padding: 12px 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid var(--purple);
    border-radius: 6px;
    background: var(--purple);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: none;
    transition: transform .16s ease, background .16s ease, border-color .16s ease;
}
.button:hover { transform: translateY(-1px); background: var(--purple-dark); border-color: var(--purple-dark); }
.button-small { min-height: 42px; padding: 10px 16px; }
.button-large { min-height: 54px; padding: 15px 23px; font-size: 15px; }
.button-light { color: var(--ink); background: #fff; border-color: #fff; }
.button-light:hover { color: var(--ink); background: #f2f4f7; border-color: #f2f4f7; }
.button-ghost { color: #fff; background: transparent; border-color: rgba(255,255,255,.34); }
.button-ghost:hover { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.6); }
.button-secondary { color: var(--ink); background: #fff; border-color: var(--line-strong); }
.button-secondary:hover { color: var(--ink); background: var(--soft); border-color: var(--ink); }
.button-full { width: 100%; }

.eyebrow {
    color: var(--purple);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.eyebrow-light { color: #c6b9ff; }

.breadcrumbs { padding-top: 16px; gap: 9px; color: #7a8495; font-size: 12px; }
.breadcrumbs a:hover { color: var(--purple); }

.page-hero {
    padding: 96px 0;
    color: #fff;
    background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
        #101622;
    background-size: 42px 42px;
}
.page-hero::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 7px;
    background: var(--purple);
}
.page-hero::after {
    width: 560px;
    height: 560px;
    top: -280px;
    right: -130px;
    background: radial-gradient(circle, rgba(101,64,232,.22), transparent 68%);
}
.page-hero-small { padding: 74px 0 80px; }
.page-hero h1 {
    max-width: 880px;
    margin: 17px 0 22px;
    font-size: clamp(50px, 6vw, 82px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.065em;
}
.page-hero-small h1 { font-size: clamp(44px, 5vw, 68px); }
.hero-split-wide { grid-template-columns: minmax(0, 1.05fr) minmax(440px, .82fr); gap: 88px; }
.hero-copy-block { max-width: 750px; }
.hero-lead { max-width: 700px; margin: 0; color: #c9d0dc; font-size: clamp(18px, 2vw, 21px); line-height: 1.55; }
.hero-actions { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 11px; }
.hero-facts { margin-top: 34px; gap: 12px 28px; color: #b7c0cf; font-size: 13px; }
.hero-facts li::before { color: var(--green); }
.hero-proof { margin-top: 42px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.16); }
.hero-proof div { padding: 18px 18px 0 0; display: grid; border-right: 1px solid rgba(255,255,255,.13); }
.hero-proof div:not(:first-child) { padding-left: 18px; }
.hero-proof div:last-child { border-right: 0; }
.hero-proof strong { font-size: 20px; letter-spacing: -.025em; }
.hero-proof span { margin-top: 3px; color: #9ca7b8; font-size: 11px; }

.data-preview {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 10px;
    background: #fff;
    color: var(--ink);
    box-shadow: 0 34px 90px rgba(0,0,0,.3);
    transform: rotate(1deg);
}
.data-preview-top { min-height: 40px; padding: 0 15px; display: flex; align-items: center; justify-content: space-between; color: #a9b1bd; background: #171f2e; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.data-preview-heading { padding: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.data-preview-heading div { display: grid; }
.data-preview-heading small { color: var(--purple); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.data-preview-heading strong { margin-top: 4px; font-size: 17px; }
.status-mark { padding: 5px 8px; border-radius: 4px; color: var(--green-dark); background: var(--green-soft); font-size: 10px; font-weight: 850; }
.data-preview-table { display: grid; }
.data-row { min-height: 48px; padding: 0 16px; display: grid; grid-template-columns: 1.5fr .8fr .7fr .55fr; align-items: center; gap: 10px; border-bottom: 1px solid #e9ecf1; font-size: 10px; }
.data-row-head { min-height: 34px; color: #8993a3; background: #f5f6f8; font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.data-row span:first-child { display: flex; align-items: center; gap: 8px; font-weight: 750; }
.data-row i { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 4px; color: var(--purple); background: var(--soft-purple); font-size: 9px; font-style: normal; font-weight: 900; }
.data-preview-footer { padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #f8f9fb; font-size: 11px; }
.data-preview-footer strong { color: var(--purple); font-size: 15px; }

.fact-strip { border-bottom: 1px solid var(--line); background: #fff; }
.fact-strip-inner { min-height: 68px; display: grid; grid-template-columns: repeat(5, 1fr); }
.fact-strip span { display: flex; align-items: center; justify-content: center; border-right: 1px solid var(--line); color: var(--muted); font-size: 11px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.fact-strip span:first-child { border-left: 1px solid var(--line); }

.section { padding: 108px 0; }
.section-compact { padding: 76px 0; }
.section-soft { background: #f4f5f7; }
.section-dark, .contrast-section { color: #fff; background: #101622; }
.section-heading { max-width: 790px; margin-bottom: 48px; text-align: left; }
.section-heading h2, .statement-grid h2, .contrast-copy h2, .direct-cta-grid h2, .pricing-preview-grid h2, .criteria-copy h2, .use-layout h2, .contact-data-grid h2, .included-grid h2, .form-intro h2, .aftercare-grid h2 {
    margin: 12px 0 0;
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.04;
    letter-spacing: -.05em;
    font-weight: 650;
}
.section-heading-split { max-width: none; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .55fr); gap: 70px; align-items: end; }
.section-heading-split p { margin: 0 0 4px; color: var(--muted); font-size: 17px; }
.statement-grid { grid-template-columns: minmax(0, .95fr) minmax(0, .8fr); gap: 110px; }
.statement-copy { color: var(--ink-3); font-size: 18px; }
.statement-copy p { margin: 0 0 20px; }
.statement-copy p:last-child { margin-bottom: 0; }

.solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); }
.solution-card { min-height: 450px; padding: 34px 30px; display: flex; flex-direction: column; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); background: #fff; }
.solution-card-dark { color: #fff; background: var(--ink); }
.solution-card .card-number { color: var(--purple); }
.solution-card-dark .card-number { color: #bcaeff; }
.solution-card h3 { margin: 70px 0 14px; font-size: 32px; line-height: 1.08; letter-spacing: -.04em; }
.solution-card > p { margin: 0; color: var(--muted); }
.solution-card-dark > p, .solution-card-dark li { color: #b9c1ce; }
.solution-card ul { margin: 26px 0; padding: 0; display: grid; gap: 9px; list-style: none; }
.solution-card li { position: relative; padding-left: 18px; color: var(--ink-3); font-size: 13px; }
.solution-card li::before { content: ""; position: absolute; left: 0; top: .65em; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.solution-card .text-link { margin-top: auto; }
.text-link { color: var(--purple); font-size: 14px; font-weight: 850; }
.solution-card-dark .text-link { color: #fff; }

.contrast-section { padding: 112px 0; }
.contrast-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 100px; align-items: center; }
.contrast-copy p { max-width: 600px; margin: 20px 0 28px; color: #b8c1cf; font-size: 18px; }
.source-steps { border-top: 1px solid rgba(255,255,255,.18); }
.source-steps article { padding: 23px 0; display: grid; grid-template-columns: 52px 1fr; gap: 18px; border-bottom: 1px solid rgba(255,255,255,.18); }
.source-steps article > span { color: #bcaeff; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.source-steps h3 { margin: 0 0 4px; font-size: 19px; }
.source-steps p { margin: 0; color: #aeb8c7; font-size: 14px; }

.process-cards { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); list-style: none; }
.process-cards li { min-height: 290px; padding: 29px 26px; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.process-cards > li > span { color: var(--purple); font-size: 12px; font-weight: 900; letter-spacing: .1em; }
.process-cards h3 { margin: 86px 0 10px; font-size: 23px; line-height: 1.16; letter-spacing: -.03em; font-weight: 600; }
.process-cards p { margin: 0; color: var(--muted); font-size: 14px; }

.pricing-preview-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(380px, .65fr); gap: 100px; align-items: center; }
.pricing-preview-grid > div:first-child > p { max-width: 650px; color: var(--ink-3); font-size: 17px; }
.price-snapshot { background: #fff; border: 1px solid var(--line-strong); }
.price-snapshot > div { padding: 25px 28px; display: grid; grid-template-columns: 1fr auto; align-items: end; border-bottom: 1px solid var(--line); }
.price-snapshot span { font-size: 13px; font-weight: 600; }
.price-snapshot strong { font-size: 28px; letter-spacing: -.04em; }
.price-snapshot small { grid-column: 1 / -1; color: var(--muted); font-size: 10px; }
.price-snapshot > a { padding: 17px 28px; display: block; color: var(--purple); font-size: 13px; font-weight: 650; text-decoration: none; }

.faq-section { background: #fff; }
.faq-layout { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); gap: 100px; align-items: start; }
.faq-heading { position: sticky; top: 120px; }
.faq-heading h2 { margin: 12px 0 16px; font-size: clamp(38px, 4vw, 56px); line-height: 1.04; letter-spacing: -.05em; font-weight: 650; }
.faq-heading p { color: var(--muted); font-size: 16px; }
.faq-list { border-top: 1px solid var(--line-strong); }
.faq-list details { border-bottom: 1px solid var(--line-strong); }
.faq-list summary { padding: 24px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font-size: 18px; font-weight: 600; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--purple); transition: transform .16s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details > div { padding: 0 56px 24px 0; }
.faq-list details p { margin: 0; color: var(--ink-3); }

.direct-cta-section { padding: 76px 0; color: #fff; background: var(--purple); }
.direct-cta-grid { display: grid; grid-template-columns: 1.2fr .7fr; gap: 80px; align-items: center; }
.direct-cta-grid .eyebrow { color: #ded7ff; }
.direct-cta-grid p { margin: 0 0 20px; color: #e4deff; font-size: 17px; }
.direct-cta-grid .button { color: var(--ink); background: #fff; border-color: #fff; }

.product-spec { border-top: 1px solid rgba(255,255,255,.2); }
.product-spec > .panel-kicker { display: block; padding: 0 0 15px; }
.product-spec dl { margin: 0; }
.product-spec dl > div { padding: 16px 0; display: grid; grid-template-columns: 42px 1fr; border-bottom: 1px solid rgba(255,255,255,.16); }
.product-spec dt { color: #aa99fa; font-size: 10px; font-weight: 900; }
.product-spec dd { margin: 0; color: #e5e8ee; font-size: 14px; font-weight: 700; }

.criteria-layout { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.2fr); gap: 100px; align-items: start; }
.criteria-copy { position: sticky; top: 120px; }
.criteria-copy p { color: var(--muted); font-size: 17px; }
.criteria-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); }
.criteria-grid article { min-height: 240px; padding: 27px; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); background: #fff; }
.criteria-grid article > span { color: var(--purple); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.criteria-grid h3 { margin: 66px 0 8px; font-size: 24px; letter-spacing: -.035em; }
.criteria-grid p { margin: 0; color: var(--muted); font-size: 13px; }

.use-layout, .contact-data-grid, .included-grid { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.1fr); gap: 100px; align-items: start; }
.use-layout > div:first-child, .contact-data-grid > div:first-child, .included-grid > div:first-child { position: sticky; top: 120px; }
.use-layout > div:first-child > p, .contact-data-grid > div:first-child > p { color: var(--muted); font-size: 17px; }
.use-list, .contact-data-list, .included-list { border-top: 1px solid var(--line-strong); }
.use-list article { padding: 21px 0; display: grid; grid-template-columns: 180px 1fr; gap: 28px; border-bottom: 1px solid var(--line-strong); }
.use-list strong { font-size: 18px; }
.use-list span { color: var(--muted); }

.policy-box { border-top: 1px solid rgba(255,255,255,.2); }
.policy-box > div { padding: 23px 0; display: grid; grid-template-columns: 140px 1fr; gap: 28px; border-bottom: 1px solid rgba(255,255,255,.2); }
.policy-box strong { color: #fff; }
.policy-box p { margin: 0; color: #acb5c4; }

.pricing-section-grid { display: grid; grid-template-columns: minmax(0, .55fr) minmax(0, 1.25fr); gap: 80px; align-items: start; }
.pricing-section-grid h2 { margin: 12px 0 14px; font-size: clamp(38px, 4vw, 55px); line-height: 1.04; letter-spacing: -.05em; }
.pricing-section-grid > div:first-child p { color: var(--muted); font-size: 17px; }
.table-wrap { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 0; box-shadow: none; }
.pricing-table th, .pricing-table td { padding: 21px 22px; }
.pricing-table thead th { color: #fff; background: var(--ink); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.pricing-table tbody th { font-size: 15px; }
.pricing-table tbody td { background: #fff; }
.pricing-table td strong { color: var(--purple); font-size: 21px; }
.pricing-button { margin-top: 18px; }

.person-preview { padding: 25px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.055); box-shadow: var(--shadow-md); }
.person-preview-company { display: grid; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.17); }
.person-preview-company span { color: #b8aaff; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.person-preview-company strong { margin-top: 5px; font-size: 22px; }
.person-preview-company small { color: #aeb7c6; }
.person-card { margin: 22px 0; padding: 18px; display: flex; align-items: center; gap: 14px; color: var(--ink); background: #fff; }
.person-avatar { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: var(--purple); background: var(--soft-purple); font-weight: 900; }
.person-card div { display: grid; }
.person-card div span { color: var(--muted); font-size: 12px; }
.person-preview dl { margin: 0; }
.person-preview dl > div { padding: 10px 0; display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid rgba(255,255,255,.12); }
.person-preview dl > div:last-child { border-bottom: 0; }
.person-preview dt { color: #aeb7c6; font-size: 12px; }
.person-preview dd { margin: 0; color: #fff; font-size: 12px; font-weight: 800; }

.search-method { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); list-style: none; }
.search-method li { min-height: 300px; padding: 29px 25px; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); background: #fff; }
.search-method > li > span { color: var(--purple); font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.search-method h3 { margin: 92px 0 10px; font-size: 22px; line-height: 1.18; letter-spacing: -.03em; }
.search-method p { margin: 0; color: var(--muted); font-size: 13px; }
.contact-data-list article, .included-list article { padding: 20px 0; display: grid; grid-template-columns: 45px 1fr; gap: 18px; border-bottom: 1px solid var(--line-strong); }
.contact-data-list article:first-child, .included-list article:first-child { border-top: 1px solid var(--line-strong); }
.contact-data-list article > span, .included-list article > span { color: var(--purple); font-size: 10px; font-weight: 900; }
.contact-data-list h3, .included-list h3 { margin: 0 0 4px; font-size: 20px; }
.contact-data-list p, .included-list p { margin: 0; color: var(--muted); font-size: 14px; }

.before-after { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: stretch; }
.before-after > div { padding: 24px; border: 1px solid rgba(255,255,255,.2); }
.before-after span { color: #b8aaff; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.before-after strong { display: block; margin-top: 18px; color: #fff; line-height: 1.8; }
.before-after > i { align-self: center; color: var(--green); font-size: 28px; font-style: normal; }

.enrichment-preview { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; }
.enrichment-preview > div { min-height: 180px; padding: 24px; display: grid; align-content: center; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.05); }
.enrichment-preview > i { color: var(--green); font-size: 28px; font-style: normal; font-weight: 900; }
.enrichment-preview span { color: #b8aaff; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.enrichment-preview strong { margin: 8px 0; font-size: 17px; }
.enrichment-preview small { color: #aeb7c6; }
.enrichment-preview-result { background: rgba(101,64,232,.18) !important; }
.enrichment-method { grid-template-columns: repeat(5, 1fr); }
.enrichment-method li { min-height: 315px; }
.feature-checks { margin: 20px 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.feature-checks li { position: relative; padding-left: 25px; }
.feature-checks li::before { content: "✓"; position: absolute; left: 0; color: var(--green); font-weight: 900; }
.side-card-accent { border-top: 5px solid var(--purple); }
.status-list { border-top: 1px solid rgba(255,255,255,.2); }
.status-list > div { padding: 18px 0; display: flex; align-items: center; gap: 16px; border-bottom: 1px solid rgba(255,255,255,.2); }
.status-list .status-dot { width: 11px; height: 11px; flex: 0 0 auto; border-radius: 50%; }
.status-good { background: #35d28f; }
.status-partial { background: #e7bd49; }
.status-review { background: #8e78ed; }
.status-empty { background: #778193; }
.status-list span { display: grid; color: #aeb7c6; font-size: 13px; }
.status-list strong { color: #fff; }

.price-footnotes { min-height: 62px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line-strong); border-top: 0; }
.price-footnotes span { padding: 18px; display: grid; place-items: center; border-right: 1px solid var(--line); color: var(--muted); font-size: 11px; font-weight: 800; text-align: center; }
.price-footnotes span:last-child { border-right: 0; }
.example-calculations { display: grid; grid-template-columns: minmax(0, .55fr) minmax(0, 1.2fr); gap: 90px; align-items: start; }
.example-calculations h2 { margin: 12px 0 15px; font-size: clamp(38px, 4vw, 55px); line-height: 1.04; letter-spacing: -.05em; }
.example-calculations > div:first-child > p { color: var(--muted); font-size: 17px; }
.calculation-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); }
.calculation-grid article { min-height: 190px; padding: 25px; display: grid; align-content: center; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); background: #fff; }
.calculation-grid span { font-size: 13px; font-weight: 800; }
.calculation-grid strong { margin: 8px 0 2px; color: var(--purple); font-size: 31px; letter-spacing: -.04em; }
.calculation-grid small { color: var(--muted); font-size: 10px; }
.maatwerk-factors { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); }
.maatwerk-factors span { min-height: 90px; padding: 20px; display: flex; align-items: center; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); color: #e5e8ee; font-weight: 750; }

.workflow-timeline { max-width: 1040px; }
.workflow-timeline article { padding: 48px 0; display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 34px; border-bottom: 1px solid var(--line-strong); }
.workflow-timeline article:first-child { padding-top: 0; }
.workflow-timeline article > span { width: 56px; height: 56px; display: grid; place-items: center; color: #fff; background: var(--purple); font-size: 12px; font-weight: 900; }
.workflow-timeline small { color: var(--purple); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.workflow-timeline h2 { margin: 7px 0 12px; font-size: 36px; letter-spacing: -.04em; }
.workflow-timeline p { max-width: 750px; margin: 0; color: var(--ink-3); font-size: 17px; }
.workflow-timeline ul { margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.workflow-timeline li { padding: 6px 9px; border: 1px solid var(--line); color: var(--muted); background: var(--soft); font-size: 11px; font-weight: 750; }
.summary-process { margin: 20px 0 25px; border-top: 1px solid var(--line); }
.summary-process > div { padding: 14px 0; display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--line); }
.summary-process span { color: var(--muted); font-size: 12px; text-align: right; }

.request-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 70px; align-items: end; }
.request-hero-facts { display: grid; grid-template-columns: repeat(3, 130px); border-top: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); }
.request-hero-facts div { min-height: 112px; padding: 18px; display: grid; align-content: center; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.request-hero-facts strong { font-size: 26px; }
.request-hero-facts span { color: #aeb7c6; font-size: 10px; }
.form-page-section { background: var(--soft); }
.form-intro { margin-bottom: 34px; display: grid; grid-template-columns: 1fr .65fr; gap: 70px; align-items: end; }
.form-intro p { margin: 0; color: var(--muted); }
.form-intro a { color: var(--purple); font-weight: 800; }
.form-layout { grid-template-columns: minmax(0, 1fr) 370px; gap: 24px; }
.form-main { display: grid; gap: 18px; }
.form-card, .quick-request-card, .side-card, .light-card { border: 1px solid var(--line-strong); border-radius: 8px; background: #fff; box-shadow: none; }
.form-card { padding: 30px; }
.form-card-heading { grid-template-columns: 42px 1fr; }
.form-card-heading > span { width: 38px; height: 38px; border-radius: 4px; background: var(--ink); }
.form-card-heading h2 { font-size: 24px; }
.form-card-heading p { font-size: 13px; }
.form-card-footnote { margin: 16px 0 0; color: var(--muted); font-size: 12px; }
.form-card-footnote a { color: var(--purple); font-weight: 800; }
.package-choice-grid-two { grid-template-columns: repeat(2, 1fr); }
.package-choice > span { min-height: 148px; border-radius: 6px; }
.package-choice input:checked + span { border-color: var(--purple); background: var(--soft-purple); box-shadow: inset 4px 0 0 var(--purple); }
.package-choice b { color: var(--purple); font-size: 12px; }
.quantity-buttons button { border-radius: 4px; }
input, select, textarea { border-radius: 5px; padding: 13px 14px; }
input:focus, select:focus, textarea:focus { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(101,64,232,.1); }
textarea { min-height: 128px; }
.consent { border-radius: 5px; }
.summary-sticky { top: 106px; padding: 27px; border-radius: 8px; background: var(--ink); }
.summary-lines > div { padding: 11px 0; }
.summary-total { margin-top: 18px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.16); }
.summary-total > div { padding: 7px 0; display: flex; justify-content: space-between; gap: 15px; }
.summary-total .grand-total { margin: 8px -10px 18px; padding: 15px 10px; background: rgba(255,255,255,.07); }
.summary-total .grand-total strong { font-size: 22px; }
.summary-disclaimer { margin: 14px 0 0; color: #aeb7c6; font-size: 11px; }
.summary-disclaimer strong { color: #fff; }
.submission-result { margin-bottom: 28px; border-radius: 7px; }
.submission-kicker { display: block; margin-bottom: 5px; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.submission-result h2 { margin: 0 0 7px; font-size: 26px; letter-spacing: -.03em; }
.request-aftercare { padding: 80px 0; }
.aftercare-grid { display: grid; grid-template-columns: .65fr 1fr; gap: 90px; }
.aftercare-grid ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); list-style: none; }
.aftercare-grid li { min-height: 130px; padding: 22px; display: grid; grid-template-columns: 32px 1fr; gap: 12px; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.aftercare-grid li > span { color: var(--purple); font-weight: 900; }
.aftercare-grid p { margin: 0; color: var(--muted); font-size: 13px; }

.maatwerk-options, .values-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); }
.maatwerk-options article, .values-grid article { min-height: 260px; padding: 27px; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); background: #fff; }
.maatwerk-options article > span, .values-grid article > span { color: var(--purple); font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.maatwerk-options h3, .values-grid h3 { margin: 75px 0 9px; font-size: 22px; letter-spacing: -.03em; }
.maatwerk-options p, .values-grid p { margin: 0; color: var(--muted); font-size: 13px; }
.maatwerk-form-section { background: var(--soft); }
.maatwerk-form-copy > h2, .contact-copy > h2 { margin: 12px 0 18px; font-size: clamp(38px, 4vw, 54px); line-height: 1.04; letter-spacing: -.05em; }
.legal-note-inline { margin-top: 30px; padding: 20px; border-left: 4px solid var(--purple); background: #fff; }
.legal-note-inline p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.quick-request-card { padding: 30px; }
.quick-card-heading { margin-bottom: 24px; }
.quick-card-heading h2 { margin: 8px 0 6px; font-size: 29px; letter-spacing: -.04em; }
.quick-card-heading p { margin: 0; color: var(--muted); }

.contact-routes { margin: 28px 0; border-top: 1px solid var(--line-strong); }
.contact-routes > a, .contact-routes > div { padding: 20px 0; display: grid; grid-template-columns: 42px 1fr; gap: 15px; border-bottom: 1px solid var(--line-strong); color: inherit; text-decoration: none; }
.contact-routes > a:hover strong { color: var(--purple); }
.contact-routes > a > span, .contact-routes > div > span { color: var(--purple); font-size: 10px; font-weight: 900; }
.contact-routes strong { font-size: 17px; }
.contact-routes p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.contact-principles { padding: 20px; background: var(--soft); }
.contact-principles ul { margin: 10px 0 0; padding-left: 18px; color: var(--muted); font-size: 13px; }

.prose h2 { font-size: 35px; }
.prose p, .prose li { color: var(--ink-3); font-size: 17px; }
.side-card { border-top: 5px solid var(--purple); border-radius: 0; }

.footer-cta { padding: 72px 0; color: #fff; background: var(--purple); }
.footer-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.footer-cta h2 { margin: 10px 0 7px; font-size: clamp(38px, 4vw, 56px); line-height: 1; letter-spacing: -.05em; }
.footer-cta p { margin: 0; color: #e3dcff; }
.footer-cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.site-footer { padding-top: 72px; background: #0a0f18; }
.footer-grid { grid-template-columns: 1.4fr repeat(3, .7fr); gap: 70px; }
.footer-grid h2 { color: #fff; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.footer-grid a { color: #aeb7c5; font-size: 13px; text-decoration: none; }
.footer-grid a:hover { color: #fff; }
.footer-brand p { max-width: 350px; color: #8d97a7; }
.brand-footer .brand-copy strong { color: #fff; }
.footer-bottom { color: #7f8998; border-top-color: rgba(255,255,255,.11); font-size: 11px; }

@media (max-width: 1120px) {
    .main-nav { gap: 17px; }
    .hero-split-wide { gap: 55px; }
    .solution-card { padding: 28px 24px; }
    .enrichment-method { grid-template-columns: repeat(3, 1fr); }
    .maatwerk-options, .values-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 980px) {
    .utility-bar { display: none; }
    .header-inner { min-height: 74px; }
    .nav-toggle { display: flex; margin-left: auto; }
    .main-nav { position: absolute; top: 74px; left: 0; right: 0; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 12px 24px 24px; border-bottom: 1px solid var(--line); background: #fff; box-shadow: 0 20px 45px rgba(16,22,34,.12); }
    .main-nav.open { display: flex; }
    .main-nav a { padding: 13px 0; border-bottom: 1px solid var(--line); }
    .main-nav .button { margin-top: 12px; border-bottom: 0; }
    .page-hero { padding: 74px 0; }
    .hero-split-wide, .statement-grid, .contrast-grid, .pricing-preview-grid, .faq-layout, .criteria-layout, .use-layout, .contact-data-grid, .included-grid, .pricing-section-grid, .example-calculations, .request-hero-grid, .aftercare-grid { grid-template-columns: 1fr; gap: 48px; }
    .data-preview { max-width: 680px; transform: none; }
    .section-heading-split { grid-template-columns: 1fr; gap: 16px; }
    .fact-strip-inner { grid-template-columns: repeat(3, 1fr); }
    .fact-strip span:nth-child(n+4) { display: none; }
    .solution-grid { grid-template-columns: 1fr; }
    .solution-card { min-height: 330px; }
    .solution-card h3 { margin-top: 38px; }
    .process-cards { grid-template-columns: repeat(2, 1fr); }
    .criteria-copy, .use-layout > div:first-child, .contact-data-grid > div:first-child, .included-grid > div:first-child, .faq-heading { position: static; }
    .search-method { grid-template-columns: repeat(2, 1fr); }
    .enrichment-method { grid-template-columns: repeat(2, 1fr); }
    .request-hero-facts { grid-template-columns: repeat(3, 1fr); }
    .form-intro { grid-template-columns: 1fr; gap: 15px; }
    .form-layout { grid-template-columns: 1fr; }
    .summary-sticky { position: static; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
    .container { width: min(calc(100% - 30px), var(--container)); }
    .brand-copy small { display: none; }
    .brand-logo { width: 38px; height: 38px; }
    .page-hero, .page-hero-small { padding: 58px 0 64px; }
    .page-hero h1, .page-hero-small h1 { font-size: clamp(42px, 13vw, 58px); }
    .hero-lead { font-size: 17px; }
    .hero-actions { display: grid; }
    .hero-actions .button { width: 100%; }
    .hero-proof { grid-template-columns: 1fr; }
    .hero-proof div, .hero-proof div:not(:first-child) { padding: 13px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }
    .hero-proof div:last-child { border-bottom: 0; }
    .data-row { grid-template-columns: 1.5fr .8fr; }
    .data-row span:nth-child(3), .data-row span:nth-child(4) { display: none; }
    .data-preview-footer { align-items: flex-start; flex-direction: column; gap: 4px; }
    .fact-strip-inner { grid-template-columns: 1fr; }
    .fact-strip span { min-height: 46px; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .fact-strip span:nth-child(n+2) { display: none; }
    .section { padding: 76px 0; }
    .section-heading h2, .statement-grid h2, .contrast-copy h2, .direct-cta-grid h2, .pricing-preview-grid h2, .criteria-copy h2, .use-layout h2, .contact-data-grid h2, .included-grid h2, .form-intro h2, .aftercare-grid h2 { font-size: 39px; }
    .statement-copy { font-size: 16px; }
    .solution-card { min-height: auto; }
    .process-cards, .criteria-grid, .search-method, .enrichment-method, .calculation-grid, .maatwerk-factors, .aftercare-grid ol, .maatwerk-options, .values-grid { grid-template-columns: 1fr; }
    .process-cards li, .criteria-grid article, .search-method li, .maatwerk-options article, .values-grid article { min-height: 220px; }
    .process-cards h3, .criteria-grid h3, .search-method h3, .maatwerk-options h3, .values-grid h3 { margin-top: 45px; }
    .price-snapshot > div { grid-template-columns: 1fr; }
    .faq-list summary { font-size: 16px; }
    .faq-list details > div { padding-right: 0; }
    .direct-cta-grid { grid-template-columns: 1fr; gap: 25px; }
    .policy-box > div, .use-list article { grid-template-columns: 1fr; gap: 6px; }
    .before-after, .enrichment-preview { grid-template-columns: 1fr; }
    .before-after > i, .enrichment-preview > i { transform: rotate(90deg); text-align: center; }
    .price-footnotes { grid-template-columns: 1fr 1fr; }
    .price-footnotes span:nth-child(2) { border-right: 0; }
    .workflow-timeline article { grid-template-columns: 44px 1fr; gap: 16px; }
    .workflow-timeline article > span { width: 42px; height: 42px; }
    .workflow-timeline h2 { font-size: 28px; }
    .request-hero-facts { grid-template-columns: 1fr; }
    .request-hero-facts div { min-height: 78px; }
    .package-choice-grid-two { grid-template-columns: 1fr; }
    .form-card, .quick-request-card { padding: 20px; }
    .form-card-heading { grid-template-columns: 35px 1fr; }
    .form-card-heading > span { width: 32px; height: 32px; }
    .footer-cta-inner { align-items: stretch; flex-direction: column; }
    .footer-cta-actions { display: grid; }
    .footer-grid { grid-template-columns: 1fr; gap: 32px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Maatwerklijst in de reguliere calculator */
.solution-grid-four { grid-template-columns: repeat(4, 1fr); }
.conditional-panel-custom { border-color: #cfc7f8; background: #fbfaff; }
.conditional-panel-custom .optional-label { color: var(--muted); font-size: 11px; font-weight: 500; }
@media (max-width: 1120px) { .solution-grid-four { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 980px) { .solution-grid-four { grid-template-columns: 1fr; } }

/* ========================================================================== */
/* De Data Verzamelaar v20 - formulierdoorloop en blijvende berekening              */
/* ========================================================================== */
.form-layout {
    position: relative;
}

.form-card[id] {
    scroll-margin-top: 118px;
}

.form-summary {
    position: sticky;
    top: 104px;
    align-self: start;
    z-index: 8;
    min-width: 0;
}

.summary-sticky {
    position: static;
    max-height: calc(100vh - 126px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.25) transparent;
}

.summary-sticky::-webkit-scrollbar {
    width: 6px;
}

.summary-sticky::-webkit-scrollbar-track {
    background: transparent;
}

.summary-sticky::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255,255,255,.22);
}

.summary-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.summary-progress {
    padding: 5px 8px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    color: #dce2ec;
    background: rgba(255,255,255,.06);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.summary-jumps {
    margin: 20px 0 3px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.summary-jumps a {
    min-height: 37px;
    padding: 7px 9px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 6px;
    color: #aeb8c8;
    background: rgba(255,255,255,.035);
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.summary-jumps a[hidden] {
    display: none;
}

.summary-jumps a span {
    width: 20px;
    height: 20px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    color: #c9d1dd;
    background: rgba(255,255,255,.09);
    font-size: 9px;
}

.summary-jumps a:hover,
.summary-jumps a.is-active {
    border-color: rgba(164,139,255,.75);
    color: #fff;
    background: rgba(0,87,168,.22);
}

.summary-jumps a.is-active span {
    color: #fff;
    background: var(--purple);
}

.summary-jumps a.is-complete {
    color: #c5ead7;
}

.summary-jumps a.is-complete span {
    color: #fff;
    background: var(--green);
}

.summary-actions {
    position: sticky;
    bottom: -1px;
    z-index: 2;
    margin: 0 -2px -2px;
    padding: 14px 2px 2px;
    background: linear-gradient(to bottom, rgba(16,22,34,0), var(--ink) 18px, var(--ink));
}

.mobile-form-dock {
    display: none;
}

@media (max-height: 780px) and (min-width: 1081px) {
    .summary-sticky {
        padding: 21px;
    }

    .summary-sticky h3 {
        font-size: 22px;
    }

    .summary-sticky > p {
        font-size: 12px;
        line-height: 1.45;
    }

    .summary-jumps {
        margin-top: 14px;
    }

    .summary-lines {
        margin-top: 13px;
    }

    .summary-lines > div {
        padding: 7px 0;
    }

    .summary-total {
        margin: 12px 0 0;
    }
}

@media (max-width: 1080px) {
    .request-form {
        padding-bottom: 92px;
    }

    .form-summary {
        position: static;
        order: 0;
        z-index: auto;
    }

    .summary-sticky {
        max-height: none;
        overflow: visible;
    }

    .summary-actions {
        position: static;
        margin: 0;
        padding: 0;
        background: none;
    }

    .mobile-form-dock {
        position: fixed;
        left: max(14px, env(safe-area-inset-left));
        right: max(14px, env(safe-area-inset-right));
        bottom: max(12px, env(safe-area-inset-bottom));
        z-index: 80;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        border: 1px solid rgba(255,255,255,.14);
        border-radius: 10px;
        background: rgba(16,22,34,.96);
        box-shadow: 0 18px 55px rgba(10,15,24,.3);
        backdrop-filter: blur(16px);
        opacity: 0;
        pointer-events: none;
        transform: translateY(calc(100% + 24px));
        transition: opacity .2s ease, transform .2s ease;
    }

    .mobile-form-dock.is-visible {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .mobile-form-dock-copy {
        min-width: 0;
        display: grid;
        line-height: 1.25;
    }

    .mobile-form-dock-copy > span {
        overflow: hidden;
        color: #aeb8c8;
        font-size: 10px;
        font-weight: 800;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-form-dock-copy > strong {
        color: #fff;
        font-size: 17px;
        letter-spacing: -.02em;
        white-space: nowrap;
    }

    .mobile-form-dock-copy small {
        color: #9ca8bb;
        font-size: 9px;
        font-weight: 650;
    }

    .mobile-form-dock .button {
        min-height: 44px;
        flex: 0 0 auto;
        padding: 10px 16px;
        box-shadow: none;
    }
}

@media (max-width: 680px) {
    .summary-jumps {
        grid-template-columns: 1fr 1fr;
    }

    .mobile-form-dock {
        left: max(8px, env(safe-area-inset-left));
        right: max(8px, env(safe-area-inset-right));
        bottom: max(8px, env(safe-area-inset-bottom));
        padding: 8px;
    }

    .mobile-form-dock-copy > strong {
        font-size: 15px;
    }

    .mobile-form-dock .button {
        min-height: 42px;
        padding-inline: 13px;
        font-size: 13px;
    }
}

@media (max-width: 1080px) {
    .mobile-form-dock {
        visibility: hidden;
    }

    .mobile-form-dock.is-visible {
        visibility: visible;
    }
}

@media (min-width: 1081px) {
    .form-layout {
        padding-bottom: 110px;
    }
}

@media (min-width: 1081px) {
    .form-layout {
        padding-bottom: 0;
    }

    .form-main {
        padding-bottom: 110px;
    }
}

/* ========================================================================
   De Data Verzamelaar huisstijl 25.0
   Gebaseerd op het aangeleverde woordmerk: helder blauw, zwart en wit.
   ======================================================================== */
:root {
    --ink: #111318;
    --ink-2: #20242b;
    --ink-3: #3f4650;
    --muted: #66707c;
    --paper: #ffffff;
    --soft: #f3f6f8;
    --soft-blue: #edf5fb;
    --line: #d8dfe5;
    --line-strong: #b7c2cc;
    --blue: #0057a8;
    --blue-dark: #003f7d;
    --blue-deep: #082f55;
    --blue-light: #dcecf8;
    --success: #14734a;
    --danger: #a12a2a;
    --shadow-sm: 0 8px 22px rgba(18, 39, 57, .07);
    --shadow-md: 0 22px 50px rgba(18, 39, 57, .12);
    --radius-sm: 4px;
    --radius: 6px;
    --radius-lg: 8px;
    --container: 1240px;
}

html { scroll-padding-top: 104px; }
body {
    color: var(--ink);
    background: var(--paper);
    font-family: Poppins, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.65;
}
.container { width: min(calc(100% - 48px), var(--container)); }

.utility-bar {
    background: var(--blue-deep);
    color: rgba(255,255,255,.82);
    border: 0;
    font-size: 12px;
    letter-spacing: .01em;
}
.utility-bar-inner { min-height: 34px; }
.site-header {
    top: 0;
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid var(--line);
    backdrop-filter: none;
}
.header-inner { min-height: 82px; gap: 26px; }
.brand-wordmark { display: block; width: 238px; height: auto; }
.brand-copy, .brand-logo { display: none; }
.main-nav { gap: 24px; }
.main-nav a {
    position: relative;
    padding: 29px 0 27px;
    color: var(--ink-2);
    font-size: 14px;
    font-weight: 600;
}
.main-nav a:not(.button)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 18px;
    height: 2px;
    background: var(--blue);
    transition: right .18s ease;
}
.main-nav a:not(.button):hover::after,
.main-nav a.active:not(.button)::after { right: 0; }
.main-nav a:hover, .main-nav a.active { color: var(--blue); }
.main-nav .button { padding: 11px 17px; }
.header-button { margin-left: 4px; }

.button {
    min-height: 48px;
    border: 1px solid var(--blue);
    border-radius: 3px;
    background: var(--blue);
    color: #fff;
    font-weight: 600;
    box-shadow: none;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.button:hover { background: var(--blue-dark); border-color: var(--blue-dark); box-shadow: none; }
.button-secondary { border-color: var(--line-strong); background: #fff; color: var(--ink); }
.button-secondary:hover { background: var(--soft); border-color: var(--ink-3); color: var(--ink); }
.button-light { border-color: #fff; background: #fff; color: var(--blue-deep); }
.button-light:hover { background: #eef4f8; border-color: #eef4f8; }
.button-ghost, .button-outline-light { border-color: rgba(255,255,255,.55); background: transparent; color: #fff; box-shadow: none; }
.button-ghost:hover, .button-outline-light:hover { border-color: #fff; background: rgba(255,255,255,.08); }

.eyebrow, .section-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--blue);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.eyebrow::before, .section-label::before { width: 28px; height: 3px; background: var(--blue); }
.eyebrow-light, .section-label-light { color: #fff; }
.eyebrow-light::before, .section-label-light::before { background: #fff; }

.page-hero, .hero, .home-hero, .narrow-hero, .legal-hero {
    position: relative;
    overflow: hidden;
    background: var(--blue-deep);
    color: #fff;
}
.page-hero::after, .hero::after, .home-hero::after, .narrow-hero::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -120px;
    width: 460px;
    height: 310px;
    background: url('/assets/dataverzamelaar-mark.svg') center/contain no-repeat;
    opacity: .09;
    transform: rotate(-7deg);
}
.hero::before { display: none; }
.hero-split, .hero-grid {
    position: relative;
    z-index: 1;
    min-height: 580px;
    padding-block: 84px;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .72fr);
    gap: 72px;
    align-items: center;
}
.hero-copy-block h1, .hero-content h1, .page-hero h1 {
    max-width: 780px;
    margin: 20px 0 24px;
    font-size: clamp(45px, 5.7vw, 74px);
    line-height: 1.02;
    letter-spacing: -.045em;
}
.hero-lead { max-width: 720px; color: rgba(255,255,255,.82); font-size: clamp(18px, 1.8vw, 21px); }
.hero-actions { margin-top: 32px; gap: 10px; }
.hero-proof { margin-top: 42px; gap: 24px; }
.hero-proof > div { border-top-color: rgba(255,255,255,.25); }
.hero-proof strong { font-size: 17px; }
.hero-proof span { color: rgba(255,255,255,.66); font-size: 13px; }

.data-preview, .hero-panel, .hero-calculator {
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 3px;
    background: #fff;
    color: var(--ink);
    box-shadow: 22px 22px 0 rgba(0,0,0,.17);
    backdrop-filter: none;
}
.data-preview-top { background: var(--soft); border-bottom: 1px solid var(--line); }
.data-preview-heading { border-bottom: 1px solid var(--line); }
.status-mark, .status-dot { color: var(--blue); }
.status-dot::before { background: var(--blue); box-shadow: none; }
.data-row { border-bottom-color: var(--line); }
.data-row i { border-radius: 2px; background: var(--blue); }
.data-preview-footer { background: var(--blue); color: #fff; }

.fact-strip { border-bottom: 1px solid var(--line); background: #fff; }
.fact-strip-inner { min-height: 72px; }
.fact-strip span { color: var(--ink-3); font-weight: 700; }
.fact-strip span::before { background: var(--blue); border-radius: 0; }

.section { padding-block: 94px; }
.section-soft { background: var(--soft); }
.section-heading { margin-bottom: 44px; }
.section-heading h2, .statement-grid h2, .contrast-copy h2, .direct-cta-grid h2, .footer-cta h2 {
    margin: 10px 0 0;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.section-heading p, .statement-copy, .contrast-copy p { color: var(--muted); }
.section-heading-split { align-items: end; }

.solution-grid, .package-grid, .included-grid, .maatwerk-options, .contact-routes {
    gap: 0;
    border-top: 1px solid var(--line-strong);
    border-left: 1px solid var(--line-strong);
}
.solution-card, .package-card, .included-grid > *, .maatwerk-options > *, .contact-routes > * {
    min-height: 100%;
    padding: 34px;
    border: 0;
    border-right: 1px solid var(--line-strong);
    border-bottom: 1px solid var(--line-strong);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}
.solution-card:hover, .package-card:hover { transform: none; box-shadow: inset 0 4px 0 var(--blue); }
.solution-card-dark { background: var(--blue-deep); color: #fff; }
.solution-card-dark p, .solution-card-dark li { color: rgba(255,255,255,.72); }
.card-number { color: var(--blue); font-family: Arial, sans-serif; font-weight: 700; }
.solution-card-dark .card-number { color: #fff; }
.solution-card h3, .package-card h3 { font-size: 25px; letter-spacing: -.02em; }
.solution-card p, .package-card p { color: var(--muted); }
.text-link { color: var(--blue); font-weight: 700; }

.contrast-section { background: var(--blue-deep); color: #fff; }
.contrast-section::before { display: none; }
.contrast-copy p { color: rgba(255,255,255,.75); }
.source-steps { border-top: 1px solid rgba(255,255,255,.3); }
.source-steps article { border-bottom: 1px solid rgba(255,255,255,.22); }
.source-steps article > span { border-radius: 0; background: var(--blue); color: #fff; }
.source-steps p { color: rgba(255,255,255,.68); }

.process-cards { gap: 0; border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); }
.process-cards li { padding: 32px; border: 0; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); border-radius: 0; background: #fff; }
.process-cards li > span { color: var(--blue); }
.process-cards li::after { background: var(--blue); }

.price-snapshot, .calculation-grid, .example-calculations, .light-card, .contact-copy, .contact-data-grid, .legal-callout {
    border: 1px solid var(--line-strong);
    border-radius: 3px;
    background: #fff;
    box-shadow: none;
}
.price-snapshot > div { border-bottom-color: var(--line); }
.price-snapshot a { color: var(--blue); }

.faq-layout { align-items: start; }
.faq-list { border-top: 1px solid var(--line-strong); }
.faq-list details { border-bottom: 1px solid var(--line-strong); border-radius: 0; background: transparent; }
.faq-list summary { padding: 22px 0; font-size: 18px; }
.faq-list details > div { padding: 0 0 22px; }
.faq-list summary span { color: var(--blue); }

.direct-cta-section { border-top: 1px solid var(--line); }
.footer-cta { background: var(--blue); color: #fff; }
.footer-cta-inner { min-height: 330px; }
.footer-cta p { color: rgba(255,255,255,.78); }
.site-footer { background: #101820; color: #d9e0e5; }
.footer-grid { padding-block: 64px; }
.footer-wordmark { display: block; width: 240px; filter: brightness(0) invert(1); }
.footer-grid h2 { color: #fff; }
.footer-grid a { color: #c8d1d8; }
.footer-grid a:hover { color: #fff; }
.footer-bottom { border-top-color: rgba(255,255,255,.14); color: #97a5b0; }

.breadcrumbs { padding-top: 26px; color: var(--muted); }
.breadcrumbs a:hover { color: var(--blue); }

/* Formulieren */
.form-page-section { background: var(--soft); }
.form-layout { align-items: stretch; gap: 30px; }
.form-card {
    margin-bottom: 18px;
    padding: 34px;
    border: 1px solid var(--line-strong);
    border-radius: 3px;
    background: #fff;
    box-shadow: none;
}
.form-card-heading { margin-bottom: 26px; }
.form-card-heading > span {
    width: 42px;
    height: 42px;
    border-radius: 0;
    background: var(--blue);
    color: #fff;
}
.form-card-heading h2 { font-size: 27px; }
.form-card-heading p { color: var(--muted); }
.package-choice-grid { gap: 10px; }
.package-choice > span {
    min-height: 145px;
    padding: 22px;
    border: 1px solid var(--line-strong);
    border-radius: 2px;
    background: #fff;
}
.package-choice input:checked + span { border-color: var(--blue); box-shadow: inset 0 4px 0 var(--blue); background: var(--soft-blue); }
.package-choice b { color: var(--blue); }
input, select, textarea {
    border: 1px solid var(--line-strong);
    border-radius: 2px;
    background: #fff;
}
input:focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0,87,168,.12); }
.quantity-buttons button { border-radius: 2px; }
.quantity-buttons button:hover, .quantity-buttons button.active { border-color: var(--blue); background: var(--blue); color: #fff; }
.conditional-panel { border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 0; background: var(--soft-blue); }
.consent { border-radius: 2px; background: var(--soft); }
.consent a { color: var(--blue); }

.form-summary { align-self: stretch; }
.summary-sticky {
    top: 118px;
    border: 0;
    border-radius: 3px;
    background: var(--blue-deep);
    color: #fff;
    box-shadow: var(--shadow-md);
}
.summary-label, .summary-progress, .summary-description, .summary-disclaimer { color: rgba(255,255,255,.68); }
.summary-jumps a { border-color: rgba(255,255,255,.18); border-radius: 2px; }
.summary-jumps a.is-active { border-color: #fff; background: #fff; color: var(--blue-deep); }
.summary-jumps a.is-complete span { background: var(--blue); }
.summary-lines > div { border-bottom-color: rgba(255,255,255,.16); }
.summary-total { border-radius: 2px; background: rgba(255,255,255,.09); }
.summary-total .grand-total { border-top-color: rgba(255,255,255,.18); background: #fff; color: var(--blue-deep); }
.mobile-form-dock { border-top-color: var(--line); background: #fff; }

.submission-result {
    border-radius: 3px;
    box-shadow: none;
}
.submission-result-success { border-color: #9fc9b6; background: #f2faf6; }
.submission-result-error { border-color: #dfb1ae; background: #fff5f4; }
.submission-result-icon { border-radius: 0; }
.submission-kicker { color: var(--blue); }

.pricing-table { border-collapse: collapse; border: 1px solid var(--line-strong); }
.pricing-table th, .pricing-table td { border: 1px solid var(--line); }
.pricing-table thead th { background: var(--blue-deep); color: #fff; }
.pricing-table tbody th { background: var(--soft); }
.pricing-table strong { color: var(--blue); }

/* Juridisch */
.legal-hero { background: var(--blue-deep); }
.legal-layout { align-items: start; }
.legal-nav { border: 1px solid var(--line); border-radius: 2px; box-shadow: none; }
.legal-nav a:hover { color: var(--blue); }
.legal-content { border-radius: 2px; box-shadow: none; }
.legal-section { border-bottom-color: var(--line); }
.legal-section h2 { color: var(--blue-deep); }
.legal-callout-warning { border-left: 4px solid var(--blue); background: var(--soft-blue); }

/* Nieuwe inhoudsblokken */
.editorial-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 76px; align-items: start; }
.editorial-grid h2 { margin: 10px 0 0; font-size: clamp(34px, 4vw, 54px); line-height: 1.08; letter-spacing: -.035em; font-weight: 650; }
.editorial-copy { color: var(--ink-3); font-size: 18px; }
.editorial-copy p:first-child { margin-top: 0; }
.editorial-copy strong { color: var(--ink); }
.line-list { margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line-strong); }
.line-list li {
    padding: 17px 0;
    display: grid;
    grid-template-columns: none;
    gap: 0;
    border-bottom: 1px solid var(--line);
}
.line-list li::before { content: none; display: none; }
.spec-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); }
.spec-grid article { padding: 30px; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.spec-grid h3 { margin: 0 0 10px; font-size: 21px; font-weight: 600; }
.spec-grid p { margin: 0; color: var(--muted); }
.blue-band { background: var(--blue); color: #fff; }
.blue-band .editorial-copy { color: rgba(255,255,255,.8); }
.blue-band .line-list { border-top-color: rgba(255,255,255,.4); }
.blue-band .line-list li { border-bottom-color: rgba(255,255,255,.25); }
.contact-choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); }
.contact-choice-grid article { padding: 30px; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.contact-choice-grid h3 { margin: 0 0 8px; }
.contact-choice-grid p { color: var(--muted); }

@media (max-width: 1080px) {
    .main-nav { gap: 16px; }
    .main-nav a { font-size: 13px; }
    .hero-split, .hero-grid { grid-template-columns: 1fr; gap: 42px; }
    .data-preview, .hero-panel { max-width: 720px; box-shadow: 14px 14px 0 rgba(0,0,0,.16); }
    .editorial-grid { gap: 44px; }
}

@media (max-width: 900px) {
    .utility-bar { display: none; }
    .header-inner { min-height: 72px; }
    .brand-wordmark { width: 210px; }
    .nav-toggle { display: block; border-radius: 2px; }
    .main-nav { top: 72px; padding: 16px 24px 24px; border-bottom: 1px solid var(--line); background: #fff; }
    .main-nav a { padding: 12px 0; }
    .main-nav a:not(.button)::after { bottom: 6px; }
    .header-button { margin-left: 0; }
    .solution-grid-four, .solution-grid-three, .spec-grid, .contact-choice-grid { grid-template-columns: 1fr 1fr; }
    .editorial-grid, .statement-grid, .contrast-grid, .pricing-preview-grid { grid-template-columns: 1fr; gap: 32px; }
    .form-layout { grid-template-columns: 1fr; }
    .summary-sticky { position: static; max-height: none; }
}

@media (max-width: 680px) {
    .container { width: min(calc(100% - 30px), var(--container)); }
    .brand-wordmark { width: 184px; }
    .section { padding-block: 68px; }
    .hero-split, .hero-grid { min-height: auto; padding-block: 64px; }
    .hero-copy-block h1, .hero-content h1, .page-hero h1 { font-size: 43px; }
    .hero-proof { grid-template-columns: 1fr; gap: 13px; }
    .hero-proof > div { padding-top: 12px; }
    .data-preview { box-shadow: 8px 8px 0 rgba(0,0,0,.15); }
    .solution-grid-four, .solution-grid-three, .spec-grid, .contact-choice-grid, .process-cards { grid-template-columns: 1fr; }
    .solution-card, .package-card, .spec-grid article, .contact-choice-grid article { padding: 26px; }
    .section-heading h2, .statement-grid h2, .contrast-copy h2, .direct-cta-grid h2, .footer-cta h2, .editorial-grid h2 { font-size: 36px; }
    .form-card { padding: 24px 18px; }
    .package-choice-grid-three { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-bottom { align-items: flex-start; }
    .mobile-form-dock { display: flex; }
}

/* ========================================================================
   De Data Verzamelaar 25.0 - kennisbank, diensten en zoeklandingspagina's
   ======================================================================== */
:root {
    --purple: var(--blue);
    --purple-dark: var(--blue-dark);
    --green: var(--blue);
    --green-dark: var(--blue-dark);
    --green-soft: var(--soft-blue);
    --soft-purple: var(--soft-blue);
}

.service-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--line-strong);
    border-left: 1px solid var(--line-strong);
}
.service-overview-grid article {
    padding: 38px;
    border-right: 1px solid var(--line-strong);
    border-bottom: 1px solid var(--line-strong);
    background: #fff;
}
.service-overview-grid article > span,
.knowledge-section-number {
    display: inline-block;
    margin-bottom: 22px;
    color: var(--blue);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
}
.service-overview-grid h2 { margin: 0 0 12px; font-size: 30px; letter-spacing: -.025em; }
.service-overview-grid p { margin: 0 0 18px; color: var(--muted); }
.service-overview-grid ul { margin: 0 0 26px; padding-left: 18px; color: var(--ink-3); }
.service-overview-grid li + li { margin-top: 7px; }

.source-method-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 70px;
    align-items: start;
}
.source-method-grid > div > h2 { margin: 10px 0 18px; font-size: clamp(34px, 4vw, 54px); line-height: 1.08; }
.source-method-grid > div > p { color: var(--muted); font-size: 18px; }
.source-method-grid ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-strong); }
.source-method-grid li { display: grid; grid-template-columns: 62px 1fr; gap: 22px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.source-method-grid li > span { color: var(--blue); font-weight: 700; }
.source-method-grid h3 { margin: 0 0 6px; font-size: 21px; }
.source-method-grid li p { margin: 0; color: var(--muted); }

.quality-definition-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--line-strong);
    border-left: 1px solid var(--line-strong);
}
.quality-definition-grid article {
    padding: 30px;
    border-right: 1px solid var(--line-strong);
    border-bottom: 1px solid var(--line-strong);
}
.quality-definition-grid span { color: var(--blue); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.quality-definition-grid h2 { margin: 12px 0 10px; font-size: 23px; }
.quality-definition-grid p { margin: 0; color: var(--muted); }

.knowledge-index-intro { border-bottom: 1px solid var(--line); background: #fff; }
.knowledge-index-intro-grid { min-height: 112px; display: grid; grid-template-columns: 250px 1fr; gap: 48px; align-items: center; }
.knowledge-index-intro strong { color: var(--blue); font-size: 21px; }
.knowledge-index-intro p { margin: 0; max-width: 820px; color: var(--muted); }
.knowledge-category:nth-of-type(even) { background: var(--soft); }
.knowledge-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--line-strong);
    border-left: 1px solid var(--line-strong);
}
.knowledge-card-grid article {
    min-height: 310px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--line-strong);
    border-bottom: 1px solid var(--line-strong);
    background: #fff;
}
.knowledge-card-grid article > span { color: var(--blue); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.knowledge-card-grid h3 { margin: 18px 0 12px; font-size: 24px; line-height: 1.18; }
.knowledge-card-grid h3 a { text-decoration: none; }
.knowledge-card-grid h3 a:hover { color: var(--blue); }
.knowledge-card-grid p { margin: 0 0 22px; color: var(--muted); }
.knowledge-card-grid .text-link { margin-top: auto; }

.knowledge-hero { padding: 82px 0; }
.knowledge-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .65fr); gap: 80px; align-items: center; }
.knowledge-answer {
    padding: 34px;
    border-left: 5px solid #fff;
    background: rgba(255,255,255,.09);
}
.knowledge-answer > span { display: block; margin-bottom: 12px; color: rgba(255,255,255,.72); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .11em; }
.knowledge-answer p { margin: 0; color: #fff; font-size: 19px; line-height: 1.65; }

.knowledge-facts { border-bottom: 1px solid var(--line); background: #fff; }
.knowledge-facts-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.knowledge-facts-grid > div { min-height: 104px; padding: 24px 28px; display: grid; grid-template-columns: 18px 1fr; gap: 13px; align-items: center; border-right: 1px solid var(--line); }
.knowledge-facts-grid > div:first-child { border-left: 1px solid var(--line); }
.knowledge-facts-grid span { width: 12px; height: 12px; background: var(--blue); clip-path: polygon(0 0, 55% 0, 100% 50%, 55% 100%, 0 100%, 42% 50%); }
.knowledge-facts-grid p { margin: 0; color: var(--ink-3); font-size: 14px; font-weight: 600; line-height: 1.45; }

.knowledge-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 70px; align-items: start; }
.knowledge-content { max-width: 820px; }
.knowledge-content > section { padding: 0 0 54px; margin: 0 0 54px; border-bottom: 1px solid var(--line); scroll-margin-top: 120px; }
.knowledge-content > section:last-child { margin-bottom: 0; }
.knowledge-content h2 { margin: 0 0 20px; font-size: clamp(30px, 3.4vw, 43px); line-height: 1.14; letter-spacing: -.03em; }
.knowledge-content p { margin: 0 0 18px; color: var(--ink-3); font-size: 18px; line-height: 1.75; }
.knowledge-list { margin-top: 28px; }
.knowledge-list li { color: var(--ink-3); }
.knowledge-sidebar-sticky { position: sticky; top: 116px; }
.knowledge-sidebar-sticky > nav { margin-top: 12px; border-top: 1px solid var(--line-strong); }
.knowledge-sidebar-sticky > nav a { padding: 13px 0; display: grid; grid-template-columns: 34px 1fr; gap: 10px; border-bottom: 1px solid var(--line); color: var(--ink-3); text-decoration: none; font-size: 13px; line-height: 1.35; }
.knowledge-sidebar-sticky > nav a:hover { color: var(--blue); }
.knowledge-sidebar-sticky > nav span { color: var(--blue); font-weight: 700; }
.knowledge-sidebar-action { margin-top: 28px; padding: 24px; border: 1px solid var(--line-strong); border-top: 5px solid var(--blue); background: var(--soft); }
.knowledge-sidebar-action strong { display: block; font-size: 19px; }
.knowledge-sidebar-action p { color: var(--muted); font-size: 13px; }

.related-knowledge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); }
.related-knowledge-grid > a { min-height: 230px; padding: 30px; display: flex; flex-direction: column; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); background: #fff; text-decoration: none; }
.related-knowledge-grid > a:hover { box-shadow: inset 0 4px 0 var(--blue); }
.related-knowledge-grid span { color: var(--blue); font-size: 16px; font-weight: 600; letter-spacing: .09em; }
.related-knowledge-grid strong { margin-top: 18px; font-size: 18px; line-height: 1.25; font-weight: 500; }
.related-knowledge-grid small { margin-top: auto; color: var(--blue); font-size: 13px; font-weight: 600; }

@media (max-width: 1050px) {
    .knowledge-hero-grid, .knowledge-layout, .source-method-grid { grid-template-columns: 1fr; gap: 42px; }
    .knowledge-answer { max-width: 760px; }
    .knowledge-sidebar { display: none; }
    .quality-definition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .knowledge-card-grid, .related-knowledge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .knowledge-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-overview-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .knowledge-hero { padding: 60px 0; }
    .knowledge-answer { padding: 24px; }
    .knowledge-index-intro-grid { min-height: 0; padding: 28px 0; grid-template-columns: 1fr; gap: 8px; }
    .knowledge-card-grid, .related-knowledge-grid, .knowledge-facts-grid, .quality-definition-grid { grid-template-columns: 1fr; }
    .knowledge-facts-grid > div { min-height: 84px; border-left: 1px solid var(--line); }
    .knowledge-content p { font-size: 17px; }
    .service-overview-grid article, .knowledge-card-grid article { padding: 26px; }
}

.article-meta {
    margin: 22px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    color: rgba(255,255,255,.68);
    font-size: 13px;
}
.article-meta span + span::before {
    content: "";
    width: 4px;
    height: 4px;
    margin: 0 10px 2px 0;
    display: inline-block;
    background: rgba(255,255,255,.55);
}

/* ========================================================================
   De Data Verzamelaar 25.0 - eindcontrole, toegankelijkheid en formulierfeedback
   ======================================================================== */
:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid rgba(0, 87, 168, .45);
    outline-offset: 3px;
}

.main-nav a[aria-current="page"]:not(.button) {
    color: var(--blue);
}

.submission-result h2 {
    margin: 3px 0 8px;
}

.submission-note {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    align-items: center;
}

.submission-note span {
    color: var(--muted);
    font-weight: 600;
}

.form-submit-status:empty {
    display: none;
}

.form-submit-status:not(:empty) {
    margin: 10px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 13px;
    line-height: 1.45;
}

.quick-request-card .form-submit-status:not(:empty) {
    color: var(--muted);
}

.table-wrap {
    scrollbar-width: thin;
    scrollbar-color: var(--blue) var(--soft);
}

@media (max-width: 980px) {
    body.nav-open {
        overflow: hidden;
    }

    .main-nav.open {
        max-height: calc(100dvh - 78px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}

@media (max-width: 680px) {
    .submission-result {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 14px;
        padding: 20px 18px;
    }

    .submission-result-icon {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }

    .submission-note {
        display: grid;
        gap: 4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Versie 27: snelle interactie, vaste ankerposities en lichte rendering. */
html {
    scroll-padding-top: 118px;
}

.button[aria-busy="true"],
.button.is-loading {
    cursor: progress;
    pointer-events: none;
    opacity: .78;
}

.button.is-loading::after,
button[type="submit"][aria-busy="true"]::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 9px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    vertical-align: -2px;
    animation: dataverzamelaar-spin .7s linear infinite;
}

@keyframes dataverzamelaar-spin {
    to { transform: rotate(360deg); }
}

.request-form.is-submitting {
    cursor: progress;
}

.request-form.is-submitting .form-main {
    opacity: .92;
}

@supports (content-visibility: auto) {
    .section:not(.form-page-section):not(.footer-cta),
    .knowledge-section,
    .page-content-section {
        content-visibility: auto;
        contain-intrinsic-size: auto 760px;
    }
}

@media (max-width: 980px) {
    html { scroll-padding-top: 86px; }
}

/* ========================================================================
   De Data Verzamelaar 28.0 - mobiele header, merkbeeld en aanvraagbalk
   ======================================================================== */
:root {
    --blue: #6b3ce8;
    --blue-dark: #4f28bd;
    --blue-deep: #18066a;
    --blue-light: #e8e0ff;
    --soft-blue: #f5f2ff;
    --purple: #6b3ce8;
    --purple-dark: #4f28bd;
    --green: #6b3ce8;
    --green-dark: #4f28bd;
    --green-soft: #f5f2ff;
}

:where(a, button, input, select, textarea, summary):focus-visible {
    outline-color: rgba(107, 60, 232, .48);
}

.site-header {
    z-index: 120;
    overflow: visible;
    background: rgba(255, 255, 255, .985);
}

.header-inner {
    position: relative;
    min-width: 0;
}

.brand-header {
    width: 250px;
    max-width: calc(100vw - 112px);
    height: 64px;
    min-width: 0;
    overflow: hidden;
}

.brand-media,
.brand-media picture,
.footer-logo-plate,
.footer-logo-plate picture {
    display: block;
    width: 100%;
    height: 100%;
}

.brand-wordmark,
.footer-wordmark {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    object-position: left center;
}

.footer-logo-plate {
    width: 250px;
    height: 80px;
    padding: 8px 12px;
    overflow: hidden;
    border-radius: 4px;
    background: #fff;
}

.request-form.has-submission-success {
    padding-bottom: 0;
}

.mobile-form-dock {
    color: var(--ink);
}

.mobile-form-dock-copy > span {
    color: var(--muted) !important;
}

.mobile-form-dock-copy > strong {
    color: var(--blue-deep) !important;
}

.mobile-form-dock-copy > small {
    color: var(--muted) !important;
}

@media (max-width: 900px) {
    .header-inner {
        min-height: 72px;
    }

    .brand-header {
        width: 220px;
        max-width: calc(100vw - 92px);
        height: 58px;
    }

    .nav-toggle {
        position: relative;
        z-index: 2;
        flex: 0 0 44px;
    }

    .main-nav {
        top: 72px;
    }
}

@media (max-width: 1080px) {
    .request-form:not(.has-submission-success) {
        padding-bottom: calc(98px + env(safe-area-inset-bottom));
    }

    .mobile-form-dock {
        left: max(10px, env(safe-area-inset-left));
        right: max(10px, env(safe-area-inset-right));
        bottom: max(10px, env(safe-area-inset-bottom));
        width: auto;
        min-height: 72px;
        padding: 10px 10px 10px 14px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px;
        border: 1px solid #d8dce5;
        border-radius: 8px;
        background: rgba(255, 255, 255, .985);
        box-shadow: 0 14px 38px rgba(24, 6, 106, .17);
        backdrop-filter: blur(14px);
    }

    .mobile-form-dock-copy {
        min-width: 0;
        display: grid;
        gap: 1px;
        line-height: 1.15;
    }

    .mobile-form-dock-copy > span {
        overflow: hidden;
        font-size: 12px;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-form-dock-copy > strong {
        overflow: hidden;
        font-size: 19px;
        font-weight: 700;
        letter-spacing: -.025em;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mobile-form-dock-copy > small {
        font-size: 10px;
        font-weight: 650;
        line-height: 1.2;
    }

    .mobile-form-dock .button {
        min-width: 118px;
        min-height: 50px;
        padding: 12px 16px;
        border-radius: 4px;
        font-size: 15px;
    }
}

@media (max-width: 680px) {
    html {
        scroll-padding-top: 80px;
    }

    .container {
        width: min(calc(100% - 24px), var(--container));
    }

    .header-inner {
        min-height: 68px;
        gap: 10px;
    }

    .brand-header {
        width: 188px;
        max-width: calc(100vw - 82px);
        height: 54px;
    }

    .nav-toggle {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        margin-left: auto;
        padding: 10px;
    }

    .main-nav {
        top: 68px;
    }

    .submission-result {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 12px;
        padding: 18px 14px;
    }

    .submission-result-icon {
        width: 36px;
        height: 36px;
        font-size: 18px;
    }

    .submission-result h2 {
        margin: 2px 0 7px;
        font-size: clamp(28px, 9vw, 36px);
        line-height: 1.08;
    }

    .submission-result p,
    .submission-result li {
        font-size: 15px;
        line-height: 1.55;
    }

    .submission-note {
        overflow-wrap: anywhere;
    }

    .mobile-form-dock {
        left: max(8px, env(safe-area-inset-left));
        right: max(8px, env(safe-area-inset-right));
        bottom: max(8px, env(safe-area-inset-bottom));
        min-height: 70px;
        padding: 9px 9px 9px 12px;
        gap: 8px;
    }

    .mobile-form-dock-copy > span {
        font-size: 11px;
    }

    .mobile-form-dock-copy > strong {
        font-size: 17px;
    }

    .mobile-form-dock .button {
        min-width: 105px;
        min-height: 48px;
        padding-inline: 13px;
        font-size: 14px;
    }
}

@media (max-width: 380px) {
    .brand-header {
        width: 164px;
    }

    .mobile-form-dock-copy > strong {
        font-size: 15px;
    }

    .mobile-form-dock .button {
        min-width: 92px;
        padding-inline: 10px;
        font-size: 13px;
    }
}


/* Merkassets */
.brand-header {
    width: 238px;
    max-width: min(100%, 238px);
}
.brand-wordmark,
.footer-wordmark {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}
.footer-logo-plate {
    width: 258px;
    height: auto;
    padding: 0;
    background: transparent;
}
.footer-wordmark { filter: none; }
@media (max-width: 980px) {
    .brand-header { width: 214px; }
}
@media (max-width: 680px) {
    .brand-header { width: 190px; max-width: calc(100vw - 84px); }
    .footer-logo-plate { width: 224px; }
}


/* v33 - commerciële aanvraagbevestiging */
.submission-result-success {
    position: relative;
    overflow: hidden;
    border: 1px solid #ddd3ff;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 22px 60px rgba(11, 0, 91, .10);
}
.submission-result-success::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: linear-gradient(180deg, #008a97, #071d2c);
}
.submission-result-success .submission-result-icon {
    background: #008a97;
    color: #ffffff;
    box-shadow: 0 12px 28px rgba(101, 64, 232, .22);
}
.submission-result-success .submission-kicker { color: #008a97; }
.submission-reference {
    display: grid;
    gap: 5px;
    margin-top: 20px;
    padding: 15px 17px;
    border: 1px solid #e4ddfa;
    border-radius: 14px;
    background: #f7f4ff;
}
.submission-reference span {
    color: #6d6480;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.submission-reference strong {
    color: #071d2c;
    font-size: 15px;
    overflow-wrap: anywhere;
}
.submission-reference small { color: #665f74; line-height: 1.5; }
.submission-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
@media (max-width: 680px) {
    .submission-result-success { border-radius: 18px; }
    .submission-actions { display: grid; grid-template-columns: 1fr; }
    .submission-actions .button { width: 100%; }
}

/* v34 - gegevensverzoek en privacyproces */
.request-rights-layout { align-items: start; }
.request-rights-layout .legal-nav p { margin: 12px 0 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.quick-request-card select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--line-strong); border-radius: 12px; background: #fff; color: var(--ink); font: inherit; }
.quick-request-card select:focus { outline: 0; border-color: var(--brand); box-shadow: 0 0 0 4px rgba(101,64,232,.12); }
@media (max-width: 980px) { .request-rights-layout { grid-template-columns: 1fr; } }

/* De Data Verzamelaar - eigen visuele laag */
:root {
    --ink: #0a1b2b;
    --ink-2: #173247;
    --ink-3: #365267;
    --muted: #647789;
    --paper: #ffffff;
    --soft: #f3f7f8;
    --soft-purple: #e8f8f7;
    --soft-blue: #edf7f8;
    --line: #d8e3e7;
    --line-strong: #afc3cc;
    --purple: #008a97;
    --purple-dark: #006b78;
    --green: #008a97;
    --green-dark: #006874;
    --green-soft: #e1f7f4;
    --blue: #008a97;
    --blue-dark: #006874;
    --blue-deep: #071d2c;
    --blue-light: #d8f4f2;
    --brand: #008a97;
    --cream: #f7f0dd;
    --danger: #a23632;
    --success: #08724e;
    --shadow-sm: 0 12px 34px rgba(7,29,44,.08);
    --shadow-md: 0 26px 72px rgba(7,29,44,.15);
}

.utility-bar { background: #061722; color: #b7cbd4; }
.site-header { border-color: rgba(7,29,44,.1); }
.main-nav a.active { color: var(--green-dark); }
.brand-header { width: 260px; max-width: min(100%, 260px); }
.hero,
.page-hero,
.blue-band,
.footer-cta {
    background: radial-gradient(circle at 88% 12%, rgba(18,212,200,.17), transparent 34%), linear-gradient(135deg, #071827 0%, #0b3040 55%, #0a5360 100%);
}
.hero::after,
.page-hero::after { background: linear-gradient(135deg, rgba(18,212,200,.09), transparent 48%); }
.eyebrow-light { color: #9ee9e1; }
.button { border-color: #008a97; background: #008a97; box-shadow: 0 10px 24px rgba(0,138,151,.22); }
.button:hover { border-color: #006874; background: #006874; box-shadow: 0 14px 30px rgba(0,138,151,.28); }
.solution-card-dark { background: #071d2c; }
.status-dot::before { background: #f4c95d; }
.footer-logo-plate { width: 286px; }
.site-footer { background: #05131e; }
.submission-result-success { border-color: #bae5df; box-shadow: 0 22px 60px rgba(7,29,44,.11); }
.submission-result-success::before { background: linear-gradient(180deg, #12d4c8, #008a97); }
.submission-result-success .submission-result-icon { background: #008a97; box-shadow: 0 12px 28px rgba(0,138,151,.24); }
.submission-result-success .submission-kicker { color: #007783; }
.submission-reference { border-color: #cce9e6; background: #edf9f7; }
.submission-reference strong { color: #073243; }
.quick-request-card select:focus { border-color: #008a97; box-shadow: 0 0 0 4px rgba(0,138,151,.12); }

.pipeline-preview { border: 1px solid rgba(255,255,255,.16); background: rgba(5,22,34,.86); backdrop-filter: blur(8px); }
.pipeline-code { display: grid; gap: 10px; margin: 22px 0; }
.pipeline-code > div { display: grid; grid-template-columns: 34px 1fr; gap: 0 12px; align-items: center; padding: 13px 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.055); }
.pipeline-code span { grid-row: span 2; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: #12d4c8; color: #061722; font-size: 11px; font-weight: 800; }
.pipeline-code strong { color: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 14px; }
.pipeline-code small { color: #a9c4cf; font-size: 11px; }
.format-chip-grid { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.format-chip-grid span { padding: 8px 13px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; }

.merge-preview,
.automation-preview { padding: 26px; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; background: rgba(6,24,36,.76); color: #fff; box-shadow: var(--shadow-md); }
.merge-source { display: grid; gap: 9px; }
.merge-source span,
.merge-target span { padding: 10px 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; background: rgba(255,255,255,.06); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; }
.merge-arrow { display: grid; place-items: center; min-height: 54px; color: #12d4c8; font-size: 28px; }
.merge-target { display: grid; gap: 9px; padding: 17px; border: 1px solid rgba(18,212,200,.5); border-radius: 14px; background: rgba(18,212,200,.08); }
.automation-preview { display: grid; gap: 12px; }
.automation-line { display: grid; grid-template-columns: 80px 1fr; gap: 12px; align-items: center; padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,.11); }
.automation-line span { color: #9ee9e1; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.automation-line strong { font-size: 14px; }
.automation-ok { display: inline-flex; justify-self: start; padding: 8px 12px; border-radius: 999px; background: rgba(18,212,200,.15); color: #aaf5ee; font-size: 12px; font-weight: 700; }

.price-notes-grid,
.quality-grid,
.knowledge-index-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 34px; }
.price-notes-grid article,
.quality-grid article,
.knowledge-card { padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }
.price-notes-grid h3,
.quality-grid h3,
.knowledge-card h2 { margin: 0 0 10px; color: var(--ink); }
.quality-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.quality-grid article > span { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-bottom: 16px; border-radius: 9px; background: var(--green-soft); color: var(--green-dark); font-size: 12px; font-weight: 800; }
.quality-grid p,
.knowledge-card p { margin-bottom: 0; color: var(--muted); }
.example-price { display: grid; gap: 5px; margin: 20px 0; padding: 16px; border-radius: 14px; background: var(--soft); }
.solution-card-dark .example-price { background: rgba(255,255,255,.08); }
.example-price span { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.example-price strong { font-size: 30px; letter-spacing: -.04em; }
.example-price small { color: var(--muted); }
.solution-card-dark .example-price small { color: #b5c7d0; }

.architecture-stack { display: grid; gap: 12px; margin-top: 24px; }
.architecture-stack > div { display: grid; grid-template-columns: 120px 1fr; gap: 18px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.architecture-stack strong { color: var(--green-dark); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.architecture-stack span { color: var(--muted); }
.process-cards-six { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.knowledge-index-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.knowledge-card { display: flex; flex-direction: column; }
.knowledge-card > span { color: var(--green-dark); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.knowledge-card h2 { margin-top: 10px; font-size: 23px; }
.knowledge-card .text-link { margin-top: auto; padding-top: 18px; }

.contact-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 50px; align-items: start; }
.contact-route-cards { display: grid; gap: 12px; margin-top: 28px; }
.contact-route-cards a { display: grid; gap: 4px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--soft); text-decoration: none; }
.contact-route-cards a:hover { border-color: #8fcacb; }
.contact-route-cards span { color: var(--muted); font-size: 14px; }
.form-narrow { width: min(100%, 820px); }

.legal-section { background: #f7f9fa; }
.legal-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 50px; align-items: start; }
.legal-layout > aside { position: sticky; top: 112px; }
.legal-layout > aside nav { display: grid; gap: 7px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.legal-layout > aside a { color: var(--muted); font-size: 12px; text-decoration: none; }
.legal-layout > aside a:hover { color: var(--green-dark); }
.legal-content { padding: 40px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-sm); }
.legal-content section { scroll-margin-top: 110px; padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid var(--line); }
.legal-content h2 { margin: 0 0 15px; font-size: 27px; }
.legal-content p,
.legal-content li { color: var(--ink-3); }
.legal-notice { padding: 18px; border-left: 4px solid #f4c95d; border-radius: 10px; background: #fff8df; }
.legal-notice p { margin-bottom: 0; }

@media (max-width: 1080px) {
    .quality-grid,
    .knowledge-index-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .process-cards-six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .brand-header { width: 220px; }
    .price-notes-grid,
    .quality-grid,
    .knowledge-index-grid,
    .contact-layout,
    .legal-layout { grid-template-columns: 1fr; }
    .legal-layout > aside { position: static; }
    .legal-content { padding: 24px; }
    .architecture-stack > div { grid-template-columns: 1fr; gap: 5px; }
}
@media (max-width: 680px) {
    .brand-header { width: 190px; }
    .footer-logo-plate { width: 240px; }
    .pipeline-code > div { grid-template-columns: 32px 1fr; }
    .process-cards-six { grid-template-columns: 1fr; }
    .legal-content { padding: 20px 17px; }
}

/* v1.1 - subproducten en activiteiten */
.platform-page-hero { padding-bottom: 104px; }
.platform-owner-panel { border-color: rgba(158,233,225,.28); background: rgba(4,25,37,.72); }
.platform-owner-panel h2 { margin: 10px 0 12px; font-size: clamp(28px, 3vw, 38px); line-height: 1.08; letter-spacing: -.035em; }
.platform-owner-panel > p { color: #c3d5dc; }
.owner-panel-lines { display: grid; margin-top: 24px; border-top: 1px solid rgba(255,255,255,.14); }
.owner-panel-lines > div { padding: 13px 0; display: grid; grid-template-columns: 100px 1fr; gap: 16px; border-bottom: 1px solid rgba(255,255,255,.11); }
.owner-panel-lines span { color: #8fb1bd; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.owner-panel-lines strong { color: #fff; font-size: 14px; }

.platform-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.platform-card { min-height: 560px; padding: 32px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-sm); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.platform-card:hover { transform: translateY(-3px); border-color: #9bcfd1; box-shadow: 0 24px 62px rgba(7,29,44,.13); }
.platform-card-featured { color: #fff; border-color: #0a5360; background: radial-gradient(circle at 92% 8%, rgba(18,212,200,.19), transparent 32%), linear-gradient(145deg, #071d2c, #0a5360); box-shadow: 0 28px 70px rgba(7,29,44,.22); }
.platform-card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.platform-number { color: var(--green-dark); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; font-weight: 800; }
.platform-category { padding: 7px 10px; border-radius: 999px; color: var(--green-dark); background: var(--green-soft); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.platform-card-featured .platform-number { color: #9ee9e1; }
.platform-card-featured .platform-category { color: #b8f5ef; background: rgba(18,212,200,.14); }
.platform-domain-row { margin-top: 34px; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 16px; align-items: center; }
.platform-domain-mark { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: var(--brand); font-size: 22px; font-weight: 800; box-shadow: 0 10px 24px rgba(0,138,151,.22); }
.platform-card-featured .platform-domain-mark { color: #061722; background: #12d4c8; }
.platform-domain-row h2 { margin: 0; font-size: clamp(25px, 3vw, 34px); line-height: 1; letter-spacing: -.045em; overflow-wrap: anywhere; }
.platform-domain-row > div > span { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; }
.platform-card-featured .platform-domain-row > div > span { color: #a9c5cf; }
.platform-card h3 { margin: 34px 0 12px; font-size: 25px; line-height: 1.16; letter-spacing: -.035em; }
.platform-card > p { margin: 0; color: var(--muted); }
.platform-card-featured > p { color: #c0d2d9; }
.platform-feature-list { margin: 24px 0 30px; padding: 0; display: grid; gap: 10px; list-style: none; }
.platform-feature-list li { position: relative; padding-left: 23px; color: var(--ink-3); font-size: 14px; }
.platform-feature-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 12px; height: 7px; border-left: 2px solid var(--brand); border-bottom: 2px solid var(--brand); transform: rotate(-45deg); }
.platform-card-featured .platform-feature-list li { color: #d4e1e6; }
.platform-card-featured .platform-feature-list li::before { border-color: #12d4c8; }
.platform-link { margin-top: auto; padding-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); color: var(--green-dark); font-weight: 800; text-decoration: none; }
.platform-link span:last-child { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--green-soft); transition: transform .18s ease; }
.platform-link:hover span:last-child { transform: translate(2px, -2px); }
.platform-card-featured .platform-link { color: #fff; border-color: rgba(255,255,255,.16); }
.platform-card-featured .platform-link span:last-child { color: #061722; background: #12d4c8; }

.platform-routing-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 86px; align-items: start; }
.platform-routing-copy h2 { margin: 13px 0 18px; font-size: clamp(36px, 4.5vw, 58px); line-height: 1.04; letter-spacing: -.05em; }
.platform-routing-copy p { margin: 0 0 28px; color: var(--ink-3); font-size: 17px; }
.platform-route-list { display: grid; border-top: 1px solid var(--line-strong); }
.platform-route-list article { padding: 23px 0; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 18px; border-bottom: 1px solid var(--line-strong); }
.platform-route-list article > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: var(--brand); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; font-weight: 800; }
.platform-route-list strong { font-size: 19px; }
.platform-route-list p { margin: 3px 0 0; color: var(--muted); }

.platform-ownership-section { padding-top: 0; }
.platform-ownership-card { padding: 48px; display: flex; align-items: center; justify-content: space-between; gap: 48px; border-radius: 24px; color: #fff; background: radial-gradient(circle at 90% 10%, rgba(18,212,200,.2), transparent 35%), #071d2c; box-shadow: var(--shadow-md); }
.platform-ownership-card > div:first-child { max-width: 760px; }
.platform-ownership-card h2 { margin: 12px 0 14px; font-size: clamp(34px, 4vw, 52px); line-height: 1.06; letter-spacing: -.045em; }
.platform-ownership-card p { margin: 0; color: #bcd0d8; }
.platform-ownership-actions { flex: 0 0 auto; display: grid; gap: 10px; }

@media (max-width: 1080px) {
    .platform-routing-layout { grid-template-columns: 1fr; gap: 48px; }
    .platform-ownership-card { align-items: flex-start; flex-direction: column; }
    .platform-ownership-actions { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .platform-grid { grid-template-columns: 1fr; }
    .platform-card { min-height: 0; }
}
@media (max-width: 680px) {
    .platform-page-hero { padding-bottom: 70px; }
    .owner-panel-lines > div { grid-template-columns: 1fr; gap: 4px; }
    .platform-card { padding: 24px 21px; border-radius: 18px; }
    .platform-domain-row { grid-template-columns: 46px minmax(0, 1fr); }
    .platform-domain-mark { width: 46px; height: 46px; border-radius: 12px; font-size: 18px; }
    .platform-ownership-card { padding: 30px 22px; border-radius: 18px; }
    .platform-ownership-actions { grid-template-columns: 1fr; }
    .platform-ownership-actions .button { width: 100%; }
}

/* v1.1 - navigatieruimte voor extra platformpagina */
.main-nav a { white-space: nowrap; }
.platform-owner-panel h2 { color: #fff; }

@media (max-width: 1180px) {
    .nav-toggle { display: block; }
    .main-nav {
        position: absolute;
        top: 82px;
        left: 0;
        right: 0;
        margin: 0;
        padding: 16px 24px 24px;
        display: none;
        align-items: stretch;
        flex-direction: column;
        gap: 0;
        border-bottom: 1px solid var(--line);
        background: #fff;
        box-shadow: 0 20px 45px rgba(7,29,44,.13);
    }
    .main-nav.open { display: flex; }
    .main-nav a { padding: 12px 0; border-bottom: 1px solid var(--line); }
    .main-nav a:not(.button)::after { bottom: 6px; }
    .main-nav .button { margin-top: 12px; border-bottom: 0; }
    .header-button { margin-left: 0; }
}

@media (max-width: 900px) {
    .main-nav { top: 72px; }
}

@media (max-width: 680px) {
    .main-nav { top: 68px; }
}

/* v1.3 - opdrachtprofielen en doelgroepgerichte pagina's */
.assignments-hero,
.audience-page-hero {
    background: radial-gradient(circle at 84% 16%, rgba(0, 87, 168, .34), transparent 34%), linear-gradient(135deg, #0d1524, #14253a 58%, #0b3151);
}
.assignment-intake-panel ol {
    margin: 22px 0 0;
    padding: 0;
    display: grid;
    list-style: none;
    border-top: 1px solid rgba(255, 255, 255, .14);
}
.assignment-intake-panel li {
    padding: 15px 0;
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .11);
}
.assignment-intake-panel strong { color: #fff; font-size: 14px; }
.assignment-intake-panel small { color: #aebfd0; font-size: 12px; line-height: 1.45; }

.assignment-index-section { background: #f7f9fb; }
.assignment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.assignment-card {
    min-height: 100%;
    padding: 30px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.assignment-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 87, 168, .35);
    box-shadow: 0 24px 60px rgba(18, 24, 39, .11);
}
.assignment-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.assignment-card-top > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: var(--purple);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 12px;
    font-weight: 800;
}
.assignment-card-top small {
    color: var(--purple-dark);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-align: right;
    text-transform: uppercase;
}
.assignment-card h3 {
    margin: 26px 0 20px;
    font-size: clamp(24px, 2.6vw, 33px);
    line-height: 1.08;
    letter-spacing: -.04em;
}
.assignment-card dl { margin: 0 0 28px; display: grid; gap: 17px; }
.assignment-card dl > div { padding-top: 15px; border-top: 1px solid var(--line); }
.assignment-card dt {
    margin-bottom: 4px;
    color: var(--ink);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.assignment-card dd { margin: 0; color: var(--muted); font-size: 14px; }
.assignment-link {
    margin-top: auto;
    padding-top: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-top: 1px solid var(--line);
    color: var(--purple-dark);
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}
.assignment-link b {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e9f3fc;
    transition: transform .18s ease;
}
.assignment-link:hover b { transform: translateX(3px); }
.delivery-choice-grid {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.delivery-choice-grid > div {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 14px;
    background: rgba(255, 255, 255, .07);
}
.delivery-choice-grid strong { display: block; color: #fff; }
.delivery-choice-grid span { display: block; margin-top: 6px; color: #b8c8d7; font-size: 12px; line-height: 1.5; }

.audience-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
.audience-card {
    padding: 28px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}
.audience-card-number {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--purple-dark);
    background: #e9f3fc;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 12px;
    font-weight: 800;
}
.audience-card h3 { margin: 24px 0 12px; font-size: 25px; line-height: 1.15; letter-spacing: -.035em; }
.audience-card > p { margin: 0; color: var(--muted); }
.audience-card ul { margin: 22px 0; padding: 0; display: grid; gap: 9px; list-style: none; }
.audience-card li { position: relative; padding-left: 20px; color: var(--ink-3); font-size: 13px; }
.audience-card li::before { content: ""; position: absolute; left: 0; top: .62em; width: 8px; height: 5px; border-left: 2px solid var(--purple); border-bottom: 2px solid var(--purple); transform: rotate(-45deg); }
.audience-result { margin: auto 0 20px; padding: 16px; border-radius: 13px; background: var(--soft); }
.audience-result span { display: block; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.audience-result strong { display: block; margin-top: 5px; font-size: 13px; line-height: 1.5; }
.audience-decision-section .hero-actions { justify-content: center; }

.audience-compact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.audience-compact-grid a {
    padding: 24px;
    display: flex;
    min-height: 210px;
    flex-direction: column;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: transform .18s ease, border-color .18s ease;
}
.audience-compact-grid a:hover { transform: translateY(-2px); border-color: rgba(0, 87, 168, .35); }
.audience-compact-grid span { color: var(--purple); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; font-weight: 800; }
.audience-compact-grid strong { margin-top: 30px; font-size: 19px; line-height: 1.2; }
.audience-compact-grid small { margin-top: 9px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.section-actions {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}
.selected-assignment-banner {
    margin-bottom: 18px;
    padding: 17px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 1px solid #b7d5ef;
    border-radius: 15px;
    background: #eef6fd;
}
.selected-assignment-banner span { display: block; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.selected-assignment-banner strong { display: block; margin-top: 3px; color: var(--ink); font-size: 15px; }
.selected-assignment-banner a { color: var(--purple-dark); font-size: 12px; font-weight: 800; }

@media (max-width: 1080px) {
    .audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .audience-compact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .assignment-grid { grid-template-columns: 1fr; }
    .delivery-choice-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
    .assignment-card,
    .audience-card { padding: 23px 20px; }
    .assignment-intake-panel li { grid-template-columns: 1fr; gap: 4px; }
    .audience-grid,
    .audience-compact-grid { grid-template-columns: 1fr; }
    .audience-compact-grid a { min-height: 0; }
    .selected-assignment-banner { align-items: flex-start; flex-direction: column; }
}

/* v1.4.0 - zakelijke, sobere positionering */
:root {
    --radius-sm: 6px;
    --radius: 9px;
    --radius-lg: 12px;
    --shadow-sm: 0 4px 14px rgba(18,24,39,.05);
    --shadow-md: 0 10px 28px rgba(18,24,39,.09);
}
body {
    font-family: Arial, Helvetica, "Segoe UI", sans-serif;
    line-height: 1.6;
}
.site-header {
    background: #fff;
    backdrop-filter: none;
}
.utility-bar { background: #10283d; }
.button {
    border-radius: 6px;
    box-shadow: none;
    transition: background .15s ease, border-color .15s ease;
}
.button:hover { transform: none; box-shadow: none; }
.eyebrow {
    gap: 0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .055em;
}
.eyebrow::before { display: none; }
.hero,
.page-hero,
.legal-hero,
.custom-request-section {
    background: #10283d !important;
}
.hero::before,
.hero::after,
.page-hero::before,
.page-hero::after { display: none !important; }
.hero-grid { min-height: 590px; padding-block: 70px; }
.hero-content h1 {
    max-width: 820px;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.04;
    letter-spacing: -.035em;
}
.page-hero h1 {
    font-size: clamp(38px, 4.7vw, 60px);
    line-height: 1.06;
    letter-spacing: -.032em;
}
.section-heading h2,
.editorial-grid h2,
.footer-cta h2 {
    letter-spacing: -.025em;
}
.hero-calculator,
.data-preview-card,
.hero-panel,
.platform-card,
.audience-card,
.quick-request-card,
.form-card,
.summary-sticky {
    border-radius: 10px !important;
    backdrop-filter: none !important;
}
.hero-calculator {
    background: rgba(255,255,255,.06);
    box-shadow: none;
}
.solution-card,
.platform-card,
.audience-card {
    box-shadow: none !important;
    transition: none !important;
}
.platform-card:hover,
.audience-card:hover,
.audience-compact-grid a:hover { transform: none !important; }
.platform-card-featured {
    background: #12344d !important;
    box-shadow: none !important;
}
.section { padding-block: 82px; }
.solution-card { min-height: 360px; }
.solution-card h3 { margin-top: 46px; }
.footer-cta { background: #0057a8 !important; }
.work-case-flow {
    margin: 24px 0;
    display: grid;
    border-top: 1px solid rgba(255,255,255,.18);
}
.work-case-flow > div {
    padding: 13px 0;
    display: grid;
    grid-template-columns: 104px 1fr;
    gap: 16px;
    border-bottom: 1px solid rgba(255,255,255,.18);
}
.work-case-flow span { color: #a9b8c7; font-size: 12px; }
.work-case-flow strong { font-size: 14px; font-weight: 600; }
.work-case-flow .work-case-result span { color: #b8d8f3; }
.before-after-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    border: 1px solid var(--line);
}
.before-after-grid article { padding: 36px; background: #fff; }
.before-after-grid article + article { border-left: 1px solid var(--line); background: var(--soft); }
.before-after-grid article > span { color: var(--purple); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.before-after-grid h3 { margin: 10px 0 22px; font-size: 27px; line-height: 1.2; }
.before-after-grid ul { margin: 0; padding-left: 20px; color: var(--ink-3); }
.before-after-grid li + li { margin-top: 8px; }
.business-identity-section { border-top: 1px solid var(--line); }
@media (max-width: 800px) {
    .before-after-grid { grid-template-columns: 1fr; }
    .before-after-grid article + article { border-left: 0; border-top: 1px solid var(--line); }
    .work-case-flow > div { grid-template-columns: 88px 1fr; }
}

/* ========================================================================== 
   v1.5.0 - zakelijke dienstverleningslaag
   Minder kaart-/dashboarduitstraling, meer rust, leesbaarheid en directe CTA.
   ========================================================================== */
:root {
    --ink: #10263a;
    --ink-2: #1c3448;
    --ink-3: #405467;
    --muted: #657687;
    --paper: #ffffff;
    --soft: #f3f7f9;
    --line: #d8e1e7;
    --purple: #008e9b;
    --purple-dark: #00717b;
    --green: #008e9b;
    --green-dark: #00717b;
    --blue: #0b2840;
    --shadow-sm: none;
    --shadow-md: 0 18px 50px rgba(16, 38, 58, .10);
    --radius-sm: 4px;
    --radius: 6px;
    --radius-lg: 8px;
    --container: 1220px;
}

html { scroll-padding-top: 104px; }
body {
    color: var(--ink);
    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.62;
}
.container { width: min(calc(100% - 48px), var(--container)); }
.section { padding-block: 86px; }
.section-soft { background: var(--soft); }

.utility-bar { background: #092033; color: rgba(255,255,255,.74); font-size: 11px; }
.utility-bar-inner { min-height: 31px; }
.utility-bar strong { color: #fff; font-weight: 650; }
.site-header { background: #fff; border-bottom: 1px solid var(--line); backdrop-filter: none; }
.header-inner { min-height: 74px; gap: 34px; }
.brand-wordmark { width: 158px; height: auto; display: block; }
.main-nav { gap: 25px; }
.main-nav a { font-size: 13px; font-weight: 650; }
.main-nav a.active:not(.button) { color: var(--green-dark); }
.header-button { min-height: 40px; padding: 9px 17px; border-radius: 4px; }
.nav-toggle { border-radius: 4px; }

.button {
    min-height: 46px;
    padding: 12px 20px;
    border-radius: 4px;
    box-shadow: none;
    font-size: 14px;
    font-weight: 700;
}
.button:hover { box-shadow: none; transform: none; }
.button-large { min-height: 50px; padding: 14px 22px; }
.button-secondary { background: #fff; }
.button-ghost { border-color: rgba(255,255,255,.42); }
.button-light { color: #0b2840; }
.text-link { color: var(--green-dark); font-weight: 700; }

.business-kicker,
.section-label {
    display: inline-block;
    color: #078994;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.section-label-light { color: rgba(255,255,255,.76); }

.business-hero { background: #0b2840; color: #fff; }
.business-hero-grid {
    min-height: 610px;
    padding: 78px 0 72px;
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, .72fr);
    gap: 84px;
    align-items: center;
}
.business-hero-copy { max-width: 770px; }
.business-hero-copy .business-kicker { color: #6fd0d4; }
.business-hero-copy h1 {
    margin: 14px 0 22px;
    max-width: 760px;
    font-size: clamp(48px, 5.3vw, 72px);
    line-height: 1.01;
    letter-spacing: -.048em;
    font-weight: 720;
}
.business-hero-copy > p { max-width: 700px; margin: 0; color: rgba(255,255,255,.82); font-size: 19px; line-height: 1.62; }
.business-hero-copy .business-hero-note { margin-top: 15px; color: rgba(255,255,255,.66); font-size: 14px; }
.business-hero .hero-actions { margin-top: 30px; }
.business-proof-row {
    margin-top: 39px;
    padding-top: 22px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    border-top: 1px solid rgba(255,255,255,.17);
}
.business-proof-row span { color: rgba(255,255,255,.58); font-size: 12px; line-height: 1.45; }
.business-proof-row strong { display: block; margin-bottom: 5px; color: #fff; font-size: 12px; }

.process-problem-card {
    border: 1px solid rgba(255,255,255,.19);
    background: #102f49;
}
.process-problem-head { padding: 24px 25px 20px; border-bottom: 1px solid rgba(255,255,255,.13); }
.process-problem-head span { display: block; color: #6fd0d4; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.process-problem-head strong { display: block; margin-top: 5px; font-size: 22px; line-height: 1.2; }
.process-problem-list { margin: 0; padding: 0; list-style: none; }
.process-problem-list li { padding: 17px 24px; display: grid; grid-template-columns: 28px 1fr; gap: 13px; border-bottom: 1px solid rgba(255,255,255,.10); }
.process-problem-list li > span { color: #6fd0d4; font-size: 11px; font-weight: 800; }
.process-problem-list strong { display: block; font-size: 13px; }
.process-problem-list small { display: block; margin-top: 3px; color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.45; }
.process-problem-link { padding: 17px 24px; display: flex; justify-content: space-between; color: #fff; text-decoration: none; font-size: 13px; font-weight: 750; background: #078994; }
.process-problem-link:hover { background: #067681; }

.company-strip { border-bottom: 1px solid var(--line); background: #fff; }
.company-strip-grid { min-height: 86px; display: grid; grid-template-columns: repeat(4, 1fr); }
.company-strip-grid > div { padding: 19px 24px; border-left: 1px solid var(--line); }
.company-strip-grid > div:last-child { border-right: 1px solid var(--line); }
.company-strip-grid strong { display: block; font-size: 12px; }
.company-strip-grid span { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.4; }

.business-split { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 86px; align-items: start; }
.business-heading h2,
.business-section-head h2,
.company-business-grid h2,
.contact-business-copy h2 {
    margin: 10px 0 0;
    font-size: clamp(36px, 4.4vw, 56px);
    line-height: 1.06;
    letter-spacing: -.04em;
    font-weight: 690;
}
.business-heading > p { margin: 20px 0 0; color: var(--muted); }
.business-copy { max-width: 700px; }
.business-copy p { margin: 0 0 17px; color: var(--ink-3); font-size: 17px; }
.business-copy p:last-of-type { margin-bottom: 24px; }
.business-check-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.business-check-list li { position: relative; padding: 13px 0 13px 28px; border-bottom: 1px solid var(--line); color: var(--ink-2); font-size: 14px; }
.business-check-list li::before { content: ""; position: absolute; left: 2px; top: 20px; width: 8px; height: 8px; background: var(--green); }

.services-business { background: var(--soft); }
.business-section-head { margin-bottom: 38px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .55fr); gap: 70px; align-items: end; }
.business-section-head > p { margin: 0 0 3px; color: var(--muted); font-size: 15px; }
.service-business-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.service-business-card { min-height: 390px; padding: 34px 34px 30px; border-right: 1px solid var(--line); background: #fff; }
.service-business-card:first-child { border-left: 1px solid var(--line); }
.service-index { color: var(--green-dark); font-size: 11px; font-weight: 800; }
.service-business-card h3 { margin: 42px 0 12px; font-size: 25px; letter-spacing: -.025em; }
.service-business-card p { margin: 0 0 20px; color: var(--muted); font-size: 14px; }
.service-business-card ul { margin: 0 0 26px; padding-left: 17px; color: var(--ink-3); font-size: 13px; }
.service-business-card li + li { margin-top: 6px; }
.service-business-card a { margin-top: auto; color: var(--green-dark); text-decoration: none; font-size: 13px; font-weight: 750; }

.workflow-comparison-section { background: #fff; }
.workflow-comparison { display: grid; grid-template-columns: 1fr 72px 1fr; align-items: stretch; }
.workflow-column { padding: 36px 38px; border: 1px solid var(--line); }
.workflow-column > span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.workflow-column h3 { margin: 9px 0 24px; max-width: 470px; font-size: 24px; line-height: 1.22; }
.workflow-column ol { margin: 0; padding: 0; list-style: none; counter-reset: workflow; }
.workflow-column li { counter-increment: workflow; position: relative; padding: 13px 0 13px 38px; border-top: 1px solid var(--line); color: var(--ink-3); font-size: 14px; }
.workflow-column li::before { content: counter(workflow, decimal-leading-zero); position: absolute; left: 0; color: var(--muted); font-size: 10px; font-weight: 800; }
.workflow-manual { background: #fbfcfd; }
.workflow-automated { border-color: #b9d8dc; background: #eef8f8; }
.workflow-arrow { display: grid; place-items: center; color: var(--green-dark); font-size: 34px; }

.process-business-section { background: var(--soft); }
.process-business-grid { align-items: center; }
.business-heading .text-link { display: inline-block; margin-top: 24px; }
.business-process-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #cbd7de; }
.business-process-list li { padding: 21px 0; display: grid; grid-template-columns: 46px 1fr; gap: 17px; border-bottom: 1px solid #cbd7de; }
.business-process-list li > span { width: 34px; height: 34px; display: grid; place-items: center; color: #fff; background: var(--blue); font-size: 12px; font-weight: 800; }
.business-process-list strong { display: block; font-size: 16px; }
.business-process-list p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }

.company-business-section { background: #fff; }
.company-business-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 88px; align-items: start; }
.company-business-grid p { margin: 0 0 17px; max-width: 700px; color: var(--ink-3); font-size: 16px; }
.company-actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 10px; }

.examples-business-section { background: var(--soft); }
.examples-business-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); }
.examples-business-grid article { padding: 27px 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.examples-business-grid article:nth-child(odd) { border-left: 1px solid var(--line); }
.examples-business-grid strong { display: block; font-size: 17px; }
.examples-business-grid p { margin: 7px 0 0; color: var(--muted); font-size: 13px; }

.faq-section { background: #fff; }
.faq-layout { grid-template-columns: .75fr 1.25fr; gap: 84px; }
.faq-heading h2 { margin: 10px 0 12px; font-size: 42px; letter-spacing: -.035em; }
.faq-heading p { color: var(--muted); }
.faq-list summary { padding: 19px 0; font-size: 14px; }
.faq-list p { font-size: 14px; }

.contact-business-section { background: #0b2840; color: #fff; }
.contact-business-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(460px, 1.05fr); gap: 84px; align-items: start; }
.contact-business-copy { padding-top: 12px; }
.contact-business-copy .section-label { color: #6fd0d4; }
.contact-business-copy h2 { color: #fff; }
.contact-business-copy > p { margin: 18px 0 24px; max-width: 570px; color: rgba(255,255,255,.72); font-size: 16px; }
.contact-business-copy .business-check-list { border-color: rgba(255,255,255,.16); }
.contact-business-copy .business-check-list li { border-color: rgba(255,255,255,.16); color: rgba(255,255,255,.78); }
.contact-business-copy .business-check-list li::before { background: #6fd0d4; }
.contact-security-note { font-size: 12px !important; color: rgba(255,255,255,.55) !important; }

.contact-form { padding: 36px; border: 1px solid #d9e2e7; background: #fff; color: var(--ink); }
.contact-form-heading { margin-bottom: 25px; }
.contact-form-heading > span { color: var(--green-dark); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-form-heading h2 { margin: 6px 0 7px; font-size: 27px; line-height: 1.2; letter-spacing: -.025em; }
.contact-form-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.contact-fields { gap: 16px; }
.contact-form .field label { margin-bottom: 6px; font-size: 12px; font-weight: 700; }
.contact-form .field input,
.contact-form .field textarea,
.contact-form .field select { min-height: 46px; border-radius: 3px; border-color: #ccd8df; background: #fff; font-size: 14px; }
.contact-form .field textarea { min-height: 142px; resize: vertical; }
.field-optional { color: var(--muted); font-size: 10px; font-weight: 500; }
.contact-form-footer { margin-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.contact-form-footer > p { max-width: 310px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.contact-form-footer a { color: var(--green-dark); }
.contact-form .form-submit-status { text-align: left; }
.contact-form.is-submitting { opacity: .78; }

.submission-result { border-radius: 4px; box-shadow: none; }
.submission-result h2 { margin: 5px 0 7px; font-size: 25px; }
.submission-result-icon { border-radius: 3px; }
.submission-kicker { font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.submission-reference { margin-top: 15px; }
.submission-reference span, .submission-reference small { display: block; font-size: 11px; }

.contact-page-hero { padding: 68px 0; color: #fff; background: #0b2840; }
.contact-page-hero h1 { margin: 10px 0 0; max-width: 720px; font-size: clamp(42px, 5vw, 62px); line-height: 1.03; letter-spacing: -.045em; }
.page-hero-copy { padding-top: 27px; }
.page-hero-copy p { margin: 0 0 14px; color: rgba(255,255,255,.72); }
.contact-page-section { padding-top: 80px; }
.compact-info-section { padding-block: 65px; }
.compact-info-section .business-section-head { margin-bottom: 0; }

/* Bestaande subpagina's krijgen dezelfde zakelijke basis. */
.page-hero { background: #0b2840 !important; }
.page-hero::before, .page-hero::after { display: none !important; }
.page-hero h1 { font-weight: 690 !important; }
.solution-card,
.usecase-card,
.package-card,
.data-preview-card,
.platform-card,
.assignment-card,
.audience-card,
.related-knowledge-grid a,
.process-cards li,
.price-notes-grid article { border-radius: 4px !important; box-shadow: none !important; }
.eyebrow::before { display: none; }
.eyebrow { letter-spacing: .08em; font-weight: 800; }

.footer-cta { padding: 62px 0; background: #075f8e; }
.footer-cta-inner { min-height: 0; }
.footer-cta h2 { max-width: 820px; font-size: clamp(32px, 3.7vw, 46px); line-height: 1.08; }
.footer-cta p { max-width: 780px; }
.site-footer { background: #071b2b; }
.footer-grid { padding-block: 58px; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 50px; }
.footer-company { color: #c5d4df !important; font-weight: 650; }
.footer-grid h2 { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.footer-grid a { font-size: 12px; }
.footer-bottom { font-size: 11px; }

@media (max-width: 1080px) {
    .business-hero-grid { grid-template-columns: 1fr; gap: 44px; min-height: 0; }
    .process-problem-card { max-width: 700px; }
    .company-strip-grid { grid-template-columns: repeat(2, 1fr); }
    .company-strip-grid > div:nth-child(3) { border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
    .company-strip-grid > div:nth-child(4) { border-top: 1px solid var(--line); }
    .business-split, .company-business-grid, .contact-business-grid { grid-template-columns: 1fr; gap: 48px; }
    .service-business-grid { grid-template-columns: 1fr; }
    .service-business-card { min-height: 0; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .service-business-card:last-child { border-bottom: 0; }
    .workflow-comparison { grid-template-columns: 1fr; }
    .workflow-arrow { min-height: 64px; transform: rotate(90deg); }
    .contact-form { max-width: 760px; }
}

@media (max-width: 820px) {
    .container { width: min(calc(100% - 32px), var(--container)); }
    .utility-bar-inner span:last-child { display: none; }
    .utility-bar-inner { justify-content: center; }
    .main-nav { top: 74px; border-radius: 4px; }
    .main-nav .header-button { margin-top: 8px; }
    .business-section-head { grid-template-columns: 1fr; gap: 14px; }
    .business-proof-row { grid-template-columns: 1fr; gap: 12px; }
    .business-proof-row span { padding-bottom: 11px; border-bottom: 1px solid rgba(255,255,255,.12); }
    .examples-business-grid { grid-template-columns: 1fr; }
    .examples-business-grid article { border-left: 1px solid var(--line); }
    .faq-layout { grid-template-columns: 1fr; gap: 34px; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
    .container { width: min(calc(100% - 26px), var(--container)); }
    .section { padding-block: 64px; }
    .business-hero-grid { padding: 58px 0 52px; }
    .business-hero-copy h1 { font-size: 43px; }
    .business-hero-copy > p { font-size: 17px; }
    .business-hero .hero-actions { display: grid; }
    .process-problem-head { padding: 21px 20px 17px; }
    .process-problem-list li { padding: 15px 20px; }
    .process-problem-link { padding: 15px 20px; }
    .company-strip-grid { grid-template-columns: 1fr; }
    .company-strip-grid > div { border-right: 1px solid var(--line); border-top: 1px solid var(--line); }
    .company-strip-grid > div:first-child { border-top: 0; }
    .business-heading h2, .business-section-head h2, .company-business-grid h2, .contact-business-copy h2 { font-size: 35px; }
    .service-business-card { padding: 28px 24px; }
    .service-business-card h3 { margin-top: 24px; }
    .workflow-column { padding: 28px 24px; }
    .contact-form { padding: 26px 20px; }
    .contact-form-footer { align-items: stretch; flex-direction: column; }
    .contact-form-footer .button { width: 100%; }
    .contact-form-footer > p { max-width: none; }
    .contact-page-hero { padding: 56px 0; }
    .contact-page-hero h1 { font-size: 40px; }
    .footer-cta { padding: 52px 0; }
    .footer-grid { grid-template-columns: 1fr; gap: 34px; }
    .footer-bottom { align-items: flex-start; flex-direction: column; }
}

/* ========================================================================== 
   v1.5.0 - laatste visuele verfijning op basis van homepage-review
   Compactere typografie, sterker bedrijfsprofiel en minder template-achtige
   secties. Geen interactieve offerte- of bestelcomponenten.
   ========================================================================== */
.header-inner { min-height: 82px; }
.brand-wordmark { width: 188px; }
.main-nav a { font-size: 13.5px; }

.business-hero-grid {
    min-height: 550px;
    padding-top: 68px;
    padding-bottom: 64px;
}
.business-hero-copy h1 {
    max-width: 700px;
    font-size: clamp(44px, 4.6vw, 62px);
    line-height: 1.035;
    letter-spacing: -.042em;
}
.business-hero-copy > p { max-width: 680px; font-size: 18px; }
.process-problem-head strong { font-size: 20px; }

.section { padding-block: 76px; }
.business-heading h2,
.business-section-head h2,
.company-business-grid h2,
.contact-business-copy h2 {
    max-width: 720px;
    font-size: clamp(34px, 3.6vw, 48px);
    line-height: 1.09;
    letter-spacing: -.032em;
}
.business-copy p { font-size: 16px; }
.business-section-head { margin-bottom: 32px; }

.service-business-card { padding-top: 31px; padding-bottom: 32px; }
.service-business-card h3 { font-size: 22px; }
.service-business-card p,
.service-business-card li { font-size: 13.5px; }
.workflow-column h3 { font-size: 21px; }
.workflow-column li { font-size: 13.5px; }

.company-business-grid { gap: 70px; }
.examples-business-grid article { padding: 24px 27px; }
.faq-heading h2 { font-size: clamp(32px, 3.1vw, 40px); }

.contact-business-grid { gap: 68px; }
.contact-form { padding: 32px; }
.contact-form-heading h2 { font-size: 25px; }

.footer-cta { padding: 42px 0; background: #075f8e; }
.footer-cta-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 48px;
    align-items: center;
}
.footer-cta h2 {
    max-width: 720px;
    margin-top: 8px;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.12;
    letter-spacing: -.028em;
}
.footer-cta p { max-width: 760px; margin-top: 10px; font-size: 14px; }
.footer-cta-actions { align-self: center; }

@media (max-width: 1080px) {
    .footer-cta-inner { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 820px) {
    .header-inner { min-height: 72px; }
    .brand-wordmark { width: 170px; }
}
@media (max-width: 620px) {
    .business-hero-copy h1 { font-size: 40px; }
    .section { padding-block: 58px; }
    .business-heading h2,
    .business-section-head h2,
    .company-business-grid h2,
    .contact-business-copy h2 { font-size: 32px; }
    .footer-cta { padding: 38px 0; }
}

/* ========================================================================== 
   v1.5.1 - header en opdracht-scope verfijning
   ========================================================================== */
.utility-bar-inner {
    justify-content: space-between;
}
.utility-bar-inner span:first-child {
    color: rgba(255, 255, 255, .82);
    font-weight: 650;
}
.utility-bar-inner span:last-child {
    color: rgba(255, 255, 255, .62);
}

.assignments-hero .page-hero-grid {
    align-items: center;
}
.assignment-intake-panel {
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    background: #12344d !important;
    box-shadow: none !important;
}
.assignment-intake-heading {
    padding: 26px 27px 22px;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}
.assignment-intake-kicker {
    display: block;
    color: #6fd0d4;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.assignment-intake-heading h2 {
    margin: 8px 0 10px;
    max-width: 430px;
    color: #fff;
    font-size: 24px;
    line-height: 1.16;
    letter-spacing: -.025em;
}
.assignment-intake-heading p {
    margin: 0;
    max-width: 470px;
    color: rgba(255, 255, 255, .67);
    font-size: 13px;
    line-height: 1.55;
}
.assignment-intake-panel .assignment-intake-list {
    margin: 0;
    padding: 0;
    display: grid;
    list-style: none;
    border-top: 0;
}
.assignment-intake-panel .assignment-intake-list li {
    padding: 17px 27px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    border-bottom: 1px solid rgba(255, 255, 255, .11);
}
.assignment-intake-number {
    padding-top: 2px;
    color: #6fd0d4;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: .04em;
}
.assignment-intake-panel .assignment-intake-list strong {
    display: block;
    color: #fff;
    font-size: 14px;
    line-height: 1.35;
}
.assignment-intake-panel .assignment-intake-list small {
    display: block;
    margin-top: 4px;
    color: rgba(255, 255, 255, .61);
    font-size: 12px;
    line-height: 1.5;
}
.assignment-intake-result {
    padding: 18px 27px 20px;
    background: rgba(0, 142, 155, .16);
}
.assignment-intake-result span {
    display: block;
    color: #6fd0d4;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.assignment-intake-result strong {
    display: block;
    margin-top: 5px;
    max-width: 470px;
    color: #fff;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 650;
}

@media (max-width: 680px) {
    .utility-bar-inner { justify-content: center; }
    .utility-bar-inner span:first-child { display: block; }
    .utility-bar-inner span:last-child { display: none; }
    .assignment-intake-heading { padding: 22px 20px 19px; }
    .assignment-intake-heading h2 { font-size: 21px; }
    .assignment-intake-panel .assignment-intake-list li {
        padding: 15px 20px;
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 10px;
    }
    .assignment-intake-result { padding: 17px 20px 19px; }
}

/* ========================================================================== 
   v1.6.0 - eindafwerking publieke layouts
   Ontbrekende structurele selectors aangevuld en juridische/contentpagina's
   gelijkgetrokken met de zakelijke visuele basis.
   ========================================================================== */
.compact-page-hero {
    padding: 64px 0;
}
.compact-page-hero .narrow-hero {
    width: min(100%, 900px);
}

.audience-fit-panel {
    align-self: stretch;
}
.audience-fit-panel .check-list {
    margin-top: 18px;
}

.data-preview-head {
    min-height: 74px;
    padding: 17px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--line);
    background: #f7fafb;
}
.data-preview-head span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.data-preview-head strong {
    color: var(--ink);
    font-size: 13px;
    text-align: right;
    word-break: break-word;
}
.data-table {
    display: grid;
    background: #fff;
}

.form-section {
    background: var(--soft);
}
.form-submit-row {
    margin-top: 24px;
    padding-top: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-top: 1px solid var(--line);
}
.form-submit-row small {
    max-width: 360px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.55;
}

.knowledge-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.knowledge-grid .knowledge-card {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    border-radius: 4px;
    box-shadow: none;
}
.knowledge-grid .knowledge-card > span {
    color: var(--green-dark);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.knowledge-grid .knowledge-card h2 {
    margin: 12px 0 12px;
    font-size: 23px;
    line-height: 1.2;
}
.knowledge-grid .knowledge-card h2 a {
    color: var(--ink);
    text-decoration: none;
}
.knowledge-grid .knowledge-card h2 a:hover {
    color: var(--green-dark);
}
.knowledge-grid .knowledge-card .text-link {
    margin-top: auto;
    padding-top: 20px;
}

@media (max-width: 980px) {
    .knowledge-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .compact-page-hero {
        padding: 50px 0;
    }
    .data-preview-head,
    .form-submit-row {
        align-items: flex-start;
        flex-direction: column;
    }
    .data-preview-head strong {
        text-align: left;
    }
    .knowledge-grid {
        grid-template-columns: 1fr;
    }
    .knowledge-grid .knowledge-card {
        min-height: 0;
    }
}

/* v1.6.0 - structurele wrappers expliciet afwerken */
.business-intro,
.knowledge-content-section,
.related-knowledge-section,
.seo-article {
    position: relative;
    min-width: 0;
}

.knowledge-content-section,
.related-knowledge-section {
    overflow: clip;
}

.seo-article > :first-child,
.business-intro > :first-child {
    margin-top: 0;
}

/* v1.6.0 - definitieve subpagina hero-layout */
.page-hero .page-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, .72fr);
    gap: 64px;
    align-items: center;
}
.page-hero .page-hero-grid > * {
    min-width: 0;
}
.page-hero .hero-panel {
    margin: 0;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 4px !important;
    background: rgba(255,255,255,.055);
    color: #fff;
    box-shadow: none;
    backdrop-filter: none;
}
.page-hero .hero-panel > span {
    display: block;
    margin-bottom: 10px;
    color: #9ed6dd;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.page-hero .hero-panel > p,
.page-hero .hero-panel .check-list {
    color: rgba(255,255,255,.82);
}
.page-hero .hero-panel .check-list {
    margin-top: 14px;
    border-top: 1px solid rgba(255,255,255,.16);
}
.page-hero .hero-panel .check-list li {
    padding: 11px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
}
.page-hero .hero-panel .check-list li::before {
    color: #70d2cf;
}
.page-hero .data-preview-card {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 4px !important;
    background: #fff;
    color: var(--ink);
    box-shadow: none !important;
}
.page-hero .data-preview-card.merge-preview,
.page-hero .data-preview-card.automation-preview {
    background: #102f43;
    color: #fff;
}

@media (max-width: 980px) {
    .page-hero .page-hero-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }
    .page-hero .hero-panel,
    .page-hero .data-preview-card {
        max-width: 760px;
    }
}

@media (max-width: 620px) {
    .page-hero .page-hero-grid {
        gap: 28px;
    }
    .page-hero .hero-panel {
        padding: 22px 20px;
    }
}
