.elementor-kit-6{--e-global-color-primary:#EB8113;--e-global-color-secondary:#0E1012;--e-global-color-text:#ECE9E4;--e-global-color-accent:#A8550A;--e-global-color-10d2e9b:#FFFFFF;--e-global-color-f8fa775:#000000;--e-global-color-4c96edb:#EB8113;--e-global-color-0b94b89:#ECE9E4;--e-global-color-bd6302b:#0E1012;--e-global-color-emhover:#F59A3A;--e-global-color-emkaart:#15181B;--e-global-color-emkaar3:#1C2024;--e-global-color-emlijn1:#2A2F35;--e-global-color-emgrijs:#A4A9AE;--e-global-color-emlicht:#F4F1EC;--e-global-color-emlijnl:#E2DCD2;--e-global-color-emtekst:#1C2226;--e-global-color-emgrisl:#5D6469;--e-global-color-emzwart:#08090A;--e-global-color-emzw111:#111111;--e-global-typography-primary-font-family:"Fira Sans Condensed";--e-global-typography-primary-font-size:clamp(33px, 3.5vw, 51px);--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.1;--e-global-typography-secondary-font-family:"Fira Sans Condensed";--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.25;--e-global-typography-text-font-family:"Fira Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7;--e-global-typography-accent-font-family:"Fira Sans";--e-global-typography-accent-font-size:15.5px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1;--e-global-typography-accent-letter-spacing:0.02em;background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), system-ui, sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.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;border-style:solid;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-primary );}.elementor-kit-6 a:hover{color:var( --e-global-color-emhover );}.elementor-kit-6 h1{color:var( --e-global-color-10d2e9b );font-family:"Fira Sans Condensed", system-ui, sans-serif;font-size:56px;font-weight:800;line-height:1.15;}.elementor-kit-6 h2{color:var( --e-global-color-10d2e9b );font-family:"Fira Sans Condensed", system-ui, sans-serif;font-size:38px;font-weight:800;line-height:1.15;}.elementor-kit-6 h3{color:var( --e-global-color-10d2e9b );font-family:"Fira Sans Condensed", system-ui, sans-serif;font-size:26px;font-weight:700;line-height:1.15;}.elementor-kit-6 h4{color:var( --e-global-color-10d2e9b );font-family:"Fira Sans Condensed", system-ui, sans-serif;font-size:21px;font-weight:700;line-height:1.15;}.elementor-kit-6 h5{color:var( --e-global-color-10d2e9b );font-family:"Fira Sans Condensed", system-ui, sans-serif;font-size:18px;font-weight:700;line-height:1.15;}.elementor-kit-6 h6{color:var( --e-global-color-10d2e9b );font-family:"Fira Sans Condensed", system-ui, sans-serif;font-size:16px;font-weight:700;line-height:1.15;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:"Fira Sans", system-ui, sans-serif;font-size:15.5px;font-weight:600;line-height:1;border-style:solid;border-width:1px 1px 1px 1px;border-radius:63px 63px 63px 63px;padding:14px 40px 14px 40px;}.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{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:46px;line-height:54px;}.elementor-kit-6 h2{font-size:34px;line-height:36px;}.elementor-kit-6 h3{font-size:24px;line-height:36px;}.elementor-kit-6 h4{font-size:20px;line-height:24px;}.elementor-kit-6 h5{font-size:17px;line-height:24px;}.elementor-kit-6 h6{font-size:16px;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{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:38px;line-height:48px;}.elementor-kit-6 h2{font-size:30px;line-height:36px;}.elementor-kit-6 h3{font-size:22px;line-height:30px;}.elementor-kit-6 h4{font-size:19px;}.elementor-kit-6 h5{font-size:16px;}.elementor-kit-6 h6{font-size:15px;}.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 *//* ══ Ed's Motoren — Site Settings → Custom CSS (made by build/gen_kit.py from build/css/*.css — edit those, then run
   gen_kit.py + wb_kit.php; never only here). Colours and fonts are the Site Settings globals: change them THERE.
   10 · base: the page as direction 7 has it (inside 7's sections, 7's reset). ══ */
html { -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body > .elementor:not(.elementor-location-header) { overflow-x: clip; }   /* 7's main { overflow-x: clip }: blocks waiting to slide in never widen a phone page (the header stays free: it sticks) */
.em, .em * { box-sizing: border-box; }
.em :is(h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote, address) { margin: 0; }
.em :is(ul, ol) { padding: 0; list-style: none; }
.em a { color: inherit; text-decoration: none; }
.em a:hover { color: inherit; }
.em img { display: block; max-width: 100%; height: auto; }
.em button { font: inherit; color: inherit; }
/* Elementor's own boxes inside 7's sections: no room of their own */
.em .elementor-widget-container { margin: 0; padding: 0; }
/* a heading set as div / span (a label, a link) takes the look of its box — 7's class sits on the box */
.em :is(div, span, p).elementor-heading-title { line-height: inherit; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.em .elementor-heading-title > a { color: inherit; font: inherit; }
/* 7's h3 keeps its own line height (Elementor gives its headings 1) */
.em h3.elementor-heading-title { line-height: 1.25; }
.em .elementor-icon-list-items { margin: 0; padding: 0; list-style: none; }
/* Elementor's inline list spacing off — here, before 7's rules (20–21), so 7's own list margins / wrapping win */
.em .elementor-icon-list-items.elementor-inline-items { margin: 0; flex-wrap: nowrap; }
.em .elementor-icon-list-items.elementor-inline-items li.elementor-icon-list-item { margin-inline: 0; }
.em :where(.elementor-widget-text-editor) > :last-child, .em :where(.elementor-widget-text-editor > .elementor-widget-container) > :last-child { margin-bottom: 0; }
/* 7's "Ed's" in orange in a heading: <em> in the title */
.em .elementor-heading-title em { font-style: normal; }
/* the stuck header: the info bar scrolls away, the bar stays (7: .info scrolls, .hdr sticks) */
.elementor-location-header { position: sticky; top: -47px; z-index: 30; }
body.admin-bar .elementor-location-header { top: -15px; }
@media (max-width: 782px) { body.admin-bar .elementor-location-header { top: -47px; } }

/* ══ direction 7 · 7.css — made by build/gen_css.py from design/final/7.css; change the design, then run it again (never edit this file by hand) ══ */
body { --em-orange: var(--e-global-color-primary);
  --em-orange-hi: var(--e-global-color-emhover);
  --em-orange-deep: var(--e-global-color-accent);
  --em-ink: var(--e-global-color-secondary);
  --em-ink-2: var(--e-global-color-emkaart);
  --em-ink-3: var(--e-global-color-emkaar3);
  --em-line: var(--e-global-color-emlijn1);
  --em-on: var(--e-global-color-text);
  --em-on-muted: var(--e-global-color-emgrijs);
  --em-light: var(--e-global-color-emlicht);
  --em-light-line: var(--e-global-color-emlijnl);
  --em-text: var(--e-global-color-emtekst);
  --em-muted: var(--e-global-color-emgrisl);
  --em-head: var(--e-global-typography-primary-font-family), "Arial Narrow", Arial, sans-serif;
  --em-font: var(--e-global-typography-text-font-family), Arial, sans-serif;
  --em-wrap: 1380px;
  --em-pad: 40px;
  --em-gap: 100px; }
@media (max-width: 1024px) {
  body { --em-pad: 32px; --em-gap: 80px; }
}
@media (max-width: 600px) {
  body { --em-pad: 20px; --em-gap: 70px; }
}
.em h1, .em h2, .em h3 { margin: 0; font-family: var(--em-head); color: var(--e-global-color-10d2e9b); letter-spacing: 0; text-wrap: balance; }
.em h1 { font-size: clamp(44px, 5.5vw, 78px); line-height: 1.04; font-weight: 800; }
.em h2 { font-size: clamp(33px, 3.5vw, 51px); line-height: 1.1; font-weight: 800; }
.em h3 { font-size: 24px; line-height: 1.25; font-weight: 700; letter-spacing: 0; }
.em h1 em, .em h2 em { font-style: normal; color: var(--em-orange); }
.em p { margin: 0; }
.elementor .wrap { width: 100%; max-width: calc(var(--em-wrap) + 2 * var(--em-pad)); margin: 0 auto; padding: 0 var(--em-pad); position: relative; }
.elementor .wrap.wrap { margin-bottom: 0; max-width: calc(var(--em-wrap) + 2 * var(--em-pad)); }
.elementor .sec { padding: var(--em-gap) 0; position: relative; }
.em svg { width: 20px; height: 20px; flex: none; }
.elementor .center { text-align: center; }
.elementor .kicker { display: inline-flex; align-items: center; gap: 12px; font: 600 15px/1 var(--em-font); letter-spacing: .08em; text-transform: uppercase; color: var(--em-orange); }
.elementor .kicker::before { content: ""; width: 34px; height: 2px; background: var(--em-orange); }
html.js .elementor [data-reveal] { opacity: 0; transition: opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1); transform: translateY(18px); }
html.js .elementor [data-reveal="left"] { transform: translateX(-40px); }
html.js .elementor [data-reveal="right"] { transform: translateX(40px); }
html.js .elementor [data-reveal="skew"] { transform: translateY(24px) skewY(3deg); transform-origin: 0 100%; }
html.js .elementor [data-reveal].is-in { opacity: 1; transform: none; }
html.js .elementor [data-reveal][data-d="1"] { transition-delay: .12s; }
html.js .elementor [data-reveal][data-d="2"] { transition-delay: .24s; }
html.js .elementor [data-reveal][data-d="3"] { transition-delay: .36s; }
@keyframes em-turn { to { transform: rotate(360deg); } }
@keyframes em-turn-back { to { transform: rotate(-360deg); } }
@keyframes em-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes em-tape-l { to { transform: translateX(-50%); } }
@keyframes em-tape-r { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) {
  .elementor *::before, .elementor *::after { animation: none !important; transition: none !important; }
}
.elementor .gear { position: absolute; pointer-events: none; color: var(--em-orange); }
.elementor .gear svg { width: 100%; height: 100%; display: block; animation: em-turn 70s linear infinite; }
.elementor .gear.back svg { animation: em-turn-back 90s linear infinite; }
.elementor .more { display: inline-flex; align-items: center; gap: 8px; color: var(--em-orange); font-weight: 600; text-decoration: none; }
.elementor .more svg { width: 18px; height: 18px; transition: transform .3s ease; }
.elementor .more:hover svg, .elementor .more:focus-visible svg { transform: translateX(3px); }
.elementor .info { background: var(--e-global-color-emzwart); color: var(--em-on-muted); font-size: 14.5px; border-bottom: 1px solid var(--em-line); }
.elementor .info-in { display: flex; align-items: center; gap: 0; min-height: 46px; }
.elementor .info-in > * { display: inline-flex; align-items: center; gap: 9px; padding: 0 22px; border-left: 1px solid var(--em-line); text-decoration: none; }
.elementor .info-in > *:first-child { padding-left: 0; border-left: 0; }
.elementor .info svg { width: 16px; height: 16px; color: var(--em-orange); }
.elementor .info .push { margin-left: auto; border-left: 0; padding-right: 0; }
.elementor .info b { color: var(--e-global-color-10d2e9b); font-weight: 600; }
.elementor .status.is-open::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #3BB273; display: inline-block; margin-right: 2px; }
@media (max-width: 900px) {
  .elementor .info .hide-s { display: none; }
}
@media (max-width: 600px) {
  .elementor .info { font-size: 13.5px; }
  .elementor .info-in > * { padding: 0 12px; }
}
.elementor .hdr { position: sticky; top: 0; z-index: 30; background: rgba(14,16,18,.97); border-bottom: 1px solid var(--em-line); transition: box-shadow .6s cubic-bezier(.24,.74,.58,1); }
html.is-stuck .elementor .hdr { box-shadow: 0 10px 30px rgba(0,0,0,.45); }
.elementor .hdr-in { display: flex; align-items: stretch; min-height: 88px; }
.elementor .brand { display: flex; align-items: center; gap: 14px; text-decoration: none; flex: none; padding-right: 34px; }
.elementor .brand img { width: auto; height: 70px; }
.elementor .wm { display: inline-grid; gap: 9px; font-size: 31px; line-height: 1; }
.elementor .wm-name { font: 800 1em/0.92 var(--em-head); letter-spacing: 0; color: var(--e-global-color-10d2e9b); white-space: nowrap; }
.elementor .wm-name em { font-style: normal; color: var(--em-orange); }
.elementor .wm-sub { display: flex; align-items: center; gap: .55em; font: 600 .34em/1 var(--em-head); letter-spacing: .12em; margin-right: -.12em; text-transform: uppercase; color: var(--em-on-muted); white-space: nowrap; }
.elementor .wm-sub::before { content: ""; flex: 1 0 1.4em; height: 2px; background: var(--em-orange); }
.elementor .nav { margin-left: auto; display: flex; align-items: center; border-left: 1px solid var(--em-line); border-right: 1px solid var(--em-line); padding: 0 18px; }
.elementor .nav ul.elementor-icon-list-items.elementor-icon-list-items { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; }
.elementor .nav ul.elementor-icon-list-items.elementor-icon-list-items.elementor-icon-list-items { margin-bottom: 0; }
.elementor .nav a, .elementor .nav .drop-t li.elementor-icon-list-item.elementor-icon-list-item { display: flex; align-items: center; gap: 6px; padding: 12px 14px; font: 600 14.5px/1 var(--em-font); letter-spacing: .05em; text-transform: uppercase;
  color: var(--e-global-color-10d2e9b); text-decoration: none; background: none; border: 0; cursor: pointer; }
.elementor .nav a:hover, .elementor .nav .drop-t li.elementor-icon-list-item.elementor-icon-list-item:hover { color: var(--em-orange); }
.elementor .nav a, .elementor .nav .drop-t li.elementor-icon-list-item.elementor-icon-list-item { transition: color .25s ease; }
.elementor .nav .is-current > a { color: var(--em-orange); }
.elementor .nav .is-current > a::before { content: ""; width: 22px; height: 2px; background: var(--em-orange); }
.elementor .nav svg { width: 15px; height: 15px; transition: transform .3s cubic-bezier(.22,.61,.36,1); }
.elementor .has-drop { position: relative; }
.elementor .drop { position: absolute; top: calc(100% + 24px); left: 0; min-width: 290px; background: var(--em-ink-2); border-top: 3px solid var(--em-orange); list-style: none; margin: 0; padding: 10px 0;
  box-shadow: 0 20px 40px rgba(0,0,0,.45); opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .28s ease .12s, transform .32s cubic-bezier(.22,.61,.36,1) .12s, visibility 0s linear .44s; }
.elementor .drop.drop { margin-bottom: 0; }
.elementor .drop::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 30px; }
.elementor .drop a { padding: 13px 24px; text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 500;
  transition: background-color .25s ease, color .25s ease, box-shadow .25s ease; }
.elementor .drop a:hover, .elementor .drop a:focus-visible { background: var(--em-ink-3); box-shadow: inset 3px 0 0 var(--em-orange); }
.elementor .drop li:last-child { border-top: 1px solid var(--em-line); margin-top: 6px; padding-top: 6px; }
.elementor .has-drop:hover .drop, .elementor .has-drop.is-open .drop, .elementor .has-drop:focus-within .drop { opacity: 1; visibility: visible; transform: none;
  transition: opacity .28s ease, transform .32s cubic-bezier(.22,.61,.36,1), visibility 0s; }
.elementor .has-drop:hover .drop-t svg, .elementor .has-drop.is-open .drop-t svg { transform: rotate(180deg); }
.elementor .call { display: flex; align-items: center; gap: 14px; padding-left: 30px; text-decoration: none; }
.elementor .call .ring { width: 50px; height: 50px; border-radius: 50%; background: var(--em-orange); color: var(--e-global-color-emzw111); display: grid; place-items: center; box-shadow: 0 0 0 5px rgba(235,129,19,.18); transition: box-shadow .3s ease; }
.elementor .call:hover .ring { box-shadow: 0 0 0 8px rgba(235,129,19,.22); }
.elementor .call .c-s { display: block; font-size: 14px; color: var(--em-on-muted); }
.elementor .call .c-b { display: block; font: 700 21px/1.2 var(--em-head); color: var(--e-global-color-10d2e9b); }
.elementor .hdr-tools { display: none; gap: 8px; margin-left: auto; align-items: center; }
.elementor .icon-btn { width: 48px; height: 48px; display: grid; place-items: center; border: 1.5px solid var(--em-line); background: transparent; color: var(--e-global-color-10d2e9b); cursor: pointer; }
.elementor .icon-btn.fill { background: var(--em-orange); border-color: var(--em-orange); color: var(--e-global-color-emzw111); }
@media (max-width: 1240px) {
  .elementor .call .call-t { display: none; }
  .elementor .call { padding-left: 20px; }
}
@media (max-width: 1100px) {
  .elementor .nav, .elementor .call { display: none; }
  .elementor .hdr-tools { display: flex; }
}
@media (max-width: 600px) {
  .elementor .hdr-in { min-height: 72px; }
  .elementor .brand { gap: 11px; }
  .elementor .brand img { height: 54px; }
  .elementor .wm { font-size: 24px; gap: 7px; }
}
.elementor .layer-pop::after { content: ""; position: absolute; right: -120px; bottom: -120px; width: 320px; height: 320px; border-radius: 50%; border: 1px solid var(--em-line); pointer-events: none; }
.elementor .layer-top { display: flex; align-items: center; justify-content: space-between; }
.elementor .layer-top .brand { padding-right: 0; }
.elementor .layer-list { list-style: none; margin: 30px 0 0; padding: 0; }
.elementor .layer-list.layer-list { margin-bottom: 0; }
.elementor .layer-list :is(.ll li.elementor-icon-list-item.elementor-icon-list-item, .ll-sub) { border-bottom: 1px solid var(--em-line); }
.elementor .layer-list a, .elementor .layer-list .sub-t li.elementor-icon-list-item.elementor-icon-list-item { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 0; font: 700 24px/1.2 var(--em-head);
  color: var(--e-global-color-10d2e9b); text-decoration: none; background: none; border: 0; cursor: pointer; text-align: left; letter-spacing: 0; }
.elementor .layer-list .is-current > a { color: var(--em-orange); }
.elementor .layer-list .sub-t li.elementor-icon-list-item.elementor-icon-list-item svg { transition: transform .2s ease; }
.elementor .layer-list .sub-t li.elementor-icon-list-item.elementor-icon-list-item[aria-expanded="true"] svg { transform: rotate(180deg); }
.elementor .layer-sub { list-style: none; margin: 0 0 12px; padding: 0 0 0 16px; border-left: 2px solid var(--em-orange); display: none; }
.elementor .layer-sub.layer-sub { margin-bottom: 12px; }
.elementor .layer-list .ll-sub.is-open .layer-sub { display: block; }
.elementor .layer-sub a { font: 500 17px/1.2 var(--em-font); padding: 10px 0; color: var(--em-on-muted); }
.elementor .layer-pop .btn { margin-top: 28px; }
.elementor .layer-foot { margin-top: auto; padding-top: 30px; display: grid; gap: 12px; color: var(--em-on-muted); position: relative; z-index: 1; }
.elementor .layer-foot li.elementor-icon-list-item.elementor-icon-list-item, .elementor .layer-foot li.elementor-icon-list-item.elementor-icon-list-item > a { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.elementor .layer-foot svg { color: var(--em-orange); }
.elementor .hero { position: relative; overflow: hidden; background: var(--em-ink); min-height: 800px; padding: 96px 0 170px; display: flex; align-items: center; }
.elementor .hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(55% 60% at 0% 100%, rgba(235,129,19,.09), transparent 70%); }
.elementor .hero-photo { position: absolute; top: 0; bottom: 0; right: 0; width: 50%; clip-path: polygon(170px 0, 100% 0, 100% 100%, 0 100%); }
.elementor .hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 40% 50%; }
.elementor .hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,16,18,.2), rgba(14,16,18,0) 28%, rgba(14,16,18,0) 55%, rgba(14,16,18,.6) 100%); }
.elementor .hero-stripes { position: absolute; top: 0; bottom: 0; right: 0; width: calc(50% + 44px); pointer-events: none; }
.elementor .hero-stripes .hs-i { position: absolute; inset: 0; background: var(--em-orange); }
.elementor .hero-stripes .hs-i { clip-path: polygon(198px 0, 205px 0, 35px 100%, 28px 100%); }
.elementor .hero .gear { width: 340px; height: 340px; left: -190px; top: calc(76% - 170px); opacity: .12; }
.elementor .hero-in { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; }
.elementor .hero-txt { max-width: 660px; }
.elementor .hero-txt.hero-txt { max-width: 660px; }
.elementor .hero h1 { margin-top: 24px; }
.elementor .hero .lead { margin-top: 24px; font-size: 19px; color: var(--em-on); max-width: 31em; }
.elementor .hero .lead.lead { max-width: 31em; }
.elementor .hero-acts { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 38px; }
.elementor .hero-ticks ul.elementor-icon-list-items.elementor-icon-list-items { list-style: none; margin: 40px 0 0; padding: 24px 0 0; border-top: 1px solid var(--em-line); display: inline-flex; flex-wrap: wrap; gap: 12px 18px; font-size: 14.5px; color: var(--em-on); }
.elementor .hero-ticks ul.elementor-icon-list-items.elementor-icon-list-items.elementor-icon-list-items { margin-bottom: 0; }
.elementor .hero-ticks li.elementor-icon-list-item.elementor-icon-list-item { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.elementor .hero-ticks .elementor-icon-list-icon { width: 20px; height: 20px; flex: none; display: grid; place-items: center; background: var(--em-orange); color: var(--e-global-color-emzw111); }
.elementor .hero-ticks svg { width: 13px; height: 13px; }
.elementor .hero-card-wrap { justify-self: end; max-width: 330px; margin-bottom: -40px; }
.elementor .hero-card-wrap.hero-card-wrap { margin-bottom: -40px; max-width: 330px; }
.elementor .hero-card { display: block; background: rgba(14,16,18,.9); border: 1px solid transparent; border-top: 3px solid var(--em-orange);
  padding: 24px 26px; box-shadow: 0 24px 50px rgba(0,0,0,.4); text-decoration: none; color: inherit;
  transition: transform .35s ease, border-color .35s ease, background-color .35s ease; }
.elementor .hero-card:hover, .elementor .hero-card:focus-visible { transform: translateY(-4px); border-color: var(--em-orange); background: rgba(21,24,27,.96); }
.elementor .hero-card:focus-visible { outline: 2px solid var(--em-orange); outline-offset: 4px; }
.elementor .hero-card .hc-b { transition: color .35s ease; }
.elementor .hero-card:hover .hc-b, .elementor .hero-card:focus-visible .hc-b { color: var(--em-orange); }
.elementor .hero-card .more { margin-top: 16px; font-size: 15px; }
.elementor .hero-card:hover .more svg, .elementor .hero-card:focus-visible .more svg { transform: translateX(3px); }
.elementor .hero-card .hc-s { display: block; font: 600 13px/1 var(--em-font); letter-spacing: .1em; text-transform: uppercase; color: var(--em-orange); }
.elementor .hero-card .hc-b { display: block; margin-top: 10px; font: 700 24px/1.15 var(--em-head); color: var(--e-global-color-10d2e9b); }
.elementor .hero-card .hc-p { margin-top: 8px; font-size: 15.5px; line-height: 1.55; color: var(--em-on-muted); }
@media (max-width: 1100px) {
  .elementor .hero { display: block; min-height: 0; padding: 0 0 140px; }
  .elementor .hero-photo { position: relative; width: 100%; height: 420px; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 70px), 0 100%); }
  .elementor .hero-stripes { display: none; }
  .elementor .hero .gear { width: 300px; height: 300px; left: auto; right: -180px; top: 760px; }
  .elementor .hero-in { grid-template-columns: 1fr; gap: 34px; padding-top: 34px; }
  .elementor .hero-card-wrap { justify-self: start; margin-bottom: 0; max-width: 460px; }
  .elementor .hero-card-wrap.hero-card-wrap { margin-bottom: 0; max-width: 460px; }
}
@media (max-width: 600px) {
  .elementor .hero { padding-bottom: 120px; }
  .elementor .hero-photo { height: 300px; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 46px), 0 100%); }
  .elementor .hero .gear { width: 240px; height: 240px; right: -150px; top: 800px; }
  .elementor .hero-ticks ul.elementor-icon-list-items.elementor-icon-list-items { flex-direction: column; gap: 12px; }
}
.elementor .frame { position: relative; margin: 0 26px 26px 0; }
.elementor .frame.frame { margin-bottom: 26px; }
.elementor .frame::before { content: ""; position: absolute; inset: 26px -26px -26px 26px; border: 2px solid var(--em-orange); }
.elementor .frame .ph { position: relative; aspect-ratio: 4 / 4.4; overflow: hidden; }
.elementor .frame .ph img { width: 100%; height: 100%; object-fit: cover; }
.elementor .facts { position: relative; z-index: 2; margin-top: -78px; }
.elementor .facts-in { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--em-ink-2); border-top: 3px solid var(--em-orange); box-shadow: 0 30px 60px rgba(0,0,0,.45); }
.elementor .facts-in > * { display: flex; align-items: center; gap: 16px; padding: 28px 30px; text-decoration: none; border-left: 1px solid var(--em-line); }
.elementor .facts-in > *:first-child { border-left: 0; }
.elementor .facts .sq { width: 54px; height: 54px; flex: none; display: grid; place-items: center; background: var(--em-ink-3); color: var(--em-orange); }
.elementor .facts .sq svg { width: 24px; height: 24px; }
.elementor .facts .f-s { display: block; font-size: 14px; color: var(--em-on-muted); }
.elementor .facts .f-b { display: block; font: 700 19px/1.3 var(--em-head); color: var(--e-global-color-10d2e9b); }
.elementor .facts a:hover .f-b { color: var(--em-orange); }
@media (max-width: 1100px) {
  .elementor .frame { max-width: 560px; }
  .elementor .frame.frame { max-width: 560px; }
  .elementor .facts-in { grid-template-columns: 1fr; }
  .elementor .facts-in > * { border-left: 0; border-top: 1px solid var(--em-line); }
  .elementor .facts-in > *:first-child { border-top: 0; }
}
@media (max-width: 600px) {
  .elementor .hero .lead { font-size: 17.5px; }
  .elementor .facts-in > * { padding: 20px; }
}
.elementor .intro { padding-top: calc(var(--em-gap) + 10px); }
.elementor .intro-in { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.elementor .stack { position: relative; padding: 0 70px 70px 0; }
.elementor .stack .main { aspect-ratio: 4 / 3; overflow: hidden; }
.elementor .stack .main img { width: 100%; height: 100%; object-fit: cover; }
.elementor .stack .small { position: absolute; right: 0; bottom: 0; width: 46%; aspect-ratio: 4 / 3; overflow: hidden; border: 8px solid var(--em-ink); }
.elementor .stack .small img { width: 100%; height: 100%; object-fit: cover; }
.elementor .stack .bar { position: absolute; left: 0; bottom: 34px; width: 12px; height: 120px; background: var(--em-orange); }
.elementor .intro-txt .tx { margin-top: 24px; color: var(--em-on); font-size: 18px; }
.elementor .clip { margin-top: 34px; background: var(--em-ink-2); border-left: 4px solid var(--em-orange); padding: 28px 30px; }
.elementor .clip-head { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--em-line); }
.elementor .clip-head .ch-b { font: 800 23px/1 var(--em-head); color: var(--e-global-color-10d2e9b); letter-spacing: 0; }
.elementor .clip-head .ch-s { font-size: 14px; color: var(--em-on-muted); }
.elementor .lines { display: grid; gap: 10px; margin-top: 18px; }
.elementor .lines .ln { display: block; height: 9px; background: var(--em-ink-3); }
.elementor .lines .ln:nth-child(2) { width: 92%; }
.elementor .lines .ln:nth-child(3) { width: 68%; }
.elementor .note { margin-top: 16px; font-size: 15px; color: var(--em-on-muted); }
@media (max-width: 1024px) {
  .elementor .intro-in { grid-template-columns: 1fr; gap: 60px; }
  .elementor .stack { max-width: 640px; }
  .elementor .stack.stack { max-width: 640px; }
}
@media (max-width: 600px) {
  .elementor .stack { padding: 0 34px 44px 0; }
  .elementor .stack .small { border-width: 5px; }
}
.elementor .services { background: linear-gradient(var(--em-ink-2) calc(100% - 240px), var(--em-ink)); overflow: hidden; }
.elementor .services::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 240px; pointer-events: none;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 2px, transparent 2px 26px);
  -webkit-mask: linear-gradient(transparent, #000 45%, transparent); mask: linear-gradient(transparent, #000 45%, transparent); }
.elementor .svc-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 56px; }
.elementor .svc-head.svc-head { margin-bottom: 56px; }
.elementor .cards { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.elementor .card { display: flex; flex-direction: column; background: var(--em-ink); border: 1px solid var(--em-line); padding: 36px 26px 26px; text-decoration: none; text-align: center;
  transition: border-color .35s ease, transform .35s ease; }
.elementor .card:hover { border-color: var(--em-orange); transform: translateY(-6px); }
.elementor .card h3 { font-size: 24px; }
.elementor .card .tx { margin-top: 12px; color: var(--em-on-muted); font-size: 16px; flex: 1; }
.elementor .card .ph { position: relative; margin-top: 46px; aspect-ratio: 5 / 4; }
.elementor .card .ph > .ph-in { position: absolute; inset: 0; overflow: hidden; }
.elementor .card .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.elementor .card:hover .ph img { transform: scale(1.06); }
.elementor .card .icon { position: absolute; z-index: 1; left: 50%; top: -36px; margin-left: -36px; width: 72px; height: 72px; border-radius: 50%; background: var(--e-global-color-10d2e9b); color: var(--em-orange-deep);
  display: grid; place-items: center; box-shadow: 0 0 0 6px var(--em-ink); transition: background-color .35s ease, color .35s ease; }
.elementor .card:hover .icon { background: var(--em-orange); color: var(--e-global-color-emzw111); }
.elementor .card .icon svg { width: 32px; height: 32px; }
.elementor .card .bar { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 26px; min-height: 54px; background: #000; color: var(--e-global-color-10d2e9b);
  font: 600 14.5px/1 var(--em-font); letter-spacing: .06em; text-transform: uppercase; transition: background-color .35s ease, color .35s ease; }
.elementor .card:hover .bar { background: var(--em-orange); color: var(--e-global-color-emzw111); }
.elementor .card .tag { display: block; margin-top: 8px; font-size: 14px; color: var(--em-orange); font-weight: 600; }
.elementor .car { position: relative; z-index: 1; display: flex; align-items: center; gap: 20px; margin-top: 30px; padding: 22px 28px; border: 1px dashed var(--em-line); }
.elementor .car svg { width: 30px; height: 30px; color: var(--em-orange); }
.elementor .car .tx { flex: 1; color: var(--em-on); }
.elementor .car b { color: var(--e-global-color-10d2e9b); }
@media (max-width: 1100px) {
  .elementor .cards { grid-template-columns: 1fr 1fr; }
  .elementor .svc-head { flex-direction: column; align-items: start; }
}
@media (max-width: 700px) {
  .elementor .cards { grid-template-columns: 1fr; gap: 26px; }
  .elementor .car { flex-direction: column; align-items: start; }
}
.elementor .tapes { position: relative; height: 210px; overflow-x: clip; overflow-y: visible; background: var(--em-ink); }
.elementor .tape { position: absolute; left: -5%; width: 110%; overflow: hidden; white-space: nowrap; }
.elementor .tape ul.elementor-icon-list-items.elementor-icon-list-items { display: inline-flex; align-items: center; animation: em-tape-l 60s linear infinite; }
.elementor .tape li.elementor-icon-list-item.elementor-icon-list-item { display: inline-flex; align-items: center; gap: 30px; padding-right: 30px; font: 800 33px/1 var(--em-head); text-transform: uppercase; letter-spacing: .02em; }
.elementor .tape li.elementor-icon-list-item.elementor-icon-list-item::after { flex: none; width: 9px; height: 9px; background: currentColor; transform: rotate(45deg); }
.elementor .tape-a { top: 72px; background: var(--em-orange); color: var(--e-global-color-emzw111); padding: 16px 0; box-shadow: 0 0 0 4px var(--em-ink), 0 0 0 5px var(--em-orange); z-index: 2; }
.elementor .tape-b { top: 70px; transform: rotate(-4deg); background: var(--em-ink-3); color: transparent; padding: 14px 0; }
.elementor .tape-b ul.elementor-icon-list-items.elementor-icon-list-items { animation-name: em-tape-r; animation-duration: 80s; }
.elementor .tape-b li.elementor-icon-list-item.elementor-icon-list-item { -webkit-text-stroke: 1px rgba(255,255,255,.35); }
.elementor .tape-b li.elementor-icon-list-item.elementor-icon-list-item::after { background: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); }
@media (max-width: 600px) {
  .elementor .tapes { height: 150px; }
  .elementor .tape-a { top: 50px; padding: 12px 0; }
  .elementor .tape-b { top: 48px; }
  .elementor .tape li.elementor-icon-list-item.elementor-icon-list-item { font-size: 21px; gap: 22px; padding-right: 22px; }
}
.elementor .spec { overflow: hidden; }
.elementor .spec::before { content: ""; position: absolute; width: 700px; height: 700px; right: -10%; top: 0; border-radius: 50%; background: radial-gradient(rgba(235,129,19,.12), transparent 65%); pointer-events: none; }
.elementor .spec-in { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.elementor .spec .tx { margin-top: 22px; font-size: 18px; }
.elementor .spec ul.elementor-icon-list-items.elementor-icon-list-items { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 14px; }
.elementor .spec ul.elementor-icon-list-items.elementor-icon-list-items.elementor-icon-list-items { margin-bottom: 0; }
.elementor .spec li.elementor-icon-list-item.elementor-icon-list-item { display: flex; align-items: start; gap: 14px; }
.elementor .spec .elementor-icon-list-icon { width: 26px; height: 26px; flex: none; display: grid; place-items: center; background: var(--em-orange); color: var(--e-global-color-emzw111); margin-top: 1px; }
.elementor .spec .elementor-icon-list-icon svg { width: 16px; height: 16px; }
.elementor .spec .btn { margin-top: 36px; }
.elementor .shot { position: relative; padding: 0 0 50px 50px; }
.elementor .shot .ph { aspect-ratio: 5 / 4; overflow: hidden; position: relative; }
.elementor .shot .ph img { width: 100%; height: 100%; object-fit: cover; }
.elementor .shot .quote { position: absolute; left: 0; bottom: 0; max-width: 360px; background: var(--em-orange); color: var(--e-global-color-emzw111); padding: 26px 28px; font: 700 21px/1.35 var(--em-head); letter-spacing: 0; }
.elementor .shot .quote.quote { max-width: 360px; }
.elementor .shot .quote svg { width: 30px; height: 30px; display: block; margin-bottom: 10px; }
@media (max-width: 1024px) {
  .elementor .spec-in { grid-template-columns: 1fr; gap: 60px; }
  .elementor .shot { max-width: 640px; }
  .elementor .shot.shot { max-width: 640px; }
}
@media (max-width: 600px) {
  .elementor .shot { padding: 0 0 70px 20px; }
  .elementor .shot .quote { font-size: 17px; padding: 20px; max-width: 290px; }
  .elementor .shot .quote.quote { max-width: 290px; }
}
.elementor .why { padding-top: 0; padding-bottom: 0; }
.elementor .why .head { margin-bottom: 56px; }
.elementor .why .head.head { margin-bottom: 56px; }
.elementor .why-in { display: grid; grid-template-columns: 1fr 2fr; }
.elementor .why .photo { position: relative; min-height: 560px; overflow: hidden; }
.elementor .why .photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 68% 30%; }
.elementor .why .photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(14,16,18,.55), transparent 40%); }
.elementor .tiles { display: grid; grid-template-columns: repeat(3, 1fr); }
.elementor .tile { padding: 44px 36px; background: var(--em-ink-2); display: flex; flex-direction: column; }
.elementor .tile.o { background: var(--em-orange); color: var(--e-global-color-emzw111); }
.elementor .tile svg { width: 46px; height: 46px; color: var(--em-orange); stroke-width: 1.4; }
.elementor .tile.o svg { color: var(--e-global-color-emzw111); }
.elementor .tile h3 { margin-top: 26px; font-size: 22px; }
.elementor .tile.o h3 { color: var(--e-global-color-emzw111); }
.elementor .tile .tx { margin-top: 12px; color: var(--em-on-muted); font-size: 16px; }
.elementor .tile.o .tx { color: #2A1A08; }
.elementor .tile a { color: inherit; font-weight: 700; }
.elementor .tile.cta { background: var(--em-ink-3); }
.elementor .tile.cta .big { margin: 10px 0 22px; font: 800 31px/1.2 var(--em-head); color: var(--e-global-color-10d2e9b); text-decoration: none; }
.elementor .tile.cta .big.big { margin-bottom: 22px; }
.elementor .tile.cta .big:hover { color: var(--em-orange); }
.elementor .tile.cta .btn { margin-top: auto; align-self: flex-start; }
@media (max-width: 1100px) {
  .elementor .why-in { grid-template-columns: 1fr; }
  .elementor .why .photo { min-height: 420px; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .elementor .tiles { grid-template-columns: 1fr 1fr; }
  .elementor .tile:nth-child(3) { order: 4; }
  .elementor .tile:nth-child(4) { order: 3; }
  .elementor .tile:nth-child(n+5) { order: 5; }
}
@media (max-width: 600px) {
  .elementor .tiles { grid-template-columns: 1fr; }
  .elementor .tile { padding: 34px 24px; }
  .elementor .why .photo { min-height: 300px; }
}
.elementor .about-in { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.elementor .about .frame .ph { aspect-ratio: 5 / 4; }
.elementor .about .bq { margin: 0; font: 700 clamp(28px, 2.8vw, 39px)/1.25 var(--em-head); color: var(--e-global-color-10d2e9b); letter-spacing: 0; }
.elementor .about .bq.bq { margin-bottom: 0; }
.elementor .about .bq svg { display: block; width: 46px; height: 46px; color: var(--em-orange); margin-bottom: 18px; }
.elementor .about .who { display: flex; align-items: center; gap: 16px; margin-top: 22px; color: var(--em-on-muted); font-size: 15.5px; line-height: 1.45; }
.elementor .about .who img { width: 64px; height: 64px; flex: none; object-fit: cover; border-bottom: 3px solid var(--em-orange); }
.elementor .about .who b { color: var(--e-global-color-10d2e9b); }
.elementor .about .tx.txt { margin-top: 26px; font-size: 18px; max-width: 36em; }
.elementor .about .tx.txt.txt { max-width: 36em; }
.elementor .about .btn { margin-top: 34px; }
@media (max-width: 1100px) {
  .elementor .about-in { grid-template-columns: 1fr; gap: 60px; }
  .elementor .about .frame { max-width: 560px; }
  .elementor .about .frame.frame { max-width: 560px; }
}
.elementor .projects { background: var(--em-light); color: var(--em-text); }
.elementor .projects h2 { color: var(--e-global-color-emzw111); }
.elementor .prj-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 50px; }
.elementor .prj-head.prj-head { margin-bottom: 50px; }
.elementor .prj-head .tx { max-width: 26em; color: var(--em-muted); font-size: 18px; }
.elementor .prj-head .tx.tx { max-width: 26em; }
.elementor .prj-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * 26px) / 3); gap: 26px;
  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
  padding: 10px 0 16px; margin: -10px 0 -16px; }
.elementor .prj-track.prj-track { margin-bottom: -16px; }
.elementor .prj-track::-webkit-scrollbar { display: none; }
.elementor .prj-card { scroll-snap-align: start; display: flex; flex-direction: column; background: var(--e-global-color-10d2e9b); border: 1px solid var(--em-light-line); text-decoration: none; color: inherit;
  transition: transform .4s ease, border-color .4s ease, box-shadow .4s ease; }
.elementor .prj-card:hover, .elementor .prj-card:focus-visible { transform: translateY(-6px); border-color: var(--em-orange); box-shadow: 0 14px 30px -18px rgba(17,17,17,.35); }
.elementor .prj-card:focus-visible { outline: 2px solid var(--em-orange); outline-offset: 3px; }
.elementor .prj-card .ph { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--em-light-line); }
.elementor .prj-card .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.elementor .prj-card:hover .ph img { transform: scale(1.05); }
.elementor .prj-card .tag { position: absolute; left: 0; bottom: 0; background: var(--em-orange); color: var(--e-global-color-emzw111); font: 600 13px/1 var(--em-font); letter-spacing: .08em; text-transform: uppercase; padding: 10px 14px; }
.elementor .prj-card .txt { display: flex; flex-direction: column; flex: 1; padding: 26px 26px 24px; }
.elementor .prj-card h3 { color: var(--e-global-color-emzw111); font-size: 23px; transition: color .3s ease; }
.elementor .prj-card:hover h3 { color: var(--em-orange-deep); }
.elementor .prj-card .tx { margin-top: 10px; color: var(--em-muted); font-size: 16px; flex: 1; }
.elementor .prj-card .more { margin-top: 18px; color: var(--em-orange-deep); font-size: 15.5px; }
.elementor .prj-card:hover .more svg { transform: translateX(3px); }
.elementor .prj-nav { display: flex; align-items: center; gap: 14px; margin-top: 40px; }
.elementor .prj-dots { display: flex; gap: 12px; margin-right: auto; }
.elementor .prj-dots button { width: 10px; height: 10px; padding: 0; border: 0; background: #CFC7BA; cursor: pointer; transition: background-color .3s ease; }
.elementor .prj-dots button.is-on { background: var(--em-orange); outline: 2px solid var(--em-orange); outline-offset: 3px; }
.elementor .prj-dots button:focus-visible { outline: 2px solid var(--e-global-color-emzw111); outline-offset: 3px; }
.elementor .prj-arrows { display: flex; gap: 10px; }
.elementor .prj-arrows .elementor-icon { width: 56px; height: 56px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: var(--e-global-color-emzw111); cursor: pointer;
  box-shadow: inset 0 0 0 1.5px rgba(17,17,17,.28); transition: background-color .3s ease, color .3s ease, box-shadow .3s ease, opacity .3s ease; }
.elementor .prj-arrows .pa-prev svg { transform: rotate(180deg); }
.elementor .prj-arrows .elementor-icon:hover:not(.is-off), .elementor .prj-arrows .elementor-icon:focus-visible { background: var(--e-global-color-emzw111); color: var(--e-global-color-10d2e9b); box-shadow: inset 0 0 0 1.5px var(--e-global-color-emzw111); }
.elementor .prj-arrows .elementor-icon:focus-visible { outline: 2px solid var(--em-orange); outline-offset: 3px; }
.elementor .prj-arrows .elementor-icon.is-off { opacity: .35; cursor: default; }
.elementor .prj .btn-dark { margin-left: 14px; }
.elementor .prj-note { margin-top: 18px; font-size: 15px; color: var(--em-muted); }
@media (prefers-reduced-motion: reduce) {
  .elementor .prj-track { scroll-behavior: auto; }
}
@media (max-width: 1100px) {
  .elementor .prj-track { grid-auto-columns: calc((100% - 26px) / 2); }
  .elementor .prj-head { flex-direction: column; align-items: start; }
}
@media (max-width: 600px) {
  .elementor .prj-track { grid-auto-columns: 84%; gap: 16px; margin-right: calc(-1 * var(--em-pad)); padding-right: var(--em-pad); }
  .elementor .prj-card .txt { padding: 22px 20px 20px; }
  .elementor .prj-nav { flex-wrap: wrap; margin-top: 30px; }
  .elementor .prj .btn-dark { margin-left: 0; width: 100%; }
}
.elementor .reviews { background: var(--em-ink-2); overflow: hidden; }
.elementor .reviews::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 60% at 85% 30%, rgba(235,129,19,.10), transparent 70%); pointer-events: none; }
.elementor .rev-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 50px; }
.elementor .rev-head.rev-head { margin-bottom: 50px; }
.elementor .rev-wrap { display: grid; grid-template-columns: 330px 1fr auto; gap: 30px; align-items: stretch; }
.elementor .rev-sum { background: var(--em-ink); border: 1px solid var(--em-line); padding: 30px; display: flex; flex-direction: column; }
.elementor .rev-sum .g { display: flex; align-items: center; gap: 12px; font: 700 21px/1.2 var(--em-head); color: var(--e-global-color-10d2e9b); }
.elementor .rev-sum .g span { width: 44px; height: 44px; border-radius: 50%; background: var(--e-global-color-10d2e9b); display: grid; place-items: center; }
.elementor .rev-sum .g svg { width: 26px; height: 26px; }
.elementor .stars { display: flex; gap: 4px; color: #3A3F45; }
.elementor .stars svg { width: 20px; height: 20px; }
.elementor .rev-sum .stars { margin-top: 26px; }
.elementor .rev-sum .tx { margin-top: 10px; font-size: 15px; color: var(--em-on-muted); }
.elementor .rev-sum .btn { margin-top: auto; padding-top: 24px; }
.elementor .rev-card { position: relative; background: var(--em-ink); border: 1px solid var(--em-line); padding: 44px 48px; display: grid; grid-template-columns: 130px 1fr; gap: 40px; align-items: center; }
.elementor .rev-card .av { position: relative; width: 130px; height: 130px; border-radius: 50%; background: var(--em-ink-3); box-shadow: 0 0 0 8px var(--em-ink-2); }
.elementor .rev-card .av svg { position: absolute; right: -6px; bottom: -6px; width: 44px; height: 44px; color: var(--em-orange); }
.elementor .rev-card .stars { color: #3A3F45; }
.elementor .rev-card .lines { margin-top: 20px; gap: 13px; }
.elementor .rev-card .lines .ln { height: 11px; }
.elementor .rev-card .name { display: grid; gap: 8px; margin-top: 26px; }
.elementor .rev-card .name i { display: block; height: 12px; width: 180px; background: var(--em-ink-3); }
.elementor .rev-card .name i + i { width: 110px; height: 9px; }
.elementor .rev-dots { display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.elementor .rev-dots i { display: block; width: 10px; height: 10px; background: var(--em-line); }
.elementor .rev-dots i:first-child { background: var(--em-orange); outline: 2px solid var(--em-orange); outline-offset: 3px; }
.elementor .rev-note { margin-top: 18px; font-size: 15px; color: var(--em-on-muted); }
@media (max-width: 1100px) {
  .elementor .rev-wrap { grid-template-columns: 1fr; }
  .elementor .rev-dots { flex-direction: row; justify-content: center; }
  .elementor .rev-head { flex-direction: column; align-items: start; }
}
@media (max-width: 600px) {
  .elementor .rev-card { grid-template-columns: 1fr; padding: 30px 24px; gap: 24px; }
  .elementor .rev-card .av { width: 90px; height: 90px; }
}
.elementor .faq { background: var(--em-light); color: var(--em-text); }
.elementor .faq h2 { color: var(--e-global-color-emzw111); }
.elementor .faq-in { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 90px; align-items: start; }
.elementor .faq .side .tx { margin-top: 22px; color: var(--em-muted); font-size: 18px; max-width: 24em; }
.elementor .faq .side .tx.tx { max-width: 24em; }
.elementor .faq .side .tx + .tx { margin-top: 14px; }
.elementor .faq .side-acts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.elementor .faq details { background: var(--e-global-color-10d2e9b); border: 1px solid var(--em-light-line); margin-bottom: 12px; }
.elementor .faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 20px 20px 26px;
  font: 700 20px/1.3 var(--em-head); color: var(--e-global-color-emzw111); cursor: pointer; letter-spacing: 0; }
.elementor .faq summary::-webkit-details-marker { display: none; }
.elementor .faq summary .pm { width: 38px; height: 38px; flex: none; display: grid; place-items: center; background: var(--em-light); color: var(--e-global-color-emzw111); transition: background-color .3s ease; }
.elementor .faq summary .pm svg { transition: transform .3s ease; }
.elementor .faq details[open] summary .pm { background: var(--em-orange); }
.elementor .faq details[open] summary .pm svg { transform: rotate(45deg); }
.elementor .faq details[open] { border-color: var(--em-orange); }
.elementor .faq details .tx { padding: 0 70px 24px 26px; color: var(--em-text); }
@media (max-width: 1024px) {
  .elementor .faq-in { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  .elementor .faq details .tx { padding-right: 20px; }
}
.elementor .visit { padding-bottom: 0; overflow: hidden; }
.elementor .visit .head { display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.elementor .visit .head .tx { max-width: 26em; color: var(--em-on-muted); font-size: 18px; }
.elementor .visit .head .tx.tx { max-width: 26em; }
.elementor .vcards { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 50px; }
.elementor .vcard { background: var(--em-ink-2); border: 1px solid var(--em-line); padding: 34px 32px; }
.elementor .vcard.side { grid-column: 1; display: grid; grid-template-columns: 56px 1fr; column-gap: 24px; align-content: center; }
.elementor .vcard.side .sq { grid-row: 1 / span 3; }
.elementor .vcard.side > :not(.sq) { grid-column: 2; }
.elementor .vcard.side h3 { margin-top: 4px; }
.elementor .vcard.side .more { justify-self: start; }
.elementor .vcard.main { grid-column: 2; grid-row: 1 / span 2; }
.elementor .vcard .sq { width: 56px; height: 56px; display: grid; place-items: center; background: var(--em-orange); color: var(--e-global-color-emzw111); }
.elementor .vcard .sq svg { width: 26px; height: 26px; }
.elementor .vcard h3 { margin-top: 22px; font-size: 21px; }
.elementor .vcard .tx, .elementor .vcard address { margin-top: 10px; color: var(--em-on); font-style: normal; }
.elementor .vcard .more { margin-top: 16px; }
.elementor .hours { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 16px; }
.elementor .hours td { padding: 8px 0; border-bottom: 1px solid var(--em-line); color: var(--em-on); }
.elementor .hours td + td { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; padding-left: 14px; }
.elementor .hours tr.is-today td { color: var(--e-global-color-10d2e9b); font-weight: 600; }
.elementor .hours tr.is-today td:first-child::before { content: ""; display: inline-block; width: 6px; height: 6px; background: var(--em-orange); margin-right: 8px; vertical-align: 3px; }
.elementor .vcard .status { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 14.5px; color: var(--em-on-muted); }
.elementor .band { position: relative; margin-top: 110px; }
.elementor .band-in { position: relative; display: grid; grid-template-columns: 1fr auto 1fr;    align-items: center; gap: 30px; background: var(--em-orange); color: var(--e-global-color-emzw111); padding: 0 56px; min-height: 200px; }
.elementor .band-in::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(-45deg, rgba(0,0,0,.05) 0 2px, transparent 2px 14px); pointer-events: none; }
.elementor .band .lbl { position: relative; display: flex; align-items: center; gap: 12px; font: 600 14px/1 var(--em-font); letter-spacing: .08em; text-transform: uppercase; }
.elementor .band h2 { position: relative; color: var(--e-global-color-emzw111); font-size: clamp(26px, 2.6vw, 38px); margin-top: 14px; }
.elementor .band .logo { position: relative; width: 230px; height: 230px; margin-top: -90px; margin-bottom: -10px; border-radius: 50%; background: var(--em-ink); display: grid; place-items: center;
  box-shadow: 0 0 0 10px var(--em-orange), 0 24px 50px rgba(0,0,0,.35); animation: em-float 6s ease-in-out infinite; }
.elementor .band .logo.logo { margin-bottom: -10px; }
.elementor .band .logo img { width: auto; height: 176px; }
.elementor .band h2 .wm-name { font-size: 1em; letter-spacing: 0; color: var(--e-global-color-emzw111); }
.elementor .band .tel { position: relative; display: flex; align-items: center; gap: 16px; justify-self: end; text-decoration: none; }
.elementor .band .tel .ring { width: 72px; height: 72px; border-radius: 50%; background: var(--e-global-color-10d2e9b); color: var(--em-orange-deep); display: grid; place-items: center; box-shadow: 0 0 0 6px rgba(255,255,255,.35); }
.elementor .band .tel .ring svg { width: 30px; height: 30px; }
.elementor .band .tel .t-s { display: block; font-size: 15px; font-weight: 600; }
.elementor .band .tel .t-b { display: block; font: 800 33px/1.15 var(--em-head); letter-spacing: 0; }
.elementor .band .tel:hover .t-b { text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 1100px) {
  .elementor .vcards { grid-template-columns: 1fr 1fr; }
  .elementor .vcard.side { grid-column: auto; }
  .elementor .vcard.main { grid-column: 1 / -1; grid-row: auto; }
  .elementor .visit .head { flex-direction: column; align-items: start; }
  .elementor .band-in { grid-template-columns: 1fr; padding: 40px 36px; text-align: left; }
  .elementor .band .logo { display: none; }
  .elementor .band .tel { justify-self: start; }
}
@media (max-width: 680px) {
  .elementor .vcards { grid-template-columns: 1fr; }
  .elementor .band-in { padding: 34px 24px; }
  .elementor .band .tel .t-b { font-size: 24px; }
}
.elementor .visit { z-index: 2; }
.elementor .ftr { position: relative; z-index: 1; background: var(--e-global-color-emzwart); color: var(--em-on-muted); padding: 190px 0 0; margin-top: -100px; font-size: 16px; }
@media (max-width: 1100px) {
  .elementor .ftr { margin-top: -60px; padding-top: 140px; }
  .elementor .band { margin-top: 80px; }
}
.elementor .ftr-in { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 48px; }
.elementor .ftr .brand { padding-right: 0; margin-bottom: 18px; }
.elementor .ftr .brand.brand { margin-bottom: 18px; }
.elementor .ftr h4 { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; font: 700 20px/1 var(--em-head); color: var(--e-global-color-10d2e9b); }
.elementor .ftr h4::before { content: ""; width: 18px; height: 3px; background: var(--em-orange); }
.elementor .ftr ul.elementor-icon-list-items.elementor-icon-list-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.elementor .ftr ul.elementor-icon-list-items.elementor-icon-list-items.elementor-icon-list-items { margin-bottom: 0; }
.elementor .ftr a { text-decoration: none; transition: color .2s ease, padding-left .2s ease; }
.elementor .ftr ul.elementor-icon-list-items.elementor-icon-list-items a:hover { color: var(--em-orange); padding-left: 4px; }
.elementor .ftr-bot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 30px; margin-top: 70px; padding: 24px 0 28px; border-top: 1px solid var(--em-line); font-size: 14px; }
@media (max-width: 1024px) {
  .elementor .ftr-in { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .elementor .ftr-in { grid-template-columns: 1fr; gap: 34px; }
}

/* ══ direction 7 · pages.css — made by build/gen_css.py from design/final/pages.css; change the design, then run it again (never edit this file by hand) ══ */
.elementor .nav .is-current > button { color: var(--em-orange); }
.elementor .drop .is-current > a { color: var(--em-orange); box-shadow: inset 3px 0 0 var(--em-orange); }
.elementor .drop .is-current > a::before { content: none; }
.elementor .layer-list .is-current > button, .elementor .layer-sub .is-current > a { color: var(--em-orange); }
.elementor .phero { position: relative; overflow: hidden; background: var(--em-ink); min-height: 540px; padding: 80px 0 96px; display: flex; align-items: center; }
.elementor .phero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(55% 70% at 0% 100%, rgba(235,129,19,.09), transparent 70%); }
.elementor .phero-photo { position: absolute; top: 0; bottom: 0; right: 0; width: 46%; clip-path: polygon(120px 0, 100% 0, 100% 100%, 0 100%); }
.elementor .phero-photo img { width: 100%; height: 100%; object-fit: cover; }
.elementor .phero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,16,18,.2), rgba(14,16,18,0) 30%, rgba(14,16,18,0) 60%, rgba(14,16,18,.5)); }
.elementor .phero-stripe { position: absolute; top: 0; bottom: 0; right: 0; width: calc(46% + 30px); pointer-events: none; background: var(--em-orange);
  clip-path: polygon(136px 0, 143px 0, 23px 100%, 16px 100%); }
.elementor .phero-in { position: relative; z-index: 2; }
.elementor .phero-txt { max-width: 620px; }
.elementor .phero-txt.phero-txt { max-width: 620px; }
.elementor .phero h1 { margin-top: 22px; font-size: clamp(40px, 4.6vw, 66px); }
.elementor .phero .lead { margin-top: 20px; font-size: 19px; color: var(--em-on); max-width: 30em; }
.elementor .phero .lead.lead { max-width: 30em; }
.elementor .phero .hero-acts { margin-top: 34px; }
@media (max-width: 1100px) {
  .elementor .phero { display: block; min-height: 0; padding: 0 0 80px; }
  .elementor .phero-photo { position: relative; width: 100%; height: 320px; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 56px), 0 100%); }
  .elementor .phero-stripe { display: none; }
  .elementor .phero-in { padding-top: 30px; }
}
@media (max-width: 600px) {
  .elementor .phero { padding-bottom: 64px; }
  .elementor .phero-photo { height: 220px; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 36px), 0 100%); }
}
.elementor .ticks ul.elementor-icon-list-items.elementor-icon-list-items { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 14px; }
.elementor .ticks ul.elementor-icon-list-items.elementor-icon-list-items.elementor-icon-list-items { margin-bottom: 0; }
.elementor .ticks li.elementor-icon-list-item.elementor-icon-list-item { display: flex; align-items: start; gap: 14px; }
.elementor .ticks .elementor-icon-list-icon { width: 26px; height: 26px; flex: none; display: grid; place-items: center; background: var(--em-orange); color: var(--e-global-color-emzw111); margin-top: 1px; }
.elementor .ticks .elementor-icon-list-icon svg { width: 16px; height: 16px; }
.elementor .dt-intro-in { display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; align-items: center; }
.elementor .dt-intro .tx { margin-top: 22px; font-size: 18px; color: var(--em-on); max-width: 36em; }
.elementor .dt-intro .tx.tx { max-width: 36em; }
.elementor .dt-intro .frame .ph { aspect-ratio: 5 / 4; }
@media (max-width: 1100px) {
  .elementor .dt-intro-in { grid-template-columns: 1fr; gap: 60px; }
  .elementor .dt-intro .frame { max-width: 600px; }
  .elementor .dt-intro .frame.frame { max-width: 600px; }
}
.elementor .dt-more { padding-top: 0; }
.elementor .dt-more-in { display: grid; grid-template-columns: .95fr 1.05fr; gap: 90px; align-items: center; }
.elementor .dt-more .tx { margin-top: 22px; font-size: 18px; color: var(--em-on); max-width: 36em; }
.elementor .dt-more .tx.tx { max-width: 36em; }
.elementor .dt-more .frame { margin: 0 0 26px 26px; }
.elementor .dt-more .frame.frame { margin-bottom: 26px; }
.elementor .dt-more .frame::before { inset: 26px 26px -26px -26px; }
.elementor .dt-more .frame .ph { aspect-ratio: 5 / 4; }
.elementor .dt-note { display: flex; align-items: center; gap: 16px; margin-top: 30px; padding: 18px 22px; background: var(--em-ink-2); border-left: 3px solid var(--em-orange); max-width: 36em; }
.elementor .dt-note.dt-note { max-width: 36em; }
.elementor .dt-note svg { width: 28px; height: 28px; color: var(--em-orange); }
.elementor .dt-note .tx { margin: 0; font-size: 16.5px; color: var(--em-on-muted); }
.elementor .dt-note .tx.tx { margin-bottom: 0; }
.elementor .dt-note b { color: var(--e-global-color-10d2e9b); }
.elementor .dt-more .btn { margin-top: 30px; }
@media (max-width: 1100px) {
  .elementor .dt-more-in { grid-template-columns: 1fr; gap: 60px; }
  .elementor .dt-more .frame { order: 2; max-width: 600px; }
  .elementor .dt-more .frame.frame { max-width: 600px; }
}
.elementor .dt-incl { background: var(--em-ink-2); }
.elementor .dt-incl .head { margin-bottom: 56px; }
.elementor .dt-incl .head.head { margin-bottom: 56px; }
.elementor .dt-incl-in { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: stretch; }
.elementor .dt-photo { position: relative; min-height: 460px; overflow: hidden; }
.elementor .dt-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.elementor .dt-photo .tag { position: absolute; left: 0; bottom: 0; background: var(--em-orange); color: var(--e-global-color-emzw111); font: 600 13px/1 var(--em-font); letter-spacing: .08em; text-transform: uppercase; padding: 12px 16px; }
.elementor .dt-parts { list-style: none; margin: 0; padding: 0; display: grid; align-content: center; }
.elementor .dt-parts.dt-parts { margin-bottom: 0; }
.elementor .dt-parts .dt-part { display: grid; grid-template-columns: 92px 1fr; gap: 10px; padding: 32px 0; border-bottom: 1px solid var(--em-line); }
.elementor .dt-parts .dt-part:first-child { padding-top: 0; }
.elementor .dt-parts .dt-part:last-child { border-bottom: 0; padding-bottom: 0; }
.elementor .dt-parts .num { font: 800 54px/1 var(--em-head); color: transparent; -webkit-text-stroke: 1.5px var(--em-orange); }
.elementor .dt-parts h3 { font-size: 25px; }
.elementor .dt-parts .tx { margin-top: 10px; color: var(--em-on-muted); font-size: 17px; }
@media (max-width: 1100px) {
  .elementor .dt-incl-in { grid-template-columns: 1fr; gap: 50px; }
  .elementor .dt-photo { min-height: 340px; }
}
@media (max-width: 600px) {
  .elementor .dt-photo { min-height: 240px; }
  .elementor .dt-parts .dt-part { grid-template-columns: 64px 1fr; padding: 26px 0; }
  .elementor .dt-parts .num { font-size: 40px; }
}
.elementor .way { display: grid; grid-template-columns: repeat(4, 1fr); margin: 56px 0 0; padding: 0; }
.elementor .way.way { margin-bottom: 0; }
.elementor .way .way-i { list-style: none; position: relative; background: var(--em-ink-2); padding: 40px 32px 38px; border-left: 1px solid var(--em-line); }
.elementor .way .way-i:first-child { border-left: 0; }
.elementor .way .way-i.o { background: var(--em-orange); color: var(--e-global-color-emzw111); border-left-color: var(--em-orange); }
.elementor .way .num { display: block; font: 800 54px/1 var(--em-head); color: transparent; -webkit-text-stroke: 1.5px var(--em-orange); }
.elementor .way .way-i.o .num { -webkit-text-stroke-color: var(--e-global-color-emzw111); }
.elementor .way h3 { margin-top: 24px; font-size: 22px; }
.elementor .way .way-i.o h3 { color: var(--e-global-color-emzw111); }
.elementor .way .tx { margin-top: 10px; color: var(--em-on-muted); font-size: 16px; }
.elementor .way .way-i.o .tx { color: #2A1A08; }
@media (max-width: 1100px) {
  .elementor .way { grid-template-columns: 1fr 1fr; }
  .elementor .way .way-i:nth-child(3) { border-left: 0; }
  .elementor .way .way-i:nth-child(n+3) { border-top: 1px solid var(--em-line); }
}
@media (max-width: 600px) {
  .elementor .way { grid-template-columns: 1fr; }
  .elementor .way .way-i { border-left: 0; border-top: 1px solid var(--em-line); padding: 26px 22px; display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; }
  .elementor .way .way-i:first-child { border-top: 0; }
  .elementor .way .num { grid-row: 1 / span 2; font-size: 40px; }
  .elementor .way h3 { margin-top: 2px; }
  .elementor .way .tx { margin-top: 8px; }
}
.elementor .oth { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-top: 50px; }
.elementor .oth-card { display: grid; grid-template-columns: 56px 1fr 22px; gap: 20px; align-items: center; background: var(--em-ink-2); border: 1px solid var(--em-line); padding: 26px;
  text-decoration: none; transition: transform .35s ease, border-color .35s ease; }
.elementor .oth-card:hover, .elementor .oth-card:focus-visible { transform: translateY(-4px); border-color: var(--em-orange); }
.elementor .oth-card:focus-visible { outline: 2px solid var(--em-orange); outline-offset: 3px; }
.elementor .oth-card .sq { width: 56px; height: 56px; display: grid; place-items: center; background: var(--em-orange); color: var(--e-global-color-emzw111); }
.elementor .oth-card .sq svg { width: 26px; height: 26px; }
.elementor .oth-card h3 { font-size: 21px; transition: color .3s ease; }
.elementor .oth-card:hover h3 { color: var(--em-orange); }
.elementor .oth-card .tx { margin-top: 6px; color: var(--em-on-muted); font-size: 15.5px; line-height: 1.55; }
.elementor .oth-card > .oth-arr svg { color: var(--em-orange); transition: transform .3s ease; }
.elementor .oth-card:hover > .oth-arr svg { transform: translateX(3px); }
@media (max-width: 1100px) {
  .elementor .oth { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 600px) {
  .elementor .oth-card { grid-template-columns: 48px 1fr 20px; gap: 16px; padding: 22px 20px; }
  .elementor .oth-card .sq { width: 48px; height: 48px; }
}
.elementor .tr-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 50px; }
.elementor .tr-head.tr-head { margin-bottom: 50px; }
.elementor .tr-head .tx { max-width: 26em; color: var(--em-on-muted); font-size: 18px; }
.elementor .tr-head .tx.tx { max-width: 26em; }
.elementor .tr-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.elementor .tr-card { display: flex; flex-direction: column; background: var(--em-ink-2); border: 1px solid var(--em-line); border-top: 3px solid var(--em-orange); padding: 38px 34px 36px; }
.elementor .tr-card.o { background: var(--em-orange); border-color: var(--em-orange); color: var(--e-global-color-emzw111); }
.elementor .tr-card .sq { width: 56px; height: 56px; display: grid; place-items: center; background: var(--em-ink-3); color: var(--em-orange); }
.elementor .tr-card.o .sq { background: var(--e-global-color-emzw111); }
.elementor .tr-card .sq svg { width: 26px; height: 26px; }
.elementor .tr-card h3 { margin-top: 26px; font-size: 22px; }
.elementor .tr-card.o h3 { color: var(--e-global-color-emzw111); }
.elementor .tr-price { display: flex; align-items: baseline; gap: 10px; margin-top: 12px; padding-bottom: 22px; border-bottom: 1px solid var(--em-line); min-height: 88px; }
.elementor .tr-card.o .tr-price { border-bottom-color: rgba(0,0,0,.2); }
.elementor .tr-price .tr-amt { font: 800 66px/1 var(--em-head); color: var(--e-global-color-10d2e9b); letter-spacing: 0; }
.elementor .tr-price .tr-amt.word { font-size: 44px; align-self: flex-end; }
.elementor .tr-card.o .tr-price .tr-amt { color: var(--e-global-color-emzw111); }
.elementor .tr-price .tr-unit { font-size: 16px; color: var(--em-on-muted); }
.elementor .tr-card.o .tr-price .tr-unit { color: #2A1A08; }
.elementor .tr-card .txt { margin-top: 20px; color: var(--em-on-muted); font-size: 16.5px; }
.elementor .tr-card.o .txt { color: #2A1A08; }
.elementor .tr-fair { background: var(--em-light); color: var(--em-text); }
.elementor .tr-fair h2 { color: var(--e-global-color-emzw111); }
.elementor .tr-fair-in { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: start; }
.elementor .tr-fair-in > div > .tx { margin-top: 22px; color: var(--em-muted); font-size: 18px; max-width: 26em; }
.elementor .tr-fair-in > div > .tx.tx { max-width: 26em; }
.elementor .tr-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.elementor .tr-list.tr-list { margin-bottom: 0; }
.elementor .tr-list .tr-li { display: grid; grid-template-columns: 56px 1fr; gap: 22px; align-items: start; background: var(--e-global-color-10d2e9b); border: 1px solid var(--em-light-line); padding: 26px 28px; }
.elementor .tr-list .sq { width: 56px; height: 56px; display: grid; place-items: center; background: var(--em-orange); color: var(--e-global-color-emzw111); }
.elementor .tr-list .sq svg { width: 26px; height: 26px; }
.elementor .tr-list h3 { color: var(--e-global-color-emzw111); font-size: 21px; }
.elementor .tr-list .tx { margin-top: 6px; color: var(--em-muted); font-size: 16px; }
.elementor .tr-cta .vcards .vcard.side { grid-column: auto; }
@media (max-width: 1100px) {
  .elementor .tr-cards { grid-template-columns: 1fr; max-width: 560px; }
  .elementor .tr-cards.tr-cards { max-width: 560px; }
  .elementor .tr-head { flex-direction: column; align-items: start; }
  .elementor .tr-fair-in { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  .elementor .tr-card { padding: 30px 24px; }
  .elementor .tr-price .tr-amt { font-size: 56px; }
  .elementor .tr-price .tr-amt.word { font-size: 38px; }
  .elementor .tr-list .tr-li { grid-template-columns: 48px 1fr; gap: 16px; padding: 22px 20px; }
  .elementor .tr-list .sq { width: 48px; height: 48px; }
}
.elementor .prj-page .prj-head { margin-bottom: 34px; }
.elementor .prj-page .prj-head.prj-head { margin-bottom: 34px; }
.elementor .prj-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.elementor .prj-filter.prj-filter { margin-bottom: 36px; }
.elementor .prj-filter button { display: inline-flex; align-items: center; gap: 8px; padding: 14px 20px; font: 600 15px/1 var(--em-font); color: var(--e-global-color-emzw111); background: var(--e-global-color-10d2e9b); border: 1px solid var(--em-light-line);
  cursor: pointer; transition: background-color .25s ease, border-color .25s ease, color .25s ease; }
.elementor .prj-filter button small { font-size: 13px; font-weight: 500; color: var(--em-muted); }
.elementor .prj-filter button:hover { border-color: var(--e-global-color-emzw111); }
.elementor .prj-filter button[aria-pressed="true"] { background: var(--em-orange); border-color: var(--em-orange); }
.elementor .prj-filter button[aria-pressed="true"] small { color: #2A1A08; }
.elementor .prj-filter button:focus-visible { outline: 2px solid var(--e-global-color-emzw111); outline-offset: 3px; }
.elementor .prj-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.elementor .prj-grid .prj-card { animation: em-prj-in .45s ease backwards; }
.elementor .prj-grid .prj-card[hidden] { display: none; }
@keyframes em-prj-in { from { opacity: 0; transform: translateY(10px); } }
.elementor .ba-sec { background: var(--em-ink-2); }
.elementor .ba-in { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; }
.elementor .ba-in .tx { margin-top: 22px; color: var(--em-on); font-size: 18px; max-width: 30em; }
.elementor .ba-in .tx.tx { max-width: 30em; }
.elementor .ba-in .tx.ba-note { margin-top: 16px; font-size: 15px; color: var(--em-on-muted); }
.elementor .ba { --pos: 50%; position: relative; aspect-ratio: 4 / 3; overflow: hidden; user-select: none; border: 1px solid var(--em-line); }
.elementor .ba:has(input:focus-visible) { outline: 2px solid var(--em-orange); outline-offset: 4px; }
.elementor .ba-after, .elementor .ba-before { position: absolute; inset: 0; }
.elementor .ba-after img { width: 100%; height: 100%; object-fit: cover; }
.elementor .ba-before { clip-path: inset(0 calc(100% - var(--pos)) 0 0); background: repeating-linear-gradient(-45deg, #1C2024 0 14px, #171A1E 14px 28px); }
.elementor .ba-ph { position: absolute; top: 0; bottom: 0; left: 0; width: 50%; display: grid; place-content: center; justify-items: center; gap: 12px; color: var(--em-on-muted); text-align: center; padding: 0 16px; }
.elementor .ba-ph svg { width: 46px; height: 46px; color: var(--em-orange); }
.elementor .ba-ph .ba-ph-t { font: 700 20px/1.2 var(--em-head); color: var(--e-global-color-10d2e9b); }
.elementor .ba-tag { position: absolute; left: 0; top: 0; background: var(--e-global-color-emzw111); color: var(--e-global-color-10d2e9b); font: 600 13px/1 var(--em-font); letter-spacing: .08em; text-transform: uppercase; padding: 10px 14px; }
.elementor .ba-tag-r { left: auto; right: 0; background: var(--em-orange); color: var(--e-global-color-emzw111); }
.elementor .ba-line { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; margin-left: -1.5px; background: var(--em-orange); pointer-events: none; }
.elementor .ba-line i { position: absolute; left: 50%; top: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%; background: var(--em-orange); box-shadow: 0 6px 18px rgba(0,0,0,.45);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; background-size: 24px; }
.elementor .ba input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
@media (max-width: 1100px) {
  .elementor .prj-grid { grid-template-columns: 1fr 1fr; }
  .elementor .ba-in { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  .elementor .prj-grid { grid-template-columns: 1fr; gap: 18px; }
  .elementor .prj-filter { gap: 8px; }
  .elementor .prj-filter button { padding: 12px 14px; font-size: 14.5px; }
}
.elementor .ct-in { display: grid; grid-template-columns: 5fr 7fr; gap: 40px; align-items: start; }
.elementor .ct-info { display: grid; gap: 18px; }
.elementor .ct-info .vcard { grid-column: auto; grid-row: auto; }
.elementor .ct-info .vcard.side { padding: 26px 28px; }
.elementor .ct-info .vcard .big { display: block; margin-top: 6px; font: 800 27px/1.2 var(--em-head); color: var(--e-global-color-10d2e9b); text-decoration: none; }
.elementor .ct-info .vcard .big:hover { color: var(--em-orange); }
.elementor .ct-info .vcard.main h3 { margin-top: 18px; }
.elementor .ct-info .vcard.main .post { margin-top: 18px; font-size: 14.5px; color: var(--em-on-muted); }
.elementor .ct-nood { display: flex; align-items: center; gap: 18px; background: var(--em-orange); color: var(--e-global-color-emzw111); padding: 20px 26px; text-decoration: none; position: relative; overflow: hidden; }
.elementor .ct-nood::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(-45deg, rgba(0,0,0,.05) 0 2px, transparent 2px 14px); pointer-events: none; }
.elementor .ct-nood .sq { position: relative; width: 52px; height: 52px; flex: none; display: grid; place-items: center; background: var(--e-global-color-emzw111); color: var(--em-orange); }
.elementor .ct-nood .sq svg { width: 24px; height: 24px; }
.elementor .ct-nood > .ct-nood-t { position: relative; }
.elementor .ct-nood small { display: block; font: 600 13.5px/1 var(--em-font); letter-spacing: .08em; text-transform: uppercase; }
.elementor .ct-nood b { display: block; margin-top: 6px; font: 800 23px/1.2 var(--em-head); }
.elementor .ct-nood:hover b { text-decoration: underline; text-underline-offset: 4px; }
.elementor .ct-nood .nw { white-space: nowrap; }
.elementor .ct-form { background: var(--em-light); color: var(--em-text); padding: 46px 48px 44px; border-top: 3px solid var(--em-orange); }
.elementor .ct-form h2 { color: var(--e-global-color-emzw111); font-size: clamp(30px, 2.8vw, 40px); }
.elementor .ct-form .ct-lead { margin-top: 14px; color: var(--em-muted); font-size: 17px; }
.elementor .ct-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 22px; margin-top: 30px; }
.elementor .ct-fields .full { grid-column: 1 / -1; }
.elementor .ct-fields label { display: block; font: 600 14.5px/1.3 var(--em-font); color: var(--e-global-color-emzw111); }
.elementor .ct-fields label small { font-weight: 400; color: var(--em-muted); }
.elementor .ct-fields input, .elementor .ct-fields select, .elementor .ct-fields textarea { display: block; width: 100%; margin-top: 8px; padding: 14px 16px; font: 400 16px/1.4 var(--em-font); color: var(--em-text);
  background: var(--e-global-color-10d2e9b); border: 1px solid var(--em-light-line); border-radius: 0; transition: border-color .25s ease, box-shadow .25s ease; }
.elementor .ct-fields select { appearance: none; padding-right: 44px; background: var(--e-global-color-10d2e9b) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center / 16px no-repeat; }
.elementor .ct-fields textarea { min-height: 150px; resize: vertical; }
.elementor .ct-fields input:focus, .elementor .ct-fields select:focus, .elementor .ct-fields textarea:focus { outline: none; border-color: var(--em-orange); box-shadow: 0 0 0 3px rgba(235,129,19,.18); }
.elementor .ct-agree { display: flex; align-items: flex-start; gap: 12px; margin-top: 26px; font-size: 15.5px; line-height: 1.5; color: var(--em-text); cursor: pointer; }
.elementor .ct-agree input { -webkit-appearance: none; appearance: none; flex: none; width: 22px; height: 22px; margin: 0; background: var(--e-global-color-10d2e9b); border: 1.5px solid #B9B0A2; border-radius: 0;
  cursor: pointer; transition: background-color .2s ease, border-color .2s ease; }
.elementor .ct-agree input:hover { border-color: var(--e-global-color-emzw111); }
.elementor .ct-agree input:checked { border-color: var(--em-orange); background: var(--em-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 15px no-repeat; }
.elementor .ct-agree input:focus-visible { outline: 2px solid var(--em-orange); outline-offset: 3px; }
.elementor .ct-agree a { color: var(--em-orange-deep); font-weight: 600; text-underline-offset: 3px; }
.elementor .ct-agree a:hover { color: var(--e-global-color-emzw111); }
.elementor .ct-send { display: flex; align-items: center; margin-top: 28px; }
.elementor .ct-send .btn { border: 0; padding: 0; cursor: pointer; background: none; }
.elementor .ct-form .note { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--em-light-line); font-size: 14px; color: var(--em-muted); }
.elementor .ct-map-wrap { position: relative; margin-top: 60px; }
.elementor .ct-map { position: relative; display: block; text-decoration: none; border: 1px solid var(--em-line); }
.elementor .ct-map:focus-visible { outline: 2px solid var(--em-orange); outline-offset: 4px; }
.elementor .ct-map-img { position: relative; display: block; height: 460px; overflow: hidden; background: var(--em-ink-2); }
.elementor .ct-map-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; transition: transform 1.2s ease; }
.elementor .ct-map:hover .ct-map-img img { transform: scale(1.03); }
.elementor .ct-dot { position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--em-orange); box-shadow: 0 0 0 4px rgba(235,129,19,.25); }
.elementor .ct-dot.ct-dot { margin-bottom: 0; }
.elementor .ct-dot::after { content: ""; position: absolute; inset: -12px; border-radius: 50%; border: 2px solid var(--em-orange); opacity: 0; animation: em-ct-ping 3s ease-out infinite; }
@keyframes em-ct-ping { 0% { transform: scale(.35); opacity: .8; } 100% { transform: scale(1.6); opacity: 0; } }
.elementor .ct-pin { position: absolute; left: 50%; top: 50%; width: 54px; height: 54px; margin: -65px 0 0 -27px;   
  display: grid; place-items: center; background: var(--em-orange); color: var(--e-global-color-emzw111); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 12px 26px rgba(0,0,0,.55); }
.elementor .ct-pin.ct-pin { margin-bottom: 0; }
.elementor .ct-pin svg { width: 24px; height: 24px; transform: rotate(45deg); }
.elementor .ct-map-card { display: block; position: absolute; left: 32px; top: 50%; transform: translateY(-50%); width: 300px; background: rgba(14,16,18,.92); border-top: 3px solid var(--em-orange); padding: 24px 26px; box-shadow: 0 20px 40px rgba(0,0,0,.45); }
.elementor .ct-map-card .mc-s { display: block; font: 600 13px/1 var(--em-font); letter-spacing: .1em; text-transform: uppercase; color: var(--em-orange); }
.elementor .ct-map-card .mc-b { display: block; margin-top: 10px; font: 700 23px/1.25 var(--em-head); color: var(--e-global-color-10d2e9b); }
.elementor .ct-map-card .more { margin-top: 14px; font-size: 15.5px; }
.elementor .ct-map:hover .ct-map-card .more svg { transform: translateX(3px); }
.elementor .ct-credit { position: absolute; right: 1px; bottom: 1px; background: rgba(14,16,18,.85); color: var(--em-on-muted); font-size: 12px; line-height: 1; padding: 6px 10px; text-decoration: none; }
.elementor .ct-credit:hover { color: var(--e-global-color-10d2e9b); }
@media (max-width: 1100px) {
  .elementor .ct-in { grid-template-columns: 1fr; }
  .elementor .ct-map-img { height: 380px; }
}
@media (max-width: 600px) {
  .elementor .ct-map-wrap { margin-top: 40px; }
  .elementor .ct-map-img { height: 300px; }
  .elementor .ct-map-card { position: static; transform: none; width: auto; box-shadow: none; background: var(--em-ink-2); }
  .elementor .ct-credit { bottom: auto; top: 271px; }
}
@media (max-width: 600px) {
  .elementor .ct-form { padding: 32px 22px 30px; }
  .elementor .ct-fields { grid-template-columns: 1fr; }
  .elementor .ct-send .btn { width: 100%; }
  .elementor .ct-info .vcard.side { padding: 22px 20px; }
  .elementor .ct-nood { padding: 18px 20px; gap: 14px; }
  .elementor .ct-nood .sq { width: 46px; height: 46px; }
  .elementor .ct-nood b { font-size: 19px; }
}

/* ══ 30 · Elementor's own markup made to behave like direction 7's plain HTML (every page). Hand-written; gen_css.py
   writes 20–21, this file is read by gen_kit.py after them. ══ */

/* Boxes size like 7's blocks: Elementor gives every box 100 % width — in a row that shares the room out instead of
   fitting the content; on a phone it lets every box wrap (a column box then grows to its widest content). */
.em.e-con.e-flex, .em .e-con.e-flex { --width: auto; --flex-wrap-mobile: nowrap; }
.em.e-con, .em .e-con { min-width: auto; }
/* the shared blocks' holders: no room of their own */
.elementor .em-holder { padding: 0; }

/* The site's script sits in an HTML widget in the header — no room of its own */
.elementor .em-script { display: none; }

/* Photos that fill their frame (7: img { width / height 100 %; object-fit: cover }) — the Image widget fills too */
.em .cover, .em .cover > .elementor-widget-container { width: 100%; height: 100%; }
.em .cover img { width: 100%; height: 100%; object-fit: cover; }
.em .elementor-widget-image.fill { position: absolute; inset: 0; }

/* Icon widgets: the svg follows the box's colour; 7's rules size it */
.elementor .em .elementor-widget-icon .elementor-icon, .elementor .em.elementor-widget-icon .elementor-icon { font-size: 20px; color: inherit; line-height: 0; }
.em .elementor-icon-wrapper { line-height: 0; text-align: left; }   /* 7's icons sit at the start of their block */
.em .elementor-icon svg { display: block; }

/* Icon List as 7's lists: no Elementor spacing, the icon and text side by side as 7 sets them */
.em :where(.elementor-icon-list-items .elementor-icon-list-item) { margin: 0; padding: 0; word-break: normal; }
.em .elementor-icon-list-item::after { content: none; }
.em .elementor-icon-list-icon { padding: 0; margin: 0; }
.em .elementor-icon-list-items .elementor-icon-list-icon svg { margin: 0; flex: none; }
.em .elementor-icon-list-items .elementor-icon-list-text { padding: 0; color: inherit; transition: none; }
.em .elementor-icon-list-item > a { color: inherit; }
.em .elementor-widget-icon-list .elementor-icon-list-icon svg { width: 20px; height: 20px; }

/* 7's three short orange bars under a heading: one empty box, drawn here */
.elementor .dash { width: 78px; height: 3px; margin-top: 22px; background: repeating-linear-gradient(90deg, var(--e-global-color-primary) 0 22px, transparent 22px 28px); }
.elementor .center .dash { margin-inline: auto; }

/* 7's text link with an arrow (.more): a Heading (span) — the arrow is drawn after its words */
.elementor .more .elementor-heading-title, .elementor .card .bar .elementor-heading-title { display: inline-flex; align-items: center; gap: 8px; }
.elementor .more .elementor-heading-title::after, .elementor .card .bar .elementor-heading-title::after {
  content: ""; flex: none; width: 18px; height: 18px; background: currentColor; transition: transform .3s ease;
  -webkit-mask: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%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' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
.elementor .more-route .elementor-heading-title::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l19-9-9 19-2-8-8-2z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l19-9-9 19-2-8-8-2z'/%3E%3C/svg%3E"); }
.elementor .card .bar .elementor-heading-title { gap: 10px; }
.elementor .card .bar .elementor-heading-title::after { width: 20px; height: 20px; }
.elementor .more:hover .elementor-heading-title::after, .elementor .more a:focus-visible::after,
.elementor :is(.hero-card, .prj-card):is(:hover, :focus-visible) .more .elementor-heading-title::after { transform: translateX(3px); }

/* 7's kicker is inline-flex on the body's 1.7 line (17 px text → a 29 px line, the words 11 px down); as a widget it is
   a block of its own — the same room here */
.em .kicker.elementor-widget { min-height: 29px; align-items: flex-end; padding-bottom: 3px; }

/* Read by screen readers, not seen */
.em .em-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* the stand-in photo's label (rule: a stock photo is marked "Voorbeeldfoto" on the page) */
.elementor .vb-tag { position: absolute; top: 18px; right: 18px; z-index: 2; padding: 7px 10px; background: rgba(14, 16, 18, .72);
  color: var(--e-global-color-text); font: 600 11.5px/1 var(--e-global-typography-text-font-family), Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }

/* ══ 31 · direction 7's split buttons, the header, the phone menu (Elementor popup), the call band and the footer —
   the parts whose Elementor markup differs too much for gen_css.py. Numbers from design/final/7.css. ══ */

/* ── buttons: the words on the colour + the icon in its own square (7: .btn > span + .btn > i) ── */
.elementor .btn .elementor-button { display: inline-flex; align-items: stretch; min-height: 56px; padding: 0; border: 0 !important; border-radius: 0;
  background: transparent !important; box-shadow: none; font: 600 15.5px/1 var(--em-font); letter-spacing: .02em; color: inherit; fill: currentColor; }
.elementor .btn .elementor-button-content-wrapper { display: flex; flex-direction: row-reverse; align-items: stretch; gap: 0; }
.elementor .btn .elementor-button-text { display: flex; align-items: center; padding: 0 26px; transition: background-color .3s ease, box-shadow .3s ease; }
.elementor .btn .elementor-button-icon { display: grid; place-items: center; width: 56px; flex: none; margin: 0; font-size: 20px;
  background: var(--em-line); color: var(--e-global-color-10d2e9b); transition: background-color .3s ease, color .3s ease; }
.elementor .btn .elementor-button-icon svg { width: 20px; height: 20px; transition: transform .35s ease; }
.elementor .btn .elementor-button:is(:hover, :focus-visible) .elementor-button-icon { background: var(--e-global-color-10d2e9b); color: var(--em-orange-deep); }
.elementor .btn .elementor-button:is(:hover, :focus-visible) .elementor-button-icon svg { transform: rotate(-12deg) scale(1.08); }
.elementor .btn-go .elementor-button:is(:hover, :focus-visible) .elementor-button-icon svg { transform: translateX(3px); }
.elementor .btn .elementor-button:focus-visible { outline: 2px solid var(--em-orange); outline-offset: 3px; }
.elementor .btn-orange .elementor-button-text { background: var(--em-orange); color: var(--e-global-color-emzw111); }
.elementor .btn-orange .elementor-button:hover .elementor-button-text { background: var(--em-orange-hi); }
.elementor .btn-ghost .elementor-button-text { box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); color: var(--e-global-color-10d2e9b); }
.elementor .btn-ghost .elementor-button:hover .elementor-button-text { box-shadow: inset 0 0 0 1.5px var(--e-global-color-10d2e9b); }
.elementor .btn-dark .elementor-button-text { background: var(--em-ink); color: var(--e-global-color-10d2e9b); }
.elementor .btn-dark .elementor-button-icon { background: var(--em-orange); color: var(--e-global-color-emzw111); }
.elementor .btn-dark .elementor-button:hover .elementor-button-icon { background: var(--e-global-color-10d2e9b); }
.elementor :is(.prj, .faq .side) .btn-dark .elementor-button-text { background: var(--e-global-color-emzw111); }
/* the quiet second button on a light section: only a border */
.elementor .btn-line .elementor-button { box-shadow: inset 0 0 0 1.5px rgba(17, 17, 17, .28); transition: box-shadow .3s ease; }
.elementor .btn-line .elementor-button-text { color: var(--e-global-color-emzw111); }
.elementor .btn-line .elementor-button-icon { background: transparent; color: var(--e-global-color-emzw111); box-shadow: inset 1.5px 0 0 rgba(17, 17, 17, .28); }
.elementor .btn-line .elementor-button:is(:hover, :focus-visible) { box-shadow: inset 0 0 0 1.5px var(--e-global-color-emzw111); }
.elementor .btn-line .elementor-button:is(:hover, :focus-visible) .elementor-button-icon { background: var(--e-global-color-emzw111); color: var(--e-global-color-10d2e9b); }

/* ── info bar ── */
.elementor .info .elementor-icon-list-item, .elementor .info .elementor-icon-list-item > a { display: inline-flex; align-items: center; gap: 9px; }
.elementor .info .elementor-icon-list-item > a:hover { color: var(--em-orange); }

/* ── header bar ── */
.elementor .brand-logo { flex: none; }
.elementor .nav { gap: 2px; }
.elementor .has-drop { display: flex; align-items: center; }
.elementor .drop-t .elementor-icon-list-icon { order: 2; }
/* "Diensten" = the link to the overview + the arrow, a button the script makes (his words 2026-10-30): the item keeps
   7's look (its padding and colour), the link and the button inside it add nothing of their own */
.elementor .nav .drop-t li.elementor-icon-list-item.elementor-icon-list-item > a { padding: 0; color: inherit; }
.elementor :is(.drop-t, .sub-t) .sub-btn.sub-btn, .elementor :is(.drop-t, .sub-t) .sub-btn.sub-btn:is(:hover, :focus) { display: inline-flex;
  align-items: center; justify-content: center; order: 2; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none;
  box-shadow: none; color: inherit; font: inherit; line-height: 0; cursor: pointer; }
.elementor :is(.drop-t, .sub-t) .sub-btn.sub-btn:focus-visible, .elementor :is(.drop-t, .sub-t) a:focus-visible { outline: 2px solid var(--em-orange); outline-offset: 2px; }
.elementor .drop { z-index: 5; }
/* (the weight of gen_css.py's list rules: 7's ".nav > ul" row must not reach the dropdown's own list) */
.elementor .drop ul.elementor-icon-list-items.elementor-icon-list-items { display: block; }
.elementor .drop li.elementor-icon-list-item.elementor-icon-list-item { display: block; }
/* the current page in the menu (the script marks it): "Diensten" orange when on one of the four */
.elementor .nav .has-drop.is-current .drop-t .elementor-icon-list-item { color: var(--em-orange); }
.elementor .drop .is-current > a { box-shadow: inset 3px 0 0 var(--em-orange); background: var(--em-ink-3); }
.elementor .drop .is-current > a::before { content: none; }
/* the round / square icon buttons: the link fills the shape */
.elementor :is(.icon-btn, .ring, .sq, .icon, .pa) :is(.elementor-widget-container, .elementor-icon-wrapper),
.elementor :is(.icon-btn, .ring, .sq, .icon, .pa) .elementor-icon { width: 100%; height: 100%; display: grid; place-items: center; }
.elementor .icon-btn { padding: 0; }

/* ── phone menu (Elementor popup sync_menu; 7: .layer) ── */
.elementor .layer-pop { position: relative; min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; padding: 18px var(--em-pad) 28px;
  background: var(--em-ink); color: var(--e-global-color-10d2e9b); overflow: hidden; }
.elementor .layer-pop .brand { padding-right: 0; }
.elementor .layer-pop .brand img { height: 56px; }
.elementor .layer-list :is(.ll, .layer-sub) ul.elementor-icon-list-items.elementor-icon-list-items { display: block; }
.elementor .layer-list .sub-t .elementor-icon-list-icon { order: 2; }
.elementor .layer-list .ll-sub.is-open .sub-t svg { transform: rotate(180deg); }
/* the phone menu's "Diensten": the word = the link (the row's full size and font stay the item's), the arrow = a button
   with a finger-sized area */
.elementor .layer-list .sub-t li.elementor-icon-list-item.elementor-icon-list-item { cursor: default; }
.elementor .layer-list .sub-t li.elementor-icon-list-item.elementor-icon-list-item > a { flex: 1; width: auto; padding: 0; font: inherit; }
.elementor .layer-list .sub-t .sub-btn.sub-btn { margin: -10px -10px -10px 0; padding: 10px; }
.elementor .layer-pop .btn .elementor-button, .elementor .layer-pop .btn .elementor-button-content-wrapper { display: flex; width: 100%; }
.elementor .layer-pop .btn .elementor-button-text { flex: 1; justify-content: center; }
.elementor .layer-foot .elementor-icon-list-items { display: grid; gap: 12px; }
.em-menu-popup .dialog-widget-content { box-shadow: none; }

/* ── call band (sync_cta) ── */
.elementor .band .lbl::before { content: ""; flex: none; width: 50px; height: 3px; transform: skewX(-30deg);
  background: repeating-linear-gradient(90deg, var(--e-global-color-emzw111) 0 14px, transparent 14px 18px); }
.elementor .band .logo img { width: auto; }

/* ── footer ── */
.elementor .ftr-adr { margin-top: 10px; }
.elementor .ftr-legal .elementor-nav-menu { display: flex; flex-wrap: wrap; gap: 6px 24px; }
.elementor .ftr-legal .elementor-nav-menu a.elementor-item { padding: 0; color: inherit; font: inherit; }
.elementor .ftr-legal .elementor-nav-menu a.elementor-item:hover { color: var(--em-orange); }
.elementor .ftr-bot .tx, .elementor .ftr-legal { font-size: 14px; }

/* ══ 32 · the home's parts that Elementor builds differently (hand-written, numbers from design/final/7.css) ══ */

/* hero: the gear icon fills its box; the about quote sits 34 px under the bars (7: inline style) */
.elementor .gear .elementor-widget-icon, .elementor .gear :is(.elementor-widget-container, .elementor-icon-wrapper, .elementor-icon) { width: 100%; height: 100%; display: block; }
.elementor .gear .elementor-icon svg { width: 100%; height: 100%; }
.elementor .about .bq { margin-top: 34px; }
.elementor .about .bq svg { display: block; }
.elementor .shot .quote svg { display: block; }

/* the tapes' diamond after each word (7: <i> in the span) */
.em .tape .elementor-icon-list-item::after { content: ""; position: static; display: block; border: 0; }
.elementor .tape .elementor-icon-list-items { flex-wrap: nowrap; }

/* the projects slider's arrows: a link in a square (the script turns them off at the ends) */
.elementor .prj-arrows .elementor-icon { width: 56px; height: 56px; }
.elementor .prj-arrows .elementor-icon svg { width: 20px; height: 20px; }

/* the slider's dots: the script makes plain buttons — Site Settings' button look off them */
.em .prj-dots button { min-height: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; }

/* the "Bekijk dienst" bar under a service card: its words + arrow in the middle of the bar, both ways (7: centred) */
.elementor .card .bar > .elementor-widget-container { display: flex; justify-content: center; align-items: center; width: 100%; }

/* the opening hours: no table lines or striped rows from the theme — only 7's line under each day */
.em .hours :is(td, th) { border-width: 0 0 1px; background: transparent; }
.em .hours tr:nth-child(odd) > :is(td, th), .em .hours tbody > tr:nth-child(odd) > td { background: transparent; }

/* the reviews: Trustindex's widget gets the room; the note under it */
.elementor .rev-ti { margin-top: 10px; }

/* ── FAQ: Elementor's Accordion (the base's FAQ widget) as 7's questions (7: details > summary + .pm + p) ── */
.em .qas .elementor-accordion-item { background: var(--e-global-color-10d2e9b); border: 1px solid var(--em-light-line); margin-bottom: 12px; transition: border-color .3s ease; }
.em .qas .elementor-accordion-item:has(.elementor-active) { border-color: var(--em-orange); }
.em .qas .elementor-accordion .elementor-tab-title { display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 20px 20px 20px 26px; border: 0; font: 700 20px/1.3 var(--em-head); letter-spacing: 0; color: var(--e-global-color-emzw111); cursor: pointer; }
.em .qas .elementor-accordion-title { color: inherit; font: inherit; letter-spacing: inherit; }
.em .qas .elementor-tab-title .elementor-accordion-icon { order: 2; flex: none; float: none; width: 38px; height: 38px; display: grid;
  place-items: center; margin: 0; background: var(--em-light); color: var(--e-global-color-emzw111); line-height: 0; text-align: center;
  transition: background-color .3s ease; }
.em .qas .elementor-tab-title .elementor-accordion-icon svg { display: block; width: 20px; height: 20px; fill: none; transition: transform .3s ease; }
.em .qas .elementor-tab-title.elementor-active .elementor-accordion-icon { background: var(--em-orange); }
.em .qas .elementor-tab-title.elementor-active .elementor-accordion-icon svg { transform: rotate(45deg); }   /* the plus turns into a cross */
.em .qas .elementor-accordion .elementor-tab-content { padding: 0 70px 24px 26px; border: 0; color: var(--em-text); }
.em .qas .elementor-tab-content p { margin: 0; }
@media (max-width: 600px) { .em .qas .elementor-accordion .elementor-tab-content { padding-right: 20px; } }

/* ══ 33 · the inner pages' parts that Elementor builds differently (hand-written, numbers from design/final/pages.css) ══ */

/* the breadcrumb: a Text Editor with an <ol> (7: nav.crumbs > a · i · span); the small orange diamond between the steps */
.em .crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 14.5px; color: var(--em-on-muted); }
.em .crumbs li { display: flex; align-items: center; gap: 12px; }
.em .crumbs li + li::before { content: ""; flex: none; width: 6px; height: 6px; background: var(--em-orange); transform: rotate(45deg); }
.em .crumbs a { transition: color .25s ease; }
.em .crumbs a:hover { color: var(--em-orange); }
.em .crumbs [aria-current] { color: var(--em-orange); }

/* ── the base pages (Privacy · Cookiebeleid · Schrijf een review): sync_hero_slim = the page hero without photo or
   buttons, then their own text on light (like 7's FAQ section) ── */
.elementor .phero.phero-slim { display: block; min-height: 0; padding: 76px 0 70px; }
.elementor .phero-slim .phero-in { padding-top: 0; }
.elementor .phero-slim h1 { margin-top: 18px; }
.em .crumbs-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 14.5px; color: var(--em-on-muted); }
.em .crumbs-row .cr-i a { transition: color .25s ease; }
.em .crumbs-row .cr-i a:hover { color: var(--em-orange); }
.em .crumbs-row .cr-now { display: flex; align-items: center; gap: 12px; color: var(--em-orange); }
.em .crumbs-row .cr-now::before { content: ""; flex: none; width: 6px; height: 6px; background: var(--em-orange); transform: rotate(45deg); }
@media (max-width: 1100px) { .elementor .phero.phero-slim { padding: 56px 0 52px; } }
.elementor .legal { background: var(--em-light); color: var(--em-text); }
.elementor .legal-in { max-width: 860px; font-size: 17px; }
.elementor .legal-in:has(.review-gate) { max-width: none; }   /* the review card centres itself on the page */
.em .legal-in .elementor-widget-text-editor :is(h1, h2, h3, h4) { margin: 1.7em 0 .55em; color: var(--e-global-color-emzw111); font-family: var(--em-head); line-height: 1.2; }
.em .legal-in .elementor-widget-text-editor h2 { font-size: 28px; }
.em .legal-in .elementor-widget-text-editor :is(h3, h4) { font-size: 21px; }
.em .legal-in .elementor-widget-text-editor :is(p, ul, ol, table) { margin: 0 0 1em; }
.em .legal-in .elementor-widget-text-editor :is(ul, ol) { padding-left: 1.3em; }
.em .legal-in .elementor-widget-text-editor ul { list-style: square; }
.em .legal-in .elementor-widget-text-editor ol { list-style: decimal; }
.em .legal-in .elementor-widget-text-editor li::marker { color: var(--em-orange); }
.em .legal-in .elementor-widget-text-editor :is(b, strong) { color: var(--e-global-color-emzw111); }
.em .legal-in .elementor-widget-text-editor a { color: var(--em-orange-deep); text-decoration: underline; text-underline-offset: 3px; background: none; }
.em .legal-in .elementor-widget-text-editor a:hover { color: var(--e-global-color-emzw111); }
.em .legal-in .elementor-widget-text-editor :is(h1, h2, h3):first-child { margin-top: 0; }

/* the note's wrench, the other-services arrow: the icon box keeps its own size in the row */
.elementor .dt-note .dt-ic, .elementor .oth-card .oth-arr { flex: none; }

/* ── Projecten: the filter's buttons (made by the script) without the theme's own button look (rounded, pink on
   hover / focus) — 7's hover only darkens the border; the chosen one stays orange ── */
.elementor .prj-filter button { border-radius: 0; }
.elementor .prj-filter button:is(:hover, :focus):not([aria-pressed="true"]) { background: var(--e-global-color-10d2e9b); color: var(--e-global-color-emzw111); }
.elementor .prj-filter button[aria-pressed="true"]:is(:hover, :focus) { background: var(--em-orange); color: var(--e-global-color-emzw111); }

/* ── Contact: the map's route arrow moves when the map is pointed at; the map card is not a link of its own ── */
.elementor .ct-map:is(:hover, :focus-visible) .more .elementor-heading-title::after { transform: translateX(3px); }
.elementor .ct-pin .elementor-widget-container, .elementor .ct-pin .elementor-icon-wrapper { line-height: 0; }

/* ── Contact: the WPStack Forms form in the design's look (pages.css .ct-fields / .ct-agree / .ct-send) — Forms prints
   its own markup (.wpsf-…); its own form.css is the plain base underneath ── */
.em .ct-form .wpsf-form-wrap { max-width: none; margin-top: 30px; }
.em .ct-form .wpsf-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 22px; }
.em .ct-form .wpsf-field { display: block; flex: none; max-width: none; min-width: 0; }
.em .ct-form :is(.wpsf-field--full, .wpsf-field[data-field-type="checkbox"], .wpsf-submit-row) { grid-column: 1 / -1; }
.em .ct-form .wpsf-field > label { display: block; font: 600 14.5px/1.3 var(--em-font); color: var(--e-global-color-emzw111); }
.em .ct-form .wpsf-required { display: none; }   /* 7 marks the optional fields ("niet verplicht") instead */
.em .ct-form .wpsf-field :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
  display: block; width: 100%; height: auto; min-height: 0; margin: 8px 0 0; padding: 14px 16px; font: 400 16px/1.4 var(--em-font);
  color: var(--em-text); background-color: var(--e-global-color-10d2e9b); border: 1px solid var(--em-light-line); border-radius: 0;
  box-shadow: none; transition: border-color .25s ease, box-shadow .25s ease; }
.em .ct-form .wpsf-field[data-field-type] select { appearance: none; -webkit-appearance: none; padding-right: 44px;
  background: var(--e-global-color-10d2e9b) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center / 16px no-repeat; }
.em .ct-form .wpsf-field[data-field-type] textarea { min-height: 150px; resize: vertical; }   /* (outweighs the shared field rule above) */
.em .ct-form .wpsf-field :is(input, select, textarea):focus { outline: none; border-color: var(--em-orange); box-shadow: 0 0 0 3px rgba(235, 129, 19, .18); }
/* the privacy tick box: required; on = an orange box with a dark tick (7: .ct-agree). Its question label is read by screen
   readers, the words beside the box are what is seen */
.em .ct-form .wpsf-field[data-field-type="checkbox"] { margin-top: 6px; }
.em .ct-form .wpsf-field[data-field-type="checkbox"] > label:first-child { position: absolute; width: 1px; height: 1px; margin: -1px;
  padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.em .ct-form .wpsf-field > label.wpsf-option { display: flex; align-items: flex-start; gap: 12px; margin: 0; font: 400 15.5px/1.5 var(--em-font);
  color: var(--em-text); cursor: pointer; }
.em .ct-form .wpsf-option input[type="checkbox"] { -webkit-appearance: none; appearance: none; flex: none; width: 22px; height: 22px; margin: 0;
  padding: 0; background: var(--e-global-color-10d2e9b); border: 1.5px solid #B9B0A2; border-radius: 0; box-shadow: none; cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease; }
.em .ct-form .wpsf-option input[type="checkbox"]:hover { border-color: var(--e-global-color-emzw111); }
.em .ct-form .wpsf-option input[type="checkbox"]:checked { border-color: var(--em-orange);
  background: var(--em-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 15px no-repeat; }
.em .ct-form .wpsf-option input[type="checkbox"]:focus-visible { outline: 2px solid var(--em-orange); outline-offset: 3px; }
.em .ct-form .wpsf-option a { color: var(--em-orange-deep); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.em .ct-form .wpsf-option a:hover { color: var(--e-global-color-emzw111); }
/* the send button = 7's orange split button: the words on orange, the arrow in its own square */
.em .ct-form .wpsf-submit-row { margin-top: 8px; }
.em .ct-form .wpsf-submit { position: relative; display: inline-flex; align-items: center; min-height: 56px; margin: 0; padding: 0 82px 0 26px;
  border: 0; border-radius: 0; background: var(--em-orange); box-shadow: none; color: var(--e-global-color-emzw111);
  font: 600 15.5px/1 var(--em-font); letter-spacing: .02em; text-transform: none; cursor: pointer; transition: background-color .3s ease; }
.em .ct-form .wpsf-submit::before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 56px; background: var(--em-line);
  transition: background-color .3s ease; }
.em .ct-form .wpsf-submit::after { content: ""; position: absolute; top: 50%; right: 18px; width: 20px; height: 20px; margin-top: -10px;
  background: var(--e-global-color-10d2e9b); transition: transform .35s ease, background-color .3s ease;
  -webkit-mask: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%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' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
.em .ct-form .wpsf-submit:is(:hover, :focus-visible) { background: var(--em-orange-hi); color: var(--e-global-color-emzw111); }
.em .ct-form .wpsf-submit:is(:hover, :focus-visible)::before { background: var(--e-global-color-10d2e9b); }
.em .ct-form .wpsf-submit:is(:hover, :focus-visible)::after { background: var(--em-orange-deep); transform: translateX(3px); }
.em .ct-form .wpsf-submit:focus-visible { outline: 2px solid var(--em-orange); outline-offset: 3px; }
.em .ct-form .wpsf-submit:disabled { opacity: .6; cursor: default; }
/* the answers after a send / a missing field: in the page's look, not Forms' default greens and reds with round corners */
.em .ct-form :is(.wpsf-success, .wpsf-error) { margin-top: 22px; padding: 18px 22px; border: 1px solid var(--em-light-line);
  border-left: 3px solid var(--em-orange); border-radius: 0; background: var(--e-global-color-10d2e9b); color: var(--em-text); font-size: 16px; }
.em .ct-form .wpsf-error { border-left-color: #B3261E; }
.em .ct-form .wpsf-field-error-msg { margin-top: 6px; font-size: 14px; color: #B3261E; }
.em .ct-form .wpsf-field.wpsf-field--error[data-field-type] :is(input, select, textarea) { border-color: #B3261E; }
@media (max-width: 600px) {
  .em .ct-form .wpsf-form { grid-template-columns: 1fr; }
  .em .ct-form .wpsf-field { grid-column: 1 / -1; }
  .em .ct-form .wpsf-submit { width: 100%; justify-content: center; padding: 0 56px 0 0; } }

/* ── Contact: the live map (Pixel 2026-11-09, his "should be map. so people can zoom or something." · "about map just show elementor
   map and set correct address"): Elementor's Google Maps block fills the map frame (460 / 380 / 300, as the picture did); the
   address card on top is the route link now, so the map itself can be dragged and zoomed. ── */
.elementor .ct-map-img .elementor-widget-google_maps, .elementor .ct-map-img .elementor-widget-google_maps .elementor-widget-container,
.elementor .ct-map-img .elementor-custom-embed, .elementor .ct-map-img iframe { width: 100%; height: 100% !important; }
.elementor .ct-map-img .elementor-widget-google_maps { margin: 0 !important; }
.elementor .ct-map-img iframe { display: block; border: 0; }
.elementor a.ct-map-card { text-decoration: none; color: inherit; }
.elementor a.ct-map-card:focus-visible { outline: 2px solid var(--em-orange); outline-offset: 3px; }
.elementor .ct-map-card:is(:hover, :focus-visible) .more .elementor-heading-title::after { transform: translateX(3px); }
/* Google's own place box sits top left in the map → the address card on the right on a computer; up to 1100 px under the map,
   as on the phone (on the map it would cover that box and the pin). */
.elementor .ct-map-card { left: auto; right: 32px; }
@media (max-width: 1100px) {
  .elementor .ct-map-card { position: static; transform: none; width: auto; box-shadow: none; background: var(--em-ink-2); } }

/* ── Projecten from the posts (Pixel 2026-11-09, his "please fil the sample data in that and do proper link with details page"):
   the Loop Grid's wrappers step aside, so each project card is a cell of the page's own .prj-grid (3 / 2 / 1 columns, 26 / 18 px,
   as the typed cards were) and the site's filter hides a card as before. ── */
.elementor .prj-grid > .elementor-widget-loop-grid, .elementor .prj-grid > .elementor-widget-loop-grid > .elementor-widget-container,
.elementor .prj-grid .elementor-loop-container, .elementor .prj-grid .e-loop-item { display: contents !important; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Fira Sans Condensed';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://edsmotoren.inthedemo.com/wp-content/uploads/2026/10/fira-sans-condensed-latin-600-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Fira Sans Condensed';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://edsmotoren.inthedemo.com/wp-content/uploads/2026/10/fira-sans-condensed-latin-700-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Fira Sans Condensed';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://edsmotoren.inthedemo.com/wp-content/uploads/2026/10/fira-sans-condensed-latin-800-normal.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Fira Sans';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://edsmotoren.inthedemo.com/wp-content/uploads/2026/10/fira-sans-latin-400-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Fira Sans';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://edsmotoren.inthedemo.com/wp-content/uploads/2026/10/fira-sans-latin-500-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Fira Sans';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://edsmotoren.inthedemo.com/wp-content/uploads/2026/10/fira-sans-latin-600-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Fira Sans';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://edsmotoren.inthedemo.com/wp-content/uploads/2026/10/fira-sans-latin-700-normal.woff2') format('woff2');
}
/* End Custom Fonts CSS */