:root{--blue:#001489;--orange:#fe5000;--ink:#101a3a;--muted:#596176;--line:#dfe3ec;--soft:#f3f5f9;--white:#fff;--max:1180px;--shadow:0 22px 55px rgba(0,20,137,.10)}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;font-size:17px;line-height:1.65;background:#fff}
img{max-width:100%;height:auto}
a{color:inherit}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:1000}
.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(223,227,236,.9);backdrop-filter:blur(12px)}
.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand img{display:block;width:185px}
.links{display:flex;align-items:center;gap:27px}
.links a{text-decoration:none;font-size:15px;font-weight:700}
.links a:hover,.links a[aria-current="page"]{color:var(--orange)}
.button,.button-outline{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:4px;text-decoration:none;font-weight:700;border:2px solid var(--orange);transition:.18s ease}
.button{background:var(--orange);color:#fff}
.button:hover{background:#d94400;border-color:#d94400;transform:translateY(-1px)}
.button-outline{background:transparent;color:var(--blue);border-color:var(--blue)}
.button-outline:hover{background:var(--blue);color:#fff}
.menu-button{display:none;border:0;background:transparent;font-size:25px;color:var(--blue)}

.hero{position:relative;overflow:hidden;padding:102px 0 94px}
.hero:after{content:"";position:absolute;right:-8%;top:-16%;width:39%;height:135%;background-color:var(--blue);background-image:linear-gradient(rgba(0,20,137,.34),rgba(0,20,137,.34)),url('richting-internationaal.webp');background-position:28% center;background-size:cover;transform:skewX(-9deg);z-index:-2}
.hero:before{content:"";position:absolute;right:5%;top:0;width:10px;height:100%;background:var(--orange);z-index:-1}
.hero-copy{max-width:700px}
.eyebrow{margin:0 0 15px;color:var(--orange);font-size:14px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.hero h1,.page-hero h1{margin:0;font-size:clamp(44px,6vw,78px);line-height:1.04;letter-spacing:-.045em;color:var(--blue)}
.hero .lead{max-width:700px;margin:30px 0;color:var(--muted);font-size:21px;line-height:1.55}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.micro{margin-top:38px;font-size:14px;font-weight:700;color:var(--blue);letter-spacing:.035em}
.section{padding:88px 0}
.section.soft{background:var(--soft)}
.section.blue{background:var(--blue);color:#fff}
.section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start;margin-bottom:48px}
.section h2,.page-hero h2{margin:0;color:var(--blue);font-size:clamp(32px,4vw,49px);line-height:1.12;letter-spacing:-.035em}
.section.blue h2{color:#fff}
.section-intro{margin:0;color:var(--muted);font-size:20px}
.section.blue .section-intro{color:#e4e8ff}
.accent-line{width:64px;height:4px;background:var(--orange);margin:18px 0 0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:6px;padding:34px;min-height:310px}
.card-number{color:var(--orange);font-size:15px;font-weight:800;letter-spacing:.1em}
.card h3{margin:18px 0 12px;color:var(--blue);font-size:24px;line-height:1.25}
.card p{margin:0;color:var(--muted)}
.card .tag{position:absolute;bottom:28px;left:34px;color:var(--blue);font-size:14px;font-weight:800}
.quote-band{margin-top:28px;padding:25px 30px;background:var(--blue);color:#fff;border-left:7px solid var(--orange);font-size:21px;font-weight:700}
.domains .card{min-height:260px}
.domains ul,.detail ul,.questions{margin:18px 0 0;padding-left:20px;color:var(--muted)}
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.feature{position:relative;padding:24px 26px 24px 76px;background:#fff;border-left:5px solid var(--orange)}
.feature h3{margin:0 0 7px;color:var(--blue);font-size:20px}
.feature p{margin:0;color:var(--muted)}
.feature-symbol{position:absolute;left:25px;top:24px;display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--blue);border-radius:50%;color:var(--orange);font-size:23px;font-weight:800;line-height:1}
.profile{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.profile-mark{min-height:430px;background:var(--blue);padding:48px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.profile-mark:after{content:"";position:absolute;width:210px;height:210px;border:35px solid var(--orange);border-radius:50%;right:-90px;bottom:-80px}
.profile-mark img{width:260px;background:#fff;padding:18px}
.profile-mark p{margin:0;color:#fff;font-size:22px;font-weight:700;max-width:300px}
.profile-copy h2{margin-bottom:25px}
.profile-copy p{color:var(--muted)}
.profile-copy strong{color:var(--ink)}
.cta{display:flex;justify-content:space-between;gap:50px;align-items:center}
.cta h2{max-width:680px}
.cta .button{background:var(--orange);border-color:var(--orange);white-space:nowrap}
.page-hero{position:relative;overflow:hidden;padding:78px 0 70px;background:linear-gradient(105deg,#fff 0 87%,var(--blue) 87%)}
.page-hero .wrap{position:relative;z-index:1;padding-right:38%}
.page-hero h1{max-width:960px;font-size:clamp(42px,5vw,68px)}
.expertise-page{--header-image:url('routes-en-verbinding.webp')}
.about-page{--header-image:url('overzicht-en-samenhang.webp')}
body:not(.expertise-page):not(.about-page){--header-image:url('ruimte-en-perspectief.webp')}
.expertise-page .page-hero:after,.about-page .page-hero:after,body:not(.expertise-page):not(.about-page) .page-hero:after{content:"";position:absolute;right:0;top:0;width:36%;height:100%;z-index:0;background-image:linear-gradient(rgba(0,20,137,.28),rgba(0,20,137,.28)),var(--header-image);background-position:center;background-size:cover;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);border-bottom:8px solid var(--orange)}
.icon-cards .card{border-bottom:7px solid var(--orange)}
.icon-badge{display:grid;place-items:center;width:64px;height:64px;background:var(--soft);border-radius:50%;color:var(--blue)}
.icon-badge svg{width:39px;height:39px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.visual-strip{display:grid;grid-template-columns:1fr 54px 1fr 54px 1fr;align-items:center;gap:10px;margin-top:48px;padding:34px;background:var(--blue);border-bottom:9px solid var(--orange);color:#fff}
.visual-strip div{text-align:center}
.visual-strip span{display:block;font-size:21px;font-weight:800}
.visual-strip small{display:block;color:#dfe4ff;font-size:14px}
.visual-strip i{position:relative;height:2px;background:rgba(255,255,255,.55)}
.visual-strip i:after{content:"";position:absolute;right:0;top:-4px;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent}
.page-hero p{max-width:730px;margin:22px 0 0;color:var(--muted);font-size:20px}
.detail{display:grid;grid-template-columns:320px 1fr;gap:70px;padding:45px 0;border-top:1px solid var(--line)}
.detail:first-child{border-top:0}
.detail h2{font-size:31px}
.detail h3{margin:0 0 12px;color:var(--blue);font-size:20px}
.detail p{margin-top:0;color:var(--muted)}
.result{margin-top:23px;padding:20px 24px;background:var(--soft);border-left:5px solid var(--orange)}
.values{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.values span{padding:8px 13px;background:var(--soft);color:var(--blue);font-size:14px;font-weight:800}
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}
.contact-card{background:var(--blue);color:#fff;padding:38px}
.contact-card h2{color:#fff}
.contact-card a{color:#fff}
.contact-card .label{display:block;margin-top:24px;color:#cdd4ff;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-weight:700;font-size:15px}
.field input,.field textarea{width:100%;padding:13px 14px;border:1px solid #b9c0cf;border-radius:3px;font:inherit;color:var(--ink);background:#fff}
.field textarea{min-height:155px;resize:vertical}
.field input:focus,.field textarea:focus{outline:3px solid rgba(0,20,137,.16);border-color:var(--blue)}
.check{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:14px}
.check input{margin-top:5px}
.status{grid-column:1/-1;padding:12px 15px;background:var(--soft);display:none}
.legal{max-width:820px}
.legal h2{margin-top:45px;font-size:26px}
.legal p,.legal li{color:var(--muted)}
.site-footer{padding:58px 0 30px;background:#0a123f;color:#fff}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:60px}
.footer-logo{width:205px;background:#fff;padding:10px}
.site-footer p,.site-footer a{color:#d8dcf4}
.site-footer a:hover{color:#fff}
.footer-links{display:grid;gap:8px}
.copyright{margin-top:45px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);font-size:13px;color:#adb5da}

@media(max-width:820px){.wrap{width:min(100% - 32px,var(--max))}
.nav{min-height:70px}
.brand img{width:155px}
.menu-button{display:block}
.links{display:none;position:absolute;left:0;right:0;top:70px;padding:18px 24px 24px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}
.links.open{display:flex}
.hero{padding:72px 0}
.hero:after{position:relative;display:block;z-index:auto;top:auto;right:auto;width:calc(100% - 32px);height:230px;margin:34px auto 0;opacity:1;transform:none;background-position:35% 39%;border-bottom:7px solid var(--orange)}
.hero:before{display:none}
.hero h1,.page-hero h1{font-size:45px}
.hero .lead{font-size:18px}
.section{padding:66px 0}
.section-head,.profile,.contact-grid,.detail{grid-template-columns:1fr;gap:28px}
.grid-3,.feature-grid{grid-template-columns:1fr}
.card{min-height:auto}
.card .tag{position:static;display:block;margin-top:22px}
.page-hero{background:#fff;padding:62px 0 48px}
.page-hero .wrap{padding-right:0}
.profile-mark{min-height:320px;padding:28px;gap:28px;justify-content:flex-start}
.profile-mark img{position:relative;z-index:1;width:min(260px,100%)}
.profile-mark p{position:relative;z-index:1;max-width:100%;font-size:clamp(18px,5vw,22px);line-height:1.4}
.profile-mark:after{width:130px;height:130px;border-width:22px;right:-92px;bottom:-92px}
.cta{align-items:flex-start;flex-direction:column}
.footer-grid{grid-template-columns:1fr;gap:32px}
.form{grid-template-columns:1fr}
.field.full{grid-column:auto}
.visual-strip{grid-template-columns:1fr;padding:28px 22px}
.visual-strip i{width:2px;height:26px;margin:auto}
.visual-strip i:after{right:-4px;top:auto;bottom:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #fff;border-bottom:0}
.expertise-page .page-hero:after,.about-page .page-hero:after,body:not(.expertise-page):not(.about-page) .page-hero:after{position:relative;display:block;top:auto;right:auto;width:calc(100% - 32px);height:220px;margin:34px auto 0;clip-path:none;border-bottom:7px solid var(--orange)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.button{transition:none}
}
