/* =====================================================================================================
   dd-contact.css — "יצירת קשר" (/contact/), 12.10.2026
   Written for Elementor's markup (the prototype renders the same markup). Tokens = dd-tokens.css; the recommendations
   strip = dd-services.css (.dd-svx-*). Motion = dd-motion.js only (dd-reveal; the heading's words rotate): a gentle
   entrance; the form card only FADES in once and then stays completely still (no hover movement, nothing moves while
   typing). Reduced motion → no motion at all.
   ===================================================================================================== */
:where(.elementor .e-con[class*="dd-ct"]):not(.dd-z.dd-z z z z z z) { --widgets-spacing: 0px; min-width: 0; }
:where(.elementor .elementor-widget[class*="dd-ct"]):not(.dd-z.dd-z z z z z z) { width: 100%; max-width: 100%; --dd-max-w: 100%; }
:where(.elementor .e-con.dd-sec[class*="dd-ct-"]):not(.dd-z.dd-z z z z z z z z z z) { overflow-x: clip; }

/* ---------- 1. opening: compact — breadcrumbs, the rotating heading at a balanced size ---------- */
:where(.elementor .e-con.dd-ct-hero):not(.dd-z.dd-z z z z z z) { display: block; }
:where(.elementor .e-con.dd-ct-hero):not(.dd-z.dd-z z z z z z z z z) { --position: relative; --padding-top: clamp(100px, 6vw + 56px, 136px); --padding-bottom: clamp(110px, 10vw, 170px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-hero):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-hero):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { position: relative; padding-block: clamp(100px, 6vw + 56px, 136px) clamp(110px, 10vw, 170px); }
:where(.dd-ct-crumbs .dd-crumbs ol):not(.dd-z.dd-z z z) { margin: 0 0 clamp(14px, 1.6vw, 24px); }
:where(.elementor .elementor-element.dd-ct-h1):not(.dd-z.dd-z z z z z z) { width: 100%; }
:where(.elementor .dd-ct-h1 .elementor-headline):not(.dd-z.dd-z.dd-z z) { max-width: 16ch; font-size: clamp(2rem, 1.15rem + 2.9vw, 4.2rem); line-height: 1.06; letter-spacing: -.02em; font-weight: 800; color: var(--dd-cream); text-wrap: balance; }
:where(.elementor .dd-ct-h1 .elementor-headline-plain-text):not(.dd-z.dd-z.dd-z z) { font-weight: inherit; }

/* ---------- 2. the form card (white) + the contact details (navy) — they rise over the end of the opening ---------- */
:where(.elementor .e-con.dd-ct-main):not(.dd-z.dd-z z z z z z) { display: flow-root; }
:where(.elementor .e-con.dd-ct-main):not(.dd-z.dd-z z z z z z z z z) { --padding-top: 0; --padding-bottom: clamp(70px, 8vw, 130px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-main):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-main):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding-block: 0 clamp(70px, 8vw, 130px); } /* (flow-root: the cards rise over the opening, the section does not) */
:where(.elementor .e-con.dd-ct-grid):not(.dd-z.dd-z z z z z z) { z-index: 1; }
:where(.elementor .e-con.dd-ct-grid):not(.dd-z.dd-z z z z z z z z z) { --margin-top: calc(-1 * clamp(70px, 7vw, 120px)); --position: relative; }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-grid):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-grid):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { margin-top: calc(-1 * clamp(70px, 7vw, 120px)); position: relative; }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-grid):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-grid):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(18px, 2vw, 30px); align-items: start; }
:where(.elementor .e-con.dd-ct-formcard):not(.dd-z.dd-z z z z z z) { display: block; background: #fff; color: var(--dd-navy); box-shadow: 0 36px 70px -44px color-mix(in srgb, var(--dd-deep) 55%, transparent); }
:where(.elementor .e-con.dd-ct-formcard):not(.dd-z.dd-z z z z z z z z z) { --padding-top: clamp(24px, 3vw, 48px); --padding-right: clamp(24px, 3vw, 48px); --padding-bottom: clamp(24px, 3vw, 48px); --padding-left: clamp(24px, 3vw, 48px); --border-radius: var(--dd-radius-lg); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-formcard):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-formcard):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding: clamp(24px, 3vw, 48px); border-radius: var(--dd-radius-lg); }
:where(.elementor .elementor-element.dd-ct-formcard__title):not(.dd-z.dd-z z z z z z) { margin-inline: 0; font-size: clamp(1.45rem, 1.1rem + 1vw, 2.1rem); line-height: 1.18; font-weight: 800; color: var(--dd-navy); text-wrap: balance; }
:where(.elementor .elementor-element.dd-ct-formcard__title):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: clamp(18px, 2vw, 26px); }
:where(.elementor .elementor-element.dd-ct-required):not(.dd-z.dd-z z z z z z) { font-size: .92rem; font-weight: 700; color: var(--dd-ink); }
:where(.elementor .elementor-element.dd-ct-required):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: 14px; }
:where(.elementor .elementor-element.dd-ct-required .elementor-heading-title):not(.dd-z.dd-z.dd-z z z z z z) { font-size: inherit; font-weight: inherit; color: inherit; }

/* the form — the fields of the site (rounded, calm), large enough to type comfortably on a phone (16px+: no zoom) */
:where(.dd-ct-form .elementor-form-fields-wrapper):not(.dd-z.dd-z z) { display: flex; flex-wrap: wrap; gap: 16px 14px; }
:where(.dd-ct-form .elementor-form-fields-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) { margin: 0; }
:where(.dd-ct-form .elementor-field-group):not(.dd-z.dd-z z) { flex: 1 1 100%; max-width: 100%; width: 100%; }
:where(.dd-ct-form .elementor-field-group):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) { margin: 0; padding: 0; }
:where(.dd-ct-form .elementor-field-group.elementor-col-50):not(.dd-z.dd-z.dd-z z) { flex: 1 1 calc(50% - 7px); max-width: calc(50% - 7px); }
:where(.dd-ct-form .elementor-field-label):not(.dd-z.dd-z z) { display: block; margin: 0 0 7px; font-size: .95rem; font-weight: 700; color: var(--dd-navy); }
:where(.dd-ct-form .elementor-mark-required .elementor-field-label):not(.dd-z.dd-z.dd-z z z)::after { content: " *"; color: var(--dd-brick); }
:where(.dd-ct-form .elementor-field-textual):not(.dd-z.dd-z z) { display: block; width: 100%; min-height: 54px; padding: 12px 16px; border-radius: 14px; border: 1.5px solid color-mix(in srgb, var(--dd-navy) 22%, transparent); background: var(--dd-cream); color: var(--dd-navy); font: inherit; font-size: 1.02rem; line-height: 1.4; transition: border-color .25s, background-color .25s, box-shadow .25s; scroll-margin-block: 120px 40px; }
:where(.dd-ct-form .elementor-field-textual):not(.dd-z.dd-z z z)::placeholder { color: color-mix(in srgb, var(--dd-navy) 50%, transparent); opacity: 1; }
:where(.dd-ct-form .elementor-field-textual:hover):not(.dd-z.dd-z.dd-z z) { border-color: color-mix(in srgb, var(--dd-navy) 40%, transparent); }
:where(.dd-ct-form .elementor-field-textual:focus):not(.dd-z.dd-z.dd-z z) { outline: none; border-color: var(--dd-brick); background: #fff; box-shadow: 0 0 0 4px color-mix(in srgb, var(--dd-brick) 14%, transparent); }
:where(.dd-ct-form .elementor-field-type-acceptance):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) { margin-top: 2px; }
:where(.dd-ct-form .elementor-field-subgroup):not(.dd-z.dd-z z), :where(.dd-ct-form .elementor-field-option):not(.dd-z.dd-z z) { display: flex; gap: 12px; align-items: flex-start; }
:where(.dd-ct-form .elementor-field-option label):not(.dd-z.dd-z z z) { font-size: .86rem; line-height: 1.6; color: var(--dd-ink); }
:where(.dd-ct-form .elementor-field-option label a):not(.dd-z.dd-z z z z) { color: var(--dd-brick); text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
:where(.dd-ct-form .elementor-acceptance-field):not(.dd-z.dd-z z) { margin-top: 3px; flex: none; width: 20px; height: 20px; accent-color: var(--dd-brick); scroll-margin-block: 120px 40px; }
:where(.dd-ct-form .e-form__buttons):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) { margin-top: 6px; }
:where(.dd-ct-form .elementor-button):not(.dd-z.dd-z z) { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; padding: 14px 30px; border-radius: 999px; border: 0; background: var(--dd-brick); color: #fff; font: inherit; font-weight: 700; font-size: 1.08rem; cursor: pointer; transition: background .3s; }
:where(.dd-ct-form .elementor-button:hover:not([disabled])):not(.dd-z.dd-z.dd-z z z z z z), :where(.dd-ct-form .elementor-button:focus-visible):not(.dd-z.dd-z.dd-z z) { background: var(--dd-navy); }
:where(.dd-ct-form .elementor-button[disabled]):not(.dd-z.dd-z.dd-z z) { opacity: .6; cursor: not-allowed; }
:where(.dd-ct-form .dd-note--proto):not(.dd-z.dd-z z) { flex: 1 1 100%; margin: 0; font-size: .82rem; color: var(--dd-ink); }
:where(.dd-ct-form .elementor-message):not(.dd-z.dd-z z) { color: var(--dd-navy); font-weight: 700; }
/* Elementor's kit (global colours / form & button styles) writes per-widget rules with high specificity — these win */
:where(.elementor .elementor-element.dd-ct-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) { background-color: var(--dd-cream); color: var(--dd-navy); border: 1.5px solid color-mix(in srgb, var(--dd-navy) 22%, transparent); border-radius: 14px; font-size: 1.02rem; min-height: 54px; }
:where(.elementor .elementor-element.dd-ct-form .elementor-field-group .elementor-field-textual:focus):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) { background-color: #fff; border-color: var(--dd-brick); }
:where(.elementor .elementor-element.dd-ct-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 z z z z z z z z z z z z z z z z z z) { color: var(--dd-navy); }
:where(.elementor .elementor-element.dd-ct-form .elementor-field-group .elementor-field-option label):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) { color: var(--dd-ink); }
:where(.elementor .elementor-element.dd-ct-form .e-form__buttons .elementor-button):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), :where(.elementor .elementor-element.dd-ct-form .elementor-field-type-submit .elementor-button):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) { background-color: var(--dd-brick); color: #fff; border-radius: 999px; }
:where(.elementor .elementor-element.dd-ct-form .e-form__buttons .elementor-button:hover:not([disabled])):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) { background-color: var(--dd-navy); }

/* the contact details: a navy card, each line = icon + text, the whole line is the link */
:where(.elementor .e-con.dd-ct-details):not(.dd-z.dd-z z z z z z) { display: block; background: var(--dd-navy); color: var(--dd-cream); box-shadow: 0 36px 70px -44px color-mix(in srgb, var(--dd-deep) 70%, transparent); }
:where(.elementor .e-con.dd-ct-details):not(.dd-z.dd-z z z z z z z z z) { --padding-top: clamp(24px, 2.6vw, 40px); --padding-right: clamp(24px, 2.6vw, 40px); --padding-bottom: clamp(24px, 2.6vw, 40px); --padding-left: clamp(24px, 2.6vw, 40px); --border-radius: var(--dd-radius-lg); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-details):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-details):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding: clamp(24px, 2.6vw, 40px); border-radius: var(--dd-radius-lg); }
:where(.elementor .elementor-element.dd-ct-details__title):not(.dd-z.dd-z z z z z z) { margin-inline: 0; font-size: clamp(1.35rem, 1.1rem + .8vw, 1.8rem); line-height: 1.2; font-weight: 800; color: #fff; }
:where(.elementor .elementor-element.dd-ct-details__title):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: clamp(14px, 1.6vw, 22px); }
:where(.elementor .elementor-element.dd-ct-details__title .elementor-heading-title):not(.dd-z.dd-z.dd-z z z z z z) { color: inherit; font: inherit; }
:where(.dd-ct-list .elementor-icon-list-items):not(.dd-z.dd-z z) { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
:where(.dd-ct-list .elementor-icon-list-item):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) { margin: 0; padding: 0; }
:where(.dd-ct-list .elementor-icon-list-item):not(.dd-z.dd-z z z)::after { display: none !important; }
:where(.dd-ct-list .elementor-icon-list-item > a):not(.dd-z.dd-z z z) { align-items: center; gap: 14px; min-height: 52px; padding: 8px 10px; margin-inline: -10px; border-radius: 14px; text-decoration: none; transition: background-color .3s; }
:where(.dd-ct-list .elementor-icon-list-item > a):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) { display: flex; color: var(--dd-cream); }
:where(.dd-ct-list .elementor-icon-list-item > a:hover):not(.dd-z.dd-z.dd-z z z), :where(.dd-ct-list .elementor-icon-list-item > a:focus-visible):not(.dd-z.dd-z.dd-z z z) { background: color-mix(in srgb, var(--dd-cream) 8%, transparent); }
:where(.dd-ct-list .elementor-icon-list-icon):not(.dd-z.dd-z z) { flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--dd-cream) 10%, transparent); transition: background-color .3s; }
:where(.dd-ct-list .elementor-icon-list-icon):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) { display: grid; padding: 0; margin: 0; }
:where(.dd-ct-list .elementor-icon-list-item > a:hover .elementor-icon-list-icon):not(.dd-z.dd-z.dd-z z z z z z z) { background: var(--dd-brick); }
:where(.dd-ct-list .elementor-icon-list-icon svg):not(.dd-z.dd-z z z), :where(.dd-ct-list .elementor-icon-list-icon i):not(.dd-z.dd-z z z) { transition: fill .3s; }
:where(.dd-ct-list .elementor-icon-list-icon svg):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), :where(.dd-ct-list .elementor-icon-list-icon i):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) { width: 17px; height: 17px; font-size: 17px; fill: var(--dd-brick-soft); color: var(--dd-brick-soft); }
:where(.dd-ct-list .elementor-icon-list-item > a:hover .elementor-icon-list-icon svg):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) { fill: #fff; }
:where(.dd-ct-list .elementor-icon-list-text):not(.dd-z.dd-z z) { flex: 1 1 auto; min-width: 0; font: inherit; overflow-wrap: anywhere; }
:where(.dd-ct-list .elementor-icon-list-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) { color: inherit; padding: 0; }
:where(.dd-ct-list .elementor-icon-list-item > a):not(.dd-z.dd-z z z) { font-size: 1.02rem; font-weight: 700; line-height: 1.4; }
/* phone and e-mail are left-to-right words inside a right-to-left line */
:where(.dd-ct-list .elementor-icon-list-item:nth-child(-n + 2) .elementor-icon-list-text):not(.dd-z.dd-z.dd-z z z z z z) { unicode-bidi: plaintext; text-align: right; }

/* ---------- 3. "let's talk" + the booking calendar (Cal.com) in a calm frame ---------- */
:where(.elementor .e-con.dd-ct-call):not(.dd-z.dd-z z z z z z) { display: block; }
:where(.elementor .e-con.dd-ct-call):not(.dd-z.dd-z z z z z z z z z) { --padding-top: clamp(70px, 8vw, 130px); --padding-bottom: clamp(70px, 8vw, 130px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-call):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-call):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding-block: clamp(70px, 8vw, 130px); }
:where(.elementor .elementor-element.dd-ct-call__title):not(.dd-z.dd-z z z z z z) { margin-inline: 0; max-width: 22ch; --dd-max-w: 22ch; }
:where(.elementor .elementor-element.dd-ct-call__title):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: clamp(20px, 2.4vw, 36px); }
:where(.elementor .elementor-element.dd-ct-cal):not(.dd-z.dd-z z z z z z) { padding: clamp(10px, 1.4vw, 20px); border-radius: var(--dd-radius-lg); background: var(--dd-cream); }
:where(.dd-ct-cal #my-cal-inline):not(.dd-z.dd-z z z z z z z z z z z z z z z z z z z z) { width: 100% !important; height: auto !important; min-height: 520px; overflow: visible !important; border-radius: 18px; }
:where(.dd-ct-cal iframe):not(.dd-z z z) { display: block; width: 100% !important; max-width: 100%; border: 0; }

/* ---------- 4. recommendations: the strip (dd-services.css) + the 10 videos — one size, portrait, open in a lightbox ---------- */
:where(.elementor .e-con.dd-ct-reviews):not(.dd-z.dd-z z z z z z z z z) { --padding-top: clamp(70px, 8vw, 130px); --padding-bottom: clamp(70px, 8vw, 130px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-reviews):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-reviews):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding-block: clamp(70px, 8vw, 130px); }
:where(.elementor .e-con.dd-ct-vgrid):not(.dd-z.dd-z z z z z z z z z) { --margin-top: clamp(40px, 5vw, 72px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-vgrid):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-vgrid):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { margin-top: clamp(40px, 5vw, 72px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-vgrid):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-vgrid):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 22px); }
:where(.elementor .e-con.dd-ct-video):not(.dd-z.dd-z z z z z z) { display: flex; }
:where(.elementor .e-con.dd-ct-video):not(.dd-z.dd-z z z z z z z z z) { --flex-direction: column; --align-items: flex-start; --gap: 8px; }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-video):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-video):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { flex-direction: column; align-items: flex-start; gap: 8px; }
:where(:where(body:not([class*="elementor-kit-"])) .dd-ct-video__player .elementor-wrapper):not(.dd-z.dd-z z) { aspect-ratio: 9 / 16; }
:where(.dd-ct-video__player .elementor-wrapper):not(.dd-z.dd-z z) { position: relative; border-radius: 18px; overflow: hidden; background: var(--dd-deep); box-shadow: 0 22px 44px -30px color-mix(in srgb, var(--dd-deep) 70%, transparent); transition: transform .6s var(--dd-ease-out), box-shadow .6s; }
:where(.dd-ct-video:hover .dd-ct-video__player .elementor-wrapper):not(.dd-z.dd-z.dd-z z z z z z) { transform: translateY(-5px); box-shadow: 0 32px 54px -30px color-mix(in srgb, var(--dd-deep) 80%, transparent); }
:where(.dd-ct-video__player .dd-yt):not(.dd-z.dd-z z) { position: absolute; inset: 0; border-radius: 0; aspect-ratio: auto; width: 100%; height: 100%; }
:where(.dd-ct-video__player .elementor-custom-embed-image-overlay):not(.dd-z.dd-z z) { position: absolute; inset: 0; background-size: cover; background-position: center; cursor: pointer; }
:where(.dd-ct-video__player .elementor-custom-embed-image-overlay img):not(.dd-z.dd-z z z) { width: 100%; height: 100%; object-fit: cover; object-position: center; }
:where(.dd-ct-video__player .elementor-custom-embed-image-overlay):not(.dd-z.dd-z z z)::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, color-mix(in srgb, var(--dd-deep) 50%, transparent), color-mix(in srgb, var(--dd-deep) 0%, transparent) 55%); pointer-events: none; }
:where(.dd-ct-video__player .elementor-custom-embed-play):not(.dd-z.dd-z z) { z-index: 1; }
:where(.dd-ct-video__player .elementor-custom-embed-play svg):not(.dd-z.dd-z z z), :where(.dd-ct-video__player .elementor-custom-embed-play i):not(.dd-z.dd-z z z) { fill: #fff; color: #fff; filter: drop-shadow(0 6px 18px rgb(0 0 0 / .45)); }
:where(.dd-ct-video__player .dd-yt__play):not(.dd-z.dd-z z) { width: 58px; height: 58px; }
:where(.elementor .elementor-element.dd-ct-video__link):not(.dd-z.dd-z z z z z z) { width: auto; font-weight: 700; }
:where(.elementor .elementor-element.dd-ct-video__link .elementor-button):not(.dd-z.dd-z.dd-z z z z z z) { padding-inline: 0; }
:where(.elementor .elementor-element.dd-ct-video__link .elementor-button):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) { color: var(--dd-navy); }
:where(.elementor .elementor-element.dd-ct-video__link .elementor-button:hover):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) { color: var(--dd-brick); }
:where(.dd-ct-vgrid > .dd-ct-video:nth-child(5n + 2)):not(.dd-z.dd-z z z z z z) { --dd-delay: 80ms; } :where(.dd-ct-vgrid > .dd-ct-video:nth-child(5n + 3)):not(.dd-z.dd-z z z z z z) { --dd-delay: 160ms; }
:where(.dd-ct-vgrid > .dd-ct-video:nth-child(5n + 4)):not(.dd-z.dd-z z z z z z) { --dd-delay: 240ms; } :where(.dd-ct-vgrid > .dd-ct-video:nth-child(5n)):not(.dd-z.dd-z z z z z z) { --dd-delay: 320ms; }

/* the video lightbox: large, in the video file's shape (16:9 or 9:16), nothing cut, YouTube's controls whole
   (.dd-vbox = the prototype's stand-in; .elementor-lightbox = Elementor's own: Video → Lightbox: Yes + Aspect Ratio) */
:where(html.dd-vbox-open):not(.dd-z z z) { overflow: hidden; }
:where(.dd-vbox):not(.dd-z z) { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 56px 16px 16px; background: rgb(9 20 31 / .94); container-type: size; }
:where(.dd-vbox__player):not(.dd-z z) { width: min(100cqw, calc(100cqh * (var(--dd-vbox-ratio))), 1600px); aspect-ratio: var(--dd-vbox-ratio); border-radius: 12px; overflow: hidden; background: #000; }
:where(.dd-vbox__player iframe):not(.dd-z z z) { display: block; width: 100%; height: 100%; border: 0; }
:where(.dd-vbox__close):not(.dd-z z) { position: absolute; top: 8px; inset-inline-end: 12px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgb(255 255 255 / .12); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; }
:where(.dd-vbox__close:hover):not(.dd-z.dd-z z), :where(.dd-vbox__close:focus-visible):not(.dd-z.dd-z z) { background: var(--dd-brick); }
:where(.elementor-lightbox.dialog-lightbox-widget):not(.dd-z.dd-z z) { background-color: rgb(9 20 31 / .94) !important; }
:where(.elementor-lightbox .elementor-video-container):not(.dd-z.dd-z z) { place-items: center; box-sizing: border-box; transform: none !important; container-type: size; }
:where(.elementor-lightbox .elementor-video-container):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) { display: grid; inset: 0; width: 100%; height: 100%; padding: 56px 16px 16px; }
:where(.elementor-lightbox .elementor-video-container .elementor-video-landscape):not(.dd-z.dd-z.dd-z z) { --dd-vbox-ratio: 16 / 9; }
:where(.elementor-lightbox .elementor-video-container .elementor-video-portrait):not(.dd-z.dd-z.dd-z z) { --dd-vbox-ratio: 9 / 16; }
:where(.elementor-lightbox .elementor-video-container .elementor-video-wrapper):not(.dd-z.dd-z.dd-z z) { position: relative; aspect-ratio: var(--dd-vbox-ratio); border-radius: 12px; overflow: hidden; background: #000; }
:where(.elementor-lightbox .elementor-video-container .elementor-video-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: min(100cqw, calc(100cqh * (var(--dd-vbox-ratio))), 1600px); height: auto; padding: 0; }
:where(.elementor-lightbox .elementor-video-container .elementor-video-wrapper iframe):not(.dd-z.dd-z z z z z z z) { position: absolute; inset: 0; }
:where(.elementor-lightbox .elementor-video-container .elementor-video-wrapper iframe):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) { width: 100%; height: 100%; aspect-ratio: auto; }

/* ---------- 5. FAQ — Elementor's Nested Accordion: calm rows, a + that turns into −, the answer as readable text ---------- */
/* desktop: the heading on the side, the questions beside it */
:where(.elementor .e-con.dd-ct-faq):not(.dd-z.dd-z z z z z z z z z) { --padding-top: clamp(70px, 8vw, 130px); --padding-bottom: clamp(70px, 8vw, 130px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-faq):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-faq):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding-block: clamp(70px, 8vw, 130px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-faq):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-faq):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); gap: clamp(24px, 4vw, 70px); align-items: start; }
:where(.elementor .elementor-element.dd-ct-faq__title):not(.dd-z.dd-z z z z z z) { margin-inline: 0; position: sticky; top: 120px; }
:where(.elementor .elementor-element.dd-ct-faq__title):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(.dd-ct-acc .e-n-accordion):not(.dd-z.dd-z z) { display: flex; flex-direction: column; gap: 12px; }
:where(.dd-ct-acc .e-n-accordion-item):not(.dd-z.dd-z z) { border-radius: 22px; background: var(--dd-cream); overflow: hidden; transition: background-color .3s; }
:where(.dd-ct-acc .e-n-accordion-item[open]):not(.dd-z.dd-z.dd-z z) { background: #fff; box-shadow: 0 0 0 1.5px color-mix(in srgb, var(--dd-navy) 12%, transparent); }
:where(.dd-ct-acc .e-n-accordion-item-title):not(.dd-z.dd-z z) { align-items: center; justify-content: space-between; gap: 16px; list-style: none; cursor: pointer; }
:where(.dd-ct-acc .e-n-accordion-item-title):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) { display: flex; padding: clamp(16px, 1.8vw, 22px) clamp(18px, 2vw, 28px); border: 0; background: transparent; }
:where(.dd-ct-acc .e-n-accordion-item-title):not(.dd-z.dd-z z z)::-webkit-details-marker { display: none; }
:where(.dd-ct-acc .e-n-accordion-item-title):not(.dd-z.dd-z z z)::after { content: ""; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background: var(--dd-navy) linear-gradient(#fff, #fff) center / 12px 2px no-repeat; box-shadow: inset 0 0 0 0 transparent; transition: background-color .3s; }
:where(.dd-ct-acc .e-n-accordion-item:not([open]) .e-n-accordion-item-title):not(.dd-z.dd-z.dd-z z z z z z z)::after { background-image: linear-gradient(#fff, #fff), linear-gradient(#fff, #fff); background-size: 12px 2px, 2px 12px; background-position: center, center; background-repeat: no-repeat; }
:where(.dd-ct-acc .e-n-accordion-item[open] .e-n-accordion-item-title):not(.dd-z.dd-z.dd-z z z z z z z)::after { background-color: var(--dd-brick); }
:where(.elementor-widget-n-accordion.dd-ct-acc):not(.dd-z.dd-z z) { --n-accordion-title-font-size: clamp(1.08rem, 1rem + .35vw, 1.3rem); --n-accordion-title-normal-color: var(--dd-navy); --n-accordion-title-hover-color: var(--dd-navy); --n-accordion-title-active-color: var(--dd-navy); }
:where(:where(.dd-ct-acc .e-n-accordion-item-title-text):is(h1, h2, h3, h4, h5, h6, div, span, p)):not(z z) { line-height: 1.35; font-weight: 800; }
:where(.dd-ct-acc .e-n-accordion-item-title-text):not(.dd-z.dd-z z) { margin: 0; color: var(--n-accordion-title-normal-color); }
:where(.dd-ct-acc .e-n-accordion-item-title:hover .e-n-accordion-item-title-text):not(.dd-z.dd-z.dd-z z z z z z) { color: var(--n-accordion-title-hover-color, var(--n-accordion-title-normal-color)); }
:where(.dd-ct-acc .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-text):not(.dd-z.dd-z.dd-z z z z z z z z z z z) { color: var(--n-accordion-title-active-color, var(--n-accordion-title-normal-color)); }
:where(:where(body:not([class*="elementor-kit-"])) .dd-ct-acc .e-n-accordion-item-title-text):not(.dd-z.dd-z z) { font-size: clamp(1.08rem, 1rem + .35vw, 1.3rem); color: var(--dd-navy); }
:where(.dd-ct-acc .e-n-accordion-item-title:focus-visible):not(.dd-z.dd-z.dd-z z) { outline: 3px solid var(--dd-brick); outline-offset: -3px; border-radius: 22px; }
:where(.dd-ct-acc .e-n-accordion-item > .e-con):not(.dd-z.dd-z z z z z z) { display: block; }
:where(.dd-ct-acc .e-n-accordion-item > .e-con):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) { border: 0; }
:where(.dd-ct-acc .e-n-accordion-item > .e-con):not(.dd-z.dd-z z z z z z z z z z z z z z z) { --padding-top: 0; --padding-right: clamp(18px, 2vw, 28px); --padding-bottom: clamp(18px, 2vw, 26px); --padding-left: clamp(18px, 2vw, 28px); }
:where(body:not([class*="elementor-kit-"])) :where(.dd-ct-acc .e-n-accordion-item > .e-con):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), :where(.dd-ct-acc .e-n-accordion-item > .e-con):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):where(:not(.e-con)) { padding: 0 clamp(18px, 2vw, 28px) clamp(18px, 2vw, 26px); }
:where(.dd-ct-acc__text):not(.dd-z z) { color: var(--dd-ink); font-size: 1.02rem; line-height: 1.8; }
:where(.dd-ct-acc__text p):not(.dd-z z z) { margin: 0 0 .8em; } :where(.dd-ct-acc__text p:last-child):not(.dd-z.dd-z z z) { margin-bottom: 0; }
:where(.dd-ct-acc__text ul):not(.dd-z z z) { margin: .4em 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
:where(.dd-ct-acc__text li):not(.dd-z z z) { padding: 6px 14px; border-radius: 999px; background: var(--dd-cream); font-size: .95rem; line-height: 1.4; }
:where(.dd-ct-acc__text li:last-child):not(.dd-z.dd-z z z) { flex-basis: 100%; padding: 6px 0 0; background: none; }
:where(.dd-ct-acc__text a):not(.dd-z z z) { color: var(--dd-brick); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- entrance: gentle (dd-reveal = fade + small rise); the form card = fade only, then still ---------- */
:where(html.dd-motion .e-con.dd-ct-formcard.dd-reveal):not(.dd-z.dd-z z z z z z z z z z z) { transition: opacity 1s ease-out; }
:where(html.dd-motion .e-con.dd-ct-formcard.dd-reveal:not(.is-in)):not(.dd-z.dd-z z z z z z z z z z z z z z) { transform: none; }
:where(.dd-ct-grid > .dd-ct-details):not(.dd-z.dd-z z) { --dd-delay: 150ms; }

/* ---------- tablet ---------- */
@media (max-width: 1199px) {
  :where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-grid):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-grid):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { grid-template-columns: minmax(0, 1fr); }
  :where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-faq):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-faq):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { grid-template-columns: minmax(0, 1fr); }
  :where(.elementor .elementor-element.dd-ct-faq__title):not(.dd-z.dd-z z z z z z) { position: static; }
  :where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-vgrid):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-vgrid):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { grid-template-columns: repeat(6, minmax(0, 1fr)); } /* 3 per row (each = 2 of 6) */
  :where(.elementor .e-con.dd-ct-video):not(.dd-z.dd-z z z z z z) { grid-column: span 2; }
  :where(.elementor .e-con.dd-ct-video:last-child:nth-child(3n + 1)):not(.dd-z.dd-z z z z z z z z z z z z z) { grid-column: 3 / span 2; }
  :where(.dd-ct-vgrid > .dd-ct-video):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) { --dd-delay: 0ms; }
}
/* ---------- mobile ---------- */
@media (max-width: 639px) {
  :where(.elementor .e-con.dd-ct-hero):not(.dd-z.dd-z z z z z z z z z) { --padding-bottom: 96px; }
  :where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-hero):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-hero):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding-bottom: 96px; }
  :where(.elementor .e-con.dd-ct-grid):not(.dd-z.dd-z z z z z z z z z) { --margin-top: -64px; }
  :where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-grid):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-grid):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { margin-top: -64px; }
  :where(.dd-ct-form .elementor-field-group.elementor-col-50):not(.dd-z.dd-z.dd-z z) { flex-basis: 100%; max-width: 100%; }
  :where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-ct-vgrid):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-vgrid):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  :where(.elementor .e-con.dd-ct-video):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-ct-video:last-child:nth-child(3n + 1)):not(.dd-z.dd-z z z z z z z z z z z z z) { grid-column: auto; }
  :where(.dd-ct-video__player .elementor-wrapper):not(.dd-z.dd-z z) { border-radius: 14px; }
  :where(.elementor .elementor-element.dd-ct-video__link .elementor-button):not(.dd-z.dd-z.dd-z z z z z z) { font-size: .86rem; white-space: normal; text-align: start; }
  :where(.dd-ct-video__player .dd-yt__play):not(.dd-z.dd-z z) { width: 48px; height: 48px; }
}
/* ---------- reduced motion: nothing moves, everything is shown ---------- */
@media (prefers-reduced-motion: reduce) {
  :where(.dd-ct-video__player .elementor-wrapper):not(.dd-z.dd-z z), :where(.dd-ct-list a):not(.dd-z z z), :where(.dd-ct-form .elementor-field-textual):not(.dd-z.dd-z z) { transition: none !important; }
  :where(.dd-ct-video:hover .dd-ct-video__player .elementor-wrapper):not(.dd-z.dd-z.dd-z z z z z z) { transform: none; }
}
/* the prototype rotates the heading's words with .is-on (dd-motion.js); WordPress with Elementor's own active class */
:where(.elementor .dd-ct-h1 .dd-words > .elementor-headline-dynamic-text.is-on):not(.dd-z.dd-z.dd-z z z z z z z z z z z) { opacity: 1; transform: none; }
/* Elementor's kit (WordPress): its global colour on the heading's fixed words, centred headline, Roboto in the form —
   the site's own colour / alignment / font win here (this page only) */
:where(.elementor .elementor-element.dd-ct-h1 .elementor-headline):not(.dd-z.dd-z.dd-z z z z z z) { margin-inline-start: 0; }
:where(.elementor .elementor-element.dd-ct-h1 .elementor-headline):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) { text-align: right; }
:where(.elementor .elementor-element.dd-ct-h1 .elementor-headline-plain-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 z z z) { color: var(--dd-cream); font-family: inherit; }
:where(.elementor .elementor-element.dd-ct-h1 .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 z z z) { font-family: inherit; }
:where(.elementor .elementor-element.dd-ct-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 z z z z z z z z z z z z z z z z z z) { font-family: var(--dd-font); font-size: .95rem; font-weight: 700; }
:where(.elementor .elementor-element.dd-ct-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), :where(.elementor .elementor-element.dd-ct-form .elementor-field-option label):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), :where(.elementor .elementor-element.dd-ct-form .elementor-button):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) { font-family: var(--dd-font); }
:where(.elementor .elementor-element.dd-ct-form .elementor-field-group .elementor-field-option label):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) { font-size: .86rem; line-height: 1.6; }
:where(.elementor .elementor-element.dd-ct-form .elementor-button):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) { font-size: 1.08rem; font-weight: 700; min-height: 56px; }
:where(.elementor .elementor-element.dd-ct-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)::after { content: " *" !important; }
:where(.elementor .elementor-element.dd-ct-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 z z z z z z z z z z z z z z z z z z)::after { color: var(--dd-brick); padding: 0; }
:where(.elementor .elementor-element.dd-ct-h1):not(.dd-z.dd-z z z z z z) { --dynamic-text-color: var(--dd-brick-soft); }
:where(.elementor .elementor-element.dd-ct-h1 .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 z z z) { font-family: inherit; font-weight: inherit; }
:where(:where(body:not([class*="elementor-kit-"])) .elementor .elementor-element.dd-ct-h1 .elementor-headline-dynamic-text):not(.dd-z.dd-z.dd-z z z z z z) { color: var(--dd-brick-soft); }
:where(.elementor .elementor-element.dd-ct-acc .e-n-accordion-item-title):not(.dd-z.dd-z.dd-z z z z z z) { font-family: var(--dd-font); }
:where(.elementor .elementor-element.dd-ct-acc .dd-ct-acc__text):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) { font-family: var(--dd-font); }
