:root{
--rg-ink:#0E1216;
--rg-ink2:#1B222A;
--rg-ink3:#2C3641;
--rg-mist:#EDF3F5;
--rg-mist2:#DCE7EB;
--rg-cyan:#26A9C8;
--rg-cyan-dark:#0E6E86;
--rg-cyan-soft:#D6EEF4;
--rg-ember:#F2571E;
--rg-sand:#F5C542;
--rg-line:rgba(14,18,22,.12);
--rg-line-d:rgba(255,255,255,.14);
--rg-hot:linear-gradient(152deg,#FF7A18 0%,#F2571E 38%,#D91F27 78%,#B4141C 100%);
--rg-r-lg:34px;
--rg-r-md:20px;
--rg-r-sm:13px;
--rg-pad:clamp(20px,4vw,48px);
--rg-sec:clamp(62px,8vw,126px);
--rg-gap:clamp(16px,1.8vw,26px);
--rg-gap-col:clamp(26px,4vw,70px);
--rg-ease:cubic-bezier(.22,.61,.36,1);
--rg-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
--rg-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}

/* ---------- secties & rijen ---------- */
.rg-sec{padding-top:var(--rg-sec);padding-bottom:var(--rg-sec)}
.rg-sec-t{padding-top:clamp(40px,5vw,72px)}
.rg-sec-b{padding-bottom:clamp(40px,5vw,72px)}
.rg-ink{background-color:var(--rg-ink);color:#fff}
.rg-mist{background-color:var(--rg-mist)}
.rg-wrap{width:100%;max-width:1340px;margin-left:auto;margin-right:auto;padding-left:var(--rg-pad);padding-right:var(--rg-pad)}
.rg-row{display:flex;flex-direction:row;gap:var(--rg-gap-col)}
.rg-row>.e-con,.rg-row>.elementor-element{flex:1 1 0;min-width:0}
.rg-headrow{align-items:flex-end;margin-bottom:clamp(30px,4vw,54px)}
.rg-mb0{margin-bottom:0}
.rg-mt{margin-top:clamp(28px,3.4vw,52px)}
.rg-more-row{display:flex;justify-content:center;margin-top:clamp(26px,3vw,40px)}
.rg-alignend{align-items:flex-end}
.rg-split{align-items:flex-end}
.rg-split>.e-con:first-child,.rg-split>.elementor-element:first-child{flex:1.4 1 0}
.rg-hero-top{align-items:flex-end;gap:clamp(26px,4vw,64px)}
.rg-hero-top>.e-con:first-child,.rg-hero-top>.elementor-element:first-child{flex:1.35 1 0}
.rg-cols3{gap:clamp(24px,3.4vw,56px);align-items:flex-start}
.rg-cols4{gap:var(--rg-gap);align-items:flex-start}
.rg-btnrow{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.rg-btnrow>.elementor-element{flex:0 0 auto}
.rg-end{justify-content:flex-end}
@media(max-width:900px){
.rg-row,.rg-hero-top,.rg-headrow,.rg-split{flex-direction:column!important}
.rg-alignend{align-items:flex-start}
.rg-cols4{flex-direction:row!important;flex-wrap:wrap!important}
.rg-cols4>.e-con,.rg-cols4>.elementor-element{flex:1 1 calc(50% - var(--rg-gap))!important}
.rg-end{justify-content:flex-start}
}
@media(max-width:660px){
.rg-cols4{flex-direction:column!important}
.rg-cols4>.e-con,.rg-cols4>.elementor-element{flex:1 1 auto!important}
}

/* ---------- typografie ---------- */
.rg-sec,.rg-wrap{font-family:"Figtree",system-ui,-apple-system,sans-serif}
.rg-sec p{line-height:1.62}
.rg-h1 .elementor-heading-title,.rg-h2 .elementor-heading-title,.rg-h3 .elementor-heading-title,.rg-h4 .elementor-heading-title{
font-family:"Archivo",Arial,sans-serif;font-variation-settings:"wdth" 116,"wght" 800;letter-spacing:-.028em;line-height:.94;margin:0}
.rg-h1 .elementor-heading-title{font-size:clamp(2.5rem,6.6vw,5.2rem)}
.rg-h2 .elementor-heading-title{font-size:clamp(1.95rem,4.4vw,3.35rem)}
.rg-h3 .elementor-heading-title{font-size:clamp(1.28rem,1.9vw,1.62rem);font-variation-settings:"wdth" 104,"wght" 760;line-height:1.12;letter-spacing:-.015em}
.rg-h4 .elementor-heading-title{font-size:1.04rem;font-variation-settings:"wdth" 100,"wght" 720;line-height:1.28;letter-spacing:normal}
.rg-hero-h1 .elementor-heading-title{font-size:clamp(2.9rem,9.4vw,7.6rem);font-variation-settings:"wdth" 112,"wght" 830;letter-spacing:-.04em;line-height:.86;color:#fff}
.rg-outline{color:transparent;-webkit-text-stroke:clamp(1.6px,.3vw,4px) var(--rg-ember);display:block}
.rg-lead{font-size:clamp(1.06rem,1.5vw,1.3rem);line-height:1.5;font-weight:500}
.rg-muted{color:var(--rg-ink3)}
.rg-ink .rg-muted{color:rgba(255,255,255,.72)}
.rg-hero-sub{margin-top:clamp(18px,2.4vw,28px);font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 500;font-size:clamp(1.05rem,1.8vw,1.5rem);letter-spacing:-.01em;color:#fff;line-height:1.25}
.rg-hero-sub b{font-variation-settings:"wdth" 100,"wght" 800;color:var(--rg-cyan);font-weight:400}
.rg-hero-copy{color:rgba(255,255,255,.74);font-size:1.02rem}
.rg-step-n{font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 700;font-size:.9rem;color:var(--rg-cyan);display:block}
.rg-step{border-top:2px solid var(--rg-cyan);padding-top:20px}

/* ---------- knoppen & tekstlinks ---------- */
.elementor .rg-btn .elementor-button{display:inline-flex;align-items:center;gap:.55em;padding:.92em 1.55em;border-radius:999px;
font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 650;font-size:.97rem;line-height:1.2;
border:1.5px solid transparent;transition:transform .35s var(--rg-ease),background-color .3s,color .3s,border-color .3s}
.elementor .rg-btn .elementor-button-content-wrapper{display:flex;align-items:center;gap:.55em}
.elementor .rg-btn .elementor-button-content-wrapper::after{content:"";width:1em;height:1em;flex:none;background-color:currentColor;
-webkit-mask:var(--rg-arrow) center/contain no-repeat;mask:var(--rg-arrow) center/contain no-repeat;transition:transform .35s var(--rg-ease)}
.elementor .rg-btn .elementor-button:hover{transform:translateY(-2px)}
.elementor .rg-btn .elementor-button:hover .elementor-button-content-wrapper::after{transform:translateX(4px)}
.elementor .rg-btn-noarrow .elementor-button-content-wrapper::after{display:none}
.elementor .rg-btn-cyan .elementor-button{background-color:var(--rg-cyan);color:#04222b}
.elementor .rg-btn-cyan .elementor-button:hover{background-color:#1d8ea9;color:#fff}
.elementor .rg-btn-ink .elementor-button{background-color:var(--rg-ink);color:#fff}
.elementor .rg-btn-ink .elementor-button:hover{background-color:var(--rg-cyan-dark);color:#fff}
.elementor .rg-btn-white .elementor-button{background-color:#fff;color:var(--rg-ink)}
.elementor .rg-btn-white .elementor-button:hover{background-color:var(--rg-ink);color:#fff}
.elementor .rg-btn-ghost .elementor-button{background-color:transparent;border-color:currentColor;color:#fff}
.elementor .rg-btn-ghost .elementor-button:hover{background-color:#fff;color:var(--rg-ink);border-color:#fff}
.rg-tlink a,a.rg-tlink{display:inline-flex;align-items:center;gap:.5em;font-family:"Archivo",sans-serif;
font-variation-settings:"wdth" 100,"wght" 700;font-size:.95rem;line-height:1.2;white-space:nowrap;text-decoration:none;
border-bottom:2px solid var(--rg-cyan);padding-bottom:3px;color:inherit;transition:gap .3s var(--rg-ease),color .3s}
.rg-tlink a::after,a.rg-tlink::after{content:"";width:1em;height:1em;flex:none;background-color:currentColor;
-webkit-mask:var(--rg-arrow) center/contain no-repeat;mask:var(--rg-arrow) center/contain no-repeat}
.rg-tlink a:hover,a.rg-tlink:hover{gap:.85em;color:var(--rg-cyan-dark)}
.rg-ink .rg-tlink a:hover{color:var(--rg-cyan)}
.rg-more{display:inline-flex;align-items:center;gap:14px;font-family:"Archivo",sans-serif;
font-variation-settings:"wdth" 100,"wght" 780;font-size:1.05rem;text-decoration:none;color:inherit}
.rg-more i{width:34px;height:34px;border:1.5px solid var(--rg-cyan);border-radius:50%;display:grid;place-items:center;
color:var(--rg-cyan);font-style:normal;font-size:1.2rem;line-height:1;transition:.35s var(--rg-ease)}
.rg-more:hover i{background:var(--rg-cyan);color:#fff;transform:rotate(90deg)}
.rg-center{text-align:center}

/* ---------- CTA band ---------- */
.rg-cta{position:relative;border-radius:var(--rg-r-lg);overflow:hidden;color:#fff;
background-image:var(--rg-grain),var(--rg-hot);background-repeat:repeat,no-repeat;
background-size:140px 140px,cover;background-position:center,center;background-blend-mode:overlay,normal}
.rg-cta .elementor-heading-title{color:#fff;max-width:22ch}
@media(max-width:660px){.rg-cta{border-radius:var(--rg-r-md)}}

/* ---------- widget: werkreel ---------- */
.rg-reel{display:flex;gap:14px;margin-top:clamp(36px,5vw,64px);margin-right:calc(50% - 50vw);
padding-right:var(--rg-pad);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
.rg-reel::-webkit-scrollbar{display:none}
.rg-reel-item{position:relative;flex:0 0 clamp(190px,21vw,290px);aspect-ratio:4/5;border-radius:14px;overflow:hidden;scroll-snap-align:start;display:block}
.rg-reel-item img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04);
transition:filter .6s var(--rg-ease),transform .8s var(--rg-ease);display:block}
.rg-reel-item:hover img{filter:none;transform:scale(1.04)}
.rg-reel-item span{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);font-family:"Archivo",sans-serif;
font-variation-settings:"wdth" 96,"wght" 650;font-size:.84rem;color:#fff;background:rgba(14,18,22,.66);
-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:6px 13px;width:fit-content}
.rg-reel-end{flex:0 0 clamp(190px,21vw,290px);display:flex;align-items:center;justify-content:center;text-align:center;
padding:20px;border:1.5px dashed rgba(255,255,255,.28);border-radius:14px}

/* ---------- widget: dienstenraster ---------- */
.rg-grid{display:grid;gap:var(--rg-gap);align-items:stretch}
.rg-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rg-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.rg-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:660px){.rg-grid-3,.rg-grid-2{grid-template-columns:1fr}}
.rg-svc{position:relative;display:block;height:100%;border-radius:var(--rg-r-md);overflow:hidden;
background:var(--rg-ink2);aspect-ratio:4/4.2;isolation:isolate;transition:transform .45s var(--rg-ease)}
.rg-svc:hover{transform:translateY(-6px)}
.rg-svc>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--rg-ease)}
.rg-svc:hover>img{transform:scale(1.06)}
.rg-svc::before{content:"";position:absolute;inset:0;z-index:1;background:var(--rg-hot);opacity:0;
mix-blend-mode:multiply;transition:opacity .45s var(--rg-ease)}
.rg-svc:hover::before{opacity:.78}
.rg-svc::after{content:"";position:absolute;left:0;right:0;top:0;height:5px;z-index:3;background:var(--rg-edge,var(--rg-cyan))}
.rg-svc-bar{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;background:#fff;color:var(--rg-ink);
border-radius:12px;padding:15px 15px 15px 19px;display:flex;align-items:center;gap:14px}
.rg-svc-bar h3{flex:1;margin:0;font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 760;
font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.15;letter-spacing:-.015em}
.rg-circ{flex:none;width:34px;height:34px;border-radius:50%;background:var(--rg-cyan);display:grid;place-items:center;
transition:transform .4s var(--rg-ease),background-color .3s}
.rg-circ::after{content:"";width:15px;height:15px;background-color:#fff;
-webkit-mask:var(--rg-arrow) center/contain no-repeat;mask:var(--rg-arrow) center/contain no-repeat}
.rg-svc:hover .rg-circ{transform:rotate(-45deg);background:var(--rg-ink)}

/* ---------- widget: cases ---------- */
.rg-case{display:flex;flex-direction:column;height:100%;border-radius:var(--rg-r-md);overflow:hidden;
background:var(--rg-ink2);color:#fff;text-decoration:none}
.rg-case-img{aspect-ratio:16/12;overflow:hidden;background:var(--rg-ink3);flex:none}
.rg-case-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--rg-ease)}
.rg-case:hover .rg-case-img img{transform:scale(1.06)}
.rg-case-body{padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;flex:1}
.rg-case-body .rg-client{font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 700;
font-size:.86rem;color:var(--rg-cyan);display:block}
.rg-case-body h3{margin:10px 0 8px;font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 104,"wght" 760;
font-size:clamp(1.28rem,1.9vw,1.62rem);line-height:1.12;letter-spacing:-.015em;color:#fff}
.rg-case-body p{margin:0;color:rgba(255,255,255,.68);font-size:.96rem;line-height:1.55}
.rg-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:16px}
.rg-tags span{border:1px solid var(--rg-line-d);border-radius:999px;padding:5px 12px;font-size:.82rem;
font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 96,"wght" 620}

/* ---------- widget: nieuws ---------- */
.rg-post{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--rg-mist2);
border-radius:var(--rg-r-md);overflow:hidden;text-decoration:none;color:var(--rg-ink);transition:.4s var(--rg-ease)}
.rg-post:hover{transform:translateY(-6px);box-shadow:0 30px 50px -32px rgba(14,18,22,.45);border-color:var(--rg-cyan)}
.rg-post-img{position:relative;flex:none}
.rg-post-fig{aspect-ratio:16/11;overflow:hidden;background:var(--rg-mist);border-radius:0}
.rg-post-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--rg-ease)}
.rg-post:hover .rg-post-img img{transform:scale(1.05)}
.rg-badge{position:absolute;top:14px;right:14px;background:var(--rg-cyan);color:#fff;border-radius:999px;
padding:6px 14px;font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 80,"wght" 660;
font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;line-height:1.2}
.rg-stamp{position:absolute;left:20px;bottom:-24px;width:52px;height:52px;border-radius:50%;background:#fff;
border:1.5px solid var(--rg-cyan);display:grid;place-items:center;padding:8px;z-index:2}
.rg-stamp img{width:100%;height:auto;object-fit:contain}
.rg-post-body{padding:38px 22px 22px;display:flex;flex-direction:column;gap:12px;flex:1}
.rg-post-body h3{margin:0;font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 104,"wght" 760;
font-size:1.18rem;line-height:1.15;letter-spacing:-.015em;color:var(--rg-cyan-dark)}
.rg-post-body p{margin:0;font-size:.96rem;color:var(--rg-ink3);line-height:1.55}
.rg-post-body .rg-readmore{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.5em;
font-family:"Archivo",sans-serif;font-variation-settings:"wdth" 100,"wght" 700;font-size:.95rem;
border-bottom:2px solid var(--rg-cyan);padding-bottom:3px;color:var(--rg-ink);transition:gap .3s var(--rg-ease)}
.rg-post-body .rg-readmore::after{content:"";width:1em;height:1em;flex:none;background-color:currentColor;
-webkit-mask:var(--rg-arrow) center/contain no-repeat;mask:var(--rg-arrow) center/contain no-repeat}
.rg-post:hover .rg-readmore{gap:.85em}

/* ---------- widget: logo-carousel ---------- */
.rg-logos{overflow:hidden;display:flex;
-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rg-logos-row{display:flex;align-items:center;gap:clamp(38px,6vw,90px);flex:none;
padding-right:clamp(38px,6vw,90px);animation:rg-slide var(--rg-speed,46s) linear infinite}
.rg-logos-row a,.rg-logos-row span{display:block;flex:none}
.rg-logos-row img{height:clamp(26px,3.2vw,42px);width:auto;opacity:.55;filter:grayscale(1);transition:.4s;display:block}
.rg-logos-row a:hover img{opacity:1;filter:none}
@keyframes rg-slide{to{transform:translateX(-100%)}}

/* ---------- reveal ---------- */
.rg-rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--rg-ease),transform .8s var(--rg-ease)}
.rg-rv.rg-in{opacity:1;transform:none}
body.elementor-editor-active .rg-rv{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
.rg-rv{opacity:1;transform:none}
.rg-logos-row{animation:none}
.elementor [class*="rg-"]{transition-duration:.001ms!important}
}

/* ============================================================
   LOCK-LAAG
   Zet de maten, kleuren en verhoudingen vast tegen thema- en
   Elementor-stijlen. Alleen de eigenschappen die de layout
   bepalen, zodat je in Elementor nog alles kunt aanpassen wat
   hier niet in staat.
   ============================================================ */

/* --- container: breedte en zijmarges --- */
.elementor .e-con.rg-wrap,
.elementor .elementor-element.rg-wrap{
max-width:1340px!important;
margin-left:auto!important;margin-right:auto!important;
padding-left:clamp(20px,4vw,48px)!important;padding-right:clamp(20px,4vw,48px)!important;
--content-width:1340px!important;--width:100%!important}

/* --- rijen en kolommen --- */
.elementor .rg-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important}
.elementor .rg-row>.e-con,.elementor .rg-row>.elementor-element{flex:1 1 0!important;min-width:0!important;max-width:none!important}
.elementor .rg-headrow{align-items:flex-end!important;margin-bottom:clamp(30px,4vw,54px)}
.elementor .rg-mb0{margin-bottom:0}
.elementor .rg-hero-top{align-items:flex-end!important;gap:clamp(26px,4vw,64px)!important}
.elementor .rg-hero-top>.e-con:first-child,.elementor .rg-hero-top>.elementor-element:first-child{flex:1.35 1 0!important}
.elementor .rg-split{align-items:flex-end!important}
.elementor .rg-split>.e-con:first-child,.elementor .rg-split>.elementor-element:first-child{flex:1.4 1 0!important}
.elementor .rg-cols3{gap:clamp(24px,3.4vw,56px)!important;align-items:flex-start!important}
.elementor .rg-cols4{gap:clamp(16px,1.8vw,26px)!important;align-items:flex-start!important}
.elementor .rg-headrow{gap:clamp(26px,4vw,70px)!important}
.elementor .rg-btnrow{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important}
.elementor .rg-btnrow>.elementor-element{flex:0 0 auto!important;width:auto!important;max-width:none!important}
.elementor .rg-alignend{align-items:flex-end!important}
.elementor .rg-more-row{display:flex!important;flex-direction:row!important;justify-content:center!important}
@media(max-width:900px){
.elementor .rg-row,.elementor .rg-hero-top,.elementor .rg-headrow,.elementor .rg-split{flex-direction:column!important}
.elementor .rg-cols4{flex-direction:row!important;flex-wrap:wrap!important}
.elementor .rg-cols4>.e-con,.elementor .rg-cols4>.elementor-element{flex:1 1 calc(50% - 26px)!important}
.elementor .rg-alignend{align-items:flex-start!important}
}
@media(max-width:660px){
.elementor .rg-cols4{flex-direction:column!important}
.elementor .rg-cols4>.e-con,.elementor .rg-cols4>.elementor-element{flex:1 1 auto!important}
}

/* --- koppen: font, grootte, geen capitalize, juiste kleur --- */
.elementor .rg-h1 .elementor-heading-title,
.elementor .rg-h2 .elementor-heading-title,
.elementor .rg-h3 .elementor-heading-title,
.elementor .rg-h4 .elementor-heading-title{
font-family:"Archivo",Arial,sans-serif;text-transform:none;
letter-spacing:-.028em;line-height:.94;margin:0;color:var(--rg-ink);
font-weight:800;font-variation-settings:"wdth" 116,"wght" 800}
.elementor .rg-h1 .elementor-heading-title{font-size:clamp(2.5rem,6.6vw,5.2rem)}
.elementor .rg-h2 .elementor-heading-title{font-size:clamp(1.95rem,4.4vw,3.35rem)}
.elementor .rg-h3 .elementor-heading-title{font-size:clamp(1.28rem,1.9vw,1.62rem);
line-height:1.12;letter-spacing:-.015em;font-variation-settings:"wdth" 104,"wght" 760}
.elementor .rg-h4 .elementor-heading-title{font-size:1.04rem;line-height:1.28;letter-spacing:normal}
.elementor .rg-hero-h1 .elementor-heading-title{font-size:clamp(2.9rem,9.4vw,7.6rem);
line-height:.86;letter-spacing:-.04em;color:#fff;
font-variation-settings:"wdth" 112,"wght" 830}
.elementor .rg-outline{color:transparent;-webkit-text-stroke:clamp(1.6px,.3vw,4px) var(--rg-ember);display:block!important}

/* --- tekstkleuren --- */
.elementor .rg-sec p,.elementor .rg-wrap p{font-family:"Figtree",system-ui,sans-serif;line-height:1.62}
.elementor .rg-muted,.elementor .rg-muted p{color:var(--rg-ink3)}
.elementor .rg-lead,.elementor .rg-lead p{font-size:clamp(1.06rem,1.5vw,1.3rem);line-height:1.5;font-weight:500}
.elementor .rg-ink,.elementor .rg-ink p,.elementor .rg-ink li,
.elementor .rg-ink .elementor-heading-title,.elementor .rg-ink .elementor-widget-text-editor{color:#fff}
.elementor .rg-ink .rg-muted,.elementor .rg-ink .rg-muted p{color:rgba(255,255,255,.72)}
.elementor .rg-ink .rg-step-n,.elementor .rg-ink .rg-step-n p{color:var(--rg-cyan)}
.elementor .rg-step-n,.elementor .rg-step-n p{font-family:"Archivo",sans-serif;font-size:.9rem;
font-weight:700;line-height:1.3;margin:0}
.elementor .rg-step{border-top:2px solid var(--rg-cyan);padding-top:20px}
.elementor .rg-hero-sub,.elementor .rg-hero-sub p{color:#fff;font-family:"Archivo",sans-serif;
font-size:clamp(1.05rem,1.8vw,1.5rem);line-height:1.25;letter-spacing:-.01em;font-weight:500}
.elementor .rg-hero-sub b{color:var(--rg-cyan);font-weight:800}
.elementor .rg-hero-copy,.elementor .rg-hero-copy p{color:rgba(255,255,255,.74);font-size:1.02rem}

/* --- CTA band --- */
.elementor .rg-cta{border-radius:var(--rg-r-lg);overflow:hidden!important;
background-image:var(--rg-grain),var(--rg-hot);background-repeat:repeat,no-repeat!important;
background-size:140px 140px,cover!important;background-blend-mode:overlay,normal}
.elementor .rg-cta,.elementor .rg-cta p,.elementor .rg-cta .elementor-heading-title{color:#fff}
@media(max-width:660px){.elementor .rg-cta{border-radius:var(--rg-r-md)}}

/* --- knoppen --- */
.elementor .rg-btn .elementor-button{display:inline-flex!important;align-items:center!important;gap:.55em!important;
padding:.92em 1.55em;border-radius:999px;font-family:"Archivo",sans-serif;
font-size:.97rem;font-weight:600;line-height:1.2;text-transform:none;
letter-spacing:normal;border:1.5px solid transparent;box-shadow:none}
.elementor .rg-btn-cyan .elementor-button{background-color:var(--rg-cyan);color:#04222b}
.elementor .rg-btn-cyan .elementor-button:hover{background-color:#1d8ea9;color:#fff}
.elementor .rg-btn-ink .elementor-button{background-color:var(--rg-ink);color:#fff}
.elementor .rg-btn-ink .elementor-button:hover{background-color:var(--rg-cyan-dark)}
.elementor .rg-btn-white .elementor-button{background-color:#fff;color:var(--rg-ink)}
.elementor .rg-btn-white .elementor-button:hover{background-color:var(--rg-ink);color:#fff}
.elementor .rg-btn-ghost .elementor-button{background-color:transparent;color:#fff;border-color:currentColor}
.elementor .rg-btn-ghost .elementor-button:hover{background-color:#fff;color:var(--rg-ink);border-color:#fff}

/* --- tekstlinks --- */
.elementor .rg-tlink a,.elementor a.rg-tlink{color:var(--rg-ink);text-decoration:none;
border-bottom:2px solid var(--rg-cyan);font-family:"Archivo",sans-serif;
font-size:.95rem;font-weight:700;text-transform:none}
.elementor .rg-ink .rg-tlink a{color:#fff}
.elementor .rg-more{color:var(--rg-ink);text-decoration:none;font-family:"Archivo",sans-serif;
font-size:1.05rem;font-weight:800;text-transform:none}

/* --- rasters --- */
.elementor .rg-grid{display:grid!important;gap:clamp(16px,1.8vw,26px)!important;align-items:stretch!important}
.elementor .rg-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.elementor .rg-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:900px){.elementor .rg-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:660px){.elementor .rg-grid-3,.elementor .rg-grid-2{grid-template-columns:1fr!important}}

/* --- afbeeldingen in de widgets --- */
.elementor .rg-svc{aspect-ratio:4/4.2!important;height:100%!important;border-radius:var(--rg-r-md);overflow:hidden!important}
.elementor .rg-svc>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
max-width:none!important;object-fit:cover!important;border-radius:0}
.elementor .rg-svc-bar{position:absolute!important;left:12px!important;right:12px!important;bottom:12px!important;
background:#fff;border-radius:12px;padding:15px 15px 15px 19px}
.elementor .rg-svc-bar h3{font-family:"Archivo",sans-serif;font-size:clamp(1rem,1.35vw,1.2rem);
line-height:1.15;letter-spacing:-.015em;color:var(--rg-ink);
text-transform:none;margin:0;font-weight:760}
.elementor .rg-case-img{aspect-ratio:16/12!important;overflow:hidden!important}
.elementor .rg-case-img img,.elementor .rg-post-img img,.elementor .rg-reel-item img{
width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:0}
.elementor .rg-post-fig{aspect-ratio:16/11!important;overflow:hidden!important}
.elementor .rg-post-img{overflow:visible!important}
.elementor .rg-reel-item{aspect-ratio:4/5!important;flex:0 0 clamp(190px,21vw,290px)!important;border-radius:14px;overflow:hidden!important}
.elementor .rg-reel{display:flex!important;flex-direction:row!important;gap:14px!important;overflow-x:auto!important}
.elementor .rg-stamp{width:52px!important;height:52px!important;padding:8px}
.elementor .rg-stamp img{width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;border-radius:0}
.elementor .rg-badge{text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;
color:#fff;padding:6px 14px;border-radius:999px}

/* --- kaartteksten --- */
.elementor .rg-case,.elementor .rg-post{height:100%!important;border-radius:var(--rg-r-md);overflow:hidden!important}
.elementor .rg-case-body h3{font-family:"Archivo",sans-serif;font-size:clamp(1.28rem,1.9vw,1.62rem);
line-height:1.12;letter-spacing:-.015em;color:#fff;text-transform:none;margin:10px 0 8px}
.elementor .rg-case-body p{color:rgba(255,255,255,.68);font-size:.96rem;line-height:1.55}
.elementor .rg-case-body .rg-client{color:var(--rg-cyan);font-family:"Archivo",sans-serif;
font-size:.86rem;font-weight:700;text-transform:none}
.elementor .rg-tags span{font-size:.82rem;padding:5px 12px;border-radius:999px;
color:#fff;text-transform:none;border:1px solid var(--rg-line-d)}
.elementor .rg-post-body h3{font-family:"Archivo",sans-serif;font-size:1.18rem;line-height:1.15;
letter-spacing:-.015em;color:var(--rg-cyan-dark);text-transform:none;margin:0}
.elementor .rg-post-body p{color:var(--rg-ink3);font-size:.96rem;line-height:1.55}
.elementor .rg-post-body .rg-readmore{color:var(--rg-ink);text-decoration:none;
font-family:"Archivo",sans-serif;font-size:.95rem;font-weight:700;
border-bottom:2px solid var(--rg-cyan);text-transform:none}

/* --- logo-carousel --- */
.elementor .rg-logos{overflow:hidden!important;display:flex!important;flex-direction:row!important}
.elementor .rg-logos-row{display:flex!important;flex-direction:row!important;flex:none!important;
align-items:center!important;gap:clamp(38px,6vw,90px)!important;padding-right:clamp(38px,6vw,90px)!important}
.elementor .rg-logos-row a,.elementor .rg-logos-row span{flex:none!important;width:auto!important;max-width:none!important;display:block!important}
.elementor .rg-logos-row img{height:clamp(26px,3.2vw,42px)!important;width:auto!important;max-width:none!important;
object-fit:contain!important;border-radius:0;filter:grayscale(1);opacity:.55}
.elementor .rg-logos-row a:hover img{opacity:1;filter:none}

/* ============================================================
   VOOR DONKERE SECTIES
   Containerklassen komen in sommige opstellingen niet door, dus
   deze klassen horen op de widget zelf. Geen !important, dus je
   kunt kleur en typografie per widget gewoon overschrijven in
   Elementor.
   ============================================================ */
.elementor .rg-on-dark .elementor-heading-title,
.elementor .rg-on-dark,
.elementor .rg-on-dark p{color:#fff}
.elementor .rg-muted-d,
.elementor .rg-muted-d p{color:rgba(255,255,255,.72)}
.elementor .rg-cyan-t,
.elementor .rg-cyan-t p,
.elementor .rg-cyan-t .elementor-heading-title{color:var(--rg-cyan)}
.elementor .rg-on-dark .rg-tlink a,
.elementor .rg-on-dark a.rg-tlink{color:#fff}

/* de streep boven een stap zit nu op het stapnummer zelf */
.elementor .rg-step-n{display:block;color:var(--rg-cyan);border-top:2px solid var(--rg-cyan);padding-top:20px}
