/* Falqon sitestijlen. Verplaatst uit Customizer > Additional CSS (thema-gebonden)
   naar het child theme op 14-08-2026, zodat hij niet stilvalt bij een themawissel. */

.wpforms-container-full, .wpforms-container{
--wpforms-field-background-color:rgba(246,243,236,0.06);
--wpforms-field-border-color:rgba(246,243,236,0.18);
--wpforms-field-border-size:1px;
--wpforms-field-text-color:#F6F3EC;
--wpforms-field-menu-color:#060830;
--wpforms-field-border-radius:8px;
--wpforms-label-color:#F6F3EC;
--wpforms-label-sublabel-color:rgba(246,243,236,0.5);
--wpforms-label-error-color:#f2565b;
--wpforms-button-background-color:#F6F3EC;
--wpforms-button-text-color:#01021E;
--wpforms-button-border-radius:8px;
}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=url],.wpforms-container input[type=tel],.wpforms-container textarea,.wpforms-container select{background:rgba(246,243,236,0.06)!important;border:1px solid rgba(246,243,236,0.18)!important;color:#F6F3EC!important;border-radius:8px!important;}
.wpforms-container input::placeholder,.wpforms-container textarea::placeholder{color:rgba(246,243,236,0.4)!important;}
.wpforms-container label.wpforms-field-label{color:#F6F3EC!important;}
.wpforms-container .wpforms-field-checkbox label,.wpforms-container .wpforms-field-radio label,.wpforms-container .wpforms-field-description{color:rgba(246,243,236,0.65)!important;}
.wpforms-container input:focus,.wpforms-container textarea:focus,.wpforms-container select:focus{border-color:#19E79C!important;outline:none!important;}
.wpforms-container button[type=submit]{background:#F6F3EC!important;color:#01021E!important;border:none!important;border-radius:8px!important;font-family:Inter,sans-serif!important;font-weight:500!important;padding:14px 24px!important;}
.wpforms-container button[type=submit]:hover{background:#19E79C!important;color:#01021E!important;}
.e-loop-item{position:relative}
a.fq-cardlink{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;display:block;font-size:0;background:transparent}
.e-loop-item{cursor:pointer}
.e-loop-item .screen-reader-text{position:absolute;left:-9999px}
.e-loop-item:hover .elementor-heading-title{color:#19E79C!important}
.fq-cardlink .fq-sr{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.e-loop-item .elementor-widget-shortcode{position:static!important}
.e-loop-item a.fq-cardlink{z-index:9}
/* Partner logo strip (marquee) */
.fq-partners{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.fq-partners-track{display:flex;flex-wrap:nowrap;width:max-content;animation:fq-marquee 45s linear infinite}
.fq-partners-set{display:flex;flex-wrap:nowrap;align-items:center;gap:56px;padding-right:56px}
.fq-partner{flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.fq-partner-logo{height:30px;width:auto;max-width:200px;object-fit:contain;filter:brightness(0) invert(1);opacity:.55;transition:opacity .2s ease}
.fq-partner:hover .fq-partner-logo{opacity:.95}
.fq-partners:hover .fq-partners-track{animation-play-state:paused}
@keyframes fq-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.fq-partners{-webkit-mask-image:none;mask-image:none}.fq-partners-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.fq-partners-set{flex-wrap:wrap;justify-content:center;gap:34px 56px;padding-right:0}.fq-partners-set[aria-hidden=true]{display:none}}
@media (max-width:767px){.fq-partner-logo{height:24px}.fq-partners-set{gap:38px;padding-right:38px}}
/* Sector card scrim */
.elementor-element-4662529,.elementor-element-858cf57,.elementor-element-3f7d70c,.elementor-element-938a8ce,.elementor-element-f25525a,.elementor-element-67068b7{position:relative;overflow:hidden}
.elementor-element-4662529::after,.elementor-element-858cf57::after,.elementor-element-3f7d70c::after,.elementor-element-938a8ce::after,.elementor-element-f25525a::after,.elementor-element-67068b7::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,2,30,0) 36%,rgba(1,2,30,.9) 100%);pointer-events:none;z-index:1;border-radius:inherit}
.elementor-element-4662529>*,.elementor-element-858cf57>*,.elementor-element-3f7d70c>*,.elementor-element-938a8ce>*,.elementor-element-f25525a>*,.elementor-element-67068b7>*{position:relative;z-index:2}
/* Layout fixes: body bg + logo height */
html,body{background-color:#01021E}
.fq-partners img.fq-partner-logo{height:48px!important;width:auto!important;max-width:200px!important}
@media(max-width:767px){.fq-partners img.fq-partner-logo{height:32px!important}}
/* Capabilities horizontal scroller */
.elementor-element-51785c7{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden;gap:20px;scroll-snap-type:x proximity;padding-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.elementor-element-51785c7>.e-con{flex:0 0 340px!important;width:340px!important;max-width:340px!important;scroll-snap-align:start}
.elementor-element-51785c7::-webkit-scrollbar{height:6px}
.elementor-element-51785c7::-webkit-scrollbar-track{background:rgba(246,243,236,.06);border-radius:3px}
.elementor-element-51785c7::-webkit-scrollbar-thumb{background:rgba(246,243,236,.22);border-radius:3px}
/* Interaction pass: base hover + focus states */
a,.elementor-button{transition:color .2s ease,background-color .2s ease,border-color .2s ease,opacity .2s ease}
.elementor-button{transition:background-color .2s ease,color .2s ease,transform .2s ease,border-color .2s ease}
.elementor-button:hover{transform:translateY(-1px)}
a.elementor-button[class*=btn-p]:hover{background-color:#19E79C!important;color:#01021E!important}
.elementor-button:hover{filter:brightness(1.06)}
.e-loop-item{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;border-radius:16px}
.e-loop-item:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.e-loop-item:hover .elementor-heading-title{color:#19E79C!important}
.elementor-element-a9b2ea6,.elementor-element-4c11aa6,.elementor-element-4662529,.elementor-element-858cf57,.elementor-element-3f7d70c,.elementor-element-938a8ce,.elementor-element-f25525a,.elementor-element-67068b7{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.elementor-element-a9b2ea6,.elementor-element-4c11aa6,.elementor-element-4662529,.elementor-element-858cf57,.elementor-element-3f7d70c,.elementor-element-938a8ce,.elementor-element-f25525a,.elementor-element-67068b7:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.4);cursor:pointer}
.elementor-location-header a:not(.elementor-button),.elementor-location-footer a:not(.elementor-button){transition:color .2s ease}
.elementor-location-header a:not(.elementor-button):hover,.elementor-location-footer a:not(.elementor-button):hover{color:#19E79C!important}
.e-loop-item img{transition:opacity .25s ease}
.e-loop-item:hover img{opacity:.88}
a:focus-visible,button:focus-visible,.elementor-button:focus-visible{outline:2px solid #19E79C;outline-offset:3px;border-radius:6px}
@media(prefers-reduced-motion:reduce){.e-loop-item,.elementor-button,.elementor-element-a9b2ea6,.elementor-element-4c11aa6,.elementor-element-4662529,.elementor-element-858cf57,.elementor-element-3f7d70c,.elementor-element-938a8ce,.elementor-element-f25525a,.elementor-element-67068b7{transition:none}.e-loop-item:hover,.elementor-button:hover,.elementor-element-a9b2ea6:hover,.elementor-element-4c11aa6:hover,.elementor-element-4662529:hover,.elementor-element-858cf57:hover,.elementor-element-3f7d70c:hover,.elementor-element-938a8ce:hover,.elementor-element-f25525a:hover,.elementor-element-67068b7:hover{transform:none}}
/* Design layer r2: flares, logo window, stats lines, CTA fades */
.fq-flare-behind{position:relative;overflow:hidden}
.fq-flare-behind::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1100px,92%);height:min(760px,110%);background:radial-gradient(circle 300px at 52% 30%,rgba(95,41,198,.75),rgba(95,41,198,0) 70%),radial-gradient(circle 280px at 46% 66%,rgba(25,231,156,.42),rgba(25,231,156,0) 70%);filter:blur(60px);pointer-events:none;z-index:0}
.fq-flare-behind>*{position:relative;z-index:1}
.fq-flare-behind .fq-partners{max-width:680px;margin:0 auto}
.fq-bigcopy{max-width:912px;margin:0 auto}
.fq-flare-bottom{position:relative}
.fq-flare-bottom::after{content:'';position:absolute;left:55%;bottom:-140px;transform:translateX(-50%);width:740px;height:520px;background:radial-gradient(closest-side,rgba(25,231,156,.10),rgba(4,12,131,.08) 55%,transparent 75%);pointer-events:none;z-index:0}
.fq-stats .e-con:has(>.e-con+.e-con+.e-con){gap:0!important}
.fq-stats .e-con:has(>.e-con+.e-con+.e-con)>.e-con{border-left:1px solid #F6F3EC29;border-radius:0}
.fq-stats .e-con:has(>.e-con+.e-con+.e-con)>.e-con:first-child{border-left:0}
.fq-cta{position:relative}
.fq-cta::before,.fq-cta::after{content:'';position:absolute;left:0;right:0;height:240px;pointer-events:none;z-index:1}
.fq-cta::before{top:0;background:linear-gradient(180deg,#01021E,rgba(1,2,30,0))}
.fq-cta::after{bottom:0;background:linear-gradient(0deg,#01021E,rgba(1,2,30,0))}
.fq-cta>*{position:relative;z-index:2}
.elementor-location-footer .elementor-social-icon{background-color:transparent!important;border:none!important;width:24px;height:24px;padding:0}
.elementor-location-footer .elementor-social-icon i,.elementor-location-footer .elementor-social-icon svg{color:#F6F3EC;fill:#F6F3EC;font-size:20px;width:20px;height:20px;opacity:.85}
.elementor-location-footer .elementor-social-icon:hover i,.elementor-location-footer .elementor-social-icon:hover svg{opacity:1;color:#19E79C;fill:#19E79C}
.fq-footer-logo img{width:248px;height:auto}
/* Design layer r3: carousels, glass, lines, news cards */
.fq-sec-slide{position:relative;overflow:hidden}
.fq-sec-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,2,30,0) 0%,#01021E 100%);pointer-events:none;z-index:1;border-radius:inherit}
.fq-sec-slide>*{position:relative;z-index:2}
.fq-iconbox{display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;background:rgba(1,1,17,.9);border:1px solid rgba(246,243,236,.16);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08)}
.fq-iconbox img{width:24px;height:24px;display:block}
.elementor-widget-loop-carousel .elementor-swiper-button{width:48px;height:40px;border-radius:8px;background:rgba(246,243,236,.08);backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08);color:#F6F3EC;display:flex;align-items:center;justify-content:center;transition:background .2s ease}
.elementor-widget-loop-carousel .elementor-swiper-button:hover{background:rgba(246,243,236,.16)}
.elementor-widget-loop-carousel .elementor-swiper-button svg{width:14px;height:14px;fill:#F6F3EC}
.fq-glass{background:rgba(6,8,48,.50)!important;backdrop-filter:blur(40px) saturate(1.15);-webkit-backdrop-filter:blur(40px) saturate(1.15);box-shadow:inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08);border-radius:8px}
.fq-glass .fq-quote,.fq-glass .elementor-widget-theme-post-content{color:#F6F3EC;font-size:22px;line-height:1.4;letter-spacing:-.25px}
.fq-testi-name .elementor-heading-title,.fq-testi-name{color:#F6F3EC;font-size:16px;font-weight:500}
.fq-role{color:#F6F3ECA3;font-size:14px}
.fq-lines-bg{position:relative;overflow:hidden}
.fq-lines-bg::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:1800px;height:900px;background:url('https://falqon.tp-dev.nl/wp-content/uploads/2026/08/fq-lines-waves.svg') center/contain no-repeat;opacity:.5;pointer-events:none;z-index:0}
.fq-lines-bg>*{position:relative;z-index:1}
.fq-news-card img{border-radius:6px;width:100%;height:256px;object-fit:cover}
.fq-news-card .elementor-widget-heading:first-of-type .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#F6F3ECA3}
.fq-news-card .elementor-widget-heading:first-of-type .elementor-heading-title::before{content:'';width:18px;height:8px;background:url('https://falqon.tp-dev.nl/wp-content/uploads/2026/08/tag-wave-icon.svg') center/contain no-repeat;display:inline-block}
.fq-date{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#F6F3EC66}
.fq-date-w{margin-top:-6px}
.fq-readmore{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#F6F3EC;border-top:1px solid #F6F3EC14;padding-top:14px;width:100%;transition:color .2s ease}
.e-loop-item:hover .fq-readmore{color:#19E79C}
.fq-rm-arrow{transition:transform .2s ease}
.e-loop-item:hover .fq-rm-arrow{transform:translateX(3px)}
/* Design layer r4: org+testi feedback James */
.fq-sectors{position:relative;overflow:hidden}
.fq-sectors::after{content:'';position:absolute;left:62%;top:56%;transform:translate(-50%,-50%);width:640px;height:640px;background:radial-gradient(closest-side,rgba(25,231,156,.20),transparent 72%);filter:blur(16px);pointer-events:none;z-index:0}
.fq-sectors>*{position:relative;z-index:1}
.fq-sec-car .e-loop-item{position:relative;overflow:hidden;border-radius:8px;min-height:320px;display:flex;flex-direction:column;justify-content:space-between}
.fq-sec-car .e-loop-item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,2,30,0) 0%,#01021E 100%);pointer-events:none;z-index:1;border-radius:inherit}
.fq-sec-car .e-loop-item>*{position:relative;z-index:2}
.fq-sec-car .e-loop-item a.fq-cardlink{z-index:6}
.fq-sec-car .e-loop-item .elementor-heading-title{font-size:16px!important;font-weight:500!important;letter-spacing:0!important;line-height:1.4!important}
.fq-sec-car .e-loop-item p{font-size:14px;line-height:20px;color:#F6F3ECA3}
.fq-sec-car,.fq-testi-car{padding-bottom:88px}
.fq-sec-car .elementor-swiper-button,.fq-testi-car .elementor-swiper-button{top:auto!important;bottom:0!important;transform:none!important;width:44px;height:36px;border-radius:8px;background:rgba(246,243,236,.08);backdrop-filter:blur(20px);border:1px solid rgba(246,243,236,.08);box-shadow:inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08);display:flex;align-items:center;justify-content:center;transition:background .2s ease}
.fq-sec-car .elementor-swiper-button:hover,.fq-testi-car .elementor-swiper-button:hover{background:rgba(246,243,236,.16)}
.fq-sec-car .elementor-swiper-button-prev,.fq-testi-car .elementor-swiper-button-prev{left:calc(50% - 54px)!important;right:auto!important}
.fq-sec-car .elementor-swiper-button-next,.fq-testi-car .elementor-swiper-button-next{left:calc(50% + 6px)!important;right:auto!important;width:48px}
.fq-sec-car .elementor-swiper-button svg,.fq-testi-car .elementor-swiper-button svg,.fq-sec-car .elementor-swiper-button i,.fq-testi-car .elementor-swiper-button i{display:none}
.fq-sec-car .elementor-swiper-button-prev::before,.fq-testi-car .elementor-swiper-button-prev::before{content:'←';color:#19E79C;font-size:16px;line-height:1}
.fq-sec-car .elementor-swiper-button-next::before,.fq-testi-car .elementor-swiper-button-next::before{content:'→';color:#19E79C;font-size:16px;line-height:1}
.fq-testi-car{max-width:800px;margin:0 auto}
.fq-lines-bg::after{content:'';position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:1200px;height:760px;background:radial-gradient(circle 340px at 56% 28%,rgba(95,41,198,.40),transparent 70%),radial-gradient(circle 330px at 45% 64%,rgba(25,231,156,.26),transparent 72%);filter:blur(20px);pointer-events:none;z-index:0}
.fq-tm-name{color:#F6F3EC;font-size:16px;font-weight:500;line-height:1.5}
.fq-tm-role{color:#F6F3ECA3;font-size:14px;line-height:1.5}
.fq-testi-cta{display:inline-flex;align-items:center;gap:10px;color:#F6F3EC;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s ease}
.fq-testi-cta:hover{color:#19E79C}
.fq-cta-circ{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;border-radius:8px;background:rgba(246,243,236,.08);border:1px solid rgba(246,243,236,.08);box-shadow:inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08);color:#19E79C;font-size:14px}
.fq-glass .fq-quote{color:#F6F3EC;font-size:22px;line-height:1.45;letter-spacing:-.25px;margin:0}
/* Design layer r5: news+footer feedback + card group */
.fq-eyebrow-strong .elementor-heading-title{display:inline-flex;align-items:center;gap:12px;font-size:11px!important;letter-spacing:1px;text-transform:uppercase;font-weight:400;color:#F6F3ECE0!important}
.fq-eyebrow-strong .elementor-heading-title::before{content:'';width:18px;height:8px;background:url('https://falqon.tp-dev.nl/wp-content/uploads/2026/08/tag-wave-icon.svg') center/contain no-repeat;display:inline-block}
.elementor-element-b7d06ab h2.elementor-heading-title{max-width:560px}
.fq-btn-wave .elementor-button{padding:10px 16px;font-size:14px;font-weight:500;background:rgba(246,243,236,.08);backdrop-filter:blur(20px);border:1px solid rgba(246,243,236,.08);box-shadow:inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08)}
.fq-btn-wave .elementor-button-content-wrapper{display:flex;align-items:center;gap:8px}
.fq-btn-wave .elementor-button-content-wrapper::before{content:'';width:18px;height:8px;background:url('https://falqon.tp-dev.nl/wp-content/uploads/2026/08/tag-wave-icon.svg') center/contain no-repeat;display:inline-block}
.fq-news-meta{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#F6F3ECA3}
.fq-dot{color:#F6F3EC66}
.fq-news-card .elementor-widget-heading:first-of-type .elementor-heading-title{display:block;font-size:20px!important;letter-spacing:-.25px!important;text-transform:none!important;color:#F6F3EC!important}
.fq-news-card .elementor-widget-heading:first-of-type .elementor-heading-title::before{content:none!important;display:none!important}
.fq-readmore{border-top:0;padding-top:0;width:auto}
.fq-cta::after{height:340px}
.elementor-location-footer .elementor-nav-menu a{font-size:15px;color:rgba(246,243,236,.88)!important;line-height:22px;padding:2px 0;transition:color .2s ease}
.elementor-location-footer .elementor-nav-menu--layout-vertical li{margin:0}
.elementor-location-footer .elementor-nav-menu a:hover{color:#19E79C!important}
.elementor-location-footer .elementor-widget-text-editor a{color:rgba(246,243,236,.88)!important;text-decoration:none}
.elementor-location-footer .elementor-widget-text-editor a:hover{color:#19E79C!important}
.elementor-location-footer a[href^='mailto:']{text-decoration:underline!important;color:rgba(246,243,236,.88)!important}
.elementor-location-footer .elementor-widget-heading .elementor-heading-title{color:rgba(246,243,236,.64)!important;font-size:11px;letter-spacing:1px;text-transform:uppercase;font-weight:300}
.fq-legal{justify-content:flex-end}
.fq-legal ul{display:flex;gap:14px;flex-wrap:wrap}
.fq-legal .elementor-nav-menu a{font-size:10px!important;letter-spacing:.75px;text-transform:uppercase;color:rgba(246,243,236,.64)!important}
.fq-legal .elementor-widget-text-editor,.fq-legal .elementor-widget-text-editor p{font-size:10px;letter-spacing:.75px;text-transform:uppercase;color:rgba(246,243,236,.64)}
.fq-sec-car .e-loop-item{height:320px}
.fq-sec-text{margin-top:auto}
/* r5b */
.elementor-element-2991125{flex-wrap:nowrap;width:100%}
.elementor-element-2991125 .elementor-widget-image{width:auto;max-width:260px}
.fq-legal{margin-left:auto;width:auto;align-items:center}

/* r5c card pin */
.fq-sec-car .e-loop-item{display:flex;flex-direction:column;gap:8px;padding:32px}
.fq-sec-car .e-loop-item>.elementor-widget-shortcode:first-child{margin-bottom:auto}
.fq-sec-car .e-loop-item .elementor-widget-heading{margin-top:auto}
.fq-sec-car .e-loop-item .elementor-widget-text-editor{margin-top:0}

/* r6 */
.fq-hero-title,.fq-hero-title .elementor-heading-title{max-width:720px}
.fq-bigcopy,.fq-bigcopy .elementor-heading-title{max-width:780px!important;margin:0 auto}
.fq-flare-behind .fq-partners{max-width:520px}
.fq-usp-sec{position:relative;overflow:hidden}
.fq-usp-sec::before{content:'';position:absolute;left:50%;bottom:-220px;transform:translateX(-50%);width:1100px;height:620px;background:radial-gradient(closest-side,rgba(25,231,156,.09),rgba(18,58,90,.10) 55%,transparent 78%);pointer-events:none;z-index:0}
.fq-usp-sec>*{position:relative;z-index:1}
.fq-usps{background:rgba(246,243,236,.04);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(246,243,236,.10);border-radius:12px;box-shadow:inset 0 1px 0 rgba(246,243,236,.12),inset 0 -1px 0 rgba(246,243,236,.06)}
.fq-usp-cell{border-left:1px solid rgba(246,243,236,.12)}
.fq-usp-cell:first-child{border-left:0}
.fq-usp-txt,.fq-usp-txt p{font-size:14px;line-height:20px}
.fq-usp-img img{border-radius:8px;width:100%;height:300px;object-fit:cover}
.fq-usp-copy,.fq-usp-copy p{font-size:15px;line-height:22px;max-width:520px}
.fq-sol-card{position:relative}
.fq-sol-card>.e-con,.fq-sol-card a.e-con{position:relative;overflow:hidden}
.fq-sol-card a.e-con::before,.fq-sol-card>.e-con::before{content:'';position:absolute;left:-1px;right:-1px;bottom:-1px;height:210px;background:linear-gradient(180deg,rgba(1,2,30,0),rgba(1,2,30,.66));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;z-index:1;border-radius:inherit}
.fq-sol-card a.e-con>*,.fq-sol-card>.e-con>*{position:relative;z-index:2}
.fq-sol-card a.e-con::after,.fq-sol-card>.e-con::after{content:'→';position:absolute;right:24px;bottom:24px;width:48px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(246,243,236,.08);backdrop-filter:blur(20px);border:1px solid rgba(246,243,236,.08);box-shadow:inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08);color:#19E79C;font-size:16px;z-index:3;transition:background .2s ease}
.fq-sol-card a.e-con:hover::after{background:rgba(246,243,236,.16)}
.elementor-element-08cc20c .fq-sol-copy,.elementor-element-08cc20c .fq-sol-copy p{font-size:15px;line-height:22px;max-width:500px}
.fq-sol-card .elementor-widget-text-editor{max-width:75%}


/* === FIGMA PIXEL PASS (beheerd door Claude) === */
/* GLOBAAL: Elementor zet standaard 10px padding op elke container; Figma heeft die niet. */
:root,.elementor-widget-container,.e-con,.e-con-inner{--container-default-padding-block:0px;--container-default-padding-inline:0px;--container-widget-width:100%}
/* HOME-01 hero */
.fq-hero-title,.fq-hero-title .elementor-heading-title{margin:0;max-width:720px}
/* HOME-02 introtekst + logocarrousel (Figma: venster 680x80, logo's 30px, 1 rij) */
.fq-bigcopy,.fq-bigcopy .elementor-heading-title{max-width:912px!important;margin:0 auto}
.fq-flare-behind .fq-partners{max-width:680px!important;height:80px;display:flex;align-items:center;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.fq-flare-behind .fq-partners-track{flex-wrap:nowrap!important;width:max-content!important;animation:fq-marquee 45s linear infinite!important;align-items:center;justify-content:flex-start}
.fq-flare-behind .fq-partners-set{flex-wrap:nowrap!important;justify-content:flex-start;gap:56px;padding-right:56px}
.fq-flare-behind .fq-partners-set[aria-hidden=true]{display:flex!important}
.fq-flare-behind .fq-partners img.fq-partner-logo{height:30px!important;width:auto!important;max-width:220px!important;opacity:.75}

/* GEDEELD: footer-swoosh mag geen horizontale scrollbalk maken (site-breed, gemeld door 2 agents) */
.elementor-location-footer{overflow-x:clip}
html,body{overflow-x:clip}
/* GEDEELD: CTA-achtergrond was veel te licht. Figma heeft een donkere basis met het beeld erdoorheen. */
.fq-cta::before{top:0;height:100%;background:linear-gradient(180deg,#01021E 0%,rgba(1,2,30,.72) 34%,rgba(1,2,30,.72) 66%,#01021E 100%)}
.fq-cta::after{bottom:0;height:340px;background:linear-gradient(0deg,#01021E,rgba(1,2,30,0))}


/* === GROTE SCHERMEN (beheerd door Claude) === */
/* Een kolom van 1376px voor de hele site boven 1440px. Achtergronden blijven 100vw.
   LET OP: expliciete lijst met documenttypes, GEEN kale [data-elementor-type].
   Elementor rendert loop-items ook als document; met de kale selector kregen
   carrouselkaarten honderden pixels padding binnen een slide van 680px en klapte
   hun inhoud naar 0 breedte. Voeg hier dus nooit een catch-all toe.
   Uitzondering per sectie: klasse .fq-fluid. */
@media (min-width:1441px){
  [data-elementor-type='wp-page'] > .e-con.e-parent:not(.fq-fluid),
  [data-elementor-type='wp-post'] > .e-con.e-parent:not(.fq-fluid),
  [data-elementor-type='single'] > .e-con.e-parent:not(.fq-fluid),
  [data-elementor-type='single-post'] > .e-con.e-parent:not(.fq-fluid),
  [data-elementor-type='single-page'] > .e-con.e-parent:not(.fq-fluid),
  [data-elementor-type='archive'] > .e-con.e-parent:not(.fq-fluid),
  [data-elementor-type='product'] > .e-con.e-parent:not(.fq-fluid),
  [data-elementor-type='error-404'] > .e-con.e-parent:not(.fq-fluid),
  [data-elementor-type='search-results'] > .e-con.e-parent:not(.fq-fluid),
  [data-elementor-type='header'] > .e-con.e-parent,
  [data-elementor-type='footer'] > .e-con.e-parent{
    padding-left:calc((100vw - 1376px)/2)!important;
    padding-right:calc((100vw - 1376px)/2)!important;
  }
  .fq-fluid .fq-maxtext{max-width:1376px;margin-left:auto;margin-right:auto}
}

/* Design layer r7: feedbackronde 18-08 (product-fade, capability-glass, mega-menu fit) */
.fq-sol-card{position:relative;overflow:hidden;border-radius:8px}
/* de scrim en de pijlknop staan in de sectie-CSS van het blok zelf; hier niets overschrijven */
.fq-sol-card .elementor-widget{position:relative;z-index:2}
.fq-sec-car .e-loop-item{box-shadow:inset 0 1px 0 rgba(246,243,236,.12),inset 0 -1px 0 rgba(246,243,236,.05)}
@media (min-width:1025px){.fq-mm-item{display:inline-flex;align-items:center}}
.fq-mm-item>a.elementor-item{padding-right:4px!important}

/* Design layer r8: redactionele blokken (FAQ, team, resource, vacature) */
.fq-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.fq-wave{flex:0 0 18px;display:block}
/* knop */
.fq-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:8px;font-family:Inter,sans-serif;font-weight:500;font-size:14px;line-height:16px;text-decoration:none;transition:background .2s ease,color .2s ease}
.fq-btn--primary{background:#F6F3EC;color:#01021E}
.fq-btn--primary:hover,.fq-btn--primary:focus-visible{background:#19E79C;color:#01021E}
/* FAQ */
.fq-faq{display:flex;flex-direction:column;gap:16px}
.fq-faq__item{background:#010111;border-radius:8px;overflow:hidden}
.fq-faq__q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;min-height:76px;box-sizing:border-box;cursor:pointer;list-style:none}
.fq-faq__q::-webkit-details-marker{display:none}
.fq-faq__t{flex:1 1 auto;font-family:Inter,sans-serif;font-size:16px;line-height:24px;font-weight:500;color:#F6F3ECE0}
.fq-faq__i{position:relative;flex:0 0 36px;width:36px;height:28px;border-radius:8px;background:rgba(246,243,236,.08);box-shadow:inset 0 0 0 1px rgba(246,243,236,.08),inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.fq-faq__i::before,.fq-faq__i::after{content:'';position:absolute;left:50%;top:50%;background:#19E79C;transition:transform .2s ease,opacity .2s ease}
.fq-faq__i::before{width:10px;height:1.5px;transform:translate(-50%,-50%)}
.fq-faq__i::after{width:1.5px;height:10px;transform:translate(-50%,-50%)}
.fq-faq__item[open] .fq-faq__i::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.fq-faq__a{padding:0 24px 24px;max-width:832px;font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#F6F3ECA3}
.fq-faq__a p{margin:0 0 12px}
.fq-faq__a p:last-child{margin:0}
.fq-faq__q:hover .fq-faq__t{color:#F6F3EC}
.fq-faq__q:focus-visible{outline:2px solid #19E79C;outline-offset:-4px}
/* label met golfje (team type, resource-categorie) */
.fq-tt,.fq-rm{display:inline-flex;align-items:center;gap:12px;font-family:Inter,sans-serif;font-size:10px;line-height:12px;font-weight:300;letter-spacing:.75px;text-transform:uppercase;color:#F6F3ECE0}
.fq-rm{gap:12px;flex-wrap:nowrap;white-space:nowrap}
.fq-rm__c{display:inline-flex;align-items:center;gap:12px}
.fq-rm__d{opacity:.5}
/* personenkaart */
.fq-people__h,.fq-gal__h{font-family:Inter,sans-serif;font-size:32px;line-height:1.15;font-weight:400;color:#F6F3EC;margin:0 0 32px}
.fq-people__g{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}
.fq-pc{display:flex;flex-direction:column;gap:8px}
.fq-pc__media{position:relative;border-radius:8px;overflow:hidden;background:rgba(246,243,236,.06);aspect-ratio:3/4;margin-bottom:8px}
.fq-pc__media img,.fq-pc__img{width:100%;height:100%;object-fit:cover;display:block}
.fq-pc__n{font-family:Inter,sans-serif;font-size:16px;line-height:24px;font-weight:500;color:#F6F3ECE0}
.fq-pc__r{font-family:Inter,sans-serif;font-size:14px;line-height:20px;color:#F6F3ECA3}
.fq-tsoc{position:absolute;right:12px;bottom:12px;display:flex;gap:8px}
.fq-tsoc__a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:#F6F3EC;background:rgba(1,1,17,.55);box-shadow:inset 0 0 0 1px rgba(246,243,236,.16);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:color .2s ease,background .2s ease}
.fq-tsoc__a:hover,.fq-tsoc__a:focus-visible{color:#19E79C;background:rgba(1,1,17,.8)}
/* slideshow */
.fq-gal__t{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.fq-gal__t::-webkit-scrollbar{display:none}
.fq-gal__s{flex:0 0 320px;margin:0;scroll-snap-align:start}
.fq-gal__s img{width:100%;height:240px;object-fit:cover;border-radius:8px;display:block}
.fq-gal__s figcaption{margin-top:12px;font-family:Inter,sans-serif;font-size:14px;line-height:20px;color:#F6F3ECA3}
.fq-gal__nav{display:flex;gap:8px;margin-top:24px}
.fq-gal__b{width:44px;height:36px;border:0;border-radius:8px;background:rgba(246,243,236,.08);box-shadow:inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#19E79C;font-size:16px;line-height:1;cursor:pointer;transition:background .2s ease}
.fq-gal__b:hover{background:rgba(246,243,236,.16)}
/* formulier- en sollicitatieblok */
.fq-formblock__h,.fq-apply__h{font-family:Inter,sans-serif;font-size:24px;line-height:28px;font-weight:400;color:#F6F3EC;margin:0 0 12px}
.fq-formblock__i,.fq-apply__i{font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#F6F3ECA3;margin:0 0 24px}
.fq-apply{background:rgba(6,8,48,.5);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);box-shadow:inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08);border-radius:8px;padding:32px}
@media (max-width:767px){.fq-gal__s{flex-basis:80%}.fq-apply{padding:24px}}
/* r8b team-loop */
.elementor-widget-loop-grid .e-loop-item{position:relative}
@media (min-width:1025px){.elementor-widget-loop-grid .e-loop-item .fq-tsoc{position:absolute;top:288px;right:12px;bottom:auto}}
@media (max-width:1024px){.elementor-widget-loop-grid .e-loop-item .fq-tsoc{position:static;margin-top:8px}}
.elementor-widget-loop-grid .e-loop-item .fq-tt{margin-top:16px}
.elementor-widget-loop-grid .e-loop-item .elementor-widget-shortcode{margin:0!important}

/* r8c vacature */
.fq-jm{display:flex;flex-wrap:wrap;gap:32px;padding-left:8px}
.fq-jm__i{display:flex;flex-direction:column;gap:16px}
.fq-jm__k{font-family:Inter,sans-serif;font-size:10px;line-height:12px;font-weight:300;letter-spacing:.75px;text-transform:uppercase;color:#F6F3ECA3}
.fq-jm__v{font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#F6F3ECE0}

/* r8d Elementor-formulier (sollicitatie) in dezelfde taal als de WPForms-velden */
.fq-applyform .elementor-form-fields-wrapper{row-gap:16px}
.fq-applyform .elementor-field-group{margin-bottom:0}
.fq-applyform .elementor-field-label{display:block;margin-bottom:8px;font-family:Inter,sans-serif;font-size:10px;line-height:12px;font-weight:300;letter-spacing:.75px;text-transform:uppercase;color:#F6F3ECA3}
.fq-applyform .elementor-field-group .elementor-field-textual,
.fq-applyform input[type=file]{width:100%;background:rgba(246,243,236,.06);border:1px solid rgba(246,243,236,.18);border-radius:8px;color:#F6F3EC;font-family:Inter,sans-serif;font-size:14px;line-height:20px;padding:12px 14px;box-sizing:border-box}
.fq-applyform .elementor-field-textual::placeholder{color:rgba(246,243,236,.4)}
.fq-applyform .elementor-field-textual:focus,.fq-applyform input[type=file]:focus{border-color:#19E79C;outline:none;box-shadow:none}
.fq-applyform input[type=file]::file-selector-button{margin-right:12px;padding:6px 12px;border:0;border-radius:6px;background:rgba(246,243,236,.12);color:#F6F3EC;font-family:Inter,sans-serif;font-size:12px;cursor:pointer}
.fq-applyform input[type=file]::file-selector-button:hover{background:#19E79C;color:#01021E}
.fq-applyform .elementor-field-type-acceptance .elementor-field-option{display:flex;gap:10px;align-items:flex-start}
.fq-applyform .elementor-field-type-acceptance label{font-family:Inter,sans-serif;font-size:14px;line-height:20px;color:#F6F3ECA3;text-transform:none;letter-spacing:0;font-weight:400;margin:0}
.fq-applyform input[type=checkbox]{accent-color:#19E79C;width:16px;height:16px;margin-top:2px}
.fq-applyform .elementor-button[type=submit]{background:#F6F3EC;color:#01021E;border:0;border-radius:8px;padding:14px 22px;font-family:Inter,sans-serif;font-weight:500;font-size:14px;transition:background .2s ease,color .2s ease}
.fq-applyform .elementor-button[type=submit]:hover{background:#19E79C;color:#01021E}
.fq-applyform .elementor-message{font-family:Inter,sans-serif;font-size:14px}
.fq-applyform .elementor-message-success{color:#19E79C}
.fq-applyform .elementor-message-danger{color:#F2565B}
/* r8e case studies op de productpagina */
.fq-cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;width:100%}
.fq-case{display:flex;flex-direction:column;gap:16px;text-decoration:none;color:inherit}
.fq-case__m{display:block;border-radius:8px;overflow:hidden;background:rgba(246,243,236,.06);aspect-ratio:449/302}
.fq-case__m img{width:100%;height:100%;object-fit:cover;display:block}
.fq-case .fq-rm{margin-top:4px}
.fq-case__t{font-family:Inter,sans-serif;font-size:24px;line-height:28px;color:#F6F3EC;transition:color .2s ease}
.fq-case__e{font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#F6F3ECA3}
.fq-case:hover .fq-case__t,.fq-case:focus-visible .fq-case__t{color:#19E79C}

/* r9 formulierlaag: een wrapper voor elke plugin, met Gravity Forms alvast in dezelfde taal */
.fq-form{width:100%}
.fq-form-warning{margin:0;padding:12px 16px;border-radius:8px;background:rgba(242,86,91,.12);color:#F2565B;font-family:Inter,sans-serif;font-size:14px}
/* De voorlopige Gravity Forms-opmaak (r9/r9b) is vervangen door assets/gravityforms.css. */
/* r10 globale blokken */
.fq-cta-slot{padding:0!important;gap:0!important}
.fq-cta-slot>.elementor-widget-template{width:100%;margin:0}
.fq-cta-slot .elementor-widget-container{margin:0}

/* r11 kaartuitlijning: samenvatting onder de titel, read more onderaan de kaart */
.e-loop-item .fq-card-exc{margin:0;font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#F6F3ECA3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.e-loop-item .elementor-widget-heading .elementor-heading-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.elementor-widget-loop-grid .e-loop-item>.e-con{display:flex;flex-direction:column}
.elementor-widget-loop-grid .e-loop-item .elementor-widget-shortcode:has(.fq-readmore){margin-top:auto}
.elementor-widget-loop-grid .e-loop-item .fq-readmore{display:inline-flex;align-items:center;gap:12px}


/* r12 mobiele navigatie: balk in een rij, uitklapmenu in de huisstijl */
@media (max-width:1024px){
 .elementor-location-header .elementor-element-de02904{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:16px!important;padding:12px 16px!important}
 .elementor-location-header #nav-divider{display:none!important}
 .elementor-location-header .elementor-element-fa37710{flex:0 0 auto!important;width:auto!important;margin:0!important}
 .elementor-location-header .elementor-element-fa37710 img{width:128px!important;height:auto!important;display:block}
 .elementor-location-header .elementor-element-5db0c57{flex:0 0 auto!important;width:auto!important;margin:0 0 0 auto!important}
 .elementor-location-header .elementor-element-5db0c57 .elementor-widget-container{display:flex;justify-content:flex-end}
 .elementor-location-header .elementor-menu-toggle{width:40px;height:40px;border-radius:8px;background:rgba(246,243,236,.08)!important;color:#F6F3EC!important;box-shadow:inset 0 0 0 1px rgba(246,243,236,.16)}
 .elementor-location-header .elementor-menu-toggle i,.elementor-location-header .elementor-menu-toggle svg{color:#F6F3EC!important;fill:#F6F3EC!important;font-size:20px}
 .elementor-location-header .elementor-element-a53a303{display:none!important}
 /* het paneel zelf */
 .elementor-location-header .elementor-nav-menu--dropdown{position:fixed!important;left:16px!important;right:16px!important;top:96px!important;width:auto!important;max-width:none!important;box-sizing:border-box;padding:8px!important;border-radius:8px!important;background:rgba(1,2,30,.92)!important;-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);box-shadow:inset 0 0 0 1px rgba(246,243,236,.16);max-height:calc(100vh - 128px);overflow-y:auto;overscroll-behavior:contain}
 .elementor-location-header .elementor-nav-menu--dropdown .elementor-nav-menu{display:flex;flex-direction:column;gap:2px}
 .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item{display:flex;align-items:center;justify-content:flex-start;color:#F6F3EC!important;font-family:Inter,sans-serif;font-size:16px!important;line-height:24px!important;font-weight:500;padding:14px 16px!important;border-radius:8px;background:transparent!important}
 .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover,
 .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{background:rgba(246,243,236,.08)!important;color:#19E79C!important}
 /* de knop onderin het paneel */
 .elementor-location-header .elementor-nav-menu--dropdown .fq-mobile-cta{margin-top:8px}
 .elementor-location-header .elementor-nav-menu--dropdown .fq-mobile-cta a.elementor-item{background:#F6F3EC!important;color:#01021E!important;justify-content:center;font-weight:500}
 .elementor-location-header .elementor-nav-menu--dropdown .fq-mobile-cta a.elementor-item:hover{background:#19E79C!important;color:#01021E!important}
 /* de uitklappaneeltjes van het megamenu passen in de breedte */
 .elementor-location-header .fq-mm-panel{margin:4px 0 8px!important;padding:16px!important}
}
@media (min-width:1025px){
 .fq-mobile-cta{display:none!important}
}
/* r13 mobiel: ruimte, koppen, uitlijning */
@media (max-width:1024px){
 /* secties ademen minder ver op een klein scherm */
 .elementor-element-da8da23,.elementor-element-08cc20c,.elementor-element-b679f75,
 .elementor-element-614b703,.elementor-element-9a43048,.elementor-element-b7d06ab,
 .elementor-element-116b3fe,.elementor-element-0abab33,.elementor-element-96e9474,
 .elementor-element-b98c474,.elementor-element-3f305a2{padding-top:80px!important;padding-bottom:80px!important}
 .elementor-element-37a5e56,.elementor-element-04d05e5{padding-bottom:88px!important}
}
@media (max-width:767px){
 .elementor-element-da8da23,.elementor-element-08cc20c,.elementor-element-b679f75,
 .elementor-element-614b703,.elementor-element-9a43048,.elementor-element-b7d06ab,
 .elementor-element-116b3fe,.elementor-element-0abab33,.elementor-element-96e9474,
 .elementor-element-b98c474,.elementor-element-3f305a2{padding-top:56px!important;padding-bottom:56px!important}
 .elementor-element-37a5e56,.elementor-element-04d05e5{padding-bottom:72px!important}
 /* koppen met een vaste maat in de opmaak zelf */
 .fq-hero-title{font-size:30px!important;line-height:1.12!important;max-width:none!important}
 .fq-bigcopy,.fq-bigcopy *{font-size:22px!important;line-height:1.3!important}
 /* kolommen die op desktop rechts uitlijnen, lezen links prettiger */
 [style*="text-align:right"],[style*="text-align: right"]{text-align:left!important}
 .elementor-widget-text-editor.elementor-align-right,
 .elementor-widget-heading.elementor-align-right{text-align:left!important}
 /* knoppen vullen de breedte, dat tikt makkelijker */
 .fq-cta .elementor-button,.elementor-location-header .elementor-button{width:auto}
 /* de glazen USP-rij stapelt, dus de scheidingslijnen horizontaal */
 .fq-usp-cell{border-left:0!important;border-top:1px solid #F6F3EC29}
 .fq-usp-cell:first-child{border-top:0}
 /* cijferblok: lijnen boven elkaar i.p.v. ernaast */
 .fq-stats .e-con:has(>.e-con+.e-con+.e-con)>.e-con{border-left:0!important;border-top:1px solid #F6F3EC29}
 .fq-stats .e-con:has(>.e-con+.e-con+.e-con)>.e-con:first-child{border-top:0}
}
/* r13b stapelen op mobiel: rijen met kaarten en cijfers onder elkaar */
@media (max-width:767px){
 .elementor-element-0f189f4,.fq-stats-row,.fq-stats .e-con:has(>.e-con+.e-con+.e-con){flex-direction:column!important;flex-wrap:wrap!important}
 .fq-sol-card{width:100%!important;max-width:none!important}
 .fq-stats .e-con:has(>.e-con+.e-con+.e-con)>.e-con{width:100%!important}
 .fq-usps{flex-direction:column!important}
 .fq-usp-cell{width:100%!important}
}

/* r14 koppen met vaste maat in de opmaak zelf (tekstwidgets met inline stijl) */
@media (max-width:1024px){
 .elementor-widget-text-editor h1[style],
 .elementor-widget-text-editor h2[style]{font-size:clamp(28px,5.2vw,44px)!important;line-height:1.1!important}
}
@media (max-width:767px){
 .elementor-widget-text-editor h1[style],
 .elementor-widget-text-editor h2[style]{font-size:clamp(26px,7.4vw,32px)!important;line-height:1.14!important;letter-spacing:-.5px!important}
 .elementor-widget-text-editor h3[style]{font-size:clamp(20px,5.6vw,24px)!important;line-height:1.2!important}
 .elementor-widget-text-editor p[style*="font-size"]{font-size:16px!important;line-height:24px!important}
}
/* r15 footerlijn: schaalt mee, zit tegen de bovenrand van de footer */
.fq-footer-line{opacity:1}

/* ── r16 · Featured-news card, 1-op-1 met Figma 40155:10483 ──────────────
   Kaart 512 hoog, glas-vulling #060830 met blur 20 en de twee inset-lijnen,
   media 256 (radius 8), 16px naar de meta-regel, 24px naar de titel en de
   Read more-chip die met margin-top:auto onderaan blijft staan.
   Geldt voor elke plaatsing van loop-template 126 (Home en Single: Resource). */
.e-loop-item:has(> .fq-news-card){height:512px}
.fq-news-card{height:512px;display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:20px;border:0;border-radius:8px;background-color:#060830;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 0 rgba(246,243,236,.16),inset 0 -1px 0 0 rgba(246,243,236,.08)}
.fq-news-card > *{margin:0}
.fq-news-card .fq-card-media{flex:0 0 auto;height:256px;padding:0;border-radius:8px;overflow:hidden}
.fq-news-card .fq-card-media img{display:block;width:100%;height:256px;object-fit:cover;border-radius:8px}
.fq-news-card .fq-news-group{width:100%;flex:0 0 auto;margin-top:16px;padding:0;gap:24px}
.fq-news-card .fq-news-group > *{margin:0}
.fq-news-card .fq-news-meta{display:flex;align-items:center;gap:12px;font-family:Inter,sans-serif;font-size:10px;line-height:12px;font-weight:300;letter-spacing:.75px;text-transform:uppercase;color:rgba(246,243,236,.88)}
.fq-news-card .fq-news-meta .fq-wave{flex:0 0 auto;display:block}
.fq-news-card .fq-news-meta .fq-dot{color:rgba(246,243,236,.88)}
.fq-news-card .fq-news-group .elementor-widget-heading .elementor-heading-title{font-family:Inter,sans-serif;font-size:24px!important;line-height:28px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:#F6F3EC!important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.fq-news-card .elementor-widget-shortcode:has(.fq-readmore){margin-top:auto;display:flex;align-items:center;min-height:28px}
.fq-news-card .fq-readmore{display:inline-flex;align-items:center;gap:8px;width:auto;border-top:0;padding-top:0;font-family:Inter,sans-serif;font-size:12px;line-height:16px;font-weight:500;letter-spacing:0;color:#F6F3EC;transition:color .2s ease}
.fq-news-card .fq-rm-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:28px;box-sizing:border-box;border-radius:8px;border:1px solid rgba(246,243,236,.08);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 0 rgba(246,243,236,.16),inset 0 -1px 0 0 rgba(246,243,236,.08);font-size:0;line-height:0;color:transparent;transform:none;transition:background-color .2s ease}
.fq-news-card .fq-rm-arrow::after{content:'';display:block;width:12px;height:12px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2712%27%20height%3D%2712%27%20viewBox%3D%270%200%2012%2012%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M2.5%206H9.5M6%209.5L9.5%206L6%202.5%27%20stroke%3D%27%2319E79C%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center/12px 12px no-repeat}
.e-loop-item:hover .fq-news-card .fq-rm-arrow{background-color:rgba(246,243,236,.08)}
@media (max-width:1024px){
.e-loop-item:has(> .fq-news-card){height:auto}
.fq-news-card{height:auto;min-height:428px}
}

/* r16b · de oudere regel .elementor-widget-loop-grid .e-loop-item .elementor-widget-shortcode{margin:0!important}
   sloopte de auto-marge waarmee Read more onderaan de kaart hoort te blijven staan. */
.fq-news-card .elementor-widget-shortcode:has(.fq-readmore){margin-top:auto!important;margin-bottom:0!important}

/* r16c · chip-vulling zoals in Figma: rgba(246,243,236,.08) over #060830 geeft rgb(25,26,63).
   Read more zonder spatie voor de chip, zodat de tekstbreedte klopt. */
.fq-news-card .fq-rm-arrow{background-color:rgba(246,243,236,.08)}
.e-loop-item:hover .fq-news-card .fq-rm-arrow{background-color:rgba(246,243,236,.16)}

/* r16d · de oudere loop-grid regel zette gap:12px op Read more; Figma is 8px. */
.elementor-widget-loop-grid .e-loop-item .fq-news-card .fq-readmore{gap:8px}

/* ── r18 · labelmaat overal 14px ─────────────────────────────────────────
   Op verzoak van James (MarkUp #19 en verwante opmerkingen): de labels waren
   10-11px en vielen weg. Eén maat voor alle eyebrows, meta-regels, veldlabels
   en footerkoppen. Wijkt bewust af van Figma (daar 10/12px) — de consistentie
   weegt hier zwaarder. Regelhoogte 20px zodat er lucht omheen blijft. */
.fq-eyebrow-strong .elementor-heading-title,
.fq-news-meta,
.fq-news-card .fq-news-meta,
.fq-news-card .fq-news-meta *,
.fq-date,
.fq-tt,
.fq-rm,
.fq-jm__k,
.fq-applyform .elementor-field-label,
.gform_wrapper.gform_wrapper .gfield_label,
.elementor-location-footer .elementor-widget-heading .elementor-heading-title{
font-size:14px!important;line-height:20px!important;
}
/* de loop-grid regel forceerde 10px op de nieuwskaart, die moet mee */
.elementor-element .fq-news-card .fq-news-meta,
.elementor-element .fq-news-card .fq-news-meta span{font-size:14px!important;line-height:20px!important}
.fq-news-card .fq-news-meta .fq-wave{width:20px;height:9px}

/* ── r19 · Osmo character stagger op de buttons ──────────────────────────
   Mechaniek 1-op-1 van osmo.supply: elk teken krijgt een dubbel via
   text-shadow op 1.3em, schuift op hover omhoog met een oplopende delay.
   De achtergrond-inset uit het origineel is hier bewust weggelaten: de site
   heeft meerdere buttonvarianten met eigen achtergronden. */
.btn-animate-chars [data-button-animate-chars]{overflow:hidden;position:relative;display:inline-block}
.btn-animate-chars [data-button-animate-chars] span{display:inline-block;position:relative;text-shadow:0px 1.3em currentColor;transform:translateY(0em) rotate(0.001deg);transition:transform 0.6s cubic-bezier(0.625,0.05,0,1)}
.btn-animate-chars:hover [data-button-animate-chars] span{transform:translateY(-1.3em) rotate(0.001deg)}
.btn-animate-chars .elementor-button-text{white-space:nowrap;line-height:1.3}
@media (prefers-reduced-motion:reduce){
.btn-animate-chars [data-button-animate-chars] span{transition:none;text-shadow:none}
.btn-animate-chars:hover [data-button-animate-chars] span{transform:none}
}

/* ── r20 · Contact: citaat leesbaar over de aurora ───────────────────────
   MarkUp #42 #43 #44 #45. Het citaat stond zonder achtergrond op een fel
   deel van de visual en was daar niet te lezen; de portretfoto was 64x44
   uitgerekt waardoor het hoofd raar werd afgesneden. */
.elementor-element-f0003ec{
position:relative;z-index:2;width:fit-content;max-width:620px;
padding:24px!important;border-radius:8px;
background-color:rgba(1,1,17,.62);
-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
box-shadow:inset 0 1px 0 0 rgba(246,243,236,.16),inset 0 -1px 0 0 rgba(246,243,236,.08);
}
.elementor-element-f0003ec .elementor-heading-title,
.elementor-element-f0003ec p{text-shadow:0 1px 12px rgba(1,1,17,.55)}
/* portret: vierkant uitsnijden en van boven uitlijnen, anders valt het hoofd weg */
.elementor-element-f0003ef img{
width:56px!important;height:56px!important;
border-radius:50%;object-fit:cover;object-position:50% 22%;
border:1px solid rgba(246,243,236,.16);
}
@media (max-width:767px){
.elementor-element-f0003ec{width:auto;max-width:none;padding:20px!important}
}

/* ── r21 · sollicitatieformulier gelijk aan het contactformulier ─────────
   MarkUp #54 en #55. De velden stonden op wit met crèmekleurige tekst
   (dus onleesbaar) en het label op de knop was wit op crème. Waarden zijn
   overgenomen van het WPForms-contactformulier in de drawer. */
.fq-applyform .elementor-field-group input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.fq-applyform .elementor-field-group textarea,
.fq-applyform .elementor-field-group select{
background-color:rgba(246,243,236,.08)!important;
color:#F6F3EC!important;
border:0!important;border-radius:8px!important;
padding:14px 16px!important;
font-family:Inter,sans-serif!important;font-size:16px!important;line-height:24px!important;
box-shadow:none!important;
}
.fq-applyform .elementor-field-group input:focus,
.fq-applyform .elementor-field-group textarea:focus,
.fq-applyform .elementor-field-group select:focus{
outline:0;background-color:rgba(246,243,236,.12)!important;
box-shadow:inset 0 0 0 1px rgba(25,231,156,.55)!important;
}
.fq-applyform ::placeholder{color:rgba(246,243,236,.40)!important;opacity:1}
.fq-applyform select option{background-color:#060830;color:#F6F3EC}
.fq-applyform textarea{min-height:120px}
/* bestandsveld */
.fq-applyform input[type=file]{
background-color:rgba(246,243,236,.08)!important;color:rgba(246,243,236,.64)!important;
border:0!important;border-radius:8px!important;padding:12px 16px!important;
font-family:Inter,sans-serif!important;font-size:14px!important;
}
/* verzendknop: crème met donkere tekst, mint op hover — zoals contact */
.fq-applyform .elementor-button[type=submit],
.fq-applyform button[type=submit]{
background-color:#F6F3EC!important;color:#01021E!important;
border:0!important;border-radius:8px!important;
font-family:Inter,sans-serif!important;font-size:14px!important;font-weight:500!important;
padding:12px 20px!important;
}
.fq-applyform .elementor-button[type=submit]:hover,
.fq-applyform button[type=submit]:hover{background-color:#19E79C!important;color:#01021E!important}
/* akkoordvinkje */
.fq-applyform input[type=checkbox]{accent-color:#19E79C;width:16px;height:16px}
.fq-applyform .elementor-field-type-acceptance label,
.fq-applyform .elementor-field-option label{
font-family:Inter,sans-serif;font-size:14px;line-height:20px;color:rgba(246,243,236,.64);text-transform:none;letter-spacing:0;
}

/* ── r22 · footermenu werd wit onder 1024px ──────────────────────────────
   MarkUp #61. De nav-menu widgets in de footer schakelen onder de
   tabletbreakpoint naar hun dropdown-variant, en die heeft in Elementor
   standaard een witte achtergrond. In de header was dat al afgevangen,
   in de footer niet. */
.elementor-location-footer .elementor-nav-menu--dropdown,
.elementor-location-footer .elementor-nav-menu__container.elementor-nav-menu--dropdown{
background-color:transparent!important;border:0!important;box-shadow:none!important;
}
.elementor-location-footer .elementor-nav-menu--dropdown a.elementor-item,
.elementor-location-footer .elementor-nav-menu--dropdown a.elementor-sub-item{
background-color:transparent!important;
color:rgba(246,243,236,.64)!important;
padding-left:0!important;padding-right:0!important;
border:0!important;
}
.elementor-location-footer .elementor-nav-menu--dropdown a.elementor-item:hover,
.elementor-location-footer .elementor-nav-menu--dropdown a.elementor-item:focus,
.elementor-location-footer .elementor-nav-menu--dropdown a.elementor-item.highlighted,
.elementor-location-footer .elementor-nav-menu--dropdown a.elementor-sub-item:hover{
background-color:transparent!important;color:#19E79C!important;
}
.elementor-location-footer .elementor-menu-toggle{color:rgba(246,243,236,.64)!important;background-color:transparent!important}

/* ── r23 · Home USP-kaarten: beeld onderaan, tekst bovenaan ──────────────
   MarkUp #23 en #24. De rij stond op align-items:center, waardoor de drie
   kaarten verschillend hoog waren en het beeld mee omhoog of omlaag schoof
   zodra de tekst langer of korter werd. Nu rekken de kaarten even hoog op,
   staan titel en broodtekst bovenaan en zit het beeld met margin-top:auto
   onderaan — op alle drie dezelfde lijn. */
.fq-usps{align-items:stretch!important}
.fq-usp-cell{display:flex;flex-direction:column;align-self:stretch!important;height:auto!important}
.fq-usp-cell > .elementor-widget-image{margin-top:auto!important;margin-bottom:0!important}
.fq-usp-cell > .elementor-widget-image img{display:block;width:100%;height:auto}
@media (max-width:1024px){
.fq-usps{align-items:stretch!important}
}

/* ── r24 · ronde uit de MarkUp-feedback van 20-08 ────────────────────────
   #49 beeld onderaan · #53 icoon op hover · #36 filters · #48 FAQ ·
   #46 checkbox gelijk · #12/#16/#19 laatste labels naar 14px */

/* #49 — beeld onderaan de solution-featurekaart, kaarten even hoog */
.fq-sol-feats,
[id^="sol-f"]{align-self:stretch}
[id^="sol-f"] > .elementor-widget-image{margin-top:auto!important;margin-bottom:0!important}
[id^="sol-f"] > .elementor-widget-image img{display:block;width:100%;border-radius:8px}

/* #53 — icoon in een button volgt altijd de tekstkleur, dus nooit meer
   mint-op-mint of wit-op-crème */
/* vervangen door r29: de icoonkleur wordt niet meer platgeslagen */

/* #36 — geldt voor alle filters: binnenradius kleiner dan het kader.
   Kader 8px met 8px padding, dus de pill op 4px. */
.fqb-bar{border-radius:8px}
.fqb-pill,
.fqb-filter a,
.elementor-widget-taxonomy-filter .e-filter-item,
.fq-team-filter a,
.fq-team-filter button{border-radius:4px!important}

/* #48 — FAQ-items als glaskaart, met een zachte flare achter het blok */
.fq-faq{position:relative;z-index:0}
.fq-faq::before{
content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
width:min(900px,120%);height:min(620px,110%);
background:radial-gradient(circle 260px at 42% 28%,rgba(95,41,198,.40),rgba(95,41,198,0) 70%),radial-gradient(circle 240px at 62% 74%,rgba(25,231,156,.24),rgba(25,231,156,0) 72%);
filter:blur(50px);pointer-events:none;z-index:-1;
}
.fq-faq__item{
position:relative;
background-color:rgba(6,8,48,.55)!important;
-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
border-radius:8px;
box-shadow:inset 0 1px 0 0 rgba(246,243,236,.16),inset 0 -1px 0 0 rgba(246,243,236,.08);
}
.fq-faq__item + .fq-faq__item{margin-top:12px}
.fq-faq__q{padding:20px 24px!important}
.fq-faq__a{padding:0 24px 20px!important}

/* #46 — het vinkje in het sollicitatieformulier gelijk aan het contactformulier */
.fq-applyform input[type=checkbox]{
appearance:none;-webkit-appearance:none;
width:24px!important;height:24px!important;flex:0 0 24px;
border-radius:8px;border:0;
background-color:rgba(246,243,236,.08);
cursor:pointer;position:relative;margin:0 10px 0 0;
transition:background-color .2s ease;
}
.fq-applyform input[type=checkbox]:hover{background-color:rgba(246,243,236,.14)}
.fq-applyform input[type=checkbox]:checked{background-color:#19E79C}
.fq-applyform input[type=checkbox]:checked::after{
content:'';position:absolute;left:8px;top:4px;width:6px;height:12px;
border:solid #01021E;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.fq-applyform .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:0}

/* #12 #16 #19 — de laatste labels onder 14px zaten in het megamenu */
.fq-mm-colhead,
.fq-mm-card__cat,
.fq-mm-card__date{font-size:14px!important;line-height:20px!important}

/* ── r25 · About: teller en tekstkolommen ────────────────────────────────
   #56 het aantal open rollen is nu dynamisch ([fq_job_count]) en krijgt een
   glaschip zoals de andere kleine markeringen. #58 de twee verhaalkolommen
   liepen op 448px binnen een container van 943px; die lijnen nu uit met de
   rest van de pagina (1376px, 2x672). */
.fq-count{
display:inline-flex;align-items:center;justify-content:center;
min-width:40px;height:28px;padding:0 10px;
border-radius:8px;
background-color:rgba(246,243,236,.08);
-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
box-shadow:inset 0 1px 0 0 rgba(246,243,236,.16),inset 0 -1px 0 0 rgba(246,243,236,.08);
font-family:Inter,sans-serif;font-size:14px;line-height:20px;font-weight:500;
color:#19E79C;letter-spacing:0;
}

/* r26 · MarkUp #57 — 'Open Roles' plus het aantal stonden te strak op de lijn.
   Meer lucht tussen de kop en de lijst, en de rijen zelf ademen ook wat meer. */
.elementor-element-e1a28f5{padding-top:14px!important;padding-bottom:14px!important}

/* ── r27 · About-marquee: geen transparantie meer, icoon tussen de zinnen ─
   MarkUp #37. De woorden stonden op rgba(...,.64) en de tweede variant was
   een outline; waar ze elkaar in de loop overlapten ontstonden donkere en
   lichte plekken. Nu vaste tinten (dezelfde waarden, maar doorgerekend op
   #01021E) en tussen elke zin het golf-icoon, zoals in de knoppen. */
.fq-usp-w{
color:#9E9CA2!important;
-webkit-text-fill-color:#9E9CA2!important;
-webkit-text-stroke:0!important;
opacity:1!important;
display:inline-flex;align-items:center;gap:16px;
}
.fq-usp-w.fq-usp-o{
color:#3C3C4F!important;
-webkit-text-fill-color:#3C3C4F!important;
-webkit-text-stroke:0!important;
}
.fq-usp-w::after{
content:'';display:inline-block;flex:0 0 auto;
width:40px;height:18px;margin-left:24px;
background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%278%27%20viewBox%3D%270%200%2017.9973%208%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M0%208C0%208%204.22468%208%206.59147%208C13.2583%208%2016.266%202.94596%2017.9973%200C17.9973%200%2013.7726%200%2011.4058%200C4.73897%200%201.73134%205.05405%200%208Z%27%20fill%3D%27%2319E79C%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
}

/* ── r28 · sluitstuk labelmaat: alles wat nog onder 14px stond ───────────
   Na de sweep door de Elementor-widgets bleven dit de laatste plekken waar
   de maat uit CSS of een plugin kwam. Gecontroleerd met een scan over alle
   pagina's op elk element dat direct tekst bevat. */
.fqb-pill,
.fqb-filter a,
.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-label-inline,
.elementor-widget-taxonomy-filter .e-filter-item,
.e-filter-item,
.fq-legal .elementor-nav-menu a.elementor-item,
.fq-legal .elementor-widget-text-editor,
.fq-legal .elementor-widget-text-editor p,
.fq-rm-label,
.fq-testi-cta,
.fq-mm-colhead,
.fq-mm-colhead--link,
.fq-mm-card__cat,
.fq-mm-card__date{font-size:14px!important;line-height:20px!important}

/* ── r29 · icoonkleur alleen bij hover corrigeren (MarkUp #53) ───────────
   De vorige oplossing zette elk buttonicoon op currentColor. Dat werkt,
   maar slaat ook een eigen SVG-kleur plat — als je een gekleurd icoon
   aanlevert verdwijnt die. Nu blijft de eigen kleur in de rustsituatie
   staan en corrigeren we alleen de hover, waar de knop naar mint of crème
   omslaat en een mint icoon anders onzichtbaar zou worden.
   Wil je op één knop tóch een afwijkende hoverkleur, geef die knop de
   klasse fq-icon-keep en het icoon houdt zijn eigen kleur. */
a.elementor-button[class*=btn-p]:hover .elementor-button-icon svg *,
.fq-btn--primary:hover .elementor-button-icon svg *,
.elementor-location-header .fq-mobile-cta a.elementor-item:hover svg *,
.fq-applyform .elementor-button[type=submit]:hover svg *,
.wpforms-container button[type=submit]:hover svg *{fill:#01021E!important}
a.elementor-button[class*=btn-p]:hover .elementor-button-icon svg *[stroke]:not([stroke="none"]),
.fq-btn--primary:hover .elementor-button-icon svg *[stroke]:not([stroke="none"]){stroke:#01021E!important}
a.elementor-button[class*=btn-p]:hover .elementor-button-icon i,
.fq-btn--primary:hover .elementor-button-icon i{color:#01021E!important}
.elementor-button .elementor-button-icon svg,
.elementor-button .elementor-button-icon svg *{transition:fill .2s ease,stroke .2s ease}
.fq-icon-keep:hover .elementor-button-icon svg *{fill:revert!important;stroke:revert!important}

/* ── r29b · WPForms-checkbox tekende twee vierkanten (MarkUp #46) ────────
   Het input-element zelf is de 24px glasbox; WPForms zet daar met ::before
   nog een eigen 16px vakje met radius 3 overheen. Die tweede weg, en het
   vinkje op dezelfde manier opgebouwd als in het sollicitatieformulier. */
.wpforms-container input[type=checkbox]::before{content:none!important;display:none!important}
.wpforms-container input[type=checkbox]{position:relative}
.wpforms-container input[type=checkbox]:checked{background-color:#19E79C!important;border-color:#19E79C!important}
.wpforms-container input[type=checkbox]::after{
content:''!important;position:absolute!important;
left:8px!important;top:4px!important;
width:6px!important;height:12px!important;
background:none!important;border:0!important;border-radius:0!important;
transform:none!important;opacity:0;
}
.wpforms-container input[type=checkbox]:checked::after{
border:solid #01021E!important;border-width:0 2px 2px 0!important;
transform:rotate(45deg)!important;opacity:1;
}

/* ── r30 · WPForms-veldlabels: eigen stylesheet laadt na de onze ─────────
   .wpforms-container .wpforms-field-label bleef op 12px omdat WPForms zijn
   eigen regel met !important later inlaadt. Hogere specificiteit lost het op. */
body div.wpforms-container-full form.wpforms-form .wpforms-field .wpforms-field-label,
body div.wpforms-container-full form.wpforms-form .wpforms-field .wpforms-field-label-inline,
body div.wpforms-container form .wpforms-field-label,
body div.wpforms-container form .wpforms-field-label-inline{font-size:14px!important;line-height:20px!important}

/* r31 · About-verhaalblok: beeldrij en tekstrij delen exact dezelfde kolommen (MarkUp #58) */
.elementor-element-ab4gal{padding:0!important}
.elementor-element-ab4txt{padding:0!important}
.elementor-element-ab4gal > *,
.elementor-element-ab4txt > *{flex:1 1 0!important;max-width:none!important;width:auto!important}

/* r32 · MarkUp #34 — footerlogo iets kleiner (248 -> 208) en lucht erboven,
   zodat het niet meer tegen de lijn erboven aan plakt. */
.fq-footer-logo{margin-top:32px!important}
@media (max-width:1024px){.fq-footer-logo{margin-top:24px!important}}

/* ── r33 · MarkUp #57 — "Open Roles" en het aantal stonden op de lijn ────
   De vorige poging (r26) verloor het van de per-element CSS die Elementor
   ná onze stylesheet inlaadt; vandaar dat er niets veranderde. Nu met een
   selector die wél wint, en de ruimte zit onder de kop zelf in plaats van
   alleen in de gap eronder. */
body .elementor-element.elementor-element-ab9oh > .elementor-widget-container{
padding-bottom:20px!important;
}
body .elementor-element.elementor-element-ab9oh > .elementor-widget-container > div{
min-height:32px!important;
}
/* rijhoogte komt uit de loop-template zelf; de override hier maakte ze juist plat */

/* ── r34 · MarkUp #25 — koppen van de productkaarten op één lijn ─────────
   De tekstblokken hangen onderaan de kaart (justify-content:flex-end), dus
   een langere of kortere body duwde de kop omhoog of omlaag: 396 / 420 /
   400px vanaf de kaartbovenkant. Door de body een vaste minimumhoogte te
   geven wordt het hele blok even hoog, beginnen de koppen op dezelfde lijn
   en valt het verschil onderin — precies zoals gevraagd.
   Technisch kan het dus prima; het is bewust een afwijking van Figma, waar
   de kaarten juist versprongen staan. */
.fq-sol-card > .e-con > .elementor-widget-text-editor{min-height:104px}
@media (max-width:1024px){
.fq-sol-card > .e-con > .elementor-widget-text-editor{min-height:0}
}

/* ── r35 · glasafwerking naar de Osmo-variant (donkere uitvoering) ───────
   Beoordeeld naast de bestaande stijl: de oude vulling was dekkend #060830,
   waardoor de backdrop-blur niets deed en er niets doorheen kwam. Dit is de
   variant die James koos: doorschijnend, met de dubbele randlichten van
   Osmo (linksboven sterk, rechtsonder zacht).

   Osmo's markup gebruikt zeven losse divs. Op dit donkere palet zijn drie
   van die lagen aantoonbaar zonder effect — color-burn met #201d1d, darken
   met een lichte glow en overlay op bijna-zwart doen niets. De overige vier
   zijn hier samengevoegd tot één box-shadow op het element zelf, zodat er
   geen extra divs in Elementor nodig zijn en de randdikte niet meeschaalt
   met de tekstgrootte (Osmo rekent in em). Visueel 1-op-1 gecontroleerd. */
:root{
--fq-glass-fill:rgba(6,8,48,.55);
--fq-glass-blur:saturate(120%) blur(12px);
--fq-glass-rim:
  inset 4.5px 4.5px 1.5px -5.25px rgba(255,255,255,.80),
  inset 3px 4.5px 1.5px -3px rgba(179,179,179,.50),
  inset -4.5px -4.5px 1.5px -5.25px rgba(255,255,255,.35),
  inset -3px -4.5px 1.5px -3px rgba(179,179,179,.22);
}
.fq-glass,
.fq-faq__item{
background-color:var(--fq-glass-fill)!important;
-webkit-backdrop-filter:var(--fq-glass-blur)!important;
backdrop-filter:var(--fq-glass-blur)!important;
box-shadow:var(--fq-glass-rim)!important;
}
/* Contact: vulling bewust dichter houden, daar ging #42/#43 over leesbaarheid */
.elementor-element-f0003ec{
box-shadow:var(--fq-glass-rim)!important;
-webkit-backdrop-filter:saturate(120%) blur(16px)!important;
backdrop-filter:saturate(120%) blur(16px)!important;
}

/* ── r36 · footer: sociale iconen links uitlijnen, QDC op één regel ──────
   De social-widget stond op text-align:center binnen een raster van 184px,
   waardoor het eerste icoon 66px naar rechts begon terwijl het label
   "Follow us" op x=1224 staat. En de link "Quantum Domain Controller (QDC)"
   brak over twee regels in een kolom van 247px. */
.elementor-location-footer .elementor-element-c72f9ab,
.elementor-location-footer .elementor-widget-social-icons{text-align:left!important}
.elementor-location-footer .elementor-widget-social-icons .elementor-grid,
.elementor-location-footer .elementor-element-c72f9ab .elementor-grid{
justify-content:flex-start!important;
justify-items:start!important;
}
.elementor-location-footer .elementor-widget-social-icons .elementor-grid-item{margin:0!important}

@media (min-width:1025px){
.elementor-location-footer .elementor-nav-menu a.elementor-item{white-space:nowrap}
.elementor-location-footer .elementor-element-7151e24{flex:0 0 auto;width:auto;min-width:264px}
}

/* r37 - .fq-btn (resource header CTA) gelijk aan de standaard primaire knop; de kit-regel .elementor-kit-10 a won van .fq-btn--primary */
a.fq-btn,button.fq-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px 8px 16px;border-radius:8px;font-family:Inter,sans-serif;font-weight:500;font-size:14px;line-height:24px;text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .2s ease}
a.fq-btn.fq-btn--primary,button.fq-btn.fq-btn--primary{background:#F6F3EC;color:#01021E;box-shadow:inset 0 0 0 1px rgba(1,2,30,.08)}
a.fq-btn.fq-btn--primary:hover,a.fq-btn.fq-btn--primary:focus-visible,button.fq-btn.fq-btn--primary:hover{background:#19E79C;color:#01021E;transform:translateY(-1px)}
a.fq-btn.fq-btn--primary svg,a.fq-btn.fq-btn--primary svg *{stroke:currentColor}
a.fq-btn > span,button.fq-btn > span{line-height:1.3;white-space:nowrap}

/* r38 - resourceformulier: kolombreedte gelijk aan het contactformulier (546) in plaats van de volle 1376 */
.fq-formblock .fq-form{max-width:546px}
.fq-formblock__i{max-width:546px}
@media(min-width:1025px){
.fq-formblock{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,546px);grid-template-rows:auto 1fr;column-gap:64px;align-items:start}
.fq-formblock__h{grid-column:1;grid-row:1;margin:0 0 16px}
.fq-formblock__i{grid-column:1;grid-row:2;margin:0}
.fq-formblock .fq-form{grid-column:2;grid-row:1/span 2}
}

/* r39 - videoknop op de headerafbeelding + lightbox */
.fq-video{display:flex;align-items:center;justify-content:center}
.fq-video__btn{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid rgba(246,243,236,.08);border-radius:8px;background:rgba(6,8,48,.55);-webkit-backdrop-filter:saturate(120%) blur(12px);backdrop-filter:saturate(120%) blur(12px);box-shadow:inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08);color:#F6F3EC;font-family:Inter,sans-serif!important;font-size:14px!important;line-height:24px!important;font-weight:500!important;cursor:pointer;transition:background-color .2s ease,transform .2s ease}
.fq-video__btn:hover{background:rgba(6,8,48,.75);transform:translateY(-1px)}
.fq-video__play{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#19E79C;color:#01021E}
.fq-video__play svg{margin-left:2px}
.fq-video__modal{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .24s cubic-bezier(.22,.61,.36,1)}
.fq-video__modal.is-open{opacity:1}
.fq-video__modal[hidden]{display:none}
.fq-video__scrim{position:absolute;inset:0;background:rgba(1,2,30,.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.fq-video__box{position:relative;width:min(1120px,100%)}
.fq-video__panel{position:relative;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#010111;box-shadow:inset 0 0 0 1px rgba(246,243,236,.16)}
.fq-video__frame,.fq-video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.fq-video__close{position:absolute;top:-44px;right:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:rgba(246,243,236,.08);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 rgba(246,243,236,.16),inset 0 -1px 0 rgba(246,243,236,.08);color:#F6F3EC;cursor:pointer;transition:background-color .2s ease}
.fq-video__close:hover{background:rgba(246,243,236,.16);color:#19E79C}
html.fq-video-open{overflow:hidden}
@media(max-width:767px){.fq-video__modal{padding:16px}.fq-video__close{top:auto;bottom:-44px}}
@media(prefers-reduced-motion:reduce){.fq-video__modal{transition:none}.fq-video__btn:hover{transform:none}}

/* r40 - inhoudsopgave: onder 1025px boven het artikel in plaats van eronder, en niet plakkend */
@media(max-width:1024px){
.elementor-136 .elementor-element.elementor-element-ar10050{order:-1}
.elementor-136 .elementor-element.elementor-element-ar10051{position:static!important}
}
.elementor-136 .elementor-element.elementor-element-a98622b h4{scroll-margin-top:180px}

/* r41 - verzendknoppen krijgen hetzelfde gedrag als de overige knoppen: mint bij hover en de letteranimatie */
button.wpforms-submit{transition:background-color .2s ease,color .2s ease,transform .2s ease}
button.wpforms-submit.wpforms-submit.wpforms-submit.wpforms-submit.wpforms-submit:hover{background:#19E79C!important;background-color:#19E79C!important;color:#01021E!important;transform:translateY(-1px)}
button.wpforms-submit [data-button-animate-chars]{line-height:1.3;white-space:nowrap}
@media(prefers-reduced-motion:reduce){button.wpforms-submit:hover{transform:none}}

/* r42 - hello-elementor reset.css kleurt elke button bij focus/hover #c36; onze knoppen houden hun eigen kleur */
button.fq-video__btn:focus,button.fq-video__btn:hover{background-color:rgba(6,8,48,.75);color:#F6F3EC}
button.fq-video__btn:focus{background-color:rgba(6,8,48,.55)}
button.fq-video__close:focus,button.fq-video__close:hover{background-color:rgba(246,243,236,.16);color:#F6F3EC}
button.fq-video__close:hover{color:#19E79C}
button.fq-gal__b:focus{background-color:rgba(246,243,236,.08);color:#19E79C}
button.fq-gal__b:hover{background-color:rgba(246,243,236,.16);color:#19E79C}
button.fq-btn.fq-btn--primary:focus{background-color:#F6F3EC;color:#01021E}

/* r44 - de call to action staat nu in de footer (98) en loopt van rand tot rand;
   op de contactpagina staat al een formulier, daar blijft hij weg. */
.elementor-location-footer #fq-footer-cta{width:100%}
body.page-id-80 .elementor-location-footer #fq-footer-cta{display:none}
/* de vouwlijn loopt mee tot de schermranden */
.elementor-location-footer .elementor-element-a1fa55e{width:100vw!important;max-width:none!important;flex:0 0 auto!important;min-width:100vw!important;align-self:flex-start;margin-left:calc(50% - 50vw)!important;margin-right:0!important;margin-top:0!important}
.elementor-location-footer .elementor-element-a1fa55e img{width:100%;max-width:none;height:auto;display:block}

/* r45 - resources-archief: de statische kaarten zijn vervangen door twee loop grids
   (683 raster, 684 uitgelicht). De opmaak hangt aan klassen, niet aan element-ID's. */
.fq-gridwrap2 .elementor-loop-container{gap:32px}
.fq-featwrap .elementor-loop-container{grid-template-columns:1fr}
.fq-rcard{position:relative;display:flex;flex-direction:column;gap:16px;transition:transform .2s ease}
.fq-rcard:hover{transform:translateY(-2px)}
.fq-rcard__media{min-height:224px;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(246,243,236,.16);background-size:cover;background-position:center}
.fq-rcard__body{display:flex;flex-direction:column;gap:8px}
.fq-rcard__title .elementor-heading-title{font-family:Inter,sans-serif;font-size:20px;line-height:28px;font-weight:400;letter-spacing:0;color:#F6F3EC;margin:0}
.fq-rcard__exc .fq-card-exc{margin:0;font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#F6F3ECA3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fq-rcard__rm{margin-top:auto}
.fq-fcard2{position:relative;display:flex;flex-direction:row;min-height:455px;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(246,243,236,.16);transition:transform .2s ease}
.fq-fcard2:hover{transform:translateY(-2px)}
.fq-fcard2__text{flex:0 0 50.7%;max-width:50.7%;background-color:#060830;padding:48px;display:flex;flex-direction:column;gap:20px;justify-content:space-between}
.fq-fcard2__title .elementor-heading-title{font-family:Inter,sans-serif;font-size:32px;line-height:36px;font-weight:400;letter-spacing:-.5px;color:#F6F3EC;margin:0}
.fq-fcard2__exc .fq-card-exc{margin:0;font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#F6F3ECA3}
.fq-fcard2__img{flex:1 1 auto;min-height:455px;background-size:cover;background-position:center}
@media(max-width:1024px){.fq-gridwrap2 .elementor-loop-container{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.fq-gridwrap2 .elementor-loop-container{grid-template-columns:1fr}
.fq-fcard2{flex-direction:column;min-height:0}
.fq-fcard2__text{flex:0 0 auto;max-width:none;padding:24px;gap:16px}
.fq-fcard2__img{min-height:220px}}

/* r45b - correcties op de nieuwe loop grids */
.fq-fcard2{flex-direction:row!important;flex-wrap:nowrap!important}
.fq-rcard__title .elementor-heading-title,
.fq-rcard__title .elementor-heading-title a,
.fq-fcard2__title .elementor-heading-title,
.fq-fcard2__title .elementor-heading-title a{color:#F6F3EC;text-decoration:none}
.fq-rcard:hover .fq-rcard__title .elementor-heading-title,
.fq-fcard2:hover .fq-fcard2__title .elementor-heading-title{color:#F6F3EC}
.fq-gridwrap2 .elementor-button,
.fq-gridwrap2 .elementor-button-load-more{display:inline-flex;align-items:center;gap:8px;padding:8px 12px 8px 16px!important;border:0!important;border-radius:8px!important;background-color:#F6F3EC;color:#01021E;box-shadow:inset 0 0 0 1px rgba(1,2,30,.08)!important;font-family:Inter,sans-serif!important;font-size:14px!important;line-height:24px!important;font-weight:500!important;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.fq-gridwrap2 .elementor-button:hover,
.fq-gridwrap2 .elementor-button-load-more:hover{background-color:#19E79C;color:#01021E;transform:translateY(-1px)}
.fq-gridwrap2 .e-loop-nothing-found-message{font-family:Inter,sans-serif;font-size:16px;line-height:24px;color:#F6F3ECA3}
@media(max-width:767px){.fq-fcard2{flex-direction:column!important}}

/* r45c - Load more knop en kaarttitel bij hover */
.fq-gridwrap2 .elementor-button,
.fq-gridwrap2 .elementor-button *{color:#01021E!important}
.fq-gridwrap2 .elementor-button{background-color:#F6F3EC!important}
.fq-gridwrap2 .elementor-button:hover{background-color:#19E79C!important}
.fq-rcard:hover .fq-rcard__title .elementor-heading-title,
.fq-fcard2:hover .fq-fcard2__title .elementor-heading-title{color:#19E79C!important}

/* r48 - knop die naar het formulier op dezelfde pagina springt */
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
#res-form,#res-faq,#res-people,#res-gallery{scroll-margin-top:120px}

/* r49 - na het kiezen van een categorie komt de pagina terug op de filterbalk */
#fq-resources{scroll-margin-top:140px}
@media(max-width:1024px){#fq-resources{scroll-margin-top:110px}}

/* r50 - hele kaart klikbaar (Request more info / Download the brochure) */
.elementor-element-nt7c00b,.elementor-element-nt7c011{position:relative;transition:transform .2s ease,box-shadow .2s ease}
.elementor-element-nt7c00b:hover,.elementor-element-nt7c011:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(25,231,156,.32)}
.fq-cardaction-w{position:static}
a.fq-cardaction,button.fq-cardaction{position:absolute;inset:0;z-index:3;display:block;width:100%;height:100%;padding:0;margin:0;border:0;background:none;cursor:pointer;border-radius:inherit}
a.fq-cardaction:hover,button.fq-cardaction:hover,a.fq-cardaction:focus,button.fq-cardaction:focus{background:none}
a.fq-cardaction:focus-visible,button.fq-cardaction:focus-visible{outline:2px solid #19E79C;outline-offset:-2px}
.elementor-element-nt7c00b:hover .elementor-element-nt7c007,.elementor-element-nt7c011:hover .elementor-element-nt7c00d{background-color:rgba(246,243,236,.16)!important}
.elementor-element-nt7c007,.elementor-element-nt7c00d{transition:background-color .2s ease}

/* r51 - beeld in de USP-blokken schaalt mee met de schermhoogte in plaats van een
   vaste 343px. Op een laag scherm (bijvoorbeeld 1147x695) wordt het beeld kleiner,
   zodat kop en tekst het blok dragen; op een hoog scherm loopt het tot 280px. */
.fq-sol-fimg img,
.fq-usp-img img,
.fq-usps img{width:100%!important;height:clamp(140px,24vh,280px)!important;max-height:none!important;object-fit:cover;border-radius:8px;display:block}
.fq-usp-img,
.fq-usp-cell .e-con[style*='background-image']{min-height:clamp(140px,24vh,280px)}
@media(max-width:1024px){.fq-sol-fimg img,.fq-usp-img img,.fq-usps img{height:clamp(140px,22vh,240px)!important}}
@media(max-width:767px){.fq-sol-fimg img,.fq-usp-img img,.fq-usps img{height:clamp(160px,26vh,220px)!important}}

/* r51b - de USP-kaart had een vaste hoogte van 611px; nu volgt hij het beeld,
   zodat een kleiner beeld ook een compacter blok oplevert. De kaarten in een rij
   blijven even hoog doordat de rij op stretch staat. */
.elementor-element-nt2c00a,
.elementor-element-nt2c00f,
.elementor-element-nt2c014,
.elementor-element-nt2c019,
.elementor-element-nt2c01e{min-height:0!important}
.fq-sol-fimg{margin-top:auto}

/* r52 - teamfilter: dezelfde pillen als op de resources-pagina */
#fq-team{scroll-margin-top:140px}
@media(max-width:1024px){#fq-team{scroll-margin-top:110px}}
.fq-teamfilter .fqb-bar{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;padding:8px;border-radius:8px;background:rgba(246,243,236,.08);box-shadow:inset 0 0 0 1px rgba(246,243,236,.16)}
@media(max-width:767px){.fq-teamfilter .fqb-bar{width:100%}}

/* r52b - de pillen zelf; de opmaak van de resources-balk staat in de pagina-CSS,
   dus voor het teamfilter staat hij hier zodat hij overal werkt. */
.fq-teamfilter .fqb-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:6px;font-family:Inter,sans-serif;font-size:14px;line-height:20px;font-weight:500;letter-spacing:0;text-decoration:none;color:#F6F3ECA3;white-space:nowrap;transition:color .2s ease,background-color .2s ease}
.fq-teamfilter .fqb-pill:hover{color:#F6F3EC}
.fq-teamfilter .fqb-pill.is-active{background:#F6F3EC;color:#01021E}
.fq-teamfilter .fqb-pill:focus-visible{outline:2px solid #19E79C;outline-offset:2px}

/* r53 - Solutions desktop: de drie productrijen wisselen elkaar af (beeld rechts,
   beeld links, beeld rechts). Op mobiel blijft het beeld bovenaan; die regel staat
   in responsive.css en wordt hier niet geraakt. */
@media(min-width:768px){
  .elementor-element-d4a652e{--flex-direction:row-reverse!important;flex-direction:row-reverse!important}
}

/* r54 - #80: de binnen- en buitenradius van de oplossingskaarten liepen uiteen
   (16px binnen, 8px buiten). Alles staat nu op de site-radius van 8px. */
.fq-sol-card,
.fq-sol-card>.e-con,
.fq-sol-card a.e-con{border-radius:8px!important}

/* r55 - #76: op smallere schermen liep de tekst onder de pijlknop door en raakte
   de kop de bovenrand van de scrim. De scrim groeit nu mee met de inhoud en de
   kaart reserveert onderaan ruimte voor de knop. */
.fq-sol-card a.e-con::before,
.fq-sol-card>.e-con::before{height:max(210px,58%)}
@media(max-width:1280px){
  .fq-sol-card a.e-con,
  .fq-sol-card>.e-con{padding-bottom:88px!important}
  .fq-sol-card a.e-con::after,
  .fq-sol-card>.e-con::after{right:16px;bottom:16px}
  .fq-sol-card .elementor-widget-text-editor{max-width:100%!important}
}

/* r56 - #37: de twee beelden op About us en All solutions vulden de volle breedte
   en waren daardoor dominanter dan de tekst eronder. Ze staan nu in dezelfde kolom
   als de rest van de pagina, zijn maximaal 40vh hoog, en de alinea's eronder staan
   exact onder het beeld erboven (gelijke kolommen, gelijke gap). */
@media(min-width:768px){
  .elementor-element-ab4top,
  .elementor-element-ab4txt{max-width:1376px!important;margin-left:auto!important;margin-right:auto!important}
}
.elementor-element-ab4gal{padding-right:0!important}
.elementor-element-ab4txt>.elementor-widget{flex:1 1 0!important;width:auto!important;max-width:none!important;min-width:0!important}
.elementor-element-solqsng{padding-right:0!important}
.elementor-element-0c24c79{padding-right:0!important;--justify-content:flex-start!important;justify-content:flex-start!important}
.elementor-element-e33e47e,
.elementor-element-3c9ae31{flex:1 1 0!important;width:auto!important;max-width:none!important;min-width:0!important}
.elementor-element-ab4i1,.elementor-element-ab4i2,
.elementor-element-solqsn1,.elementor-element-solqsn2{aspect-ratio:auto!important;min-height:0!important;height:40vh!important;max-height:40vh!important}
@media(max-width:767px){
  .elementor-element-ab4i1,.elementor-element-ab4i2,
  .elementor-element-solqsn1,.elementor-element-solqsn2{height:30vh!important;max-height:30vh!important}
}
/* r55b - #76: op de lichte productbeelden (Key Manager) was de kop slecht
   leesbaar; de scrim loopt nu wat dieper door. */
.fq-sol-card a.e-con::before,
.fq-sol-card>.e-con::before{background:linear-gradient(180deg,rgba(1,2,30,0),rgba(1,2,30,.58) 45%,rgba(1,2,30,.9))}

/* r57 - #38/#71: de marquee op About stond op 97px en was daarmee dominanter dan
   de kop erboven. Nu 64px; het blad-icoon schaalt mee en staat optisch midden
   tussen de kapitalen in plaats van op de regelbasis. */
.fq-usp-w{display:inline-flex!important;align-items:center!important;gap:12px!important}
.fq-usp-w::after{width:28px!important;height:13px!important;margin-left:16px!important;transform:translateY(-0.06em)}

/* r58 - #19: de FAQ-kaarten waren hoog en stonden ver uit elkaar, waardoor het
   blok rechts zwaar werd en er onder de kop een groot gat viel. De rijen zijn nu
   compacter, de tussenruimte kleiner en de kolommen staan weer op de verhouding
   uit het ontwerp (451 links, 680 rechts) in plaats van 50/50. De kop loopt op
   desktop mee met de lijst, zodat het gat eronder verdwijnt. */
.fq-faq{gap:8px}
.fq-faq__item + .fq-faq__item{margin-top:0}
.fq-faq__q{padding:14px 20px!important;min-height:56px}
.fq-faq__a{padding:0 20px 16px!important}
.fq-faq__i{flex:0 0 32px;width:32px;height:26px}
@media(min-width:1025px){
  .elementor-element-a3db4a2>.e-con{flex:0 1 auto!important;min-width:0!important}
  .elementor-element-fe56c3e{width:451px!important;max-width:42%!important;position:sticky;top:120px;align-self:flex-start}
  .elementor-element-175bb87{width:680px!important;max-width:63%!important}
}

/* r59 - resource-galerij: op desktop een raster, zodat er niets meer buiten beeld
   valt. Op telefoon blijft het een swipe met de pijlen eronder. */
@media(min-width:768px){
  .fq-gal__t{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px 16px;overflow:visible;scroll-snap-type:none;padding-bottom:0}
  .fq-gal__s{flex:none}
  .fq-gal__nav{display:none}
}

/* r60 - About 'niet in theorie': op telefoon staan de twee beelden en de twee
   alinea's onder elkaar in plaats van naast elkaar. */
@media(max-width:767px){
  .elementor-element-ab4txt,
  .elementor-element-ab4gal{--flex-direction:column!important;flex-direction:column!important}
  .elementor-element-ab4txt>.elementor-widget,
  .elementor-element-ab4gal>.e-con{flex:0 0 auto!important;width:100%!important;max-width:100%!important}
}

/* r60b - de per-element CSS van Elementor (.elementor-78 .elementor-element...)
   weegt zwaarder dan r60; op telefoon zette die flex-basis op 100%, wat in een
   kolom de hoogte is en de beelden dus op 0 zette. Deze selector wint wel. */
@media(max-width:767px){
  body .elementor-element.elementor-element-ab4i1,
  body .elementor-element.elementor-element-ab4i2{flex:0 0 auto!important;width:100%!important;max-width:100%!important;min-height:0!important;height:30vh!important;max-height:30vh!important;aspect-ratio:auto!important}
}

/* QSN-tekstkolom: de kop plakte tegen de alinea eronder. */
.elementor-element-cf7b75b{margin-bottom:12px}

/* r61 - hero-video op Home. De achtergrondvideo van Elementor bleef binnen de
   contentkolom staan en liet bij elke lus de YouTube-interface zien, omdat hij op
   ENDED terugspoelt in plaats van door te lopen. Nu een eigen iframe dat over de
   volledige sectie ligt (ook over de padding), met loop=1 zodat YouTube zelf
   naadloos herhaalt en er dus nooit een eindscherm of pauzeknop verschijnt.
   Muted, zonder besturing, zonder toetsenbord en zonder muisinteractie. */
.elementor-element-51f879a{position:relative;overflow:hidden}
.elementor-element-51f879a > .elementor-widget.fq-hvid{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:auto!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;z-index:0;pointer-events:none;overflow:hidden}
.fq-hvid > .elementor-widget-container,
.fq-hvid .fq-hvid__wrap{position:absolute;inset:0;overflow:hidden}
.fq-hvid .fq-hvid__f{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-width:177.78vh;min-height:100%;transform:translate(-50%,-50%) scale(1.06);border:0;pointer-events:none;display:block}
.elementor-element-51f879a > .elementor-background-overlay{z-index:1}
.elementor-element-51f879a > .e-con-inner,
.elementor-element-51f879a > .elementor-element:not(.fq-hvid){position:relative;z-index:2}
@media (prefers-reduced-motion:reduce){.elementor-element-51f879a > .elementor-widget.fq-hvid{display:none}}

/* r62 - #76/#80 oplossingskaarten. De scrim was een vaste balk van 210px met een
   harde bovenrand en een overhang van 1px; daardoor liep de kop over de rand van
   de blur en zag je bij de onderhoeken twee afrondingen over elkaar. De blur zit
   nu op een omhulsel rond de tekst zelf, dus hij is altijd precies zo hoog als de
   inhoud, en hij vervaagt naar boven toe via een mask - geen harde lijn meer.
   Alleen de kaart rondt nog af, de binnenlaag niet. */
/* #5 - scrim als inset-schaduw op de kaart: volgt de afronding, kan nooit
   een zichtbaar blok vormen, en is onafhankelijk van Elementor's overlay. */
.fq-sol-card>.e-con,
.fq-sol-card a.e-con{border-radius:0!important}
.fq-sol-card{border-radius:8px!important;overflow:hidden}
.fq-solglass{position:relative}
.fq-solglass>*{position:relative;z-index:1}
/* #5 - de scrim zat op een omhulsel met negatieve offsets; dat tekende een
   zichtbaar blok rond de tekst. Hij ligt nu over de hele kaart, van boven
   volledig doorzichtig naar onderen dekkend. Geen randen mogelijk. */
.fq-sol-card{position:relative}
/* scrim staat op de binnenlaag, zie boven */
.fq-solglass::before{content:none!important}

/* filterbalk tijdens het ophalen even gedempt */
.fqb-filter.fq-filtering{opacity:.55;transition:opacity .15s ease}

/* r63 - de Careers-kruimel op een vacature springt naar het career-blok op About us; zelfde offset als #fq-team */
#career{scroll-margin-top:140px}
@media(max-width:1024px){#career{scroll-margin-top:110px}}

/* r63 - de juridische links en de copyrightregel in de footer stonden op 14px
   omdat r28 alles onder die maat optrok. Voor deze regel geldt dat niet: terug
   naar de 10px uit de oorspronkelijke opbouw, hoofdletters en spatiering blijven. */
body .fq-legal .elementor-nav-menu a.elementor-item,
body .fq-legal .elementor-nav-menu a.elementor-sub-item,
body .fq-legal .elementor-widget-text-editor,
body .fq-legal .elementor-widget-text-editor p,
body .elementor-location-footer .elementor-element-8ce2cae,
body .elementor-location-footer .elementor-element-8ce2cae p,
body .elementor-location-footer .elementor-element-8ce2cae .elementor-heading-title{font-size:10px!important;line-height:14px!important;letter-spacing:.75px!important}

/* r64 - de juridische links en de copyrightregel op een regel. Het blok stond
   vast op de restbreedte naast het logo (286px), waardoor 'Disclaimer' naar een
   tweede regel viel. Het blok meet zich nu naar zijn inhoud en breekt niet meer.
   Op telefoon is er simpelweg te weinig breedte; daar mag het wel afbreken. */
@media(min-width:768px){
  body .elementor-location-footer .elementor-element-1157b0d{flex:0 0 auto!important;width:auto!important;max-width:none!important;--flex-wrap:nowrap!important;flex-wrap:nowrap!important;--align-items:center!important;align-items:center!important;--gap:24px!important;gap:24px!important}
  body .elementor-location-footer .elementor-element-8ade413{flex:0 0 auto!important;width:auto!important;max-width:none!important}
  body .elementor-location-footer .elementor-element-8ce2cae{flex:0 0 auto!important;width:auto!important;max-width:none!important}
  body .elementor-location-footer .elementor-element-97b6f44{flex:0 1 auto!important}
  body .fq-legal .elementor-nav-menu,
  body .fq-legal .elementor-nav-menu ul,
  body .fq-legal ul{flex-wrap:nowrap!important;white-space:nowrap}
  body .fq-legal .elementor-nav-menu a.elementor-item{white-space:nowrap}
}

/* r65 - vacaturehero: de uitgelichte afbeelding stond er twee keer in. De
   kolom jm10021 heeft hem als achtergrond (cover, met terugval op job-hero.png)
   en daar bovenop stond nog een los beeldwidget met dezelfde bron, dat op zijn
   eigen verhouding werd getekend. Dat gaf een dubbele, gekantelde foto. Het
   widget is verborgen; de achtergrond doet het werk. */
.elementor-element-jm10022{display:none!important}

/* de scrim hoort op de laag die het beeld draagt: een inset-schaduw op de
   kaart zelf valt achter dat beeld en is dus onzichtbaar. */
.fq-sol-card a.e-con,.fq-sol-card>.e-con{box-shadow:inset 0 0 0 1px rgba(246,243,236,.14)!important}
/* (verwijderd: deze regel zette de overlay van Elementor uit) */

/* #5 EINDSTAND - de scrim op de productkaart. Een pseudo over de volle
   hoogte van de beeldlaag: van boven volledig doorzichtig, naar onderen
   dekkend. Geen vaste hoogte, geen overhang, geen blur - dus geen zichtbaar
   blok, op geen enkele schermbreedte. */
.fq-sol-card a.e-con::before,
.fq-sol-card>.e-con::before{
  content:''!important;display:block!important;position:absolute!important;
  left:0!important;right:0!important;top:0!important;bottom:0!important;
  width:auto!important;height:auto!important;border-radius:inherit!important;
  background:linear-gradient(180deg,rgba(1,2,30,0) 0%,rgba(1,2,30,0) 26%,rgba(1,2,30,.74) 58%,rgba(1,2,30,.96) 100%)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  -webkit-mask-image:none!important;mask-image:none!important;
  z-index:1!important;pointer-events:none!important;opacity:1!important;
}
.fq-sol-card a.e-con>*,.fq-sol-card>.e-con>*{position:relative;z-index:2}

/* --------------------------------------------------------------------------
 * Rubriek-labels op About us.
 *
 * De groene wig stond als losse <svg> in de inhoud van het tekstveld zelf.
 * De visuele editor herschrijft die inhoud bij elke bewerking en sloopt daarbij
 * de svg, dus het teken verdween zodra iemand de woorden aanpaste. Hij komt nu
 * uit de CSS, net als .fq-eyebrow-strong op de andere pagina's, zodat er in het
 * tekstveld alleen nog het woord staat en er niets meer te breken valt.
 *
 * Maten, gewicht, spatiering en kleur zijn ongewijzigd overgenomen uit de oude
 * inline stijl: 14px / 300 / .75px / uppercase / #F6F3ECE0, wig 18x8, gat 12px.
 * -------------------------------------------------------------------------- */
.elementor-widget.fq-eyebrow-txt,
.fq-eyebrow-txt .elementor-widget-container{
	display:flex;align-items:center;gap:12px;height:12px;
	font-family:Inter,Helvetica,Arial,sans-serif;font-weight:300;font-size:14px;
	line-height:20px;letter-spacing:.75px;text-transform:uppercase;color:#F6F3ECE0;white-space:nowrap;
}
.fq-eyebrow-txt .elementor-widget-container{height:auto}
.fq-eyebrow-txt::before,
.fq-eyebrow-txt .elementor-widget-container::before{
	content:'';flex:0 0 auto;display:block;width:18px;height:8px;
	background:url('https://falqon.tp-dev.nl/wp-content/uploads/2026/08/tag-wave-icon.svg') center/contain no-repeat;
}
.fq-eyebrow-txt .elementor-widget-container::before{content:none}
.elementor-widget.fq-eyebrow-txt>*{margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
.fq-eyebrow-txt--center,
.fq-eyebrow-txt--center .elementor-widget-container{justify-content:center}

/* Rubriek-labels met een ruimere tussenruimte: de cijferrijen op About us
   stonden altijd al op 16px in plaats van 12px. */
.elementor-widget.fq-eyebrow-txt--g16,
.fq-eyebrow-txt--g16 .elementor-widget-container{gap:16px}

/* --------------------------------------------------------------------------
 * Lichte knop voor een Elementor-knopwidget.
 *
 * .fq-btn en .fq-btn--primary horen op een <a> die wij zelf uit PHP schrijven.
 * Zet je die klasse op een knopwidget, dan komt hij op de omhullende div en
 * niet op de knop, en gebeurt er zichtbaar niets. Deze klasse wijst wel naar
 * binnen en is dus de juiste voor een knop die in Elementor is toegevoegd.
 * -------------------------------------------------------------------------- */
body [data-elementor-type] .elementor-widget.fq-btn-light .elementor-button,
body .elementor-widget.fq-btn-light .elementor-button{
	display:inline-flex;align-items:center;gap:8px;
	padding:8px 12px 8px 16px!important;border:0!important;border-radius:8px!important;
	background-color:#F6F3EC!important;color:#01021E!important;
	box-shadow:inset 0 0 0 1px rgba(1,2,30,.08)!important;
	font-family:Inter,sans-serif!important;font-size:14px!important;line-height:24px!important;font-weight:500!important;
	transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
body [data-elementor-type] .elementor-widget.fq-btn-light .elementor-button *,
body .elementor-widget.fq-btn-light .elementor-button *{color:inherit!important}
body [data-elementor-type] .elementor-widget.fq-btn-light .elementor-button:hover,
body [data-elementor-type] .elementor-widget.fq-btn-light .elementor-button:focus-visible,
body .elementor-widget.fq-btn-light .elementor-button:hover{
	background-color:#19E79C!important;color:#01021E!important;transform:translateY(-1px);
}

/* HOME-02 / SOLUTIONS: de flare-gloed werd door overflow:hidden op de sectie
   recht afgeknipt, waardoor er een harde horizontale en verticale rand ontstond
   (gemeld door klant, 28-08). De gloed staat nu exact in de sectie en dooft naar
   0 voordat hij de rand raakt, dus hij loopt vloeiend over in de achtergrond.
   Kleuren volgen Figma: Ellipse 8 #5F29C6 boven het midden, Ellipse 7 #19E79C eronder. */
.fq-flare-behind::before{
	left:0;
	top:0;
	right:0;
	bottom:0;
	width:auto;
	height:auto;
	transform:none;
	background:
		radial-gradient(30% 40% at 52% 42%,rgba(95,41,198,.85),rgba(95,41,198,.34) 42%,rgba(95,41,198,0) 100%),
		radial-gradient(26% 32% at 49% 68%,rgba(25,231,156,.42),rgba(25,231,156,.16) 44%,rgba(25,231,156,0) 100%);
	filter:blur(48px);
}

/* ==================================================================
   FAQ-pagina (Figma "FAQ — v2", 41175:1954)

   Twee kolommen: links het menu dat meeloopt, rechts de introtekst en een
   blok per FAQ-groep. De blokken komen uit [fq_faq_index], het menu uit
   [fq_faq_nav]; beide lezen dezelfde lijst groepen, dus er staat nooit een
   dode link in het menu.

   De kolombreedtes zelf staan in assets/responsive.css, omdat ze daar boven
   de sitebrede krimpregel voor kolommen onder 1440px uit moeten komen.
   ================================================================== */

/* ── het menu dat meeloopt ─────────────────────────────────────── */
.fq-faqrail{
	position:sticky;
	top:145px;
	align-self:flex-start;
	max-height:calc(100vh - 169px);
	overflow-y:auto;
}
.fq-faqnav{
	display:flex;
	flex-direction:column;
	gap:16px;
	box-sizing:border-box;
	width:100%;
	padding:20px;
	border-radius:8px;
	background:#010111;
	box-shadow:inset 0 0 0 1px rgba(246,243,236,.08);
}
.fq-faqnav__label{
	margin:0;
	font-family:Inter,Helvetica,Arial,sans-serif;
	font-size:11px;
	line-height:16px;
	font-weight:500;
	letter-spacing:1.2px;
	text-transform:uppercase;
	/* Figma zegt 40% wit; op #010111 is dat 3,4:1 en zakt 11px hoofdletters
	   onder WCAG AA. 55% haalt 4,6:1 en blijft optisch een fluisterlabel. */
	color:rgba(246,243,236,.55);
}
.fq-faqnav__links{
	display:flex;
	flex-direction:column;
	gap:4px;
}
.fq-faqnav__link{
	display:flex;
	align-items:center;
	gap:12px;
	padding:10px 12px;
	border-radius:6px;
	text-decoration:none;
	background:transparent;
	transition:background-color .2s ease,color .2s ease;
}
.fq-faqnav__i{
	flex:0 0 2px;
	width:2px;
	height:16px;
	border-radius:1px;
	background:rgba(246,243,236,.16);
	transition:background-color .2s ease;
}
.fq-faqnav__t{
	flex:1 1 auto;
	min-width:0;
	font-family:Inter,Helvetica,Arial,sans-serif;
	font-size:14px;
	line-height:20px;
	font-weight:400;
	color:rgba(246,243,236,.6);
}
.fq-faqnav__link:hover{background:rgba(246,243,236,.05)}
.fq-faqnav__link:hover .fq-faqnav__t{color:rgba(246,243,236,.85)}
.fq-faqnav__link:focus-visible{outline:2px solid #19E79C;outline-offset:-2px}
.fq-faqnav__link.is-active{background:rgba(25,231,156,.1)}
.fq-faqnav__link.is-active .fq-faqnav__i{background:#19E79C}
.fq-faqnav__link.is-active .fq-faqnav__t{color:rgba(246,243,236,.92);font-weight:500}
.fq-faqnav__div{
	height:1px;
	background:rgba(246,243,236,.1);
}
.fq-faqnav__help{
	display:flex;
	flex-direction:column;
	gap:6px;
}
.fq-faqnav__helpq{
	margin:0;
	font-family:Inter,Helvetica,Arial,sans-serif;
	font-size:12px;
	line-height:18px;
	color:rgba(246,243,236,.48);
}
.fq-faqnav__helpa{
	font-family:Inter,Helvetica,Arial,sans-serif;
	font-size:13px;
	line-height:18px;
	font-weight:500;
	color:#19E79C;
	text-decoration:none;
}
.fq-faqnav__helpa:hover{color:#F6F3EC}

/* ── introblok boven de vragen ─────────────────────────────────── */
.fq-faqintro{scroll-margin-top:145px}
.fq-faqintro .elementor-widget-container>*{margin:0}
/* De sitebrede regel `.e-con .elementor-widget{max-width:100%!important}` onder
   1440px zou de introtekst over de volle kolom trekken; hij houdt de
   leesmaat uit het ontwerp. */
body [data-elementor-type] .fq-faqintro .elementor-widget.fq-faqintro__body,
.fq-faqintro .elementor-widget.fq-faqintro__body{max-width:896px!important}
.fq-faqintro__body p{margin:0 0 30px}
.fq-faqintro__body p:last-child{margin:0}

/* ── een blok per groep ────────────────────────────────────────── */
.fq-faqx{
	display:flex;
	flex-direction:column;
	gap:72px;
	margin-top:120px;
}
.fq-faqx__sec{
	display:flex;
	flex-direction:column;
	gap:32px;
	scroll-margin-top:145px;
}
.fq-faqx__sec:focus{outline:none}
.fq-faqx h2.fq-faqx__title{
	margin:0;
	font-family:Inter,Helvetica,Arial,sans-serif;
	font-size:48px;
	line-height:56px;
	font-weight:400;
	letter-spacing:-.72px;
	color:#F6F3EC;
}
.fq-faqx__intro{
	max-width:896px;
	font-family:Inter,Helvetica,Arial,sans-serif;
	font-size:16px;
	line-height:24px;
	color:#F6F3ECA3;
}
.fq-faqx__intro p{margin:0 0 12px}
.fq-faqx__intro p:last-child{margin:0}

/* De vragenlijst staat hier op de maat uit het ontwerp: vaste donkere kaart,
   24px binnenruimte, 16px ertussen. Op Contact en Solutions blijft de
   compacte glaskaart staan, die hoort daar in een smalle kolom. */
.fq-faqx .fq-faq{gap:16px;z-index:auto}
.fq-faqx .fq-faq::before{content:none}
.fq-faqx .fq-faq__item{
	background-color:#010111!important;
	-webkit-backdrop-filter:none!important;
	backdrop-filter:none!important;
	box-shadow:none!important;
	border-radius:8px;
}
.fq-faqx .fq-faq__item+.fq-faq__item{margin-top:0}
.fq-faqx .fq-faq__q{padding:24px!important;min-height:76px;gap:0}
.fq-faqx .fq-faq__t{box-sizing:border-box;padding-right:16px;color:#F6F3ECE0}
.fq-faqx .fq-faq__a{padding:0 24px 24px!important;max-width:none;color:#F6F3ECA3}
.fq-faqx .fq-faq__item[open] .fq-faq__a{padding-top:8px!important}
.fq-faqx .fq-faq__i{flex:0 0 36px;width:36px;height:28px}
.fq-faqx .fq-faq__i::before{width:8.5px;height:1.5px;border-radius:1px}
.fq-faqx .fq-faq__i::after{width:1.5px;height:8.5px;border-radius:1px}

/* ==================================================================
   Een deel van een zin dempen.

   In het ontwerp staat de kern van een kop of introzin in de volle
   inktkleur en loopt de rest gedempt door. De redactie markeert dat
   stuk zelf met [[dubbele blokhaken]], of met de knop Muted text in
   de opmaakbalk. Beide leveren deze span op.
   ================================================================== */
.fq-muted,
body [data-elementor-type] .fq-muted{color:#F6F3ECA3}

.fq-ink,
body [data-elementor-type] .fq-ink{color:#F6F3EC}

/* == r53 - meegroeiend featureraster op de solutionpagina's ==============
   Het aantal ingevulde kaarten bepaalt de indeling; de klant kiest geen
   template. Rijen van drie: 4 kaarten wordt 3+1, 5 wordt 3+2 (de 50,8/49,2
   uit Figma) en 6 wordt 3+3. Achtergrond, radius en het kader blijven op de
   Elementor-container nt2c021 staan, zodat de klant die in de editor houdt. */
.fq-solfeat-w,
body [data-elementor-type] .e-con .elementor-widget.fq-solfeat-w{width:100%;max-width:100%}
.fq-solfeat-w>.elementor-shortcode,
.fq-solfeat-w .elementor-widget-container{display:block}
.fq-solfeat{display:block;width:100%}
.fq-solfeat__row{display:flex;flex-direction:row;align-items:stretch}
.fq-solfeat__row[data-second]{box-shadow:inset 0 1px 0 rgba(246,243,236,.16)}
.fq-solfeat__card{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:48px;padding:48px}
.fq-solfeat__row>.fq-solfeat__card:not(:last-child){box-shadow:inset -1px 0 0 rgba(246,243,236,.16)}
.fq-solfeat__row[data-second][data-n="2"]>.fq-solfeat__card:first-child{flex:0 0 50.8%}
.fq-solfeat__row[data-second][data-n="2"]>.fq-solfeat__card:last-child{flex:0 0 49.2%}
.fq-solfeat__body{display:flex;flex-direction:column;gap:16px}
.fq-solfeat h3.fq-solfeat__title{margin:0;font-family:Inter,sans-serif;font-weight:400;font-size:24px;line-height:28px;letter-spacing:normal;color:#F6F3EC}
.fq-solfeat__text{margin:0;font-family:Inter,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(246,243,236,.64)}
.fq-solfeat__media{margin-top:auto}
.fq-solfeat__media img{display:block;width:100%;border-radius:8px}
/* == r54 - de contentblokken op een solutionpagina ======================
   Vervangt de vaste secties Features, Components en Highlight. Alle maten
   komen uit die secties, zodat de gemigreerde inhoud er hetzelfde uitziet.
   Elk bloktype houdt zijn eigen verticale ruimte: het featureraster staat
   in een omkaderde bak en heeft er zelf geen nodig, een specificatielijst
   staat open in de pagina en krijgt 120px, een mediarij 32px. */
.fq-solblks-w,
body [data-elementor-type] .e-con .elementor-widget.fq-solblks-w{width:100%;max-width:100%}
.fq-solblks-w>.elementor-shortcode{display:block}
.fq-solblks{display:block;width:100%}
.fq-solblk{position:relative;background-color:#01021E}

.fq-solblk__eyebrow{display:flex;align-items:center;gap:12px;margin:0;font-family:Inter,sans-serif;font-weight:300;font-size:14px;line-height:20px;letter-spacing:.75px;text-transform:uppercase;color:#F6F3ECE0}
.fq-solblk__eyebrow::before{content:"";width:17.997px;height:8px;flex:none;display:block;background:url(/wp-content/uploads/2026/08/tag-wave-icon.svg) center/contain no-repeat}
.fq-solblk h2.fq-solblk__title{margin:0;font-family:Inter,sans-serif;font-weight:400;font-size:48px;line-height:48px;letter-spacing:-2px;color:#F6F3EC}
.fq-solblk h2.fq-solblk__title--sm{font-size:40px;line-height:40px;letter-spacing:-1px}
.fq-solblk__body,.fq-solblk__intro{font-family:Inter,sans-serif;font-weight:400;font-size:16px;line-height:24px;letter-spacing:0;color:#F6F3ECA3}
.fq-solblk__body>:first-child,.fq-solblk__intro>:first-child{margin-top:0}
.fq-solblk__body>:last-child,.fq-solblk__intro>:last-child{margin-bottom:0}
.fq-solblk a.fq-solblk__btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;background:#F6F3EC;color:#01021E;font-family:Inter,sans-serif;font-weight:500;font-size:14px;line-height:24px;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(1,2,30,.08),inset 0 1px 0 0 rgba(246,243,236,.16),inset 0 -1px 0 0 rgba(246,243,236,.08);transition:background-color .2s ease,color .2s ease}
.fq-solblk a.fq-solblk__btn::before{content:"";flex:none;display:block;width:17.997px;height:8px;background:url(/wp-content/uploads/2026/08/tag-wave-icon.svg) center/contain no-repeat}
.fq-solblk a.fq-solblk__btn:hover,.fq-solblk a.fq-solblk__btn:focus-visible{background:#19E79C;color:#01021E}

.fq-solblk--media{display:flex;flex-direction:row;align-items:center;gap:32px;padding:32px}
.fq-solblk--media.fq-solblk--flip{flex-direction:row-reverse}
.fq-solblk--media+.fq-solblk--media{padding-top:60px}
.fq-solblk__text{flex:0 1 680px;min-width:0;min-height:584px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:24px;padding:22px 48px}
.fq-solblk__text .fq-solblk__title,.fq-solblk__text .fq-solblk__body{width:584px;max-width:100%}
.fq-solblk__media{flex:0 1 680px;min-width:0;min-height:584px;position:relative;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.fq-solblk__media--empty{min-height:584px;background:transparent}
.fq-solblk__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.fq-solblk__play{position:relative;z-index:1}

.fq-solblk--features{display:flex;flex-direction:column;gap:80px;padding:0 32px}
.fq-solblk__head{display:flex;flex-direction:column;gap:24px}
.fq-solblk__headrow{display:flex;flex-direction:row;gap:48px;align-items:flex-start;justify-content:space-between}
.fq-solblk__headrow h2.fq-solblk__title{width:565px;max-width:100%}
.fq-solblk__intro{width:564px;max-width:100%;text-align:right}
.fq-solblk__frame{background-color:#060830;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(246,243,236,.16)}

.fq-solblk--specs{display:flex;flex-direction:column;gap:80px;padding:120px 32px}
.fq-solblk--specs h2.fq-solblk__title{width:680px;max-width:100%}
.fq-solblk__specrow{display:flex;flex-direction:row;gap:120px;align-items:flex-start}
.fq-solblk__specmedia{flex:0 0 616px;max-width:616px;margin-top:auto}
.fq-solblk__specimg{display:block;width:100%;border-radius:8px}
.fq-solblk__list{flex:0 0 640px;max-width:640px;margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.fq-solblk--specs-wide .fq-solblk__list{flex:1 1 auto;max-width:none}
.fq-solblk__line{display:flex;flex-direction:row;gap:16px;padding:24px 0;box-shadow:inset 0 1px 0 rgba(246,243,236,.16)}
.fq-solblk__cell{flex:0 0 284px;max-width:284px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px}
.fq-solblk__num{font-family:Inter,sans-serif;font-weight:300;font-size:14px;line-height:20px;letter-spacing:.75px;text-transform:uppercase;color:#F6F3ECE0}
.fq-solblk__name{font-family:Inter,sans-serif;font-weight:500;font-size:16px;line-height:24px;color:#F6F3ECE0}
.fq-solblk__desc{flex:1 1 auto;min-width:0;font-family:Inter,sans-serif;font-weight:400;font-size:16px;line-height:24px;color:#F6F3ECA3}
/* r55 - het componentenbeeld hing aan de USP-beeldregel uit r51, die een vaste
   hoogte forceert. Daardoor werd de render bijgesneden en liep de afronding
   weg tegen een harde snijrand. Het beeld volgt nu zijn eigen verhouding en de
   afronding zit op de omlijsting, net als bij de mediablokken. */
.fq-solblk__specmedia{border-radius:8px;overflow:hidden}
.fq-solblk__specimg{height:auto}

/* r56 - het beeld in de mediablokken vulde zijn omlijsting niet. Elementor's
   ".elementor img{height:auto}" weegt zwaarder dan ".fq-solblk__img", dus stopte
   het beeld halverwege het kader. Alleen de bovenhoeken leken daardoor rond.
   De selector is verzwaard zodat het beeld het hele kader vult.
   De knop in de contentblokken krijgt dezelfde hover als elke andere knop op de
   site: dezelfde overgang, dezelfde lift van een pixel, dezelfde oplichting. */
.fq-solblk__media img.fq-solblk__img{height:100%}
.fq-solblk a.fq-solblk__btn{transition:background-color .2s ease,color .2s ease,transform .2s ease,border-color .2s ease}
.fq-solblk a.fq-solblk__btn:hover,.fq-solblk a.fq-solblk__btn:focus-visible{transform:translateY(-1px);filter:brightness(1.06)}
@media(prefers-reduced-motion:reduce){.fq-solblk a.fq-solblk__btn{transition:none}.fq-solblk a.fq-solblk__btn:hover,.fq-solblk a.fq-solblk__btn:focus-visible{transform:none}}

/* r58 - de opsomming in een mediablok kwam uit het oude #sol-highlight, waar de
   lijst zijn eigen inspringing en regelafstand had. Die regel is bij de omzetting
   naar contentblokken niet meegekomen, waardoor de browserstandaard gold: 40px
   inspringing en geen ruimte tussen de punten. Hersteld op de oorspronkelijke
   24px en 8px. */
.fq-solblk__body ul,.fq-solblk__intro ul{list-style:disc;margin:0;padding:0 0 0 24px}
.fq-solblk__body ol,.fq-solblk__intro ol{margin:0;padding:0 0 0 24px}
.fq-solblk__body li,.fq-solblk__intro li{margin:0 0 8px}
.fq-solblk__body li:last-child,.fq-solblk__intro li:last-child{margin-bottom:0}

/* r59 - Solutions-overzicht draait nu op een loop over het inhoudstype in plaats
   van drie handgebouwde rijen. De oude opmaak hing aan de element-id's van die
   rijen (1013de4, d4a652e, b8b1d1f, solimg1..3); die id's bestaan niet meer.
   Alles hieronder is dezelfde opmaak, maar op klassen, zodat een vierde product
   vanzelf meedoet. Het afwisselen zat vast op de tweede rij; dat is nu elke
   even rij. */
@media(min-width:768px){
  /* nth-of-type en niet nth-child: Elementor zet een <style> als eerste kind in
     de looplijst, waardoor de telling met kinderen een rij verschoof. */
  .fq-solrows .e-loop-item .fq-solrow{--flex-direction:row!important;flex-direction:row!important}
  .fq-solrows .e-loop-item:nth-of-type(even) .fq-solrow{--flex-direction:row-reverse!important;flex-direction:row-reverse!important}
}
@media(max-width:767px){
  .fq-solrow__media{order:-1;min-height:220px!important;width:100%!important}
  .fq-solrow{gap:20px!important}
  .fq-solrow__text{padding:0!important;min-height:0!important;gap:16px!important}
}
@media(min-width:768px) and (max-width:1024px){
  .fq-solrow>.e-con{min-height:0!important;height:auto!important}
  .fq-solrow__media{align-self:flex-start!important;min-height:0!important;height:auto!important;aspect-ratio:4/3!important}
  .fq-solrow__media img{height:100%!important;width:100%!important;object-fit:cover!important;aspect-ratio:auto!important}
}

/* r59b - de rijen zitten nu in een rastercel. Een rastercel krijgt standaard
   min-width:auto en gaat dus mee met de min-content van zijn inhoud: 680 + 32 +
   664 = 1376. Daardoor liep de rij op tablet buiten de pagina en werd hij door
   overflow-x:clip afgesneden. Met min-width:0 mogen de kolommen weer krimpen,
   precies zoals in de oude opbouw. */
.fq-solrows .elementor-loop-container{min-width:0}
.fq-solrows .e-loop-item{min-width:0;max-width:100%}
.fq-solrows .fq-solrow{min-width:0;max-width:100%}
.fq-solrows .fq-solrow>.e-con{min-width:0}

/* ── r60 · Falqon-golf zichtbaar houden op knoppen bij hover (FAL-PRE-BUG 399886) ──
   Het merkteken zit als losse SVG in de knop, met een vaste vulling #19E79C.
   Slaat de knop bij hover om naar mint, dan valt het teken weg tegen zijn
   eigen achtergrond. r29 ving dat al af voor knoppen met btn-p of
   fq-btn--primary; "View all case studies" en "Send message" dragen die
   klassen niet. Daarom mikken we hier op de vulling zelf, en uitsluitend
   binnen een knop: losse golfjes in de tekst en de filterchips blijven mint. */
.elementor-button [fill="#19E79C" i],
a.fq-btn [fill="#19E79C" i],
button.fq-btn [fill="#19E79C" i]{transition:fill .2s ease}
.elementor-button:hover [fill="#19E79C" i],
.elementor-button:focus-visible [fill="#19E79C" i],
a.fq-btn:hover [fill="#19E79C" i],
a.fq-btn:focus-visible [fill="#19E79C" i],
button.fq-btn:hover [fill="#19E79C" i],
button.fq-btn:focus-visible [fill="#19E79C" i]{fill:#01021E!important}

/* ── r61 · Onderbalk sprong bij hover op de juridische links (FAL-PRE-BUG 399868) ──
   Elementor zet .elementor-nav-menu--main .elementor-nav-menu a:hover op
   padding 13px 20px. Onze footerregel stond alleen op de rustsituatie en
   heeft een lagere specificiteit dan die hoverregel, dus groeide de link bij
   hover van 18 naar 40 pixels en schoof de hele onderbalk omhoog. Onder
   1025px wint de regel uit responsive.css met !important al, daar deed het
   probleem zich niet voor. */
.elementor-location-footer .elementor-nav-menu a.elementor-item:hover,
.elementor-location-footer .elementor-nav-menu a.elementor-item:focus,
.elementor-location-footer .elementor-nav-menu a.elementor-item:focus-visible,
.elementor-location-footer .elementor-nav-menu a.elementor-item:active{padding-top:2px;padding-bottom:2px}

/* ── r62 · Falqon-golf in knoppen die als achtergrondafbeelding stond ────────
   r60 loste alleen de golf op die als losse SVG in de knop staat. Op drie
   plekken is de golf geen SVG-element maar een background-image op ::before,
   en de kleur daarvan zit vast in het bestand (#19E79C). CSS kan een
   background-image niet hertinten, dus op elke knop die bij hover naar mint
   omslaat verdween het teken alsnog. Dat gold voor de knop onder een
   contentblok ("Explore Falqon Domain Controller", "Talk to an expert"), de
   verzendknop van het formulier, en de knop in een rij op de Solutions-pagina.

   Oplossing: de afbeelding wordt een mask. Het vlak is dan gewoon een
   gekleurd blokje in de vorm van de golf, en die kleur is wel te sturen.
   In rust blijft alles mint, precies zoals het was.

   Let op bij uitbreiden: niet elke knop met een golf slaat om naar mint. Die
   op de homepage ("See all solutions", "View all insights") blijft donker bij
   hover en houdt daarom mint. Zet een knop alleen in de hoverlijst hieronder
   als de achtergrond licht wordt. */
.fq-btn-wave .elementor-button-content-wrapper::before,
.fq-solblk a.fq-solblk__btn::before,
.gform_wrapper .gform_button::before{
	background-image:none;
	background-color:#19E79C;
	-webkit-mask:url('https://falqon.tp-dev.nl/wp-content/uploads/2026/08/tag-wave-icon.svg') center/contain no-repeat;
	mask:url('https://falqon.tp-dev.nl/wp-content/uploads/2026/08/tag-wave-icon.svg') center/contain no-repeat;
	transition:background-color .2s ease;
}
.fq-solblk a.fq-solblk__btn:hover::before,
.fq-solblk a.fq-solblk__btn:focus-visible::before,
.gform_wrapper .gform_button:hover::before,
.gform_wrapper .gform_button:focus::before,
.gform_wrapper .gform_button:focus-visible::before,
.fq-solrow .fq-btn-wave .elementor-button:hover .elementor-button-content-wrapper::before,
.fq-solrow .fq-btn-wave .elementor-button:focus-visible .elementor-button-content-wrapper::before{
	background-color:#01021E;
}
@media(prefers-reduced-motion:reduce){
	.fq-btn-wave .elementor-button-content-wrapper::before,
	.fq-solblk a.fq-solblk__btn::before,
	.gform_wrapper .gform_button::before{transition:none}
}

/* ── r62b · dezelfde ingreep voor de verzendknop, nu met genoeg gewicht ──────
   gravityforms.css wordt na assets-site.css ingeladen en zet daar met de
   verkorte schrijfwijze `background:url(...)` de golf terug. Dezelfde
   selector kwam dus niet door. Met de klasse verdubbeld wint hij wel, net
   zoals de hoverregel in dat bestand het zelf al doet. */
.gform_wrapper .gform_button.gform_button::before{
	background-image:none;
	background-color:#19E79C;
	-webkit-mask:url('https://falqon.tp-dev.nl/wp-content/uploads/2026/08/tag-wave-icon.svg') center/contain no-repeat;
	mask:url('https://falqon.tp-dev.nl/wp-content/uploads/2026/08/tag-wave-icon.svg') center/contain no-repeat;
	transition:background-color .2s ease;
}
.gform_wrapper .gform_button.gform_button:hover::before,
.gform_wrapper .gform_button.gform_button:focus::before,
.gform_wrapper .gform_button.gform_button:focus-visible::before{background-color:#01021E}

/* ── r63 · Solutions-tegels vulden de kolom niet op brede schermen ───────────
   De rij waar de tegels in staan is een flexcontainer. Toen er nog drie losse
   tegels in zaten had elke tegel 33,33% breedte en vulde de rij vanzelf. Nu er
   één loop-widget in staat is dat widget een flexitem met flex:0 1 auto: het
   mag krimpen, maar niet groeien. Boven 1440px is de kolom breder dan de
   inhoud van het widget en bleef er rechts een gat van 192 pixels open.
   Onder 1440px viel het niet op, omdat de kolom daar smaller is dan het
   widget en de rij dus toch gevuld werd. Vandaar dat het pas op een groot
   scherm zichtbaar werd. */
.fq-solloop,
.fq-solrows{width:100%;max-width:100%;flex:1 1 100%}

/* ── r64 · beeldenrij onder een resource weer een slider ────────────────────
   Twee dingen stonden hier los van elkaar mis.

   Ten eerste: een eerdere regel (r59 hierboven) zette de rij vanaf 768px om
   naar een raster en verborg de pijlen, met als reden dat er op desktop niets
   buiten beeld mocht vallen. Daarmee werd het een galerij in plaats van een
   slider. Die keuze draaien we hier terug.

   Ten tweede: de pijlen hebben nooit gedrag gehad. Er stond geen enkel script
   in het thema dat naar data-fq-gal keek, dus klikken deed niets, ook op
   telefoon niet. Dat zit nu in assets/gallery.js, dat alleen laadt op een
   pagina waar de rij echt staat.

   Wil je liever het raster terug, dan is deze hele regel het enige wat weg
   moet; de opmaak en het script blijven dan gewoon werken op telefoon. */
@media(min-width:768px){
	.fq-gal__t{
		display:flex;
		grid-template-columns:none;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		padding-bottom:4px;
	}
	.fq-gal__s{flex:0 0 320px}
	.fq-gal__nav{display:flex}
}
/* Een pijl die nergens heen kan, laat dat ook zien. */
.fq-gal__b[disabled]{opacity:.4;cursor:default}
.fq-gal__b[disabled]:hover{background:rgba(246,243,236,.08)}
