/* =========================================================
   TS Marketing — Homepage v3 "editorial · navy"
   Lichte, redactionele stijl (serif display + navy/slate palet)
   op de lead-generation positionering.
   Laadt NA main.css; overschrijft waar nodig (ook merk-breed).
   ========================================================= */

/* ---------- Zelf-gehoste fonts (privacy-vriendelijk, geen Google-call) ---------- */
@font-face {
	font-family: 'Fraunces';
	font-style: normal; font-weight: 300 900; font-display: swap;
	src: url('../fonts/fraunces-latin-normal.woff2') format('woff2');
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
	font-family: 'Fraunces';
	font-style: normal; font-weight: 300 900; font-display: swap;
	src: url('../fonts/fraunces-latinext-normal.woff2') format('woff2');
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
	font-family: 'Fraunces';
	font-style: italic; font-weight: 300 900; font-display: swap;
	src: url('../fonts/fraunces-latin-italic.woff2') format('woff2');
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
	font-family: 'Fraunces';
	font-style: italic; font-weight: 300 900; font-display: swap;
	src: url('../fonts/fraunces-latinext-italic.woff2') format('woff2');
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
	font-family: 'InterVar';
	font-style: normal; font-weight: 100 900; font-display: swap;
	src: url('../fonts/inter-latin-normal.woff2') format('woff2');
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
	font-family: 'InterVar';
	font-style: normal; font-weight: 100 900; font-display: swap;
	src: url('../fonts/inter-latinext-normal.woff2') format('woff2');
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
	font-family: 'Bricolage';
	font-style: normal; font-weight: 200 800; font-display: swap;
	src: url('../fonts/bricolage-latin-normal.woff2') format('woff2');
	unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
	font-family: 'Bricolage';
	font-style: normal; font-weight: 200 800; font-display: swap;
	src: url('../fonts/bricolage-latinext-normal.woff2') format('woff2');
	unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---------- Merk-palet (navy/slate/blauwgrijs) — site-breed ---------- */
:root {
	--font: 'InterVar', 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--font-head: 'Bricolage', 'InterVar', 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

	/* huisstijlkleuren */
	--navy:#1A2D42;
	--slate:#2E4156;
	--steel:#5f7891;
	--bluegray:#AAB7B7;
	--gray2:#C0C8CA;
	--gray1:#D4D8DD;

	/* semantiek */
	--ink:#14202b;
	--text:#46555f;
	--muted:#78848f;
	--line:#e3e7ea;
	--bg:#ffffff;
	--bg-soft:#f3f5f6;

	--dark:#16232f;
	--dark-2:#1a2a38;
	--card-dark:#20303f;
	--card-dark-2:#26384a;
	--text-dark:#c2cbd2;
	--muted-dark:#8b98a4;
	--line-dark:rgba(255,255,255,.10);

	/* aliassen op oude violet-namen → navy (zodat main.css meekleurt) */
	--violet:var(--slate);
	--violet-600:var(--navy);
	--indigo:var(--slate);
	--violet-050:#eef1f4;

	--grad:linear-gradient(135deg,#1A2D42 0%, #2E4156 60%, #45607b 100%);
	--grad-bright:linear-gradient(135deg,#243b54,#33506c);
	--grad-ink:linear-gradient(96deg,#1A2D42 0%, #2E4156 46%, #5f7a92 100%);

	--glow:0 14px 38px -14px rgba(26,45,66,.45);
	--shadow-sm:0 2px 10px rgba(20,30,45,.06);
	--shadow:0 24px 60px -24px rgba(20,30,45,.22);
	--shadow-lg:0 40px 90px -30px rgba(20,30,45,.32);

	/* pastel stat-kaarten (koele tinten) */
	--p-1:#e9edf1; --p-1-ink:#1A2D42;
	--p-2:#e2e8ea; --p-2-ink:#2E4156;
	--p-3:#dbe2e6; --p-3-ink:#2E4156;
	--p-4:#eef1f3; --p-4-ink:#1A2D42;
}

/* Body + serif display-koppen (site-breed) */
body.inl { font-family: var(--font); color: var(--text); }
body.inl h1, body.inl h2, body.inl h3, body.inl h4 {
	font-family: var(--font-head);
	font-weight: 640;
	letter-spacing: -.022em; line-height: 1.05;
	text-wrap: balance; hyphens: manual; overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
body.inl h3, body.inl h4 { font-weight: 680; letter-spacing: -.016em; }
/* accent-woord: kleur i.p.v. schuine serif (speels maar strak) */
body.inl .ac { font-style: normal; font-weight: 640; }
body.inl p { text-wrap: pretty; }
body.inl .in-eyebrow { font-family: var(--font); color: var(--slate); }
body.inl .in-eyebrow::before { background: var(--steel); }
.grad-text { background-image: var(--grad-ink); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }

/* Sterren in merkkleur i.p.v. goud */
.tsm-review__stars { color: var(--steel); }

/* ---------- Logo (merkteken + wordmark + tagline), site-breed ---------- */
.in-logo--mark { flex-direction:row; align-items:center; gap:20px; color:var(--ink); line-height:1; }
.in-logo--mark:hover { color:var(--navy); }
.in-logo__mark { height:54px; width:auto; flex:none; display:inline-flex; align-items:center; background:none !important; box-shadow:none !important; color:inherit; }
.in-logo__mark svg { height:54px; width:auto; display:block; }
.in-logo__mark svg path { fill:currentColor; }
.in-logo__lock { display:flex; flex-direction:column; gap:4px; }
.in-logo__wm { font-family:var(--font); font-weight:700; font-size:18px; letter-spacing:.13em; text-transform:uppercase; color:inherit; white-space:nowrap; line-height:1; }
.in-logo__tag { display:inline-flex; align-items:center; gap:7px; font-family:var(--font); font-size:8px; font-weight:600; letter-spacing:.3em; text-transform:uppercase; color:inherit; opacity:.72; line-height:1; }
.in-logo__tag::before, .in-logo__tag::after { content:""; width:14px; height:1px; background:currentColor; opacity:.55; }
/* op donkere achtergrond: witte skyline, navy vensters/swoosh (omgekeerd) */
.hs-footer__brand, .in-footer__brand { --mark-fg:#16232f; }
.hs-footer__brand .in-logo, .hs-footer__brand .in-logo:hover,
.in-footer__brand .in-logo, .in-footer__brand .in-logo:hover { color:#fff; }
.in-drawer__head .in-logo { color:var(--ink); }
@media (max-width:520px){ .in-logo__mark, .in-logo__mark svg{ height:42px; } .in-logo--mark{ gap:14px; } .in-logo__wm{ font-size:15px; letter-spacing:.1em; } .in-logo__tag{ font-size:7px; letter-spacing:.24em; } .in-logo__tag::before,.in-logo__tag::after{ width:10px; } }

/* ---------- Topbalk (strak) ---------- */
.in-topbar { background:var(--navy); color:rgba(255,255,255,.66); font-size:12.5px; border-bottom:0; }
.in-topbar .in-container { gap:6px 30px; padding-block:8px; }
.in-topbar span { gap:8px; letter-spacing:.005em; font-weight:500; }
.in-topbar .in-check { color:var(--bluegray); font-weight:900; font-size:10.5px; }

/* ---------- Header transparant → solid bij scroll ---------- */
.in-header {
	background:transparent; backdrop-filter:none; border-bottom:1px solid transparent; box-shadow:none;
	transition:background .28s ease, box-shadow .28s ease, border-color .28s ease, backdrop-filter .28s ease;
}
.in-header.is-solid {
	background:rgba(255,255,255,.86); backdrop-filter:saturate(150%) blur(14px);
	border-bottom:1px solid var(--line); box-shadow:0 6px 24px -16px rgba(20,30,45,.35);
}
.in-header__nav a { font-family:var(--font); }

/* =========================================================
   HOMEPAGE — alleen op de voorpagina (.home)
   ========================================================= */

/* ---------- Hero ---------- */
.home .hs-hero {
	position:relative; padding:60px 0 76px; text-align:center; overflow:hidden;
	background:
		radial-gradient(760px 440px at 50% -12%, rgba(46,65,86,.16), transparent 62%),
		radial-gradient(680px 460px at 88% 6%, rgba(95,120,145,.12), transparent 58%),
		radial-gradient(680px 460px at 6% 12%, rgba(170,183,183,.16), transparent 58%);
}
.home .hs-hero__badge {
	display:inline-flex; align-items:center; gap:9px; padding:7px 15px 7px 9px; margin-bottom:26px;
	background:#fff; border:1px solid var(--line); border-radius:var(--radius-pill);
	font-family:var(--font); font-size:13px; font-weight:650; color:var(--ink); box-shadow:var(--shadow-sm);
}
.home .hs-hero__badge b { background-image:var(--grad); color:#fff; padding:3px 9px; border-radius:var(--radius-pill); font-size:11px; letter-spacing:.05em; text-transform:uppercase; font-weight:800; }
.home .hs-hero h1 { font-size:clamp(40px,6.4vw,78px); line-height:1.02; letter-spacing:-.018em; max-width:16ch; margin:0 auto; color:var(--ink); }
.home .hs-hero h1 .ac { font-style:normal; font-weight:640; }
.home .hs-hero__lead { font-family:var(--font); font-size:clamp(17px,1.65vw,20px); line-height:1.6; color:var(--muted); max-width:56ch; margin:22px auto 0; }
.home .hs-hero__actions { display:flex; flex-wrap:wrap; gap:13px; justify-content:center; margin-top:32px; }
.home .hs-hero__trustline { margin-top:20px; font-family:var(--font); font-size:13.5px; color:var(--muted); display:inline-flex; align-items:center; gap:9px; flex-wrap:wrap; justify-content:center; }
.home .hs-hero__stars { color:var(--steel); font-size:15px; letter-spacing:1.5px; }
.home .hs-hero__trustline b { color:var(--ink); }

/* Buttons (editorial) */
/* ===== Buttons (premium) ===== */
.hs-btn-dark, .hs-btn-ghost, .hs-btn-onblock, .in-btn {
	--_ease:cubic-bezier(.2,.75,.3,1);
}
.hs-btn-dark {
	display:inline-flex; align-items:center; justify-content:center; gap:9px;
	font-family:var(--font); font-weight:650; font-size:15px; line-height:1; padding:15px 26px;
	border-radius:var(--radius-pill); border:0; background:var(--navy); color:#fff;
	position:relative; isolation:isolate; overflow:hidden; cursor:pointer;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.09), 0 12px 26px -12px rgba(20,30,45,.6);
	transition:transform .2s var(--_ease), box-shadow .3s ease, background .3s ease;
}
.hs-btn-dark::before { content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit;
	background:linear-gradient(115deg, transparent 20%, rgba(150,175,200,.4) 48%, transparent 72%);
	transform:translateX(-130%); transition:transform .65s var(--_ease); }
.hs-btn-dark:hover { color:#fff; transform:translateY(-2px); background:#1f3648; box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 22px 44px -14px rgba(20,30,45,.72); }
.hs-btn-dark:hover::before { transform:translateX(130%); }
.hs-btn-dark:active { transform:translateY(0); }
.hs-btn-dark svg { transition:transform .22s var(--_ease); }
.hs-btn-dark:hover svg { transform:translateX(3px); }

.hs-btn-ghost {
	display:inline-flex; align-items:center; justify-content:center; gap:9px;
	font-family:var(--font); font-weight:650; font-size:15px; line-height:1; padding:15px 26px;
	border-radius:var(--radius-pill); background:#fff; color:var(--ink); border:1.5px solid var(--line); cursor:pointer;
	transition:border-color .2s ease, box-shadow .3s ease, transform .2s var(--_ease), background .2s ease;
}
.hs-btn-ghost:hover { color:var(--ink); border-color:var(--navy); transform:translateY(-2px); box-shadow:0 14px 30px -16px rgba(20,30,45,.4); }
.hs-btn-ghost svg { transition:transform .22s var(--_ease); }
.hs-btn-ghost:hover svg { transform:translateX(3px); }

/* Hero-showcase (product-mock) */
.home .hs-showcase { position:relative; margin-top:52px; }
.hs-stage { position:relative; border-radius:28px; padding:26px; background:linear-gradient(150deg,#22374d,#1A2D42 72%); box-shadow:0 44px 96px -36px rgba(20,30,45,.6); max-width:1000px; margin-inline:auto; }
.hs-stage__top { display:flex; align-items:center; gap:14px; color:#fff; margin-bottom:18px; padding:2px 4px; }
.hs-stage__brand { font-family:var(--font-head); font-weight:600; font-size:19px; letter-spacing:-.01em; }
.hs-stage__brand span { opacity:.8; }
.hs-stage__pills { display:flex; gap:8px; margin-left:6px; }
.hs-stage__pill { font-family:var(--font); font-size:12.5px; font-weight:600; color:rgba(255,255,255,.8); padding:7px 13px; border-radius:var(--radius-pill); background:rgba(255,255,255,.12); }
.hs-stage__pill.is-on { background:#fff; color:var(--navy); }
.hs-stage__live { margin-left:auto; display:inline-flex; align-items:center; gap:7px; color:#fff; font-family:var(--font); font-size:12.5px; font-weight:600; }
.hs-stage__live i { width:8px; height:8px; border-radius:50%; background:#7fd8a6; box-shadow:0 0 0 0 rgba(127,216,166,.6); animation:tsm-pulse 1.8s infinite; }
.hs-panel { background:#fff; border-radius:18px; padding:20px; box-shadow:0 24px 50px -22px rgba(20,30,45,.5); text-align:left; }
.hs-panel__head { display:flex; align-items:center; gap:11px; padding-bottom:14px; border-bottom:1px solid var(--line); margin-bottom:14px; }
.hs-panel__av { width:36px; height:36px; border-radius:50%; background-image:var(--grad); flex:none; display:grid; place-items:center; color:#fff; font-family:var(--font); font-weight:700; font-size:13px; }
.hs-panel__who b { display:block; font-family:var(--font); font-size:14px; color:var(--ink); }
.hs-panel__who span { font-family:var(--font); font-size:12px; color:var(--muted); }
.hs-panel__badge { margin-left:auto; font-family:var(--font); font-size:11.5px; font-weight:700; color:var(--navy); background:var(--gray1); padding:5px 11px; border-radius:var(--radius-pill); }
.hs-panel__grid { display:grid; grid-template-columns:1.3fr 1fr; gap:14px; }
.hs-panel__msg { font-family:var(--font); font-size:14px; line-height:1.62; color:var(--text); }
.hs-panel__msg .lbl { display:inline-flex; align-items:center; gap:7px; font-size:11.5px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:var(--slate); background:var(--violet-050); padding:5px 10px; border-radius:var(--radius-pill); margin-bottom:12px; }
.hs-panel__msg p { margin:0 0 10px; }
.hs-panel__msg a { color:var(--slate); text-decoration:underline; }
.hs-panel__send { display:flex; }
.hs-panel__send button { margin-left:auto; display:inline-flex; align-items:center; gap:8px; font-family:var(--font); font-weight:650; font-size:13.5px; color:#fff; background:var(--navy); border:0; border-radius:var(--radius-pill); padding:11px 18px; cursor:default; }
.hs-mini { display:grid; gap:10px; align-content:start; }
.hs-mini__stat { background:var(--bg-soft); border:1px solid var(--line); border-radius:14px; padding:13px 14px; }
.hs-mini__stat b { font-family:var(--font-head); font-size:24px; font-weight:600; color:var(--ink); display:block; letter-spacing:-.01em; }
.hs-mini__stat span { font-family:var(--font); font-size:12px; color:var(--muted); }
.hs-mini__bars { display:flex; align-items:flex-end; gap:6px; height:52px; padding-top:6px; }
.hs-mini__bars i { flex:1; border-radius:4px 4px 2px 2px; background:linear-gradient(180deg,var(--steel),rgba(95,120,145,.3)); }

/* zwevende accent-kaartjes */
.hs-float { position:absolute; z-index:3; background:#fff; border-radius:15px; padding:12px 15px; box-shadow:0 22px 44px -18px rgba(20,30,45,.4); border:1px solid rgba(255,255,255,.7); display:flex; align-items:center; gap:11px; font-family:var(--font); }
.hs-float b { font-size:13.5px; color:var(--ink); font-weight:700; display:block; line-height:1.2; }
.hs-float span { font-size:11.5px; color:var(--muted); }
.hs-float__ic { width:34px; height:34px; border-radius:11px; flex:none; display:grid; place-items:center; color:#fff; }
.hs-float--tl { top:-22px; left:-14px; }
.hs-float--tl .hs-float__ic { background:linear-gradient(135deg,var(--slate),var(--navy)); }
.hs-float--br { bottom:-20px; right:-12px; }
.hs-float--br .hs-float__ic { background:linear-gradient(135deg,var(--steel),var(--slate)); }
@media (max-width:720px){ .hs-float{ display:none; } }

/* ---------- Logo-cloud (mini-slider / marquee) ---------- */
.hs-logos { padding:44px 0 12px; }
.hs-logos__label { text-align:center; font-family:var(--font); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:26px; }
.hs-logos__marquee {
	position:relative; overflow:hidden;
	-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
	mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.hs-logos__track { display:flex; align-items:center; gap:64px; width:max-content; animation:hs-marquee 36s linear infinite; }
.hs-logos__marquee:hover .hs-logos__track { animation-play-state:paused; }
.hs-logos__item { flex:none; display:flex; align-items:center; justify-content:center; height:40px; }
.hs-logos__logo { height:32px; width:auto; max-width:150px; object-fit:contain; filter:grayscale(1); opacity:.5; transition:opacity .2s; }
.hs-logos__item:hover .hs-logos__logo { opacity:.85; }
.hs-logos__item--text { font-family:var(--font-head); font-weight:600; font-size:22px; letter-spacing:-.02em; color:var(--navy); opacity:.32; filter:grayscale(1); white-space:nowrap; }
@keyframes hs-marquee { from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .hs-logos__track{ animation:none; flex-wrap:wrap; justify-content:center; gap:24px 46px; } }

/* ---------- Sectiekop ---------- */
.hs-head { max-width:760px; margin:0 auto 48px; text-align:center; }
.hs-head--left { margin-inline:0; text-align:left; }
.hs-head .in-eyebrow { justify-content:center; }
.hs-head--left .in-eyebrow { justify-content:flex-start; }
.hs-head h2 { font-size:clamp(30px,4.6vw,50px); color:var(--ink); }
.hs-head h2 .ac { font-style:normal; font-weight:640; background-image:var(--grad-ink); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.hs-head p { font-family:var(--font); font-size:18px; color:var(--muted); margin:14px auto 0; max-width:56ch; }
.hs-head--left p { margin-inline:0; }

/* ---------- Stat-kaarten ---------- */
.hs-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.hs-statcard { border-radius:22px; padding:28px 24px 24px; border:1px solid rgba(20,30,45,.05); }
.hs-statcard b { display:block; font-family:var(--font-head); font-weight:600; font-size:clamp(34px,4vw,50px); line-height:1; letter-spacing:-.02em; }
.hs-statcard span { display:block; margin-top:12px; font-family:var(--font); font-size:14.5px; line-height:1.45; color:var(--text); }
.hs-statcard--lav { background:var(--p-1); }   .hs-statcard--lav b { color:var(--p-1-ink); }
.hs-statcard--cream { background:var(--p-2); } .hs-statcard--cream b { color:var(--p-2-ink); }
.hs-statcard--mint { background:var(--p-3); }  .hs-statcard--mint b { color:var(--p-3-ink); }
.hs-statcard--peach { background:var(--p-4); } .hs-statcard--peach b { color:var(--p-4-ink); }
@media (max-width:900px){ .hs-stats{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:460px){ .hs-stats{ grid-template-columns:1fr; } }

/* ---------- Bento ---------- */
.hs-bento { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.hs-bento__card { border-radius:26px; padding:34px; position:relative; overflow:hidden; display:flex; flex-direction:column; min-height:340px; }
.hs-bento__card--wide { grid-column:1 / -1; flex-direction:row; align-items:center; gap:30px; }
.hs-bento__card--wide .hs-bento__body { flex:1 1 46%; }
.hs-bento__card--wide .hs-bento__visual { flex:1 1 54%; }
.hs-bento__tag { display:inline-flex; align-items:center; gap:8px; font-family:var(--font); font-size:12.5px; font-weight:700; padding:6px 13px; border-radius:var(--radius-pill); background:rgba(255,255,255,.2); color:#fff; margin-bottom:18px; width:max-content; backdrop-filter:blur(4px); }
.home .hs-bento__card h3 { font-size:clamp(24px,2.5vw,30px); color:#fff; margin:0 0 12px; line-height:1.12; }
.hs-bento__card p { font-family:var(--font); font-size:16px; line-height:1.6; color:rgba(255,255,255,.9); margin:0 0 22px; max-width:46ch; }
.hs-bento__card .hs-btn-onblock { margin-top:auto; display:inline-flex; align-items:center; gap:9px; width:max-content; font-family:var(--font); font-weight:650; font-size:14.5px; color:var(--navy); background:#fff; padding:13px 22px; border-radius:var(--radius-pill); transition:transform .14s ease, box-shadow .2s ease; }
.hs-bento__card .hs-btn-onblock:hover { color:var(--navy); transform:translateY(-2px); box-shadow:0 14px 30px -12px rgba(0,0,0,.3); }
.hs-bento__card--blue  { background:linear-gradient(150deg,#22374d,#1A2D42 72%); }
.hs-bento__card--green { background:linear-gradient(155deg,#37536e,#2E4156); }
/* lichte kaart met donkere tekst */
.hs-bento__card--amber { background:linear-gradient(155deg,var(--gray1),var(--bluegray)); }
.hs-bento__card--amber .hs-bento__tag { background:rgba(26,45,66,.12); color:var(--navy); }
.home .hs-bento__card--amber h3 { color:var(--navy); }
.hs-bento__card--amber p { color:var(--slate); }
.hs-bento__card--amber .hs-btn-onblock { background:var(--navy); color:#fff; }
.hs-bento__card--amber .hs-btn-onblock:hover { color:#fff; }
@media (max-width:820px){ .hs-bento{ grid-template-columns:1fr; } .hs-bento__card--wide{ flex-direction:column; align-items:stretch; } }

/* Chat-mock */
.hs-chat { background:#101b25; border-radius:18px; padding:16px; box-shadow:0 26px 54px -24px rgba(0,0,0,.55); }
.hs-chat__head { display:flex; align-items:center; gap:10px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:14px; }
.hs-chat__av { width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,var(--steel),var(--slate)); display:grid; place-items:center; color:#fff; font-family:var(--font); font-weight:700; font-size:13px; }
.hs-chat__who b { display:block; color:#fff; font-family:var(--font); font-size:13.5px; }
.hs-chat__who span { color:#8fb2cf; font-family:var(--font); font-size:11.5px; }
.hs-chat__body { display:grid; gap:9px; }
.hs-bubble { font-family:var(--font); font-size:13px; line-height:1.5; padding:9px 13px; border-radius:14px; max-width:82%; }
.hs-bubble time { display:block; font-size:9.5px; opacity:.6; margin-top:3px; text-align:right; }
.hs-bubble--in { background:#24333f; color:#e9f0f4; border-bottom-left-radius:5px; justify-self:start; }
.hs-bubble--out { background:#37536e; color:#fff; border-bottom-right-radius:5px; justify-self:end; }
.hs-chat__sys { text-align:center; font-family:var(--font); font-size:10.5px; color:#9fb3c2; background:rgba(255,255,255,.06); border-radius:var(--radius-pill); padding:5px 12px; justify-self:center; }

/* Agenda-mock */
.hs-agenda { background:#fff; border-radius:16px; padding:14px; box-shadow:0 22px 46px -22px rgba(0,0,0,.35); }
.hs-agenda__top { display:flex; align-items:center; justify-content:space-between; font-family:var(--font); margin-bottom:10px; }
.hs-agenda__top b { font-size:13.5px; color:var(--ink); }
.hs-agenda__top span { font-size:12px; color:var(--muted); }
.hs-agenda__row { display:flex; align-items:center; gap:11px; padding:10px 11px; border-radius:12px; background:var(--bg-soft); margin-bottom:8px; border-left:3px solid var(--slate); }
.hs-agenda__row:last-child { margin-bottom:0; }
.hs-agenda__row b { display:block; font-family:var(--font); font-size:13px; color:var(--ink); }
.hs-agenda__row span { font-family:var(--font); font-size:11.5px; color:var(--muted); }
.hs-agenda__check { margin-left:auto; width:22px; height:22px; border-radius:50%; background:var(--navy); color:#fff; display:grid; place-items:center; font-size:12px; flex:none; }

/* Landing-mock (op lichte kaart) */
.hs-landing { background:#fff; border-radius:16px; padding:16px; box-shadow:0 22px 46px -22px rgba(20,30,45,.3); }
.hs-landing__bar { display:flex; gap:5px; margin-bottom:12px; }
.hs-landing__bar i { width:9px; height:9px; border-radius:50%; background:#d2d8dd; }
.hs-landing__hl { height:12px; border-radius:6px; background:#e7ebee; margin-bottom:8px; }
.hs-landing__hl.w70 { width:70%; } .hs-landing__hl.w45 { width:45%; }
.hs-landing__hl.big { height:20px; width:82%; background:linear-gradient(90deg,#d7dee4,#eef1f3); margin-bottom:12px; }
.hs-landing__cta { height:34px; border-radius:var(--radius-pill); background:var(--navy); width:56%; margin-top:12px; display:grid; place-items:center; color:#fff; font-family:var(--font); font-weight:650; font-size:12px; }
.hs-landing__chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.hs-landing__chips span { font-family:var(--font); font-size:11px; font-weight:600; color:var(--navy); background:var(--bg-soft); border:1px solid var(--line); padding:5px 10px; border-radius:var(--radius-pill); display:inline-flex; gap:6px; align-items:center; }
.hs-landing__chips span::before { content:"✓"; color:var(--slate); font-weight:800; }

/* ---------- No cure no pay ---------- */
.hs-risk { display:grid; grid-template-columns:1.05fr .95fr; gap:26px; align-items:stretch; }
.hs-risk__panel { border-radius:26px; padding:44px; color:#fff; position:relative; overflow:hidden; background:linear-gradient(155deg,#22374d,#1A2D42 62%,#16232f); box-shadow:var(--shadow-lg); }
.hs-risk__panel::before { content:""; position:absolute; inset:0; background:radial-gradient(460px 300px at 12% 0%,rgba(95,120,145,.35),transparent 60%); pointer-events:none; }
.hs-risk__panel > * { position:relative; z-index:1; }
.hs-risk__tag { display:inline-flex; align-items:center; gap:8px; font-family:var(--font); font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:6px 13px; border-radius:var(--radius-pill); background:linear-gradient(90deg,var(--steel),var(--bluegray)); color:var(--navy); margin-bottom:20px; }
.home .hs-risk__panel h2 { color:#fff; font-size:clamp(28px,3.4vw,40px); margin:0 0 16px; }
.hs-risk__panel h2 .ac { font-style:normal; font-weight:640; color:#a9c6db; }
.hs-risk__panel p { font-family:var(--font); color:var(--text-dark); font-size:16px; line-height:1.65; margin:0 0 16px; max-width:48ch; }
.hs-risk__panel .hs-btn-onblock { display:inline-flex; align-items:center; gap:9px; margin-top:10px; font-family:var(--font); font-weight:650; font-size:15px; color:var(--navy); background:#fff; padding:14px 24px; border-radius:var(--radius-pill); width:max-content; transition:transform .14s ease; }
.hs-risk__panel .hs-btn-onblock:hover { color:var(--navy); transform:translateY(-2px); }
.hs-risk__media { border-radius:26px; overflow:hidden; box-shadow:var(--shadow-lg); position:relative; min-height:320px; display:flex; align-items:center; justify-content:center; padding:26px; background:linear-gradient(160deg,#22374d,#1A2D42 70%); }
.hs-risk__media::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(360px 220px at 82% 6%,rgba(95,120,145,.3),transparent 60%); }
.hs-risk__media img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.hs-risk__media .hs-figure { position:absolute; left:22px; bottom:22px; right:22px; z-index:2; background:rgba(20,30,45,.72); backdrop-filter:blur(8px); border-radius:16px; padding:16px 18px; display:flex; align-items:center; gap:14px; color:#fff; }
.hs-risk__media .hs-figure b { font-family:var(--font-head); font-size:30px; font-weight:600; }
.hs-risk__media .hs-figure span { font-family:var(--font); font-size:13px; color:rgba(255,255,255,.82); line-height:1.4; }
.hs-risk__media--noimg { background:linear-gradient(150deg,var(--gray1),var(--bluegray) 70%,var(--gray2)); }
@media (max-width:860px){ .hs-risk{ grid-template-columns:1fr; } .hs-risk__media{ min-height:260px; } }

/* ---------- Feature-grid ---------- */
.hs-features { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.hs-feature { background:#fff; border:1px solid var(--line); border-radius:22px; padding:28px 24px; transition:transform .16s ease, box-shadow .2s ease, border-color .2s ease; }
.hs-feature:hover { transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--bluegray); }
.hs-feature__ic { width:52px; height:52px; border-radius:15px; display:grid; place-items:center; margin-bottom:18px; color:#fff; }
.hs-feature__ic svg { width:25px; height:25px; }
.hs-feature:nth-child(1) .hs-feature__ic { background:linear-gradient(135deg,#22374d,#1A2D42); }
.hs-feature:nth-child(2) .hs-feature__ic { background:linear-gradient(135deg,#37536e,#2E4156); }
.hs-feature:nth-child(3) .hs-feature__ic { background:linear-gradient(135deg,var(--steel),var(--slate)); }
.hs-feature:nth-child(4) .hs-feature__ic { background:linear-gradient(135deg,#8496a6,#5f7891); }
.hs-feature h3 { font-size:19px; margin:0 0 8px; color:var(--ink); }
.hs-feature p { font-family:var(--font); font-size:14.5px; line-height:1.6; color:var(--muted); margin:0; }
@media (max-width:900px){ .hs-features{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:460px){ .hs-features{ grid-template-columns:1fr; } }

/* ---------- CTA-band ---------- */
.home .hs-cta { padding:64px 0; background:var(--bg); text-align:center; }
.home .hs-cta > .in-container { position:relative; overflow:hidden; max-width:1080px; border-radius:32px; padding:80px 44px; background:linear-gradient(150deg,#22374d,#1A2D42 58%,#16232f); box-shadow:var(--shadow-lg); }
.home .hs-cta > .in-container::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(560px 280px at 50% -12%,rgba(95,120,145,.42),transparent 62%); }
.home .hs-cta h2 { position:relative; color:#fff; font-size:clamp(32px,4.8vw,52px); margin:0 auto; max-width:18ch; }
.home .hs-cta h2 .ac { font-style:normal; color:#a9c6db; }
.home .hs-cta p { position:relative; font-family:var(--font); color:var(--text-dark); font-size:18px; max-width:52ch; margin:16px auto 28px; }
.home .hs-cta__actions { position:relative; display:flex; gap:13px; justify-content:center; flex-wrap:wrap; }
.home .hs-cta__note { position:relative; margin-top:18px; font-family:var(--font); font-size:13.5px; color:var(--muted-dark); }
@media (max-width:640px){ .home .hs-cta{ padding:44px 0; } .home .hs-cta > .in-container{ padding:52px 22px; border-radius:26px; } }

/* ---------- Reviews (serif quote) ---------- */
.home .tsm-review__text { font-family:var(--font-head); font-weight:500; font-size:17px; line-height:1.5; font-style:italic; color:var(--ink); }

/* ---------- Sectie-ritme ---------- */
.home .hs-section { padding:84px 0; }
.home .hs-section--tight { padding:60px 0; }
.home .hs-section--soft { background:var(--bg-soft); }
@media (max-width:640px){ .home .hs-section{ padding:56px 0; } .home .hs-hero{ padding:40px 0 54px; } }

/* =========================================================
   BINNENPAGINA'S — editorial navy (diensten/over/contact/privacy)
   ========================================================= */
.hs-sec { padding:84px 0; }
.hs-sec--tight { padding:60px 0; }
.hs-sec--soft { background:var(--bg-soft); }
.hs-sec--dark { background:linear-gradient(160deg,#1A2D42,#16232f 60%,#22374d); color:var(--text-dark); }
@media (max-width:640px){ .hs-sec{ padding:54px 0; } }

/* ---------- Page-hero (editorial, licht) ---------- */
.hs-phero {
	position:relative; overflow:hidden; padding:56px 0 60px; text-align:center;
	background:
		radial-gradient(720px 380px at 50% -16%, rgba(46,65,86,.14), transparent 62%),
		radial-gradient(560px 360px at 88% 0%, rgba(170,183,183,.16), transparent 60%);
}
.hs-phero__bc { font-family:var(--font); font-size:13px; color:var(--muted); margin:0 0 18px; }
.hs-phero__bc a { color:var(--slate); }
.hs-phero__bc a:hover { color:var(--navy); text-decoration:underline; }
.hs-phero__bc .sep { opacity:.5; margin:0 8px; }
.hs-phero h1 { font-size:clamp(38px,5.4vw,64px); line-height:1.03; letter-spacing:-.018em; color:var(--ink); margin:0 auto; max-width:16ch; }
.hs-phero h1 .ac { font-style:normal; font-weight:640; background-image:var(--grad-ink); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.hs-phero__lead { font-family:var(--font); font-size:clamp(17px,1.6vw,20px); line-height:1.6; color:var(--muted); max-width:60ch; margin:20px auto 0; }
.hs-phero__actions { display:flex; gap:13px; justify-content:center; flex-wrap:wrap; margin-top:28px; }
@media (max-width:640px){ .hs-phero{ padding:40px 0 44px; } }

/* ---------- Diensten: overzicht-grid ---------- */
.hs-svcgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hs-svccard { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px 24px; transition:transform .16s ease, box-shadow .2s ease, border-color .2s ease; }
.hs-svccard:hover { transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--bluegray); color:inherit; }
.hs-svccard__ic { width:50px; height:50px; border-radius:14px; display:grid; place-items:center; background:var(--navy); color:#fff; margin-bottom:16px; }
.hs-svccard__ic svg { width:25px; height:25px; }
.hs-svccard h3 { font-size:18px; margin:0 0 7px; color:var(--ink); }
.hs-svccard p { font-family:var(--font); font-size:14.5px; line-height:1.55; color:var(--muted); margin:0 0 16px; }
.hs-svccard__link { margin-top:auto; font-family:var(--font); font-weight:650; font-size:14px; color:var(--slate); display:inline-flex; align-items:center; gap:6px; }
.hs-svccard__link::after { content:"→"; transition:transform .15s; }
.hs-svccard:hover .hs-svccard__link::after { transform:translateX(4px); }
@media (max-width:860px){ .hs-svcgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .hs-svcgrid{ grid-template-columns:1fr; } }

/* ---------- Diensten: alternerende detail-rijen ---------- */
.hs-svc { display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:center; }
.hs-svc + .hs-svc { margin-top:76px; }
.hs-svc__text { min-width:0; }
.hs-svc--rev .hs-svc__text { order:2; }
.hs-svc__eyebrow { display:inline-flex; align-items:center; gap:11px; font-family:var(--font); font-size:12.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); margin:0 0 14px; }
.hs-svc__eyebrow::before { content:""; width:26px; height:2px; background:var(--steel); border-radius:2px; }
.hs-svc h2 { font-size:clamp(26px,3.4vw,38px); color:var(--ink); margin:0 0 14px; }
.hs-svc__text > p { font-family:var(--font); font-size:16px; line-height:1.65; color:var(--text); margin:0; }
.hs-svc__list { list-style:none; padding:0; margin:20px 0 0; display:grid; gap:12px; }
.hs-svc__list li { display:flex; align-items:flex-start; gap:12px; font-family:var(--font); font-size:15px; color:var(--text); line-height:1.5; }
.hs-svc__list li::before { content:""; flex:none; width:22px; height:22px; margin-top:1px; border-radius:50%; background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat; }
/* premium donkere showcase-kaart met de visual */
.hs-svc__media {
	position:relative; border-radius:28px; padding:24px; min-height:360px;
	display:flex; align-items:center; justify-content:center; overflow:hidden;
	background:linear-gradient(160deg,#22374d 0%,#1A2D42 65%,#16232f 100%);
	box-shadow:var(--shadow-lg);
}
.hs-svc__media::before {
	content:""; position:absolute; inset:0; pointer-events:none;
	background:radial-gradient(420px 260px at 82% 8%, rgba(95,120,145,.35), transparent 60%);
}
.hs-svc__media img { position:relative; z-index:1; width:100%; border-radius:16px; box-shadow:0 34px 70px -28px rgba(0,0,0,.65); border:1px solid rgba(255,255,255,.06); }
.hs-svc__chip {
	position:absolute; top:20px; left:20px; z-index:2;
	display:inline-flex; align-items:center; gap:7px;
	background:rgba(255,255,255,.12); backdrop-filter:blur(6px);
	color:#fff; font-family:var(--font); font-size:11.5px; font-weight:700; letter-spacing:.04em;
	padding:7px 13px; border-radius:var(--radius-pill); border:1px solid rgba(255,255,255,.14);
}
.hs-svc__chip::before { content:""; width:7px; height:7px; border-radius:50%; background:#7fd8a6; }
@media (max-width:820px){
	.hs-svc{ grid-template-columns:1fr; gap:28px; }
	.hs-svc + .hs-svc{ margin-top:52px; }
	.hs-svc--rev .hs-svc__text{ order:0; }
	.hs-svc__media{ min-height:280px; padding:18px; }
}

/* ---------- Over ons: pull-quote ---------- */
.hs-quote { max-width:940px; margin:0 auto; text-align:center; }
.hs-quote p { font-family:var(--font-head); font-style:normal; font-weight:560; font-size:clamp(24px,3.4vw,38px); line-height:1.28; letter-spacing:-.02em; color:var(--ink); margin:0; }
.hs-quote p::before { content:"\201C"; color:var(--bluegray); }
.hs-quote p::after { content:"\201D"; color:var(--bluegray); }

/* ---------- Over ons: story-split ---------- */
.hs-story { display:grid; grid-template-columns:1.05fr .95fr; gap:52px; align-items:center; }
.hs-story__media { border-radius:24px; overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/3; }
.hs-story__media img { width:100%; height:100%; object-fit:cover; }
.hs-story h2 { font-size:clamp(28px,3.6vw,40px); margin:0 0 16px; }
.hs-story p { font-family:var(--font); font-size:16.5px; line-height:1.7; color:var(--text); margin:0 0 14px; }
@media (max-width:820px){ .hs-story{ grid-template-columns:1fr; gap:28px; } }

/* ---------- Waarden-grid ---------- */
.hs-values { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; max-width:960px; margin-inline:auto; }
.hs-value { background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px; display:flex; gap:18px; align-items:flex-start; }
.hs-value__ic { flex:none; width:46px; height:46px; border-radius:13px; background:var(--navy); color:#fff; display:grid; place-items:center; }
.hs-value__ic svg { width:22px; height:22px; }
.hs-value h3 { font-size:18px; margin:0 0 6px; color:var(--ink); }
.hs-value p { font-family:var(--font); font-size:14.5px; line-height:1.6; color:var(--muted); margin:0; }
@media (max-width:640px){ .hs-values{ grid-template-columns:1fr; } }

/* ---------- Stat-band (navy) ---------- */
.hs-statband { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:center; }
.hs-statband__item b { display:block; font-family:var(--font-head); font-weight:600; font-size:clamp(34px,4.4vw,52px); line-height:1; letter-spacing:-.02em; color:#fff; }
.hs-statband__item span { display:block; margin-top:10px; font-family:var(--font); font-size:14.5px; color:var(--text-dark); }
@media (max-width:640px){ .hs-statband{ grid-template-columns:1fr; gap:26px; } }

/* ---------- Contact ---------- */
.hs-contact { display:grid; grid-template-columns:1.15fr .85fr; gap:30px; align-items:start; }
.hs-formcard { background:#fff; border:1px solid var(--line); border-radius:24px; padding:34px; box-shadow:var(--shadow); }
.hs-formcard h2 { font-size:24px; margin:0 0 6px; }
.hs-formcard .hs-formcard__sub { font-family:var(--font); color:var(--muted); font-size:15px; margin:0 0 22px; }
.hs-aside { display:grid; gap:18px; }
.hs-aside__panel { background:linear-gradient(160deg,#1A2D42,#16232f 65%,#22374d); color:#fff; border-radius:24px; padding:30px; position:relative; overflow:hidden; }
.hs-aside__panel::before { content:""; position:absolute; inset:0; background:radial-gradient(320px 220px at 90% 0%,rgba(95,120,145,.35),transparent 60%); }
.hs-aside__panel > * { position:relative; z-index:1; }
.hs-aside__panel h3 { color:#fff; font-size:19px; margin:0 0 16px; }
.hs-aside__contact { list-style:none; padding:0; margin:0 0 8px; display:grid; gap:12px; }
.hs-aside__contact li { display:flex; align-items:center; gap:12px; font-family:var(--font); font-size:15px; color:var(--text-dark); }
.hs-aside__contact li a { color:#fff; }
.hs-aside__contact li a:hover { color:var(--bluegray); }
.hs-aside__contact .ic { flex:none; width:36px; height:36px; border-radius:11px; background:rgba(255,255,255,.08); display:grid; place-items:center; color:#fff; }
.hs-aside__contact .ic svg { width:17px; height:17px; }
.hs-aside__badge { display:flex; align-items:center; gap:13px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:18px 20px; }
.hs-aside__badge .dot { flex:none; width:11px; height:11px; border-radius:50%; background:#37536e; box-shadow:0 0 0 0 rgba(55,83,110,.5); animation:tsm-pulse 1.9s infinite; }
.hs-aside__badge b { display:block; font-family:var(--font); font-size:15px; color:var(--ink); }
.hs-aside__badge span { font-family:var(--font); font-size:13px; color:var(--muted); }
.hs-steps { list-style:none; counter-reset:st; padding:0; margin:0; display:grid; gap:16px; }
.hs-steps li { display:flex; gap:14px; align-items:flex-start; counter-increment:st; }
.hs-steps li::before { content:counter(st); flex:none; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; font-family:var(--font); font-weight:700; font-size:14px; display:grid; place-items:center; }
.hs-steps b { display:block; font-family:var(--font); font-size:15px; color:#fff; margin-bottom:2px; }
.hs-steps span { font-family:var(--font); font-size:13.5px; color:var(--text-dark); line-height:1.5; }
@media (max-width:820px){ .hs-contact{ grid-template-columns:1fr; } }

/* ---------- Editorial prose (privacy e.d.) ---------- */
.hs-prose { max-width:760px; margin-inline:auto; font-family:var(--font); }
.hs-prose h2 { font-size:clamp(24px,3vw,32px); margin:1.4em 0 .5em; color:var(--ink); }
.hs-prose h2:first-child { margin-top:0; }
.hs-prose h3 { font-size:20px; margin:1.3em 0 .4em; color:var(--ink); }
.hs-prose p, .hs-prose ul, .hs-prose ol { margin:0 0 1.1em; color:var(--text); font-size:16.5px; line-height:1.75; }
.hs-prose ul, .hs-prose ol { padding-left:1.3em; }
.hs-prose a { color:var(--slate); text-decoration:underline; }

/* ---------- CTA-band (binnenpagina's) ---------- */
.hs-pcta { padding:64px 0; background:var(--bg); text-align:center; }
.hs-pcta > .in-container { position:relative; overflow:hidden; max-width:1080px; border-radius:32px; padding:76px 44px; background:linear-gradient(150deg,#22374d,#1A2D42 58%,#16232f); box-shadow:var(--shadow-lg); }
.hs-pcta > .in-container::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(560px 280px at 50% -12%,rgba(95,120,145,.42),transparent 62%); }
.hs-pcta h2 { position:relative; color:#fff; font-size:clamp(30px,4.4vw,46px); margin:0 auto; max-width:20ch; }
.hs-pcta h2 .ac { font-style:normal; color:#a9c6db; }
.hs-pcta p { position:relative; font-family:var(--font); color:var(--text-dark); font-size:18px; max-width:54ch; margin:16px auto 28px; }
.hs-pcta__actions { position:relative; display:flex; gap:13px; justify-content:center; flex-wrap:wrap; }
@media (max-width:640px){ .hs-pcta{ padding:44px 0; } .hs-pcta > .in-container{ padding:52px 22px; border-radius:26px; } }

/* =========================================================
   REVIEWS-MUUR (3 kolommen, verticaal bewegend)
   ========================================================= */
.hs-reviews2__score { display:inline-flex; align-items:center; gap:11px; flex-wrap:wrap; justify-content:center; margin-top:18px; font-family:var(--font); }
.hs-reviews2__score strong { font-family:var(--font); font-weight:800; color:var(--ink); font-size:15px; }
.hs-reviews2__stars { color:var(--steel); font-size:17px; letter-spacing:1px; }
.hs-reviews2__meta { color:var(--muted); font-size:14px; }
.hs-reviews2__meta b { color:var(--ink); }

.hs-rmarquee {
	display:grid; grid-template-columns:repeat(3,1fr); gap:20px; height:600px; overflow:hidden;
	-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);
	mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);
}
.hs-rcol { display:grid; gap:20px; align-content:start; animation:hs-vscroll-up 48s linear infinite; will-change:transform; }
.hs-rcol--down { animation-name:hs-vscroll-down; animation-duration:56s; }
.hs-rcol--mid { animation-duration:64s; }
.hs-rmarquee:hover .hs-rcol { animation-play-state:paused; }
@keyframes hs-vscroll-up { from{ transform:translateY(0); } to{ transform:translateY(-50%); } }
@keyframes hs-vscroll-down { from{ transform:translateY(-50%); } to{ transform:translateY(0); } }

.hs-rcard { background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px 22px 20px; box-shadow:var(--shadow-sm); }
.hs-rcard__stars { color:var(--steel); font-size:14px; letter-spacing:1.5px; margin-bottom:11px; }
.hs-rcard blockquote { margin:0 0 16px; font-family:var(--font); font-size:14.5px; line-height:1.6; color:var(--text); }
.hs-rcard figcaption { display:block; border-top:1px solid var(--line); padding-top:14px; }
.hs-rcard figcaption b { display:block; font-family:var(--font); font-size:14px; font-weight:700; color:var(--ink); letter-spacing:-.005em; }
.hs-rcard figcaption span { display:block; font-family:var(--font); font-size:12.5px; color:var(--muted); margin-top:3px; }
@media (max-width:820px){ .hs-rmarquee{ grid-template-columns:repeat(2,1fr); height:540px; } }
@media (max-width:560px){ .hs-rmarquee{ grid-template-columns:1fr; height:480px; } }
@media (prefers-reduced-motion:reduce){
	.hs-rmarquee{ height:auto; overflow:visible; -webkit-mask-image:none; mask-image:none; }
	.hs-rcol{ animation:none; }
	.hs-rcol .hs-rcard:nth-child(n+4){ display:none; }
}

/* =========================================================
   FOOTER — donker, strak (CTA loopt hierin over)
   ========================================================= */
.hs-footer { position:relative; background:linear-gradient(180deg,#16232f,#1A2D42); color:var(--text-dark); font-family:var(--font); }
.hs-footer::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,transparent,var(--steel),transparent); opacity:.55; }
.hs-footer a { color:var(--text-dark); }
.hs-footer a:hover { color:#fff; }

/* trust-strip */
.hs-footer__trust { display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; padding:34px 0; border-bottom:1px solid var(--line-dark); font-size:14.5px; color:var(--text-dark); }
.hs-footer__trust .stars { color:#e6b33e; font-size:16px; letter-spacing:1px; }
.hs-footer__trust b { color:#fff; font-weight:800; }

/* kolommen */
.hs-footer__grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; padding:56px 0 44px; }
.hs-footer__brand .in-logo { color:#fff; margin-bottom:16px; }
.hs-footer__brand p { color:var(--muted-dark); max-width:36ch; margin:0 0 14px; line-height:1.6; font-size:14.5px; }
.hs-footer__loc { display:inline-flex; align-items:center; gap:8px; font-weight:700; color:#fff !important; font-size:13.5px; background:rgba(255,255,255,.06); border:1px solid var(--line-dark); padding:7px 13px; border-radius:var(--radius-pill); }
.hs-footer__loc svg { width:15px; height:15px; }
.hs-footer__social { display:flex; gap:10px; margin-top:18px; }
.hs-footer__social a { width:40px; height:40px; border-radius:11px; background:rgba(255,255,255,.07); display:grid; place-items:center; font-size:12px; font-weight:800; text-transform:uppercase; color:#fff; transition:background .2s; }
.hs-footer__social a:hover { background:var(--steel); }
.hs-footer__col h4 { color:#fff; font-family:var(--font); font-size:12px; text-transform:uppercase; letter-spacing:.12em; margin:0 0 18px; font-weight:800; }
.hs-footer__col ul { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.hs-footer__col a, .hs-footer__col li { font-size:14.5px; color:var(--text-dark); }

/* afsluitende CTA-regel + bar */
.hs-footer__end { border-top:1px solid var(--line-dark); padding:34px 0; text-align:center; }
.hs-footer__end p { font-family:var(--font-head); font-style:italic; font-weight:500; font-size:clamp(19px,2.4vw,26px); color:#fff; margin:0 0 18px; }
.hs-footer__bar { border-top:1px solid var(--line-dark); padding:22px 0; display:flex; flex-wrap:wrap; gap:8px 22px; justify-content:space-between; align-items:center; color:var(--muted-dark); font-size:13.5px; }
.hs-footer__bar a:hover { color:#fff; }
@media (max-width:900px){ .hs-footer__grid{ grid-template-columns:1fr 1fr; gap:30px; } }
@media (max-width:520px){ .hs-footer__grid{ grid-template-columns:1fr; } }

/* =========================================================
   DIENST-MOCKUPS (UI i.p.v. stockfoto's)
   ========================================================= */
.dm { position:relative; z-index:1; width:100%; max-width:400px; background:#fff; border-radius:16px; padding:16px; box-shadow:0 30px 60px -26px rgba(0,0,0,.55); font-family:var(--font); text-align:left; }
.dm b { font-weight:700; }
.dm__hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.dm__hd > span:first-child { font-size:13px; font-weight:700; color:var(--ink); }
.dm__mut { font-size:12px; color:var(--muted); }

/* google ads */
.dm__search { display:flex; align-items:center; gap:9px; background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius-pill); padding:9px 14px; font-size:13px; color:var(--muted); margin-bottom:14px; }
.dm__search svg { width:15px; height:15px; color:var(--muted); flex:none; }
.dm__ad { border:1px solid var(--line); border-radius:12px; padding:13px 14px; margin-bottom:14px; }
.dm__tag { display:inline-block; font-size:10.5px; font-weight:800; color:var(--navy); border:1px solid var(--navy); border-radius:5px; padding:1px 6px; margin-bottom:8px; }
.dm__ad-t { font-size:14.5px; font-weight:700; color:var(--slate); line-height:1.3; margin-bottom:3px; }
.dm__ad-u { font-size:12px; color:#1f9d5f; margin-bottom:6px; }
.dm__ad-d { font-size:12.5px; color:var(--text); line-height:1.45; }
.dm__kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.dm__kpis > div { background:var(--bg-soft); border-radius:10px; padding:10px; text-align:center; }
.dm__kpis b { display:block; font-family:var(--font-head); font-size:18px; color:var(--ink); }
.dm__kpis i { font-style:normal; font-size:11px; color:var(--muted); }

/* seo */
.dm__up { font-size:11px; font-weight:800; color:#1f9d5f; background:#e6f6ec; padding:3px 9px; border-radius:var(--radius-pill); }
.dm__ranks { list-style:none; margin:0 0 12px; padding:0; display:grid; gap:8px; }
.dm__ranks li { display:flex; align-items:center; justify-content:space-between; background:var(--bg-soft); border-radius:10px; padding:9px 12px; font-size:13px; color:var(--text); }
.dm__pos { font-family:var(--font-head); font-weight:700; color:var(--slate); font-size:14px; }
.dm__pos--1 { color:#1f9d5f; }
.dm__bars { display:flex; align-items:flex-end; gap:5px; height:46px; }
.dm__bars i { flex:1; border-radius:4px 4px 2px 2px; background:linear-gradient(180deg,var(--steel),rgba(95,120,145,.3)); }

/* social */
.dm__post-hd { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.dm__av2 { width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,var(--steel),var(--slate)); color:#fff; display:grid; place-items:center; font-weight:700; font-size:13px; flex:none; }
.dm__post-hd b { display:block; font-size:13.5px; color:var(--ink); }
.dm__post-hd i { font-style:normal; font-size:11.5px; color:var(--muted); }
.dm__thumb { height:118px; border-radius:12px; background:linear-gradient(150deg,var(--navy),var(--slate) 70%,var(--steel)); margin-bottom:12px; }
.dm__eng { display:flex; gap:16px; align-items:center; font-size:12.5px; color:var(--muted); }
.dm__eng > span { display:inline-flex; align-items:center; gap:5px; }
.dm__eng svg { width:14px; height:14px; }
.dm__reach { margin-left:auto; font-weight:700; color:var(--navy); background:var(--bg-soft); padding:4px 10px; border-radius:var(--radius-pill); }

/* webdesign */
.dm__win { display:flex; align-items:center; gap:6px; padding-bottom:10px; border-bottom:1px solid var(--line); margin-bottom:12px; }
.dm__d { width:9px; height:9px; border-radius:50%; background:#dfe4e8; }
.dm__addr { margin-left:8px; font-size:11.5px; color:var(--muted); background:var(--bg-soft); padding:4px 12px; border-radius:var(--radius-pill); flex:1; }
.dm__page { display:flex; flex-direction:column; gap:9px; padding:6px 2px 8px; }
.dm__h1 { height:16px; width:75%; border-radius:6px; background:linear-gradient(90deg,#d7dee4,#eef1f3); }
.dm__h2 { height:10px; width:55%; border-radius:5px; background:#e7ebee; }
.dm__cta2 { align-self:flex-start; margin-top:4px; background:var(--navy); color:#fff; font-size:12px; font-weight:650; padding:9px 16px; border-radius:var(--radius-pill); }
.dm__floatchip { position:absolute; right:14px; bottom:14px; background:#e6f6ec; color:#1f9d5f; font-size:11.5px; font-weight:800; padding:6px 12px; border-radius:var(--radius-pill); box-shadow:var(--shadow-sm); }
.dm__floatchip--static { position:static; background:rgba(255,255,255,.16); color:#fff; box-shadow:none; }

/* content */
.dm__cal { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin-bottom:14px; }
.dm__cal i { height:26px; border-radius:7px; background:var(--bg-soft); border:1px solid var(--line); position:relative; }
.dm__cal i.on::after { content:""; position:absolute; left:50%; bottom:5px; transform:translateX(-50%); width:6px; height:6px; border-radius:50%; background:var(--steel); }
.dm__doc { border:1px solid var(--line); border-radius:12px; padding:12px; }
.dm__tag2 { display:inline-block; font-size:10.5px; font-weight:800; color:var(--slate); background:var(--bg-soft); padding:3px 9px; border-radius:var(--radius-pill); margin-bottom:9px; }
.dm__ln { height:9px; border-radius:5px; background:#e7ebee; margin-bottom:7px; }
.dm__ln.w85 { width:85%; } .dm__ln.w60 { width:60%; }

/* automation */
.dm__flow { display:grid; gap:12px; }
.dm__node { display:flex; align-items:center; justify-content:space-between; background:var(--bg-soft); border:1px solid var(--line); border-left:3px solid var(--slate); border-radius:10px; padding:11px 13px; position:relative; }
.dm__node b { font-size:13px; color:var(--ink); }
.dm__node i { font-style:normal; font-size:11.5px; color:var(--muted); }
.dm__node--on { border-left-color:var(--navy); background:#fff; box-shadow:var(--shadow-sm); }
.dm__flow .dm__node:not(:last-child)::after { content:""; position:absolute; left:20px; bottom:-12px; width:2px; height:12px; background:var(--line); }

/* resultaten (homepage) */
.dm--result { max-width:none; }
.dm--result .dm__hd > span:first-child { color:var(--ink); }
.dm__big { margin:12px 0 14px; }
.dm__big b { font-family:var(--font-head); font-size:clamp(34px,4vw,44px); font-weight:700; color:var(--ink); letter-spacing:-.02em; }
.dm__big i { display:block; font-style:normal; font-size:12.5px; color:var(--muted); margin-top:2px; }
.dm__bars--tall { height:78px; gap:6px; }
.dm__legend { display:flex; gap:16px; margin-top:13px; font-size:11.5px; color:var(--muted); }
.dm__legend em { display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:6px; vertical-align:middle; }
.dm__legend .dot-a { background:var(--navy); } .dm__legend .dot-b { background:var(--steel); } .dm__legend .dot-c { background:var(--bluegray); }

/* =========================================================
   POLISH — buttons (header/onblock), hover, scroll-reveal
   ========================================================= */

/* Header-CTA + main.css primaire knop → zelfde premium look */
.in-btn--primary { background-image:none !important; background:var(--navy); border:0; box-shadow:inset 0 1px 0 rgba(255,255,255,.09), 0 10px 24px -12px rgba(20,30,45,.6); position:relative; overflow:hidden; isolation:isolate; transition:transform .2s cubic-bezier(.2,.75,.3,1), box-shadow .3s ease, background .3s ease; }
.in-btn--primary::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(115deg,transparent 20%,rgba(150,175,200,.4) 48%,transparent 72%); transform:translateX(-130%); transition:transform .65s cubic-bezier(.2,.75,.3,1); }
.in-btn--primary:hover { transform:translateY(-2px); background:#1f3648; color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 20px 40px -14px rgba(20,30,45,.72); }
.in-btn--primary:hover::before { transform:translateX(130%); }
.in-btn--outline { transition:transform .2s cubic-bezier(.2,.75,.3,1), border-color .2s, box-shadow .3s; }
.in-btn--outline:hover { transform:translateY(-2px); border-color:var(--navy); color:var(--ink); box-shadow:0 14px 30px -16px rgba(20,30,45,.4); }

/* On-block witte knop (bento/CTA-kaarten) */
.hs-bento__card .hs-btn-onblock, .hs-risk__panel .hs-btn-onblock {
	transition:transform .2s cubic-bezier(.2,.75,.3,1), box-shadow .3s ease;
	box-shadow:0 10px 24px -14px rgba(0,0,0,.4);
}
.hs-bento__card .hs-btn-onblock svg, .hs-risk__panel .hs-btn-onblock svg { transition:transform .22s cubic-bezier(.2,.75,.3,1); }
.hs-bento__card .hs-btn-onblock:hover svg, .hs-risk__panel .hs-btn-onblock:hover svg { transform:translateX(3px); }

/* ----- Hover-verfijning kaarten ----- */
.hs-bento__card { transition:transform .3s cubic-bezier(.2,.75,.3,1), box-shadow .35s ease; will-change:transform; }
.hs-bento__card:hover { transform:translateY(-5px); box-shadow:0 40px 80px -30px rgba(20,30,45,.55); }
.hs-statcard { transition:transform .3s cubic-bezier(.2,.75,.3,1), box-shadow .35s ease; }
.hs-statcard:hover { transform:translateY(-5px); box-shadow:0 30px 60px -30px rgba(20,30,45,.3); }
.hs-svccard { will-change:transform; }
.hs-svc__media, .hs-story__media, .hs-risk__media { transition:transform .35s cubic-bezier(.2,.75,.3,1), box-shadow .35s ease; }
.hs-svc:hover .hs-svc__media { transform:translateY(-4px); }
.hs-value { transition:transform .25s cubic-bezier(.2,.75,.3,1), box-shadow .3s ease, border-color .2s; }
.hs-value:hover { transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--bluegray); }
.hs-value:hover .hs-value__ic { transform:scale(1.06) rotate(-3deg); }
.hs-value__ic { transition:transform .25s cubic-bezier(.2,.75,.3,1); }
.hs-feature:hover .hs-feature__ic { transform:scale(1.06) rotate(-3deg); }
.hs-feature__ic { transition:transform .25s cubic-bezier(.2,.75,.3,1); }

/* Eyebrow accent lijntje 'groeit' subtiel */
.in-eyebrow::before { transition:width .3s ease; }
.hs-head:hover .in-eyebrow::before { width:34px; }

/* ----- Scroll-reveal ----- */
.rv { opacity:0; transform:translateY(20px); transition:opacity .7s cubic-bezier(.2,.75,.3,1), transform .7s cubic-bezier(.2,.75,.3,1); }
.rv--in { opacity:1; transform:none; }
/* lichte stagger voor items in een rij */
.rv.rv-2 { transition-delay:.08s; } .rv.rv-3 { transition-delay:.16s; } .rv.rv-4 { transition-delay:.24s; }
@media (prefers-reduced-motion:reduce){ .rv{ opacity:1 !important; transform:none !important; } }

/* Hero-entree (subtiele fade-up bij laden) */
@keyframes hs-hero-in { from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
.home .hs-hero__badge { animation:hs-hero-in .6s cubic-bezier(.2,.75,.3,1) both; }
.home .hs-hero h1 { animation:hs-hero-in .7s cubic-bezier(.2,.75,.3,1) .05s both; }
.home .hs-hero__lead { animation:hs-hero-in .7s cubic-bezier(.2,.75,.3,1) .12s both; }
.home .hs-hero__actions { animation:hs-hero-in .7s cubic-bezier(.2,.75,.3,1) .19s both; }
.home .hs-hero__trustline { animation:hs-hero-in .7s cubic-bezier(.2,.75,.3,1) .26s both; }
.home .hs-showcase { animation:hs-hero-in .8s cubic-bezier(.2,.75,.3,1) .32s both; }
@media (prefers-reduced-motion:reduce){ .home .hs-hero__badge,.home .hs-hero h1,.home .hs-hero__lead,.home .hs-hero__actions,.home .hs-hero__trustline,.home .hs-showcase{ animation:none; } }

/* ----- Over-ons mock (impact-kaart) in donkere showcase ----- */
.hs-story__media--mock { background:linear-gradient(160deg,#22374d,#1A2D42 70%); display:flex; align-items:center; justify-content:center; padding:26px; aspect-ratio:auto; min-height:340px; position:relative; overflow:hidden; }
.hs-story__media--mock::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(360px 220px at 82% 6%,rgba(95,120,145,.3),transparent 60%); }
.dm--over { max-width:420px; }
.dm__rate { display:flex; align-items:center; gap:10px; padding:0 0 14px; border-bottom:1px solid var(--line); margin-bottom:14px; }
.dm__rate .dm__stars { color:var(--steel); font-size:15px; letter-spacing:1px; }
.dm__rate b { font-family:var(--font-head); font-size:22px; color:var(--ink); font-weight:700; }
.dm__rate i { font-style:normal; font-size:12.5px; color:var(--muted); margin-left:auto; }
.dm__overlist { display:grid; gap:10px; }
.dm__overlist > div { display:flex; align-items:baseline; gap:12px; background:var(--bg-soft); border-radius:10px; padding:11px 13px; }
.dm__overlist b { font-family:var(--font-head); font-size:19px; font-weight:700; color:var(--navy); flex:none; min-width:60px; }
.dm__overlist i { font-style:normal; font-size:12.5px; color:var(--text); line-height:1.35; }

/* =========================================================
   MOCK-MICRO-ANIMATIES (subtiel, CSS-only)
   ========================================================= */
/* chat: typindicator */
.hs-chat__typing { display:inline-flex; gap:4px; align-items:center; justify-self:start; background:#24333f; border-radius:14px; border-bottom-left-radius:5px; padding:11px 13px; }
.hs-chat__typing i { width:6px; height:6px; border-radius:50%; background:#8fb2cf; animation:dm-typing 1.4s infinite ease-in-out; }
.hs-chat__typing i:nth-child(2){ animation-delay:.18s; }
.hs-chat__typing i:nth-child(3){ animation-delay:.36s; }
@keyframes dm-typing { 0%,60%,100%{ transform:translateY(0); opacity:.45; } 30%{ transform:translateY(-4px); opacity:1; } }

/* chat: pulserende online-stip */
.hs-chat__who span { position:relative; padding-left:13px; }
.hs-chat__who span::before { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:7px; height:7px; border-radius:50%; background:#7fd8a6; box-shadow:0 0 0 0 rgba(127,216,166,.6); animation:tsm-pulse 2s infinite; }

/* dashboard-staafjes 'ademen' */
.dm__bars i, .hs-mini__bars i { transform-origin:bottom; animation:dm-breathe 3.6s ease-in-out infinite; }
.dm__bars i:nth-child(2), .hs-mini__bars i:nth-child(2){ animation-delay:.12s; }
.dm__bars i:nth-child(3), .hs-mini__bars i:nth-child(3){ animation-delay:.24s; }
.dm__bars i:nth-child(4), .hs-mini__bars i:nth-child(4){ animation-delay:.36s; }
.dm__bars i:nth-child(5), .hs-mini__bars i:nth-child(5){ animation-delay:.48s; }
.dm__bars i:nth-child(6), .hs-mini__bars i:nth-child(6){ animation-delay:.60s; }
.dm__bars i:nth-child(7){ animation-delay:.72s; }
.dm__bars i:nth-child(8){ animation-delay:.84s; }
.dm__bars i:nth-child(9){ animation-delay:.96s; }
@keyframes dm-breathe { 0%,100%{ transform:scaleY(.86); } 50%{ transform:scaleY(1); } }

/* landing-CTA: periodieke glans */
.hs-landing__cta { position:relative; overflow:hidden; }
.hs-landing__cta::after { content:""; position:absolute; inset:0; background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%); transform:translateX(-130%); animation:dm-sheen 5s ease-in-out infinite; }
@keyframes dm-sheen { 0%,45%{ transform:translateX(-130%); } 62%,100%{ transform:translateX(130%); } }

@media (prefers-reduced-motion:reduce){
	.hs-chat__typing i, .hs-chat__who span::before, .dm__bars i, .hs-mini__bars i, .hs-landing__cta::after { animation:none !important; }
}
