/* =====================================================================================================
   dd-article.css — the single-post template (all articles), 11.10.2026
   Written for Elementor's markup (Theme Builder single template: e-con containers, theme-post-* / post-navigation /
   posts / form widgets); the prototype renders the same markup. Tokens = dd-tokens.css. Motion: dd-motion.js
   (dd-title, dd-img-reveal, dd-reveal, dd-stagger) + the recommendations strip of dd-services.js.
   ===================================================================================================== */
:where(.dd-art-hero):not(.dd-z z), :where(.dd-art-body):not(.dd-z z), :where(.dd-art-media-wrap):not(.dd-z z) { --dd-read: 720px; --dd-side: 340px; --dd-art-w: calc(var(--dd-read) + var(--dd-side) + clamp(40px, 6vw, 96px)); }
:where(.elementor .e-con[class*="dd-art"]):not(.dd-z.dd-z z z z z z) { --widgets-spacing: 0px; min-width: 0; }
:where(.elementor .elementor-widget[class*="dd-art"]):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-art-"]):not(.dd-z.dd-z z z z z z z z z z) { overflow-x: clip; }
:where(.ast-separate-container .ast-article-single.elementor-location-single):not(.dd-z.dd-z.dd-z z) { padding: 0; background: none; }

/* ---------- 1. opening: breadcrumbs + a clear, moderate title ---------- */
:where(.elementor .e-con.dd-art-hero):not(.dd-z.dd-z z z z z z) { display: block; }
:where(.elementor .e-con.dd-art-hero):not(.dd-z.dd-z z z z z z z z z) { --padding-top: clamp(100px, 6vw + 56px, 132px); --padding-bottom: clamp(100px, 9vw, 160px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-hero):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-hero):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding-block: clamp(100px, 6vw + 56px, 132px) clamp(100px, 9vw, 160px); }
:where(.dd-art-hero > .elementor-widget):not(.dd-z.dd-z z) { width: min(100%, var(--dd-art-w)); margin-inline: auto; }
:where(.dd-art-crumbs .dd-crumbs ol):not(.dd-z.dd-z z z) { margin: 0 0 clamp(14px, 1.6vw, 24px); }
:where(.elementor .elementor-element.dd-art-title):not(.dd-z.dd-z z z z z z) { font-size: clamp(1.65rem, 1.1rem + 1.45vw, 2.6rem); line-height: 1.18; letter-spacing: -.01em; font-weight: 800; color: var(--dd-cream); }
/* the post-title widget is not a plain heading → the bridge (dd-elementor.css) does not reach it: the h1 inherits here */
:where(.elementor .elementor-element.dd-art-title .elementor-heading-title):not(.dd-z.dd-z.dd-z z z z z z) { font: inherit; color: inherit; letter-spacing: inherit; line-height: inherit; margin: 0; max-width: 30ch; text-wrap: balance; }

/* ---------- 2. the main picture: overlaps the opening, natural proportions (never cropped or stretched) ---------- */
:where(.elementor .e-con.dd-art-media-wrap):not(.dd-z.dd-z z z z z z) { --dd-overlap: clamp(80px, 9vw, 150px); display: block; z-index: 2; background: linear-gradient(to bottom, transparent var(--dd-overlap), #fff var(--dd-overlap)); }
:where(.elementor .e-con.dd-art-media-wrap):not(.dd-z.dd-z z z z z z z z z) { --position: relative; --margin-top: calc(-1 * var(--dd-overlap)); --padding-right: var(--dd-gutter); --padding-left: var(--dd-gutter); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-media-wrap):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-media-wrap):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { position: relative; margin-top: calc(-1 * var(--dd-overlap));
  padding-inline: var(--dd-gutter); }
:where(.dd-art-media):not(.dd-z z) { margin-inline: auto; }
:where(.dd-art-media):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) { width: min(100%, var(--dd-art-w)); }
:where(.dd-art-media img):not(.dd-z z z) { display: block; width: auto; max-width: 100%; height: auto; max-height: min(62vh, 620px); margin-inline: auto; border-radius: var(--dd-radius-lg);
  box-shadow: 0 34px 80px -34px rgb(10 22 34 / .6); }
/* reveal on scroll — gentle: the frame opens downward while the picture settles (uniform scale only) */
:where(html.dd-motion .dd-art-media.dd-img-reveal):not(.dd-z.dd-z z z z z z z) { clip-path: inset(0 0 0 0); opacity: 1; transition: clip-path 1.7s cubic-bezier(.22, 1, .36, 1), opacity .9s ease; }
:where(html.dd-motion .dd-art-media.dd-img-reveal:not(.is-in)):not(.dd-z.dd-z z z z z z z z z z z) { clip-path: inset(0 0 26% 0); opacity: 0; }
:where(html.dd-motion .dd-art-media.dd-img-reveal img):not(.dd-z.dd-z z z z z z z z) { transform-origin: 50% 0; transition: transform 1.9s cubic-bezier(.22, 1, .36, 1); }
:where(html.dd-motion .dd-art-media.dd-img-reveal:not(.is-in) img):not(.dd-z.dd-z z z z z z z z z z z z) { transform: translateY(28px) scale(1.035); }

/* ---------- 3. the article + the side card ---------- */
:where(.elementor .e-con.dd-art-body):not(.dd-z.dd-z z z z z z z z z) { --padding-top: clamp(44px, 5vw, 84px); --padding-bottom: clamp(70px, 8vw, 130px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-body):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-body):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding-block: clamp(44px, 5vw, 84px) clamp(70px, 8vw, 130px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-body):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-body):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { display: grid; grid-template-columns: minmax(0, var(--dd-read)) minmax(0, var(--dd-side)); justify-content: center; align-items: start;
  column-gap: clamp(40px, 6vw, 96px); row-gap: 56px; }
:where(.elementor .e-con.dd-art-main):not(.dd-z.dd-z z z z z z) { display: flex; }
:where(.elementor .e-con.dd-art-main):not(.dd-z.dd-z z z z z z z z z) { --flex-direction: column; --gap: clamp(34px, 4vw, 54px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-main):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-main):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { flex-direction: column; gap: clamp(34px, 4vw, 54px); }
/* reading: comfortable size, generous line height, a clear heading hierarchy */
:where(.dd-art-content.dd-prose):not(.dd-z.dd-z z) { max-width: none; --dd-max-w: none; font-size: clamp(1.08rem, 1rem + .3vw, 1.2rem); line-height: 1.9; color: var(--dd-ink); }
:where(.dd-art-content > .elementor-widget-container > :first-child):not(.dd-z.dd-z.dd-z z) { margin-top: 0; }
:where(.dd-art-content > .elementor-widget-container > :last-child):not(.dd-z.dd-z.dd-z z) { margin-bottom: 0; }
:where(.dd-art-content p):not(.dd-z z z) { margin: 0 0 1.15em; }
:where(.dd-art-content h2):not(.dd-z z z) { font-size: clamp(1.4rem, 1.12rem + .95vw, 2rem); line-height: 1.25; font-weight: 800; color: var(--dd-navy); margin: 1.9em 0 .6em; }
:where(.dd-art-content h3):not(.dd-z z z) { font-size: clamp(1.18rem, 1.04rem + .5vw, 1.45rem); line-height: 1.3; font-weight: 800; color: var(--dd-navy); margin: 1.6em 0 .5em; }
:where(.dd-art-content h4):not(.dd-z z z) { font-size: 1.1em; color: var(--dd-navy); margin: 1.4em 0 .4em; }
:where(.dd-art-content strong):not(.dd-z z z), :where(.dd-art-content b):not(.dd-z z z) { color: var(--dd-navy); }
:where(.dd-art-content ul):not(.dd-z z z), :where(.dd-art-content ol):not(.dd-z z z) { margin: 0 0 1.25em; padding-inline-start: 1.3em; }
:where(.dd-art-content li):not(.dd-z z z) { margin-bottom: .5em; padding-inline-start: .2em; }
:where(.dd-art-content li):not(.dd-z z z z)::marker { color: var(--dd-brick); font-weight: 700; }
:where(.dd-art-content a):not(.dd-z z z) { color: var(--dd-brick); }
:where(.dd-art-content img):not(.dd-z z z) { border-radius: 18px; margin: 1.8em auto; }
:where(.dd-art-content img.emoji):not(.dd-z.dd-z z z), :where(.dd-art-content img.wp-smiley):not(.dd-z.dd-z z z) { display: inline; width: 1em; height: 1em; margin: 0 .07em; vertical-align: -.1em; border-radius: 0; box-shadow: none; }
:where(.dd-art-content blockquote):not(.dd-z z z) { margin: 1.6em 0; padding: .6em 1.4em; border-inline-start: 4px solid var(--dd-brick); background: var(--dd-cream); border-radius: 0 14px 14px 0; }
/* the three buttons */
:where(.elementor .e-con.dd-art-links):not(.dd-z.dd-z z z z z z) { display: flex; }
:where(.elementor .e-con.dd-art-links):not(.dd-z.dd-z z z z z z z z z) { --flex-direction: row; --flex-wrap: wrap; --gap: 12px; --padding-top: 8px; }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-links):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-links):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { flex-direction: row; flex-wrap: wrap; gap: 12px; padding-top: 8px; }
:where(.dd-art-links > .elementor-widget):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) { width: auto; }
/* previous / next */
:where(.dd-art-nav .elementor-post-navigation):not(.dd-z.dd-z z) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 28px; border-top: 1px solid var(--dd-line); margin: 0; }
:where(.dd-art-nav .elementor-post-navigation__link):not(.dd-z.dd-z z) { width: auto; max-width: none; }
:where(.dd-art-nav .elementor-post-navigation__separator-wrapper):not(.dd-z.dd-z z), :where(.dd-art-nav .post-navigation__arrow-wrapper):not(.dd-z.dd-z z) { display: none; }
:where(.dd-art-nav .elementor-post-navigation__link a):not(.dd-z.dd-z z z) { display: flex; height: 100%; padding: 18px 22px; border-radius: 20px; background: var(--dd-cream); color: var(--dd-navy); text-decoration: none; transition: background .35s, color .35s, transform .5s var(--dd-ease-out); }
:where(.dd-art-nav .elementor-post-navigation__link a > span):not(.dd-z.dd-z z z z) { display: flex; flex-direction: column; gap: 6px; width: 100%; }
:where(.dd-art-nav .elementor-post-navigation__next a > span):not(.dd-z.dd-z z z z) { text-align: end; align-items: flex-end; }
:where(.dd-art-nav [class*="--label"]):not(.dd-z.dd-z z) { font-size: .9rem; font-weight: 700; color: var(--dd-brick); text-transform: none; transition: color .35s; }
:where(.dd-art-nav [class*="--title"]):not(.dd-z.dd-z z) { font-size: 1.02rem; font-weight: 700; line-height: 1.4; color: inherit; text-transform: none; }
:where(.dd-art-nav .elementor-post-navigation__link a:hover):not(.dd-z.dd-z.dd-z z z), :where(.dd-art-nav .elementor-post-navigation__link a:focus-visible):not(.dd-z.dd-z.dd-z z z) { background: var(--dd-navy); color: #fff; transform: translateY(-3px); }
:where(.dd-art-nav .elementor-post-navigation__link a:hover [class*="--label"]):not(.dd-z.dd-z.dd-z z z z z z z), :where(.dd-art-nav .elementor-post-navigation__link a:focus-visible [class*="--label"]):not(.dd-z.dd-z.dd-z z z z z z z) { color: var(--dd-brick-soft); }
:where(.dd-art-nav .elementor-post-navigation__link:empty):not(.dd-z.dd-z.dd-z z) { visibility: hidden; }
/* the side card: question + form, follows the reading on wide screens */
:where(.elementor .e-con.dd-art-aside):not(.dd-z.dd-z z z z z z) { display: block; top: 104px; }
:where(.elementor .e-con.dd-art-aside):not(.dd-z.dd-z z z z z z z z z) { --position: sticky; }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-aside):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-aside):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { position: sticky; }
:where(.elementor .e-con.dd-art-ask):not(.dd-z.dd-z z z z z z) { display: block; background: var(--dd-navy); color: var(--dd-cream); box-shadow: 0 30px 60px -36px rgb(10 22 34 / .7); }
:where(.elementor .e-con.dd-art-ask):not(.dd-z.dd-z z z z z z z z z) { --padding-top: clamp(24px, 2.4vw, 34px); --padding-right: clamp(24px, 2.4vw, 34px); --padding-bottom: clamp(24px, 2.4vw, 34px); --padding-left: clamp(24px, 2.4vw, 34px); --border-radius: var(--dd-radius-lg); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-ask):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-ask):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding: clamp(24px, 2.4vw, 34px); border-radius: var(--dd-radius-lg); }
:where(.elementor .elementor-element.dd-art-ask__kicker):not(.dd-z.dd-z z z z z z) { color: var(--dd-brick-soft); font-weight: 700; font-size: 1.05rem; }
:where(.elementor .elementor-element.dd-art-ask__title):not(.dd-z.dd-z z z z z z) { font-size: clamp(1.6rem, 1.2rem + 1vw, 2.2rem); line-height: 1.1; font-weight: 800; color: #fff; margin-inline: 0; }
:where(.elementor .elementor-element.dd-art-ask__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: 4px; margin-bottom: 18px; }
:where(.dd-art-form .elementor-form-fields-wrapper):not(.dd-z.dd-z z) { display: flex; flex-wrap: wrap; gap: 14px; }
:where(.dd-art-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-art-form .elementor-field-group):not(.dd-z.dd-z z) { flex: 1 1 100%; max-width: 100%; width: 100%; }
:where(.dd-art-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-art-form .elementor-field-label):not(.dd-z.dd-z z) { display: block; margin: 0 0 6px; font-size: .92rem; font-weight: 700; color: var(--dd-cream); }
:where(.dd-art-form .elementor-mark-required .elementor-field-label):not(.dd-z.dd-z.dd-z z z)::after { content: " *"; color: var(--dd-brick-soft); }
:where(.dd-art-form .elementor-field-textual):not(.dd-z.dd-z z) { width: 100%; min-height: 48px; padding: 10px 14px; border-radius: 12px; border: 1.5px solid color-mix(in srgb, var(--dd-cream) 35%, transparent); background: color-mix(in srgb, var(--dd-cream) 6%, transparent); color: #fff; font: inherit; font-size: 1rem; }
:where(.dd-art-form .elementor-field-textual):not(.dd-z.dd-z z z)::placeholder { color: color-mix(in srgb, var(--dd-cream) 55%, transparent); }
:where(.dd-art-form .elementor-field-textual:focus):not(.dd-z.dd-z.dd-z z) { outline: 3px solid var(--dd-brick-soft); outline-offset: 1px; border-color: transparent; }
:where(.dd-art-form .elementor-field-subgroup):not(.dd-z.dd-z z), :where(.dd-art-form .elementor-field-option):not(.dd-z.dd-z z) { display: flex; gap: 10px; align-items: flex-start; }
:where(.dd-art-form .elementor-field-option label):not(.dd-z.dd-z z z) { font-size: .82rem; line-height: 1.55; color: color-mix(in srgb, var(--dd-cream) 82%, transparent); }
:where(.dd-art-form .elementor-field-option label a):not(.dd-z.dd-z z z z) { color: inherit; text-decoration: underline; }
:where(.dd-art-form .elementor-acceptance-field):not(.dd-z.dd-z z) { margin-top: 4px; flex: none; width: 18px; height: 18px; accent-color: var(--dd-brick); }
:where(.dd-art-form .elementor-button):not(.dd-z.dd-z z) { width: 100%; min-height: 52px; border-radius: 999px; background: var(--dd-brick); color: #fff; font: inherit; font-weight: 700; font-size: 1.05rem; border: 0; cursor: pointer; transition: background .3s; }
:where(.dd-art-form .elementor-button:hover:not([disabled])):not(.dd-z.dd-z.dd-z z z z z z) { background: #a2433b; }
:where(.dd-art-form .elementor-button[disabled]):not(.dd-z.dd-z.dd-z z) { opacity: .55; cursor: not-allowed; }
:where(.dd-art-form .dd-note--proto):not(.dd-z.dd-z z) { flex: 1 1 100%; margin: 0; font-size: .82rem; color: color-mix(in srgb, var(--dd-cream) 75%, transparent); }
:where(.dd-art-form .elementor-message):not(.dd-z.dd-z z) { color: var(--dd-cream); }

/* Elementor's kit (global colours / form & button styles) writes per-widget rules with high specificity — these win */
:where(.elementor .elementor-element.dd-art-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: color-mix(in srgb, var(--dd-cream) 6%, transparent); color: #fff; border: 1.5px solid color-mix(in srgb, var(--dd-cream) 35%, transparent); border-radius: 12px; }
:where(.elementor .elementor-element.dd-art-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-cream); }
:where(.elementor .elementor-element.dd-art-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: color-mix(in srgb, var(--dd-cream) 82%, transparent); }
:where(.elementor .elementor-element.dd-art-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-art-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-art-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: #a2433b; }
:where(.elementor .elementor-element.dd-art-nav .elementor-post-navigation__link a):not(.dd-z.dd-z.dd-z z z z z z z) { opacity: 1; }
:where(.elementor .elementor-element.dd-art-nav .elementor-post-navigation__link 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 z z z z z z z) { color: var(--dd-navy); }
:where(.elementor .elementor-element.dd-art-nav .elementor-post-navigation__link a: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 z), :where(.elementor .elementor-element.dd-art-nav .elementor-post-navigation__link a:focus-visible):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: #fff; }
:where(.elementor .elementor-element.dd-art-nav [class*="--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) { color: var(--dd-brick); font-size: .9rem; }
:where(.elementor .elementor-element.dd-art-nav a:hover [class*="--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), :where(.elementor .elementor-element.dd-art-nav a:focus-visible [class*="--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-brick-soft); }
:where(.elementor .elementor-element.dd-art-nav [class*="--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) { color: inherit; font-size: 1.02rem; white-space: normal; overflow: visible; text-overflow: clip; } /* Pro truncates to one line — the whole title is shown */
:where(.elementor .elementor-element.dd-art-nav .elementor-post-navigation__link__prev):not(.dd-z.dd-z.dd-z z z z z z), :where(.elementor .elementor-element.dd-art-nav .elementor-post-navigation__link__next):not(.dd-z.dd-z.dd-z z z z z z) { max-width: 100%; }
:where(.elementor .elementor-element.dd-art-nav .elementor-post-navigation__link__prev):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), :where(.elementor .elementor-element.dd-art-nav .elementor-post-navigation__link__next):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) { white-space: normal; overflow: visible; }
:where(.elementor .elementor-element.dd-art-cards .elementor-post__badge):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) { background-color: var(--dd-brick); color: #fff; }
:where(.elementor .elementor-element.dd-art-cards .elementor-post__title 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 z z z z z z z) { color: var(--dd-navy); }
:where(.elementor .elementor-element.dd-art-cards .elementor-post__read-more):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-brick); }
:where(.dd-art-cards .elementor-post__avatar):not(.dd-z.dd-z z), :where(.dd-art-cards .elementor-post__meta-data):not(.dd-z.dd-z z) { display: none !important; }
:where(.elementor .elementor-element.dd-art-cards .elementor-post__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) { border: 0; background-color: #fff; }

/* ---------- 4. related articles (Elementor posts widget, cards skin) ---------- */
:where(.elementor .e-con.dd-art-related):not(.dd-z.dd-z z z z z z) { display: block; }
:where(.elementor .e-con.dd-art-related):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-art-related):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-related):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding-block: clamp(70px, 8vw, 130px); }
:where(.dd-art-related > .elementor-widget-heading):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) { margin-bottom: clamp(26px, 3vw, 44px); }
:where(.dd-art-cards .elementor-posts-container):not(.dd-z.dd-z z) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2vw, 32px); }
:where(.dd-art-cards .elementor-posts-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; }
:where(.dd-art-cards .elementor-post):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-art-cards .elementor-post__card):not(.dd-z.dd-z z) { position: relative; display: flex; flex-direction: column; height: 100%; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 22px 50px -34px color-mix(in srgb, var(--dd-navy) 50%, transparent); transition: transform .6s var(--dd-ease-out), box-shadow .6s; }
:where(.dd-art-cards .elementor-post__card:hover):not(.dd-z.dd-z.dd-z z) { transform: translateY(-6px); box-shadow: 0 32px 60px -34px color-mix(in srgb, var(--dd-navy) 55%, transparent); }
:where(.dd-art-cards .elementor-post__thumbnail__link):not(.dd-z.dd-z z) { display: block; width: 100%; }
:where(.dd-art-cards .elementor-post__thumbnail__link):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-art-cards .elementor-post__thumbnail):not(.dd-z.dd-z z) { position: relative; overflow: hidden; }
:where(:where(body:not([class*="elementor-kit-"])) .dd-art-cards .elementor-post__thumbnail):not(.dd-z.dd-z z) { aspect-ratio: 16 / 10; padding-bottom: 0; }
:where(.dd-art-cards .elementor-post__thumbnail img):not(.dd-z.dd-z z z) { position: absolute; inset: 0; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; transform: none !important; transition: transform 1s var(--dd-ease-out) !important; }
:where(.dd-art-cards .elementor-post__card:hover .elementor-post__thumbnail img):not(.dd-z.dd-z z z z z z z z z z z) { transform: scale(1.05) !important; }
:where(.dd-art-cards .elementor-post__badge):not(.dd-z.dd-z z) { position: absolute; top: 14px; inset-inline-start: 14px; right: auto; left: auto; margin: 0; padding: 4px 12px; border-radius: 999px; background: var(--dd-brick); color: #fff; font-size: .8rem; font-weight: 700; line-height: 1.6; }
:where(.dd-art-cards .elementor-post__text):not(.dd-z.dd-z z) { display: flex; flex-direction: column; gap: 12px; flex: 1; }
:where(.dd-art-cards .elementor-post__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) { padding: 20px 22px 24px; margin: 0; }
:where(.dd-art-cards .elementor-post__title):not(.dd-z.dd-z z) { margin: 0; font-size: clamp(1.08rem, 1rem + .3vw, 1.25rem); line-height: 1.35; font-weight: 800; }
:where(.dd-art-cards .elementor-post__title a):not(.dd-z.dd-z z z) { color: var(--dd-navy); text-decoration: none; }
:where(.dd-art-cards .elementor-post__title a):not(.dd-z.dd-z z z z)::after { content: ""; position: absolute; inset: 0; } /* the whole card is the link */
:where(.dd-art-cards .elementor-post__read-more):not(.dd-z.dd-z z) { margin-top: auto; color: var(--dd-brick); font-weight: 700; font-size: .95rem; text-decoration: none; }
:where(.dd-art-cards .elementor-post__title a:focus-visible):not(.dd-z.dd-z.dd-z z z) { outline: none; }
:where(.dd-art-cards .elementor-post__card:has(a:focus-visible)):not(.dd-z.dd-z.dd-z z z) { outline: 3px solid var(--dd-brick); outline-offset: 4px; }

/* ---------- 6. recommendations: the strip of the services page (dd-services.css / .js) ---------- */
:where(.elementor .e-con.dd-art-reviews):not(.dd-z.dd-z z z z z z z z z) { --padding-top: clamp(80px, 9vw, 150px); --padding-bottom: clamp(80px, 9vw, 150px); }
:where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-reviews):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-reviews):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding-block: clamp(80px, 9vw, 150px); }

/* ---------- tablet ---------- */
@media (max-width: 1099px) {
  :where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-body):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-body):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { grid-template-columns: minmax(0, var(--dd-read)); }
  :where(.elementor .e-con.dd-art-aside):not(.dd-z.dd-z z z z z z z z z) { --position: static; }
  :where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-aside):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-aside):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { position: static; }
}
/* ---------- mobile ---------- */
@media (max-width: 639px) {
  :where(.elementor .e-con.dd-art-hero):not(.dd-z.dd-z z z z z z z z z) { --padding-top: 96px; --padding-bottom: 96px; }
  :where(body:not([class*="elementor-kit-"])) :where(.elementor .e-con.dd-art-hero):not(.dd-z.dd-z z z z z z), :where(.elementor .e-con.dd-art-hero):not(.dd-z.dd-z z z z z z):where(:not(.e-con)) { padding-block: 96px 96px; }
  :where(.elementor .e-con.dd-art-media-wrap):not(.dd-z.dd-z z z z z z) { --dd-overlap: 64px; }
  :where(.dd-art-media img):not(.dd-z z z) { border-radius: 18px; max-height: 60vh; }
  :where(.dd-art-nav .elementor-post-navigation):not(.dd-z.dd-z z) { grid-template-columns: minmax(0, 1fr); }
  :where(.dd-art-cards .elementor-posts-container):not(.dd-z.dd-z z) { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  :where(.dd-art-cards .elementor-post__card):not(.dd-z.dd-z z), :where(.dd-art-nav .elementor-post-navigation__link a):not(.dd-z.dd-z z z) { transition: none; }
}
