.elementor-kit-6{--e-global-color-primary:#D4F53C;--e-global-color-secondary:#0B0B0B;--e-global-color-text:#3B3A36;--e-global-color-accent:#F4F3EF;--e-global-color-10d2e9b:#FFFFFF;--e-global-color-f8fa775:#0B0B0B;--e-global-color-4c96edb:#D4F53C;--e-global-color-0b94b89:#0B0B0B;--e-global-color-bd6302b:#FFFFFF;--e-global-color-ir0ink2:#141414;--e-global-color-irpaper2:#E9E7E1;--e-global-color-irmute:#5F5E59;--e-global-color-irondark:#D2D2CC;--e-global-color-irgrey:#A9A9A3;--e-global-color-irlined:#0B0B0B24;--e-global-color-irlinel:#FFFFFF24;--e-global-typography-primary-font-family:"Big Shoulders";--e-global-typography-primary-font-size:84px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:0.9em;--e-global-typography-primary-letter-spacing:0.005em;--e-global-typography-secondary-font-family:"Big Shoulders";--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:0.95em;--e-global-typography-text-font-family:"Asap";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Asap";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0.05em;--e-global-typography-irh1-font-family:"Big Shoulders";--e-global-typography-irh1-font-size:124px;--e-global-typography-irh1-font-weight:900;--e-global-typography-irh1-text-transform:uppercase;--e-global-typography-irh1-line-height:0.86em;--e-global-typography-irlabel-font-family:"Asap";--e-global-typography-irlabel-font-size:13px;--e-global-typography-irlabel-font-weight:600;--e-global-typography-irlabel-text-transform:uppercase;--e-global-typography-irlabel-line-height:1em;--e-global-typography-irlabel-letter-spacing:0.14em;--e-global-typography-irlead-font-family:"Asap";--e-global-typography-irlead-font-size:19px;--e-global-typography-irlead-font-weight:400;--e-global-typography-irlead-line-height:1.6em;--e-global-typography-irsmall-font-family:"Asap";--e-global-typography-irsmall-font-size:14.5px;--e-global-typography-irsmall-font-weight:400;--e-global-typography-irsmall-line-height:1.5em;--e-global-typography-irbig-font-family:"Big Shoulders";--e-global-typography-irbig-font-size:190px;--e-global-typography-irbig-font-weight:900;--e-global-typography-irbig-line-height:0.8em;background-color:#F4F3EF;color:var( --e-global-color-text );font-family:"Asap", system-ui, sans-serif;font-size:17px;font-weight:400;line-height:1.6em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-4c96edb );font-family:"Outfit", system-ui, sans-serif;font-size:18px;font-weight:400;line-height:22px;color:var( --e-global-color-bd6302b );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-4c96edb );border-radius:63px 63px 63px 63px;padding:14px 40px 14px 40px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#02010100;color:var( --e-global-color-bd6302b );border-style:solid;border-color:var( --e-global-color-bd6302b );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-secondary );}.elementor-kit-6 h1{color:var( --e-global-color-secondary );font-family:"Big Shoulders", system-ui, sans-serif;font-size:84px;font-weight:800;text-transform:uppercase;line-height:0.9em;}.elementor-kit-6 h2{color:var( --e-global-color-secondary );font-family:"Big Shoulders", system-ui, sans-serif;font-size:44px;font-weight:800;text-transform:uppercase;line-height:0.95em;}.elementor-kit-6 h3{color:var( --e-global-color-secondary );font-family:"Big Shoulders", system-ui, sans-serif;font-size:30px;font-weight:800;text-transform:uppercase;line-height:0.95em;}.elementor-kit-6 h4{color:var( --e-global-color-secondary );font-family:"Big Shoulders", system-ui, sans-serif;font-size:24px;font-weight:800;text-transform:uppercase;line-height:0.95em;}.elementor-kit-6 h5{color:var( --e-global-color-secondary );font-family:"Big Shoulders", system-ui, sans-serif;font-size:20px;font-weight:800;text-transform:uppercase;line-height:1em;}.elementor-kit-6 h6{color:var( --e-global-color-secondary );font-family:"Big Shoulders", system-ui, sans-serif;font-size:17px;font-weight:800;text-transform:uppercase;line-height:1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1380px;}.e-con{--container-max-width:1380px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-font-size:60px;--e-global-typography-secondary-font-size:30px;--e-global-typography-irh1-font-size:88px;--e-global-typography-irbig-font-size:140px;font-size:17px;line-height:1.6em;}.elementor-kit-6 h1{font-size:60px;line-height:54px;}.elementor-kit-6 h2{font-size:38px;line-height:36px;}.elementor-kit-6 h3{font-size:28px;line-height:36px;}.elementor-kit-6 h4{font-size:22px;line-height:24px;}.elementor-kit-6 h5{font-size:19px;line-height:24px;}.elementor-kit-6 h6{font-size:17px;line-height:24px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:16px;padding:12px 30px 12px 30px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:46px;--e-global-typography-secondary-font-size:26px;--e-global-typography-text-font-size:16px;--e-global-typography-irh1-font-size:60px;--e-global-typography-irlead-font-size:17px;--e-global-typography-irbig-font-size:120px;font-size:16px;line-height:1.6em;}.elementor-kit-6 h1{font-size:46px;line-height:48px;}.elementor-kit-6 h2{font-size:32px;line-height:36px;}.elementor-kit-6 h3{font-size:24px;line-height:30px;}.elementor-kit-6 h4{font-size:20px;}.elementor-kit-6 h5{font-size:18px;}.elementor-kit-6 h6{font-size:16px;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Irfo Totaalbouw — the site's own CSS (Site Settings → Custom CSS), from the approved design design/final/ (1.css +
   pages.css, direction 1 · Hesje). Colours and fonts are the kit's globals:
   --e-global-color-primary  lime (Merk 1)      --e-global-color-secondary  black (Merk 2)
   --e-global-color-text     body text          --e-global-color-accent     warm off-white (the page)
   Fonts: Big Shoulders (headings) + Asap (text). Classes: ir-… on containers (css_classes) and widgets (_css_classes). */

/* ── buttons: the four house Types, styled once (his rule) ─────────────────────────────────────────────────────────
   primary = lime fill (Fill 1st color) · white-outline = white line on black (Border 2nd color – darkbg)
   white-fill = black fill, white text (Fill 2nd color) · black-outline = black line on light (Border 1st color)
   Hover "reflectie": a light stripe runs across the button like the band on a hi-vis vest, the arrow steps forward. */
.elementor-widget-button .elementor-button{position:relative;overflow:hidden;border-radius:0;padding:18px 26px;border:2px solid transparent;
  font-family:"Asap",sans-serif;font-weight:600;font-size:15px;line-height:1;text-transform:uppercase;letter-spacing:.05em;
  transition:background-color .25s,color .25s,border-color .25s}
.elementor-widget-button .elementor-button::after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:34%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:translateX(-160%) skewX(-22deg);pointer-events:none}
.elementor-widget-button .elementor-button:hover::after,.elementor-widget-button .elementor-button:focus-visible::after{
  transform:translateX(330%) skewX(-22deg);transition:transform .7s cubic-bezier(.3,.6,.2,1)}
.elementor-widget-button .elementor-button-icon{transition:transform .3s}
.elementor-widget-button .elementor-button:hover .elementor-button-icon{transform:translateX(5px)}
.elementor-widget-button .elementor-button-icon svg{width:18px;height:18px}
.elementor-widget-button.elementor-button-primary a.elementor-button,
.elementor-widget-button.elementor-button-primary a.elementor-button:hover{background-color:var(--e-global-color-primary)!important;color:var(--e-global-color-secondary)!important;fill:var(--e-global-color-secondary)}
.elementor-widget-button.elementor-button-white-outline a.elementor-button,
.elementor-widget-button.elementor-button-white-outline a.elementor-button:hover{background-color:transparent!important;color:#fff!important;fill:#fff;border-color:#fff!important}
.elementor-widget-button.elementor-button-white-outline a.elementor-button::after{background:linear-gradient(90deg,transparent,rgba(212,245,60,.35),transparent)}
.elementor-widget-button.elementor-button-white-outline a.elementor-button:hover{border-color:var(--e-global-color-primary)!important}
.elementor-widget-button.elementor-button-white-fill a.elementor-button,
.elementor-widget-button.elementor-button-white-fill a.elementor-button:hover{background-color:var(--e-global-color-0b94b89)!important;color:var(--e-global-color-bd6302b)!important;fill:var(--e-global-color-bd6302b);
  border-color:var(--e-global-color-0b94b89)!important}
.elementor-widget-button.elementor-button-white-fill a.elementor-button::after{background:linear-gradient(90deg,transparent,rgba(212,245,60,.5),transparent)}
.elementor-widget-button.elementor-button-black-outline a.elementor-button,
.elementor-widget-button.elementor-button-black-outline a.elementor-button:hover{background-color:transparent!important;color:var(--e-global-color-secondary)!important;fill:var(--e-global-color-secondary);border-color:var(--e-global-color-secondary)!important}
@media (max-width:767px){.elementor-widget-button .elementor-button{width:100%;justify-content:center}}

/* ── shared pieces ─────────────────────────────────────────────────────────────────────────────────────────────── */
body{background:var(--e-global-color-accent);color:var(--e-global-color-secondary)}
.elementor-widget-image img[src$=".svg"]{width:auto;max-width:none}          /* a linked SVG logo is not shrunk to 48 px */
.ir-label .elementor-heading-title{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.ir-label .elementor-heading-title::before{content:"";width:22px;height:4px;flex:none;background:var(--e-global-color-primary)}
.ir-ph img{display:block;width:100%;height:100%;object-fit:cover}

/* ── header: the top bar scrolls away, the bar stays ─────────────────────────────────────────────────────────── */
.elementor-location-header{position:sticky;top:-40px;z-index:50}
body.admin-bar .elementor-location-header{top:-8px}                          /* logged in: the toolbar (32 px) sits above it */
.e-con.ir-topbar{--min-height:40px;border-bottom:1px solid var(--e-global-color-irlinel)}
.ir-tb-list .elementor-icon-list-text{font-size:13.5px;color:#cfcfca}
.ir-tb-phone .elementor-icon-list-text{font-weight:600;font-size:14px;color:#fff}
.e-con.ir-bar{--min-height:88px}
.ir-nav .elementor-nav-menu--main>.elementor-nav-menu{gap:30px}
.ir-nav .elementor-nav-menu--main>.elementor-nav-menu>li>a.elementor-item{position:relative;padding:34px 0;font:600 15px/1 "Asap",sans-serif;color:#fff;text-transform:none}
.ir-nav .elementor-nav-menu--main>.elementor-nav-menu>li>a.elementor-item::after{content:"";position:absolute;left:0;right:0;bottom:24px;height:3px;
  background:var(--e-global-color-primary);transform:scaleX(0);transform-origin:left;transition:transform .25s;opacity:1}
.ir-nav .elementor-nav-menu--main>.elementor-nav-menu>li>a.elementor-item:hover::after,
.ir-nav .elementor-nav-menu--main>.elementor-nav-menu>li>a.elementor-item-active::after{transform:scaleX(1)}
.ir-nav .elementor-nav-menu--main .sub-arrow{padding-left:6px}
.ir-nav .elementor-nav-menu--main .sub-menu{background:#fff;min-width:250px!important;padding:10px 0;border-top:4px solid var(--e-global-color-primary);box-shadow:0 18px 40px rgba(0,0,0,.25)}
.ir-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item{color:var(--e-global-color-secondary);font:500 16px/1.3 "Asap",sans-serif;padding:11px 22px;background:#fff;transition:background .2s,padding .2s}
.ir-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover{background:var(--e-global-color-accent);padding-left:28px;color:var(--e-global-color-secondary)}
.ir-icon-btn .elementor-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:2px solid var(--e-global-color-irlinel);font-size:22px}
.ir-icon-btn .elementor-icon svg{width:22px;height:22px}
.ir-burger .elementor-icon{background:var(--e-global-color-primary);border-color:var(--e-global-color-primary)}
.ir-burger .elementor-icon i,.ir-burger .elementor-icon svg{color:var(--e-global-color-secondary)!important;fill:var(--e-global-color-secondary)!important}
.ir-call,.ir-burger{display:none}
/* the full menu down to Elementor's tablet (1024) — the editor canvas on a 1440 screen is ~1140 px and must show the
   desktop header (BUILD.md); between 1025 and 1180 only the header's Offerte button steps aside so the menu fits */
@media (max-width:1180px){.ir-hdr-cta{display:none!important}.ir-nav .elementor-nav-menu--main>.elementor-nav-menu{gap:24px}}
@media (max-width:1024px){.ir-nav{display:none!important}.ir-call,.ir-burger{display:block}.e-con.ir-bar{--min-height:72px}
  .ir-bar .elementor-widget-image img{height:44px!important}}
@media (max-width:760px){.ir-tb-list .elementor-icon-list-item:nth-child(n+2){display:none}}

/* ── the phone menu: its own full-screen layer (hard rule) ───────────────────────────────────────────────────── */
.e-con.ir-layer{min-height:100vh}
.ir-layer-top{margin-bottom:26px}
.ir-mnav .elementor-nav-menu--main>.elementor-nav-menu>li{border-bottom:1px solid var(--e-global-color-irlinel)}
.ir-mnav .elementor-nav-menu--main>.elementor-nav-menu>li>a.elementor-item{padding:14px 0;font:800 34px/1 "Big Shoulders",sans-serif;text-transform:uppercase;color:#fff;justify-content:space-between}
.ir-mnav a.elementor-item.elementor-item-active{color:var(--e-global-color-primary)}
.ir-mnav .sub-arrow{padding:0 6px}
.ir-mnav .sub-menu{background:transparent!important;border:0!important;box-shadow:none!important;position:static!important;padding:0 0 12px 14px!important}
.ir-mnav .sub-menu a.elementor-sub-item{font:400 18px/1.3 "Asap",sans-serif;color:#d8d8d2;padding:9px 0;background:transparent;text-transform:none}
.ir-layer-cta{margin:26px 0 22px}
.ir-layer-cta .elementor-button{width:100%;justify-content:center}
.ir-layer-foot{margin-top:auto}
.ir-layer-foot .elementor-icon-list-text{font-size:16px;color:#d8d8d2}

/* ── footer ───────────────────────────────────────────────────────────────────────────────────────────────────── */
.ir-foot-word .elementor-heading-title{font-size:clamp(90px,17vw,300px)!important;line-height:.8!important;color:#171717;text-align:center;white-space:nowrap;
  padding-top:40px;margin-bottom:56px}
.e-con.ir-foot{overflow:hidden}
.e-con.ir-foot-grid{padding-bottom:50px}
.ir-foot-brand p{max-width:300px}
.ir-foot-h .elementor-heading-title{font-size:22px!important;line-height:1}
.ir-foot-list .elementor-icon-list-text{font-size:15.5px;color:#c4c4be;transition:color .2s}
.ir-foot-list a:hover .elementor-icon-list-text,.ir-fnav a:hover{color:var(--e-global-color-primary)!important}
.ir-foot-vca .elementor-icon-list-text{color:#fff;font-weight:600}
.ir-fnav .elementor-nav-menu--main .elementor-nav-menu>li>a.elementor-item{padding:5px 0;font:400 15.5px/1.4 "Asap",sans-serif;color:#c4c4be}
.ir-fnav .sub-arrow{display:none}
.e-con.ir-foot-bottom{padding-top:26px;padding-right:76px;border-top:1px solid var(--e-global-color-irlinel)}
.ir-foot-bottom p{margin:0;font-size:14px}
.ir-legal .elementor-nav-menu--main .elementor-nav-menu{gap:22px}
.ir-legal .elementor-nav-menu--main .elementor-nav-menu>li>a.elementor-item{padding:0;font:400 14px/1.4 "Asap",sans-serif;color:#c4c4be}
@media (max-width:767px){.e-con.ir-foot-bottom{padding-right:0;padding-bottom:64px}}

/* ── closing call (sync_cta) ─────────────────────────────────────────────────────────────────────────────────── */
.e-con.ir-close-grid{min-height:620px}
.e-con.ir-close-copy{padding:80px 70px}
.ir-close-h .elementor-heading-title{font-size:clamp(56px,6.6vw,112px)!important;margin-bottom:28px}
.ir-close-lead{max-width:560px;margin-bottom:36px}
.ir-close-lead p{font-size:20px;color:#d4d4ce}
.e-con.ir-close-btns{margin-bottom:40px}
.e-con.ir-area{padding-top:26px;border-top:1px solid var(--e-global-color-irlinel);max-width:620px}
.ir-area p{margin:0;color:#c4c4be}
.ir-area strong{color:#fff;margin-right:6px}
.e-con.ir-close-photo{position:relative;overflow:hidden;padding:0}
.ir-close-img{position:absolute!important;inset:0;width:100%!important;height:100%}
.ir-close-img img{object-position:100% 30%}
.e-con.ir-close-tag{position:absolute;left:24px;bottom:24px;width:auto;padding:14px 18px;z-index:2}
.ir-close-name .elementor-heading-title{font-size:24px!important;line-height:1}
.ir-close-tag p{margin:0;font-size:14px}
@media (max-width:1024px){.e-con.ir-close-photo{order:-1;aspect-ratio:3/2}.e-con.ir-close-copy{padding:56px 40px}}
@media (max-width:767px){.e-con.ir-close-copy{padding:44px 22px}.e-con.ir-close-photo{aspect-ratio:auto;height:460px}
  .e-con.ir-close-tag{left:16px;top:16px;bottom:auto}}

/* ── helpers ──────────────────────────────────────────────────────────────────────────────────────────────────── */
.e-con.ir-sec-head{margin-bottom:56px}
/* head rows: the heading block grows, the button keeps its size (it ran past the edge) */
.e-con.ir-prj-head>.e-con,.e-con.ir-split>.e-con,.e-con.ir-ig-head>.e-con{--width:auto;width:auto;flex:1 1 auto;min-width:0}
.e-con.ir-prj-head>.elementor-widget,.e-con.ir-split>.elementor-widget,.e-con.ir-ig-head>.elementor-widget{flex:none;width:auto}
@media (max-width:767px){.e-con.ir-prj-head>.elementor-widget,.e-con.ir-split>.elementor-widget,.e-con.ir-ig-head>.elementor-widget{width:100%}}
.ir-split .elementor-widget-text-editor p{max-width:420px;color:var(--e-global-color-irmute)}
.elementor-widget.ir-ph,.ir-ph .elementor-widget-container,.ir-ph a{height:100%}
.elementor-star-rating i{font-size:16px}
.elementor-star-rating i:before{color:#F4B400}
.ir-arrow-ur .elementor-icon>*,.ir-bt-arrow .elementor-icon>*,.ir-pcard-arrow .elementor-icon>*,.ir-svc-a .elementor-icon>*{transform:rotate(-45deg);transition:transform .3s}
.elementor-widget-button .elementor-button{white-space:nowrap}

/* ── hero (home + service page) ───────────────────────────────────────────────────────────────────────────────── */
.ir-kicker .elementor-heading-title{font-size:14px!important;margin-bottom:26px}
.ir-hero-h1 .elementor-heading-title{font-size:clamp(66px,8.6vw,124px)!important;line-height:.86!important}   /* 124 = the 1440 size; 146 broke "VAN DAKKAPEL" into 5 lines at 1920 */
.ir-hero-h1 em{font-style:normal;color:var(--e-global-color-secondary);background:var(--e-global-color-primary);padding:0 .08em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ir-hero-lead{max-width:540px}
.ir-hero-lead p{margin:34px 0 38px;color:var(--e-global-color-irondark)}
.e-con.ir-hero-grid{align-items:center}
.e-con.ir-hero-media{position:relative;height:640px;padding:0}
.e-con.ir-hero-photo{position:absolute;top:0;right:0;width:80%;height:84%;padding:0}
.e-con.ir-reel{position:absolute;left:0;bottom:0;width:41%;aspect-ratio:9/16;border:8px solid var(--e-global-color-secondary);
  background:var(--e-global-color-ir0ink2);box-shadow:0 30px 60px rgba(0,0,0,.45);padding:0}
.ir-reel-video,.ir-film-video{position:absolute!important;inset:0;height:100%}
.ir-reel-video .elementor-wrapper,.ir-film-video .elementor-wrapper{height:100%;aspect-ratio:auto!important}
.ir-reel-video video,.ir-film-video video{width:100%;height:100%;object-fit:cover}
.ir-reel-cap{position:absolute!important;left:12px;bottom:12px;width:auto!important;z-index:2}
.ir-reel-cap .elementor-heading-title{display:flex;align-items:center;gap:8px;background:var(--e-global-color-primary);font-size:12px!important;
  font-weight:700;letter-spacing:.08em;padding:8px 11px}
.ir-reel-cap .elementor-heading-title::before{content:"";width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent currentColor}
.e-con.ir-hero-rate{position:absolute;right:-10px;bottom:46px;width:auto;padding:0;z-index:2}   /* holds the WPStack Reviews badge (its own card) */
.e-con.ir-hero-rate>.elementor-element{width:auto;flex:none}
.ir-rate-g .elementor-icon i,.ir-rate-g .elementor-icon svg{color:#4285F4!important;fill:#4285F4!important}
.ir-rate-num .elementor-heading-title{font-size:48px!important;font-weight:900;line-height:1!important}
.ir-rate-s p{margin:0;font-size:13px}
@media (max-width:1024px){.e-con.ir-hero-media{height:560px;max-width:640px}}
@media (max-width:767px){.e-con.ir-hero-media{height:440px}.e-con.ir-hero-photo{width:86%;height:78%}.e-con.ir-reel{width:46%;border-width:5px}
  .e-con.ir-hero-rate{right:0;bottom:22px}.ir-rate-num .elementor-heading-title{font-size:38px!important}.ir-hero-lead p{font-size:17px}
  .ir-reel-cap{left:7px;bottom:7px}.ir-reel-cap .elementor-heading-title{padding:6px 7px;font-size:9.5px!important;white-space:nowrap}}

/* ── trust strip (sync_trust) ─────────────────────────────────────────────────────────────────────────────────── */
.e-con.ir-trust{border-top:1px solid var(--e-global-color-irlinel)}
.e-con.ir-trust-item{padding:34px 28px;border-left:1px solid var(--e-global-color-irlinel)}
.e-con.ir-trust-item:first-child{border-left:0;padding-left:0}
.ir-trust-i .elementor-icon{font-size:28px}
.ir-trust-t .elementor-heading-title{font-size:23px!important;line-height:1.05!important}
.ir-trust-s p{margin:4px 0 0;font-size:14.5px}
@media (max-width:1024px){.e-con.ir-trust-item:nth-child(3){border-left:0;padding-left:0}.e-con.ir-trust-item{border-top:1px solid var(--e-global-color-irlinel)}}
@media (max-width:767px){.e-con.ir-trust-item{border-left:0;padding:22px 0}}

/* ── house: net een huis gekocht ──────────────────────────────────────────────────────────────────────────────── */
.e-con.ir-house-grid{align-items:end}
.ir-house-copy h2{margin-bottom:30px}
.ir-big p{font-size:22px;line-height:1.45;margin-bottom:18px;color:var(--e-global-color-secondary)}
.ir-house-p p{color:var(--e-global-color-irmute)}
.e-con.ir-big-tile,.e-con.ir-pcard{position:relative;overflow:hidden;padding:0;color:#fff;background:var(--e-global-color-ir0ink2)}
.e-con.ir-big-tile{aspect-ratio:3/4}
.e-con.ir-big-tile:nth-child(2){transform:translateY(48px)}
.ir-bt-img,.ir-pcard-img{position:absolute!important;inset:0;height:100%}
.ir-bt-img img,.ir-pcard-img img{transition:transform .8s}
.ir-big-tile:hover .ir-bt-img img{transform:scale(1.06)}
.ir-pcard:hover .ir-pcard-img img{transform:scale(1.05)}
.e-con.ir-big-tile::after,.e-con.ir-pcard::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.82))}
.e-con.ir-bt-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px;gap:8px}
.ir-bt-t .elementor-heading-title{font-size:34px!important;line-height:.95!important;padding-right:60px}
.ir-bt-s p{margin:0;font-size:15px;color:#e1e1db;max-width:300px}
.ir-bt-arrow,.ir-pcard-arrow{position:absolute!important;right:22px;top:24px;z-index:2;width:auto!important}
.ir-bt-arrow .elementor-icon,.ir-pcard-arrow .elementor-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;
  background:var(--e-global-color-primary);transition:transform .3s}
.ir-big-tile:hover .ir-bt-arrow .elementor-icon>*,.ir-pcard:hover .ir-pcard-arrow .elementor-icon>*{transform:rotate(0deg)}
@media (max-width:1024px){.e-con.ir-big-tile:nth-child(2){transform:none}}
@media (max-width:767px){.e-con.ir-big-tile{aspect-ratio:4/3.4}}

/* ── moving words ─────────────────────────────────────────────────────────────────────────────────────────────── */
.e-con.ir-ribbon{overflow:hidden;padding:20px 0;margin-top:48px}
.ir-ribbon-track{display:flex;width:max-content;animation:irRibbon 38s linear infinite}
.ir-ribbon-track span{font:900 40px/1 "Big Shoulders",sans-serif;text-transform:uppercase;padding:0 26px;color:var(--e-global-color-secondary)}
.ir-ribbon-track i{font-style:normal;font-size:28px;align-self:center;color:var(--e-global-color-secondary)}
@keyframes irRibbon{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ir-ribbon-track{animation:none}}

/* ── services: numbered rows (a row is one link) ──────────────────────────────────────────────────────────────── */
.e-con.ir-svc-grid{align-items:start}
.e-con.ir-svc-head{position:sticky;top:110px}
.ir-svc-head h2{margin-bottom:34px}
.e-con.ir-svc-row{display:grid!important;grid-template-columns:56px 1fr 1.05fr 110px 52px;gap:22px;align-items:center;padding:26px 18px;
  border-top:1px solid var(--e-global-color-irlinel);transition:background .3s,padding .3s}
.e-con.ir-svc-row:last-child{border-bottom:1px solid var(--e-global-color-irlinel)}
.ir-svc-n .elementor-heading-title{font-size:15px!important;font-weight:700;letter-spacing:0}
.ir-svc-t .elementor-heading-title{font-size:36px!important;line-height:.95!important}
.ir-svc-s p{margin:0;font-size:15.5px;color:#b8b8b2}
.e-con.ir-svc-ph{height:74px;overflow:hidden;padding:0;clip-path:inset(0 100% 0 0);transition:clip-path .45s cubic-bezier(.3,.6,.2,1)}
.ir-svc-a .elementor-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:2px solid var(--e-global-color-irlinel);
  transition:transform .3s,border-color .3s;font-size:18px}
.e-con.ir-svc-row:hover{background:var(--e-global-color-primary);padding-left:26px}
.ir-svc-row:hover .elementor-heading-title,.ir-svc-row:hover p{color:var(--e-global-color-secondary)!important}
.ir-svc-row:hover .ir-svc-ph{clip-path:inset(0 0 0 0)}
.ir-svc-row:hover .ir-svc-a .elementor-icon{border-color:var(--e-global-color-secondary)}
.ir-svc-row:hover .ir-svc-a .elementor-icon>*{transform:rotate(0deg)}
.ir-svc-row:hover .ir-svc-a .elementor-icon i,.ir-svc-row:hover .ir-svc-a .elementor-icon svg{color:var(--e-global-color-secondary)!important;fill:var(--e-global-color-secondary)!important}
@media (max-width:1024px){.e-con.ir-svc-head{position:static}}
@media (max-width:767px){.e-con.ir-svc-row{grid-template-columns:40px 1fr 92px;row-gap:6px;padding:20px 0}.ir-svc-s{grid-column:2/4;grid-row:2}
  .e-con.ir-svc-ph{clip-path:none;grid-column:3;grid-row:1;height:64px}.ir-svc-a{display:none}.ir-svc-t .elementor-heading-title{font-size:30px!important}}

/* ── projects: the card (sync_loop_project) + the rail ────────────────────────────────────────────────────────── */
.e-con.ir-prj-head{margin-bottom:44px}
.e-con.ir-pcard{display:block;aspect-ratio:4/5}
.e-con.ir-pcard-cap{position:absolute;left:26px;right:26px;bottom:24px;z-index:2;padding:0;width:auto}
.ir-pcard-kind .elementor-heading-title{display:inline-block;background:var(--e-global-color-primary);font-size:12px!important;font-weight:700;
  letter-spacing:.08em;padding:7px 9px}
.ir-pcard-title .elementor-heading-title{font-size:30px!important;line-height:.95!important}
.ir-pcard-place .elementor-heading-title{display:flex;align-items:center;gap:6px;font-size:15px!important;color:#e1e1db}
.ir-pcard-place .elementor-heading-title::before{content:"";width:12px;height:15px;flex:none;background:var(--e-global-color-primary);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.3 7 13 7 13s7-7.7 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.3 7 13 7 13s7-7.7 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") center/contain no-repeat}
.ir-pcard-place .elementor-heading-title:empty,.ir-pcard-place:has(.elementor-heading-title:empty){display:none}
.ir-rail{position:relative}
.elementor .ir-rail .elementor-swiper-button{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#fff!important;
  border:2px solid var(--e-global-color-secondary)!important;color:var(--e-global-color-secondary)!important;font-size:20px;z-index:3;border-radius:0!important}
.elementor .ir-rail .elementor-swiper-button:hover{background:var(--e-global-color-secondary)!important;color:#fff!important}
.ir-rail .elementor-swiper-button svg{fill:currentColor;width:20px;height:20px}
.ir-rail .elementor-swiper-button-prev{left:12px}
.ir-rail .elementor-swiper-button-next{right:12px}

/* ── Irfan ────────────────────────────────────────────────────────────────────────────────────────────────────── */
.e-con.ir-irfan-grid{align-items:center}
.e-con.ir-irfan-photo{position:relative;padding:0}
.ir-irfan-img img{aspect-ratio:4/5;object-position:50% 100%}
.e-con.ir-irfan-photo::after{content:"";position:absolute;left:-14px;bottom:-14px;width:120px;height:14px;background:var(--e-global-color-primary)}
.ir-irfan-h .elementor-heading-title{font-size:clamp(58px,7.2vw,120px)!important;margin-bottom:30px}
.ir-irfan-p{max-width:640px}
.ir-irfan-p p{color:#d4d4ce}
.ir-irfan-q .elementor-heading-title{margin:34px 0;padding-left:26px;border-left:4px solid var(--e-global-color-primary);font-size:30px!important;
  line-height:1.15!important;font-weight:700;max-width:640px}
.ir-sign .elementor-heading-title{font-style:italic;font-weight:500;font-size:22px!important}
@media (max-width:1024px){.e-con.ir-irfan-photo{max-width:520px}}

/* ── values ───────────────────────────────────────────────────────────────────────────────────────────────────── */
.e-con.ir-v-item{border-top:3px solid var(--e-global-color-secondary);padding-top:26px}
.ir-v-n .elementor-heading-title{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;background:var(--e-global-color-primary);
  font-size:20px!important;margin-bottom:26px}
.ir-v-h .elementor-heading-title{font-size:32px!important;margin-bottom:14px}
.ir-v-p p{color:var(--e-global-color-irmute)}
@media (max-width:1024px){.e-con.ir-v-grid{row-gap:48px}}

/* ── his film, under the values ───────────────────────────────────────────────────────────────────────────────── */
.e-con.ir-film{position:relative;aspect-ratio:16/9;background:var(--e-global-color-secondary);padding:0}
.e-con.ir-film::after{content:"";position:absolute;left:-14px;bottom:-14px;width:120px;height:14px;background:var(--e-global-color-primary)}
@media (max-width:767px){.e-con.ir-film::after{left:-8px;bottom:-8px;width:80px;height:8px}}

/* ── steps (sync_werkwijze) ───────────────────────────────────────────────────────────────────────────────────── */
.e-con.ir-st-line{position:relative;padding-top:34px}
.e-con.ir-st-line::after{content:"";position:absolute;top:8px;left:0;right:0;height:2px;background:var(--e-global-color-irlinel)}
.e-con.ir-st-item{position:relative;padding:0}
.e-con.ir-st-dot{position:absolute;top:-34px;left:0;width:18px;height:18px;--min-height:18px;padding:0;background:var(--e-global-color-primary);z-index:1}
.ir-st-n .elementor-heading-title{font-size:96px!important;line-height:.9!important;color:#262626!important;margin-bottom:8px}
.ir-st-h .elementor-heading-title{font-size:34px!important;margin-bottom:12px}
.ir-st-p p{color:#b8b8b2}
@media (max-width:1024px){.e-con.ir-st-line{row-gap:56px}}
@media (max-width:767px){.e-con.ir-st-line{padding-top:0;padding-left:34px}.e-con.ir-st-line::after{top:0;bottom:0;left:8px;right:auto;width:2px;height:auto}
  .e-con.ir-st-dot{top:6px;left:-34px}}

/* ── reviews (sync_reviews) ───────────────────────────────────────────────────────────────────────────────────── */
.e-con.ir-rv-grid{align-items:start}
.e-con.ir-rv-big{margin:-6px 0 18px}
.ir-rv-num .elementor-heading-title{line-height:.8!important}
.ir-rv-of .elementor-heading-title{font-size:40px!important;color:var(--e-global-color-irmute)}
.e-con.ir-rv-sum{padding:22px 0;border-top:2px solid var(--e-global-color-secondary);border-bottom:1px solid var(--e-global-color-irlined);margin-bottom:24px}
.ir-rv-g .elementor-heading-title{display:flex;align-items:center;gap:10px;font-weight:600}
.ir-rv-g .elementor-heading-title::before{content:"G";font:700 20px/1 "Asap",sans-serif;color:#4285F4}
.ir-rv-count p,.ir-rv-links p{margin:0}
.ir-rv-links a{border-bottom:2px solid var(--e-global-color-primary);font-weight:600;color:var(--e-global-color-secondary)}
@media (max-width:1024px){.ir-rv-num .elementor-heading-title{font-size:140px!important}}

/* ── brands ───────────────────────────────────────────────────────────────────────────────────────────────────── */
.ir-brands-line p{max-width:250px;margin:0;font-size:14.5px}
.e-con.ir-brands{flex:1}
.ir-brand img{height:38px!important;width:auto!important;max-width:150px!important;object-fit:contain;filter:brightness(0) invert(1);opacity:.72;transition:opacity .2s}
.ir-brand img:hover{opacity:1}
.ir-brand img[alt=Grohe]{filter:grayscale(1) contrast(1.15);height:46px!important}
@media (max-width:1024px){.e-con.ir-brands{flex-wrap:wrap!important;justify-content:flex-start;gap:28px 40px}}
@media (max-width:767px){.ir-brand img{height:28px!important}}

/* ── FAQ (Elementor's Accordion, the design's look) ───────────────────────────────────────────────────────────── */
.e-con.ir-faq-grid{align-items:start}
.e-con.ir-faq-head{position:sticky;top:110px}
.ir-faq-head h2{margin-bottom:22px}
.ir-faq-lead p{margin-bottom:28px}
/* every rule starts .ir-faq.elementor-widget-n-accordion: Elementor loads its own accordion CSS AFTER the kit, so a plain
   .ir-faq … lost and every FAQ showed Elementor's boxes (his screenshot 2026-10-31) */
.ir-faq.elementor-widget-n-accordion{--n-accordion-border-width:0px;--n-accordion-padding:0px;--n-accordion-border-radius:0px;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-title-normal-color:var(--e-global-color-secondary);--n-accordion-title-hover-color:var(--e-global-color-secondary);--n-accordion-title-active-color:var(--e-global-color-secondary)}
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item{border-bottom:1px solid var(--e-global-color-irlined)}
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item:first-child{border-top:3px solid var(--e-global-color-secondary)}
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item-title{padding:26px 0;border:0;border-radius:0;background:transparent;justify-content:space-between;gap:20px}
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item-title-text{font:600 20px/1.3 "Asap",sans-serif;color:var(--e-global-color-secondary)}
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item-title-icon{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--e-global-color-irpaper2);transition:background .2s}
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon{background:var(--e-global-color-primary)}
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item-title-icon span{height:auto;align-items:center;justify-content:center;transition:transform .25s}
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item-title-icon span>svg,.ir-faq.elementor-widget-n-accordion .e-n-accordion-item-title-icon span>i{width:14px;height:14px;font-size:14px}
/* open: the same + turns into × (the design), instead of Elementor's separate minus */
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon .e-opened{display:none}
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon .e-closed{display:flex;transform:rotate(45deg)}
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item>.e-con{padding:0 60px 26px 0;border:0}
.ir-faq.elementor-widget-n-accordion .e-n-accordion-item>.e-con p{color:var(--e-global-color-irmute)}
@media (max-width:1024px){.e-con.ir-faq-head{position:static}}

/* ── service page (+ project page): text area beside the card that stays in view ──────────────────────────────── */
.ir-hero-page .ir-hero-h1 .elementor-heading-title{font-size:clamp(60px,7.4vw,124px)!important}
.ir-hero-page .ir-hero-h1 em{display:inline-block;line-height:.86}                  /* the lime block keeps to its own line */
.e-con.ir-sgrid{align-items:start}
.ir-art-h2 .elementor-heading-title{font-size:clamp(46px,5vw,78px)!important;margin-bottom:30px;max-width:760px}
.ir-art p,.ir-art-p p{font-size:18px;line-height:1.7;color:#3b3a36;max-width:700px;margin-bottom:18px}
.ir-art .ir-big p{font-size:23px;line-height:1.5;color:var(--e-global-color-secondary)}
.ir-art-note p{font-size:16px;color:var(--e-global-color-irmute)}
.ir-art-h3 .elementor-heading-title{font-size:clamp(38px,3.6vw,52px)!important;margin:70px 0 16px}
.e-con.ir-art-photos{position:relative;margin:54px 0 30px;padding:0 24% 0 0}
.e-con.ir-art-p1{aspect-ratio:16/10;overflow:hidden;padding:0}
.e-con.ir-art-p2{position:absolute;right:0;bottom:-44px;width:36%;aspect-ratio:3/4;overflow:hidden;padding:0;border:8px solid var(--e-global-color-accent)}
.e-con.ir-art-photos::after{content:"";position:absolute;left:-14px;bottom:-14px;width:120px;height:14px;background:var(--e-global-color-primary)}
.ir-checks .elementor-icon-list-items{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;margin:28px 0 22px}
.ir-checks .elementor-icon-list-item{padding:18px 0!important;border-top:1px solid var(--e-global-color-irlined);margin:0!important}
.ir-checks .elementor-icon-list-item:nth-last-child(-n+2){border-bottom:1px solid var(--e-global-color-irlined)}
.ir-checks .elementor-icon-list-icon{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--e-global-color-primary);padding:0!important}
.ir-checks .elementor-icon-list-icon svg,.ir-checks .elementor-icon-list-icon i{margin:0!important;width:16px;font-size:16px}
.ir-checks .elementor-icon-list-text{font-size:25px!important;line-height:1.05!important;padding-left:16px!important}
.e-con.ir-sside{position:sticky;top:112px}
.e-con.ir-scard{padding:0}
.e-con.ir-scard-ph{position:relative;aspect-ratio:4/3;overflow:hidden;padding:0}
.ir-scard-img{position:absolute!important;inset:0;height:100%}
.ir-scard-img img{object-position:52% 22%}
.e-con.ir-scard-tag{position:absolute;left:18px;top:18px;width:auto;padding:10px 14px;z-index:2}
.ir-scard-name .elementor-heading-title{font-size:20px!important;line-height:1}
.ir-scard-role p{margin:0;font-size:13px}
.e-con.ir-scard-body{padding:30px 30px 28px}
.ir-scard-h .elementor-heading-title{font-size:36px!important;margin-bottom:14px}
.ir-scard-p p{color:#cfcfca;margin-bottom:24px}
.ir-scard-btns .elementor-button{width:100%;justify-content:center}
.ir-scard-note{margin-top:20px}
.ir-scard-note .elementor-icon-list-text{font-size:14.5px;color:#cfcfca}
@media (max-width:1180px){.e-con.ir-sgrid{--e-con-grid-template-columns:minmax(0,1fr) 340px;gap:50px}}
@media (max-width:1024px){.e-con.ir-sside{position:static;max-width:520px}}
@media (max-width:767px){.ir-checks .elementor-icon-list-items{grid-template-columns:1fr}.ir-checks .elementor-icon-list-item:nth-last-child(2){border-bottom:0}
  .ir-art .ir-big p{font-size:20px}.e-con.ir-art-photos{padding-right:18%}.e-con.ir-art-p2{width:42%;border-width:5px;bottom:-30px}
  .ir-checks .elementor-icon-list-text{font-size:22px!important}}

/* ── slim page hero (every inner page; only the home keeps the big hero): label + title left, the line + buttons right ─ */
.e-con.ir-phero,.e-con.ir-slim{--padding-block-start:56px;--padding-block-end:64px}   /* calm: lower than the home's hero */
.e-con.ir-phero:has(+.ir-contact){padding-bottom:90px}   /* Contact: room for the box pulled up into the hero */
@media (max-width:1024px){.e-con.ir-phero,.e-con.ir-slim{--padding-block-start:48px;--padding-block-end:56px}
  .e-con.ir-phero:has(+.ir-contact){padding-bottom:70px}.e-con.ir-phero-grid{row-gap:28px!important}}
@media (max-width:767px){.e-con.ir-phero,.e-con.ir-slim{--padding-block-start:36px;--padding-block-end:44px}
  .e-con.ir-phero:has(+.ir-contact){padding-bottom:60px}}
.e-con.ir-phero-grid{align-items:end}
/* one title size for every inner page — this hero, sync_hero_slim (Privacy, Cookiebeleid, Schrijf een review), the project pages */
.ir-phero-h1 .elementor-heading-title,.ir-slim-h1 .elementor-heading-title,.ir-dhero-h1 .elementor-heading-title{
  font-size:clamp(40px,4.6vw,68px)!important;line-height:.95!important;letter-spacing:0;text-wrap:balance;overflow-wrap:normal}
.ir-phero-h1 em{font-style:normal;color:var(--e-global-color-primary)}
.ir-phero-lead p{font-size:19px;max-width:480px;margin-bottom:28px}
.e-con.ir-phero-side{padding-bottom:14px}
@media (max-width:1024px){.e-con.ir-phero-side{padding-bottom:0}}
@media (max-width:767px){.ir-phero-lead p{font-size:17px}
  .ir-phero-h1 .elementor-heading-title,.ir-slim-h1 .elementor-heading-title,.ir-dhero-h1 .elementor-heading-title{font-size:min(40px,10.4vw)!important}}
/* the photo + clip of the old big hero, now a row at the top of the page's first own section */
.e-con.ir-pmedia{margin-bottom:90px}
.e-con.ir-pmedia-photo,.e-con.ir-pmedia-reel{height:540px;overflow:hidden}
.e-con.ir-pmedia-reel{position:relative;background:var(--e-global-color-ir0ink2)}
@media (max-width:1024px){.e-con.ir-pmedia{margin-bottom:70px}.e-con.ir-pmedia-photo,.e-con.ir-pmedia-reel{height:430px}}
@media (max-width:767px){.e-con.ir-pmedia{margin-bottom:50px}.e-con.ir-pmedia-photo,.e-con.ir-pmedia-reel{height:300px}}

/* ── contact: the block pulled up into the hero — the ways to reach him + the form ────────────────────────────── */
.e-con.ir-cbox{position:relative;z-index:2;margin-top:-90px;box-shadow:0 30px 70px rgba(0,0,0,.14)}
.e-con.ir-cpanel{background:var(--e-global-color-ir0ink2);padding:54px 48px 46px;border-top:6px solid var(--e-global-color-primary)}
.ir-cpanel .ir-label .elementor-heading-title{margin-bottom:18px;color:#cfcfca}
.e-con.ir-crow{display:flex;padding:24px 0;border-top:1px solid var(--e-global-color-irlinel)}
.e-con.ir-crow:last-child{padding-bottom:0}
.e-con.ir-crow-i{width:52px;height:52px;flex:none;padding:0;align-items:center;justify-content:center;border:2px solid var(--e-global-color-irlinel);transition:background .2s,border-color .2s}
a.ir-crow:hover .ir-crow-i{background:var(--e-global-color-primary);border-color:var(--e-global-color-primary)}
a.ir-crow:hover .ir-crow-ic i,a.ir-crow:hover .ir-crow-ic svg{color:var(--e-global-color-secondary)!important;fill:var(--e-global-color-secondary)!important}
.e-con.ir-crow-txt{width:auto;flex:1;padding:4px 0 0}
.ir-crow-s .elementor-heading-title{font-size:12.5px!important}
.ir-crow-v .elementor-heading-title{font-size:clamp(32px,3vw,46px)!important;font-weight:900;line-height:.95!important}
.ir-crow-mail .elementor-heading-title{font:700 21px/1.2 "Asap",sans-serif!important;text-transform:none!important;word-break:break-word}
.ir-crow-addr .elementor-heading-title{font:700 19px/1.4 "Asap",sans-serif!important;text-transform:none!important}
.ir-crow-n p{margin:0;font-size:14.5px}
.ir-crow-link .elementor-heading-title{display:inline-block;font-weight:600;border-bottom:2px solid var(--e-global-color-primary);margin-top:4px}
.e-con.ir-cform{padding:54px 54px 50px;scroll-margin-top:120px}
.ir-cform-h .elementor-heading-title{font-size:clamp(46px,4.6vw,72px)!important;margin-bottom:12px}
.ir-cform-t p{margin-bottom:30px;max-width:520px}
/* WPStack Forms in the site's look (its own markup; only colours, type and corners set here) */
.ir-cform-form .wpsf-form-wrap{max-width:none}
.ir-cform-form .wpsf-form{gap:18px}
.ir-cform-form .wpsf-field{--wpsf-gap:18px}
.ir-cform-form .wpsf-field>label{font:600 14.5px/1.2 "Asap",sans-serif;color:var(--e-global-color-secondary)}
.ir-cform-form .wpsf-required{color:var(--e-global-color-secondary);margin-left:3px}
.ir-cform-form .wpsf-field:has(input[type=checkbox])>label:first-child{display:none}       /* the tick says it itself */
.ir-cform-form .wpsf-field input[type=text],.ir-cform-form .wpsf-field input[type=email],.ir-cform-form .wpsf-field input[type=tel],.ir-cform-form .wpsf-field textarea{
  padding:15px 16px;font-size:16px;border:2px solid #dcd9d1;border-radius:0;background:var(--e-global-color-accent);color:var(--e-global-color-secondary)}
.ir-cform-form .wpsf-field textarea{min-height:150px}
.ir-cform-form .wpsf-field input:focus,.ir-cform-form .wpsf-field textarea:focus{border-color:var(--e-global-color-secondary);box-shadow:0 0 0 4px rgba(212,245,60,.55);background:#fff}
.ir-cform-form .wpsf-option{font-size:15px;color:#3b3a36;gap:12px}
.ir-cform-form .wpsf-option input{width:20px;height:20px;accent-color:var(--e-global-color-secondary)}
.ir-cform-form .wpsf-info,.ir-cform-form .wpsf-field a{font-size:14px;color:var(--e-global-color-irmute)}
.ir-cform-form .wpsf-field a{text-decoration:underline}
.ir-cform-form .wpsf-submit-row{margin-top:6px}
.ir-cform-form .wpsf-submit{position:relative;overflow:hidden;gap:10px;padding:19px 30px;border-radius:0;background:var(--e-global-color-primary);
  color:var(--e-global-color-secondary);font:600 15px/1 "Asap",sans-serif;text-transform:uppercase;letter-spacing:.05em}
.ir-cform-form .wpsf-submit:hover,.ir-cform-form .wpsf-submit:focus,.ir-cform-form .wpsf-submit:focus-visible{background:var(--e-global-color-primary);color:var(--e-global-color-secondary)}   /* his "contact button hover font text color dark" */
.ir-cform-form .wpsf-submit::after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);
  transform:translateX(-160%) skewX(-22deg);pointer-events:none}
.ir-cform-form .wpsf-submit:hover::after{transform:translateX(330%) skewX(-22deg);transition:transform .7s cubic-bezier(.3,.6,.2,1)}
@media (max-width:1024px){.e-con.ir-cbox{margin-top:-70px}}
@media (max-width:767px){.e-con.ir-cpanel{padding:40px 22px 34px}.e-con.ir-cform{padding:40px 22px 36px}.e-con.ir-cbox{margin-top:-60px}.ir-cform-form .wpsf-submit{width:100%}}

/* ── werkgebied: the places as one big line on lime ───────────────────────────────────────────────────────────── */
/* Werkgebied (Contact): calm — a normal heading, the places as a list with a pin in a yellow square (like .ir-checks) */
.ir-wg-h .elementor-heading-title{font-size:clamp(38px,3.6vw,52px)!important;line-height:1!important}
.ir-wg-list .elementor-icon-list-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px}
.ir-wg-list .elementor-icon-list-item{padding:16px 0!important;border-top:1px solid var(--e-global-color-irlined);margin:0!important}
.ir-wg-list .elementor-icon-list-item:nth-last-child(-n+3){border-bottom:1px solid var(--e-global-color-irlined)}
.ir-wg-list .elementor-icon-list-icon{width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--e-global-color-primary);padding:0!important}
.ir-wg-list .elementor-icon-list-icon svg,.ir-wg-list .elementor-icon-list-icon i{margin:0!important;width:14px;font-size:14px}
.ir-wg-list .elementor-icon-list-text{font-size:24px!important;line-height:1.05!important;padding-left:14px!important}
.ir-wg-note p{margin:22px 0 0}
@media (max-width:767px){.ir-wg-list .elementor-icon-list-items{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
  .ir-wg-list .elementor-icon-list-item:nth-last-child(-n+3){border-bottom:0}.ir-wg-list .elementor-icon-list-item:nth-last-child(-n+2){border-bottom:1px solid var(--e-global-color-irlined)}
  .ir-wg-list .elementor-icon-list-text{font-size:clamp(17px,4.9vw,20px)!important;white-space:nowrap}}   /* "SPRANG-CAPELLE" on one line */

/* ── Projecten: one simple filter row + the cards (first one wide) ────────────────────────────────────────────── */
.ir-pfilter{margin-bottom:36px}
.e-con.ir-plist>.e-con-inner{flex-wrap:nowrap!important}   /* a wrapping column squeezed the card grid to 120 px on the phone — the cards spilled over the next sections */
.ir-pfilter .e-filter{gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;justify-content:flex-start!important}
.ir-pfilter .e-filter::-webkit-scrollbar{display:none}
.ir-pfilter .e-filter-item{flex:none;padding:15px 18px!important;border:0!important;border-radius:0!important;background:transparent!important;
  font:600 14px/1 "Asap",sans-serif!important;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;color:var(--e-global-color-secondary)!important;
  transition:background .2s,color .2s,box-shadow .2s}
.ir-pfilter .e-filter-item:hover{box-shadow:inset 0 -3px 0 var(--e-global-color-primary)}
.ir-pfilter .e-filter-item[aria-pressed=true]{background:var(--e-global-color-secondary)!important;color:#fff!important;box-shadow:none}
.ir-pgrid .e-loop-item:first-of-type{grid-column:1/-1}
.ir-pgrid .e-loop-item:first-of-type .e-con.ir-pcard{aspect-ratio:21/9}
.ir-pgrid .e-loop-item:first-of-type .ir-pcard-title .elementor-heading-title{font-size:clamp(44px,5vw,76px)!important}
@media (max-width:1024px){.ir-pgrid .e-loop-item:first-of-type .e-con.ir-pcard{aspect-ratio:16/9}}
@media (max-width:767px){.ir-pgrid .e-con.ir-pcard,.ir-pgrid .e-loop-item:first-of-type .e-con.ir-pcard{aspect-ratio:4/3.6}
  .ir-pgrid .e-loop-item:first-of-type .ir-pcard-title .elementor-heading-title{font-size:40px!important}
  .ir-pfilter .e-filter{margin:0 -16px;padding:0 16px}.ir-pfilter .e-filter-item{padding:13px 14px!important;font-size:13px!important}}

/* ── project page (sync_projectpagina): title on black, the photo pulled up, the story beside the card ─────────── */
.e-con.ir-dhero{padding-bottom:178px;--padding-block-start:48px;--padding-block-end:0px}   /* 130 under the photo + 48 calm */
.ir-back .elementor-heading-title{display:inline-block;font-weight:600;border-bottom:2px solid var(--e-global-color-primary);padding-bottom:4px;margin-bottom:30px}
.e-con.ir-dtags{margin-bottom:22px}
.e-con.ir-dtags>.elementor-element{width:auto}
.ir-dtag .elementor-heading-title{background:var(--e-global-color-primary);font-size:13px!important;font-weight:700;letter-spacing:.08em;padding:9px 11px}
.ir-dplace .elementor-heading-title{display:flex;align-items:center;gap:7px;font-weight:600;color:#e1e1db}
.ir-dplace .elementor-heading-title::before,.ir-pcard-place .elementor-heading-title::before{content:"";width:12px;height:15px;flex:none;background:var(--e-global-color-primary);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.3 7 13 7 13s7-7.7 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.3 7 13 7 13s7-7.7 7-13a7 7 0 0 0-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5Z'/%3E%3C/svg%3E") center/contain no-repeat}
.ir-dhero-h1 .elementor-heading-title{max-width:1180px}   /* size: the inner-page title rule (slim page hero) */
.e-con.ir-dphoto{position:relative;z-index:2;margin-top:-130px}
.e-con.ir-dphoto-frame{aspect-ratio:2/1;overflow:hidden;padding:0}
.ir-dphoto-img{height:100%}
.ir-dphoto-img img{object-position:50% 35%}
.e-con.ir-dfacts{justify-content:flex-start;margin:0 0 34px;border-top:3px solid var(--e-global-color-secondary)}
.e-con.ir-dfact{width:auto;padding:18px 40px 18px 0;margin-right:40px;border-right:1px solid var(--e-global-color-irlined);gap:10px}
.e-con.ir-dfact:last-child{border-right:0;margin-right:0}
.ir-dfact-t .elementor-heading-title{font-size:12.5px!important}
.ir-dfact-v .elementor-heading-title{font-size:28px!important;line-height:1!important}
.ir-dfact-place:has(.elementor-heading-title:empty){display:none}
.ir-dcontent p{font-size:18px;line-height:1.7;color:#3b3a36;max-width:700px;margin-bottom:18px}
.ir-dcontent p:first-child{font-size:23px;line-height:1.5;color:var(--e-global-color-secondary)}
.ir-dcontent h3{font:800 clamp(38px,3.6vw,52px)/.9 "Big Shoulders",sans-serif;text-transform:uppercase;color:var(--e-global-color-secondary);margin:70px 0 16px}
.ir-dcontent ul{list-style:none;padding:0;margin:28px 0 22px;display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.ir-dcontent li{display:flex;align-items:center;gap:16px;padding:18px 0;border-top:1px solid var(--e-global-color-irlined);
  font:800 25px/1.05 "Big Shoulders",sans-serif;text-transform:uppercase;color:var(--e-global-color-secondary)}
.ir-dcontent li:nth-last-child(-n+2){border-bottom:1px solid var(--e-global-color-irlined)}
.ir-dcontent li::before{content:"";width:34px;height:34px;flex:none;background:var(--e-global-color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0b0b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/16px no-repeat}
.e-con.ir-gal .elementor-gallery-item{overflow:hidden}
@media (max-width:767px){.e-con.ir-dhero{padding-bottom:116px;--padding-block-start:36px}.e-con.ir-dphoto{margin-top:-80px}.e-con.ir-dphoto-frame{aspect-ratio:4/3}
  .ir-dcontent ul{grid-template-columns:1fr}.ir-dcontent li:nth-last-child(2){border-bottom:0}.e-con.ir-dfacts{flex-wrap:wrap}}

/* ── sync_hero_slim: the base pages' title band (Privacy, Cookiebeleid, Schrijf een review) — the page's own title ── */
.ir-slim-h1 .elementor-heading-title::after{content:".";color:var(--e-global-color-primary)}

/* ── Instagram (WPStack Feed, its own look) ───────────────────────────────────────────────────────────────────── */
.e-con.ir-ig-head{margin-bottom:40px}
.ir-ig-feed .wpfd-av{object-fit:contain;background:#fff;padding:6px}   /* the logo stands in for his profile picture */
/* Smash Balloon (feed 4, its own look): while Irfo's account is not connected the feed has no posts → four of his own photos
   stand in; the moment posts arrive the feed shows and the photos step aside (no code, no switch) */
.ir-insta:has(.ir-ig-feed .sbi_item) .ir-ig-fallback{display:none}
.ir-insta:not(:has(.ir-ig-feed .sbi_item)) .ir-ig-feed{display:none}
.ir-ig-ph img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Big Shoulders';
	font-style: normal;
	font-weight: 100 900;
	font-display: auto;
	src: url('https://irfo-totaalbouw.inthedemo.com/wp-content/uploads/2026/10/big-shoulders-display-latin-wght-normal.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Asap';
	font-style: normal;
	font-weight: 100 900;
	font-display: auto;
	src: url('https://irfo-totaalbouw.inthedemo.com/wp-content/uploads/2026/10/asap-latin-wght-normal.woff2') format('woff2');
}
/* End Custom Fonts CSS */