/* =====================================================================================================
   dd-elementor.css — bridge between the dd-* classes and Elementor's widget markup (WordPress only; the static
   prototype does not load this file). In Elementor the CSS class sits on the widget WRAPPER
   (div.elementor-widget-button.dd-btn), while the real element is inside it (a.elementor-button,
   .elementor-heading-title). These rules move the look to the real element and neutralise the defaults of the
   Elementor kit (global colours / button style), so the classes look the same as in the prototype.
   Specificity: the selectors include .elementor-element so they beat the per-widget CSS Elementor writes for the
   kit's global colours (e.g. .elementor-126 .elementor-element.elementor-element-xxxx .elementor-button) — also in the editor.
   Tested on: WordPress 6.6 · Elementor 3.24.7 · Elementor Pro 3.24.3 · JetEngine 3.8.14 (local test site, 10.10.2026).
   ===================================================================================================== */

/* ---------- headings / text: the wrapper carries the class, the title inherits everything ---------- */
:where(.elementor .elementor-element.elementor-widget-heading[class*="dd-"] .elementor-heading-title):not(.dd-z.dd-z.dd-z z z z z z z z z z z) { font: inherit; color: inherit; letter-spacing: inherit; line-height: inherit; text-wrap: inherit; text-transform: inherit; margin: 0; }
:where(:where(.elementor .elementor-element.elementor-widget-text-editor[class*="dd-"])):not(z) { color: inherit; font-family: inherit; }
:where(.elementor [class*="dd-svx-"] .elementor-element.elementor-widget-text-editor[class*="dd-"]:not([class*="-crumbs"])):not(.dd-z.dd-z z z z z z z z z z z z z z z z), :where(.elementor [class*="dd-ct-"] .elementor-element.elementor-widget-text-editor[class*="dd-"]:not([class*="-crumbs"])):not(.dd-z.dd-z z z z z z z z z z z z z z z z), :where(.elementor .elementor-element.elementor-widget-text-editor:is([class*="dd-svx-"]:not([class*="-crumbs"]), [class*="dd-ct-"]):not([class*="-crumbs"])):not(.dd-z.dd-z z z z z z z z z z z z z z z z) { color: inherit; font-family: inherit; }
:where(.elementor .elementor-widget[class*="dd-"] > .elementor-widget-container):not(.dd-z.dd-z.dd-z z z z z z) { margin: 0; padding: 0; }

/* ---------- buttons: the pill goes on a.elementor-button ---------- */
:where(.elementor .elementor-element.elementor-widget-button.dd-btn):not(.dd-z.dd-z z z z z z z z z z), :where(.elementor .elementor-element.elementor-widget-button.dd-link):not(.dd-z.dd-z z z z z z z z z z) { display: block; min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; gap: 0; }
:where(.elementor .elementor-element.elementor-widget-button.dd-btn .elementor-button):not(.dd-z.dd-z.dd-z z z z z z z z z z z) { display: inline-flex; align-items: center; gap: .8em; min-height: 54px; padding: .65em 1.7em; border-radius: 999px; border: 1.5px solid transparent; font: inherit; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; box-shadow: none; transition: background-color .4s var(--dd-ease-out), color .4s var(--dd-ease-out), border-color .4s; }
:where(.elementor .elementor-element.elementor-widget-button.dd-btn--primary .elementor-button):not(.dd-z.dd-z.dd-z z z z z z z z z z z) { background: var(--dd-brick); color: #fff; }
:where(.elementor .elementor-element.elementor-widget-button.dd-btn--primary .elementor-button:hover):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z) { background: var(--dd-navy); color: #fff; }
:where(.elementor .elementor-element.elementor-widget-button.dd-btn--line .elementor-button):not(.dd-z.dd-z.dd-z z z z z z z z z z z) { background: transparent; color: inherit; border-color: currentColor; }
:where(.elementor .dd-light .elementor-element.elementor-widget-button.dd-btn--line .elementor-button:hover):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z z z), :where(.elementor .dd-cream .elementor-element.elementor-widget-button.dd-btn--line .elementor-button:hover):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z z z) { background: var(--dd-navy); color: #fff; border-color: var(--dd-navy); }
:where(.elementor .elementor-element.elementor-widget-button.dd-link .elementor-button):not(.dd-z.dd-z.dd-z z z z z z z z z z z) { display: inline; min-height: 0; padding: 0 0 2px; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; background: none; color: inherit; font: inherit; box-shadow: none; }
:where(.elementor .elementor-element.elementor-widget-button .elementor-button-content-wrapper):not(.dd-z.dd-z.dd-z z z z z z) { gap: inherit; }

/* ---------- containers that carry a dd layout: no Elementor default padding ---------- */
:where(html body .elementor .e-con.e-con.e-grid):not(.dd-z.dd-z z z z z z z z z z z z) { display: grid; }
:where(.elementor .e-con[class*="dd-"]):not(.dd-z.dd-z z z z z z) { --container-default-padding-top: 0px; --container-default-padding-right: 0px; --container-default-padding-bottom: 0px; --container-default-padding-left: 0px; --widgets-spacing: 0px; }
/* a section = full-width band; its content keeps the prototype's .dd-wrap width: min(100% - 2 × gutter, 1680px) */
/* (block padding = the prototype classes: dd-pad, dd-wd-hero, dd-wd-work … — dd-*.css load AFTER Elementor's CSS) */
:where(.elementor .e-con.dd-sec):not(.dd-z.dd-z z z z z z z z z) { --padding-right: max(var(--dd-gutter), calc((100% - 1680px) / 2)); --padding-left: max(var(--dd-gutter), calc((100% - 1680px) / 2)); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-sec):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-sec):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding-inline: max(var(--dd-gutter), calc((100% - 1680px) / 2)); }
/* (the JetEngine grid uses negative side margins of half the gap — the section side padding (≥ 16px) absorbs them) */

/* ---------- the project card (JetEngine Listing Item) ---------- */
:where(.elementor .e-con.dd-device):not(.dd-z.dd-z z z z z z) { display: block; }
:where(.elementor .e-con.dd-device):not(.dd-z.dd-z z z z z z z z z) { --gap: 0px; --row-gap: 0px; }
:where(.elementor .e-con.dd-device__screen):not(.dd-z.dd-z z z z z z) { display: block; aspect-ratio: 16 / 10; }
:where(.elementor .e-con.dd-device__screen):not(.dd-z.dd-z z z z z z z z z) { --position: relative; }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-device__screen):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-device__screen):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { position: relative; }
:where(.elementor .e-con.dd-wd-card__meta):not(.dd-z.dd-z z z z z z z z z) { --gap: 14px; --flex-direction: row; --justify-content: space-between; --flex-wrap: nowrap; }
:where(.elementor .e-con.dd-wd-card__meta > .e-con):not(.dd-z.dd-z) { --width: auto; }
:where(.elementor .elementor-widget.dd-wd-card__name):not(.dd-z.dd-z z z z z z) { flex: 1 1 auto; min-width: 0; font-weight: 700; letter-spacing: -.01em; }
:where(.elementor .dd-formcard .elementor-widget-heading.dd-big):not(.dd-z.dd-z z z z z z z z z z) { font-weight: 700; }
:where(.elementor .elementor-widget.dd-wd-more):not(.dd-z.dd-z z z z z z) { flex: none; }
:where(.elementor .elementor-widget.dd-wd-more .elementor-button):not(.dd-z.dd-z.dd-z z z z z z) { min-height: 44px; padding: .35em 1.1em; font-size: .98rem; }
:where(.elementor .elementor-widget.dd-vid__src):not(.dd-z.dd-z z z z z z), :where(.elementor .elementor-widget.dd-wd-card__details):not(.dd-z.dd-z z z z z z) { display: none !important; }
/* JetEngine grid: the card fills its column */
:where(.jet-listing-grid__item > .elementor):not(.dd-z.dd-z z), :where(.jet-listing-grid__item .e-con.dd-wd-card):not(.dd-z.dd-z z z z z z) { height: 100%; }

/* ---------- the ONE Elementor Pro popup ---------- */
:where(.elementor-popup-modal .dialog-widget-content:has(.dd-pop__card)):not(.dd-z.dd-z.dd-z z) { background: transparent; box-shadow: none; border-radius: 26px; overflow: hidden; max-height: calc(100dvh - 32px); }
:where(.elementor-popup-modal .e-con.dd-pop__card):not(.dd-z.dd-z z z z z z) { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); background: var(--dd-cream); color: var(--dd-navy); overflow: auto; max-height: calc(100dvh - 32px); }
:where(.elementor-popup-modal .e-con.dd-pop__card):not(.dd-z.dd-z z z z z z z z z) { --border-radius: 26px; }
:where(body:not([class*="elementor-kit-"])) :where(.elementor-popup-modal .e-con.dd-pop__card):not(.dd-z.dd-z z z z z z), :where(.elementor-popup-modal .e-con.dd-pop__card):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { border-radius: 26px; }
:where(.elementor-popup-modal .e-con.dd-pop__media):not(.dd-z.dd-z z z z z z) { display: grid; background: var(--dd-navy); }
:where(.elementor-popup-modal .e-con.dd-pop__media):not(.dd-z.dd-z z z z z z z z z) { --align-content: center; --padding-top: clamp(18px, 2.6vw, 34px); --padding-right: clamp(18px, 2.6vw, 34px); --padding-bottom: clamp(18px, 2.6vw, 34px); --padding-left: clamp(18px, 2.6vw, 34px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor-popup-modal .e-con.dd-pop__media):not(.dd-z.dd-z z z z z z), :where(.elementor-popup-modal .e-con.dd-pop__media):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { align-content: center; padding: clamp(18px, 2.6vw, 34px); }
:where(.elementor-popup-modal .e-con.dd-pop__body):not(.dd-z.dd-z z z z z z) { display: grid; }
:where(.elementor-popup-modal .e-con.dd-pop__body):not(.dd-z.dd-z z z z z z z z z) { --gap: 16px; --align-content: start; --padding-top: clamp(24px, 3.4vw, 52px); --padding-right: clamp(24px, 3.4vw, 52px); --padding-bottom: clamp(24px, 3.4vw, 52px); --padding-left: clamp(24px, 3.4vw, 52px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor-popup-modal .e-con.dd-pop__body):not(.dd-z.dd-z z z z z z), :where(.elementor-popup-modal .e-con.dd-pop__body):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { gap: 16px; align-content: start; padding: clamp(24px, 3.4vw, 52px); }
:where(.elementor-popup-modal .dd-pop__title):not(.dd-z.dd-z z) { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2.2rem); line-height: 1.15; font-weight: 800; padding-inline-end: 48px; text-wrap: balance; }
:where(.elementor-popup-modal .dialog-close-button):not(.dd-z.dd-z z) { top: 14px; left: 14px; right: auto; inset-inline-end: auto; width: 46px; height: 46px; border-radius: 50%; background: var(--dd-navy); color: #fff; display: grid; place-items: center; font-size: 18px; z-index: 5; }
/* the X is drawn in CSS (as in the prototype) — independent of Elementor's icon font / SVG sprite */
:where(.elementor-popup-modal .dialog-close-button svg):not(.dd-z.dd-z z z), :where(.elementor-popup-modal .dialog-close-button i):not(.dd-z.dd-z z z) { display: none; }
:where(.elementor-popup-modal .dialog-close-button):not(.dd-z.dd-z z z)::before, :where(.elementor-popup-modal .dialog-close-button):not(.dd-z.dd-z z z)::after { content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 2px; background: #fff; transform: rotate(45deg); }
:where(.elementor-popup-modal .dialog-close-button):not(.dd-z.dd-z z z)::after { transform: rotate(-45deg); }
:where(.elementor-popup-modal .dialog-close-button:hover):not(.dd-z.dd-z.dd-z z) { background: var(--dd-brick); }
:where(.elementor-popup-modal .dialog-close-button:focus-visible):not(.dd-z.dd-z.dd-z z) { outline: 3px solid var(--dd-brick-soft); outline-offset: 3px; }
@media (max-width: 899px) { :where(.elementor-popup-modal .e-con.dd-pop__card):not(.dd-z.dd-z z z z z z) { grid-template-columns: 1fr; } :where(.elementor-popup-modal .e-con.dd-pop__media):not(.dd-z.dd-z z z z z z z z z) { --padding-top: 16px; --padding-right: 16px; --padding-bottom: 6px; --padding-left: 16px; } :where(body:not([class*="elementor-kit-"])) :where(.elementor-popup-modal .e-con.dd-pop__media):not(.dd-z.dd-z z z z z z), :where(.elementor-popup-modal .e-con.dd-pop__media):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding: 16px 16px 6px; } }
@media (max-width: 639px) { :where(.elementor-popup-modal .dialog-widget-content:has(.dd-pop__card)):not(.dd-z.dd-z.dd-z z), :where(.elementor-popup-modal .e-con.dd-pop__card):not(.dd-z.dd-z z z z z z) { border-radius: 24px 24px 0 0; max-height: 92dvh; } }

/* ---------- finale + form ---------- */
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-wd-finale__fan):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-wd-finale__fan):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { display: grid; }
:where(.elementor .elementor-widget.dd-wd-finale__card):not(.dd-z.dd-z z z z z z) { grid-area: 1 / 1; place-self: center; width: var(--w, 46%); margin-inline: 0; }
:where(.elementor .elementor-widget.dd-wd-finale__card):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z) { margin-top: 0; margin-bottom: 0; }
:where(.elementor .elementor-widget.dd-wd-finale__card img):not(.dd-z.dd-z z z z z z z) { display: block; width: 100%; height: auto; }
:where(.elementor .dd-form .elementor-field-group > label):not(.dd-z.dd-z.dd-z z z) { color: inherit; }
:where(.elementor .dd-form .elementor-field-textual):not(.dd-z.dd-z.dd-z z) { min-height: 54px; border-radius: 12px; border: 1.5px solid rgb(255 255 255 / .55); background: rgb(255 255 255 / .08); color: inherit; }
:where(.elementor .dd-form .elementor-button):not(.dd-z.dd-z.dd-z z) { border-radius: 999px; background: var(--dd-navy); color: #fff; font-weight: 700; min-height: 54px; }

/* ---------- opening: Elementor Animated Headline (Rotating) behaves like the prototype's .dd-words ---------- */
:where(.elementor .dd-wd-anim .elementor-headline):not(.dd-z.dd-z.dd-z z) { font: inherit; color: inherit; margin: 0; }
:where(.elementor .dd-wd-anim .elementor-headline-dynamic-wrapper):not(.dd-z.dd-z.dd-z z) { display: inline-grid; vertical-align: bottom; overflow: visible; }
:where(.elementor .dd-wd-anim .elementor-headline-dynamic-wrapper):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z z z z z z z z z z z) { width: auto; }
:where(.elementor .dd-wd-anim):not(.dd-z.dd-z z) { --dynamic-text-color: var(--dd-brick); }
:where(:where(body:not([class*="elementor-kit-"])) .elementor .dd-wd-anim .elementor-headline-dynamic-wrapper):not(.dd-z.dd-z.dd-z z) { color: var(--dd-brick); }
:where(.elementor .dd-dark .dd-wd-anim):not(.dd-z.dd-z z z z z z) { --dynamic-text-color: var(--dd-brick-soft); }
:where(:where(body:not([class*="elementor-kit-"])) .elementor .dd-dark .dd-wd-anim .elementor-headline-dynamic-wrapper):not(.dd-z.dd-z.dd-z z z z z z) { color: var(--dd-brick-soft); }
:where(.elementor .dd-wd-anim .elementor-headline-dynamic-text):not(.dd-z.dd-z.dd-z z) { grid-area: 1 / 1; opacity: 0; transform: translateY(40%); transition: opacity .5s, transform .7s cubic-bezier(.22, 1, .36, 1); animation: none !important; white-space: nowrap; }
:where(.elementor .dd-wd-anim .elementor-headline-dynamic-text):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z z z z z z z z z z z) { position: static; }
:where(.elementor .dd-wd-anim .elementor-headline-dynamic-text.elementor-headline-text-active):not(.dd-z.dd-z.dd-z z z z z z) { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { :where(.elementor .dd-wd-anim .elementor-headline-dynamic-text):not(.dd-z.dd-z.dd-z z) { transition: none; } }

/* ---------- the projects heading (prototype: .dd-wd-work .dd-wrap > h2.dd-big) ---------- */
:where(.elementor .e-con.dd-wd-work > .elementor-widget-heading.dd-big):not(.dd-z.dd-z z z z z z z z z z z z z) { font-size: clamp(1.7rem, 1.1rem + 2.2vw, 3.4rem); max-width: 24ch; --dd-max-w: 24ch; }
:where(.elementor .e-con.dd-wd-work > .elementor-widget-heading.dd-big):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z) { margin-bottom: clamp(18px, 2.2vw, 34px); }

/* ---------- service band: the 3 Icon Box widgets = the prototype's feature cards (.dd-wd-feats li) ---------- */
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-wd-feats):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-wd-feats):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
:where(.elementor .elementor-element.elementor-widget-icon-box.dd-wd-feat):not(.dd-z.dd-z z z z z z z z z z) { padding: 16px 16px 18px; border-radius: 18px; background: color-mix(in srgb, var(--dd-cream) 6%, transparent); border: 1px solid color-mix(in srgb, var(--dd-cream) 14%, transparent); width: auto; max-width: none; --dd-max-w: none; }
:where(.elementor .elementor-element.elementor-widget-icon-box.dd-wd-feat .elementor-icon-box-wrapper):not(.dd-z.dd-z.dd-z z z z z z z z z z z) { display: grid; gap: 6px; text-align: start; }
:where(.elementor .elementor-element.elementor-widget-icon-box.dd-wd-feat .elementor-icon-box-wrapper):not(.dd-z.dd-z.dd-z z z z z z z z z z z z)::before { content: ""; width: 26px; height: 26px; border-radius: 50%; background: var(--dd-brick); box-shadow: inset 0 0 0 7px var(--dd-brick), inset 0 0 0 9px #fff; }
:where(.elementor .elementor-element.elementor-widget-icon-box.dd-wd-feat .elementor-icon-box-icon):not(.dd-z.dd-z.dd-z z z z z z z z z z z) { display: none; }
:where(.elementor .elementor-element.elementor-widget-icon-box.dd-wd-feat .elementor-icon-box-title):not(.dd-z.dd-z.dd-z z z z z z z z z z z) { font-size: clamp(1rem, .92rem + .3vw, 1.18rem); line-height: 1.25; margin: 0; color: #fff; font-family: inherit; }
:where(.elementor .elementor-element.elementor-widget-icon-box.dd-wd-feat .elementor-icon-box-description):not(.dd-z.dd-z.dd-z z z z z z z z z z z) { margin: 0; font-size: .95rem; line-height: 1.55; color: color-mix(in srgb, var(--dd-cream) 82%, transparent); font-family: inherit; }
@media (max-width: 639px) { :where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-wd-feats):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-wd-feats):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { grid-template-columns: 1fr; gap: 10px; } }

/* ---------- Elementor Pro Form = the prototype's form ---------- */
/* (!important: Elementor writes per-widget defaults — white field background — with a higher specificity) */
:where(.elementor .elementor-element.elementor-widget-form.dd-form .elementor-field-group .elementor-field-textual):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z) { min-height: 54px; padding: 10px 16px; font: inherit; }
:where(.elementor .elementor-element.elementor-widget-form.dd-form .elementor-field-group .elementor-field-textual):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z) { border-radius: 12px; border: 1.5px solid rgb(255 255 255 / .55); background: rgb(255 255 255 / .08); color: #fff; }
:where(.elementor .elementor-element.elementor-widget-form.dd-form .elementor-field-textual):not(.dd-z.dd-z.dd-z z z z z z z z z z z z)::placeholder { color: rgb(255 255 255 / .7); }
:where(.elementor .elementor-element.elementor-widget-form.dd-form .elementor-field-group > .elementor-field-label):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z) { color: #fff; font-size: .92rem; font-family: inherit; }
:where(.elementor .elementor-element.elementor-widget-form.dd-form .elementor-mark-required .elementor-field-label):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z z)::after { color: #fff; }
:where(.elementor .elementor-element.elementor-widget-form.dd-form .elementor-field-type-acceptance label):not(.dd-z.dd-z.dd-z z z z z z z z z z z z), :where(.elementor .elementor-element.elementor-widget-form.dd-form .elementor-field-type-acceptance a):not(.dd-z.dd-z.dd-z z z z z z z z z z z z) { color: #fff; font-size: .86rem; line-height: 1.55; }
:where(.elementor .elementor-element.elementor-widget-form.dd-form .elementor-button[type="submit"]):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z) { border-radius: 999px; background: var(--dd-navy); color: #fff; font: inherit; font-weight: 700; min-height: 54px; }
:where(.elementor .elementor-element.elementor-widget-form.dd-form .elementor-button[type="submit"]:hover):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z z z) { background: var(--dd-cream); color: var(--dd-navy); }

/* ---------- v5: the service pages (AI / landing pages / store) — band texts, image, "soon" CTA ---------- */
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-wd-texts):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-wd-texts):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 12px; }
:where(.elementor .e-con.dd-wd-text):not(.dd-z.dd-z z z z z z z z z) { --padding-top: clamp(18px, 2vw, 28px); --padding-right: clamp(18px, 2vw, 28px); --padding-bottom: clamp(18px, 2vw, 28px); --padding-left: clamp(18px, 2vw, 28px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-wd-text):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-wd-text):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding: clamp(18px, 2vw, 28px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-wd-text):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-wd-text):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { display: grid; gap: 10px; align-content: start; }
:where(.elementor .e-con.dd-wd-text--img):not(.dd-z.dd-z z z z z z z z z) { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-wd-text--img):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-wd-text--img):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding: 0; }
:where(.elementor .dd-wd-text .elementor-widget-heading .elementor-heading-title):not(.dd-z.dd-z.dd-z z z z z z) { margin: 0; font-family: inherit; font-size: clamp(1.15rem, 1rem + .6vw, 1.6rem); line-height: 1.2; font-weight: 700; color: #fff; }
:where(.elementor .dd-wd-text .elementor-widget-text-editor):not(.dd-z.dd-z z z z z z) { color: color-mix(in srgb, var(--dd-cream) 86%, transparent); font-family: inherit; font-size: 1rem; line-height: 1.65; }
:where(.elementor .dd-wd-text .elementor-widget-image):not(.dd-z.dd-z z z z z z), :where(.elementor .dd-wd-text .elementor-widget-image img):not(.dd-z.dd-z z z z z z z) { width: 100%; height: 100%; object-fit: cover; display: block; }
:where(.elementor .e-con.dd-wd-soon__cta):not(.dd-z.dd-z z z z z z) { flex-basis: 100%; color: var(--dd-cream); }
:where(.elementor .e-con.dd-wd-soon__cta):not(.dd-z.dd-z z z z z z z z z) { --flex-direction: row; --flex-wrap: wrap; --align-items: center; --gap: 10px 18px; }
:where(.elementor .e-con.dd-wd-soon__cta > .e-con):not(.dd-z.dd-z) { --width: auto; }
:where(.elementor .dd-wd-soon__cta .elementor-widget-text-editor):not(.dd-z.dd-z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z) { color: var(--dd-cream); }
:where(.elementor .dd-wd-soon__cta .elementor-widget-text-editor p):not(.dd-z.dd-z z z z z z z) { margin: 0; }
:where(.elementor .elementor-element.dd-wd-soon__name .elementor-heading-title):not(.dd-z.dd-z.dd-z z z z z z) { background: #fff; border-radius: 12px; padding: 6px 14px; color: var(--dd-navy); font-weight: 700; font-size: .95rem; font-family: inherit; }
:where(.elementor .dd-wd-about .dd-wd-soon .elementor-widget-image):not(.dd-z.dd-z z z z z z z z z z) { background: #fff; border-radius: 12px; padding: 6px 14px; }
:where(.elementor .dd-wd-about .dd-wd-soon .elementor-widget-image img):not(.dd-z.dd-z z z z z z z z z z z) { height: clamp(30px, 2.6vw, 44px); width: auto; max-width: 190px; object-fit: contain; display: block; }
/* popup: the site button / details are hidden when the project has no link / no details (Elementor's widget CSS would show them) */
:where(.elementor-popup-modal .elementor-element[hidden]):not(.dd-z.dd-z z z z z z), :where(.elementor .elementor-element.dd-pop__link[hidden]):not(.dd-z.dd-z z z z z z z z z z), :where(.elementor .elementor-element.dd-pop__desc[hidden]):not(.dd-z.dd-z z z z z z z z z z) { display: none !important; }
/* ---------- the ring of screens (16.10.2026): once the ring is live the screen is drawn by its curved slices (dd-motion.js) — the
   flat picture is hidden, as in the prototype (there the <img> is the card's direct child; in Elementor it sits inside its Image widget) ---------- */
:where(.elementor .dd-ring.is-live .dd-ring__card .elementor-widget-image img):not(.dd-z.dd-z z z z z z z z z z z z z z) { display: none; }
/* the red "run" section's button (16.10.2026): the prototype's .dd-run__cta .dd-btn colours, on Elementor's inner button */
:where(.elementor .dd-run__cta .elementor-element.elementor-widget-button.dd-btn .elementor-button):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z) { background: var(--dd-navy); color: #fff; text-align: center; }
:where(.elementor .dd-run__cta .elementor-element.elementor-widget-button.dd-btn .elementor-button:hover):not(.dd-z.dd-z.dd-z z z z z z z z z z z z z z z) { background: #fff; color: var(--dd-navy); }
