/* ==========================================================================
   Claude Cursus — huisstijl (marineblauw, cyaan, blauw), overgenomen van de TPH-opzet
   Gebaseerd op het aangeleverde websiteontwerp.
   ========================================================================== */
:root{
  --navy:#062554; --navy2:#0b356f; --cyan:#08b7df; --blue:#1687ff;
  --cyan-dark:#06789a;            /* leesbare variant van cyaan voor kleine tekst op wit */
  --link:#0b63c9;
  --ink:#132033; --muted:#5a6b80; --light:#f4f8fb; --line:#dce5ee; --white:#fff;
  --radius:22px; --shadow:0 16px 50px rgba(6,37,84,.10);
  --error:#b3261e;
  /* oude variabelenamen (gebruikt in losse inline-stijlen) */
  --ink-soft:var(--muted); --parchment:var(--light); --parchment-line:var(--line); --paper:#fff;
  --brass:var(--cyan); --brass-text:var(--cyan-dark); --coral:var(--cyan); --coral-dark:var(--link); --teal:var(--navy2);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--link)}a:hover{color:var(--navy)}
img{max-width:100%}
h1,h2,h3{font-weight:800;letter-spacing:-.03em;margin:0;color:var(--navy);line-height:1.12}
.display{font-family:inherit;font-weight:800}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.wrap{width:min(1180px,92vw);margin:0 auto}
.narrow{max-width:780px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--navy);color:#fff;padding:8px 14px;z-index:99;border-radius:8px}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- knoppen ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:12px 22px;border-radius:999px;font:inherit;font-weight:800;font-size:15px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn--primary{background:var(--cyan);color:#022444;box-shadow:0 8px 24px rgba(8,183,223,.25)}
.btn--primary:hover{transform:translateY(-2px);color:#022444;background:#25c6ea}
.btn--line{border-color:#b8c8da;color:var(--navy);background:#fff}
.btn--line:hover{border-color:var(--navy);color:var(--navy)}
.btn--sm{min-height:38px;padding:8px 16px;font-size:13.5px}
.btn--danger{border-color:var(--error);color:var(--error);background:#fff}
.btn--danger:hover{background:var(--error);color:#fff}

/* ---------- koptekst ---------- */
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(220,229,238,.9)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--navy)}
.brand:hover{color:var(--navy)}
.nav{display:flex;align-items:center;gap:26px}
.nav a,.nav summary{white-space:nowrap}
.nav a:not(.btn),.nav summary{color:#334760;text-decoration:none;font-size:15px;font-weight:700;cursor:pointer;list-style:none}
.nav a:not(.btn):hover,.nav summary:hover{color:var(--cyan-dark)}
.nav summary::-webkit-details-marker{display:none}
.nav summary::after{content:"⌄";margin-left:6px;color:var(--cyan-dark);font-size:12px}
.nav details{position:relative}
.nav .menu{position:absolute;top:calc(100% + 14px);left:-16px;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:8px;z-index:20;display:flex;flex-direction:column}
.nav .menu a{padding:10px 14px;font-size:14.5px;border-radius:10px}
.nav .menu a:hover{background:var(--light)}
.nav__toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--navy)}
.nav__toggle span,.nav__toggle span::before,.nav__toggle span::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;content:"";position:relative}
.nav__toggle span::before{position:absolute;top:-6px}.nav__toggle span::after{position:absolute;top:6px}

/* ---------- gedeelde elementen ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-dark);margin:0 0 6px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--cyan);display:block}
.eyebrow::after{display:none}
.eyebrow--dark{color:#7fdcf2}
.section{padding:clamp(56px,8vw,88px) 0}
.section--tint{background:var(--light)}
.section-head{max-width:780px;margin-bottom:42px}
.section-head h2,.section>.wrap>h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.04em;margin:14px 0}
.section-head p{font-size:1.08rem;color:var(--muted);margin:0}
.section>.wrap>h2{max-width:780px;margin-bottom:34px}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(56px,8vw,92px) 0 clamp(48px,6vw,80px);background:radial-gradient(circle at 85% 10%,rgba(8,183,223,.17),transparent 27%),radial-gradient(circle at 75% 60%,rgba(22,135,255,.12),transparent 26%),linear-gradient(135deg,#fff 15%,#f7fbff 100%)}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;background-image:linear-gradient(rgba(6,37,84,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(6,37,84,.05) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
.hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,56px);align-items:center}
.hero h1{font-size:clamp(2.3rem,3.9vw,3.5rem);line-height:1.02;letter-spacing:-.05em;margin:18px 0 24px;overflow-wrap:break-word}
.hero h1 span{color:var(--cyan)}
.hero .lead{font-size:1.2rem;color:#4a5f78;max-width:720px;margin:0 0 30px}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.micro{font-size:.9rem;color:#5f7084;margin:14px 0 0}
.hero-side{display:grid;gap:18px}
.hero-photo{position:relative;margin:0;overflow:hidden;border-radius:30px;box-shadow:0 30px 80px rgba(6,37,84,.14)}
.hero-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.hero-photo figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);color:var(--navy);font-size:.8rem;font-weight:800;letter-spacing:.04em;padding:7px 13px;border-radius:999px}
.hero-card{position:relative;overflow:hidden;border-radius:30px;box-shadow:0 30px 80px rgba(6,37,84,.14);background:linear-gradient(155deg,var(--navy),#0c3b78 72%,#0f4a8d);color:#fff;padding:30px}
.hero-card h3{font-size:1.5rem;margin:0 0 18px;color:#fff;letter-spacing:-.02em}
.signal{display:grid;gap:12px}
.signal a{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:14px 16px;border-radius:16px;display:flex;gap:12px;align-items:flex-start;color:#fff;text-decoration:none;transition:background .2s ease,transform .2s ease}
.signal a:hover{background:rgba(255,255,255,.15);transform:translateX(3px);color:#fff}
.signal b{display:block}
.dot{width:11px;height:11px;border-radius:50%;background:var(--cyan);margin-top:7px;box-shadow:0 0 18px rgba(8,183,223,.9);flex:0 0 auto}

/* ---------- kaarten ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;text-decoration:none;color:inherit}
a.card:hover,.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#bdd8ea;color:inherit}
.card .num,.card__tag{font-size:.78rem;font-weight:900;color:var(--cyan-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px}
.card h3,.card__title{margin:12px 0 8px;color:var(--navy);font-size:1.25rem;font-weight:800}
.card p,.card__meta{margin:0;color:var(--muted)}
.card__go{display:inline-flex;gap:8px;margin-top:14px;font-weight:800;font-size:.92rem;color:var(--link)}
.card:hover .card__go{color:var(--navy)}

/* drie ingangen */
.entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.entry{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px 26px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.entry::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--cyan),var(--blue))}
.entry:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#bdd8ea;color:inherit}
.entry__nr{font-size:.78rem;font-weight:900;letter-spacing:.12em;color:var(--cyan-dark)}
.entry__title{font-size:1.3rem;margin:0}
.entry__text{margin:0;font-size:15px;line-height:1.6;color:var(--muted);flex:1}
.entry__go{margin-top:8px;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-weight:800;font-size:.95rem;color:var(--link);transition:gap .2s ease}
.entry:hover .entry__go{gap:14px;color:var(--navy)}

/* wat we doen */
.pillars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.pillar{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 18px;min-height:178px}
.pillar__icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--blue));display:grid;place-items:center;color:#fff;font-weight:900;margin-bottom:15px}
.pillar h3{color:var(--navy);margin:0 0 8px;font-size:1.1rem}
.pillar p{font-size:.95rem;color:var(--muted);margin:0}

/* hoe het werkt */
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:8px;list-style:none;padding:0}
.step{position:relative;padding:0 22px 0 0}
.step:not(:last-child)::after{content:"";position:absolute;top:24px;right:0;width:48px;height:1px;background:#b8c8da;transform:translateX(50%)}
.step__n{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900;margin-bottom:14px}
.step h3{font-size:1.05rem;color:var(--navy);margin:0 0 7px}
.step p{font-size:.93rem;color:var(--muted);margin:0}

/* programma's en cases */
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.case{border-radius:24px;padding:26px;background:#fff;border:1px solid var(--line);position:relative;overflow:hidden}
.case::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--cyan),var(--blue))}
.case small{display:block;font-weight:800;color:var(--cyan-dark);text-transform:uppercase;letter-spacing:.08em}
.case h3{color:var(--navy);font-size:1.25rem;margin:10px 0}
.case p{color:var(--muted);margin:0}

/* verhalen */
.story{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;margin:0}
.story__name{margin:0;font-size:1rem;font-weight:800;color:var(--navy)}
.story__role{margin:2px 0 12px;font-size:.9rem;color:var(--muted)}
.story__quote{margin:0;font-size:1rem;line-height:1.65;color:var(--ink)}

/* foto's */
.photo{display:block;width:100%;height:auto;border:0;border-radius:var(--radius);object-fit:cover;box-shadow:var(--shadow)}
.photo--band{aspect-ratio:1920/500;min-height:150px}
.photo-pair{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start}
.ph{background:repeating-linear-gradient(124deg,#e6eef6 0 13px,#eef4fa 13px 26px);border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:flex-end;padding:16px;position:relative;min-height:180px}
.ph__label{font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--muted);max-width:75%;line-height:1.5}

/* projecten */
.project{background:#fff;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.project:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.project__img{width:100%;aspect-ratio:16/10;min-height:0;object-fit:cover;border:0;border-radius:0;box-shadow:none}
.project__body{padding:22px 22px 26px}
.project__title{font-size:1.2rem;margin:0 0 10px}
.project__text{margin:0;font-size:.97rem;line-height:1.65;color:var(--muted)}

/* founders */
.founders{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.founder{border-radius:22px;background:linear-gradient(180deg,#f8fbfe,#fff);border:1px solid var(--line);overflow:hidden}
.founder__img{display:block;width:100%;aspect-ratio:4/3;min-height:0;object-fit:cover;margin:0;border:0;border-radius:0;box-shadow:none}
.avatar{aspect-ratio:4/3;background:radial-gradient(circle at 55% 28%,rgba(8,183,223,.34),transparent 17%),linear-gradient(145deg,#dfeaf4,#f8fbfd 65%);position:relative}
.avatar::after{content:"";position:absolute;left:50%;top:46%;width:76px;height:76px;border-radius:50%;background:rgba(6,37,84,.16);transform:translate(-50%,-50%);box-shadow:0 68px 0 32px rgba(6,37,84,.12)}
.founder__info{padding:18px}
.founder__name{margin:0 0 4px;font-size:1.1rem;font-weight:800;color:var(--navy)}
.founder__role{margin:0;color:var(--cyan-dark);font-size:.86rem;font-weight:800;letter-spacing:.02em}
.founder__bio{margin:8px 0 0;color:var(--muted);font-size:.92rem;line-height:1.55}

/* regionaal (donker) */
.region{background:linear-gradient(135deg,var(--navy),#0c3972);color:#fff}
.region h2{color:#fff}
.region .section-head p{color:rgba(255,255,255,.78)}
.region__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.region-box{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);border-radius:24px;padding:26px}
.region-box strong{display:block;font-size:1.5rem;margin-bottom:6px}
.region-box p{margin:0;opacity:.82}
.region__photos{display:grid;gap:14px}
.region__photos .photo{box-shadow:0 20px 50px rgba(0,0,0,.25)}

/* aanmeldformulier (cta) */
.cta{background:linear-gradient(140deg,#071f47,var(--navy2));border-radius:30px;color:#fff;padding:clamp(26px,5vw,48px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:36px;align-items:center}
.cta h2{color:#fff;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:6px 0 15px}
.cta p{opacity:.85;font-size:1.05rem}
.cta .form{background:#fff;border-radius:22px;padding:24px;color:var(--ink)}
.cta .form .btn{width:100%}

/* ---------- formulieren ---------- */
.form{display:grid;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field label,.field .label{display:block;font-weight:800;font-size:.85rem;margin-bottom:6px;color:#42556d}
.field .hint{font-size:13px;color:var(--muted);margin:0 0 6px}
.input,.textarea,.select{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #cad6e2;border-radius:12px;padding:12px 14px;min-height:46px}
.textarea{min-height:118px;resize:vertical}
.input:focus,.textarea:focus,.select:focus{outline:3px solid rgba(8,183,223,.35);outline-offset:0;border-color:var(--cyan-dark)}
.error{color:var(--error);font-size:13.5px;margin:6px 0 0}
.check,.field label.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:500;color:var(--ink);margin:0}
.check input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--navy)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.flash{background:#e8f6fb;border:1px solid #9ad6e8;color:#04586f;padding:12px 16px;margin-bottom:20px;font-size:14.5px;border-radius:12px}
.alert{background:#fdecea;border:1px solid #f0b4ae;color:var(--error);padding:12px 16px;margin-bottom:20px;font-size:14.5px;border-radius:12px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.page-head{padding:clamp(40px,6vw,72px) 0 8px}
.page-head h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.04em}
.page-head p{color:var(--muted);max-width:620px;margin:14px 0 0;font-size:1.08rem}

/* pitch */
.pitch-section{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:22px}
.pitch-section h2{font-size:1.4rem;margin-bottom:4px}
.pitch-nr{font-size:.78rem;font-weight:900;color:var(--cyan-dark);letter-spacing:.1em;text-transform:uppercase}
.pitch-answer{white-space:pre-line;margin:0 0 16px}
.pitch-q{font-weight:800;font-size:.9rem;margin:0 0 4px;color:#42556d}

/* tekstpagina's (markdown) */
.prose{line-height:1.75;font-size:1.05rem}
.prose h2{font-size:1.6rem;margin:34px 0 10px}.prose h3{font-size:1.2rem;margin:26px 0 8px}
.prose p,.prose ul,.prose ol{margin:0 0 16px}.prose ul,.prose ol{padding-left:22px}
.prose blockquote{margin:20px 0;padding:4px 0 4px 18px;border-left:4px solid var(--cyan);color:var(--muted)}
.prose img{height:auto;border-radius:16px}.prose hr{border:0;border-top:1px solid var(--line);margin:28px 0}

/* ---------- footer ---------- */
.site-footer{background:var(--light);border-top:1px solid var(--line);padding:56px 0 28px;color:#4d5f74}
.site-footer a{color:#334760}
.site-footer a:hover{color:var(--navy)}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:40px;padding-bottom:36px}
.footer-grid h4,.footer-news h4{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-dark);margin:0 0 14px;font-weight:800}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:.95rem}
.footer-tagline{margin:12px 0 0;font-weight:700;color:var(--navy)}
.footer-news{display:grid;grid-template-columns:1.4fr 1.6fr;gap:40px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:30px}
.footer-news p{margin:0;font-size:.95rem}
.footer-bottom{display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid var(--line);font-size:.88rem;color:#6f7f91;flex-wrap:wrap;gap:8px}

/* cookiemelding */
.cookiebar{position:fixed;left:20px;right:20px;bottom:20px;max-width:640px;background:var(--navy);color:#fff;padding:18px 22px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:0 16px 40px rgba(6,37,84,.35);z-index:50;border-radius:18px}
.cookiebar[hidden]{display:none}
.cookiebar p{margin:0;font-size:13.5px;flex:1;min-width:220px;color:rgba(255,255,255,.88)}
.cookiebar a{color:#fff}

/* ---------- logo ---------- */
.logo-img{display:block;height:auto;max-width:100%}
.site-header .logo-img{height:62px;width:auto}
.site-footer .logo-img{height:60px;width:auto}
.brand--login{display:block;width:max-content;max-width:100%;margin-bottom:22px}
.brand--login .logo-img{height:58px;width:auto}
.crm-side .brand--crm{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:24px}
.crm-side .brand--crm .logo-img{height:auto;width:100%;max-width:190px}
.brand__tag{font-size:11px;font-weight:800;letter-spacing:.14em;color:#7fdcf2}

/* ==========================================================================
   CRM
   ========================================================================== */
.crm{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:var(--light)}
.crm-side{background:linear-gradient(180deg,var(--navy),#0a2e63);color:#fff;padding:24px 16px;display:flex;flex-direction:column;gap:4px}
.crm-side a.nav-i{color:rgba(255,255,255,.86);text-decoration:none;padding:10px 12px;font-size:14.5px;font-weight:700;border-radius:10px;border-left:3px solid transparent}
.crm-side a.nav-i:hover{background:rgba(255,255,255,.09);color:#fff}
.crm-side a.nav-i[aria-current=page]{border-left-color:var(--cyan);background:rgba(255,255,255,.13);color:#fff}
.crm-side .who{margin-top:auto;font-size:13px;color:rgba(255,255,255,.72);padding:12px}
.crm-side .linkbtn{background:none;border:0;color:rgba(255,255,255,.9);text-decoration:underline;font:inherit;cursor:pointer;padding:0}
.crm-main{padding:clamp(20px,3vw,40px);min-width:0}
.crm-main h1{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:22px;letter-spacing:-.03em}
.crm-main h2{font-size:1.2rem;margin-bottom:14px}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:22px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin-bottom:26px}
.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}
.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow);color:inherit}
.stat b{display:block;font-size:2rem;line-height:1.1;color:var(--navy);font-weight:800}
.stat span{font-size:13px;color:var(--muted)}
.table-wrap{overflow-x:auto}
table.table{width:100%;border-collapse:collapse;font-size:14.5px}
.table th{text-align:left;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 12px;border-bottom:2px solid var(--line)}
.table td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.table tr:hover td{background:#f9fcfe}
.badge{display:inline-block;font-size:12px;font-weight:800;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted)}
.badge--nieuw{border-color:#8fd9ee;background:#e8f8fd;color:#05627f}
.badge--begeleiding,.badge--ingediend{border-color:#b6e0c4;background:#eaf7ef;color:#1b6b3a}
.badge--afgesloten{color:var(--muted)}
.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:20px}
.filters .field{min-width:150px}
.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:22px;align-items:start}
.dl{display:grid;grid-template-columns:140px 1fr;gap:8px 16px;margin:0;font-size:14.5px}
.dl dt{color:var(--muted)}.dl dd{margin:0;overflow-wrap:anywhere}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{padding:14px 0;border-bottom:1px solid var(--line)}
.timeline .meta{font-size:12.5px;color:var(--muted)}
.inline-form{display:inline}
.pager{margin-top:20px}
.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 85% 10%,rgba(8,183,223,.17),transparent 30%),var(--light)}
.login .panel{width:100%;max-width:440px;border-radius:24px;padding:30px;box-shadow:var(--shadow)}
.qr{width:200px;height:200px;background:#fff;padding:8px;border:1px solid var(--line);border-radius:12px}
.subtabs{display:flex;gap:6px 18px;flex-wrap:wrap;margin:-8px 0 24px;border-bottom:1px solid var(--line);padding-bottom:10px}
.subtabs a{color:var(--muted);text-decoration:none;font-weight:700;font-size:14.5px;padding:4px 0}
.subtabs a:hover{color:var(--navy)}
.subtabs a[aria-current=page]{color:var(--navy);box-shadow:inset 0 -3px 0 var(--cyan)}
.subtabs__ext{margin-left:auto}
.subtabs--pills{border:0;margin:-6px 0 18px;padding:0}
.subtabs--pills a{padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:#fff}
.subtabs--pills a[aria-current=page]{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:none}

/* ---------- responsive ---------- */
@media (max-width:1440px){.nav{gap:16px}.nav a:not(.btn),.nav summary{font-size:14px}.nav .btn{padding:8px 14px}}
@media (max-width:1240px){
  .nav__toggle{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:2px;padding:12px 4vw 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav.is-open{display:flex}
  .nav a:not(.btn),.nav summary{padding:12px 6px;font-size:16px;border-bottom:1px solid var(--line)}
  .nav .menu{position:static;box-shadow:none;border:0;padding:0 0 6px 14px;min-width:0}
  .nav .btn{margin-top:10px}
  .site-header .logo-img{height:48px}
}
@media (max-width:980px){
  .hero__grid,.region__grid,.cta,.split,.grid-2,.footer-news{grid-template-columns:1fr}
  .cards,.entries,.cases{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow{grid-template-columns:1fr;gap:22px}.step::after{display:none}
  .founders{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-pair{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .crm{grid-template-columns:1fr}
  .crm-side{flex-direction:row;flex-wrap:wrap;align-items:center;padding:14px}
  .crm-side .brand--crm{flex-direction:row;align-items:center;margin:0 12px 0 0}
  .crm-side .brand--crm .logo-img{width:auto;height:34px;max-width:none}
  .crm-side .who{margin:0;padding:0}
  .dl{grid-template-columns:1fr}
}
@media (max-width:640px){
  .site-header .wrap{min-height:76px}
  .cards,.entries,.cases,.pillars,.founders,.form-row,.footer-grid{grid-template-columns:1fr}
  .hero h1{font-size:clamp(2rem,9vw,2.6rem)}
  .footer-bottom{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* strook onderaan losse pagina's */
.cta--strip{grid-template-columns:minmax(0,1fr) auto;padding:clamp(24px,4vw,38px) clamp(24px,5vw,48px)}
.cta--strip h2{font-size:clamp(1.4rem,2.6vw,2rem);margin:0 0 6px}
.cta--strip p{margin:0;font-size:1rem}
@media (max-width:980px){.cta--strip{grid-template-columns:1fr}}

.cookiebar__actions{display:flex;gap:10px;flex-wrap:wrap}
.cookiebar .btn--line{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.cookiebar .btn--line:hover{border-color:#fff;color:#fff}
.linklike{background:none;border:0;padding:0;font:inherit;color:#334760;text-decoration:underline;cursor:pointer}
.linklike:hover{color:var(--navy)}

/* foutpagina's */
.error-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px;background:radial-gradient(circle at 85% 10%,rgba(8,183,223,.17),transparent 30%),var(--light)}
.error-page .brand{margin-bottom:26px}
.error-page__code{margin:0;font-size:clamp(4rem,14vw,8rem);font-weight:800;line-height:1;letter-spacing:-.06em;background:linear-gradient(135deg,var(--cyan),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.error-page h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:10px 0 12px}
.error-page__text{max-width:520px;color:var(--muted);font-size:1.08rem;margin:0 0 26px}
.error-page__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

/* zoeken */
.nav a.nav__search{display:inline-flex;align-items:center;gap:8px}
.nav__search span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.searchbox{display:flex;gap:10px;flex-wrap:wrap}
.searchbox .input{flex:1;min-width:220px}
.search-note{margin:18px 0 0;color:var(--muted)}
.search-group{margin-top:34px}
.search-group h2{font-size:1.25rem;margin:0 0 6px;padding-bottom:8px;border-bottom:2px solid var(--line)}
.search-results{list-style:none;margin:0;padding:0}
.search-results li{padding:16px 0;border-bottom:1px solid var(--line)}
.search-results__title{font-weight:800;font-size:1.08rem;color:var(--navy);text-decoration:none}
.search-results__title:hover{text-decoration:underline;color:var(--link)}
.search-results__meta{display:block;font-size:.85rem;color:var(--cyan-dark);font-weight:700;margin-top:2px}
.search-results p{margin:6px 0 0;color:var(--muted)}
.search-results mark{background:#d8f3fb;color:var(--navy);border-radius:3px;padding:0 2px}
.search-empty{margin-top:22px;color:var(--muted)}
@media (max-width:1240px){.nav__search span{position:static;width:auto;height:auto;clip:auto;overflow:visible}}

/* CRM dashboard: bars and attention panel */
.panel--alert{border-color:#f0c36d;background:#fffaf0}
.panel .meta{color:var(--muted);font-size:13px}
.bars{display:flex;align-items:flex-end;gap:10px;height:160px;padding-top:8px}
.bars__col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.bars__col i{display:block;width:100%;max-width:44px;background:var(--cyan);border-radius:6px 6px 0 0;min-height:3px}
.bars__n{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:4px}
.bars__l{font-size:12px;color:var(--muted);margin-top:6px;text-transform:capitalize}
.hbar{position:relative;display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:6px 8px;margin-bottom:4px;border-radius:8px;overflow:hidden;background:#f3f6fa}
.hbar span,.hbar b{position:relative;z-index:1}
.hbar i{position:absolute;left:0;top:0;bottom:0;background:rgba(26,184,214,.25)}
.compare th,.compare td{text-align:center}.compare th:first-child,.compare td:first-child{text-align:left}
.compare__diff{background:#fffaf0}
.review-note{border-top:1px solid var(--line);padding:12px 0}

/* ==========================================================================
   Claude Cursus — aanvullingen op de TPH-opzet
   ========================================================================== */
/* woordmerk */
.cc-logo{display:inline-flex;align-items:center;gap:calc(var(--logo-h) * .26);text-decoration:none}
.cc-logo__mark{width:var(--logo-h);height:var(--logo-h);border-radius:calc(var(--logo-h) * .3);background:linear-gradient(135deg,var(--cyan),var(--blue));display:grid;place-items:center;color:#fff;font-weight:900;font-size:calc(var(--logo-h) * .38);letter-spacing:-.04em;box-shadow:0 6px 18px rgba(22,135,255,.28);flex:none}
.cc-logo__text{display:flex;flex-direction:column;line-height:1.05}
.cc-logo__text b{font-size:calc(var(--logo-h) * .45);letter-spacing:-.03em;color:var(--navy);font-weight:800}
.cc-logo__text small{font-size:calc(var(--logo-h) * .2);font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--cyan-dark);margin-top:3px}
.cc-logo--light .cc-logo__text b{color:var(--navy)}
.crm-side .cc-logo__text b{color:#fff}
.crm-side .cc-logo__text small{color:#7fdcf2}
.brand--login{margin-bottom:22px}

/* prijs */
.price-card{position:relative;overflow:hidden;border-radius:30px;box-shadow:0 30px 80px rgba(6,37,84,.14);background:#fff;border:1px solid var(--line);padding:28px}
.price-card small{display:block;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--cyan-dark);margin-bottom:10px;font-size:.78rem}
.price-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.price-old{font-size:1.5rem;color:#8a98aa;text-decoration:line-through;font-weight:700}
.price-new{font-size:clamp(2.8rem,6vw,4rem);font-weight:900;letter-spacing:-.05em;color:var(--navy);line-height:1}
.price-tag{display:inline-block;background:rgba(8,183,223,.14);color:var(--cyan-dark);font-weight:900;font-size:.8rem;padding:6px 10px;border-radius:999px}
.price-card p{margin:14px 0 0;color:var(--muted);font-size:.95rem}
.hero-card .signal div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:14px 16px;border-radius:16px;display:flex;gap:12px;align-items:flex-start}
.hero-card .signal span:last-child{color:rgba(255,255,255,.85)}
.hero-card .signal b{color:#fff}

/* programma per week */
.weeks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.week{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 22px;display:flex;flex-direction:column;gap:10px}
.week__wk{font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-dark)}
.week h3{margin:0;font-size:1.15rem}
.week ul{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.95rem;display:grid;gap:4px}

/* begeleiding */
.formats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.format{border-radius:24px;padding:30px;background:#fff;border:1px solid var(--line);display:grid;gap:14px}
.format__hours{display:flex;align-items:baseline;gap:10px;color:var(--navy)}
.format__hours strong{font-size:3.2rem;font-weight:900;letter-spacing:-.05em;line-height:1}
.format__hours span{font-weight:800;color:var(--muted)}
.format h3{font-size:1.3rem}
.format p{margin:0;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{border:1px solid #b8c8da;border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:700;color:var(--navy)}

/* Mac mini specificaties */
.spec{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:28px}
.spec small{display:block;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#7fdcf2;margin-bottom:16px;font-size:.78rem}
.spec dl{margin:0}
.spec dl div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:13px 0;border-top:1px solid rgba(255,255,255,.12)}
.spec dl div:first-child{border-top:0}
.spec dt{font-weight:800;color:#fff}
.spec dd{margin:0;color:rgba(255,255,255,.82)}
.spec .btn{margin-top:20px}

/* agenda met startdata */
.dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.date{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:18px;padding:18px 20px;background:#fff;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
a.date:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#bdd8ea;color:inherit}
.date__day{font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-dark)}
.date__date{font-size:1.35rem;font-weight:800;color:var(--navy);letter-spacing:-.02em}
.date__seats{display:flex;align-items:center;gap:8px;font-size:.92rem;color:var(--muted)}
.seatbar{display:inline-flex;gap:4px}
.seatbar i{width:12px;height:12px;border-radius:4px;background:var(--cyan);display:block}
.seatbar i.is-taken{background:#d4dfea}
.date__go{margin-top:6px;font-weight:800;font-size:.92rem;color:var(--link)}
.date--full{background:var(--light);opacity:.75}
.date--full .date__go{color:var(--muted)}
.month{margin:0 0 14px;font-size:1.15rem;text-transform:capitalize}
.month + .dates{margin-bottom:34px}

/* boekingsformulier en status */
.book{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:28px;align-items:start}
.summary{position:sticky;top:110px;background:linear-gradient(155deg,var(--navy),#0c3b78 72%,#0f4a8d);color:#fff;border-radius:24px;padding:26px}
.summary h2{color:#fff;font-size:1.4rem;margin:0 0 16px}
.summary dl{margin:0;display:grid;gap:12px}
.summary dt{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7fdcf2}
.summary dd{margin:2px 0 0;font-weight:700}
.summary .total{font-size:2rem;font-weight:900;letter-spacing:-.04em}
.status{max-width:720px}
.status__icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:1.6rem;color:#fff;margin-bottom:16px}
.status__icon--ok{background:#0d8a5f}
.status__icon--wait{background:var(--cyan)}
.status__icon--fail{background:var(--error)}

/* veelgestelde vragen */
.faq{display:grid;gap:12px;max-width:860px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 22px}
.faq summary{cursor:pointer;font-weight:800;color:var(--navy);font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--cyan-dark);font-weight:900;font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 0;color:var(--muted)}
.prose-terms{white-space:pre-line;max-width:780px;color:var(--ink);line-height:1.7}

/* beheeromgeving */
.badge--open{border-color:#8fd9ee;background:#e8f8fd;color:#05627f}
.badge--paid{border-color:#b6e0c4;background:#eaf7ef;color:#1b6b3a}
.badge--failed{border-color:#f0b4ae;background:#fdecea;color:var(--error)}
.badge--cancelled{color:var(--muted);background:var(--light)}
.badge--test{border-color:#f0c36d;background:#fffaf0;color:#8a5a00}
.fill{display:inline-block;width:90px;height:8px;border-radius:999px;background:#e3ebf3;overflow:hidden;vertical-align:middle;margin-right:8px}
.fill i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue))}
.actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.actions .panel{margin:0}
.actions h3{font-size:1.05rem;margin:0 0 10px}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.muted{color:var(--muted)}
.settings-group h2{margin-bottom:14px}

@media(max-width:980px){
  .weeks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .book{grid-template-columns:1fr}
  .summary{position:static}
}
@media(max-width:640px){
  .weeks,.formats{grid-template-columns:1fr}
  .spec dl div{grid-template-columns:1fr;gap:2px}
  .cc-logo__text small{display:none}
}

/* voorwaarden en privacy */
.terms-toc{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 10px}
.terms-toc a{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:700;font-size:.92rem;text-decoration:none;color:var(--navy)}
.terms-part{font-size:clamp(1.5rem,3vw,2.1rem);margin:48px 0 6px;padding-top:22px;border-top:2px solid var(--navy)}
.terms-article{margin:0 0 22px}
.terms-article h3{font-size:1.08rem;margin:0 0 8px}
.terms-article ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.terms-article li{display:grid;grid-template-columns:44px 1fr;gap:8px;line-height:1.65}
.terms-nr{font-weight:800;color:var(--cyan-dark);font-variant-numeric:tabular-nums}
.privacy h2{font-size:1.35rem;margin:34px 0 10px}
.privacy h3{font-size:1.05rem;margin:20px 0 6px}
.privacy table{width:100%;border-collapse:collapse;font-size:.95rem;margin:10px 0}
.privacy th,.privacy td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid var(--line)}
.privacy th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* WhatsApp-knop */
.wa{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#08331b;font-weight:800;text-decoration:none;padding:12px 18px 12px 14px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.wa:hover{color:#08331b;transform:translateY(-2px)}
.wa svg{width:22px;height:22px}
@media(max-width:640px){.wa span{display:none}.wa{padding:12px}}

/* digitale handtekening */
.sigpad{position:relative;border:1.5px dashed #b8c8da;border-radius:14px;background:#fff;touch-action:none}
.sigpad canvas{display:block;width:100%;height:180px;cursor:crosshair}
.sigpad::after{content:"";position:absolute;left:18px;right:18px;bottom:44px;border-bottom:1px solid #dce5ee;pointer-events:none}
.sigpad__clear{position:absolute;right:12px;top:10px;font-size:.85rem}

/* Claude-scan */
.scan-questions{margin:0;padding:0;list-style:none;counter-reset:q;display:grid;gap:14px}
.scan-q{counter-increment:q;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px}
.scan-q fieldset{border:0;margin:0;padding:0;display:grid;gap:8px}
.scan-q legend{font-weight:800;color:var(--navy);margin-bottom:8px;font-size:1.02rem}
.scan-q legend::before{content:counter(q) ". ";color:var(--cyan-dark)}
.scan-level{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.scan-level__score{width:110px;height:110px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;align-content:center;font-variant-numeric:tabular-nums}
.scan-level__score strong{font-size:2.4rem;line-height:1}
.scan-level__score span{font-size:.85rem;opacity:.7}
.scan-level h3{font-size:1.8rem;margin:2px 0 8px}
.scan-bar{height:8px;border-radius:999px;background:#e3ebf3;overflow:hidden;margin-bottom:10px}
.scan-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue))}
.scan-tips{margin:0;padding-left:1.2rem;display:grid;gap:6px}
.task{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}
.task:first-of-type{border-top:0}
@media(max-width:640px){.scan-level{grid-template-columns:1fr}}
