.elementor-kit-7{--e-global-color-primary:#11141F;--e-global-color-secondary:#F6F4F0;--e-global-color-text:rgba(17,20,31,0.66);--e-global-color-accent:#3E7BFA;--e-global-color-paneel1:#0D1226;--e-global-color-paneel2:#141C3C;--e-global-color-kaartwit:#FFFFFF;--e-global-color-papierz:#FBFAF7;--e-global-color-vlak:#EFECE5;--e-global-color-lijn:rgba(17,20,31,0.15);--e-global-color-omgek:#FFFFFF;--e-global-typography-primary-font-family:"Syne";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.03em;--e-global-typography-primary-letter-spacing:-0.028em;--e-global-typography-secondary-font-family:"Syne";--e-global-typography-secondary-font-size:11px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-letter-spacing:0.17em;--e-global-typography-text-font-family:"Instrument Sans";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.55em;--e-global-typography-accent-font-family:"Syne";--e-global-typography-accent-font-size:11.5px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:0.1em;background-color:#F6F4F0;color:#11141F;font-family:"Instrument Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.55em;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#11141F;}.elementor-kit-7 a:hover{color:#11141F;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:40px;--container-default-padding-bottom:0px;--container-default-padding-left:40px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Salfyn — dunne laag. Alleen wat Elementor niet zelf kan. */

/* geweven paneel: onderlaag, glans, korrel */
.weefsel{position:relative;overflow:hidden}
.weeflaag{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.weeflaag::before{content:"";position:absolute;inset:0;background-image:
  repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 1px,transparent 1px 4px),
  repeating-linear-gradient(135deg,rgba(0,0,0,.30) 0 1px,transparent 1px 4px),
  linear-gradient(160deg,#141C3C,#0A0D1E)}
.weeflaag::after{content:"";position:absolute;top:-40%;left:-60%;width:220%;height:200%;
  background:linear-gradient(118deg,transparent 38%,rgba(180,200,255,.17) 48%,rgba(255,222,190,.22) 52%,transparent 62%);
  animation:salfyn-glans 21s ease-in-out infinite}
@keyframes salfyn-glans{
  0%{transform:translate3d(-14%,-6%,0)}
  50%{transform:translate3d(14%,6%,0)}
  100%{transform:translate3d(-14%,-6%,0)}}
.weefsel::after{content:"";position:absolute;inset:0;z-index:3;opacity:.15;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.boven{position:relative;z-index:4}

/* binnenkomst */
.rise{opacity:0;transform:translateY(24px);animation:salfyn-rise .95s cubic-bezier(.22,1,.36,1) forwards}
@keyframes salfyn-rise{to{opacity:1;transform:none}}
.rise-1{animation-delay:.02s}
.rise-2{animation-delay:.06s}
.rise-3{animation-delay:.28s}
.rise-4{animation-delay:.38s}

/* regellengte in ch — hangt aan de lettergrootte van de tekst zelf */
.hero-tekst p{max-width:54ch;margin-left:auto;margin-right:auto}
.hero-kop em{font-style:normal;opacity:.55}

/* laatste alinea van een tekstwidget houdt anders een ondermarge */
.elementor-widget-text-editor p:last-child{margin-bottom:0}

/* knop-omhulsel houdt anders 2px regelruimte over */
.elementor-widget-button .elementor-button-wrapper{line-height:0}

/* logostrook: masker aan de randen en de doorlopende beweging */
.logo-venster{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.logo-strook{animation:salfyn-strook 34s linear infinite}
@keyframes salfyn-strook{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.kaartje{flex:0 0 auto;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s}
.kaartje:hover{transform:translateY(-5px);box-shadow:0 22px 44px -30px rgba(17,20,31,.5)}
.kaartje img{max-height:38px;max-width:140px;width:auto;height:auto;object-fit:contain}

/* diensten: regellengte in ch en de verticale dienstnaam */
.d-kop h2{max-width:17ch}
.k-tekst{max-width:22ch}
.vert{writing-mode:vertical-rl;transform:rotate(180deg)}
.vert .elementor-heading-title{writing-mode:inherit}

/* cirkelpijl */
.pijl{text-decoration:none}
.pijl .cirkel{transition:transform .45s cubic-bezier(.22,1,.36,1),background-color .35s}
.pijl:hover .cirkel{transform:rotate(45deg)}
.pijl .tk .elementor-heading-title{border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color .35s}
.pijl:hover .tk .elementor-heading-title{border-bottom-color:currentColor}
.pijl:hover .cirkel .elementor-heading-title{color:#11141F}

/* werkwijze: vastgezet paneel, 100vh en de scroll-tijdlijn */
.ww{height:220vh;view-timeline-name:--ww;view-timeline-axis:block}
.ww-stick{position:sticky;top:0;height:100vh}
.w-kop{max-width:calc(100vw - 80px)}
.w-kop h2{max-width:22ch}
.stage{flex:0 0 auto}
.knp .res{margin-top:auto;padding-top:12px;border-top:1px solid rgba(17,20,31,.14)}
.knp{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s}
.knp:hover{transform:translateY(-6px) !important;box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
@supports (animation-timeline: view()){
  .knp{opacity:0;transform:translateY(20px) scale(.965);
       animation:salfyn-knoop cubic-bezier(.22,1,.36,1) both;animation-timeline:--ww}
  .k1{animation-range:contain 2% contain 13%}
  .k2{animation-range:contain 21% contain 32%}
  .k3{animation-range:contain 41% contain 52%}
  .k4{animation-range:contain 61% contain 70%}
}
@keyframes salfyn-knoop{to{opacity:1;transform:none}}
@media (max-width:1360px){
  .stage{transform:scale(calc((100vw - 80px)/1280));transform-origin:top center;
         height:calc(500px * ((100vw - 80px)/1280))}
}

/* verbindingslijnen: exacte bezierpaden als CSS-achtergrond, geen SVG-bestand nodig */
.lijn{pointer-events:none}
.lijn::before{content:"";position:absolute;inset:0;background-repeat:no-repeat;background-size:100% 100%}
.lnA::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='168 208 84 159' width='84' height='159'%3E%3Cpath d='M170,210 C170,274 188,365 250,365' fill='none' stroke='rgba(255,255,255,0.45)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.lnB::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='548 153 94 214' width='94' height='214'%3E%3Cpath d='M550,365 C608,365 594,155 640,155' fill='none' stroke='rgba(255,255,255,0.45)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.lnC::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='788 238 144 139' width='144' height='139'%3E%3Cpath d='M790,240 C790,308 856,375 930,375' fill='none' stroke='rgba(255,255,255,0.45)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")}
@supports (animation-timeline: view()){
  .lijn{animation:salfyn-trek-rd linear both;animation-timeline:--ww}
  .lnA{animation-range:contain 12% contain 23%}
  .lnB{animation-name:salfyn-trek-ro;animation-range:contain 32% contain 43%}
  .lnC{animation-range:contain 52% contain 63%}
}
@keyframes salfyn-trek-rd{from{clip-path:polygon(0 0,0 0,0 0)}to{clip-path:polygon(0 0,200% 0,0 200%)}}
@keyframes salfyn-trek-ro{from{clip-path:polygon(0 100%,0 100%,0 100%)}to{clip-path:polygon(0 100%,200% 100%,0 -100%)}}/* End custom CSS */