:root{
  --dark:#002654;
  --dark-2:#002654;
  --deep:#002654;
  --text:#002654;
  --muted:#4b6686;
  --light:#dff5ff;
  --light-2:#eefaff;
  --pale:#f3fbff;
  --white:#fff;
  --cream:#f3fbff;
  --radius-xl:28px;
  --radius-lg:20px;
  --shadow:0 24px 60px rgba(0,38,84,.16);
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;font-family:Poppins,Arial,sans-serif;color:var(--text);background:#fff;font-size:16px;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 70px));margin-inline:auto}
.site-header{position:absolute;inset:0 0 auto 0;z-index:30;height:74px;display:flex;align-items:center;justify-content:center;padding:12px 26px;color:#fff}
.logo-pill{position:absolute;left:0;top:0;width:168px;height:55px;background:#fff;border-radius:0 0 18px 0;display:flex;align-items:center;padding:9px 19px;box-shadow:0 12px 24px rgba(0,0,0,.1)}
.logo-pill img{width:132px;height:auto}
.main-nav{display:flex;gap:4px;align-items:center;background:rgba(0,38,84,.28);border:1.5px solid rgba(255,255,255,.75);border-radius:999px;padding:6px;backdrop-filter:blur(8px)}
.main-nav a{font-size:12px;line-height:1;font-weight:700;letter-spacing:.01em;padding:11px 12px;border-radius:999px;color:#fff;white-space:nowrap;transition:.25s ease}
.main-nav a:hover,.main-nav .nav-cta{background:rgba(255,255,255,.15)}
.round-link{position:absolute;right:20px;top:13px;width:38px;height:38px;border-radius:50%;background:#e6f7ff;color:var(--dark);display:grid;place-items:center;font-weight:800;border:2px solid rgba(255,255,255,.7)}
.menu-toggle{display:none;position:absolute;right:24px;top:15px;width:43px;height:43px;border:none;border-radius:50%;background:#e6f7ff;z-index:40;cursor:pointer;place-items:center;padding:0}
.menu-toggle span{display:block;width:20px;height:2px;background:var(--dark);margin:3px auto;border-radius:2px;transition:.25s ease}
.hero{position:relative;min-height:650px;display:grid;place-items:center;text-align:center;color:#fff;background-image:url('../images/infra-point-nl-hero.webp');background-size:cover;background-position:center top;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,38,84,.84),rgba(0,78,130,.62) 52%,rgba(0,38,84,.86));z-index:1}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:150px;background:linear-gradient(180deg,transparent,rgba(0,38,84,.30));z-index:2}
.hero-content{position:relative;z-index:4;width:min(850px,calc(100% - 40px));padding-top:8px}
.hero h1{font-size:clamp(30px,3.8vw,48px);line-height:1.08;margin:0 auto 22px;font-weight:800;letter-spacing:-.04em;text-wrap:balance;text-shadow:0 8px 28px rgba(0,0,0,.3);max-width:1120px}
.hero p{max-width:840px;margin:0 auto 25px;font-size:14px;line-height:1.7;font-weight:600;color:rgba(255,255,255,.93)}
.hero-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:13px 23px;font-size:13px;font-weight:800;line-height:1;transition:.25s ease;white-space:nowrap;border:1px solid transparent}.btn-light{background:#fff;color:var(--dark);box-shadow:0 10px 24px rgba(0,0,0,.13)}.btn-light:hover{transform:translateY(-2px);background:#e6f7ff}.btn-outline{border-color:rgba(255,255,255,.85);color:#fff;background:rgba(0,0,0,.08)}.btn-outline:hover{background:#fff;color:var(--dark)}.btn-dark{background:var(--dark);color:#fff}.btn-dark:hover{background:#001b3d;transform:translateY(-2px)}
.intro{position:relative;padding:64px 0 55px;background:#fff;overflow:hidden}.intro-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,158,233,.24),rgba(255,255,255,.9) 32%);opacity:.48;pointer-events:none}.intro-grid{position:relative;display:grid;grid-template-columns:520px 1fr;align-items:center;gap:62px}.photo-stack{display:grid;grid-template-columns:2fr 1fr;gap:18px;height:360px}.photo-stack img{height:100%;width:100%;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}.photo-side{border-radius:16px!important}.eyebrow{display:inline-flex;align-items:center;justify-content:center;padding:5px 14px;background:#dff5ff;border-radius:999px;color:var(--dark);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;margin-bottom:14px}.intro h2,.projects h2,.news h2,.career h2,.testimonials h2{font-size:clamp(28px,3vw,43px);line-height:1.08;margin:0;color:var(--text);letter-spacing:-.03em;font-weight:800}.intro h2{max-width:610px;margin-bottom:20px}.intro p{font-size:15px;margin:0 0 14px;color:#4b6686;line-height:1.75}.intro .btn{margin-top:12px;padding:13px 21px}.feature-strip{background:#dff5ff;border-top:1px solid rgba(0,38,84,.10);border-bottom:1px solid rgba(0,38,84,.10);padding:24px 0;overflow:hidden;white-space:nowrap}.strip-track{display:flex;width:max-content;animation:featureStripMove 42s linear infinite;will-change:transform}.feature-strip:hover .strip-track{animation-play-state:paused}.strip-grid{display:flex;align-items:center;justify-content:space-around;gap:76px;min-width:max(100vw,1080px);padding:0 56px;flex:0 0 auto}.strip-grid div{display:flex;align-items:center;gap:14px;color:var(--dark);min-width:max-content}.strip-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:rgba(0,158,233,.16);font-size:22px;line-height:1;color:var(--dark);font-weight:800;flex:0 0 auto}.strip-icon svg{width:18px;height:18px;display:block}.strip-grid strong{font-size:18px;line-height:1.05;font-weight:800;min-width:max-content}.strip-grid span:not(.strip-icon){font-size:15px;line-height:1.3;color:#4b6686;margin-top:2px}@keyframes featureStripMove{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.strip-track{animation:none}}
.expertise{background:var(--deep);padding:86px 0 88px;color:#fff}.expertise h2{max-width:860px;font-size:clamp(27px,3.3vw,43px);line-height:1.14;margin:0 0 34px;letter-spacing:-.035em;color:#fff}.eyebrow.light{background:#eefaff;color:var(--dark);margin-bottom:12px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:#003a80;border-radius:19px;padding:30px 30px 28px;min-height:360px;display:flex;flex-direction:column;box-shadow:0 22px 44px rgba(0,0,0,.16);position:relative;overflow:hidden}.service-card h3{font-size:25px;line-height:1;margin:0 0 17px;color:#fff;letter-spacing:-.03em}.service-card p{font-size:14px;line-height:1.72;margin:0 0 26px;color:#dff5ff;font-weight:500}.service-card img{margin-top:auto;width:100%;height:145px;object-fit:cover;border-radius:16px}.projects{padding:72px 0 84px;background:#fff}.projects h2{margin-bottom:27px}.project-list{display:grid;gap:26px}.project-card{background:#dff5ff;border-radius:16px;padding:44px 46px;display:grid;grid-template-columns:1fr 480px;gap:50px;align-items:stretch;min-height:390px}.project-copy h3{font-size:33px;line-height:1.08;margin:0 0 24px;letter-spacing:-.035em;color:var(--text);font-weight:800}.project-copy p{font-size:14.5px;max-width:450px;color:#244b73;line-height:1.72;margin:0 0 25px}.small-btn{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--dark);font-weight:800;font-size:12px;border-radius:999px;padding:10px 18px;box-shadow:0 10px 26px rgba(0,38,84,.12)}.tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:46px}.tags span{border:1px dashed rgba(0,38,84,.48);font-size:10px;border-radius:999px;padding:8px 12px;color:#244b73;background:rgba(255,255,255,.12)}.project-media{background:#002654;border-radius:8px;padding:28px;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;position:relative}.project-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#fff;font-weight:600;margin-bottom:44px}.project-media img{width:290px;height:205px;object-fit:cover;border-radius:11px;margin:auto auto 0;box-shadow:0 14px 34px rgba(0,0,0,.22)}.news{background:#fff;padding:44px 0 42px;min-height:485px}.news-inner{position:relative}.news h2{font-size:31px;margin-bottom:38px}.slider-controls{display:flex;gap:10px}.news .slider-controls{position:absolute;right:0;top:26px}.slider-controls button{width:32px;height:32px;border-radius:50%;border:none;background:#f3fbff;color:var(--dark);font-weight:800;cursor:pointer}.news-logo{margin-top:38px;width:180px}.category-pill{display:inline-flex;margin-top:52px;padding:7px 15px;background:#dff5ff;border-radius:999px;font-size:11px;font-weight:800;color:var(--dark)}.news h3{font-size:16px;margin:22px 0 0;color:var(--text)}.career{background:#fff;padding:0 0 72px}.career-card{position:relative;background:#dff5ff;border-radius:18px;min-height:370px;padding:55px 60px;overflow:hidden;display:flex;align-items:center}.career-copy{width:54%;position:relative;z-index:2}.career h2{font-size:clamp(36px,4.2vw,58px);line-height:.98;max-width:520px;margin-bottom:18px}.career p{font-size:14.5px;line-height:1.78;color:#244b73;max-width:590px;margin:0 0 24px}.crane{position:absolute;right:-4px;bottom:-20px;width:48%;max-width:560px;mix-blend-mode:multiply}.testimonials{background:#fff;padding:18px 0 86px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.section-head h2{font-size:31px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start;max-width:960px;margin-inline:auto}.quote-card{background:#f3fbff;border-radius:12px;padding:28px 26px 24px;min-height:250px}.quote-card.tall{margin-top:26px;min-height:320px}.stars{font-size:15px;letter-spacing:2px;color:#bdeaff;margin-bottom:15px}.quote-card p{font-size:13px;line-height:1.75;color:#4b6686;margin:0 0 22px}.person{display:grid;gap:2px;padding-left:38px;position:relative}.person:before{content:"";position:absolute;left:0;top:2px;width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,#009ee9,#8cddff)}.person span{font-size:13px;font-weight:800}.person small{font-size:10px;color:#6b7e96}.review-btn{margin-top:44px}.site-footer{background:#dff5ff;color:var(--dark)}.footer-grid{display:grid;grid-template-columns:1.3fr 1.4fr 1.6fr;gap:80px;padding:55px 0 42px}.footer-brand img{width:185px;margin-bottom:10px}.footer-brand p{font-size:13px;font-weight:600;margin:0 0 24px;line-height:1.5}.footer-brand strong,.site-footer h3{font-size:14px;margin:0 0 13px;display:block}.socials{display:flex;gap:8px}.socials a{width:27px;height:27px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.footer-links{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(90px,1fr));gap:9px 38px}.footer-links a{font-size:13px;color:#002654;font-weight:600}.newsletter input{width:100%;height:35px;border:none;background:#fff;border-radius:2px;padding:0 12px;font-family:inherit;font-size:12px;margin-bottom:10px}.newsletter p{font-size:11px;line-height:1.5;margin:0 0 10px;color:#4b6686}.newsletter button{width:100%;height:32px;border:none;background:var(--dark);color:#fff;font-family:inherit;font-size:11px;font-weight:800;cursor:pointer}.footer-bottom{background:var(--deep);color:#fff;font-size:11px}.bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:55px;opacity:.95}
@media (max-width:1020px){.strip-grid{gap:64px;padding:0 38px;min-width:max(100vw,920px)}.strip-icon{width:28px;height:28px;font-size:20px}.strip-grid strong{font-size:16px}.strip-grid span:not(.strip-icon){font-size:14px}.site-header{position:absolute;justify-content:flex-end}.logo-pill{width:152px;height:50px}.round-link{display:none}.menu-toggle{display:block}.main-nav{position:fixed;right:22px;top:68px;width:min(310px,calc(100% - 44px));display:grid;gap:2px;border-radius:22px;background:rgba(0,38,84,.96);border:1px solid rgba(255,255,255,.25);padding:12px;opacity:0;pointer-events:none;transform:translateY(-12px);transition:.25s ease}.main-nav.is-open{opacity:1;pointer-events:auto;transform:none}.main-nav a{font-size:15px;padding:14px 16px}.container{width:min(var(--max),calc(100% - 38px))}.hero{min-height:590px}.intro-grid{grid-template-columns:1fr;gap:34px}.photo-stack{height:auto;grid-template-columns:1fr 1fr}.photo-stack img{height:310px}.strip-grid{gap:58px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-card img{height:190px}.project-card{grid-template-columns:1fr;gap:28px;padding:32px}.project-media{min-height:320px}.project-media img{width:100%;height:230px}.career-card{padding:42px 34px 300px}.career-copy{width:100%}.crane{width:76%;right:0}.footer-grid{grid-template-columns:1fr;gap:34px}.bottom-inner{flex-direction:column;padding:16px 0;text-align:center}}
@media (max-width:640px){body{font-size:15px}.site-header{height:64px;padding:10px 18px}.logo-pill{width:138px;height:48px}.logo-pill img{width:116px}.menu-toggle{right:18px;top:12px}.hero{min-height:590px}.hero h1{font-size:31px;line-height:1.12;letter-spacing:-.035em}.hero p{font-size:13px}.hero-actions{gap:10px}.btn{width:auto;min-height:42px;padding:12px 17px;font-size:12px}.intro{padding:45px 0}.photo-stack{gap:12px}.photo-stack img{height:235px;border-radius:15px}.intro h2,.projects h2,.news h2,.testimonials h2{font-size:28px}.expertise{padding:58px 0}.expertise h2{font-size:29px}.service-card{padding:24px}.project-card{padding:25px 21px;border-radius:14px}.project-copy h3{font-size:28px}.project-copy p{font-size:13px}.tags{margin-top:28px}.project-media{padding:20px;min-height:285px}.project-meta{font-size:10px;margin-bottom:28px}.news{min-height:360px}.news .slider-controls{top:20px}.news-logo{width:150px}.career-card{min-height:auto;padding:34px 24px 245px;border-radius:14px}.career h2{font-size:38px}.career p{font-size:13px}.crane{width:95%;max-width:440px;right:-60px;bottom:-25px}.testimonial-grid{grid-template-columns:1fr}.quote-card.tall{margin-top:0;min-height:250px}.footer-links{grid-template-columns:1fr}.footer-grid{padding:38px 0}.section-head{gap:20px}.section-head h2{font-size:27px}}
@media (max-width:420px){.container{width:calc(100% - 30px)}.photo-stack{grid-template-columns:1fr}.photo-stack img{height:250px}.hero h1{font-size:27px}.hero-content{width:calc(100% - 30px)}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%;max-width:260px}.project-media img{height:210px}.crane{width:110%;right:-95px}}

/* Header size adjustment: bigger logo and bigger menu text */
.site-header{height:84px;padding:14px 30px}
.logo-pill{width:205px;height:68px;padding:12px 24px;border-radius:0 0 21px 0}
.logo-pill img{width:158px}
.main-nav{gap:5px;padding:7px}
.main-nav a{font-size:14px;padding:12px 15px;font-weight:800}
.round-link{width:43px;height:43px;top:15px;right:24px;font-size:14px}

@media (max-width:1180px) and (min-width:1021px){
  .logo-pill{width:190px;height:64px;padding:11px 22px}
  .logo-pill img{width:148px}
  .main-nav a{font-size:13px;padding:12px 12px}
}

@media (max-width:1020px){
  .site-header{height:78px;padding:12px 22px}
  .logo-pill{width:178px;height:60px;padding:10px 21px}
  .logo-pill img{width:140px}
  .main-nav{top:78px}
  .main-nav a{font-size:16px;padding:15px 17px}
  .menu-toggle{width:46px;height:46px;top:16px}
}

@media (max-width:640px){
  .site-header{height:72px;padding:10px 18px}
  .logo-pill{width:160px;height:56px;padding:10px 19px}
  .logo-pill img{width:128px}
  .main-nav{top:72px}
  .main-nav a{font-size:16px;padding:15px 17px}
  .menu-toggle{width:45px;height:45px;top:13px}
}

/* Footer size adjustment: bigger footer content and text */
.site-footer{font-size:16px}
.footer-grid{padding:62px 0 50px;gap:88px}
.footer-brand img{width:210px;margin-bottom:14px}
.footer-brand p{font-size:16px;line-height:1.55;margin-bottom:28px}
.footer-brand strong,.site-footer h3{font-size:17px;line-height:1.25;margin-bottom:16px;font-weight:800}
.footer-links{gap:12px 42px}
.footer-links a{font-size:15.5px;line-height:1.45;font-weight:700}
.socials{gap:10px}
.socials a{width:34px;height:34px;font-size:13px}
.newsletter input{height:42px;font-size:15px;padding:0 14px;margin-bottom:13px}
.newsletter p{font-size:14px;line-height:1.6;margin-bottom:13px}
.newsletter button{height:40px;font-size:13.5px;letter-spacing:.01em}
.footer-bottom{font-size:13px}
.bottom-inner{min-height:62px}

@media (max-width:1020px){
  .footer-grid{gap:38px;padding:52px 0 42px}
  .footer-brand img{width:200px}
  .footer-brand p{font-size:16px}
  .footer-brand strong,.site-footer h3{font-size:17px}
  .footer-links a{font-size:15.5px}
  .newsletter p{font-size:14px}
  .footer-bottom{font-size:13px}
}

@media (max-width:640px){
  .footer-grid{padding:44px 0 38px}
  .footer-brand img{width:190px}
  .footer-brand p{font-size:15.5px}
  .footer-brand strong,.site-footer h3{font-size:16.5px}
  .footer-links a{font-size:15.5px}
  .newsletter input{height:42px;font-size:14.5px}
  .newsletter button{height:40px;font-size:13px}
  .bottom-inner{font-size:12.5px;line-height:1.5}
}


/* Contact popup form */
.round-link svg{width:21px;height:21px;display:block}
.contact-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:18px;opacity:0;transition:opacity .22s ease}
.contact-modal.is-open{display:flex;opacity:1}
.contact-backdrop{position:absolute;inset:0;background:rgba(0,38,84,.74);backdrop-filter:blur(2px)}
.contact-dialog{position:relative;z-index:1;width:min(1030px,100%);max-height:calc(100vh - 30px);overflow:auto;background:#fff;border-radius:18px;padding:30px 48px 36px;box-shadow:0 28px 90px rgba(0,0,0,.35);color:#002654;outline:none}
.contact-close{position:absolute;right:18px;top:14px;width:36px;height:36px;border:none;border-radius:50%;background:#f3fbff;color:var(--dark);font-size:28px;line-height:1;cursor:pointer;font-family:Arial,sans-serif}
.contact-close:hover{background:#dff5ff}
.contact-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px;padding-right:38px}
.contact-heading h2{font-size:32px;line-height:1.05;margin:0 0 7px;color:#002654;letter-spacing:-.035em;font-weight:800}
.contact-heading p{font-size:17px;line-height:1.45;color:#4b6686;margin:0;font-weight:400}
.contact-heading img{width:180px;margin-top:7px;flex:0 0 auto}
.contact-form{display:grid;gap:12px}
.contact-form label:not(.privacy-check){font-size:15px;font-weight:700;color:#002654;margin-top:2px;line-height:1.2}
.contact-form input:not([type="checkbox"]),.contact-form select{width:100%;height:43px;border:1px solid #cfe8f6;border-radius:10px;background:#fff;color:#2f4f70;padding:0 15px;font:500 14px/1.2 Poppins,Arial,sans-serif;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.contact-form input:focus,.contact-form select:focus{border-color:#6fd2ff;box-shadow:0 0 0 4px rgba(203,233,232,.55)}
.contact-form input::placeholder{color:#6b7e96;opacity:1}
.contact-form select{appearance:auto;color:#4b6686}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.privacy-check{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:600;color:#002654;line-height:1.35;margin-top:0}
.privacy-check input{width:22px;height:22px;margin:0;accent-color:var(--dark);flex:0 0 auto}
.contact-submit{justify-self:start;min-width:150px;height:55px;border:none;border-radius:999px;background:#002654;color:#fff;font:800 18px/1 Poppins,Arial,sans-serif;padding:0 30px;cursor:pointer;transition:.22s ease;margin-top:3px}
.contact-submit:hover{background:#001b3d;transform:translateY(-1px)}
.contact-submit:disabled{opacity:.7;cursor:wait;transform:none}
.contact-message{min-height:22px;margin:0;color:#002654;font-size:14px;font-weight:700}
.contact-message.is-error{color:#b42318}
.contact-message.is-success{color:#067647}
.contact-info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:28px;align-items:center}
.contact-info-item{display:flex;align-items:center;gap:14px;min-width:0;color:#002654}
.contact-info-icon{width:46px;height:46px;border-radius:50%;background:#f3fbff;display:grid;place-items:center;flex:0 0 auto;color:#002654;box-shadow:0 5px 18px rgba(0,38,84,.10)}
.contact-info-icon svg{width:25px;height:25px;display:block}
.contact-info-item strong{display:block;font-size:18px;line-height:1.15;margin-bottom:4px;font-weight:800;color:#002654}
.contact-info-item span:not(.contact-info-icon){display:block;font-size:16px;line-height:1.35;color:#4b6686;font-weight:400}
body.contact-modal-open{overflow:hidden}

@media (max-width:900px){
  .round-link{display:grid;right:80px;top:17px}
  .contact-dialog{padding:28px 26px 32px}
  .contact-heading{padding-right:34px}
  .contact-heading img{width:150px}
  .contact-info-row{grid-template-columns:1fr;gap:18px}
}
@media (max-width:640px){
  .round-link{width:42px;height:42px;right:72px;top:15px}
  .round-link svg{width:20px;height:20px}
  .contact-modal{padding:10px}
  .contact-dialog{border-radius:16px;padding:24px 18px 28px;max-height:calc(100vh - 20px)}
  .contact-heading{display:block;padding-right:34px;margin-bottom:18px}
  .contact-heading h2{font-size:27px}
  .contact-heading p{font-size:15px}
  .contact-heading img{width:145px;margin-top:18px}
  .contact-form{gap:10px}
  .contact-form input:not([type="checkbox"]),.contact-form select{height:42px;border-radius:9px;font-size:13.5px}
  .contact-form label:not(.privacy-check),.privacy-check{font-size:14px}
  .contact-submit{height:50px;font-size:16px;min-width:138px}
  .contact-info-item strong{font-size:16px}
  .contact-info-item span:not(.contact-info-icon){font-size:14.5px}
}

@media (max-width:1020px){
  .round-link{display:grid;right:80px;top:17px;z-index:41}
}

/* Service card clickable title and image */
.service-card h3 a{color:inherit;text-decoration:none}
.service-card h3 a:hover{color:#dff5ff}
.service-image-link{display:block;margin-top:auto;border-radius:16px;overflow:hidden}
.service-image-link img{display:block;margin-top:0}


/* Blue theme update: main colors #002654 and #009ee9 */
:root{
  --dark:#002654;
  --dark-2:#002654;
  --deep:#002654;
  --text:#002654;
  --muted:#4b6686;
  --light:#dff5ff;
  --light-2:#eefaff;
  --pale:#f3fbff;
  --cream:#f3fbff;
  --shadow:0 24px 60px rgba(0,38,84,.16);
}
.logo-pill{box-shadow:0 12px 24px rgba(0,38,84,.14)}
.main-nav{background:rgba(0,38,84,.28)}
.main-nav a:hover,.main-nav .nav-cta{background:#009ee9;color:#fff}
.round-link,.menu-toggle{background:#e6f7ff;color:#002654}
.hero-overlay{background:linear-gradient(180deg,rgba(0,38,84,.84),rgba(0,158,233,.36) 52%,rgba(0,38,84,.86))}
.hero::after{background:linear-gradient(180deg,transparent,rgba(0,38,84,.30))}
.btn-dark,.contact-submit,.newsletter button,.socials a{background:#002654;color:#fff}
.btn-dark:hover,.contact-submit:hover,.newsletter button:hover{background:#009ee9;color:#fff}
.btn-light,.small-btn{color:#002654}
.btn-light:hover,.contact-close:hover{background:#dff5ff}
.eyebrow,.category-pill,.feature-strip,.project-card,.career-card,.site-footer{background:#dff5ff;color:#002654}
.eyebrow.light{background:#eefaff;color:#002654}
.feature-strip{border-top-color:rgba(0,38,84,.10);border-bottom-color:rgba(0,38,84,.10)}
.strip-icon{background:rgba(0,158,233,.16);color:#009ee9}
.strip-grid div,.strip-grid strong,.intro h2,.projects h2,.news h2,.career h2,.testimonials h2,.project-copy h3,.news h3{color:#002654}
.strip-grid span:not(.strip-icon),.intro p,.project-copy p,.career p,.footer-links a,.newsletter p,.contact-heading p,.contact-info-item span:not(.contact-info-icon){color:#4b6686}
.expertise,.project-media,.footer-bottom{background:#002654}
.service-card{background:#003a80}
.service-card p{color:#dff5ff}
.service-card h3 a:hover{color:#009ee9}
.tags span{border-color:rgba(0,38,84,.48);color:#002654;background:rgba(255,255,255,.16)}
.slider-controls button{background:#eefaff;color:#002654}
.quote-card{background:#f3fbff}
.stars{color:#009ee9}
.person:before{background:linear-gradient(135deg,#009ee9,#8cddff)}
.contact-dialog,.contact-heading h2,.contact-form label:not(.privacy-check),.privacy-check,.contact-message,.contact-info-item,.contact-info-icon,.contact-info-item strong{color:#002654}
.contact-backdrop{background:rgba(0,38,84,.74)}
.contact-form input:focus,.contact-form select:focus{border-color:#009ee9;box-shadow:0 0 0 4px rgba(0,158,233,.18)}
.contact-info-icon{background:#eefaff}

/* Sticky header on desktop and mobile */
html{scroll-padding-top:92px}
.site-header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  bottom:auto !important;
  z-index:9999;
  transition:background .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
}
.site-header.header-scrolled{
  background:rgba(0,38,84,.92);
  box-shadow:0 10px 28px rgba(0,38,84,.18);
  backdrop-filter:blur(12px);
}
@media (max-width:1020px){
  html{scroll-padding-top:86px}
  .site-header{position:fixed !important;justify-content:flex-end}
  .main-nav{z-index:9998}
}
@media (max-width:640px){
  html{scroll-padding-top:78px}
  .site-header{position:fixed !important}
}

/* Round go-to-top button */
.back-to-top{
  position:fixed;
  right:24px;
  bottom:24px;
  width:54px;
  height:54px;
  border:0;
  border-radius:50%;
  background:#009ee9;
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(18px) scale(.92);
  box-shadow:0 14px 30px rgba(0,38,84,.28);
  transition:opacity .22s ease, visibility .22s ease, transform .22s ease, background .22s ease;
  z-index:900;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.back-to-top:hover,.back-to-top:focus-visible{
  background:#002654;
  transform:translateY(-3px) scale(1.02);
  outline:none;
}
.back-to-top svg{
  width:24px;
  height:24px;
  display:block;
}
@media (max-width:640px){
  .back-to-top{
    right:18px;
    bottom:18px;
    width:48px;
    height:48px;
  }
  .back-to-top svg{width:22px;height:22px}
}

/* Newsletter form email sending and inline messages */
.newsletter{position:relative}
.newsletter-label{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.newsletter input[name="newsletter_email"]{border:1px solid transparent;transition:border-color .2s ease,box-shadow .2s ease}
.newsletter input[name="newsletter_email"]:focus{outline:none;border-color:#009ee9;box-shadow:0 0 0 4px rgba(0,158,233,.18)}
.newsletter input[name="newsletter_email"].has-error{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.14)}
.newsletter-field-message,.newsletter-submit-message{min-height:20px;margin:-6px 0 8px!important;font-size:12.5px!important;line-height:1.35!important;font-weight:700;color:#4b6686}
.newsletter-submit-message{margin-top:0!important}
.newsletter-field-message.is-error,.newsletter-submit-message.is-error{color:#b42318}
.newsletter-field-message.is-success,.newsletter-submit-message.is-success{color:#067647}
.newsletter button:disabled{opacity:.68;cursor:not-allowed}
@media (max-width:640px){.newsletter-field-message,.newsletter-submit-message{font-size:12px!important}}

/* Button color refinement: #002654, #009ee9 and #ffffff */
.btn,
.small-btn,
.nav-cta,
.round-link,
.menu-toggle,
.slider-controls button,
.contact-submit,
.newsletter button,
.back-to-top,
.socials a{
  transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}

.btn-dark,
.contact-submit,
.newsletter button,
.socials a{
  background:#002654!important;
  color:#ffffff!important;
  border-color:#002654!important;
}
.btn-dark:hover,
.btn-dark:focus-visible,
.contact-submit:hover,
.contact-submit:focus-visible,
.newsletter button:hover,
.newsletter button:focus-visible,
.socials a:hover,
.socials a:focus-visible{
  background:#009ee9!important;
  color:#ffffff!important;
  border-color:#009ee9!important;
  box-shadow:0 14px 30px rgba(0,158,233,.22);
}

.btn-light,
.small-btn{
  background:#ffffff!important;
  color:#002654!important;
  border-color:#ffffff!important;
}
.btn-light:hover,
.btn-light:focus-visible,
.small-btn:hover,
.small-btn:focus-visible{
  background:#009ee9!important;
  color:#ffffff!important;
  border-color:#009ee9!important;
  box-shadow:0 14px 30px rgba(0,38,84,.16);
}

.btn-outline{
  background:rgba(255,255,255,.08)!important;
  color:#ffffff!important;
  border-color:#ffffff!important;
}
.btn-outline:hover,
.btn-outline:focus-visible{
  background:#ffffff!important;
  color:#002654!important;
  border-color:#ffffff!important;
  box-shadow:0 14px 30px rgba(255,255,255,.16);
}

.nav-cta,
.main-nav .nav-cta{
  background:#009ee9!important;
  color:#ffffff!important;
  border-color:#009ee9!important;
}
.nav-cta:hover,
.nav-cta:focus-visible,
.main-nav .nav-cta:hover,
.main-nav .nav-cta:focus-visible{
  background:#ffffff!important;
  color:#002654!important;
  border-color:#ffffff!important;
}

.round-link,
.menu-toggle,
.slider-controls button,
.back-to-top{
  background:#009ee9!important;
  color:#ffffff!important;
  border-color:#009ee9!important;
}
.round-link:hover,
.round-link:focus-visible,
.menu-toggle:hover,
.menu-toggle:focus-visible,
.slider-controls button:hover,
.slider-controls button:focus-visible,
.back-to-top:hover,
.back-to-top:focus-visible{
  background:#002654!important;
  color:#ffffff!important;
  border-color:#002654!important;
  box-shadow:0 14px 30px rgba(0,38,84,.24);
}

.newsletter button:disabled,
.contact-submit:disabled{
  background:#002654!important;
  color:#ffffff!important;
  opacity:.68;
  box-shadow:none;
  transform:none;
}

/* Native scrolling stays enabled. JS adds a soft ice-style momentum tail without blocking wheel/touch. */
html{
  scroll-behavior:auto!important;
}
body{
  overscroll-behavior-y:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
}

/* Round email icon hover: white border */
.round-link:hover,
.round-link:focus-visible{
  border-color:#ffffff!important;
}

/* Contact modal position fix: keep popup below sticky header */
:root{--sticky-header-height:84px}
@media (max-width:1020px){:root{--sticky-header-height:78px}}
@media (max-width:640px){:root{--sticky-header-height:72px}}
.contact-modal{
  top:var(--sticky-header-height) !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  inset:var(--sticky-header-height) 0 0 0 !important;
  height:auto !important;
  min-height:0 !important;
  z-index:9990;
  align-items:flex-start;
  justify-content:center;
  padding:18px;
}
.contact-dialog{
  max-height:calc(100dvh - var(--sticky-header-height) - 36px);
}
@supports not (height:100dvh){
  .contact-dialog{max-height:calc(100vh - var(--sticky-header-height) - 36px)}
}
@media (max-width:640px){
  .contact-modal{padding:10px}
  .contact-dialog{max-height:calc(100dvh - var(--sticky-header-height) - 20px)}
  @supports not (height:100dvh){.contact-dialog{max-height:calc(100vh - var(--sticky-header-height) - 20px)}}
}


/* Hero video background with instant image fallback */
.hero.section-dark{
  background-image:url('../images/infra-point-nl-hero.webp');
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
}
.hero-bg-video{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease;
}
.hero.hero-video-ready .hero-bg-video{opacity:1}
.hero-overlay{z-index:1}
.hero::after{z-index:2}
.hero-content{z-index:4}

/* Internal Over Ons page */
.page-over-ons{background:#ffffff;color:#002654}
.over-hero{
  position:relative;
  min-height:330px;
  display:grid;
  place-items:center;
  padding:118px 0 70px;
  color:#ffffff;
  text-align:center;
  background-image:linear-gradient(180deg,rgba(0,38,84,.70),rgba(0,158,233,.30)),url('../images/infra-point-nl-over-ons-hero.webp');
  background-size:cover;
  background-position:center 34%;
  overflow:hidden;
}
.over-hero::after{content:"";position:absolute;inset:0;background:rgba(0,38,84,.20)}
.over-hero .container{position:relative;z-index:2}
.over-hero h1{font-size:clamp(46px,6vw,70px);line-height:1;margin:0 0 18px;font-weight:800;letter-spacing:-.055em;color:#ffffff;text-shadow:0 8px 28px rgba(0,38,84,.34)}
.breadcrumb{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:800;color:#ffffff}
.breadcrumb a{color:#ffffff}.breadcrumb span{opacity:.85}.breadcrumb .current{color:#dff5ff}
.over-intro-dark{background:#ffffff;color:#002654;padding:72px 0 74px;border-bottom:1px solid rgba(0,38,84,.08)}
.over-intro-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);gap:86px;align-items:center;max-width:1060px;margin-inline:auto}
.over-intro-grid h2{font-size:clamp(28px,3vw,44px);line-height:1.08;margin:0 0 20px;color:#002654;letter-spacing:-.04em;font-weight:800}
.over-intro-grid p{font-size:17px;line-height:1.82;margin:0 0 18px;color:#4b6686;font-weight:600}
.over-intro-image{height:370px;border-radius:18px;overflow:hidden;box-shadow:0 28px 60px rgba(0,0,0,.20)}
.over-intro-image img{width:100%;height:100%;object-fit:cover}
.about-main{background:#ffffff;padding:48px 0 40px}
.about-two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;max-width:1000px;margin-inline:auto}
.about-soft-card{background:#dff5ff;border-radius:18px;padding:34px 36px;color:#002654;min-height:370px}
.about-soft-card h2,.mission-card h2{font-size:clamp(24px,2.4vw,34px);line-height:1.12;margin:0 0 16px;color:#002654;letter-spacing:-.03em;font-weight:800}
.about-soft-card p,.mission-card p{font-size:14px;line-height:1.78;margin:0 0 14px;color:#244b73;font-weight:600}
.mission-card{padding:4px 0 0;color:#002654}
.mission-card h3{font-size:21px;line-height:1.15;margin:0 0 8px;color:#002654;font-weight:800;letter-spacing:-.02em}
.mission-card h3:not(:first-child){margin-top:18px}
.stats-card{margin-top:24px;background:#dff5ff;border-radius:16px;padding:25px 22px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;text-align:center;color:#002654}
.stat strong{display:block;font-size:clamp(34px,4.4vw,52px);line-height:1;color:#002654;letter-spacing:-.04em;font-weight:800}.stat span{display:block;font-size:13px;font-weight:700;color:#244b73;margin-top:4px}
.value-section{background:#f6fbff;padding:52px 0 58px}.value-section h2,.steps-section h2,.faq-section h2{font-size:clamp(29px,3.2vw,44px);line-height:1.08;margin:0 0 34px;color:#002654;letter-spacing:-.035em;font-weight:800}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;max-width:1000px;margin-inline:auto}.value-card{text-align:left;color:#002654}.value-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#dff5ff;color:#002654;margin-bottom:20px;box-shadow:0 12px 26px rgba(0,158,233,.16)}.value-icon svg{width:27px;height:27px}.value-card h3{font-size:18px;line-height:1.1;margin:0 0 10px;color:#002654;font-weight:800}.value-card p{font-size:13.5px;line-height:1.65;margin:0;color:#4b6686;font-weight:600}
.steps-section{background:#ffffff;padding:64px 0 58px}.steps-head{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:start;margin-bottom:34px}.steps-head p{margin:8px 0 0;font-size:14px;line-height:1.7;color:#4b6686;font-weight:600}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.step-card{position:relative;min-height:300px;border:1.6px solid rgba(0,38,84,.42);border-radius:10px;padding:22px 18px 24px;background:#ffffff;overflow:hidden}.step-card::before{content:"";position:absolute;top:0;left:0;right:0;height:74px;border-bottom:1.6px solid rgba(0,38,84,.42)}.step-card::after{content:"";position:absolute;top:0;left:58px;width:1.5px;height:144px;background:rgba(0,38,84,.26)}.step-num{position:relative;z-index:2;display:block;font-size:18px;font-weight:800;margin-bottom:94px;color:#002654}.step-icon{position:absolute;top:84px;left:58px;transform:translate(-50%,-50%);z-index:3;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#dff5ff;color:#002654;box-shadow:0 10px 22px rgba(0,158,233,.17)}.step-icon svg{width:24px;height:24px}.step-card h3{font-size:16px;line-height:1.2;margin:0 0 12px;color:#002654;font-weight:800}.step-card p{font-size:12.5px;line-height:1.65;color:#4b6686;margin:0;font-weight:600}
.faq-section{background:#ffffff;padding:4px 0 62px}.faq-list{width:100%;max-width:none;margin-inline:0;display:grid;gap:15px}.faq-item{border:none;border-radius:999px;background:#f6fbff;overflow:hidden;box-shadow:0 2px 0 rgba(0,38,84,.02);transition:background-color .34s ease,border-radius .34s ease,box-shadow .34s ease}.faq-question{width:100%;border:none;background:transparent;color:#002654;font-family:inherit;font-size:14px;font-weight:800;line-height:1.3;text-align:left;padding:17px 58px 17px 25px;position:relative;cursor:pointer}.faq-question::after{content:'+';position:absolute;right:24px;top:50%;transform:translateY(-50%);font-size:24px;line-height:1;color:#009ee9;font-weight:400;transition:transform .34s ease,color .34s ease}.faq-item.is-open{border-radius:22px;background:#dff5ff;box-shadow:0 18px 42px rgba(0,38,84,.24)}.faq-item.is-open .faq-question::after{content:'−';transform:translateY(-50%) rotate(180deg)}.faq-answer{display:block;max-height:0;overflow:hidden;border-top:3px solid transparent;margin:0 22px;padding:0 3px;opacity:0;box-sizing:border-box;transition:max-height .52s cubic-bezier(.22,.61,.36,1),padding .4s ease,opacity .32s ease,border-color .36s ease}.faq-item.is-open .faq-answer{border-top-color:#ffffff;padding:16px 3px 22px;opacity:1}.faq-answer p{font-size:13.5px;line-height:1.7;margin:0;color:#4b6686;font-weight:600}
.about-contact{background:#ffffff;padding:14px 0 62px}.contact-panel{position:relative;max-width:1000px;margin-inline:auto;background:#f6fbff;border-radius:18px;padding:38px 22px 140px;text-align:center}.contact-panel .eyebrow{margin-bottom:12px}.contact-panel h2{font-size:clamp(36px,4.2vw,58px);line-height:1;margin:0 0 16px;color:#002654;letter-spacing:-.05em}.contact-panel-intro{max-width:820px;margin:0 auto 32px;color:#4b6686;font-size:18px;line-height:1.65;font-weight:600}.contact-panel-note{margin:28px auto 0;color:#002654;font-size:19px;line-height:1.5;font-weight:800}.contact-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.contact-box{background:#ffffff;border-radius:12px;padding:24px 26px;text-align:left;display:flex;align-items:center;gap:15px;box-shadow:0 12px 28px rgba(0,38,84,.06)}.contact-box-icon{flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#dff5ff;color:#009ee9;display:grid;place-items:center}.contact-box svg{width:22px;height:22px}.contact-box strong{display:block;font-size:14px;color:#002654;line-height:1.2;margin-bottom:4px}.contact-box span{display:block;font-size:13px;color:#4b6686;font-weight:600;line-height:1.45}.advice-form-wrap{max-width:640px;margin:-108px auto 0;background:#dff5ff;border-radius:24px;padding:34px 42px 38px;position:relative;z-index:2;box-shadow:0 24px 60px rgba(0,38,84,.13)}.advice-form-wrap h2{font-size:clamp(30px,3.6vw,44px);line-height:1.05;margin:0 0 18px;text-align:center;color:#002654;letter-spacing:-.04em}.page-contact-form{display:grid;gap:10px;text-align:left}.page-contact-form label{font-size:12.5px;font-weight:800;color:#002654;line-height:1.15}.page-contact-form input,.page-contact-form textarea{width:100%;border:1px solid rgba(0,38,84,.08);background:#ffffff;border-radius:6px;min-height:35px;padding:8px 12px;font-family:inherit;font-size:12.5px;color:#002654;outline:none;transition:.2s ease}.page-contact-form textarea{height:78px;resize:vertical}.page-contact-form input:focus,.page-contact-form textarea:focus{border-color:#009ee9;box-shadow:0 0 0 4px rgba(0,158,233,.15)}.page-contact-form .privacy-check{font-size:12.5px;font-weight:700;line-height:1.35;color:#002654;display:flex;gap:9px;align-items:flex-start}.page-contact-form .privacy-check input{width:15px;height:15px;min-height:auto;margin-top:1px;box-shadow:none}.page-contact-form .contact-submit{justify-self:start;border:none;border-radius:999px;padding:13px 22px;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer}.page-contact-message{min-height:20px;margin:0;font-size:13px;font-weight:800;color:#4b6686}.page-contact-message.is-success{color:#067647}.page-contact-message.is-error{color:#b42318}.map-section{height:520px;background:#f6fbff;overflow:hidden}.map-section iframe{display:block;width:100%;height:100%;border:0;filter:saturate(1.08) contrast(1.03)}
@media (max-width:1020px){.over-intro-grid,.about-two-col,.steps-head{grid-template-columns:1fr;gap:30px}.over-intro-image{height:340px}.value-grid,.steps-grid{grid-template-columns:repeat(2,1fr)}.contact-boxes{grid-template-columns:1fr}.contact-panel{padding-bottom:120px}.advice-form-wrap{margin-top:-96px}.over-hero{padding-top:120px}.faq-question{font-size:13.5px}}
@media (max-width:640px){.over-hero{min-height:270px;padding:106px 0 50px}.over-hero h1{font-size:42px}.over-intro-dark{padding:46px 0 50px}.over-intro-grid h2{font-size:30px}.over-intro-grid p{font-size:16.5px;line-height:1.76}.over-intro-image{height:260px}.about-main{padding:34px 0}.about-soft-card{padding:26px 24px;min-height:auto}.stats-card{grid-template-columns:1fr 1fr}.value-section,.steps-section{padding:42px 0}.value-grid,.steps-grid{grid-template-columns:1fr;gap:22px}.steps-head{gap:12px}.step-card{min-height:260px}.faq-section{padding-bottom:42px}.faq-question{border-radius:18px;padding:15px 48px 15px 18px}.faq-answer{margin:0 14px;padding:0 4px}.faq-item.is-open .faq-answer{padding:14px 4px 22px}.faq-item{border-radius:18px}.contact-panel{padding:30px 16px 96px}.contact-panel h2{font-size:38px}.contact-panel-intro{font-size:17px;margin-bottom:24px}.contact-panel-note{font-size:17px;margin-top:22px}.contact-box{padding:20px}.advice-form-wrap{margin-top:-76px;padding:28px 22px;border-radius:20px}.advice-form-wrap h2{font-size:31px}.map-section{height:360px}}


/* Center icons inside the contact circles */
.contact-box .contact-box-icon{
  display:flex !important;
  align-items:center;
  justify-content:center;
  line-height:0;
  text-align:center;
}
.contact-box .contact-box-icon svg{
  display:block;
  margin:0;
  flex:0 0 auto;
}

/* Bigger normal text on the Over Ons page (headings are not changed) */
.page-over-ons .over-intro-grid p{
  font-size:17px;
  line-height:1.82;
}
.page-over-ons .breadcrumb,
.page-over-ons .about-soft-card p,
.page-over-ons .mission-card p,
.page-over-ons .steps-head p{
  font-size:16px;
  line-height:1.78;
}
.page-over-ons .stat span,
.page-over-ons .value-card p,
.page-over-ons .faq-answer p,
.page-over-ons .contact-box span{
  font-size:15.5px;
  line-height:1.72;
}
.page-over-ons .step-card p{
  font-size:14.5px;
  line-height:1.72;
}
.page-over-ons .faq-question{
  font-size:16px;
  line-height:1.35;
}
.page-over-ons .page-contact-form label,
.page-over-ons .page-contact-form input,
.page-over-ons .page-contact-form textarea,
.page-over-ons .page-contact-form .privacy-check,
.page-over-ons .page-contact-message{
  font-size:14.5px;
  line-height:1.45;
}
.page-over-ons .page-contact-form input,
.page-over-ons .page-contact-form textarea{
  min-height:40px;
}

@media (max-width:640px){
  .page-over-ons .breadcrumb,
  .page-over-ons .over-intro-grid p,
  .page-over-ons .about-soft-card p,
  .page-over-ons .mission-card p,
  .page-over-ons .steps-head p{
    font-size:15.5px;
  }
  .page-over-ons .value-card p,
  .page-over-ons .faq-answer p,
  .page-over-ons .contact-box span{
    font-size:15px;
  }
  .page-over-ons .step-card p{
    font-size:14.5px;
  }
  .page-over-ons .faq-question{
    font-size:15.5px;
  }
}


/* Stronger mobile normal text sizes for Over Ons page */
@media (max-width:768px){
  .page-over-ons .container p,
  .page-over-ons .container li,
  .page-over-ons .container label,
  .page-over-ons .container input,
  .page-over-ons .container textarea,
  .page-over-ons .container select,
  .page-over-ons .elementor-element.elementor-element-6b7ab00.e-con-full.e-flex.e-con.e-child p{
    font-size:16.5px !important;
    line-height:1.78 !important;
  }

  .page-over-ons .breadcrumb,
  .page-over-ons .over-intro-grid p,
  .page-over-ons .about-soft-card p,
  .page-over-ons .mission-card p,
  .page-over-ons .steps-head p,
  .page-over-ons .elementor-element.elementor-element-6b7ab00.e-con-full.e-flex.e-con.e-child p{
    font-size:17px !important;
    line-height:1.8 !important;
  }

  .page-over-ons .value-card p,
  .page-over-ons .step-card p,
  .page-over-ons .contact-box span,
  .page-over-ons .stat span{
    font-size:16.2px !important;
    line-height:1.76 !important;
  }

  .page-over-ons .faq-question{
    font-size:17px !important;
    line-height:1.45 !important;
    padding-top:19px !important;
    padding-bottom:19px !important;
  }

  .page-over-ons .faq-answer p{
    font-size:16.5px !important;
    line-height:1.78 !important;
  }

  .page-over-ons .faq-item.is-open .faq-answer{
    padding-top:18px !important;
    padding-bottom:28px !important;
  }

  .page-over-ons .page-contact-form label,
  .page-over-ons .page-contact-form input,
  .page-over-ons .page-contact-form textarea,
  .page-over-ons .page-contact-form .privacy-check,
  .page-over-ons .page-contact-message{
    font-size:16px !important;
    line-height:1.5 !important;
  }
}

@media (max-width:480px){
  .page-over-ons .container p,
  .page-over-ons .container li,
  .page-over-ons .over-intro-grid p,
  .page-over-ons .about-soft-card p,
  .page-over-ons .mission-card p,
  .page-over-ons .steps-head p,
  .page-over-ons .elementor-element.elementor-element-6b7ab00.e-con-full.e-flex.e-con.e-child p{
    font-size:16.5px !important;
    line-height:1.78 !important;
  }

  .page-over-ons .faq-question{
    font-size:16.8px !important;
    line-height:1.45 !important;
  }

  .page-over-ons .faq-answer p,
  .page-over-ons .value-card p,
  .page-over-ons .step-card p,
  .page-over-ons .contact-box span,
  .page-over-ons .stat span{
    font-size:16px !important;
    line-height:1.76 !important;
  }
}

/* Internal Projecten page */
.page-projecten{background:#ffffff;color:#002654}
.projects-hero{
  position:relative;
  min-height:360px;
  display:grid;
  place-items:center;
  padding:126px 0 72px;
  color:#ffffff;
  text-align:center;
  background-image:linear-gradient(180deg,rgba(0,38,84,.72),rgba(0,158,233,.28)),url('../images/infra-point-nl-projecten-hero.webp');
  background-size:cover;
  background-position:center 34%;
  overflow:hidden;
}
.projects-hero::after{content:"";position:absolute;inset:0;background:rgba(0,38,84,.16)}
.projects-hero .container{position:relative;z-index:2}
.projects-hero h1{font-size:clamp(52px,6.6vw,82px);line-height:.98;margin:0 0 18px;font-weight:800;letter-spacing:-.055em;color:#ffffff;text-shadow:0 12px 34px rgba(0,38,84,.36)}
.projects-directory{background:#ffffff;padding:78px 0 84px}
.projects-wrap{width:min(1100px,calc(100% - 70px));margin-inline:auto}
.project-filter-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 36px}
.project-filter{display:inline-flex;align-items:center;gap:7px;min-height:48px;border:1.4px solid rgba(0,38,84,.13);border-radius:999px;background:#ffffff;color:#002654;padding:0 22px;font-family:inherit;font-weight:800;font-size:15px;line-height:1;box-shadow:0 9px 22px rgba(0,38,84,.05);cursor:pointer;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.project-filter:hover{transform:translateY(-2px);border-color:#009ee9;box-shadow:0 14px 30px rgba(0,38,84,.10)}
.project-filter.is-active{background:#dff5ff;border-color:#dff5ff}
.filter-icon{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#ffffff;color:#009ee9;box-shadow:0 8px 18px rgba(0,158,233,.12);margin-left:-9px}.filter-icon svg{width:17px;height:17px}
.project-grid-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.projects-page-card{background:#ffffff;border-radius:19px;overflow:hidden;box-shadow:0 14px 42px rgba(0,38,84,.10);border:1px solid rgba(0,38,84,.04);transition:transform .25s ease,box-shadow .25s ease}
.projects-page-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(0,38,84,.15)}
.projects-page-card-head{padding:31px 29px 27px}.project-category{display:inline-flex;align-items:center;justify-content:center;margin:0 0 17px;padding:6px 13px;background:#f3fbff;border-radius:999px;color:#002654;font-size:12.5px;font-weight:800;line-height:1}.projects-page-card h2{margin:0 0 11px;font-size:clamp(25px,2.3vw,31px);line-height:1.16;color:#002654;font-weight:800;letter-spacing:-.035em}.projects-page-card-head p{margin:0;color:#4b6686;font-size:17px;line-height:1.55;font-weight:600}.projects-page-image{width:100%;height:330px;object-fit:cover;object-position:center;display:block}.project-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 32px;padding:25px 28px 29px}.project-info-item{display:flex;align-items:center;gap:14px;min-width:0}.project-info-icon{flex:0 0 43px;width:43px;height:43px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3fbff;color:#002654;box-shadow:0 8px 18px rgba(0,38,84,.04)}.project-info-icon svg{width:22px;height:22px;display:block}.project-info-item strong{display:block;color:#002654;font-size:14px;line-height:1.18;font-weight:800;margin-bottom:5px}.project-info-item span:not(.project-info-icon){display:block;color:#4b6686;font-size:13.5px;line-height:1.28;font-weight:600}.project-load-wrap{display:flex;justify-content:center;padding-top:56px}.project-load-more{border:0;border-radius:999px;background:#002654;color:#ffffff;padding:19px 39px;min-width:146px;font-family:inherit;font-size:16px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 16px 34px rgba(0,38,84,.22);transition:background .22s ease,transform .22s ease,box-shadow .22s ease}.project-load-more:hover{background:#009ee9;transform:translateY(-2px);box-shadow:0 20px 42px rgba(0,158,233,.28)}
@media (max-width:1020px){.projects-hero{min-height:320px;padding-top:116px}.projects-wrap{width:min(760px,calc(100% - 38px))}.project-grid-page{grid-template-columns:1fr}.projects-page-image{height:360px}.project-filter-row{gap:12px}.project-filter{font-size:14.5px;min-height:46px;padding:0 18px}}
@media (max-width:640px){.projects-hero{min-height:282px;padding:104px 0 50px}.projects-hero h1{font-size:45px}.projects-directory{padding:50px 0 62px}.projects-wrap{width:calc(100% - 30px)}.project-filter-row{margin-bottom:26px}.project-filter{font-size:14px;min-height:43px;padding:0 15px}.project-grid-page{gap:26px}.projects-page-card{border-radius:17px}.projects-page-card-head{padding:25px 22px 22px}.projects-page-card h2{font-size:25px}.projects-page-card-head p{font-size:16.5px;line-height:1.55}.projects-page-image{height:260px}.project-info-grid{grid-template-columns:1fr;gap:16px;padding:22px}.project-info-item strong{font-size:14.5px}.project-info-item span:not(.project-info-icon){font-size:14px}.project-load-wrap{padding-top:40px}.project-load-more{font-size:15px;padding:17px 34px}}
@media (max-width:420px){.projects-page-image{height:230px}.project-filter-row{display:grid;grid-template-columns:1fr 1fr}.project-filter{justify-content:center;padding:0 10px}.project-filter.is-active{grid-column:1/-1}.filter-icon{margin-left:0}.projects-page-card h2{font-size:23px}}

/* Internal Diensten page */
.page-diensten{background:#ffffff;color:#002654}
.diensten-hero{
  position:relative;
  min-height:360px;
  display:grid;
  place-items:center;
  padding:126px 0 72px;
  color:#ffffff;
  text-align:center;
  background-image:linear-gradient(180deg,rgba(0,38,84,.72),rgba(0,158,233,.28)),url('../images/infra-point-nl-diensten-hero.webp');
  background-size:cover;
  background-position:center 34%;
  overflow:hidden;
}
.diensten-hero::after{content:"";position:absolute;inset:0;background:rgba(0,38,84,.15)}
.diensten-hero .container{position:relative;z-index:2}
.diensten-hero h1{font-size:clamp(52px,6.6vw,82px);line-height:.98;margin:0 0 18px;font-weight:800;letter-spacing:-.055em;color:#ffffff;text-shadow:0 12px 34px rgba(0,38,84,.36)}
.diensten-intro{background:#ffffff;padding:72px 0 70px}
.diensten-intro-grid{display:grid;grid-template-columns:1fr .94fr;gap:92px;align-items:center;max-width:1060px;margin-inline:auto}
.diensten-intro-copy p{font-size:17px;line-height:1.82;color:#4b6686;font-weight:600;margin:0 0 18px}
.diensten-intro-copy h2{font-size:22px;line-height:1.2;margin:24px 0 14px;color:#002654;font-weight:800;letter-spacing:-.02em}
.diensten-check-list{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px}
.diensten-check-list li{position:relative;padding-left:32px;font-size:16.5px;line-height:1.48;color:#4b6686;font-weight:600}
.diensten-check-list li::before{content:"✓";position:absolute;left:0;top:-1px;color:#002654;font-size:23px;line-height:1;font-weight:800}
.diensten-intro-image{border-radius:18px;overflow:hidden;margin:0;box-shadow:0 22px 50px rgba(0,38,84,.13)}
.diensten-intro-image img{width:100%;height:430px;object-fit:cover;object-position:center}
.diensten-intro-image-stack{display:grid;gap:30px;overflow:visible;border-radius:0;box-shadow:none}
.diensten-intro-image-stack img{display:block;height:300px;border-radius:18px;box-shadow:0 22px 50px rgba(0,38,84,.13)}

.diensten-intro-services{display:grid;gap:18px;margin:22px 0 28px}
.diensten-intro-services article{padding:0;margin:0}
.diensten-intro-services h2{font-size:27px;line-height:1.16;margin:0 0 7px;color:#002654;font-weight:900;letter-spacing:-.025em}
.diensten-intro-services p{margin:0;color:#4b6686;font-weight:600;font-size:18px;line-height:1.72}
.diensten-projecten-btn{margin-top:4px}
@media (max-width:640px){.diensten-intro-services{gap:20px;margin:24px 0 30px}.diensten-intro-services h2{font-size:24px;line-height:1.18}.diensten-intro-services p{font-size:17.5px;line-height:1.72}.diensten-projecten-btn{font-size:17px;padding:14px 22px}}
.diensten-impact{background:#dff5ff;padding:48px 0 50px}
.diensten-impact h2{max-width:850px;margin:0;font-size:clamp(39px,4.6vw,59px);line-height:1.15;color:#002654;font-weight:800;letter-spacing:-.045em}
.diensten-dark{background:#002654;color:#ffffff;padding:54px 0 72px}
.diensten-dark h2{text-align:center;margin:0 0 48px;color:#ffffff;font-size:clamp(38px,4.5vw,60px);line-height:1.08;font-weight:800;letter-spacing:-.05em}
.diensten-dark-grid{display:grid;grid-template-columns:1fr .96fr;gap:90px;max-width:1080px;margin-inline:auto;align-items:start}
.diensten-dark p{font-size:16.5px;line-height:1.85;color:#ffffff;font-weight:600;margin:0 0 18px}
.diensten-benefits{display:grid;gap:23px;padding-top:2px}
.diensten-benefits article{display:grid;grid-template-columns:40px 1fr;gap:18px;align-items:start}
.benefit-icon{width:31px;height:31px;color:#ffffff;display:grid;place-items:center;margin-top:2px}.benefit-icon svg{width:28px;height:28px;display:block}
.diensten-benefits h3{font-size:18px;line-height:1.18;margin:0 0 8px;color:#ffffff;font-weight:800}
.diensten-benefits p{font-size:16px;line-height:1.72;margin:0;color:#dff5ff;font-weight:600}
.diensten-cards-section{background:#f6fbff;padding:64px 0 78px}
.diensten-cards-wrap{max-width:1070px;margin-inline:auto}
.diensten-section-head{text-align:center;margin:0 auto 44px;max-width:820px}
.diensten-section-head h2{font-size:clamp(41px,4.8vw,60px);line-height:1.05;margin:0 0 12px;color:#002654;font-weight:800;letter-spacing:-.05em}
.diensten-section-head p{font-size:17px;line-height:1.55;color:#4b6686;font-weight:600;margin:0}
.diensten-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.diensten-service-card{background:#ffffff;border-radius:18px;padding:37px 37px 32px;box-shadow:0 18px 50px rgba(0,38,84,.09);border:1px solid rgba(0,38,84,.04);min-height:295px;transition:transform .24s ease,box-shadow .24s ease}
.diensten-service-card:hover{transform:translateY(-4px);box-shadow:0 26px 65px rgba(0,38,84,.14)}
.diensten-card-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f3fbff;color:#009ee9;margin-bottom:22px;box-shadow:0 10px 24px rgba(0,158,233,.10)}
.diensten-card-icon svg{width:23px;height:23px;display:block}.diensten-service-card h3{font-size:23px;line-height:1.18;margin:0 0 13px;color:#002654;font-weight:800;letter-spacing:-.02em}.diensten-service-card p{font-size:16.5px;line-height:1.72;margin:0;color:#4b6686;font-weight:600}.diensten-service-card p strong{color:#002654;font-weight:800}.diensten-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.diensten-tags span{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 14px;border-radius:999px;background:#f3fbff;color:#4b6686;font-size:13px;font-weight:700;line-height:1}
.diensten-load-wrap{display:flex;justify-content:center;padding-top:38px}.diensten-load-more{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#002654;color:#ffffff;padding:17px 34px;min-width:140px;font-family:inherit;font-size:15px;font-weight:800;line-height:1;box-shadow:0 16px 34px rgba(0,38,84,.22);transition:background .22s ease,transform .22s ease,box-shadow .22s ease}.diensten-load-more:hover{background:#009ee9;color:#ffffff;transform:translateY(-2px);box-shadow:0 20px 42px rgba(0,158,233,.28)}
@media (max-width:1020px){.diensten-hero{min-height:320px;padding-top:116px}.diensten-intro-grid,.diensten-dark-grid{grid-template-columns:1fr;gap:36px;max-width:760px}.diensten-intro-image img{height:380px}.diensten-impact h2{text-align:left}.diensten-dark h2{text-align:left}.diensten-card-grid{grid-template-columns:1fr;max-width:760px;margin-inline:auto}.diensten-intro{padding:58px 0}.diensten-dark{padding:50px 0 62px}}
@media (max-width:640px){.diensten-hero{min-height:282px;padding:104px 0 50px}.diensten-hero h1{font-size:45px}.diensten-intro{padding:45px 0}.diensten-intro-grid{gap:26px}.diensten-intro-copy p,.diensten-check-list li{font-size:16.5px;line-height:1.74}.diensten-intro-copy h2{font-size:21px}.diensten-intro-image img{height:285px}.diensten-impact{padding:38px 0}.diensten-impact h2{font-size:38px;line-height:1.16}.diensten-dark{padding:42px 0 52px}.diensten-dark h2{font-size:37px;margin-bottom:30px}.diensten-dark p,.diensten-benefits p{font-size:16px;line-height:1.76}.diensten-benefits article{grid-template-columns:34px 1fr;gap:14px}.diensten-cards-section{padding:48px 0 62px}.diensten-section-head h2{font-size:38px}.diensten-section-head p{font-size:16.5px}.diensten-service-card{padding:30px 24px;min-height:auto}.diensten-service-card h3{font-size:22px}.diensten-service-card p{font-size:16px;line-height:1.75}}

/* Real InfraPoint logo assets */
.logo-pill img, .footer-brand img, .news-logo img, .contact-logo img {
  height: auto;
  image-rendering: auto;
}
.news-logo img { width: 100%; max-width: 230px; }
.footer-brand img { width: 210px; max-width: 100%; }
.contact-logo img { width: 190px; max-width: 100%; }

/* Footer logo and newsletter rounded corners on all pages */
.site-footer .footer-brand img{
  border-radius:16px;
  overflow:hidden;
}
.site-footer .newsletter input,
.site-footer .newsletter textarea,
.site-footer .newsletter select{
  border-radius:14px;
}
.site-footer .newsletter button{
  border-radius:999px;
}

/* Contact page map spacing */
.page-contact .map-section{margin-bottom:20px;}


/* Updated Over ons intro text and service button */
.page-over-ons .over-intro-copy{max-width:650px}
.page-over-ons .over-intro-list{margin:0 0 20px 0;padding:0;list-style:none;display:grid;gap:9px}
.page-over-ons .over-intro-list li{position:relative;padding-left:28px;color:#244b73;font-size:16.5px;line-height:1.62;font-weight:700}
.page-over-ons .over-intro-list li::before{content:"✓";position:absolute;left:0;top:.02em;color:#009ee9;font-size:18px;line-height:1.5;font-weight:900}
.page-over-ons .over-intro-btn{margin-top:10px;background:#002654;color:#ffffff;border-color:#002654}
.page-over-ons .over-intro-btn:hover,.page-over-ons .over-intro-btn:focus-visible{background:#009ee9;color:#ffffff;border-color:#009ee9}
@media (max-width:768px){.page-over-ons .over-intro-list li{font-size:17px;line-height:1.72}.page-over-ons .over-intro-btn{font-size:15px;padding:14px 24px}}

@media (max-width:1020px){.diensten-intro-image-stack img{height:300px}}
@media (max-width:640px){.diensten-intro-image-stack{gap:30px}.diensten-intro-image-stack img{height:235px}}

/* Projecten page custom InfraPoint content */
.projects-intro-copy{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  margin:0 0 34px;
  padding:31px 29px 30px;
  border-radius:19px;
  background:#ffffff;
  border:3px solid #009ee9;
  box-shadow:0 14px 42px rgba(0,38,84,.10);
}
.projects-intro-copy p{
  margin:0;
  color:#4b6686;
  font-size:clamp(20px,2vw,25px);
  line-height:1.72;
  font-weight:650;
}
.project-card-body{
  padding:0 29px 31px;
  color:#31536d;
  font-size:18px;
  line-height:1.72;
  font-weight:550;
}
.project-card-body p{margin:0 0 16px}
.project-card-body p:last-child{margin-bottom:0}
.project-card-body ul{
  margin:0 0 17px;
  padding-left:23px;
}
.project-card-body li{margin:8px 0}
.project-inline-link{
  color:#009ee9;
  font-weight:850;
  text-decoration:none;
  border-bottom:2px solid rgba(0,158,233,.25);
}
.project-inline-link:hover{
  color:#002654;
  border-bottom-color:#002654;
}
@media (max-width:640px){
  .projects-intro-copy{padding:22px 20px;margin-bottom:26px;border-radius:17px}
  .projects-intro-copy p{font-size:19px;line-height:1.68}
  .project-card-body{font-size:17px;line-height:1.68;padding:0 22px 27px}
}

/* Projecten page category filtering */
.projects-page-card[hidden]{display:none !important}
.project-filter.is-active{background:#dff5ff;border-color:#009ee9;color:#002654;box-shadow:0 14px 32px rgba(0,158,233,.18)}
.project-grid-page.is-filtering .projects-page-card{animation:projectFilterFade .22s ease both}
@keyframes projectFilterFade{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Home expertise project text/cards */
.expertise .expertise-intro{max-width:1000px;font-size:18px;line-height:1.74;margin:-14px 0 34px;color:#dff5ff;font-weight:600}
.expertise .home-project-services{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.expertise .home-project-services .service-card{min-height:400px}
.expertise .home-project-services .service-card h3{font-size:22px;line-height:1.18}
.expertise .home-project-services .service-card p{font-size:15.5px;line-height:1.72}
.expertise .home-project-services .service-card img{height:150px}
@media (max-width:1180px){.expertise .home-project-services{grid-template-columns:repeat(2,minmax(0,1fr))}.expertise .home-project-services .service-card{min-height:370px}}
@media (max-width:640px){.expertise .expertise-intro{font-size:16.5px;line-height:1.72}.expertise .home-project-services{grid-template-columns:1fr}.expertise .home-project-services .service-card h3{font-size:22px}.expertise .home-project-services .service-card p{font-size:16px}.expertise .home-project-services .service-card img{height:205px}}

/* Updated moving testimonials */
.testimonials{overflow:hidden}
.testimonials .section-head{margin-bottom:28px}
.testimonial-marquee{overflow-x:auto;overflow-y:hidden;cursor:grab;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y pan-x;padding:6px 0 12px;user-select:none}
.testimonial-marquee::-webkit-scrollbar{display:none}
.testimonial-marquee.is-dragging{cursor:grabbing}
.testimonial-marquee.is-paused .quote-card{box-shadow:0 20px 44px rgba(0,38,84,.14)}
.testimonial-track{display:flex;align-items:stretch;gap:28px;width:max-content;padding:4px 2px 12px;will-change:scroll-position}
.testimonial-track .quote-card{flex:0 0 350px;min-height:292px;margin:0;background:#f3fbff;border:1px solid rgba(0,38,84,.10);box-shadow:0 16px 36px rgba(0,38,84,.08);transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}
.testimonial-track .quote-card:hover{transform:translateY(-3px);border-color:rgba(0,158,233,.42);box-shadow:0 22px 48px rgba(0,38,84,.16)}
.testimonial-track .quote-card p{font-size:15px;line-height:1.75;color:#244b73;margin-bottom:24px}
.testimonial-track .stars{color:#009ee9;opacity:.9}
.testimonial-track .person{display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding-left:0;min-height:48px}
.testimonial-track .person:before{display:none}
.testimonial-track .person img{grid-row:1/3;width:46px;height:46px;border-radius:50%;object-fit:cover;border:3px solid #ffffff;box-shadow:0 8px 18px rgba(0,38,84,.18);pointer-events:none}
.testimonial-track .person span{font-size:15px;color:#002654;line-height:1.15}
.testimonial-track .person small{font-size:12px;color:#4b6686;line-height:1.25}
.testimonials .review-btn{margin-top:30px}
@media (max-width:760px){.testimonial-track{gap:18px}.testimonial-track .quote-card{flex-basis:82vw;min-height:300px;padding:25px 22px}.testimonial-track .quote-card p{font-size:16px}.testimonial-track .person span{font-size:15px}.testimonial-track .person small{font-size:12px}}
@media (prefers-reduced-motion:reduce){.testimonial-marquee{scroll-behavior:auto}}

/* Home advertising/career section: two boxes with 15px gap */
.career .career-split-card{
  background:transparent;
  border-radius:0;
  box-shadow:none;
  min-height:auto;
  padding:0;
  overflow:visible;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:15px;
  align-items:stretch;
}
.career .career-box{
  background:#dff5ff;
  border-radius:18px;
  box-shadow:0 18px 48px rgba(0,38,84,.10);
  min-width:0;
}
.career .career-text-box{
  width:auto;
  padding:54px 56px;
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.career .career-image-box{
  overflow:hidden;
  min-height:430px;
  padding:0;
}
.career .career-image-box .crane{
  position:static;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  mix-blend-mode:normal;
  transform:none;
  margin:0;
}
@media (max-width:1020px){
  .career .career-split-card{grid-template-columns:1fr;gap:15px}
  .career .career-text-box{padding:42px 34px}
  .career .career-image-box{min-height:330px}
  .career .career-image-box .crane{height:330px}
}
@media (max-width:640px){
  .career .career-text-box{padding:34px 24px}
  .career .career-image-box{min-height:255px;border-radius:14px}
  .career .career-image-box .crane{height:255px}
}

/* Full mobile friendliness / horizontal overflow fixes on all pages */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
body{position:relative;}
img,svg,video,canvas,iframe,input,select,textarea,button{max-width:100%;}
main,section,header,footer,.container,.site-header,.site-footer{min-width:0;}

@media (max-width:760px){
  .container,
  .projects-wrap,
  .over-intro-grid,
  .diensten-intro-grid,
  .diensten-dark-grid,
  .diensten-cards-wrap{
    width:calc(100% - 30px) !important;
    max-width:calc(100% - 30px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .hero,
  .over-hero,
  .diensten-hero,
  .projects-hero,
  .intro,
  .expertise,
  .projects,
  .career,
  .site-footer,
  .map-section,
  .about-contact,
  .diensten-intro,
  .diensten-dark,
  .diensten-cards-section,
  .projects-directory,
  .page-over-ons,
  .page-diensten,
  .page-projecten,
  .page-contact{
    max-width:100vw;
    overflow-x:hidden;
  }

  .intro-grid,
  .service-grid,
  .project-card,
  .footer-grid,
  .contact-boxes,
  .project-grid-page,
  .diensten-card-grid,
  .diensten-intro-grid,
  .diensten-dark-grid,
  .career .career-split-card{
    grid-template-columns:1fr !important;
    max-width:100%;
  }

  .service-card,
  .project-card,
  .project-media,
  .projects-page-card,
  .diensten-service-card,
  .contact-panel,
  .advice-form-wrap,
  .career-card,
  .career-box,
  .quote-card,
  .contact-dialog,
  .footer-grid,
  .bottom-inner{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .project-media img,
  .projects-page-image,
  .diensten-intro-image img,
  .diensten-intro-image-stack img,
  .career .career-image-box .crane,
  .photo-stack img,
  .over-intro-image img{
    width:100%;
    max-width:100%;
  }

  .hero-content{
    width:calc(100% - 30px) !important;
    max-width:calc(100% - 30px) !important;
  }

  .hero-actions,
  .tags,
  .diensten-tags,
  .project-filter-row,
  .project-meta,
  .section-head,
  .bottom-inner{
    flex-wrap:wrap;
    max-width:100%;
    min-width:0;
  }

  .project-filter-row{
    justify-content:center;
    overflow:visible;
  }
  .project-filter{
    min-width:0;
    max-width:100%;
    white-space:normal;
    text-align:center;
  }

  .feature-strip,
  .testimonials{
    max-width:100vw;
    overflow:hidden;
  }
  .strip-grid{
    min-width:100vw;
    padding-left:24px;
    padding-right:24px;
    gap:42px;
  }
  .testimonial-marquee{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .testimonial-track .quote-card{
    flex-basis:calc(100vw - 50px);
    max-width:calc(100vw - 50px);
  }

  .contact-modal{
    max-width:100vw;
    overflow:hidden;
  }
  .contact-dialog{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    margin-left:auto;
    margin-right:auto;
  }

  .career .career-text-box,
  .career .career-image-box{
    width:100% !important;
  }
  .career .career-image-box{
    overflow:hidden;
  }
  .career .career-image-box .crane{
    position:static !important;
    right:auto !important;
    transform:none !important;
  }

  .main-nav{
    max-width:calc(100vw - 44px);
  }
  .back-to-top{
    right:16px;
    bottom:16px;
    width:48px;
    height:48px;
  }
}

@media (max-width:420px){
  .container,
  .projects-wrap,
  .over-intro-grid,
  .diensten-intro-grid,
  .diensten-dark-grid,
  .diensten-cards-wrap,
  .hero-content{
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
  }
  .project-filter-row{
    grid-template-columns:1fr 1fr !important;
    gap:10px;
  }
  .project-filter{
    padding-left:10px;
    padding-right:10px;
  }
  .testimonial-track .quote-card{
    flex-basis:calc(100vw - 38px);
    max-width:calc(100vw - 38px);
  }
  .contact-dialog{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
  }
}

/* Mobile: show career image box above text box */
@media (max-width:760px){
  .career .career-image-box{order:1;}
  .career .career-text-box{order:2;}
}

/* Footer quick links: one clean column with balanced footer spacing */
.site-footer .footer-grid{
  grid-template-columns:minmax(230px,1.15fr) minmax(150px,.7fr) minmax(300px,1.25fr);
  gap:clamp(34px,5vw,72px);
  align-items:start;
}
.site-footer .footer-links{
  display:grid;
  grid-template-columns:1fr !important;
  gap:10px;
  max-width:180px;
}
.site-footer .footer-links li{
  margin:0;
}
.site-footer .footer-links a{
  display:inline-flex;
  align-items:center;
  min-height:28px;
}
@media (max-width:1020px){
  .site-footer .footer-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .site-footer .footer-links{
    max-width:none;
  }
}

/* Footer newsletter spacing and improved copy on all pages */
.site-footer .newsletter{
  display:flex;
  flex-direction:column;
  gap:0;
}
.site-footer .newsletter h3{
  margin:0 0 8px!important;
}
.site-footer .newsletter .newsletter-intro{
  margin:0 0 13px!important;
  font-size:14px!important;
  line-height:1.55!important;
  color:#4b6686;
  font-weight:600;
}
.site-footer .newsletter input[name="newsletter_email"]{
  margin-bottom:0!important;
}
.site-footer .newsletter-field-message:empty,
.site-footer .newsletter-submit-message:empty{
  display:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
.site-footer .newsletter-field-message:not(:empty),
.site-footer .newsletter-submit-message:not(:empty){
  display:block!important;
  min-height:0!important;
  margin:7px 0 9px!important;
}
.site-footer .newsletter-submit-message:not(:empty){
  margin-top:8px!important;
}
.site-footer .newsletter button{
  margin-top:12px;
}
@media (max-width:640px){
  .site-footer .newsletter .newsletter-intro{
    font-size:14.5px!important;
    line-height:1.6!important;
    margin-bottom:12px!important;
  }
  .site-footer .newsletter button{
    margin-top:11px;
  }
}

/* Footer copyright link */
.footer-bottom a{color:#ffffff;text-decoration:none;font-weight:800;transition:color .2s ease}
.footer-bottom a:hover{color:#009ee9}


/* Restore contact popup logo size/spacing after SEO image dimensions */
.contact-heading img,
.contact-heading .contact-modal-logo{
  width:180px !important;
  height:auto !important;
  max-width:180px !important;
  max-height:70px !important;
  object-fit:contain !important;
  flex:0 0 180px !important;
}
.contact-heading{
  align-items:flex-start;
}
@media (max-width:900px){
  .contact-heading img,
  .contact-heading .contact-modal-logo{
    width:150px !important;
    max-width:150px !important;
    max-height:58px !important;
    flex:0 0 150px !important;
  }
}
@media (max-width:640px){
  .contact-heading img,
  .contact-heading .contact-modal-logo{
    width:145px !important;
    max-width:145px !important;
    max-height:56px !important;
    flex:0 0 auto !important;
    margin-top:18px;
  }
}


/* Stronger Diensten page SEO/AEO content sections */
.diensten-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;color:#009ee9;font-size:14px;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.diensten-intro-grid-strong{align-items:start}.diensten-intro-copy>h2{font-size:clamp(34px,3.7vw,50px);line-height:1.08;letter-spacing:-.04em;margin:0 0 20px;color:#002654}.diensten-button-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.btn.btn-outline{background:#ffffff;color:#002654;border:2px solid rgba(0,38,84,.18);box-shadow:none}.btn.btn-outline:hover{background:#009ee9;color:#ffffff;border-color:#009ee9;transform:translateY(-2px)}
.diensten-detail-section{background:#ffffff;padding:74px 0 78px}.diensten-detail-wrap{max-width:1120px}.diensten-section-head-left{text-align:left;margin-inline:0;max-width:920px}.diensten-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:34px}.diensten-detail-card{position:relative;background:#f6fbff;border:3px solid rgba(0,158,233,.18);border-radius:22px;padding:40px 38px 34px;box-shadow:0 20px 54px rgba(0,38,84,.08);overflow:hidden}.diensten-detail-card::after{content:"";position:absolute;right:-60px;top:-70px;width:180px;height:180px;border-radius:50%;background:rgba(0,158,233,.09);pointer-events:none}.diensten-detail-number{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#002654;color:#ffffff;font-weight:900;font-size:17px;margin:0 0 22px;box-shadow:0 14px 30px rgba(0,38,84,.18)}.diensten-detail-card h2{font-size:clamp(25px,2.5vw,34px);line-height:1.15;letter-spacing:-.03em;margin:0 0 16px;color:#002654;font-weight:900}.diensten-detail-card p{font-size:17px;line-height:1.78;color:#4b6686;font-weight:600;margin:0 0 16px}.diensten-detail-card p strong{color:#002654;font-weight:900}.diensten-detail-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}.diensten-detail-list li{position:relative;padding-left:30px;font-size:16px;line-height:1.55;color:#244b73;font-weight:700}.diensten-detail-list li::before{content:"✓";position:absolute;left:0;top:0;color:#009ee9;font-size:20px;font-weight:900;line-height:1.1}
.diensten-process-section{background:#dff5ff;padding:70px 0}.diensten-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.diensten-process-grid article{background:#ffffff;border-radius:20px;padding:30px 26px;box-shadow:0 16px 42px rgba(0,38,84,.08);border:1px solid rgba(0,38,84,.05);min-width:0;box-sizing:border-box;overflow:hidden}.diensten-process-grid span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#002654;color:#ffffff;font-weight:900;margin-bottom:20px}.diensten-process-grid h3{font-size:21px;line-height:1.18;margin:0 0 12px;color:#002654;font-weight:900;overflow-wrap:anywhere;word-break:normal;hyphens:auto}.diensten-process-grid p{font-size:16px;line-height:1.65;color:#4b6686;font-weight:600;margin:0;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.diensten-aeo-section{background:#002654;color:#ffffff;padding:76px 0}.diensten-aeo-wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:38px;align-items:start}.diensten-aeo-copy h2{font-size:clamp(38px,4.5vw,58px);line-height:1.08;margin:0 0 18px;color:#ffffff;font-weight:900;letter-spacing:-.05em}.diensten-aeo-copy p:not(.diensten-eyebrow){font-size:17px;line-height:1.72;color:#dff5ff;font-weight:600;margin:0}.diensten-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.diensten-answer-card{background:#ffffff;border-radius:18px;padding:28px 26px;box-shadow:0 18px 50px rgba(0,0,0,.12);border:1px solid rgba(255,255,255,.1)}.diensten-answer-card h3{font-size:21px;line-height:1.22;margin:0 0 12px;color:#002654;font-weight:900}.diensten-answer-card p{font-size:16px;line-height:1.72;margin:0;color:#4b6686;font-weight:600}
.diensten-sector-section{background:#f6fbff;padding:72px 0}.diensten-sector-wrap{max-width:1100px}.diensten-sector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:32px}.diensten-sector-grid article{background:#ffffff;border-radius:20px;padding:32px 28px;border:1px solid rgba(0,38,84,.08);box-shadow:0 18px 48px rgba(0,38,84,.07);min-width:0;box-sizing:border-box;overflow:hidden}.diensten-sector-grid h3{font-size:21px;line-height:1.18;margin:0 0 14px;color:#002654;font-weight:900;overflow-wrap:anywhere;word-break:normal;hyphens:auto}.diensten-sector-grid p{font-size:16px;line-height:1.66;color:#4b6686;font-weight:600;margin:0;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.diensten-faq-section{padding:70px 0 70px;background:#ffffff}.page-diensten .faq-section h2{font-size:clamp(34px,4vw,52px);margin-bottom:30px}.page-diensten .faq-question{font-size:17px;padding:20px 62px 20px 26px}.page-diensten .faq-answer p{font-size:16.5px;line-height:1.78}.diensten-final-cta{background:#ffffff;padding:0 0 78px}.diensten-final-card{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#dff5ff;border-radius:24px;padding:42px 46px;box-shadow:0 18px 50px rgba(0,38,84,.10)}.diensten-final-card h2{font-size:clamp(32px,4vw,50px);line-height:1.08;margin:0 0 12px;color:#002654;font-weight:900;letter-spacing:-.045em}.diensten-final-card p:not(.diensten-eyebrow){font-size:17px;line-height:1.66;color:#4b6686;font-weight:600;margin:0;max-width:780px}.diensten-final-card .btn{flex:0 0 auto}
@media (max-width:1020px){.diensten-detail-grid,.diensten-aeo-wrap,.diensten-answer-grid{grid-template-columns:1fr}.diensten-process-grid,.diensten-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diensten-final-card{align-items:flex-start;flex-direction:column}.diensten-detail-section,.diensten-process-section,.diensten-aeo-section,.diensten-sector-section{padding:58px 0}}
@media (max-width:640px){.diensten-intro-copy>h2{font-size:34px}.diensten-detail-grid,.diensten-process-grid,.diensten-sector-grid{grid-template-columns:1fr}.diensten-detail-card{padding:30px 23px}.diensten-detail-card p{font-size:16.5px}.diensten-detail-list li{font-size:15.5px}.diensten-process-grid article,.diensten-sector-grid article,.diensten-answer-card{padding:26px 22px}.diensten-aeo-copy h2{font-size:36px}.page-diensten .faq-question{font-size:16.5px;line-height:1.35;padding:17px 52px 17px 20px}.page-diensten .faq-answer p{font-size:16px}.diensten-final-card{padding:30px 22px;border-radius:20px}.diensten-final-card p:not(.diensten-eyebrow){font-size:16.5px}.diensten-button-row .btn{width:100%;justify-content:center}}

.diensten-process-grid > *, .diensten-sector-grid > *{min-width:0}


/* AEO / AI direct answer sections */
.answer-section{background:#ffffff;padding:76px 0;overflow:hidden}
.answer-section:nth-of-type(even){background:#f6fbff}
.answer-wrap{max-width:1180px}
.answer-head{max-width:920px;margin:0 0 34px}
.answer-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;color:#009ee9;font-size:14px;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.answer-head h2{font-size:clamp(34px,4.2vw,56px);line-height:1.06;letter-spacing:-.045em;margin:0 0 16px;color:#002654;font-weight:900}
.answer-head p:not(.answer-eyebrow){font-size:18px;line-height:1.72;color:#4b6686;font-weight:650;margin:0;max-width:900px}
.answer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.answer-card{background:#ffffff;border:3px solid rgba(0,158,233,.16);border-radius:22px;padding:30px 28px;box-shadow:0 18px 48px rgba(0,38,84,.07);min-width:0;box-sizing:border-box;overflow:hidden}
.answer-card h3{font-size:clamp(20px,1.7vw,25px);line-height:1.18;letter-spacing:-.02em;color:#002654;font-weight:900;margin:0 0 12px;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.answer-card p{font-size:16.5px;line-height:1.72;color:#4b6686;font-weight:600;margin:0;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.answer-cta-row{display:flex;margin-top:30px}
.answer-section-diensten,.answer-section-projecten,.answer-section-contact{background:#f6fbff}
.answer-section-over-ons{background:#ffffff}
@media (max-width:1020px){.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-section{padding:62px 0}.answer-head{margin-bottom:26px}}
@media (max-width:640px){.answer-grid{grid-template-columns:1fr}.answer-section{padding:52px 0}.answer-head h2{font-size:34px}.answer-head p:not(.answer-eyebrow){font-size:16.8px}.answer-card{padding:26px 22px}.answer-card h3{font-size:21px}.answer-card p{font-size:16px}.answer-cta-row .btn{width:100%;justify-content:center}}


/* Content depth sections for stronger people-first SEO/AEO/GEO/AI visibility */
.content-depth-section{background:#ffffff;padding:76px 0}.content-depth-section:nth-of-type(even){background:#f6fbff}.content-depth-wrap{max-width:1120px}.content-depth-head{max-width:960px;margin:0 0 34px}.content-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;color:#009ee9;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.content-depth-head h2{font-size:clamp(34px,4.3vw,56px);line-height:1.08;letter-spacing:-.05em;margin:0 0 16px;color:#002654}.content-depth-head p{font-size:18px;line-height:1.74;color:#4b6686;font-weight:600;margin:0}.content-depth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.content-depth-grid.content-depth-grid-six{grid-template-columns:repeat(3,minmax(0,1fr))}.content-depth-grid article{background:#ffffff;border:3px solid rgba(0,158,233,.16);border-radius:22px;padding:32px 30px;box-shadow:0 18px 54px rgba(0,38,84,.08);min-width:0;box-sizing:border-box;overflow:hidden}.content-depth-grid h3{font-size:clamp(21px,2vw,28px);line-height:1.18;margin:0 0 14px;color:#002654;font-weight:900;overflow-wrap:anywhere;hyphens:auto}.content-depth-grid p{font-size:16.5px;line-height:1.72;color:#4b6686;font-weight:600;margin:0;overflow-wrap:anywhere;hyphens:auto}.content-note-box{margin-top:28px;background:#dff5ff;border-radius:22px;padding:32px 34px;box-shadow:0 18px 54px rgba(0,38,84,.08)}.content-note-box h3{font-size:28px;line-height:1.16;margin:0 0 10px;color:#002654;font-weight:900}.content-note-box p{font-size:17px;line-height:1.72;color:#4b6686;font-weight:600;margin:0}.content-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.content-depth-home{background:#f6fbff}.content-depth-diensten{background:#ffffff}.content-depth-projecten{background:#f6fbff}.content-depth-over{background:#ffffff}.content-depth-contact{background:#f6fbff}
@media (max-width:1020px){.content-depth-grid,.content-depth-grid.content-depth-grid-six{grid-template-columns:1fr 1fr}.content-depth-section{padding:60px 0}}
@media (max-width:680px){.content-depth-grid,.content-depth-grid.content-depth-grid-six{grid-template-columns:1fr}.content-depth-grid article{padding:26px 22px}.content-depth-head p,.content-depth-grid p,.content-note-box p{font-size:16.5px}.content-note-box{padding:26px 22px}.content-cta-row .btn{width:100%;justify-content:center}}


/* Project media image fill fix: keep 20px inner space and make image fill the available box */
.projects .project-media{
  padding:20px !important;
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:stretch;
}
.projects .project-media .project-meta{
  position:absolute;
  top:32px;
  left:32px;
  right:32px;
  z-index:2;
  margin-bottom:0;
}
.projects .project-media img{
  width:100% !important;
  height:100% !important;
  min-height:320px;
  max-width:none !important;
  flex:1 1 auto;
  object-fit:cover;
  object-position:center;
  margin:0 !important;
  border-radius:12px;
}
@media (max-width:1020px){
  .projects .project-media{min-height:320px;}
  .projects .project-media img{min-height:280px;height:100% !important;}
}
@media (max-width:640px){
  .projects .project-media{padding:20px !important;min-height:285px;}
  .projects .project-media img{min-height:245px;height:100% !important;}
  .projects .project-media .project-meta{top:32px;left:32px;right:32px;}
}

.diensten-aeo-image{margin:26px 0 0;padding:0;border-radius:24px;overflow:hidden;box-shadow:0 20px 52px rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.08)}
.diensten-aeo-image img{display:block;width:100%;height:320px;object-fit:cover;object-position:center;border-radius:24px}
@media (max-width:1020px){.diensten-aeo-image img{height:360px}}
@media (max-width:640px){.diensten-aeo-image{margin-top:22px;border-radius:20px}.diensten-aeo-image img{height:250px;border-radius:20px}}

/* Fix visible outline buttons on light content sections */
.content-cta-row .btn-outline,
.page-projecten .content-cta-row .btn-outline{
  background:#ffffff!important;
  color:#002654!important;
  border:2px solid rgba(0,38,84,.18)!important;
  box-shadow:0 10px 26px rgba(0,38,84,.08)!important;
}
.content-cta-row .btn-outline:hover,
.content-cta-row .btn-outline:focus-visible,
.page-projecten .content-cta-row .btn-outline:hover,
.page-projecten .content-cta-row .btn-outline:focus-visible{
  background:#009ee9!important;
  color:#ffffff!important;
  border-color:#009ee9!important;
  box-shadow:0 14px 32px rgba(0,158,233,.24)!important;
}

/* Contact page hero background image */
#page-contact .over-hero{
  background-image:linear-gradient(180deg,rgba(0,38,84,.58),rgba(0,158,233,.20)),url('../images/infra-point-nl-contact-hero.webp');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}

/* Over ons page hero background image */
.page-over-ons .over-hero{
  background-image:linear-gradient(180deg,rgba(0,38,84,.58),rgba(0,158,233,.20)),url('../images/infra-point-nl-over-ons-hero.webp');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}

/* projecten page hero background image */
.page-projecten .projects-hero{
  background-image:linear-gradient(180deg,rgba(0,38,84,.58),rgba(0,158,233,.20)),url('../images/infra-point-nl-projecten-hero.webp');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}

/* Diensten page hero background image */
.page-diensten .diensten-hero{
  background-image:linear-gradient(180deg,rgba(0,38,84,.58),rgba(0,158,233,.20)),url('../images/infra-point-nl-diensten-hero.webp');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}
/* Footer legal links */
.legal-footer-links a,.bottom-inner a{font-weight:700;text-decoration:none}
.legal-footer-links a:hover,.bottom-inner a:hover{text-decoration:underline}
.legal-footer-links{display:inline;line-height:1.6}

.contact-email-link{color:inherit;text-decoration:none}
.contact-email-link:focus-visible{outline:3px solid rgba(0,158,233,.35);outline-offset:4px}


/* Homepage feedback section: replaces unpublished testimonial cards */
.feedback-section{background:#ffffff;padding:24px 0 86px}
.feedback-shell{background:#f3fbff;border:1px solid rgba(0,158,233,.16);border-radius:24px;padding:48px;box-shadow:0 22px 60px rgba(0,38,84,.08)}
.feedback-intro{max-width:790px}
.feedback-intro h2{font-size:clamp(32px,4vw,50px);line-height:1.08;letter-spacing:-.045em;color:#002654;margin:0 0 16px}
.feedback-intro p{font-size:17px;line-height:1.7;color:#4b6686;font-weight:600;margin:0}
.feedback-details{margin-top:28px}
.feedback-details>summary{list-style:none;cursor:pointer;width:max-content}
.feedback-details>summary::-webkit-details-marker{display:none}
.feedback-details>summary:after{content:"+";font-size:18px;line-height:1;margin-left:10px}
.feedback-details[open]>summary:after{content:"–"}
.feedback-form-wrap{margin-top:24px;background:#ffffff;border-radius:18px;padding:30px;box-shadow:0 16px 42px rgba(0,38,84,.09)}
.feedback-form{max-width:880px}
.feedback-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px}
.feedback-fields>div{display:grid;gap:7px;min-width:0}
.feedback-form select{width:100%;min-height:43px;border:1px solid rgba(0,38,84,.08);background:#ffffff;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:12.5px;color:#002654;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.feedback-form select:focus{border-color:#009ee9;box-shadow:0 0 0 4px rgba(0,158,233,.15)}
.feedback-rating-field,.feedback-message-field{grid-column:1/-1}
.feedback-form textarea{height:130px}
.feedback-form .privacy-check{margin-top:3px}
.feedback-form .privacy-check a{color:#002654;text-decoration:underline;text-underline-offset:2px}
.feedback-form .contact-submit{justify-self:start;border:0;border-radius:999px;padding:13px 22px;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer}
.feedback-form .contact-submit:disabled{opacity:.68;cursor:not-allowed}
@media (max-width:720px){
  .feedback-section{padding:10px 0 58px}
  .feedback-shell{padding:30px 20px;border-radius:18px}
  .feedback-intro p{font-size:15px}
  .feedback-details>summary{width:100%;justify-content:center}
  .feedback-form-wrap{padding:22px 16px}
  .feedback-fields{grid-template-columns:1fr}
  .feedback-rating-field,.feedback-message-field{grid-column:auto}
}


/* Over ons review updates */
.page-over-ons .over-hero{
  min-height:390px;
  background-image:
    linear-gradient(180deg,rgba(0,38,84,.56),rgba(0,158,233,.20)),
    url('../images/infra-point-nl-over-ons-hero.webp');
  background-size:cover,cover;
  background-position:center,center 48%;
  background-repeat:no-repeat,no-repeat;
}
.page-over-ons .over-intro-grid{
  grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);
  gap:86px;
  align-items:center;
}
.page-over-ons .over-intro-media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.page-over-ons .over-intro-visual{
  margin:0;
}
.page-over-ons .over-intro-logo-card{
  width:100%;
  max-width:430px;
  padding:34px 28px;
  background:#f6fbff;
  border:1px solid rgba(0,38,84,.08);
  border-radius:20px;
  box-shadow:0 18px 46px rgba(0,38,84,.10);
}
.page-over-ons .over-intro-logo-card img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.page-over-ons .content-depth-over{
  background:#f6fbff;
  padding-top:82px;
}
.page-over-ons .content-depth-over .content-depth-head{
  max-width:1000px;
}
.page-over-ons .content-depth-over .content-depth-grid article{
  min-height:100%;
}
@media (max-width:1020px){
  .page-over-ons .over-hero{
    min-height:360px;
    background-size:cover,cover;
  }
  .page-over-ons .over-intro-grid{
    grid-template-columns:1fr;
    gap:38px;
    max-width:760px;
  }
  .page-over-ons .over-intro-media{
    justify-content:flex-start;
  }
  .page-over-ons .over-intro-logo-card{
    max-width:420px;
  }
}
@media (max-width:640px){
  .page-over-ons .over-hero{
    min-height:300px;
    background-size:cover,cover;
    background-position:center,center 50%;
  }
  .page-over-ons .over-intro-media{
    justify-content:center;
  }
  .page-over-ons .over-intro-logo-card{
    max-width:360px;
    padding:25px 20px;
    border-radius:17px;
  }
  .page-over-ons .content-depth-over{
    padding-top:58px;
  }
}

/* Correct social-media icon geometry */
.socials a .social-icon{
  width:16px;
  height:16px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.socials a .social-icon-instagram .instagram-dot{
  fill:currentColor;
  stroke:none;
}

/* Optional logo/image upload field in contact forms */
.contact-form input[type="file"],
.page-contact-form input[type="file"]{
  height:auto;
  min-height:43px;
  padding:7px 9px;
  cursor:pointer;
  line-height:1.4;
}
.contact-form input[type="file"]::file-selector-button,
.page-contact-form input[type="file"]::file-selector-button{
  border:0;
  border-radius:8px;
  background:#002654;
  color:#fff;
  padding:8px 12px;
  margin-right:10px;
  font:700 12px/1.2 Poppins,Arial,sans-serif;
  cursor:pointer;
}
.contact-form input[type="file"]::file-selector-button:hover,
.page-contact-form input[type="file"]::file-selector-button:hover{
  background:#009ee9;
}
.form-file-note{
  display:block;
  margin-top:-5px;
  color:#4b6686;
  font-size:11.5px;
  font-weight:600;
  line-height:1.4;
}

/* Homepage hero heading: separate brand and message */
.hero .home-hero-title{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  max-width:980px;
  margin:0 auto 22px;
  text-shadow:5px 10px 10px rgba(0,0,0,.75),-3px 10px 12px rgba(0,0,0,.75);
}
.hero .home-hero-brand{
  display:block;
  color:#dcfaff;
  font-size:clamp(24px,2.4vw,34px);
  line-height:1;
  font-weight:800;
  letter-spacing:.01em;
}
.hero .home-hero-message{
  display:block;
  color:#fff;
  font-size:clamp(36px,4.35vw,56px);
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.045em;
  text-wrap:balance;
}
@media (max-width:640px){
  .hero .home-hero-title{gap:8px;margin-bottom:20px}
  .hero .home-hero-brand{font-size:22px}
  .hero .home-hero-message{font-size:31px;line-height:1.1}
}
@media (max-width:420px){
  .hero .home-hero-brand{font-size:20px}
  .hero .home-hero-message{font-size:27px}
}

