/*
 * Tekstschaal voor laptops (feedback Indy, 14-10-2026): tussen 1000 en 1727px vensterbreedte worden tekst, knoppen,
 * menu, eyebrows, labels en kleine iconen naast tekst vloeiend fijner. Beelden, kaarten, kolommen, sectiehoogtes
 * en -paddings blijven zoals ze zijn. Vanaf 1728px (het ontwerp) en onder 1000px (tablet, gsm) doet dit bestand niets.
 * Alleen met muis of trackpad (hover: hover en pointer: fine): een tablet liggend (iPad 1024 tot 1194px) houdt de
 * desktopmaten, anders kreeg hij kleinere tekst dan rechtop, waar onder 1000px de tabletmaten gelden.
 *
 * Formule voor een maat S (in px, uit het ontwerp op 1728):  S - (S - 13) * 0,45 * u,  met u = 0 bij 1728px en 1 bij 1000px.
 * Elke maat krimpt dus lineair naar 13px toe, met hoogstens 45% van de afstand: grote koppen krimpen relatief meer
 * (92 wordt 56,5 op 1000px), lopende tekst weinig (17 wordt 15,2 en 16 wordt 14,7), en niets komt onder 13px.
 * Op 1440px: 92 > 77,9, 46 > 40,1, 24 > 22, 17 > 16,3, 16 > 15,5, 15 > 14,6, 14 > 13,8.
 * In CSS:  font-size: calc(S * var(--fm-px) + var(--fm-px13)).
 * Regelhoogte en letterafstand volgen de lettergrootte in em (ontwerpwaarde gedeeld door S), zodat de verhouding blijft.
 * De maximale breedte van een alinea (de regellengte) schaalt ook mee, zodat de regels even veel tekens tellen als in
 * het ontwerp; alleen de vette regel en de intro in de hero houden hun 610px, zodat de knoppen op een lage laptop boven de vouw blijven.
 *
 * Wie in een sectiebestand een tekstmaat aanpast, past hier dezelfde S aan. 13px-tekst (voetnoot, copyright, pillen,
 * kop van de inhoudsopgave) blijft volgens de formule 13px en staat hier dus niet.
 */

@media (min-width: 1000px) and (max-width: 1727px) and (hover: hover) and (pointer: fine) {
	:root {
		--fm-u: clamp(0px, (1728px - 100vw) / 728, 1px);        /* 0px bij 1728, 1px bij 1000 */
		--fm-px: calc(1px - .45 * var(--fm-u));                  /* een ontwerppixel, geschaald */
		--fm-px13: calc(13 * .45 * var(--fm-u));                 /* het deel dat naar 13px toe trekt */
	}

	/* ---------- basis: lopende tekst, typografieklassen, knoppen ---------- */

	body { font-size: calc(17 * var(--fm-px) + var(--fm-px13)); line-height: calc(28em / 17); }
	.fm-h1 { font-size: calc(92 * var(--fm-px) + var(--fm-px13)); line-height: calc(93.84em / 92); letter-spacing: calc(-3.22em / 92); }
	.fm-h2 { font-size: calc(46 * var(--fm-px) + var(--fm-px13)); line-height: calc(52.9em / 46); letter-spacing: calc(-.92em / 46); }
	.fm-lead { font-size: calc(24 * var(--fm-px) + var(--fm-px13)); line-height: calc(39.6em / 24); letter-spacing: calc(-.24em / 24); }
	.fm-intro { font-size: calc(17 * var(--fm-px) + var(--fm-px13)); line-height: calc(28em / 17); }
	.fm-eyebrow { font-size: calc(15 * var(--fm-px) + var(--fm-px13)); line-height: calc(24.75em / 15); }

	body a.fm-knop,
	body button.fm-knop {
		gap: calc(8em / 15);
		padding: calc(14em / 15) calc(26em / 15);
		font-size: calc(15 * var(--fm-px) + var(--fm-px13));
		line-height: calc(24.75em / 15);
	}

	/* ---------- header: menu en knop Contact ---------- */

	#header-outer #top nav > ul > li > a,
	#header-outer #top nav > ul > li > a .menu-title-text {
		font-size: calc(15 * var(--fm-px) + var(--fm-px13));
		line-height: calc(24.75em / 15);
	}
	#header-outer #top nav > .buttons > li.menu-item-btn-style-button_solid_color > a {
		padding: calc(10em / 15) calc(22em / 15) !important;
		line-height: calc(24.75em / 15);
	}

	/* ---------- footer ---------- */

	body .fm-footer h4.fm-footer-kop { font-size: calc(14 * var(--fm-px) + var(--fm-px13)); line-height: calc(23.1em / 14); }
	body .fm-footer .fm-footer-lijst li { font-size: calc(15 * var(--fm-px) + var(--fm-px13)); line-height: calc(24.75em / 15); }

	/* ---------- 01 hero ---------- */

	/* De hero blijft even hoog als voorheen, zodat het beeld (cover) dezelfde uitsnede houdt. min-height telt zonder de
	   padding (140 + 120): titel (3 regels van .92em plus .3em = 3.06 x de oude clamp) + intro 165 + knoppen 52.75 + tussenruimtes 68. */
	.wpb_row.fm-s01 { min-height: calc(285.75px + 3.06 * clamp(76px, 7.6vw, 92px)); }
	/* vervangt clamp(76px, 7.6vw, 92px): de schaal blijft overal kleiner dan 7.6vw, dus de titel loopt niet over het hoofd */
	.fm-s01 h1.fm-h1 { font-size: calc(.9 * (92 * var(--fm-px) + var(--fm-px13))); }   /* 10% kleiner (15-10; eerst 20%, te klein) */
	.fm-s01 p.fm-s01-lead { font-size: calc(20 * var(--fm-px) + var(--fm-px13)); line-height: calc(31em / 20); }
	.fm-s01 p.fm-s01-intro {
		font-size: calc(20 * var(--fm-px) + var(--fm-px13));
		line-height: calc(31em / 20);
		padding: calc(1em / 20) 0 calc(9em / 20);
	}

	/* ---------- regellengte van de intro's ---------- */

	.fm-s02 .fm-s02-kop .fm-intro { max-width: calc(641em / 17); }
	.fm-s03 .fm-s03-kop .fm-intro,
	.fm-s07 .fm-s07-kop .fm-intro,
	.fm-s05 .fm-s05-kop .fm-intro { max-width: calc(860em / 17); }

	/* ---------- 02 Unlock your potential ---------- */

	body .fm-s02 h3.fm-s02-titel { font-size: calc(26 * var(--fm-px) + var(--fm-px13)); line-height: calc(42.9em / 26); letter-spacing: calc(-.26em / 26); }
	body .fm-s02 p.fm-s02-tagline { font-size: calc(16 * var(--fm-px) + var(--fm-px13)); line-height: calc(26.4em / 16); }
	body .fm-s02 .fm-s02-lijst li { padding-left: calc(36em / 16); font-size: calc(16 * var(--fm-px) + var(--fm-px13)); line-height: calc(25.6em / 16); }
	.fm-s02 .fm-s02-lijst li::before {
		top: calc(3em / 16);
		width: calc(22em / 16);
		height: calc(22em / 16);
		background-size: calc(22em / 16) calc(22em / 16);
	}
	body .fm-s02 .fm-s02-voet p { font-size: calc(15 * var(--fm-px) + var(--fm-px13)); line-height: calc(24.75em / 15); }

	/* ---------- 03 Training for your mind ---------- */

	.fm-s03 .fm-s03-brein-tekst h3 { font-size: calc(40 * var(--fm-px) + var(--fm-px13)); line-height: calc(66em / 40); letter-spacing: calc(-.4em / 40); }
	.fm-s03 .fm-s03-prog h3 { font-size: calc(19 * var(--fm-px) + var(--fm-px13)); line-height: calc(31.35em / 19); letter-spacing: calc(1.14em / 19); }
	.fm-s03 .fm-s03-prog p.fm-s03-sub,
	.fm-s03 .fm-s03-prog p.fm-s03-tekst { font-size: calc(16 * var(--fm-px) + var(--fm-px13)); line-height: calc(26.4em / 16); }
	.fm-s03 .fm-s03-prog dl.fm-s03-dl,
	.fm-s03 .fm-s03-dl dt,
	.fm-s03 .fm-s03-dl dd { font-size: calc(14 * var(--fm-px) + var(--fm-px13)); line-height: calc(23.1em / 14); }

	/* ---------- 04 quote (regelhoogtes en letterafstand staan al in verhoudingen) ---------- */

	.fm-s04 blockquote.fm-s04-quote { max-width: calc(980em / 54); font-size: calc(54 * var(--fm-px) + var(--fm-px13)); }

	/* ---------- 05 stappen ---------- */

	.fm-s05 .fm-s05-stap p.fm-s05-nr { font-size: calc(14 * var(--fm-px) + var(--fm-px13)); line-height: calc(23.1em / 14); }
	.fm-s05 .fm-s05-stap h3.fm-s05-titel { font-size: calc(22 * var(--fm-px) + var(--fm-px13)); line-height: calc(36.3em / 22); letter-spacing: calc(-.22em / 22); }
	.fm-s05 .fm-s05-stap p.fm-s05-tekst { max-width: calc(342em / 16); font-size: calc(16 * var(--fm-px) + var(--fm-px13)); line-height: calc(26.4em / 16); }

	/* ---------- 06 Your mind in form ---------- */

	.fm-s06 .fm-s06-item h3.fm-s06-titel { font-size: calc(22 * var(--fm-px) + var(--fm-px13)); line-height: calc(36.3em / 22); }
	.fm-s06 .fm-s06-titel .fm-s06-eyebrow { font-size: calc(14 * var(--fm-px) + var(--fm-px13)); line-height: calc(23.1em / 14); }
	.fm-s06 .fm-s06-item .fm-s06-tekst { font-size: calc(16 * var(--fm-px) + var(--fm-px13)); line-height: calc(26.4em / 16); }
	.fm-s06 .fm-s06-item > summary::after {
		width: calc(20 * var(--fm-px) + var(--fm-px13));
		height: calc(20 * var(--fm-px) + var(--fm-px13));
		background-size: 100% 100%;
	}

	/* ---------- 07 Start with confidence ---------- */

	body .fm-s07 .fm-s07-kaart p.fm-s07-label { font-size: calc(14 * var(--fm-px) + var(--fm-px13)); line-height: calc(23.1em / 14); }
	body .fm-s07 .fm-s07-kaart h3.fm-s07-titel { font-size: calc(20 * var(--fm-px) + var(--fm-px13)); line-height: calc(33em / 20); }
	body .fm-s07 .fm-s07-kaart p.fm-s07-alinea { font-size: calc(15 * var(--fm-px) + var(--fm-px13)); line-height: calc(24.75em / 15); }
	body .fm-s07 a.fm-knop.fm-s07-knop {
		gap: calc(8em / 14);
		padding: calc(10em / 14) calc(20em / 14);
		font-size: calc(14 * var(--fm-px) + var(--fm-px13));
		line-height: calc(23.1em / 14);
	}
	body .fm-s07 .fm-s07-kaart--case p.fm-s07-label { font-size: calc(16 * var(--fm-px) + var(--fm-px13)); line-height: calc(26.4em / 16); }
	body .fm-s07 .fm-s07-kaart--case h3.fm-s07-titel { font-size: calc(26 * var(--fm-px) + var(--fm-px13)); line-height: calc(42.9em / 26); }
	body .fm-s07 blockquote.fm-s07-citaat { font-size: calc(19 * var(--fm-px) + var(--fm-px13)); line-height: calc(28.5em / 19); }
	body .fm-s07 .fm-s07-kaart p.fm-s07-meta { font-size: calc(14 * var(--fm-px) + var(--fm-px13)); line-height: calc(23.1em / 14); }
	body .fm-s07 .fm-s07-kaart--case p.fm-s07-alinea,
	body .fm-s07 .fm-s07-kaart p.fm-s07-conclusie { font-size: calc(16 * var(--fm-px) + var(--fm-px13)); line-height: calc(26.4em / 16); }

	/* ---------- 08 FAQ ---------- */

	.fm-s08 p.fm-s08-alle { font-size: calc(15 * var(--fm-px) + var(--fm-px13)); line-height: calc(24.75em / 15); }
	body .fm-s08 button.fm-s08-tab {
		padding: calc(10.5em / 15) calc(22em / 15);
		font-size: calc(15 * var(--fm-px) + var(--fm-px13));
		line-height: calc(22em / 15);
	}
	.fm-s08 .fm-s08-item h3.fm-s08-vraag { font-size: calc(18 * var(--fm-px) + var(--fm-px13)); line-height: calc(29.7em / 18); }
	.fm-s08 .fm-s08-item p.fm-s08-antwoord { font-size: calc(16 * var(--fm-px) + var(--fm-px13)); line-height: calc(26.4em / 16); }
	.fm-s08 .fm-s08-item > summary::after {
		width: calc(20 * var(--fm-px) + var(--fm-px13));
		height: calc(20 * var(--fm-px) + var(--fm-px13));
		background-size: 100% 100%;
	}

	/* ---------- 09 Contact & about ---------- */

	.fm-s09 .fm-s09-kop p.fm-s09-lead { max-width: calc(840em / 22); font-size: calc(22 * var(--fm-px) + var(--fm-px13)); line-height: calc(31.9em / 22); }
	.fm-s09 .fm-s09-bio h3.fm-s09-naam { font-size: calc(22 * var(--fm-px) + var(--fm-px13)); line-height: calc(36.3em / 22); }
	.fm-s09 .fm-s09-bio p { font-size: calc(15 * var(--fm-px) + var(--fm-px13)); line-height: calc(24.75em / 15); }
	.fm-s09 .fm-s09-start h3.fm-s09-start-titel { font-size: calc(30 * var(--fm-px) + var(--fm-px13)); line-height: calc(37.5em / 30); letter-spacing: calc(-.3em / 30); }
	.fm-s09 .fm-s09-start p.fm-s09-klein { font-size: calc(16 * var(--fm-px) + var(--fm-px13)); line-height: calc(26.4em / 16); }
	.fm-s09 .fm-s09-kalender p { font-size: calc(14 * var(--fm-px) + var(--fm-px13)); line-height: calc(23.1em / 14); }
	.fm-s09 .fm-s09-formulier h3.fm-s09-form-titel { max-width: calc(522em / 20); font-size: calc(20 * var(--fm-px) + var(--fm-px13)); line-height: calc(27em / 20); letter-spacing: calc(-.2em / 20); }
	.fm-s09 .gform_wrapper.gravity-theme .gfield_label,
	.fm-s09 .gform_wrapper.gravity-theme legend.gfield_label { font-size: calc(14 * var(--fm-px) + var(--fm-px13)); line-height: calc(23.1em / 14); }
	/* velden houden hun hoogte (50px); alleen de tekst erin wordt fijner */
	body .fm-s09 .gform_wrapper.gravity-theme input[type="text"],
	body .fm-s09 .gform_wrapper.gravity-theme input[type="email"],
	body .fm-s09 .gform_wrapper.gravity-theme input[type="tel"],
	body .fm-s09 .gform_wrapper.gravity-theme select,
	body .fm-s09 .gform_wrapper.gravity-theme textarea { font-size: calc(16 * var(--fm-px) + var(--fm-px13)); line-height: calc(22.5em / 16); }
	.fm-s09 .gform_wrapper.gravity-theme .gfield_radio .gfield-choice-input + label.gform-field-label--type-inline { font-size: calc(15 * var(--fm-px) + var(--fm-px13)); line-height: calc(24.75em / 15); }
	body .fm-s09 .gform_wrapper.gravity-theme .gform_footer button.gform_button,
	body .fm-s09 .gform_wrapper.gravity-theme .gform_footer input[type="submit"] {
		padding: calc(14.5em / 15) calc(26em / 15) calc(15em / 15) !important;
		font-size: calc(15 * var(--fm-px) + var(--fm-px13));
		line-height: calc(21.5em / 15);
	}
	.fm-s09 .gform_wrapper.gravity-theme .gform_validation_errors > h2 { font-size: calc(15 * var(--fm-px) + var(--fm-px13)); line-height: calc(24.75em / 15); }
	.fm-s09 .gform_wrapper.gravity-theme .gfield_validation_message,
	.fm-s09 .gform_wrapper.gravity-theme .validation_message { font-size: calc(14 * var(--fm-px) + var(--fm-px13)); line-height: calc(23.1em / 14); }
	.fm-s09 .gform_confirmation_message { font-size: calc(17 * var(--fm-px) + var(--fm-px13)); line-height: calc(28em / 17); }

	/* ---------- documentpagina's ---------- */

	body .fm-doc-kop h1.fm-doc-titel { font-size: calc(64 * var(--fm-px) + var(--fm-px13)); line-height: calc(70em / 64); letter-spacing: calc(-1.6em / 64); }
	body .fm-doc-kop p.fm-doc-intro { max-width: calc(720em / 17); }
	body .fm-doc-kop p.fm-doc-datum { font-size: calc(14 * var(--fm-px) + var(--fm-px13)); line-height: calc(22em / 14); }
	body .fm-doc .fm-doc-inhoud li { font-size: calc(15 * var(--fm-px) + var(--fm-px13)); line-height: calc(22em / 15); }
	body .fm-doc .fm-doc-body h2 { font-size: calc(28 * var(--fm-px) + var(--fm-px13)); line-height: calc(36em / 28); letter-spacing: calc(-.4em / 28); }
	body .fm-doc .fm-doc-body h3 { font-size: calc(19 * var(--fm-px) + var(--fm-px13)); line-height: calc(28em / 19); }
	body .fm-doc .fm-doc-body p,
	body .fm-doc .fm-doc-body li { font-size: calc(17 * var(--fm-px) + var(--fm-px13)); line-height: calc(28em / 17); }
	body .fm-doc .fm-doc-tabel th,
	body .fm-doc .fm-doc-tabel td { font-size: calc(15 * var(--fm-px) + var(--fm-px13)); line-height: calc(22em / 15); }
	body .fm-doc .fm-doc-noot p { font-size: calc(15 * var(--fm-px) + var(--fm-px13)); line-height: calc(24em / 15); }
}
