.spellen-intro { padding: 82px 0; background: linear-gradient(130deg,#fff 0%,#f0faff 100%); border-bottom: 1px solid var(--line); }
.spellen-intro-grid { display: grid; grid-template-columns: 1.5fr .65fr; align-items: center; gap: 70px; }
.spellen-intro h1 { margin: 0; font-size: clamp(3rem,5.4vw,5.2rem); letter-spacing: -.055em; line-height: 1.05; }
.spellen-intro h1 span { color: var(--blue-dark); }
.spellen-intro .lead { font-size: 1.15rem; }
.spellen-belofte { padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); }
.spelgetal { display: block; color: var(--blue); font-size: 5rem; font-weight: 900; line-height: 1.1; letter-spacing: -.06em; }
.spellen-belofte h2 { font-size: 1.5rem; line-height: 1.2; }
.spellen-belofte p { color: var(--muted); }
.spellen-snelmenu { display: flex; flex-wrap: wrap; gap: 10px; margin: -10px 0 32px; }
.spellen-snelmenu a { padding: 9px 16px; border: 1px solid var(--line); border-radius: 30px; text-decoration: none; font-weight: 700; font-size: .94rem; }
.spellen-snelmenu a:hover { background: var(--soft); color: var(--blue-dark); }
.spellen-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.spelkaart { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 12px 32px rgba(20,62,83,.06); scroll-margin-top: 110px; }
.spelbeeld { display: block; width: 100%; aspect-ratio: 3/2; object-fit: cover; background: var(--soft); }
.speltekst { display: flex; flex-direction: column; flex: 1; padding: 30px; }
.speltekst .eyebrow { font-size: .7rem; letter-spacing: .08em; }
.speltekst h3 { margin: 0 0 10px; font-size: clamp(1.65rem,2.6vw,2.2rem); letter-spacing: -.04em; line-height: 1.15; }
.speltekst p { color: var(--muted); margin: 0 0 18px; }
.speltekst .spelbelofte { color: var(--ink); font-weight: 800; font-size: 1.05rem; }
.spelwaarom { padding: 18px; border-radius: 14px; background: var(--soft); font-size: .96rem; }
.spelwaarom strong { display: block; color: var(--ink); margin-bottom: 6px; }
.spelknop { margin-top: auto; align-self: flex-start; background: var(--blue-dark); font-size: .94rem; text-align: center; padding: 12px 18px; }
.speldomein { display: block; margin-top: 10px; font-size: .83rem; color: var(--muted); overflow-wrap: anywhere; }
.spellen-toelichting { color: var(--muted); font-size: .88rem; margin: 25px 0 0; }
.maatwerk-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.maatwerk-grid article { padding: 28px; border: 1px solid var(--line); background: #fff; border-radius: 20px; }
.maatwerk-nummer { color: var(--blue-dark); font-weight: 900; font-size: 1.3rem; }
.maatwerk-grid h3 { font-size: 1.3rem; line-height: 1.25; margin: 18px 0 12px; }
.maatwerk-grid p, .maatwerk-aanpak p { color: var(--muted); margin: 0; }
.maatwerk-aanpak { margin-top: 34px; padding-left: 24px; border-left: 4px solid var(--blue); max-width: 850px; }
.maatwerk-aanpak h3 { margin: 0 0 10px; font-size: 1.35rem; }
.spellen-contact { max-width: 930px; }
.spellen-contact h2 { max-width: 900px; }
.spellen-contact .spellen-missie { font-size: .94rem; margin-top: 34px; padding-top: 22px; border-top: 1px solid #56606a; }
.main-nav [aria-current="page"] { color: var(--blue-dark); text-decoration: underline; text-underline-offset: 6px; }
@media(max-width:900px) { .spellen-intro-grid { grid-template-columns: 1fr; gap: 34px; } .spellen-belofte { max-width: 600px; } .spellen-grid { gap: 22px; } .speltekst { padding: 22px; } .maatwerk-grid { grid-template-columns: 1fr; } }
@media(max-width:620px) { .spellen-intro { padding: 50px 0; } .spellen-intro h1 { font-size: clamp(2.7rem,10vw,3.7rem); } .spellen-grid { grid-template-columns: 1fr; } .spellen-overzicht { padding-top: 60px; } .spellen-snelmenu a { font-size: .84rem; padding: 8px 12px; } .speltekst { padding: 24px; } .spelknop { align-self: stretch; } }

.educatief-uitleg { padding-bottom: 0; }
.leerdoelen-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.leerdoelen-grid article { padding-left: 22px; border-left: 3px solid var(--blue); }
.leerdoelen-grid h3 { margin: 12px 0 10px; font-size: 1.25rem; line-height: 1.3; }
.leerdoelen-grid p { margin: 0; color: var(--muted); }
.spelkaart-spoedpakje { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; }
.spelkaart-spoedpakje .spelbeeld { height: 100%; min-height: 440px; }
.webdiensten { background: var(--soft); scroll-margin-top: 90px; }
.webdiensten-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.webdienst-kaart { padding: 36px; border: 1px solid var(--line); border-radius: 24px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; }
.webdienst-kaart h3 { font-size: 2.25rem; margin: 0 0 8px; letter-spacing: -.04em; }
.webdienst-kaart p { color: var(--muted); margin: 0 0 20px; }
.webdienst-kaart .eyebrow { color: var(--blue-dark); margin-bottom: 8px; }
.webdienst-kaart .webdienst-belofte { font-weight: 800; color: var(--ink); }
.webdienst-waarom strong { color: var(--ink); }
.webdienst-kaart .text-link { margin-top: auto; }
@media(max-width:900px) { .leerdoelen-grid { grid-template-columns: 1fr; gap: 26px; } .spelkaart-spoedpakje { display: flex; } .spelkaart-spoedpakje .spelbeeld { min-height: 0; height: auto; max-height: 540px; } }
@media(max-width:620px) { .webdiensten-grid { grid-template-columns: 1fr; } .webdienst-kaart { padding: 26px; } }

.webdienst-logo { width: 100%; min-height: 100px; display: flex; align-items: center; margin-bottom: 24px; }
.webdienst-logo > img { display: block; width: min(100%,340px); height: auto; }
.mijnip-logo { display: flex; align-items: center; gap: 14px; color: #123b45; font-family: Arial,Helvetica,sans-serif; font-weight: 800; font-size: clamp(36px,4vw,46px); letter-spacing: -2px; line-height: 1.2; }
.mijnip-logo img { width: 58px; height: 58px; flex: 0 0 auto; }
.mijnip-groen { color: #497c5b; }
.mijnip-logo small { font-size: .82em; font-weight: 400; }
@media(max-width:620px) { .webdienst-logo { min-height: 80px; } }

.spel-schermadvies { display: flex; align-items: flex-start; gap: 16px; margin: 26px 0; padding: 22px; border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 16px; background: #fff; }
.spel-schermadvies > svg { width: 32px; height: 32px; flex: 0 0 32px; color: var(--blue-dark); }
.spel-schermadvies h2 { margin: 0 0 8px; font-size: 1.12rem; line-height: 1.35; }
.spel-schermadvies p { margin: 0; color: var(--muted); font-size: .96rem; }
@media(max-width:620px) { .spel-schermadvies { gap: 12px; padding: 18px; } .spel-schermadvies > svg { width: 26px; height: 26px; flex-basis: 26px; } }
