
:root{--navy:#092b92;--blue:#00a9d9;--orange:#ff571e;--cream:#fffaf0;--ink:#16305d}*{box-sizing:border-box}body{margin:0;font:16px/1.55 Arial,sans-serif;color:var(--ink);background:var(--cream)}header{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 2px 14px #16305d14}nav{max-width:1200px;margin:auto;min-height:78px;display:flex;align-items:center;gap:22px;padding:10px 24px;flex-wrap:wrap}nav img{width:172px;max-height:58px;object-fit:contain;margin-right:auto}nav a{font-size:14px;color:var(--navy);text-decoration:none;font-weight:700}a,button{cursor:pointer}.btn{display:inline-block;border:0;border-radius:30px;background:var(--orange);color:#fff!important;padding:13px 23px;font-weight:800;text-decoration:none;box-shadow:0 5px 10px #ff571e20}.btn.secondary{background:#fff;color:var(--navy)!important;border:2px solid var(--navy);box-shadow:none}.wrap{max-width:1200px;margin:auto;padding:0 24px}.page{display:none}.page.active{display:block}.hero{background:linear-gradient(125deg,#fffaf0,#e5f7ff);padding:46px 0 20px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}.eyebrow{text-transform:uppercase;color:var(--navy);font-size:12px;letter-spacing:2px;font-weight:900}h1{font-size:clamp(36px,4.6vw,62px);line-height:1.07;color:var(--navy);margin:15px 0 22px;letter-spacing:-2px}h1 em{font-style:normal;color:var(--blue)}h2{color:var(--navy);font-size:clamp(26px,3vw,38px);line-height:1.15;margin:8px 0 18px}h3{color:var(--navy);margin:12px 0 8px;font-size:23px;line-height:1.18}p{margin:0 0 15px}.hero-photo{position:relative;margin:auto;width:min(100%,430px);aspect-ratio:1;border-radius:50%;background:#cceffa;border:14px solid #bdefff;overflow:hidden;box-shadow:0 12px 40px #12345b25}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) sepia(10%)}.sticker{position:absolute;right:0;bottom:6%;transform:rotate(-9deg);background:#fff0ba;padding:15px 20px;color:#08639d;font-size:25px;font-weight:900;line-height:1.05;box-shadow:0 8px 14px #0002}.features{display:flex;flex-wrap:wrap;gap:16px;margin:22px 0}.features span{font-weight:800;color:var(--navy);background:#e4f7fd;padding:9px 14px;border-radius:40px;font-size:14px}.section{padding:46px 0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.sector,.course,.review,.info{background:#fff;border-radius:19px;overflow:hidden;box-shadow:0 4px 24px #0a2e7512;border:1px solid #e2edf2}.sector{transition:transform .2s}.sector:hover{transform:translateY(-4px)}.sector .photo{height:185px;background-size:cover;background-position:center}.sector .inner,.course .inner{padding:20px}.sector p{min-height:62px}.sector a{font-weight:900;color:var(--navy);text-decoration:none}.tag{background:var(--orange);color:#fff;padding:7px 13px;border-radius:20px;font-weight:800;font-size:13px;display:inline-block}.course{display:flex;flex-direction:column}.course .photo{height:145px;background-size:cover;background-position:center}.course .inner{display:flex;flex-direction:column;flex:1}.course .inner p{flex:1}.course .btn{align-self:flex-start}.light{background:#eaf8fd}.crumb{color:#60748c;font-size:14px;margin-bottom:20px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.step{background:#fff;border-radius:15px;padding:16px;font-size:14px}.step strong{display:block;color:var(--navy);font-size:16px}.step b{display:inline-grid;place-items:center;background:var(--blue);color:white;border-radius:50%;width:30px;height:30px;margin-bottom:9px}.review{padding:22px;min-height:130px;border-left:4px solid var(--blue)}.muted{color:#60748c;font-size:14px}.detail{max-width:850px}.detail ul{padding-left:22px}.detail li{margin-bottom:8px}.notice{background:#e6f7fd;border-left:5px solid var(--blue);padding:19px;border-radius:12px;margin:20px 0}.trainer{display:flex;align-items:center;gap:25px;background:#fff2db;padding:24px;border-radius:22px}.trainer img{width:150px;height:150px;object-fit:cover;border-radius:50%}.form{max-width:800px;background:white;border-radius:20px;padding:30px;box-shadow:0 5px 20px #0001}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:14px}.field input,.field select,.field textarea{font:inherit;padding:11px;border:1px solid #b9cddd;border-radius:9px;background:#fff;color:#15315d}.field.wide{grid-column:1/-1}.form small{color:#677}.form button{margin-top:18px}.hidden{display:none!important}footer{background:#082a7b;color:white;padding:30px 0;margin-top:40px}footer a{color:white}@media(max-width:800px){nav{gap:12px}nav img{width:130px}.hero-grid,.grid3{grid-template-columns:1fr}.hero-photo{width:min(82%,360px)}.steps{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}.trainer{flex-direction:column;align-items:flex-start}h1{letter-spacing:-1px}}@media(max-width:470px){.steps{grid-template-columns:1fr}}

.hero-photo{width:min(100%,455px);border:12px solid #bcecf6;box-shadow:0 0 0 11px #e4f8fc,0 18px 42px #12345b22;overflow:visible;background:#e4f8fc}.hero-photo img{border-radius:50%;filter:grayscale(100%) sepia(5%);object-position:42% 50%;display:block}.hero-photo:after{content:'';position:absolute;inset:-17px;border:2px solid #7dd9ec;border-radius:50%;pointer-events:none}.sticker{right:-10px;bottom:4%;z-index:2}.course .photo{height:165px}.section:has(#sectorCourses) .course:nth-child(2){background:#f5fbfe}.section:has(#sectorCourses) .course:nth-child(3){background:#fff8f4}.form h3{grid-column:1/-1;margin-top:20px}.form .subhead{grid-column:1/-1;background:#eaf8fd;padding:12px;border-radius:10px;color:#092b92}.contact-cards{display:flex;gap:16px;flex-wrap:wrap;margin:22px 0}.contact-cards a{background:#eaf8fd;border-radius:14px;padding:20px;color:#092b92;text-decoration:none;font-weight:bold}.add-participant{margin-top:10px}.participant{border:1px solid #d5e7f0;border-radius:12px;padding:16px;margin:12px 0;background:#fbfdff}.participant .fields{margin-top:8px}.folder-form{margin-top:20px}


/* V12: native responsive typography and working navigation, not a screenshot */
body{background:#fffaf4;color:#082b8f}header{box-shadow:none;border-bottom:1px solid #f5f1eb}nav{max-width:1330px;min-height:74px}nav img{width:210px;max-height:66px}nav a{font-weight:500}nav a:hover{color:#00b9d6}
.newhero{background:radial-gradient(circle at 91% 26%,#d7f7ff 0,#f7fcff 31%,transparent 54%),linear-gradient(120deg,#fffaf2,#fff);padding:44px 0 26px}
.newhero .wrap,.newsectors .wrap{max-width:1330px}
.newhero-grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:44px}
.newhero-copy{padding:0 0 8px}.newhero h1{font-size:clamp(34px,3.4vw,49px);line-height:1.12;letter-spacing:-1.4px;margin:14px 0 20px}.newhero p{font-size:clamp(15px,1.35vw,18px);line-height:1.52;max-width:610px;color:#153f9c;margin-bottom:22px}
.newhero .eyebrow,.newsectors .eyebrow{letter-spacing:3px;font-size:11px;color:#00349c}
.qualities{display:flex;justify-content:space-between;gap:12px;max-width:565px;margin:12px 0 23px}.qualities span{font-size:13px;text-align:center;font-weight:800;color:#092b92}.qualities b{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e0f8ff;color:#0036a4;font-size:29px;margin:0 auto 8px;font-weight:500}
.newhero .btn{font-size:16px;padding:13px 25px;box-shadow:none}.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}.hero-visual img{display:block;width:141.6%;max-width:none;height:auto;max-height:none;object-fit:contain}
.newsectors{background:#fffdf9;border-radius:36px 36px 0 0;padding:24px 0 48px}.newsectors h2{font-size:clamp(30px,3.1vw,43px);letter-spacing:-1.3px;margin:4px 0 20px}.sectorchoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.choice{display:block;position:relative;border-radius:26px;overflow:hidden;text-decoration:none;color:#082b8f;background:#e8f8ff;transition:transform .2s;box-shadow:none}.choice:hover{transform:translateY(-4px)}.choice>img{display:block;width:100%;height:164px;object-fit:cover;object-position:center top}.choicebody{min-height:157px;position:relative;background:#e6f7fd;padding:20px 28px 25px}.choicebody:before{content:'';position:absolute;left:-6%;top:-30px;width:112%;height:50px;background:#e6f7fd;border-radius:48% 52% 0 0/80% 80% 0 0}.choicebody>*{position:relative}.choicebody h3{font-size:25px;margin:0 0 8px}.choicebody p{font-size:16px;line-height:1.4;margin:0;max-width:85%;color:#0b36a2}.choice-icon{position:absolute;top:-51px;left:24px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#d7f4ff;color:#0062d8;font-size:30px}.arrow{position:absolute;right:22px;bottom:27px;border-radius:50%;background:#bdefff;width:44px;height:44px;display:grid;place-items:center;font-size:25px}.choice.care,.choice.care .choicebody,.choice.care .choicebody:before{background:#fff0f2}.choice.care .choice-icon{background:#ffe1e7;color:#ed5570}
@media(max-width:900px){.newhero-grid{grid-template-columns:1fr 1fr;gap:16px}.newhero h1{font-size:34px}.qualities b{width:44px;height:44px}.sectorchoices{gap:12px}.choicebody{padding:20px 16px}.choicebody h3{font-size:21px}.choicebody p{font-size:14px}}
@media(max-width:700px){.hero-visual img{width:100%;max-width:100%}.newhero-grid,.sectorchoices{grid-template-columns:1fr}.newhero{padding:26px 0}.newhero h1{font-size:clamp(31px,8vw,43px)}.hero-visual{max-width:530px;margin:auto}.qualities{gap:6px}.qualities span{font-size:11px}.newsectors{padding-top:24px}.choice>img{height:205px}.choicebody{min-height:135px}}
#aanmelden .panel,#aanmelden .formbox,#aanmelden form{min-width:0}#aanmelden .panel{padding:clamp(22px,3vw,42px)}#aanmelden .formbox{padding:clamp(20px,2.8vw,38px)}@media(min-width:1000px){#aanmelden .wrap{max-width:1240px}} 


/* Explicitly reserve enough room for the registration form and its fields */
#aanmelden .form{max-width:1120px;width:100%;padding:clamp(24px,4vw,56px);margin:22px auto 0;overflow:visible}
#aanmelden .fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#aanmelden .field{min-width:0}
#aanmelden .field input,#aanmelden .field select,#aanmelden .field textarea{width:100%;max-width:100%}
#aanmelden .participant{padding:22px;margin:15px 0}
#aanmelden .participant .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
/* icons do not collide with photographs or card headings */
.choice{isolation:isolate}.choicebody{padding-top:36px;min-height:185px}
.choicebody:before{top:-21px;height:36px}
.choice-icon{top:-35px;left:22px;z-index:2;width:58px;height:58px;border:5px solid #fff;line-height:1}
.choicebody h3{margin-top:8px}
@media(max-width:700px){#aanmelden .fields,#aanmelden .participant .fields{grid-template-columns:1fr}}



/* Keep consent boxes inline with their text; override general full-width form inputs. */
#aanmelden label.field:has(input[type="checkbox"]),
#folder label.field:has(input[type="checkbox"]){display:block}
#aanmelden label.field input[type="checkbox"],
#folder label.field input[type="checkbox"]{
  width:18px!important;height:18px!important;min-width:18px;max-width:18px!important;
  padding:0!important;margin:0!important;flex:none;vertical-align:middle;
  accent-color:#0639b6;cursor:pointer;
}
#aanmelden label.field:has(input[type="checkbox"])>span,
#folder label.field:has(input[type="checkbox"])>span{
  display:flex;align-items:center;gap:10px;line-height:1.5;
}


/* Complete cards are keyboard-accessible links, with the original hover effect. */
a.sector-link,a.course-link{display:block;text-decoration:none;color:inherit;cursor:pointer}
a.sector-link:focus-visible,a.course-link:focus-visible{outline:3px solid #06b9e9;outline-offset:4px}
a.sector-link .sector-cta{font-weight:900;color:var(--navy)}
a.course-link{display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
a.course-link:hover{transform:translateY(-4px);box-shadow:0 14px 28px #12345b22}
a.course-link .btn{display:inline-block}



.mobile-menu-toggle{display:none}.mobile-nav-links{display:contents}
@media(max-width:760px){
nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 18px;min-height:68px}
.mobile-nav-links{display:flex;flex-direction:column;width:100%;gap:0;order:3;max-height:0;overflow:hidden;visibility:hidden;transition:max-height .22s ease;flex-basis:100%}
.mobile-nav-links.is-open{max-height:550px;visibility:visible;padding-bottom:12px}
nav>a:first-child{display:block;margin-right:auto}nav>a:first-child img{width:145px;max-height:50px}
.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;margin-right:0;order:2;padding:9px 13px;background:#fff;color:#092b92;border:2px solid #092b92;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer}
.mobile-nav-links>a{display:block;width:100%;padding:12px 8px;border-top:1px solid #e8edf2;font-size:16px}
.mobile-nav-links>a.btn{width:100%;text-align:center;margin-top:8px;border:0}
header nav{padding-left:18px;padding-right:18px}
}
@media(max-width:360px){nav>a:first-child img{width:120px}}



/* v28: de bronfoto's bevatten half afgesneden pictogrammen.
   De nieuwe scherpe SVG's dekken die volledig af en blijven zichtbaar. */
.sectorchoices .choicebody .choice-icon{position:absolute;left:19px;top:-78px;z-index:5;width:92px;height:92px;box-sizing:border-box;border:6px solid #e6f7fd;border-radius:50%;background:#d7f4ff;display:flex;align-items:center;justify-content:center;color:#0865d5;line-height:normal;box-shadow:none}
.sectorchoices .choice.care .choicebody .choice-icon{background:#ffe1e7;border-color:#fff0f2;color:#e34e73}
.sectorchoices .choicebody .choice-icon svg{display:block;width:45px;height:45px;flex:none}
@media(max-width:650px){.sectorchoices .choicebody .choice-icon{width:84px;height:84px;top:-73px}.sectorchoices .choicebody .choice-icon svg{width:41px;height:41px}}

/* Versie 29: drie eigen achtergrondkleuren en de pictogrammen sluiten aan op de foto. */
.newsectors .sectorchoices>.choice:first-child,
.newsectors .sectorchoices>.choice:first-child .choicebody,
.newsectors .sectorchoices>.choice:first-child .choicebody::before {background:#ffffff;}
.newsectors .sectorchoices>.choice:nth-child(2),
.newsectors .sectorchoices>.choice:nth-child(2) .choicebody,
.newsectors .sectorchoices>.choice:nth-child(2) .choicebody::before {background:#e6f7fd;}
.newsectors .sectorchoices>.choice:nth-child(3),
.newsectors .sectorchoices>.choice:nth-child(3) .choicebody,
.newsectors .sectorchoices>.choice:nth-child(3) .choicebody::before {background:#fff0f2;}
/* De fotobestanden bevatten zelf al een ronde icoonachtergrond. De scherpe SVG
   staat precies over dat gebied, zodat geen verschoven/dubbele iconen zichtbaar zijn. */
.newsectors .sectorchoices .choicebody .choice-icon {
  left:2.7%;top:-76px;width:104px;height:104px;
  z-index:2;box-shadow:none;
}
.newsectors .sectorchoices .choicebody .choice-icon svg {width:45px;height:45px;}
.newsectors .sectorchoices>.choice:first-child .choice-icon {background:#e8f9ff;}
.newsectors .sectorchoices>.choice:nth-child(2) .choice-icon {background:#e8f9ff;}
.newsectors .sectorchoices>.choice:nth-child(3) .choice-icon {background:#ffe9ee;}
@media(max-width:650px){
 .newsectors .sectorchoices .choicebody .choice-icon {left:2.7%;top:-76px;width:104px;height:104px;}
}



#voor-wie #allSectors>.sector:nth-child(1),#voor-wie #allSectors>.sector:nth-child(1) .inner{background:#fff}
#voor-wie #allSectors>.sector:nth-child(2),#voor-wie #allSectors>.sector:nth-child(2) .inner{background:#e6f7fd}
#voor-wie #allSectors>.sector:nth-child(3),#voor-wie #allSectors>.sector:nth-child(3) .inner{background:#fff0f2}
.workflow-groups{display:grid;gap:22px;margin-top:22px}.workflow-group{border-radius:22px;background:#fff;padding:26px;border:1px solid #e2eaf2;box-shadow:0 4px 18px #16305d0d}
.workflow-group:nth-child(2){background:#eaf8ff}.workflow-group:nth-child(3){background:#fff3f5}
.workflow-group h3{margin:0 0 10px}.workflow-group .steps{margin-top:15px}.workflow-group p{max-width:950px}
.workflow-group .btn{margin-top:12px}.audience-note{background:linear-gradient(110deg,#fffaf0,#eaf8ff);border-left:5px solid #00a9d9;padding:20px 24px;border-radius:14px;margin:15px 0 28px}
#werkwijze .workflow-groups{margin-top:18px}#sector .workflow-groups{margin-top:20px}
@media(max-width:650px){.workflow-group{padding:18px}}

/* CAVAM v33: cursusvoordelen en persoonlijk citaat */
.henk-quote{margin:1.2rem 0;padding:1rem 1.4rem;border-left:4px solid #e0a52d;background:rgba(255,255,255,.65);border-radius:0 12px 12px 0}.henk-quote p{margin:0 0 .5rem;line-height:1.65}.henk-quote cite{font-style:normal;font-weight:700}.cavam-difference{margin-top:2.2rem}.difference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.3rem}.difference-grid article{padding:1.1rem 1.3rem;border-radius:14px;background:#f3f8f9}.difference-grid h3{margin:0 0 .35rem;font-size:1.08rem}.difference-grid p{margin:0;line-height:1.55}.detail-price{font-size:1.14rem;font-weight:700;margin:.4rem 0 1.1rem}@media(max-width:720px){.difference-grid{grid-template-columns:1fr}}

/* Versie 39: logo en historische homepagefoto 30% groter op brede schermen. */
@media (min-width: 901px) {
  header nav img { width: 273px; max-height: 86px; height: auto; }
  header nav { min-height: 94px; }
  .newhero .hero-visual img { width: 184.08%; }
}
@media (min-width: 701px) and (max-width: 900px) {
  header nav img { width: min(273px, 32vw); max-height: 86px; height: auto; }
  .newhero .hero-visual img { width: 155%; }
}
@media (max-width: 700px) {
  header nav img { width: min(169px, 42vw); max-height: 76px; height: auto; }
  .newhero .hero-visual img { width: 100%; max-width: 100%; }
}

/* Versie 40: consistente zijmarges voor inhoudspagina's op mobiel.
   .section {padding:46px 0} overschreef de horizontale .wrap-padding. */
@media (max-width: 760px) {
  #voor-wie > section.section.wrap,
  #opleidingen > section.section.wrap,
  #werkwijze > section.section.wrap {
    padding-left: 18px;
    padding-right: 18px;
    box-sizing: border-box;
    width: 100%;
  }
  #voor-wie .grid3,
  #opleidingen .grid3 {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }
  #voor-wie .grid3 > *,
  #opleidingen .grid3 > *,
  #werkwijze .workflow-groups > * { min-width: 0; max-width: 100%; }
}

/* Versie 41: duidelijkere subtitel en gelijkmatig verdeelde desktopnavigatie. */
.newhero .eyebrow { font-size: 14px; letter-spacing: 2.2px; line-height: 1.5; }
@media (min-width: 761px) {
  header nav { display: flex; flex-wrap: nowrap; align-items: center; gap: clamp(18px, 2.5vw, 36px); }
  header nav > a:first-child { flex: 0 0 auto; margin-right: 0; }
  header nav .mobile-nav-links { display: flex; flex: 1 1 auto; min-width: 0; align-items: center; justify-content: space-between; gap: clamp(8px, 1.1vw, 19px); }
  header nav .mobile-nav-links > a { font-size: clamp(14px, 1.1vw, 16px); white-space: nowrap; }
  header nav .mobile-nav-links > a.btn { padding: 12px clamp(13px, 1.6vw, 22px); }
}
@media (max-width: 760px) {
  .newhero .eyebrow { font-size: 12.5px; letter-spacing: 1.4px; }
}

/* Versie 42: beide subtitels op de homepage exact dezelfde typografie. */
.newsectors .eyebrow { font-size: 14px; letter-spacing: 2.2px; line-height: 1.5; }
@media (max-width: 760px) { .newsectors .eyebrow { font-size: 12.5px; letter-spacing: 1.4px; } }

/* Versie 43: uniforme mobiele uitlijning voor alle pagina's. */
@media (max-width: 760px) {
  html,body { max-width:100%; overflow-x:clip; }
  header nav { padding-left:18px; padding-right:18px; }
  .page > section.section.wrap,
  .page > section.section > .wrap,
  .page > section.light > .wrap,
  .page > section > .wrap,
  footer .wrap { width:100%; max-width:100%; padding-left:18px; padding-right:18px; }
  .page .grid3, .page .sectorchoices, .page .workflow-groups { grid-template-columns:minmax(0,1fr); max-width:100%; }
  .page .grid3 > *, .page .sectorchoices > *, .page .workflow-groups > *, .page .fields > * { min-width:0; max-width:100%; }
  .page img { max-width:100%; }
  header nav > a:first-child img { width:min(220px, calc(100vw - 145px)); max-width:none; max-height:90px; height:auto; }
  .newhero .hero-visual { width:100%; max-width:100%; overflow:hidden; }
  .newhero .hero-visual img { width:130%; max-width:none; flex:none; height:auto; margin-left:-15%; }
}

/* Versie 44: gecentreerde homepage-CTA en historische foto op mobiele schermen. */
@media (max-width: 760px) {
  .newhero-copy > a.btn { display:table; width:auto; max-width:100%; margin:18px auto 0; text-align:center; }
  .newhero .hero-visual { justify-content:center; }
  .newhero .hero-visual img { position:relative; left:50%; transform:translateX(-50%); margin-left:0; width:130%; max-width:none; }
}

/* Versie 45: corrigeert de dubbele horizontale verschuiving op gsm.
   Flexbox centreert de 130% brede afbeelding zonder extra left/translate. */
@media (max-width:760px) {
  .newhero .hero-visual { display:flex; justify-content:center; align-items:center; overflow:hidden; }
  .newhero .hero-visual img { position:static; left:auto; transform:none; margin:0; width:130%; max-width:none; flex:0 0 130%; }
}
