/*
Theme Name: nldtok Nederland
Theme URI: https://nldtok.com/
Author: DETOFI
Description: Nederlandse tokenisatie-ecosysteem: TOKENISATIE, NLDTOK en NLDTOKEN.
Version: 1.0.2
Text Domain: nldtok-nl
*/

:root{
    /* Nederlandse identiteit: oranje, wit en koningsblauw */
    --saffron:#f47721;
    --saffron-dark:#d65a0b;
    --green:#164b96;
    --green2:#103b7a;
    --green-deep:#08254e;
    --ashoka:#ae1c28;
    --cream:#f5f8fd;
    --paper:#ffffff;
    --text:#172b45;
    --muted:#607189;
    --line:rgba(22,75,150,.15);
    --max:1320px;
    --shadow:0 20px 60px rgba(13,51,106,.11);
    --blue:var(--green);
    --blue2:var(--green2);
    --red:var(--saffron);
}

*{
	box-sizing:border-box;
}

html{
	scroll-behavior:smooth;
}

body{
	margin:0;
	background:var(--cream);
	color:var(--text);
	font-family:Inter,Arial,sans-serif;
	line-height:1.6;
}

a{
	text-decoration:none;
	color:inherit;
}

img{
	max-width:100%;
	height:auto;
}

.ts-shell{
	width:min(var(--max),calc(100% - 48px));
	margin:auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.ts-header{
	height:96px;

	background:rgba(245,248,253,.95);

	border-top:4px solid var(--saffron);
	border-bottom:1px solid var(--line);

	position:sticky;
	top:0;
	z-index:50;

	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}

.ts-header::after{
	content:"";

	position:absolute;
	left:0;
	right:0;
	bottom:0;

	height:3px;

	background:
		linear-gradient(
			90deg,
			#ae1c28 0 33.333%,
			#ffffff 33.333% 66.666%,
			#21468b 66.666% 100%
		);
}

.ts-header-inner{
	height:100%;

	display:flex;
	align-items:center;
	justify-content:space-between;

	gap:30px;
}

.ts-brand{
	display:flex;
	align-items:center;
	gap:12px;
}

.ts-brand img{
	width:62px;
	height:62px;
	object-fit:contain;
}

.ts-brand-text strong{
	font-size:24px;
	letter-spacing:.01em;

	color:var(--green);
}

.ts-brand-text strong span{
	color:var(--saffron);
}

.ts-brand-text small{
	display:block;

	color:#687b93;

	font-weight:700;
	letter-spacing:.04em;
}

.ts-nav{
	display:flex;
	align-items:center;

	gap:30px;

	font-weight:800;
	font-size:13px;

	text-transform:uppercase;
}

.ts-nav a{
	transition:color .2s ease;
}

.ts-nav a:hover{
	color:var(--saffron);
}

.ts-menu{
	display:none;

	border:1px solid var(--saffron);
	border-radius:10px;

	background:transparent;
	color:var(--green);

	font-size:24px;

	width:44px;
	height:44px;

	cursor:pointer;
}


/* =========================================================
   HERO
   ========================================================= */

.ts-hero{
	min-height:700px;

	display:flex;
	align-items:center;

	overflow:hidden;
	position:relative;
}

.ts-hero-inner{
	width:min(1500px,100%);
	margin:auto;

	display:grid;
	grid-template-columns:43% 57%;

	align-items:center;

	min-height:700px;
}

.ts-copy{
	padding:
		70px
		20px
		70px
		max(40px,calc((100vw - var(--max))/2));
}

.ts-kicker,
.ts-eyebrow{
	color:var(--green);

	font-weight:900;
	letter-spacing:.06em;

	text-transform:uppercase;

	font-size:14px;
}

.ts-hero h1{
	font-size:clamp(54px,5vw,82px);

	line-height:.94;

	margin:18px 0 24px;

	color:var(--green);

	letter-spacing:-.04em;
}

.ts-hero h1 span{
	display:block;
	color:var(--saffron);
}

.ts-lead{
	font-size:19px;

	max-width:600px;

	color:#3d526d;
}

.ts-buttons{
	display:flex;

	gap:14px;
	flex-wrap:wrap;

	margin-top:34px;
}

.ts-btn{
	display:inline-flex;

	align-items:center;
	justify-content:center;

	padding:15px 24px;

	border-radius:7px;

	font-weight:900;
	text-transform:uppercase;

	font-size:13px;

	transition:
		background .2s ease,
		color .2s ease,
		border-color .2s ease,
		transform .2s ease;
}

.ts-btn:hover{
	transform:translateY(-2px);
}

.ts-btn-primary{
	background:var(--green);
	color:#fff;
}

.ts-btn-primary:hover{
	background:var(--saffron);
}

.ts-btn-ghost{
	border:1px solid var(--green);

	color:var(--green);

	background:rgba(255,255,255,.38);
}

.ts-btn-ghost:hover{
	border-color:var(--saffron);
	color:var(--saffron);
}

.ts-visual{
	height:700px;

	display:flex;
	align-items:center;
	justify-content:center;

	position:relative;
}

.ts-visual img{
	width:100%;
	max-width:none;

	transform:translateX(-2%);

	filter:
		drop-shadow(
			0 30px 35px rgba(22,75,150,.14)
		);
}


/* =========================================================
   FEATURES
   ========================================================= */

.ts-features{
	position:relative;

	margin-top: 28px;

	z-index:3;
}

.ts-feature-grid{
	background:rgba(255,255,255,.90);

	border:1px solid rgba(255,255,255,.9);

	box-shadow:var(--shadow);

	border-radius:22px;

	display:grid;
	grid-template-columns:repeat(4,1fr);

	padding:25px 20px;
}

.ts-feature{
	padding:10px 26px;

	border-right:1px solid var(--line);
}

.ts-feature:last-child{
	border:0;
}

.ts-feature b{
	display:block;

	color:var(--green);

	text-transform:uppercase;

	margin-bottom:4px;
}

.ts-feature i{
	font-style:normal;

	font-size:27px;

	color:var(--saffron);
}


/* =========================================================
   SECTIONS
   ========================================================= */

.ts-section{
	padding:100px 0;
}

.ts-section-white{
	background:rgba(255,255,255,.55);
}

.ts-center{
	text-align:center;

	max-width:850px;

	margin:auto;
}

.ts-title{
	font-size:clamp(36px,4vw,58px);

	line-height:1.05;

	color:var(--green);

	margin:10px 0 22px;

	letter-spacing:-.03em;
}

.ts-title span{
	color:var(--saffron);
}

.ts-intro{
	font-size:18px;
	color:var(--muted);
}

.ts-grid{
	display:grid;

	grid-template-columns:repeat(2,1fr);

	gap:24px;

	margin-top:48px;
}

.ts-card{
	background:rgba(255,255,255,.80);

	border:1px solid var(--line);

	border-radius:18px;

	padding:32px;

	box-shadow:
		0 10px 30px rgba(22,75,150,.06);
}

.ts-card h3{
	color:var(--green);

	font-size:23px;

	margin:5px 0 12px;
}

.ts-card-num{
	color:var(--saffron);

	font-weight:900;

	font-size:13px;
}


/* =========================================================
   PILLARS
   ========================================================= */

.ts-pillars{
	display:grid;

	grid-template-columns:repeat(4,1fr);

	gap:18px;

	margin-top:48px;
}

.ts-pillar{
	background:var(--green);

	color:#fff;

	border-radius:18px;

	padding:30px;
}

.ts-pillar:nth-child(even){
	background:var(--green2);
}

.ts-pillar h3{
	font-size:21px;
}

.ts-pillar p{
	color:#eaf2ff;
}


/* =========================================================
   CTA
   ========================================================= */

.ts-cta{
	background:
		linear-gradient(
			120deg,
			var(--green),
			var(--green-deep)
		);

	color:#fff;
}

.ts-cta .ts-title,
.ts-cta .ts-eyebrow{
	color:#fff;
}

.ts-cta .ts-intro{
	color:#e3efff;
}


/* =========================================================
   FOOTER
   ========================================================= */

.ts-footer{
	background:var(--green-deep);

	color:#dbe9ff;

	padding:38px 0;
}

.ts-footer-inner{
	display:flex;

	justify-content:space-between;

	gap:20px;

	align-items:center;
}

.ts-footer img{
	width:52px;
}

.ts-footer-brand{
	display:flex;

	align-items:center;

	gap:12px;

	font-weight:900;
}


/* =========================================================
   REVEAL ANIMATIONS
   ========================================================= */

.ts-reveal-left,
.ts-reveal-right,
.ts-reveal-up{
	opacity:0;

	transition:.8s ease;
}

.ts-reveal-left{
	transform:translateX(-35px);
}

.ts-reveal-right{
	transform:translateX(35px);
}

.ts-reveal-up{
	transform:translateY(28px);
}

.ts-visible{
	opacity:1;
	transform:none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:900px){

	.ts-header{
		height:76px;
	}

	.ts-shell{
		width:min(100% - 28px,var(--max));
	}

	.ts-brand img{
		width:48px;
		height:48px;
	}

	.ts-brand-text strong{
		font-size:19px;
	}

	.ts-brand-text small{
		display:none;
	}

	.ts-menu{
		display:block;
	}

	.ts-nav{
		display:none;

		position:absolute;

		top:76px;
		left:0;
		right:0;

		background:var(--cream);

		padding:25px;

		flex-direction:column;

		border-bottom:1px solid var(--line);
	}

	.ts-nav.open{
		display:flex;
	}

	.ts-hero,
	.ts-hero-inner{
		min-height:auto;
	}

	.ts-hero-inner{
		display:flex;
		flex-direction:column;
	}

	.ts-visual{
		order:1;

		width:100%;
		height:390px;

		overflow:hidden;
	}

	.ts-visual img{
		width:100%;
		transform:none;
                 margin-top: -80px;
	}

	.ts-copy{
		order:2;

		padding:42px 28px 110px;

		width:100%;
	}

	.ts-hero h1{
		font-size:50px;
	}

	.ts-features{
		margin-top: 25px;
	}

	.ts-feature-grid{
		grid-template-columns:1fr 1fr;
	}

	.ts-feature:nth-child(2){
		border-right:0;
	}

	.ts-feature{
		border-bottom:1px solid var(--line);
	}

	.ts-feature:nth-child(3),
	.ts-feature:nth-child(4){
		border-bottom:0;
	}

	.ts-grid,
	.ts-pillars{
		grid-template-columns:1fr 1fr;
	}

	.ts-section{
		padding:75px 0;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:560px){

	.ts-brand-text strong{
		font-size:17px;
	}

	.ts-visual{
		height:315px;
	}

	.ts-visual img{
		width:100%;
                margin-top: -60px;

	}

	.ts-copy{
		padding-left:22px;
		padding-right:22px;
	}

	.ts-hero h1{
		font-size:43px;
	}

	.ts-lead{
		font-size:16px;
	}

	.ts-feature-grid,
	.ts-grid,
	.ts-pillars{
		grid-template-columns:1fr;
	}

	.ts-feature{
		border-right:0;

		border-bottom:1px solid var(--line)!important;
	}

	.ts-feature:last-child{
		border-bottom:0!important;
	}

	.ts-buttons{
		flex-direction:column;
	}

	.ts-btn{
		width:100%;
	}

	.ts-footer-inner{
		flex-direction:column;
		text-align:center;
	}

}


/* =========================================================
   NEDERLAND – HERO DESKTOP FINAL FIX
   ========================================================= */

@media (min-width:901px){

	.ts-hero{
		min-height:700px;
		overflow:hidden;
	}

	.ts-hero-inner{
		width:min(1500px,calc(100% - 80px));

		margin:0 auto;

		display:grid;
		grid-template-columns:46% 54%;

		align-items:center;

		min-height:700px;
	}

	.ts-hero .ts-reveal-left,
	.ts-hero .ts-reveal-right{
		opacity:1!important;

		transform:none!important;

		transition:none!important;
	}

	.ts-copy{
		width:100%!important;
		min-width:0!important;

		padding:65px 35px 65px 0!important;

		position:relative;

		z-index:3;
	}

	.ts-kicker{
		margin:0 0 14px;
	}

	.ts-hero h1{
		margin:0 0 28px;

		font-size:clamp(52px,4.25vw,74px);

		line-height:.94;

		letter-spacing:-.045em;

		width:100%;
		max-width:660px;
	}

	.ts-hero h1 span{
		display:block;

		color:var(--saffron);
	}

	.ts-lead{
		width:100%;

		max-width:530px;

		font-size:19px;

		line-height:1.55;
	}

	.ts-visual{
		width:100%;
		min-width:0;

		height:700px;

		display:flex;
		align-items:center;
		justify-content:center;

		position:relative;

		z-index:2;

		transform:none!important;
	}

	.ts-visual img{
		display:block;

		width:90%;
                margin-top: -150px;

		max-width:none;

		height:auto;

		transform:translateX(-2%)!important;

		filter:
			drop-shadow(
				0 30px 35px rgba(22,75,150,.14)
			);
	}

}


/* =========================================================
   POSTER POPUP
   ========================================================= */

.cz-popup-open{
	overflow:hidden;
}

.cz-poster-popup{
	position:fixed;

	inset:0;

	display:flex;

	align-items:center;
	justify-content:center;

	padding:25px;

	background:transparent;

	opacity:0;
	visibility:hidden;

	z-index:999999;

	transition:
		opacity .25s ease,
		visibility .25s ease;
}

.cz-poster-popup.is-active{
	opacity:1;
	visibility:visible;
}


/* =========================================================
   BACKDROP
   ========================================================= */

.cz-poster-backdrop{
	position:absolute;

	inset:0;

	background:rgba(5,24,52,.82);

	backdrop-filter:blur(5px);
	-webkit-backdrop-filter:blur(5px);
}


/* =========================================================
   POSTER WINDOW
   ========================================================= */

.cz-poster-window{
	position:relative;

	display:flex;

	align-items:center;
	justify-content:center;

	max-width:480px;

	max-height:90vh;

	z-index:2;

	animation:
		czPosterIn .35s ease both;
}

.cz-poster-window img{
	display:block;

	width:auto;

	max-width:100%;

	height:auto;

	max-height:90vh;

	border-radius:5px;

	box-shadow:
		0 30px 80px rgba(0,0,0,.45);
}


/* =========================================================
   CLOSE
   ========================================================= */

.cz-poster-close{
	position:absolute;

	top:-17px;
	right:-17px;

	width:44px;
	height:44px;

	display:flex;

	align-items:center;
	justify-content:center;

	padding:0;

	background:#fff;

	color:#172b45;

	border:0;

	border-radius:50%;

	font-size:29px;
	font-weight:400;

	line-height:1;

	cursor:pointer;

	box-shadow:
		0 5px 20px rgba(0,0,0,.25);

	z-index:5;

	transition:
		background .2s ease,
		color .2s ease;
}

.cz-poster-close:hover{
	background:var(--saffron);
	color:#fff;
}


/* =========================================================
   TIMER
   ========================================================= */

.cz-poster-timer{
	position:absolute;

	top:12px;
	left:12px;

	display:flex;

	align-items:center;
	justify-content:center;

	width:40px;
	height:40px;

	background:rgba(255,255,255,.96);

	color:var(--saffron);

	border:
		2px solid rgba(244,119,33,.25);

	border-radius:50%;

	font-size:17px;

	font-weight:900;

	box-shadow:
		0 4px 14px rgba(0,0,0,.18);

	z-index:4;
}


/* =========================================================
   ANIMATION
   ========================================================= */

@keyframes czPosterIn{

	from{
		opacity:0;
		transform:scale(.94);
	}

	to{
		opacity:1;
		transform:scale(1);
	}

}


/* =========================================================
   POPUP MOBILE
   ========================================================= */

@media(max-width:700px){

	.cz-poster-popup{
		padding:8px;
	}

	.cz-poster-backdrop{
		background:rgba(5,20,43,.92);
	}

	.cz-poster-window{
		width:100%;

		height:100dvh;

		max-width:none;

		max-height:100dvh;

		padding:6px;
	}

	.cz-poster-window img{
		width:auto;

		max-width:100%;

		height:auto;

		max-height:calc(100dvh - 12px);

		border-radius:0;
	}

	.cz-poster-close{
		position:fixed;

		top:12px;
		right:12px;
	}

	.cz-poster-timer{
		position:fixed;

		top:12px;
		left:12px;
	}

}


/* =========================================================
   NATIONAL TOKENIZATION STRIP
   ========================================================= */

.tok-country-strip{
	padding:44px 20px;

	background:
		linear-gradient(
			180deg,
			rgba(255,255,255,.94) 0%,
			rgba(245,248,253,.98) 100%
		);

	border-top:
		1px solid rgba(22,75,150,.07);

	border-bottom:
		1px solid rgba(22,75,150,.07);
}

.tok-country-strip-inner{
	width:min(1180px,100%);

	margin:0 auto;

	display:grid;

	grid-template-columns:repeat(4,1fr);

	align-items:center;

	gap:24px;
}

.tok-country-item{
	position:relative;

	display:flex;

	flex-direction:column;

	align-items:center;
	justify-content:center;

	min-height:190px;

	padding:20px 18px;

	text-align:center;
	text-decoration:none;

	border-radius:18px;

	transition:
		transform .25s ease,
		background .25s ease,
		box-shadow .25s ease;
}

.tok-country-item:hover{
	transform:translateY(-5px);

	background:#fff;

	box-shadow:
		0 16px 40px rgba(22,75,150,.09);
}

.tok-country-item + .tok-country-item::before{
	content:"";

	position:absolute;

	left:-12px;

	top:18%;
	bottom:18%;

	width:1px;

	background:rgba(22,75,150,.10);
}

.tok-country-item img{
	display:block;

	width:auto;

	height:118px;

	max-width:150px;

	object-fit:contain;

	margin:0 auto 15px;

	transition:
		transform .25s ease;
}

.tok-country-item:hover img{
	transform:scale(1.045);
}

.tok-country-item span{
	display:block;

	color:var(--green-deep);

	font-size:18px;

	font-weight:800;

	line-height:1.2;

	letter-spacing:-.01em;
}


/* =========================================================
   COUNTRY STRIP HEADING
   ========================================================= */

.tok-country-heading{
	grid-column:1 / -1;

	text-align:center;

	margin:0 0 25px;
}

.tok-country-heading span{
	display:block;

	margin-bottom:8px;

	font-size:14px;

	font-weight:900;

	letter-spacing:.12em;

	color:var(--saffron);
}

.tok-country-heading h2{
	margin:0;

	font-size:clamp(28px,3vw,44px);

	line-height:1.08;

	font-weight:800;

	letter-spacing:-.035em;

	color:var(--green-deep);
}


/* =========================================================
   COUNTRY STRIP TABLET
   ========================================================= */

@media(max-width:900px){

	.tok-country-strip-inner{
		grid-template-columns:repeat(2,1fr);

		max-width:700px;
	}

	.tok-country-item + .tok-country-item::before{
		display:none;
	}

	.tok-country-item:nth-child(3),
	.tok-country-item:nth-child(4){
		border-top:
			1px solid rgba(22,75,150,.08);
	}

}


/* =========================================================
   COUNTRY STRIP MOBILE
   ========================================================= */

@media(max-width:560px){

	.tok-country-strip{
		padding:30px 16px;
	}

	.tok-country-strip-inner{
		grid-template-columns:repeat(2,1fr);

		gap:10px;
	}

	.tok-country-item{
		min-height:150px;

		padding:15px 8px;
	}

	.tok-country-item img{
		height:88px;

		max-width:110px;

		margin-bottom:10px;
	}

	.tok-country-item span{
		font-size:14px;
	}

}

/* =========================================================
   NEDERLAND PROJECTEN – NLDTOK / NLDTOKEN
   ========================================================= */

.in-projects{
	padding:100px 0;
	background:
		linear-gradient(
			180deg,
			#ffffff 0%,
			#eef4fc 100%
		);
}

.in-projects-heading{
	max-width:850px;
	margin:0 auto 50px;
	text-align:center;
}

.in-projects-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:28px;
	max-width:1050px;
	margin:0 auto;
}

.in-project-card{
	position:relative;

	display:flex;
	flex-direction:column;
	align-items:center;

	padding:38px 38px 36px;

	background:#fff;

	border:1px solid rgba(22,75,150,.14);
	border-radius:24px;

	text-align:center;

	box-shadow:
		0 18px 50px rgba(22,75,150,.08);

	overflow:hidden;

	transition:
		transform .3s ease,
		box-shadow .3s ease,
		border-color .3s ease;
}

/* Nederlandse vlag bovenaan */

.in-project-card::before{
	content:"";

	position:absolute;
	top:0;
	left:0;
	right:0;

	height:6px;

	background:
		linear-gradient(
			90deg,
			#ae1c28 0 33.333%,
			#ffffff 33.333% 66.666%,
			#21468b 66.666% 100%
		);
}

.in-project-card:hover{
	transform:translateY(-7px);

	border-color:rgba(244,119,33,.35);

	box-shadow:
		0 28px 70px rgba(22,75,150,.14);
}


/* LOGO */

.in-project-logo{
	height:230px;

	display:flex;
	align-items:center;
	justify-content:center;

	margin-bottom:22px;
}

.in-project-logo img{
	display:block;

	width:auto;
	height:210px;
	max-width:100%;

	object-fit:contain;

	transition:transform .3s ease;
}

.in-project-card:hover .in-project-logo img{
	transform:scale(1.04);
}


/* TEXT */

.in-project-content h3{
	margin:0 0 2px;

	color:var(--green);

	font-size:32px;
	font-weight:900;

	letter-spacing:-.03em;
}

.in-project-domain{
	display:block;

	margin-bottom:18px;

	color:var(--saffron);

	font-size:18px;
	font-weight:900;

	letter-spacing:.04em;
}

.in-project-content p{
	max-width:400px;

	margin:0 auto 25px;

	color:var(--muted);

	font-size:16px;
	line-height:1.65;
}


/* BUTTON */

.in-project-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;

	min-width:190px;

	padding:13px 22px;

	background:var(--green);
	color:#fff;

	border-radius:7px;

	font-size:13px;
	font-weight:900;

	text-transform:uppercase;

	transition:background .2s ease;
}

.in-project-card:hover .in-project-button{
	background:var(--saffron);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:760px){

	.in-projects{
		padding:70px 0;
	}

	.in-projects-grid{
		grid-template-columns:1fr;
		max-width:500px;
	}

	.in-project-card{
		padding:32px 24px;
	}

	.in-project-logo{
		height:200px;
	}

	.in-project-logo img{
		height:185px;
	}

	.in-project-content h3{
		font-size:28px;
	}
}


/* ==========================================
   NEDERLAND – THREE FLYERS
========================================== */

.indtok-flyers {
    width: 100%;
    padding: 75px 24px;
    background: linear-gradient(
        145deg,
        #071b39 0%,
        #102f5c 50%,
        #071b39 100%
    );
}

.indtok-flyers-inner {
    max-width: 1440px;
    margin: 0 auto;
}

/* DESKTOP – 3 COLUMNS */

.indtok-flyers-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

/* FLYER CARD */

.indtok-flyer-card {
    min-width: 0;
    padding: 8px;
    border: 1px solid rgba(224, 184, 93, 0.28);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.indtok-flyer-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.4);
}

/* ORIGINAL A4 PROPORTIONS */

.indtok-flyer-card img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}

/* TABLET – 2 COLUMNS */

@media (max-width: 1024px) {

    .indtok-flyers-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .indtok-flyers {
        padding: 55px 20px;
    }
}

/* MOBILE – 1 COLUMN */

@media (max-width: 640px) {

    .indtok-flyers-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .indtok-flyers {
        padding: 40px 16px;
    }

    .indtok-flyer-card {
        max-width: 480px;
        width: 100%;
        margin: 0 auto;
    }
}

@media (prefers-reduced-motion: reduce) {

    .indtok-flyer-card {
        transition: none;
    }

    .indtok-flyer-card:hover {
        transform: none;
    }
}


/* ==========================================
   PROSPERIC CONCERN – HIGHLIGHT LINK
========================================== */

.ts-lead a[href*="prosperic.com"] {
    color: #c99532;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid #c99532;
    padding-bottom: 3px;
    transition:
        color 0.3s ease,
        border-color 0.3s ease;
}

.ts-lead a[href*="prosperic.com"]:hover {
    color: #164b96;
    border-bottom-color: #164b96;
}

.ts-lead a[href*="prosperic.com"]:focus-visible {
    outline: 2px solid #c99532;
    outline-offset: 4px;
}


/* ==========================================
   PROSPERIC – STRATEGIC PARTNER
========================================== */

.prosperic-partner {
    display: flex;
    align-items: center;
    gap: 22px;
    max-width: 610px;
    margin: 28px 0;
    padding: 20px 24px;
    background: #ffffff;
    border: 1px solid rgba(201, 149, 50, .45);
    border-left: 4px solid #c99532;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
    text-decoration: none;
    transition: transform .3s ease,
                box-shadow .3s ease;
}

.prosperic-partner:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 38px rgba(0,0,0,.12);
}

.prosperic-partner-logo {
    flex: 0 0 100px;
}

.prosperic-partner-logo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.prosperic-partner-content {
    flex: 1;
    min-width: 0;
}

.prosperic-partner-label {
    display: block;
    font-size: 11px;
    letter-spacing: 1.8px;
    font-weight: 700;
    color: #a67a28;
    margin-bottom: 7px;
}

.prosperic-partner-content strong {
    display: block;
    font-size: 21px;
    color: #173a6b;
    line-height: 1.25;
}

.prosperic-partner-content p {
    margin: 8px 0;
    font-size: 14px;
    line-height: 1.6;
    color: #52647d;
}

.prosperic-partner-link {
    color: #b48225;
    font-size: 13px;
    font-weight: 700;
}

.prosperic-partner:focus-visible {
    outline: 2px solid #c99532;
    outline-offset: 4px;
}

@media (max-width: 600px) {
    .prosperic-partner {
        gap: 14px;
        padding: 16px;
    }

    .prosperic-partner-logo {
        flex-basis: 75px;
    }

    .prosperic-partner-content strong {
        font-size: 17px;
    }
}




/* =========================================================
   NEDERLAND – FINAL ACCENTS
   ========================================================= */
.ts-header{border-top-color:#ae1c28;}
.ts-brand-text strong span{color:var(--saffron);}
.ts-hero h1 span,.ts-title span{color:var(--saffron);}
.ts-btn-primary:hover,.in-project-card:hover .in-project-button{background:#d65a0b;}
.ts-menu:focus-visible,.ts-nav a:focus-visible,.in-project-card:focus-visible{
    outline:2px solid var(--saffron);
    outline-offset:4px;
}
@media (max-width:900px){
    .ts-nav{max-height:calc(100dvh - 76px);overflow-y:auto;}
}

