/* =====================================================================================================
   dd-pages.css — inner pages (v3, 9.10.2026). Same tokens, type scale and motion classes as the homepage
   (dd-tokens.css / dd-site.css / dd-motion.css). Every component is one container + native Elementor widgets
   (see docs/elementor-component-map.md). Loaded after dd-site.css on inner pages only.
   ===================================================================================================== */

/* page hero: dark, the H1 drops in letter by letter (dd-title), grid lines + rain like the homepage */
:where(.dd-page-hero):not(.dd-z z) { position: relative; overflow: hidden; padding-block: clamp(150px, 20vh, 240px) clamp(60px, 9vw, 140px); }
:where(.dd-page-hero__wrap):not(.dd-z z) { display: grid; gap: clamp(18px, 2.4vw, 34px); }
:where(.dd-page__h1):not(.dd-z z) { max-width: 16ch; text-wrap: balance; }
:where(.dd-page-hero .dd-prose):not(.dd-z.dd-z z) { font-size: clamp(1.1rem, .95rem + .55vw, 1.5rem); max-width: 62ch; --dd-max-w: 62ch; color: color-mix(in srgb, var(--dd-cream) 90%, transparent); }
:where(.dd-page-hero .dd-split):not(.dd-z.dd-z z) { margin-top: 10px; }
:where(.dd-sec):not(.dd-z.dd-z z z) { --position: relative; }
:where(body:not([class*="elementor-kit-"])) :where(.dd-sec):not(.dd-z z), :where(.dd-sec):not(.dd-z z):where(:not(.e-con)) { position: relative; }
:where(.dd-sec > .dd-wrap):not(.dd-z.dd-z z) { display: grid; }
:where(.dd-sec > .dd-wrap):not(.dd-z.dd-z z z z z z) { --gap: clamp(18px, 2.2vw, 32px); --align-content: start; }
:where(body:not([class*="elementor-kit-"])) :where(.dd-sec > .dd-wrap):not(.dd-z.dd-z z), :where(.dd-sec > .dd-wrap):not(.dd-z.dd-z z):where(:not(.e-con)) { gap: clamp(18px, 2.2vw, 32px); align-content: start; }
:where(.dd-h2):not(.dd-z z) { font-size: clamp(1.6rem, 1.1rem + 1.8vw, 3rem); line-height: 1.12; letter-spacing: -.01em; }
:where(.dd-sec h2.dd-big):not(.dd-z.dd-z z z), :where(.dd-sec h2.dd-h2):not(.dd-z.dd-z z z) { max-width: 22ch; text-wrap: balance; }
:where(.dd-sec h3.dd-h3):not(.dd-z.dd-z z z) { text-wrap: balance; }

/* rich text from the original pages */
:where(.dd-prose):not(.dd-z z) { font-size: clamp(1.02rem, .95rem + .25vw, 1.18rem); line-height: 1.75; max-width: 72ch; --dd-max-w: 72ch; overflow-wrap: anywhere; }
:where(.dd-prose > :first-child):not(.dd-z.dd-z z) { margin-top: 0; } :where(.dd-prose > :last-child):not(.dd-z.dd-z z) { margin-bottom: 0; }
:where(.dd-prose p):not(.dd-z z z) { margin: 0 0 1em; }
:where(.dd-prose ul):not(.dd-z z z), :where(.dd-prose ol):not(.dd-z z z) { margin: 0 0 1em; padding-inline-start: 1.3em; }
:where(.dd-prose li):not(.dd-z z z) { margin-bottom: .45em; }
:where(.dd-prose h2):not(.dd-z z z), :where(.dd-prose h3):not(.dd-z z z), :where(.dd-prose h4):not(.dd-z z z) { line-height: 1.2; margin: 1.4em 0 .5em; }
:where(.dd-prose h2):not(.dd-z z z) { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.4rem); } :where(.dd-prose h3):not(.dd-z z z) { font-size: clamp(1.25rem, 1rem + .9vw, 1.8rem); }
:where(.dd-prose a):not(.dd-z z z) { color: inherit; text-decoration: underline; text-decoration-color: var(--dd-brick); text-underline-offset: .2em; text-decoration-thickness: 2px; }
:where(.dd-dark .dd-prose a):not(.dd-z.dd-z z z) { text-decoration-color: var(--dd-brick-soft); }
:where(.dd-prose img):not(.dd-z z z) { max-width: 100%; height: auto; border-radius: 14px; display: block; margin: 1.2em 0; }
:where(.dd-prose blockquote):not(.dd-z z z) { margin: 1.2em 0; padding: .4em 1.2em; border-inline-start: 4px solid var(--dd-brick); font-size: 1.1em; }
:where(.dd-prose table):not(.dd-z z z) { width: 100%; border-collapse: collapse; margin: 1em 0; display: block; overflow-x: auto; }
:where(.dd-prose td):not(.dd-z z z), :where(.dd-prose th):not(.dd-z z z) { border: 1px solid var(--dd-line); padding: .5em .7em; text-align: start; }
:where(.dd-prose--article):not(.dd-z z) { max-width: 760px; margin-inline: auto; font-size: clamp(1.05rem, 1rem + .25vw, 1.22rem); }
:where(.dd-sec:has(.dd-prose--article) > .dd-wrap):not(.dd-z.dd-z z z z z z) { justify-items: stretch; }

/* image + text */
:where(.dd-media):not(.dd-z z) { margin: 0; border-radius: var(--dd-radius-lg, 24px); overflow: hidden; }
:where(.dd-media img):not(.dd-z z z) { width: 100%; height: auto; display: block; }
:where(.dd-media figcaption):not(.dd-z z z) { padding: 10px 4px 0; font-size: .95rem; opacity: .8; }
:where(.dd-media--featured):not(.dd-z z) { max-width: 1100px; margin-inline: auto; width: 100%; }
:where(.dd-split):not(.dd-z z) { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 5vw, 96px); align-items: center; }
:where(.dd-split.is-flip .dd-split__media):not(.dd-z.dd-z z z z z z) { order: -1; }
:where(.dd-split__text):not(.dd-z z) { display: grid; gap: clamp(14px, 1.8vw, 26px); align-content: start; }
:where(.dd-split__media .dd-media):not(.dd-z.dd-z z) { box-shadow: 0 30px 70px color-mix(in srgb, var(--dd-navy) 18%, transparent); }
:where(.dd-dark .dd-split__media .dd-media):not(.dd-z.dd-z z z z z z) { box-shadow: 0 30px 80px rgb(0 0 0 / .45); }
:where(.dd-ibox):not(.dd-z z) { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(20px, 4vw, 64px); align-items: center; }

/* feature cards (icon boxes) */
:where(.dd-feats):not(.dd-z z) { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: clamp(14px, 1.6vw, 24px); }
:where(.dd-feat):not(.dd-z z) { position: relative; padding: clamp(22px, 2.4vw, 36px); border-radius: 22px; background: #fff; border: 1px solid var(--dd-line); display: grid; gap: 10px; align-content: start; }
:where(.dd-cream .dd-feat):not(.dd-z.dd-z z) { background: #fff; } :where(.dd-light .dd-feat):not(.dd-z.dd-z z) { background: var(--dd-cream); border-color: transparent; }
:where(.dd-dark .dd-feat):not(.dd-z.dd-z z) { background: color-mix(in srgb, var(--dd-cream) 6%, transparent); border-color: color-mix(in srgb, var(--dd-cream) 14%, transparent); }
:where(.dd-feat__i):not(.dd-z z) { width: 34px; height: 34px; border-radius: 50%; background: var(--dd-brick); position: relative; }
:where(.dd-feat__i):not(.dd-z z z)::after { content: ''; position: absolute; inset: 9px 8px 11px; border: solid #fff; border-width: 0 0 3px 3px; transform: rotate(-45deg); }
:where(.dd-feat p):not(.dd-z z z) { margin: 0; line-height: 1.65; }
:where(.dd-feat a):not(.dd-z z z) { color: inherit; }

/* project cards (call-to-action / slides on the service pages) */
:where(.dd-pcards):not(.dd-z z) { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: clamp(16px, 2vw, 30px); }
:where(.dd-pcard):not(.dd-z z) { display: grid; gap: 10px; color: inherit; text-decoration: none; height: 100%; align-content: start; }
:where(.dd-pcard__img):not(.dd-z z) { display: block; aspect-ratio: 16 / 10; border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 20px 50px color-mix(in srgb, var(--dd-navy) 14%, transparent); }
:where(.dd-dark .dd-pcard__img):not(.dd-z.dd-z z) { box-shadow: 0 24px 60px rgb(0 0 0 / .4); }
:where(.dd-pcard__img img):not(.dd-z z z) { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .8s cubic-bezier(.22, 1, .36, 1); }
:where(a.dd-pcard:hover .dd-pcard__img img):not(.dd-z.dd-z z z z z z z z), :where(a.dd-pcard:focus-visible .dd-pcard__img img):not(.dd-z.dd-z z z z z z z z) { transform: scale(1.04); }
:where(.dd-pcard__title):not(.dd-z z) { font-weight: 700; font-size: clamp(1.1rem, 1rem + .4vw, 1.35rem); line-height: 1.3; }
:where(.dd-pcard__desc):not(.dd-z z) { line-height: 1.6; opacity: .85; }
:where(.dd-pcard__btn):not(.dd-z z) { font-weight: 700; color: var(--dd-brick); } :where(.dd-dark .dd-pcard__btn):not(.dd-z.dd-z z) { color: var(--dd-brick-soft); }
:where(.dd-pcard__btn):not(.dd-z z z)::after { content: ' ←'; }

/* galleries (branding / graphic design / logos) */
:where(.dd-gallery):not(.dd-z z) { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: clamp(12px, 1.4vw, 22px); }
:where(.dd-gallery figure):not(.dd-z z z) { margin: 0; display: grid; gap: 8px; }
:where(.dd-gallery img):not(.dd-z z z) { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 16px; background: #fff; display: block; }
:where(.dd-gallery figcaption):not(.dd-z z z) { font-size: .95rem; font-weight: 600; }
:where(.dd-gallery--logos):not(.dd-z z) { grid-template-columns: repeat(auto-fill, minmax(min(46%, 140px), 1fr)); }
:where(.dd-gallery--logos img):not(.dd-z z z) { object-fit: contain; padding: 14%; border: 1px solid var(--dd-line); }

/* YouTube: the homepage component (.dd-video › button.dd-yt, dd-site.css) is reused as is */
:where(.dd-sec .dd-videos):not(.dd-z.dd-z z) { list-style: none; }
:where(.dd-sec .dd-videos):not(.dd-z.dd-z z z z z z) { --margin-top: 0; --margin-right: 0; --margin-bottom: 0; --margin-left: 0; --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; }
:where(body:not([class*="elementor-kit-"])) :where(.dd-sec .dd-videos):not(.dd-z.dd-z z), :where(.dd-sec .dd-videos):not(.dd-z.dd-z z):where(:not(.e-con)) { margin: 0; padding: 0; }
:where(body:not([class*="elementor-kit-"])) :where(.dd-sec .dd-videos):not(.dd-z.dd-z z), :where(.dd-sec .dd-videos):not(.dd-z.dd-z z):where(:not(.e-con)) { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: clamp(14px, 1.6vw, 24px); }

/* testimonials + Google reviews (grid on inner pages) */
:where(.dd-quotes):not(.dd-z z) { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: clamp(14px, 1.6vw, 24px); align-items: start; }
:where(.dd-dark .dd-quote):not(.dd-z.dd-z z) { color: var(--dd-navy); }
:where(.dd-greviews):not(.dd-z z) { display: grid; gap: 18px; }
:where(.dd-greviews .dd-note):not(.dd-z.dd-z z) { opacity: .7; font-size: .9rem; margin: 0; }

/* lists of links (contact details, share, socials) */
:where(.dd-iconlist):not(.dd-z z) { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 14px; }
:where(.dd-iconlist a):not(.dd-z z z), :where(.dd-iconlist li):not(.dd-z z z) { display: inline-flex; align-items: center; min-height: 48px; padding: .4em 1.2em; border-radius: 999px; border: 1.5px solid currentColor; color: inherit; text-decoration: none; font-weight: 700; }
:where(.dd-iconlist li:has(a)):not(.dd-z z z z) { padding: 0; border: 0; }
:where(.dd-iconlist a:hover):not(.dd-z.dd-z z z), :where(.dd-iconlist a:focus-visible):not(.dd-z.dd-z z z) { background: var(--dd-brick); border-color: var(--dd-brick); color: #fff; }

/* animated words (jet animated text): one word at a time; static = all words */
:where(.dd-animtext):not(.dd-z z) { text-wrap: balance; }
:where(.dd-words):not(.dd-z z) { display: inline-grid; color: var(--dd-brick); } :where(.dd-dark .dd-words):not(.dd-z.dd-z z) { color: var(--dd-brick-soft); }
:where(.dd-words > span):not(.dd-z z z) { grid-area: 1 / 1; }
:where(html.dd-motion .dd-words > span):not(.dd-z.dd-z z z z) { opacity: 0; transform: translateY(40%); transition: opacity .5s, transform .7s cubic-bezier(.22, 1, .36, 1); }
:where(html.dd-motion .dd-words > span.is-on):not(.dd-z.dd-z.dd-z z z z) { opacity: 1; transform: none; }
:where(html:not(.dd-motion) .dd-words):not(.dd-z.dd-z z z) { display: inline; } :where(html:not(.dd-motion) .dd-words > span:not(:last-child)):not(.dd-z.dd-z.dd-z z z z z)::after { content: ' / '; }

/* circular text badge (text-path widget) */
:where(.dd-badge--inline):not(.dd-z z) { position: relative; width: clamp(110px, 12vw, 160px); inset: auto; }

/* forms on inner pages: same prototype form as the homepage */
:where(.dd-form--page):not(.dd-z z) { width: 100%; }
:where(.dd-field--wide):not(.dd-z z) { grid-column: 1 / -1; }
:where(.dd-field textarea):not(.dd-z z z) { min-height: 130px; resize: vertical; }

/* posts navigation (single post) */
:where(.dd-postnav):not(.dd-z z) { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
:where(.dd-postnav a):not(.dd-z z z) { display: grid; gap: 4px; padding: 18px 22px; border-radius: 18px; border: 1px solid var(--dd-line); color: inherit; text-decoration: none; }
:where(.dd-postnav a:hover):not(.dd-z.dd-z z z), :where(.dd-postnav a:focus-visible):not(.dd-z.dd-z z z) { border-color: var(--dd-brick); }
:where(.dd-postnav small):not(.dd-z z z) { opacity: .7; } :where(.dd-postnav span):not(.dd-z z z) { font-weight: 700; }
:where(.dd-postnav__next):not(.dd-z z) { text-align: end; }

/* embeds (eLegal privacy policy, Cal.com) */
:where(.dd-embed):not(.dd-z z) { border-radius: 18px; overflow: hidden; background: #fff; }
:where(.dd-embed iframe):not(.dd-z z z) { width: 100%; border: 0; display: block; }

/* posts grid: the homepage card, any number of items */
:where(body:not([class*="elementor-kit-"])) :where(.dd-sec .dd-posts):not(.dd-z.dd-z z), :where(.dd-sec .dd-posts):not(.dd-z.dd-z z):where(:not(.e-con)) { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
:where(.dd-post p):not(.dd-z z z) { margin: 0; opacity: .8; line-height: 1.6; }

/* timeline on inner pages */
:where(.dd-sec .dd-steps):not(.dd-z.dd-z z) { max-width: 980px; }

@media (max-width: 899px) {
  :where(.dd-split):not(.dd-z z), :where(.dd-ibox):not(.dd-z z) { grid-template-columns: 1fr; }
  :where(.dd-split.is-flip .dd-split__media):not(.dd-z.dd-z z z z z z) { order: 0; }
  :where(.dd-page-hero):not(.dd-z z) { padding-block: clamp(120px, 18svh, 170px) 60px; }
  :where(.dd-postnav):not(.dd-z z) { grid-template-columns: 1fr; }
  :where(body:not([class*="elementor-kit-"])) :where(.dd-formcard):not(.dd-z z), :where(.dd-formcard):not(.dd-z z):where(:not(.e-con)) { grid-template-columns: 1fr; }
}

/* portfolio grid (one card per project: main screenshot, the other screenshots, name, text, link) */
:where(.dd-projs):not(.dd-z z) { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr)); gap: clamp(28px, 3.4vw, 56px) clamp(18px, 2.4vw, 36px); }
:where(.dd-proj):not(.dd-z z) { display: grid; gap: 12px; align-content: start; }
:where(.dd-proj__img):not(.dd-z z) { display: block; aspect-ratio: 16 / 10; border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 20px 50px color-mix(in srgb, var(--dd-navy) 14%, transparent); }
:where(.dd-proj__img img):not(.dd-z z z) { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .8s cubic-bezier(.22, 1, .36, 1); }
:where(.dd-proj__img:hover img):not(.dd-z.dd-z z z) { transform: scale(1.04); }
:where(.dd-proj__thumbs):not(.dd-z z) { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 8px; }
:where(.dd-proj__thumbs img):not(.dd-z z z) { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; border-radius: 8px; border: 1px solid var(--dd-line); display: block; }
:where(.dd-proj__body):not(.dd-z z) { display: grid; gap: 10px; justify-items: start; }
:where(.dd-proj__body .dd-prose):not(.dd-z.dd-z z) { font-size: 1rem; }
/* call-to-action cards on the original site show logos: whole picture, never cropped */
:where(.dd-pcard__img.is-contain img):not(.dd-z.dd-z z z) { object-fit: contain; padding: 8%; background: #fff; }

/* ---------- breadcrumbs — every page except the homepage (11.10.2026); same look as the project pages (dd-projects.css) ---------- */
:where(.dd-crumbs ol):not(.dd-z z z) { list-style: none; margin: 0 0 clamp(10px, 1.2vw, 18px); padding: 0; display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: .95rem; color: color-mix(in srgb, var(--dd-cream) 75%, transparent); }
:where(.dd-crumbs li):not(.dd-z z z) { display: inline-flex; align-items: center; gap: 10px; }
:where(.dd-crumbs li + li):not(.dd-z z z z z)::before { content: '‹'; opacity: .55; }
:where(.dd-crumbs a):not(.dd-z z z) { color: inherit; text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--dd-cream) 30%, transparent); padding-block: 4px; }
:where(.dd-crumbs a:hover):not(.dd-z.dd-z z z), :where(.dd-crumbs a:focus-visible):not(.dd-z.dd-z z z) { color: var(--dd-brick-soft); border-color: currentColor; }
:where(.dd-crumbs [aria-current]):not(.dd-z.dd-z z) { color: var(--dd-cream); font-weight: 700; }
:where(.dd-page-hero__wrap > .dd-crumbs ol):not(.dd-z.dd-z z z) { margin: 0; }
:where([class*="-crumbs"].elementor-widget-text-editor):not(.dd-z.dd-z z) { font-size: .95rem; color: color-mix(in srgb, var(--dd-cream) 75%, transparent); }
:where(.elementor-widget-text-editor .dd-crumbs ol):not(.dd-z.dd-z z z) { font-size: inherit; color: inherit; }
:where(.elementor-widget-text-editor .dd-crumbs [aria-current]):not(.dd-z.dd-z.dd-z z) { color: var(--dd-cream); color: rgb(from currentColor r g b / 1); }
