/* Tweede controle: leesbare kaarten, voorspelbare grids en kleine schermen. */
[hidden]{display:none!important}
.nav-row,.hero-copy,.quick-card,.two-col>*,.footer-grid>*,.trust-item>div{min-width:0}
.brand-text{letter-spacing:-.025em}
.brand{max-width:100%}
.page-head h1{max-width:25ch;text-wrap:balance}
.page-head .lead{max-width:74ch}
.hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.85fr);gap:clamp(28px,4vw,60px)}
.hero-copy h1{text-wrap:balance}
.footer-grid a{overflow-wrap:anywhere}
.service-group+.service-group,.knowledge-group+.knowledge-group{margin-top:52px}
.service-group>h2,.knowledge-group>h2{font-size:clamp(25px,3vw,34px);max-width:28ch}
.service-illustration{height:200px;display:grid;place-items:center;background:linear-gradient(145deg,#e2f2fc,#cce6f4);color:#236f95}
.service-illustration svg{width:75px;height:84px}
.card-image{aspect-ratio:4/3}
.card .btn{min-height:48px}
.card-body .tag{letter-spacing:.06em}
.topic-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.topic-nav a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;text-decoration:none;font-size:14px;font-weight:700;line-height:1.45}
.article-toc{border:1px solid var(--line);background:#edf7fd;border-radius:16px;padding:20px 23px;margin:0 0 30px}
.article-toc p{font-weight:700;margin:0 0 9px!important}
.article-toc ol{padding-left:21px;margin:0;display:grid;gap:7px}
.article-toc a{font-size:15px;line-height:1.5;overflow-wrap:break-word}
.prose .review-figure{margin:28px 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.prose .review-figure button{display:block;width:100%;border:0;padding:0;background:#dceef7}
.prose .review-figure img{display:block;width:100%;height:clamp(240px,36vw,430px);object-fit:contain}
.prose .review-figure figcaption{font-size:14px;line-height:1.65;padding:15px 20px;color:var(--muted)}
.byline{font-size:13px!important;color:var(--muted);line-height:1.6!important;margin:0 0 24px!important}
.blog-hub .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.article-source{border-top:1px solid var(--line);margin-top:26px;padding-top:18px;font-size:14px!important}
.prose .checklist li{font-size:16px}
.prose .faq-list{margin:0}
.prose .faq-list summary{font-size:17px}
table{width:100%;border-collapse:collapse}
th,td{vertical-align:top;text-align:left;overflow-wrap:break-word}
.table-wrap{max-width:100%;overscroll-behavior-x:contain}
.prose a{overflow-wrap:break-word}
.local-detail{border-left:4px solid var(--blue);padding:5px 0 5px 20px;margin:28px 0}
.local-detail p:last-child{margin-bottom:0}
.photo-dialog{width:max-content;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
.photo-dialog img{object-fit:contain;max-width:100%;max-height:68dvh}
.photo-dialog p{max-width:75ch}
.photo-button{width:100%}
.photo-button img{width:100%;object-fit:cover}
.upload-field input{font-size:15px}
.upload-field input::file-selector-button{border:1px solid #97bfd4;background:#e4f3fc;color:#163f54;border-radius:8px;padding:9px 12px;margin:0 12px 6px 0;font:inherit}
@media(max-width:1020px){
 .nav-phone{display:none}
 .main-nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;margin:0;max-height:calc(100dvh - 130px);overflow:auto;border:1px solid var(--line);padding:18px 24px;border-radius:22px;background:#f7fcff;box-shadow:var(--shadow)}
 .main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .main-nav a{padding:11px 0;font-size:16px}
 .menu-button{display:flex;flex-shrink:0}
 .hero-grid{grid-template-columns:1fr;padding:38px;gap:30px}
 .hero-copy{max-width:720px}
 .hero-photo{width:100%;opacity:.35}
 .hero:before{background:linear-gradient(90deg,#dbeffcf9,#dbeffcc9)}
 .quick-card{max-width:630px;width:100%;align-self:start}
 .hero-copy h1{font-size:clamp(36px,5.5vw,55px)}
 .page-layout{grid-template-columns:1fr;gap:30px}
 .sidebar{position:static;max-width:820px;width:100%}
}
@media(max-width:760px){
 .two-col{grid-template-columns:1fr;gap:28px}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .card-body{padding:21px}
 .card h3{font-size:22px}
 .article-toc{padding:18px}
}
@media(max-width:600px){
 .cards{grid-template-columns:1fr}
 .blog-hub .cards{grid-template-columns:1fr}
 .hero-grid{padding:28px 21px}
 .hero-copy h1{font-size:clamp(31px,8.5vw,40px);line-height:1.12;letter-spacing:-.03em}
 .page-head h1{font-size:clamp(30px,8vw,38px);line-height:1.15;letter-spacing:-.025em}
 .brand-text{font-size:clamp(15px,4.6vw,19px);line-height:1.15}
 .brand-text span{font-size:9px;letter-spacing:.22em}
 .brand svg{width:34px;height:41px}
 .nav-row .brand{max-width:calc(100% - 58px)}
 .footer-grid{grid-template-columns:1fr;gap:25px}
 .footer-grid>:first-child{grid-column:auto}
 .trust-symbol{min-width:58px;min-height:58px;width:58px;height:58px}
 .trust-item{gap:13px}
 .topic-nav{gap:8px}
 .topic-nav a{font-size:13px;padding:9px 11px}
 .article-toc ol{gap:9px}
 .prose .review-figure img{height:280px}
 .prose .review-figure figcaption{padding:13px 16px}
 .prose .checklist li{font-size:16px}
 .prose table{font-size:14px}
 .breadcrumbs li{overflow-wrap:anywhere;min-width:0}
 .service-group+.service-group,.knowledge-group+.knowledge-group{margin-top:38px}
 .service-illustration{height:215px}
 .quick-card .btn{white-space:normal}
}
@media(max-width:360px){.steps{grid-template-columns:1fr}.step img{width:100%;height:auto;object-fit:contain}.step h3{font-size:18px}.step p{font-size:14px}}

/* Beeldarchief: vaste uitlijning, volledige details en lichte voorbeeldbestanden. */
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.photo-grid--detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}
.photo-grid--single{grid-template-columns:1fr}
.photo-grid--detail>.photo-tile:first-child:nth-last-child(3){grid-column:1/-1}
.photo-tile,.prose .photo-tile{min-width:0;margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.photo-tile button{position:relative;display:block;width:100%;padding:0;border:0;cursor:zoom-in;background:#e6f0f6;color:var(--ink)}
.photo-tile img,.prose .photo-tile img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.photo-grid--detail>.photo-tile:first-child:nth-last-child(3) img{max-height:380px}
.photo-tile button:after{content:'↗';position:absolute;right:10px;bottom:10px;border-radius:50%;background:#fff;color:#164763;width:32px;height:32px;display:grid;place-items:center;box-shadow:0 2px 12px #15384a22}
.photo-tile button:focus-visible{outline:3px solid #14678c;outline-offset:-4px}
.photo-tile figcaption{padding:16px 18px;display:flex;flex-direction:column;gap:9px;flex:1;font-size:14px;line-height:1.55;color:var(--muted)}
.photo-tile figcaption p,.prose .photo-tile figcaption p{font-size:14px;line-height:1.55;margin:0}
.photo-tile figcaption strong{font-size:16px;color:var(--ink);line-height:1.35}
.photo-tile figcaption a{margin-top:auto;font-size:14px}
.photo-group+.photo-group{margin-top:48px}
.photo-group>h2{font-size:clamp(25px,3vw,34px);margin-bottom:22px}
.photo-intro{max-width:75ch;margin-bottom:28px}
.card-photo{display:block;overflow:hidden;background:#e6f0f6}
.card-photo img,.prose .card-photo img{display:block;width:100%;height:210px;object-fit:cover;margin:0;transition:transform .2s ease}
.card-photo:hover img{transform:scale(1.025)}
.photo-dialog img{width:auto;height:auto}
@media(max-width:850px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.photo-grid,.photo-grid--detail{grid-template-columns:1fr;gap:18px}.photo-tile img,.prose .photo-tile img{max-height:340px}.photo-tile figcaption{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){.card-photo img{transition:none}}

/* Acht eigen stappen per plaats: gelijke kaarten, verschillende inhoud en beelden. */
.custom-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.custom-steps .step{display:flex;flex-direction:column}
.custom-steps .step-picture{margin:0;display:flex;flex-direction:column}
.custom-steps .step-picture button{display:block;padding:0;border:0;background:#e6f0f6;width:100%;cursor:zoom-in}
.custom-steps .step-picture img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.custom-steps .step-picture figcaption{font-size:12px;line-height:1.45;min-height:3.9em;padding:9px 14px;background:#edf6fb;color:var(--muted)}
.custom-steps .step-text{padding:21px 18px}
.custom-steps .step h3{font-size:19px;line-height:1.3;min-height:3.9em;letter-spacing:-.02em}
.custom-steps .step h3:before{display:block;margin-bottom:9px;font-size:13px}
.custom-steps .step p{font-size:14px;line-height:1.65}
@media(max-width:1020px){.custom-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.custom-steps .step h3{min-height:0}}
@media(max-width:540px){.custom-steps{grid-template-columns:1fr;gap:22px}.custom-steps .step-picture img{max-height:240px}.custom-steps .step-picture figcaption{min-height:0}.custom-steps .step-text{padding:22px}.custom-steps .step h3{font-size:22px}.custom-steps .step p{font-size:15px}}
