/*
Theme Name: Salient Child Theme
Description: 3DM – native Salient and WPBakery presentation.
Template: salient
Version: 1.0
*/
:root { --tdm-red:#dd1e26; --tdm-ink:#22272e; --tdm-muted:#61666b; --tdm-paper:#f5f5f3; }
html { scroll-padding-top:120px; }
body { color:var(--tdm-ink); }
body .container-wrap { padding-bottom:0; }
body .container-wrap > .main-content { padding-top:0; }
body #header-outer #logo img { object-fit:contain; }
/* Reserve a separate, always visible area for the provider mark. */
body #header-outer #top { position:relative; }
body #header-outer #top > .container { padding-left:144px!important; padding-right:442px!important; }
body #header-outer .tdm-header-provider { position:absolute; right:144px; top:50%; transform:translateY(-50%); width:210px; z-index:5; line-height:0; }
body #header-outer .tdm-header-provider img { display:block; width:100%; height:auto; }
@media (max-width:1420px) {
 body #header-outer #top > .container { padding-left:96px!important; padding-right:324px!important; }
 body #header-outer .tdm-header-provider { width:180px; right:96px; }
}
@media (max-width:690px) {
 body #header-outer #top > .container { padding-left:40px!important; padding-right:222px!important; }
 body #header-outer .tdm-header-provider { width:150px; right:40px; }
}
@media (max-width:389px) {
 body #header-outer #top > .container { padding-right:202px!important; }
 body #header-outer .tdm-header-provider { width:130px; }
}
@media (max-width:360px) {
 body #header-outer #top > .container { padding-left:24px!important; padding-right:160px!important; }
 body #header-outer .tdm-header-provider { width:112px; right:24px; }
}

body #header-outer nav > ul > li.button_solid_color > a { color:#fff!important; }
body #header-outer nav > ul > li.button_solid_color > a:before { background:var(--tdm-red)!important; }
body .tdm-section { margin-bottom:0; }

body .tdm-section p { max-width:620px; }
body .tdm-section .wpb_text_column { margin-bottom:22px; }
body .tdm-section .tdm-eyebrow { margin-bottom:24px; }
body .tdm-section .tdm-eyebrow p { margin:0; padding:0; }
body .tdm-section .tdm-eyebrow p:before { content:''; display:inline-block; width:18px; height:2px; background:var(--tdm-red); margin-right:10px; vertical-align:middle; }

body .tdm-hero .tdm-hero-copy > .vc_column-inner { padding-right:16px; }
body .tdm-hero .tdm-hero-image { margin:0; }
body .tdm-section .img-with-aniamtion-wrap:has(img.tdm-hero-image) { height:570px; border-radius:3px; overflow:hidden; }
body .tdm-caption p { margin:0; padding:0; color:var(--tdm-muted); }
body .tdm-caption { margin-top:12px; }
body .tdm-secondary p { margin:15px 0 0; padding:0; }
body .tdm-secondary a { color:var(--tdm-ink); }
body .tdm-section .nectar-button { border-radius:3px!important; padding-top:18px; padding-bottom:18px; margin-bottom:0; box-shadow:none; }
body .tdm-section .nectar-button:hover { background:#b3171e!important; }
body .tdm-section-heading { padding-bottom:32px!important; }
body .tdm-services { padding-bottom:96px!important; }
body .tdm-service-card > .vc_column-inner { border-top:1px solid #d8d9d6; padding-top:28px; }

body .tdm-list ul { margin:24px 0 30px; list-style:none; }
body .tdm-list li { border-top:1px solid #d8d9d6; padding:12px 0; }
body .tdm-list li:last-child { border-bottom:1px solid #d8d9d6; }
body .tdm-section .img-with-aniamtion-wrap:has(img.tdm-portrait) { height:560px; border-radius:3px; overflow:hidden; }
body .tdm-cad-gallery { text-align:center; }
body .tdm-cad-gallery .tdm-caption p { margin-left:auto; margin-right:auto; }
body .tdm-section .img-with-aniamtion-wrap:has(img.tdm-landscape) { height:420px; border-radius:3px; overflow:hidden; }
body .tdm-dark,body .tdm-dark h1,body .tdm-dark h2,body .tdm-dark h3,body .tdm-dark a { color:#fff; }
body .tdm-dark .tdm-caption p { color:#c6c9cd; }
body .tdm-dark .tdm-eyebrow p { color:#c6c9cd; }
body .tdm-dark .wpb_text_column p { color:#e0e2e4; }
body .tdm-dark a:hover { color:#fff; text-decoration:underline; }
body .tdm-dark .nectar-button:hover { text-decoration:none; }
body .tdm-process { padding-bottom:96px!important; }
body .tdm-step > .vc_column-inner { border-top:1px solid #d8d9d6; padding-top:24px; }

body .tdm-projects { padding-bottom:96px!important; }
body .tdm-section .img-with-aniamtion-wrap:has(img.tdm-project-image) { height:280px; border-radius:3px; overflow:hidden; }
body .tdm-project .tdm-eyebrow { margin-top:26px; margin-bottom:16px; }

body .tdm-press { padding-bottom:96px!important; }
body .tdm-press-card > .vc_column-inner { border-top:1px solid #d8d9d6; padding-top:26px; }

body .tdm-locations > .vc_column-inner { border-left:1px solid #4b5056; padding-left:70px; }
body .tdm-contact-links { margin-top:28px; }

body .tdm-footer { border-top:1px solid #343940; }

body .tdm-footer a { text-decoration:none; }
body .tdm-footer a:hover { text-decoration:underline; }
body .tdm-legal h1 { margin-bottom:40px; }
body .tdm-legal h2 { margin:36px 0 18px; }
body .tdm-legal { max-width:100%; }
body .tdm-legal p,body .tdm-legal ul { max-width:800px; }
body a:focus-visible,body button:focus-visible { outline:3px solid var(--tdm-red); outline-offset:5px; }
body #header-outer a:focus-visible { outline:3px solid var(--tdm-red)!important; outline-offset:5px!important; }
@media (min-width:1000px) { body .tdm-section > .row_col_wrap_12 { max-width:1280px; margin-left:auto; margin-right:auto; } }
@media (max-width:999px) {
 html { scroll-padding-top:105px; }
 body .tdm-hero .tdm-hero-copy > .vc_column-inner { padding-right:0; }
 body .tdm-section .img-with-aniamtion-wrap:has(img.tdm-hero-image) { height:440px; border-radius:3px; overflow:hidden; }
 body .tdm-hero-media { margin-top:20px; }
 body .tdm-service-card,body .tdm-step,body .tdm-project,body .tdm-press-card { margin-bottom:34px!important; }
 body .tdm-locations > .vc_column-inner { border-left:0; border-top:1px solid #4b5056; padding-left:0; padding-top:36px; }
 body .tdm-section .img-with-aniamtion-wrap:has(img.tdm-portrait) { height:500px; border-radius:3px; overflow:hidden; }
 body .tdm-section-heading { padding-bottom:24px!important; }
 body .tdm-services,body .tdm-process,body .tdm-projects,body .tdm-press { padding-bottom:48px!important; }
}
@media (max-width:690px) {

 body .tdm-section .img-with-aniamtion-wrap:has(img.tdm-hero-image) { height:340px; border-radius:3px; overflow:hidden; }
 body .tdm-section .img-with-aniamtion-wrap:has(img.tdm-portrait) { height:400px; border-radius:3px; overflow:hidden; }

 body .tdm-section .img-with-aniamtion-wrap:has(img.tdm-project-image) { height:260px; border-radius:3px; overflow:hidden; }
  }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } body .tdm-section *,body #header-outer { animation:none!important; transition:none!important; } }

/* Original 3DM palette: graphite surfaces, white typography, red brand accent. */
:root { --tdm-ink:#363c43; --tdm-paper:#f5f5f5; }
body #header-outer .sf-menu ul { background:#363c43; }
body #header-outer .sf-menu ul a { color:#fff; }
body .tdm-dark .tdm-secondary a { color:#fff; }
body .tdm-dark .tdm-list li, body .tdm-dark .tdm-service-card > .vc_column-inner, body .tdm-dark .tdm-step > .vc_column-inner, body .tdm-dark .tdm-press-card > .vc_column-inner { border-color:#62676d; }
body .tdm-dark .tdm-eyebrow p, body .tdm-dark .tdm-caption p { color:#d0d2d5; }

body .tdm-page-hero .img-with-aniamtion-wrap:has(img.tdm-landscape) { height:420px; }
body .tdm-article h2 { margin-top:35px; }
body .tdm-article p { max-width:780px; }
body .tdm-article > .row_col_wrap_12 { max-width:850px; }
body .tdm-blog-grid, body .tdm-blog-grid h2, body .tdm-blog-grid h3, body .tdm-blog-grid a, body .tdm-blog-grid .wpb_text_column p { color:#363c43; }

body .tdm-blog-grid .excerpt { color:#5b6066; }
body .tdm-blog-grid .post-featured-img img { aspect-ratio:1.5; object-fit:cover; }
/* Full viewport story, progressively enhanced from native WPBakery rows. */
body.home { overflow-x:clip; overflow-y:visible; }
body .tdm-scroll-story { width:100vw!important; max-width:none!important; margin-left:calc(50% - 50vw)!important; left:0!important; padding:0!important; overflow:visible!important; }
body .tdm-scroll-story > .row_col_wrap_12 { max-width:none!important; width:100%!important; margin:0!important; overflow:visible!important; }
body .tdm-scroll-story .tdm-story-media, body .tdm-scroll-story .tdm-story-copy { width:100%; margin:0!important; float:none; }
body .tdm-scroll-story .tdm-story-media { padding:48px max(24px,6.75vw); }
body .tdm-scroll-story .tdm-story-step { padding:48px max(24px,6.75vw)!important; margin:0!important; }
body .tdm-scroll-story .tdm-story-step h2 { max-width:800px; }
body .tdm-scroll-story .tdm-story-step p { max-width:620px; }
body .tdm-scroll-story .tdm-caption { margin:18px 0 0; }
body .tdm-scrub-ready { height:400vh; height:400svh; }
body .tdm-scrub-ready > .row_col_wrap_12 { position:sticky!important; top:0; height:100svh; display:block!important; isolation:isolate; }
body .tdm-scrub-ready .tdm-story-media { position:absolute!important; inset:0; height:100%; padding:0!important; z-index:0; }
body .tdm-scrub-ready .tdm-story-media > .vc_column-inner,
body .tdm-scrub-ready .tdm-story-media > .vc_column-inner > .wpb_wrapper,
body .tdm-scrub-ready .nectar_video_player_self_hosted,
body .tdm-scrub-ready .nectar_video_player_self_hosted > .wpb_wrapper,
body .tdm-scrub-ready .wpb_video_wrapper { height:100%!important; width:100%!important; padding:0!important; margin:0!important; border-radius:0!important; transform:none!important; }
body .tdm-scrub-ready video { width:100%!important; height:100%!important; object-fit:cover; pointer-events:none; }
body .tdm-scrub-ready .nectar_video_player_self_hosted:after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(54,60,67,.78),rgba(54,60,67,.28) 70%),linear-gradient(0deg,rgba(54,60,67,.8),transparent 75%); }
body .tdm-scrub-ready .tdm-story-media .tdm-caption { position:absolute; bottom:22px; left:max(24px,6.75vw); z-index:1; margin:0; }
body .tdm-scrub-ready .tdm-caption p { color:#fff; }
body .tdm-scrub-ready .tdm-story-copy { position:absolute!important; inset:0; height:100%; z-index:2; pointer-events:none; }
body .tdm-scrub-ready .tdm-story-copy > .vc_column-inner,
body .tdm-scrub-ready .tdm-story-copy > .vc_column-inner > .wpb_wrapper { height:100%; }
body .tdm-scrub-ready .tdm-story-step { position:absolute; inset:0; display:flex; align-items:flex-start; padding:clamp(150px,30svh,320px) max(24px,6.75vw) 110px!important; opacity:0; visibility:hidden; pointer-events:none; }
body .tdm-scrub-ready .tdm-story-step.is-active { opacity:1; visibility:visible; pointer-events:auto; }
body .tdm-scrub-ready .tdm-story-step > .row_col_wrap_12_inner { width:100%; }
body .tdm-scrub-ready .tdm-story-step h2 { color:#fff; }
body .tdm-scrub-ready .tdm-story-step .wpb_text_column p { color:#fff; }
body .tdm-scrub-ready > .row_col_wrap_12:after { content:''; display:block; position:absolute; bottom:0; left:0; width:100%; height:4px; z-index:3; background:#dd1e26; transform:scaleX(var(--tdm-progress,0)); transform-origin:left; }
@media(max-width:690px) {
 body .tdm-page-hero .img-with-aniamtion-wrap:has(img.tdm-landscape) { height:300px; }

 body .tdm-scrub-ready .tdm-story-step { padding:clamp(115px,24svh,210px) 24px 90px!important; align-items:flex-start; }

 body .tdm-scrub-ready .tdm-story-step .wpb_text_column { margin-bottom:18px; }

 body .tdm-scrub-ready .nectar_video_player_self_hosted:after { background:linear-gradient(0deg,rgba(54,60,67,.85),rgba(54,60,67,.45)); }
}
@media(max-height:600px) and (min-width:691px) {
 body .tdm-scrub-ready .tdm-story-step { padding-top:110px!important; padding-bottom:70px!important; }

 body .tdm-scrub-ready .tdm-story-step .wpb_text_column { margin-bottom:12px; }
 body .tdm-scrub-ready .tdm-story-step .tdm-eyebrow { margin-bottom:12px; }
}
body .tdm-blog-grid .post-area .post .inner-wrap { background:#f5f5f5; }

/* Equal starts and button baselines in comparable editorial columns. */
body .tdm-process .vc_column-inner, body .tdm-press .vc_column-inner { justify-content:flex-start!important; }
body .tdm-press .vc_column-inner, body .tdm-press .vc_column-inner > .wpb_wrapper { height:100%; }
body .tdm-press .vc_column-inner > .wpb_wrapper { display:flex; flex-direction:column; align-items:flex-start; }
body .tdm-press .nectar-button { margin-top:auto; }
body .tdm-scrub-ready .nectar_video_player_self_hosted:after { display:block!important; width:100%!important; height:100%!important; z-index:2; opacity:1; clear:none; }
body .tdm-scrub-ready .tdm-story-media .tdm-caption { z-index:3; }
@media(max-width:999px) {
 body .tdm-section-heading + .tdm-process,
 body .tdm-section-heading + .tdm-projects,
 body .tdm-section-heading + .tdm-press { padding-top:12px!important; }
}

body .tdm-scrub-ready .tdm-story-step .vc_column-inner { padding-left:0!important; padding-right:0!important; }
@media(max-width:999px) {
 html body #ajax-content-wrap .tdm-process,
 html body #ajax-content-wrap .tdm-projects,
 html body #ajax-content-wrap .tdm-press { padding-top:12px!important; }
}
body .tdm-scrub-ready .tdm-story-copy, body .tdm-scrub-ready .tdm-story-copy > .vc_column-inner { padding:0!important; }
@media(max-width:999px) {
 html body #ajax-content-wrap .tdm-section-heading { padding-bottom:24px!important; }
}

/* The fullscreen media keeps its width; copy uses the site's actual content edges. */
body .tdm-scrub-ready .tdm-story-step { padding-left:var(--tdm-content-inset,6.75vw)!important; padding-right:var(--tdm-content-inset,6.75vw)!important; }
body .tdm-scrub-ready .tdm-story-media .tdm-caption { left:var(--tdm-content-inset,6.75vw); right:var(--tdm-content-inset,6.75vw); }
body .tdm-scrub-ready .tdm-story-step > .row_col_wrap_12_inner { max-width:none; }
body .tdm-research-hero h1 { hyphens:auto; }
body .tdm-copy p, body .tdm-copy ul, body .tdm-copy ol { max-width:850px; }
body .tdm-copy h3 { margin-top:26px; }
body .tdm-copy a:not(.nectar-button), body .tdm-breadcrumb a, body .tdm-magazine-filters a { text-decoration:underline; text-underline-offset:4px; }
body .tdm-breadcrumb p { color:#d0d2d5; }
body .tdm-research-card .vc_column-inner { justify-content:flex-start!important; }
body .tdm-research-card { border-top:1px solid #62676d; padding-top:24px; }

body .tdm-magazine-filters p { max-width:none; }
body .tdm-magazine-filters a { display:inline-block; margin-right:18px; }

body .tdm-section .nectar-post-grid-wrap .nectar-post-grid-item { color:#fff; }
body .tdm-section .nectar-post-grid-item__content { padding:24px 0; }
body .tdm-related-links { margin-top:24px; }
body .tdm-related-links a { margin-right:20px; }
body .tdm-empty-state { padding:36px 0; }

@media(max-width:999px) { body .tdm-research-card { margin-bottom:28px!important; } }

/* Keep source artwork at its useful size. */
.tdm-footer .tdm-footer-logo { max-width:155px!important; }
.tdm-detail-image { max-width:380px!important; margin-inline:auto; }
@media(min-width:1000px) {
 body .tdm-core-cards .tdm-eyebrow { min-height:48px; }
 body .tdm-research-card .vc_column-inner > .wpb_wrapper { height:100%; display:flex; flex-direction:column; align-items:flex-start; }
 body .tdm-research-card .nectar-button { margin-top:auto; }
}
body .tdm-magazine-filters a[aria-current="true"] { color:#fff; text-decoration-color:#dd1e26; text-decoration-thickness:3px; }
body .tdm-magazine-pagination { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
body .tdm-magazine-pagination .page-numbers { padding:8px 14px; border:1px solid #62676d; color:#fff; }
body .tdm-magazine-pagination .current { background:#dd1e26; border-color:#dd1e26; }
@media(max-width:999px) {
 #header-outer .slide-out-widget-area-toggle.mobile-icon { padding-left:0!important; }
 #header-outer .slide-out-widget-area-toggle.mobile-icon > div > a { display:flex; width:44px; height:44px; align-items:center; justify-content:center; }
}

/* V5 — photographic opening and distinct, editable section compositions. */
body.home #header-space { height:0!important; }
body.home .tdm-photo-hero { min-height:100svh; padding:0!important; }
body.home .tdm-photo-hero > .row_col_wrap_12 { min-height:100svh; display:flex; align-items:flex-end; padding-top:150px; padding-bottom:clamp(100px,21svh,240px); }
body.home .tdm-photo-hero .tdm-hero-copy { width:100%; }
body.home .tdm-photo-hero h1 { max-width:1000px; margin:0; }
body.home .tdm-photo-hero .tdm-hero-heading { margin-bottom:24px; }
body.home .tdm-photo-hero .nectar-button { min-width:280px; max-width:100%; text-align:center; }
body .tdm-photo-hero .tdm-hero-slides { position:absolute; inset:0; z-index:1; overflow:hidden; }
body .tdm-photo-hero .row-bg-wrap:has(.tdm-hero-slides) > .inner-wrap { visibility:hidden; }
body .tdm-photo-hero .row-bg-wrap:has(.tdm-hero-slides) > .row-bg-overlay { z-index:2; pointer-events:none; }
body .tdm-hero-slide { position:absolute; inset:0; opacity:0; transition:opacity var(--tdm-hero-fade-duration,1.5s) ease-in-out; overflow:hidden; }
body .tdm-hero-slide.is-current { opacity:1; z-index:2; }
body .tdm-hero-slide.is-previous { opacity:1; z-index:1; }
body .tdm-hero-slide img { width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
body .tdm-hero-slide.is-current img, body .tdm-hero-slide.is-previous img { animation:tdm-hero-zoom var(--tdm-hero-zoom-duration) linear both; }
body .tdm-hero-slides.is-paused img { animation-play-state:paused; }
@keyframes tdm-hero-zoom { from { transform:scale(1); } to { transform:scale(1.04); } }
@media(prefers-reduced-motion:reduce) { body .tdm-hero-slide { transition:none; } body .tdm-hero-slide img { animation:none!important; transform:none!important; } }
body.home .tdm-photo-hero .tdm-intro p { max-width:660px; }
body.home .tdm-photo-hero .tdm-hero-scroll { margin-top:20px; margin-bottom:0; }
body.home .tdm-hero-scroll a { border-bottom:1px solid rgba(255,255,255,.55); padding-bottom:5px; }
body .tdm-light, body .tdm-light h1, body .tdm-light h2, body .tdm-light h3, body .tdm-light a:not(.nectar-button), body .tdm-light .wpb_text_column p { color:#30363d; }
body .tdm-light .tdm-eyebrow p, body .tdm-light .tdm-caption p { color:#626970; }
body .tdm-light .nectar-button { color:#fff; }
body .tdm-light .tdm-research-card { border-color:#c6cbcf; }
body .tdm-light a:not(.nectar-button):hover { color:#a8171e; }
body .tdm-service-directory { padding-top:110px!important; padding-bottom:100px!important; }
body .tdm-service-directory > .row_col_wrap_12 > .wpb_column > .vc_column-inner > .wpb_wrapper > .wpb_text_column { max-width:850px; }
body .tdm-service-directory h2 { margin-bottom:36px; }
body .tdm-service-directory .tdm-core-cards > .row_col_wrap_12_inner { display:flex; flex-wrap:wrap; gap:0; }
body .tdm-service-directory .tdm-research-card { width:50%!important; margin:0!important; border-top:1px solid #c6cbcf; padding:35px 40px 40px 0; }
body .tdm-service-directory .tdm-research-card:nth-child(even) { padding-left:40px; padding-right:0; }

body .tdm-service-directory .tdm-eyebrow { min-height:0; margin-bottom:18px; }
body .tdm-service-directory .tdm-research-card p { max-width:480px; }
body .tdm-feature-split .img-with-aniamtion-wrap:has(img.tdm-landscape), body .tdm-about-split .img-with-aniamtion-wrap:has(img.tdm-landscape) { height:560px; border-radius:0; }

body .tdm-editorial-grid .nectar-post-grid-item, body .tdm-editorial-grid .nectar-post-grid-item h3, body .tdm-editorial-grid .nectar-post-grid-item .content { color:#30363d!important; }
body .tdm-editorial-grid .nectar-post-grid-item__excerpt { color:#626970; }
body .tdm-tech-panel .row-bg { background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:64px 64px; }
body .tdm-tech-panel > .row-bg-wrap { opacity:1; }

body .tdm-tech-sequence .wpb_text_column { display:grid; grid-template-columns:64px 1fr; column-gap:22px; }
body .tdm-tech-sequence .tdm-tech-number { grid-column:1; grid-row:span 2; color:#e74950!important; border-top:1px solid #616870; padding-top:24px; margin:0; }
body .tdm-tech-sequence h3 { grid-column:2; border-top:1px solid #616870; padding-top:24px; margin:0 0 10px; }
body .tdm-tech-sequence p:not(.tdm-tech-number) { grid-column:2; padding-bottom:30px; margin:0; }

body .tdm-red-contact .tdm-eyebrow p, body .tdm-red-contact .wpb_text_column p { color:#fff; }
body .tdm-red-contact .tdm-eyebrow p:before { background:#fff; }
body .tdm-red-contact .nectar-button { background:#fff!important; color:#a6171e!important; }
body .tdm-red-contact .nectar-button i { color:#a6171e; }
body .tdm-detail-heading h2 { max-width:340px; }
body .tdm-detail-body p, body .tdm-detail-body ul, body .tdm-detail-body ol { max-width:760px; }
body .tdm-detail-body ul, body .tdm-detail-body ol { margin-left:22px; }
body .tdm-detail-body li { padding-left:8px; margin-bottom:12px; }
body .tdm-detail-cta { border-top:3px solid #dd1e26; }
body .tdm-faq-panel .wpb_text_column:has(h3) { max-width:950px; }
body .tdm-faq-panel h3 { padding-top:24px; border-top:1px solid #c6cbcf; }
@media(min-width:1000px) {
 body .tdm-detail-heading > .vc_column-inner { padding-right:30px; }
 body .tdm-detail-body > .vc_column-inner { border-left:1px solid #a8afb544; padding-left:45px; }
}
@media(max-width:999px) {
 body.home .tdm-photo-hero > .row_col_wrap_12 { padding-top:140px; padding-bottom:18svh; }

 body .tdm-feature-split .img-with-aniamtion-wrap:has(img.tdm-landscape), body .tdm-about-split .img-with-aniamtion-wrap:has(img.tdm-landscape) { height:420px; }
 body .tdm-detail-heading h2 { max-width:720px; }
 body .tdm-tech-sequence { margin-top:35px; }
}
@media(max-width:690px) {
 body.home .tdm-photo-hero > .row_col_wrap_12 { padding-top:115px; padding-bottom:14svh; }

 body.home .tdm-photo-hero .tdm-eyebrow { margin-bottom:18px; }
 body .tdm-service-directory { padding-top:56px!important; padding-bottom:40px!important; }
 body .tdm-service-directory .tdm-research-card { width:100%!important; padding:28px 0!important; }

 body .tdm-feature-split .img-with-aniamtion-wrap:has(img.tdm-landscape), body .tdm-about-split .img-with-aniamtion-wrap:has(img.tdm-landscape) { height:360px; }

}
@media(max-width:690px) and (max-height:650px) {
 body.home .tdm-photo-hero .tdm-hero-scroll { display:none; }
 body.home .tdm-photo-hero > .row_col_wrap_12 { padding-top:100px; padding-bottom:32px; }

}
body.home .tdm-photo-hero .tdm-hero-copy > .vc_column-inner { padding-left:0!important; padding-right:0!important; }
body.home .tdm-photo-hero .tdm-hero-copy { padding-left:0!important; padding-right:0!important; }
html body #ajax-content-wrap .tdm-red-contact a.nectar-button.regular { background-color:#fff!important; color:#a6171e!important; }
html body #ajax-content-wrap .tdm-red-contact a.nectar-button.regular:hover { background-color:#f0f1f2!important; }
body .tdm-footer .img-with-aniamtion-wrap:has(img.tdm-footer-logo) { width:155px!important; max-width:155px!important; height:auto!important; }
body .tdm-footer img.tdm-footer-logo { width:100%!important; height:auto!important; object-fit:contain!important; position:relative!important; }
body.home .tdm-photo-hero > .row_col_wrap_12 { width:100%!important; margin-left:auto!important; margin-right:auto!important; }

/* GF content update: replaceable native media and clear project facts. */
body .tdm-placeholder-image { width:100%; height:auto!important; display:block; }
body .tdm-media-split > .row_col_wrap_12 { align-items:flex-start!important; }
/* The illustration has a real alpha background; keep its fine edges intact. */
body .tdm-section img.tdm-analysis-visual {
 width:100%; height:auto; object-fit:contain;
}
body.home #ebenheit > .row_col_wrap_12 { align-items:center!important; }

body .tdm-provider p { display:inline-block; border:1px solid #ffffff70; padding:9px 14px!important; }
body .tdm-photo-hero .tdm-caption p { color:#e0e2e4; }
body .tdm-section .tdm-project-facts { display:grid; grid-template-columns:160px minmax(0,1fr); gap:14px 24px; }

body .tdm-project-facts dd { margin:0; }
body .tdm-light .tdm-magazine-filters a[aria-current="true"] { color:#30363d; }
body .tdm-light .tdm-magazine-pagination .page-numbers { color:#30363d; }
body .tdm-light .tdm-magazine-pagination .current { color:#fff; }
body .tdm-scroll-story:not(.tdm-scrub-ready) > .row_col_wrap_12 { display:block!important; }
body .tdm-scroll-story:not(.tdm-scrub-ready) .tdm-story-step { border-top:1px solid #ffffff30; }
@media(max-width:690px) {
 body .tdm-section .tdm-project-facts { grid-template-columns:1fr; gap:4px; }
 body .tdm-project-facts dd { margin-bottom:16px; }
 body .tdm-media-split .wpb_column { margin-bottom:20px!important; }
 body .tdm-page-hero h1 { overflow-wrap:break-word; hyphens:auto; }

}
@media(max-width:690px) {

 body .tdm-page-hero > .row_col_wrap_12 > .wpb_column { margin-bottom:24px!important; }
}

/* Three native full-screen video sections; normal flow is the accessible fallback. */
body .tdm-video-chapter { position:relative; min-height:100svh; padding:0!important; }
body .tdm-video-chapter > .row_col_wrap_12 { position:relative; min-height:100svh; display:flex; align-items:center; }
body .tdm-video-chapter .tdm-chapter-media { position:absolute!important; top:0; bottom:0; left:calc(50% - 50vw); width:100vw!important; height:100%; padding:0!important; margin:0!important; }
body .tdm-chapter-media > .vc_column-inner,
body .tdm-chapter-media > .vc_column-inner > .wpb_wrapper,
body .tdm-chapter-media .nectar_video_player_self_hosted,
body .tdm-chapter-media .nectar_video_player_self_hosted > .wpb_wrapper,
body .tdm-chapter-media .wpb_video_wrapper { height:100%!important; width:100%!important; padding:0!important; margin:0!important; transform:none!important; }
body .tdm-chapter-media video { width:100%!important; height:100%!important; object-fit:cover; }
body .tdm-chapter-media .nectar_video_player_self_hosted:after { content:''; display:block!important; position:absolute; inset:0; width:100%; height:100%; background:linear-gradient(90deg,rgba(54,60,67,.93),rgba(54,60,67,.5)); z-index:1; pointer-events:none; }
body .tdm-video-chapter .tdm-chapter-copy { position:relative; z-index:2; width:100%; margin:0!important; padding:160px 0 90px!important; pointer-events:none; }
body .tdm-video-chapter .tdm-chapter-copy > .vc_column-inner { padding:0!important; }
body .tdm-chapter-copy .nectar-button, body .tdm-chapter-copy a, body .tdm-chapter-copy .wpb_text_column { pointer-events:auto; }
body .tdm-video-chapter h2 { max-width:920px; }
body .tdm-video-chapter .tdm-chapter-description p { max-width:750px; padding-bottom:16px; }
body .tdm-video-chapter .tdm-chapter-description p:last-child { padding-bottom:0; }
body .tdm-video-chapter .tdm-caption { margin-top:20px; margin-bottom:0; }
body .tdm-video-chapter .tdm-caption p { color:#c8cfd5; }
@media(max-width:690px) {
 body .tdm-video-chapter .tdm-chapter-copy { padding:120px 0 80px!important; }

 body .tdm-video-chapter .wpb_text_column { margin-bottom:18px; }
 body .tdm-chapter-media .nectar_video_player_self_hosted:after { background:rgba(54,60,67,.9); }
}

/* One pinned viewport, three video chapters; one viewport of travel per chapter. */
body .tdm-video-story { position:relative; }
body .tdm-video-story.is-scroll-driven { height:400vh; height:400svh; }
body .is-scroll-driven > .tdm-video-stage { position:sticky; top:0; height:100vh; height:100svh; width:100vw; margin-left:calc(50% - 50vw); isolation:isolate; }
body .is-scroll-driven .tdm-video-chapter { position:absolute!important; top:0; width:100%; height:100%; margin-top:0!important; margin-bottom:0!important; opacity:0; visibility:hidden; pointer-events:none; }
body .is-scroll-driven .tdm-video-chapter.is-active { opacity:1; visibility:visible; pointer-events:auto; }
body .is-scroll-driven .tdm-video-chapter > .row_col_wrap_12 { height:100%; width:var(--tdm-content-width,100%); margin-left:auto!important; margin-right:auto!important; }
body .is-scroll-driven .tdm-chapter-media video { pointer-events:none; }
body .is-scroll-driven > .tdm-video-stage:after { content:''; position:absolute; bottom:0; left:calc(50% - 50vw); width:100vw; height:3px; background:#dd1e26; z-index:4; transform:scaleX(var(--tdm-progress,0)); transform-origin:left; pointer-events:none; }

/* Readable copy on the left, an open view of the film on the right. */
body .tdm-chapter-media .nectar_video_player_self_hosted:after { background:linear-gradient(90deg,rgba(54,60,67,.97) 0%,rgba(54,60,67,.9) 30%,rgba(54,60,67,.58) 53%,rgba(54,60,67,.1) 78%,rgba(54,60,67,0) 100%); }
body .tdm-video-chapter h2 { max-width:720px; }
body .tdm-video-chapter .tdm-chapter-description p { max-width:630px; }
body .is-scroll-driven .tdm-chapter-copy { opacity:var(--tdm-copy-opacity,1); transform:translateY(var(--tdm-copy-shift,0)); will-change:opacity,transform; }
body .is-scroll-driven .tdm-video-chapter { transition:opacity .22s linear,visibility .22s; }
body .is-scroll-driven .tdm-video-chapter.is-active { z-index:1; }
body .tdm-core-cards img.tdm-service-photo { width:100%; aspect-ratio:16/10; object-fit:cover; }

body .tdm-core-cards .tdm-service-photo-caption { margin-top:8px; }
body .tdm-core-cards .tdm-service-photo-caption p { color:#61666b; }
body .tdm-image-hero { min-height:560px; display:flex; align-items:center; }
body .tdm-image-hero > .row_col_wrap_12 { width:100%; }
body .tdm-image-hero h1 { max-width:850px; }
body .tdm-magazine-toolbar > .wpb_wrapper { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap; }
body .tdm-magazine-toolbar h2 { margin:0; flex:1; }
body .tdm-filter { position:relative; z-index:4; flex:none; }
body .tdm-filter summary { cursor:pointer; list-style:none; border:1px solid #a7acb0; border-radius:3px; padding:12px 20px; display:flex; gap:12px; align-items:center; }
body .tdm-filter summary::-webkit-details-marker { display:none; }
body .tdm-filter summary:after { content:'+'; }
body .tdm-filter[open] summary:after { content:'−'; }
body .tdm-filter summary:focus-visible { outline:3px solid #dd1e26; outline-offset:4px; }
body .tdm-filter form { position:absolute; right:0; top:calc(100% + 12px); width:340px; padding:24px; background:#fff; box-shadow:0 12px 36px #0002; border:1px solid #d9dcdf; display:grid; gap:10px; }
body .tdm-filter label { color:#30363d; }
body .tdm-filter select { width:100%; margin-bottom:10px; min-height:44px; border:1px solid #b3b8bc; padding:10px; background:#f5f5f5; color:#30363d; }
body .tdm-filter button { background:#dd1e26; color:white; border:0; border-radius:3px; padding:13px; cursor:pointer; }
body .tdm-filter a { color:#363c43; text-decoration:underline; text-align:center; }

@media(max-width:690px){
 body .tdm-chapter-media .nectar_video_player_self_hosted:after { background:linear-gradient(90deg,rgba(54,60,67,.95),rgba(54,60,67,.85) 65%,rgba(54,60,67,.55)); }
 body .tdm-image-hero { min-height:480px; }
 body .tdm-filter form { width:min(340px,calc(100vw - 48px)); }

}
@media(prefers-reduced-motion:reduce){ body .is-scroll-driven .tdm-chapter-copy { opacity:1; transform:none; } }
body .tdm-magazine-toolbar { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap; }
body .tdm-image-hero .row-bg-overlay { background:linear-gradient(90deg,rgba(54,60,67,.92),rgba(54,60,67,.66) 50%,rgba(54,60,67,.25))!important; opacity:1!important; }
body .tdm-image-hero .tdm-intro p { max-width:720px; }
/* Keep an open filter above adjacent rows, including empty-result pages. */
body.page-id-5720 #beitraege { position:relative; z-index:20; overflow:visible; }
body .tdm-core-cards .img-with-aniamtion-wrap:has(img.tdm-service-photo) { width:100%!important; }
body .tdm-core-cards img.tdm-service-photo { width:100%!important; height:340px!important; object-fit:cover; }
body .tdm-core-cards .tdm-service-photo-caption { min-height:18px; margin-bottom:22px; }
@media(max-width:999px){body .tdm-core-cards img.tdm-service-photo{height:250px!important;}}
@media(max-width:690px){body .tdm-core-cards img.tdm-service-photo{height:220px!important;}}
body .tdm-symbolic-preview .nectar-post-grid-item-bg-wrap { position:relative; }

/* The native post navigation uses H2 in the child template. */
body .blog_next_prev_buttons h2 { position:relative; z-index:100; margin:0; color:#fff; }
body .blog_next_prev_buttons .previous-post h2 { text-align:right; }
body .blog_next_prev_buttons .next-post h2 { text-align:left; }
body .blog_next_prev_buttons h2 .next-arrow, body .blog_next_prev_buttons h2 .line { display:none; }
body .blog_next_prev_buttons .only h2 { text-align:center; }

/* Place the disclosure above the native grid's layered article links. */
body .tdm-magazine-toolbar { position:relative; z-index:300; }
@media(max-width:690px){
 body .tdm-image-hero .row-bg-overlay { background:linear-gradient(90deg,rgba(54,60,67,.93),rgba(54,60,67,.8) 65%,rgba(54,60,67,.5))!important; }
}

/* Font sizes and typography come from Salient, not section-specific overrides. */
/* Keep the video story pinned at every viewport height. Tall copy moves with
   the chapter's scroll progress instead of disabling the interaction. */
body .tdm-video-chapter .tdm-chapter-copy { padding:clamp(32px,10svh,100px) 0 clamp(24px,5svh,60px)!important; }
body .is-scroll-driven .tdm-video-chapter { overflow:hidden; }
body .is-scroll-driven .tdm-video-chapter.has-tall-copy > .row_col_wrap_12 { align-items:flex-start; }
body .is-scroll-driven .tdm-chapter-copy { transform:translateY(calc(var(--tdm-copy-shift,0px) + var(--tdm-copy-pan,0px))); }
@media(prefers-reduced-motion:reduce){body .is-scroll-driven .tdm-chapter-copy { transform:none; }}

/* Four editable service columns: desktop 4, tablet 2, phone 1. */
body .tdm-service-directory .tdm-core-cards > .row_col_wrap_12_inner { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; width:100%; margin:0; }
body .tdm-service-directory .tdm-core-cards .tdm-research-card { width:100%!important; min-width:0; margin:0!important; padding:0 0 24px!important; border:0; }
body .tdm-core-cards .tdm-research-card > .vc_column-inner { height:100%; padding:0!important; }
body .tdm-core-cards .tdm-research-card > .vc_column-inner > .wpb_wrapper { height:100%; display:flex; flex-direction:column; align-items:flex-start; }
body .tdm-core-cards img.tdm-service-photo { height:auto!important; aspect-ratio:3/2; width:100%!important; object-fit:cover; }
body .tdm-core-cards .tdm-service-photo-caption { min-height:2lh; margin:12px 0 20px; }
body .tdm-core-cards .tdm-eyebrow { min-height:1lh; }
body .tdm-core-cards h2 { min-height:1lh; margin-bottom:0; hyphens:manual; overflow-wrap:break-word; }
body .tdm-core-cards .tdm-service-heading { width:100%; margin-bottom:20px; }
body .tdm-core-cards .nectar-button { margin-top:auto; }
@media(max-width:1199px){body .tdm-service-directory .tdm-core-cards > .row_col_wrap_12_inner { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 24px; }}
@media(max-width:690px){
 body .tdm-service-directory .tdm-core-cards > .row_col_wrap_12_inner { grid-template-columns:minmax(0,1fr); gap:36px; }
 body .tdm-core-cards .tdm-service-photo-caption, body .tdm-core-cards h2 { min-height:0; }
}

body .tdm-core-cards .tdm-research-card .wpb_text_column { width:100%; min-width:0; }

/* Equipment story: native Salient video background, editable WPBakery copy. */
body .tdm-equipment-video { min-height:100svh; padding:0!important; }
body .tdm-equipment-video > .row_col_wrap_12 { min-height:100svh; display:flex; align-items:stretch; padding-top:72px; padding-bottom:72px; gap:5%; }
body .tdm-equipment-video .tdm-equipment-copy { width:38%; margin:0!important; align-self:flex-end; padding-bottom:5vh; }
body .tdm-equipment-copy > .vc_column-inner > .wpb_wrapper { max-width:640px; }
body .tdm-equipment-video .tdm-equipment-index { width:57%; margin:0!important; }
body .tdm-equipment-video .video-color-overlay { opacity:1!important; background:linear-gradient(115deg,rgba(54,60,67,.42),rgba(54,60,67,.38) 38%,rgba(54,60,67,.78)),linear-gradient(0deg,rgba(54,60,67,.65),transparent 60%)!important; }
body .tdm-equipment-list dl { display:flex; flex-direction:column; justify-content:space-between; gap:24px; min-height:calc(100svh - 144px); margin:0; text-align:right; }
body .tdm-equipment-list dl > div { padding:0; border:0; }
body .tdm-equipment-list dt { font-size:clamp(26px,3.1vw,48px); line-height:1.12; letter-spacing:-.035em; font-weight:700; color:#fff; }
body .tdm-equipment-list dd { padding:0; margin:8px 0 0; color:#e4e7e9; font-size:16px; line-height:1.45; }
@media(min-width:1000px){
 body .tdm-equipment-video > .row_col_wrap_12 { width:100vw; max-width:none; margin-left:calc((100% - 100vw)/2); margin-right:0; padding-left:clamp(40px,6.8vw,120px); padding-right:28px; gap:4%; }
 body .tdm-equipment-video .tdm-equipment-copy { width:48%; padding-left:0; padding-right:0; }
 body .tdm-equipment-video .tdm-equipment-index { width:48%; padding-left:0; padding-right:0; }
 body .tdm-equipment-copy h2 { font-size:clamp(30px,3.05vw,44px); line-height:1.15; letter-spacing:-.025em; }
}
@media(max-width:999px){
 body .tdm-equipment-video > .row_col_wrap_12 { flex-direction:column; justify-content:center; gap:32px; padding-top:56px; padding-bottom:56px; }
 body .tdm-equipment-video .tdm-equipment-copy, body .tdm-equipment-video .tdm-equipment-index { width:100%; }
 body .tdm-equipment-video .tdm-equipment-copy { order:0; padding-bottom:0; align-self:stretch; }
 body .tdm-equipment-video .tdm-equipment-index { order:1; }
 body .tdm-equipment-copy > .vc_column-inner > .wpb_wrapper { max-width:none; }
 body .tdm-equipment-list dl { min-height:0; gap:16px; text-align:left; }
 body .tdm-equipment-list dt { font-size:20px; line-height:1.2; letter-spacing:-.02em; }
 body .tdm-equipment-list dd { margin-top:4px; font-size:13px; line-height:1.45; }
 body .tdm-equipment-video .video-color-overlay { background:linear-gradient(90deg,rgba(54,60,67,.66),rgba(54,60,67,.38))!important; }
 body .tdm-equipment-video .nectar-video-wrap { display:block; }
 body .tdm-equipment-video .nectar-video-inner { width:100%; height:100%; }
 body .tdm-equipment-video .nectar-video-bg { width:100%!important; height:100%!important; object-fit:cover; object-position:center; }
}

/* Global footer aligns with the outer edges of the navigation. */
body .tdm-footer { --tdm-footer-inset:144px; border-top:0; }
body .tdm-footer > .row_col_wrap_12 { max-width:none; width:100%; margin:0; padding:0 var(--tdm-footer-inset); display:grid!important; gap:40px; }
body .tdm-footer-main > .row_col_wrap_12 { grid-template-columns:repeat(4,minmax(0,1fr)); }
body .tdm-footer > .row_col_wrap_12 > .wpb_column { width:auto!important; min-width:0; margin:0!important; padding:0!important; }
body .tdm-footer .vc_column-inner { padding:0!important; }
body .tdm-footer .wpb_text_column { margin-bottom:18px; }
body .tdm-footer .wpb_text_column:last-child { margin-bottom:0; }
body .tdm-footer .tdm-footer-heading { margin-bottom:20px; }
body .tdm-footer p { padding-bottom:0; }
body .tdm-footer-links a { display:block; width:fit-content; padding:3px 0; }
body .tdm-footer .tdm-footer-logo { margin-bottom:0; }
body .tdm-footer .img-with-aniamtion-wrap:has(img.tdm-footer-logo) { width:120px!important; max-width:120px!important; margin-bottom:20px; }
body .tdm-footer-legal > .row_col_wrap_12 { grid-template-columns:1fr; position:relative; padding-top:24px; }
body .tdm-footer-legal > .row_col_wrap_12:before { content:''; position:absolute; top:0; left:var(--tdm-footer-inset); right:var(--tdm-footer-inset); border-top:1px solid #484e55; }
body .tdm-footer-legal-links p { display:flex; flex-wrap:wrap; gap:8px 20px; }
@media(max-width:1420px){body .tdm-footer { --tdm-footer-inset:96px; } body .tdm-footer > .row_col_wrap_12 { gap:28px; }}
@media(max-width:1199px){body .tdm-footer-main > .row_col_wrap_12 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }}
@media(max-width:690px){
 body .tdm-footer { --tdm-footer-inset:40px; }
 body .tdm-footer-main { padding-top:48px!important; padding-bottom:40px!important; }
 body .tdm-footer-main > .row_col_wrap_12, body .tdm-footer-legal > .row_col_wrap_12 { grid-template-columns:1fr; gap:28px; }
 body .tdm-footer .tdm-footer-heading { margin-bottom:12px; }
}
@media(max-width:360px){body .tdm-footer { --tdm-footer-inset:24px; }}

/* Give the whole team more space alongside the company introduction. */
body .tdm-company-split > .row_col_wrap_12 { align-items:center!important; }
@media(min-width:1000px){
 body .tdm-company-split > .row_col_wrap_12 { width:100%; max-width:none; position:relative; left:auto; transform:none; margin-left:0!important; margin-right:0!important; display:grid!important; grid-template-columns: minmax(0,5fr) minmax(0,7fr); column-gap:clamp(64px,6vw,112px); }
 body .tdm-company-split > .row_col_wrap_12 > .wpb_column { width:100%; padding-left:0!important; padding-right:0!important; margin:0!important; }
}
body .tdm-company-split .img-with-aniamtion-wrap { width:100%; margin-bottom:0; }
body .tdm-company-split img.tdm-project-photo { display:block; width:100%; height:auto; object-fit:contain; }

/* HP SitePrint landing page: native WPBakery content, scoped editorial layout. */
body .hp-landing { scroll-margin-top:110px; }
body .hp-landing h2 { max-width:850px; }
body .hp-landing h3 { margin-top:28px; }
body .hp-landing p { max-width:760px; }
body .hp-hero { min-height:85svh; display:flex; align-items:center; }
body .hp-hero > .row_col_wrap_12 { width:100%; }
body .hp-hero-copy { max-width:1000px; }
body .hp-hero h1 { line-height:1.08; letter-spacing:-.035em; max-width:940px; }
body .hp-hero p { max-width:680px; margin-top:24px; }
body .hp-jump-row { padding:24px 0!important; background:#e8eaeb; }
body .hp-jump { display:flex; flex-wrap:wrap; gap:12px 28px; }
body .hp-jump a { font-weight:700; color:#242a30; }
body .hp-jump a:hover { color:#dd1e26; }
body .hp-intro { padding-bottom:0!important; }
body .hp-intro p:last-child { color:#dd1e26; font-weight:700; }
body .hp-split > .row_col_wrap_12 { align-items:center!important; }
body .hp-landing img.hp-photo { width:100%; height:auto; display:block; }
body #hp-einsatz img.hp-photo,body #hp-fragen img.hp-photo { max-height:680px; object-fit:cover; }
body .hp-portrait-film .nectar_video_player_self_hosted { max-width:390px; margin:0 auto; }
body .hp-benefits { padding-top:0!important; }
body .hp-benefit { border-top:2px solid #dd1e26; }
body .hp-benefit h3 { line-height:1.25; }
body .hp-film .nectar_video_player_self_hosted { margin-top:32px; }
body .hp-faq { border-top:1px solid #c5c8ca; padding:0; }
body .hp-faq:last-child { border-bottom:1px solid #c5c8ca; }
body .hp-faq summary { position:relative; cursor:pointer; padding:26px 38px 26px 0; list-style:none; }
body .hp-faq summary::-webkit-details-marker { display:none; }
body .hp-faq summary::after { content:'+'; position:absolute; right:0; top:23px; font-size:28px; color:#dd1e26; }
body .hp-faq[open] summary::after { content:'−'; }
body .hp-faq summary h2 { line-height:1.3; margin:0; }
body .hp-faq summary:focus-visible { outline:2px solid #dd1e26; outline-offset:4px; }
body .hp-answer { padding-bottom:24px; }
body .hp-eyebrow { font-weight:700; color:#dd1e26; }
body .hp-gallery img.hp-photo { aspect-ratio:2/3; object-fit:cover; }
body .hp-contact .nectar-button { background:#fff!important; color:#dd1e26!important; }
@media(max-width:999px){
 body .hp-hero { min-height:76svh; }


 body .hp-split .wpb_column { margin-bottom:32px!important; }
 body .hp-portrait-film .nectar_video_player_self_hosted { max-width:320px; }
}
@media(max-width:690px){

 body .hp-jump { gap:12px 20px; }
 body .hp-gallery img.hp-photo { max-height:520px; }


}

/* Direct service links alongside the compact desktop menu. */
body #header-outer .tdm-header-landings { display:none; }
@media(min-width:1000px) and (max-width:2040px){
 body #header-outer .tdm-header-landings { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 26px; position:absolute; left:310px; right:498px; top:50%; transform:translateY(-50%); }
 body #header-outer .tdm-header-landings a { font-weight:700; font-size:16px; color:#fff; line-height:1.3; white-space:nowrap; }
}
@media(min-width:1000px) and (max-width:1420px){
 body #header-outer .tdm-header-landings { left:250px; right:380px; gap:8px 20px; }
 body #header-outer .tdm-header-landings a { font-size:14px; }
}

/* Explicit mobile pinning avoids Safari sticky/overflow containment failures. */
body .tdm-video-story.uses-fixed-pin > .tdm-video-stage { position:absolute; top:0; bottom:auto; }
body .tdm-video-story.uses-fixed-pin.is-pinned > .tdm-video-stage { position:fixed; top:0; left:0; bottom:auto; margin-left:0; z-index:10; }
body .tdm-video-story.uses-fixed-pin.is-finished > .tdm-video-stage { position:absolute; top:auto; bottom:0; }
@media(prefers-reduced-motion:reduce) {
 body .is-scroll-driven .tdm-video-chapter { transition:none; }
 body .is-scroll-driven .tdm-chapter-copy { transform:translateY(var(--tdm-copy-pan,0px)); }
 body .is-scroll-driven .tdm-chapter-media video { pointer-events:auto; }
}

/* A single mobile video layer avoids stale overlapping Safari video surfaces. */
body .tdm-mobile-stage-media { display:none; }
body .uses-fixed-pin .tdm-mobile-stage-media { display:block; position:absolute; inset:0; z-index:0; background-color:#363c43; background-size:cover; background-position:center; overflow:hidden; }
body .uses-fixed-pin .tdm-mobile-stage-video { display:block; width:100%; height:100%; object-fit:cover; }
body .uses-fixed-pin .tdm-mobile-stage-media:after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(54,60,67,.97) 0%,rgba(54,60,67,.9) 30%,rgba(54,60,67,.58) 53%,rgba(54,60,67,.1) 78%,transparent 100%); }
body .uses-fixed-pin .tdm-chapter-media,
body .uses-fixed-pin .tdm-video-chapter > .row-bg-wrap { display:none!important; }
body .uses-fixed-pin .tdm-video-chapter { background:transparent!important; }
@media(max-width:690px) {
 body .uses-fixed-pin .tdm-mobile-stage-media:after { background:linear-gradient(90deg,rgba(54,60,67,.95),rgba(54,60,67,.85) 65%,rgba(54,60,67,.55)); }
}

/* Keep editorial desktop sizing; responsive headings come from Salient percentages. */
@media(min-width:1000px) {
 body .hp-hero h1 { font-size:clamp(38px,4.1vw,64px); }
 body .hp-benefit h3 { font-size:25px; }
 body .hp-faq summary h2 { font-size:24px; }
}
body .tdm-equipment-video.tdm-video-playing .nectar-video-wrap { display:block!important; opacity:1!important; }
body .tdm-equipment-video.tdm-video-playing .nectar-video-bg { visibility:visible!important; opacity:1!important; }
body .tdm-equipment-video.tdm-video-playing .mobile-video-image { display:none!important; }

/* Ebenheitsanalyse: native Salient rows, scoped landing-page components. */
body .eb-landing { scroll-margin-top:110px; }
body .eb-landing p { max-width:720px; }
body .eb-kicker { color:var(--tdm-red); font-weight:700; margin:0 0 14px; }
body .eb-hero { min-height:78svh; display:flex; align-items:center; }
body .eb-hero > .row_col_wrap_12 { width:100%; }
body .eb-hero h1 { letter-spacing:-.035em; line-height:1.05; }
body .eb-hero .eb-lead { max-width:680px; }
body .eb-hero .eb-kicker { color:#fff; }
body .eb-hero .wpb_text_column { margin-bottom:26px; }
body .eb-hero-anchor { display:inline-block; margin-top:22px; font-weight:700; }
body .eb-hero-anchor span { margin-left:16px; }
body .eb-jump-row { padding:24px 0!important; background:#e8eaeb; }
body .eb-jump { display:flex; flex-wrap:wrap; gap:14px 30px; }
body .eb-jump a { color:var(--tdm-ink); font-weight:700; }
body .eb-jump a:hover,body .eb-related a:hover { color:var(--tdm-red); }
body .eb-intro { padding-bottom:34px!important; }
body .eb-results,body .eb-profiles,body .eb-steps { padding-top:0!important; }
body .eb-number { font-weight:700; color:var(--tdm-red); }
body .eb-result > .vc_column-inner,body .eb-step > .vc_column-inner { border-top:2px solid var(--tdm-red); padding-top:24px; }
body .eb-result h3,body .eb-step h3,body .eb-profile h3 { line-height:1.25; }
body .eb-split > .row_col_wrap_12 { align-items:center!important; }
body .eb-landing img.eb-photo { width:100%; height:auto; display:block; }
body .eb-landing .eb-caption { font-size:12px; line-height:1.4; opacity:.65; margin:10px 0 0; }
body .eb-profile-list { list-style:none; margin:20px 0 0; padding:0; }
body .eb-profile-list li { list-style:none; padding:16px 0; border-top:1px solid #c8cbce; line-height:1.5; }
body .eb-profile { border-top:3px solid var(--tdm-red); padding-top:24px; }
body .eb-profile-note { padding-top:0!important; }
body .eb-scope { padding:24px 28px; background:#e8eaeb; border-left:3px solid var(--tdm-red); }
body .eb-scope p:last-child { padding-bottom:0; }
body .eb-related { display:flex; flex-wrap:wrap; gap:20px 36px; margin-top:28px; }
body .eb-related a { font-weight:700; color:var(--tdm-ink); }
body .eb-checks { margin:24px 0 28px 20px; }
body .eb-checks li { padding:6px 0 6px 6px; }
body .eb-checks li::marker { color:var(--tdm-red); }
body .eb-faq { border-top:1px solid #bec3c7; }
body .eb-faq:last-child { border-bottom:1px solid #bec3c7; }
body .eb-faq summary,body .eb-home-profiles summary { cursor:pointer; font-weight:700; list-style:none; position:relative; padding:24px 36px 24px 0; line-height:1.35; }
body .eb-faq summary::-webkit-details-marker,body .eb-home-profiles summary::-webkit-details-marker { display:none; }
body .eb-faq summary:after,body .eb-home-profiles summary:after { content:'+'; position:absolute; right:4px; color:var(--tdm-red); font-size:24px; top:20px; }
body .eb-faq[open] summary:after,body .eb-home-profiles[open] summary:after { content:'−'; }
body .eb-faq summary:focus-visible,body .eb-home-profiles summary:focus-visible { outline:2px solid var(--tdm-red); outline-offset:4px; }
body .eb-faq > div { padding-bottom:20px; }
body .eb-faq p:last-child { padding-bottom:0; }
body .eb-home-profiles { margin:10px 0 26px; border-top:1px solid #ffffff45; border-bottom:1px solid #ffffff45; }
body .eb-home-profiles summary { padding:18px 30px 18px 0; }
body .eb-home-profiles summary:after { top:14px; }
body .eb-home-profiles ul { margin-left:18px; }
body .eb-home-profiles li { font-size:14px; line-height:1.6; margin-bottom:8px; }
body .eb-home-profiles p { font-size:14px; }
body .eb-contact > .row_col_wrap_12 { align-items:center!important; }
body .eb-contact .nectar-button { background:#fff!important; color:var(--tdm-red)!important; }
@media(min-width:1000px){
 body .eb-hero h1 { font-size:clamp(46px,5.2vw,80px); }
 body .eb-result h3,body .eb-profile h3 { font-size:25px; }
 body .eb-step h3 { font-size:23px; }
 body .eb-faq summary { font-size:22px; }
}
@media(max-width:999px){
 body .eb-hero { min-height:680px; }
 body .eb-profile,body .eb-result,body .eb-step { margin-bottom:32px!important; }
 body .eb-split .wpb_column { margin-bottom:28px!important; }
 body .eb-faq summary { font-size:20px; }
}
@media(max-width:690px){
 body .eb-hero { min-height:76svh; }
 body .eb-hero h1 { overflow-wrap:anywhere; }
 body .eb-hero .row-bg { background-position:65% center!important; }
 body .eb-hero .row-bg-overlay { background:rgba(54,60,67,.72)!important; }
 body .eb-jump { gap:12px 20px; font-size:14px; }
 body .eb-scope { padding:20px; }
}

/* 3D scanning shares the site's Salient typography and grey/red section system. */
body .scan-comparison-label { color:var(--tdm-red); font-weight:700; font-size:14px; }
body .scan-comparison .scan-outcome { border-top:1px solid #c8cbce; padding-top:20px; }
body .scan-data-pair { display:grid; grid-template-columns:1fr; gap:0; max-width:415px; margin:0 auto; }
body .scan-data-image { max-width:415px; }
body .scan-data-pair .eb-caption { margin-bottom:28px; }
body .scan-hero .eb-lead { max-width:650px; }
@media(min-width:1000px){
 body .scan-result h3 { font-size:23px; }
 body .scan-comparison h3 { font-size:clamp(20px,1.8vw,25px); }
}
@media(max-width:690px){
 body .scan-hero .row-bg { background-position:62% center!important; }
}

/* Shared photographic tiles, matching the homepage service cards. */
body .tdm-landing-tile { min-width:0; }
body .tdm-landing-tile > .vc_column-inner { border:0!important; padding-top:0!important; }
body .tdm-landing-tile .img-with-aniamtion-wrap { width:100%!important; margin-bottom:24px!important; }
body .tdm-landing-tile img.tdm-tile-photo { width:100%!important; height:auto!important; aspect-ratio:3/2; object-fit:cover; display:block; }
body .tdm-landing-tile h3 { margin-top:0; font-size:22px!important; line-height:1.25!important; }
body .tdm-landing-tile .nectar-button { margin-top:12px; }
body .tdm-service-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:36px; }
body .tdm-service-links a { display:flex; flex-direction:column; gap:14px; padding:28px; background:#f5f5f5; color:#363c43; }
body .tdm-service-links strong { font-size:20px; line-height:1.3; }
body .tdm-service-links strong span { color:#dd1e26; }
body .tdm-service-links a:hover strong { color:#dd1e26; }
body .hp-hero.eb-hero { min-height:78svh; }
@media(max-width:999px){
 body .tdm-landing-tile { margin-bottom:36px!important; }
 body .tdm-service-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:690px){
 body .tdm-landing-tile h3 { font-size:19px!important; }
 body .tdm-service-links { grid-template-columns:1fr; }
}
@media(min-width:1000px){
 body .tdm-landing-tile { align-self:stretch; }
 body .tdm-landing-tile > .vc_column-inner,body .tdm-landing-tile > .vc_column-inner > .wpb_wrapper { height:100%; }
 body .tdm-landing-tile > .vc_column-inner > .wpb_wrapper { display:flex; flex-direction:column; align-items:flex-start; }
 body .tdm-landing-tile > .vc_column-inner > .wpb_wrapper > .nectar-button:last-child { margin-top:auto!important; }
}

/* Projektberichte: ruhiger Lesefluss, Projektfakten und Originalmedien. */
body .tdm-project-story { max-width:1040px; margin:0 auto; }
body .tdm-project-story > p,body .tdm-project-story > h2,body .tdm-project-story > section { width:100%; max-width:none; margin-left:0; margin-right:0; }
body .tdm-project-story h2 { margin-top:42px; margin-bottom:18px; }
body .tdm-project-story .tdm-story-lead { font-size:1.15em; line-height:1.7; }
body .tdm-story-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 40px; padding:0; background:transparent; margin:32px 0 48px; }
body .tdm-story-facts dt { font-size:.82em; color:#61666b; font-weight:400; }
body .tdm-story-facts dd { font-weight:700; margin:7px 0 0; }
body .tdm-story-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:34px 0 44px; align-items:start; }
body .tdm-story-photo { margin:32px 0; }
body .tdm-story-gallery .tdm-story-photo { margin:0; }
body .tdm-story-photo img { display:block; width:100%; height:auto; max-height:680px; object-fit:contain; margin:auto; }
body .tdm-story-gallery img { height:360px; object-fit:cover; }
body .tdm-story-film { margin:42px 0; text-align:center; }
body .tdm-story-film video { display:block; width:100%; max-height:650px; background:#363c43; margin:auto; }
body .tdm-project-story figcaption { font-size:.8em; color:#61666b; margin-top:10px; }
body .tdm-story-contact { background:transparent; padding:0; margin-top:54px; }
body .tdm-story-contact h2 { margin-top:0; }
body .tdm-story-contact .nectar-button { margin:14px 24px 0 0; }
body .tdm-story-service { display:inline-block; margin-top:14px; }
@media(max-width:690px){
 body .tdm-story-facts { padding:0; gap:22px; grid-template-columns:1fr; }
 body .tdm-story-gallery { grid-template-columns:1fr; gap:20px; }
 body .tdm-story-gallery img { height:auto; max-height:560px; object-fit:contain; }
 body .tdm-story-contact { padding:0; }
 body .tdm-project-story h2 { overflow-wrap:anywhere; }
}

body.single-post .container-wrap:has(.tdm-project-story) { background:#fff; color:#242a30; }
body .tdm-project-story h2,body .tdm-project-story p { color:#242a30; }

/* Quadratische Ergebnisbilder der Ebenheitsanalyse. */
body .tdm-square-results img.tdm-tile-photo { aspect-ratio:1; }

/* Prüfprofile: gemeinsamer Hallenhintergrund und drei klare Karten. */
body .eb-profile-scene .eb-profile-cards { margin-top:42px; margin-bottom:32px; }
body .eb-profile-scene .eb-profile-card > .vc_column-inner {
  background:rgba(54,60,67,.88); border-top:3px solid var(--tdm-red);
  padding:30px!important; height:100%;
}
body .eb-profile-scene .eb-profile-card h3 { font-size:24px; line-height:1.25; margin-bottom:26px; }
body .eb-profile-scene .eb-profile-list { margin:0; }
body .eb-profile-scene .eb-profile-list li { color:#fff; border-color:rgba(255,255,255,.22); font-size:18px; padding:18px 0; }
body .eb-profile-scene .eb-profile-list li:last-child { padding-bottom:0; }
body .eb-profile-scene .eb-scope { background:rgba(54,60,67,.88); padding:24px 28px; }
body .eb-profile-scene .eb-scope p { max-width:none; font-size:15px; line-height:1.6; }
body .eb-profile-scene .eb-related a { color:#fff; }
@media(max-width:999px) {
 body .eb-profile-scene .eb-profile-card { margin-bottom:20px!important; }
 body .eb-profile-scene .eb-profile-card > .vc_column-inner { padding:24px!important; }
 body .eb-profile-scene .eb-profile-card h3 { font-size:23px; }
 body .eb-profile-scene .eb-profile-list li { font-size:17px; }
 body .eb-profile-scene .eb-profile-cards { margin-top:30px; margin-bottom:12px; }
}

/* Vergleichsleistungen im gleichen Kartenraster wie die Prüfprofile. */
body .scan-comparison-scene .scan-comparison-label { color:#dce0e3; font-size:13px; line-height:1.5; min-height:39px; padding-bottom:14px; }
body .scan-comparison-scene .eb-profile-card h3 { font-size:22px; overflow-wrap:normal; }
body .scan-comparison-scene .scan-comparison p { font-size:16px; line-height:1.7; }
body .scan-comparison-scene .scan-comparison .scan-outcome { border-color:rgba(255,255,255,.22); color:#fff; margin-top:20px; }
@media(max-width:999px) {
 body .scan-comparison-scene .scan-comparison-label { min-height:0; }
}

/* HP SitePrint – projektorientierte Bild- und Filmstrecke. */
body .hp-redesign { overflow:visible; }
body .hp-redesign.hp-editorial-hero { min-height:90svh; padding-top:140px!important; padding-bottom:100px!important; }
body .hp-editorial-hero .hp-hero-copy { max-width:790px; }
body .hp-editorial-hero h1 { font-size:clamp(42px,4.5vw,72px); max-width:850px; }
body .hp-editorial-hero h1 span { display:block; font-size:.42em; letter-spacing:-.015em; margin-bottom:18px; }
body .hp-redesign .hp-overline { text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:700; margin:0 0 30px; }
body .hp-editorial-hero p:not(.hp-overline) { max-width:580px; font-size:18px; line-height:1.7; }
body .hp-statement { padding:54px 0!important; }
body .hp-statement .wpb_text_column .wpb_wrapper { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
body .hp-statement p { font-size:18px; line-height:1.65; padding:0; }
body .hp-statement p:last-child { color:#fff; font-weight:500; border-left:2px solid var(--tdm-red); padding-left:30px; }
body .hp-cinema { padding-top:70px!important; }
body .hp-cinema h2 { font-size:clamp(32px,3.3vw,52px); }
body .hp-cinema .nectar_video_player_self_hosted { margin-top:36px; }
body .hp-applications .hp-photo { aspect-ratio:4/5; object-fit:cover; }
body .hp-application-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; list-style:none; margin:30px 0 0; }
body .hp-application-grid li { list-style:none; border-top:1px solid #c8cbce; padding:16px 0; font-size:16px; line-height:1.55; }
body .hp-process-cards img.tdm-tile-photo { aspect-ratio:4/3; object-fit:cover; }
body .hp-process-cards .tdm-landing-tile { border-top:3px solid var(--tdm-red); }
body .hp-process-cards .tdm-landing-tile h3 { font-size:23px; }
body .hp-preparation .hp-portrait-film { background:#363c43; padding:24px; }
body .hp-preparation h3 { font-size:24px; margin-top:30px; }
body .hp-benefit-title { padding-bottom:32px!important; }
body .hp-benefit-cards .hp-benefit { border:0; }
body .hp-benefit-cards img.tdm-tile-photo { aspect-ratio:1; object-fit:cover; }
body .hp-project-gallery { padding-top:0!important; padding-bottom:90px!important; }
body .hp-project-gallery img.hp-photo { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
body .hp-related-service .hp-photo { max-height:430px; object-fit:cover; }
body .hp-faq-section .hp-photo { max-height:380px!important; object-fit:cover; margin-top:30px; }
body .hp-final-cta h2 { font-size:clamp(32px,3.5vw,52px); }
@media(max-width:999px) {
 body .hp-redesign.hp-editorial-hero { min-height:82svh; padding-top:125px!important; padding-bottom:60px!important; }
 body .hp-editorial-hero h1 { font-size:clamp(38px,7vw,60px); }
 body .hp-statement .wpb_text_column .wpb_wrapper { grid-template-columns:1fr; gap:24px; }
 body .hp-statement p:last-child { padding-left:20px; }
 body .hp-redesign .tdm-landing-tile { margin-bottom:36px!important; }
 body .hp-application-grid { gap:0 20px; }
 body .hp-preparation .hp-portrait-film { padding:16px!important; }
 body .hp-project-gallery { padding-bottom:48px!important; }
}
@media(max-width:480px) {
 body .hp-editorial-hero h1 { font-size:40px; }
 body .hp-editorial-hero p:not(.hp-overline) { font-size:16px; }
 body .hp-application-grid { grid-template-columns:1fr; }
 body .hp-redesign .hp-overline { font-size:10px; }
}

/* Projektclips im Originalhochformat neben dem zugehörigen Text. */
body .tdm-project-story .tdm-story-media-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,360px); align-items:center; gap:64px; margin:52px 0; padding:0; background:transparent; }
body .tdm-story-media-pair section h2 { margin-top:0; }
body .tdm-story-media-pair .tdm-story-film { margin:0; }
body .tdm-story-media-pair .tdm-story-portrait video { width:100%; height:auto; max-height:none; aspect-ratio:9/16; object-fit:contain; }
body.page-id-5720 .tdm-magazine-grid .nectar-post-grid-item h2,
body.page-id-5720 .tdm-magazine-grid .nectar-post-grid-item h3 { font-size:20px!important; line-height:1.35!important; letter-spacing:-.015em; }
@media(max-width:690px){
 body .tdm-project-story .tdm-story-media-pair { grid-template-columns:1fr; gap:28px; padding:0; margin:36px 0; }
 body .tdm-story-media-pair .tdm-story-portrait { width:100%; max-width:360px; justify-self:center; }
 body.page-id-5720 .tdm-magazine-grid .nectar-post-grid-item h2,
 body.page-id-5720 .tdm-magazine-grid .nectar-post-grid-item h3 { font-size:19px!important; }
}

/* Offene Profilübersicht: Typografie und Zeilen statt Kacheln. */
body .eb-profile-editorial .eb-kicker { color:#b91c24; font-size:13px; letter-spacing:.04em; }
body .eb-profile-editorial h2 { font-size:clamp(32px,3.6vw,48px); line-height:1.12; letter-spacing:-.035em; margin:25px 0; }
body .eb-profile-introduction p { font-size:17px; line-height:1.7; }
body .eb-profile-editorial img.eb-profile-context { width:100%; aspect-ratio:16/10; object-fit:cover; margin-top:30px; }
body .eb-profile-index .eb-profile-line { border-top:1px solid #c6c9cc; padding:30px 0; display:grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap:26px; }
body .eb-profile-index .eb-profile-line:first-child { border-top:2px solid #242a30; }
body .eb-profile-index .eb-profile-line:last-child { border-bottom:1px solid #c6c9cc; }
body .eb-profile-index h3 { font-size:21px; line-height:1.35; margin:0; letter-spacing:-.02em; }
body .eb-profile-index ul { list-style:none; padding:0; margin:0; }
body .eb-profile-index li { list-style:none; margin:0 0 16px; font-size:16px; line-height:1.55; }
body .eb-profile-index li:last-child { margin-bottom:0; }
body .eb-profile-editorial-notes .eb-scope { background:none; border:0; border-top:1px solid #c6c9cc; padding:26px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:40px; }
body .eb-profile-editorial-notes .eb-scope p { font-size:14px; line-height:1.6; color:#62666b; padding:0; }
body .eb-profile-editorial-notes .eb-related { margin-top:22px; }
body .eb-profile-editorial-notes .eb-related a { font-size:15px; }
@media(max-width:999px){
 body .eb-profile-editorial .eb-profile-introduction { margin-bottom:42px!important; }
 body .eb-profile-editorial img.eb-profile-context { max-height:320px; }
}
@media(max-width:600px){
 body .eb-profile-index .eb-profile-line { grid-template-columns:1fr; gap:18px; padding:26px 0; }
 body .eb-profile-index h3 { font-size:23px; }
 body .eb-profile-editorial-notes .eb-scope { grid-template-columns:1fr; gap:20px; }
}

/* Hochformate als Teil des Textflusses: volle Artikelbreite, vertikal zentriert. */
body .tdm-project-story .tdm-story-media-pair { display:flex; align-items:center; gap:clamp(28px,5vw,64px); }
body .tdm-story-media-pair > section { flex:1; min-width:0; }
body .tdm-story-media-pair > .tdm-story-portrait { flex:0 0 36%; width:36%; max-width:380px; margin:0; }
body .tdm-story-media-pair.tdm-story-media-left { flex-direction:row-reverse; }
body .tdm-story-media-pair .tdm-story-photo img { width:100%; height:auto; max-height:none; object-fit:contain; }
body .tdm-story-gallery.tdm-story-gallery-single { grid-template-columns:1fr; }
body .tdm-story-gallery-single img { height:auto; max-height:680px; object-fit:contain; }
@media(max-width:690px){
 body .tdm-project-story .tdm-story-media-pair,body .tdm-story-media-pair.tdm-story-media-left { flex-direction:column; gap:24px; }
 body .tdm-story-media-pair > .tdm-story-portrait { flex:auto; width:100%; max-width:360px; }
}

/* Keep direct links above Salient's structural header row. */
body #header-outer .tdm-header-landings { z-index:6; }
/* Mobile: logo, provider badge, then the menu at the right edge. */
@media(max-width:999px){
 body #header-outer #top > .container { padding-left:24px!important; padding-right:24px!important; }
 body #header-outer .tdm-header-provider { right:88px; width:150px; }
}
@media(max-width:389px){
 body #header-outer .tdm-header-provider { width:130px; right:80px; }
}
@media(max-width:360px){
 body #header-outer .tdm-header-provider { width:112px; }
}

/* Visible profile index below the floor analysis image on the homepage. */
body #ebenheit .eb-home-profile-list { margin-top:28px; }
body #ebenheit .eb-home-profile-list h3 { font-size:24px; line-height:1.3; margin-bottom:22px; }
body #ebenheit .eb-home-profile-list ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:30px; list-style:none; margin:0; padding:0; }
body #ebenheit .eb-home-profile-list li { list-style:none; margin:0; padding:12px 0; border-top:1px solid rgba(255,255,255,.22); font-size:16px; line-height:1.5; }
body #ebenheit .eb-home-profile-list p { font-size:13px; line-height:1.6; color:#c5c9cd; margin-top:18px; }
@media(max-width:690px){ body #ebenheit .eb-home-profile-list ul { grid-template-columns:1fr; } }

/* More breathing room around the homepage floor illustration. */
body.home #ebenheit img.tdm-analysis-visual { display:block; width:88%; margin-inline:auto; }
@media(min-width:1000px){
 body.home #ebenheit > .row_col_wrap_12 > .wpb_column:last-child > .vc_column-inner { padding-left:40px; }
}

/* Profile overview: introduction and image, then a full-width comparison table. */
body .eb-profile-overview h2 { max-width:520px; margin-bottom:24px; }
body .eb-profile-overview p { max-width:540px; }
body .eb-profile-overview img.eb-profile-context { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
body table.eb-profile-table { width:100%; border-collapse:collapse; border:0; background:transparent; table-layout:fixed; margin:0; }
body .eb-profile-table th,body .eb-profile-table td { text-align:left; vertical-align:top; background:transparent; border:0; border-bottom:1px solid #c6c9cc; padding:26px 0; color:#242a30; }
body .eb-profile-table thead th { font-size:13px; letter-spacing:.04em; color:#61666b; border-bottom:2px solid #242a30; padding:16px 0; }
body .eb-profile-table th:first-child { width:34%; padding-right:40px; }
body .eb-profile-table tbody th { font-size:23px; line-height:1.35; font-weight:700; }
body .eb-profile-table ul { margin:0; padding:0; list-style:none; }
body .eb-profile-table li { margin:0 0 12px; list-style:none; font-size:17px; line-height:1.55; }
body .eb-profile-table li:last-child { margin-bottom:0; }
@media(max-width:690px){
 body .eb-profile-table th:first-child { width:38%; padding-right:18px; }
 body .eb-profile-table tbody th { font-size:17px; overflow-wrap:break-word; }
 body .eb-profile-table li { font-size:15px; overflow-wrap:break-word; }
 body .eb-profile-table th,body .eb-profile-table td { padding-top:20px; padding-bottom:20px; }
}

/* Laserscanning: ruhige, transparente rote Vergleichskarten. */
body .scan-comparison-scene .eb-profile-card > .vc_column-inner {
  background:rgba(168,23,30,.88); border:0;
}
body .scan-comparison-scene .scan-comparison .scan-outcome {
  border:0; padding-top:0;
}

/* SitePrint: Film ohne Rahmen und einheitlicher Abschluss. */
body .hp-process-cards .tdm-landing-tile { border-top:0; }
body .hp-preparation .hp-portrait-film { background:transparent; padding:0!important; }
body .hp-preparation-video { display:block; width:100%; max-width:520px; height:auto; margin-inline:auto; aspect-ratio:1/1; object-fit:cover; object-position:center center; }
body .hp-project-gallery h3 { font-size:23px; line-height:1.3; margin-top:24px; }
body .hp-project-gallery p { font-size:16px; line-height:1.65; }
body .hp-final-cta > .row_col_wrap_12 { display:flex; align-items:center!important; }
body .hp-final-cta .nectar-button { margin-bottom:0; }
@media(max-width:999px) { body .hp-final-cta > .row_col_wrap_12 { flex-wrap:wrap; } }

/* Ergänzende Leistungen: ruhige, linksbündige Beschreibung ohne Navigation. */
body .tdm-supplementary-services { margin:36px 0 0; padding:0; }
body .tdm-supplementary-services > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:40px; padding:28px 0; border-top:1px solid #c6cbcf; }
body .tdm-supplementary-services dt { margin:0; font-size:22px; font-weight:700; line-height:1.35; }
body .tdm-supplementary-services dd { margin:0; font-size:17px; line-height:1.7; }
@media(max-width:690px) {
 body .tdm-supplementary-services > div { grid-template-columns:1fr; gap:12px; }
 body .tdm-supplementary-services dt { font-size:20px; }
 body .tdm-supplementary-services dd { font-size:16px; }
}

/* Magazin: sichtbare Inhaltskategorien statt Filtermenü. */
body .tdm-magazine-toolbar, body .tdm-magazine-toolbar > .wpb_wrapper { display:block; }
body .tdm-content-categories { display:flex; flex-wrap:wrap; align-items:center; gap:14px 28px; margin-top:30px; }
body .tdm-content-categories > span { font-size:15px; font-weight:700; }
body .tdm-content-categories a { color:#b3171e; font-weight:700; font-size:18px; padding:8px 0; border-bottom:2px solid transparent; }
body .tdm-content-categories a[aria-current],body .tdm-content-categories a:hover { border-bottom-color:currentColor; }
body .tdm-magazine-more { text-align:center; margin-top:40px; }
body .tdm-magazine-more a[hidden] { display:none!important; }
body .tdm-load-status { font-size:14px; margin-top:12px; }

body .tdm-light .tdm-content-categories a:not(.nectar-button), body .tdm-light .tdm-content-categories a:not(.nectar-button):hover { color:#b3171e; }

/* Prüfprofile ohne Tabellenrahmen oder gefüllte Zellen. */
body .eb-profile-overview-list { background:none; }
body .eb-profile-labels,body .eb-profile-group { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:40px; }
body .eb-profile-labels { color:#b3171e; font-weight:700; font-size:15px; margin-bottom:30px; }
body .eb-profile-group { margin-bottom:36px; }
body .eb-profile-group h3 { margin:0; font-size:23px; line-height:1.35; }
body .eb-profile-group ul { padding:0; margin:0; list-style:none; }
body .eb-profile-group li { list-style:none; margin:0 0 12px; font-size:17px; line-height:1.6; }
body .eb-inline-note { font-size:.9em; }
@media(max-width:690px) {
 body .eb-profile-labels,body .eb-profile-group { grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:20px; }
 body .eb-profile-group h3 { font-size:17px; overflow-wrap:break-word; }
 body .eb-profile-group li { font-size:15px; }
 body .eb-profile-labels { font-size:13px; }
}
/* Keep the scanner and operator in the mobile hero crop. */
@media(max-width:690px) { body.page-id-5749 #eb-start .row-bg { background-position:82% center!important; } }

/* Profile nach Fachgruppen: direkt sichtbar und untereinander. */
body .eb-profile-stack .eb-profile-stack-group { margin:0 0 32px; }
body .eb-profile-stack .eb-profile-stack-group:last-child { margin-bottom:0; }
body .eb-profile-stack .eb-profile-stack-group h3,
body #ebenheit .eb-profile-stack .eb-profile-stack-group h4 { font-size:26px; line-height:1.35; margin:0 0 14px; }
body .eb-profile-overview-list.eb-profile-stack h3 { color:#b3171e; }
body .eb-profile-stack .eb-profile-stack-group ul,
body #ebenheit .eb-profile-stack .eb-profile-stack-group ul { display:block; list-style:none; padding:0; margin:0; text-align:left; }
body .eb-profile-stack .eb-profile-stack-group li,
body #ebenheit .eb-profile-stack .eb-profile-stack-group li { list-style:none; border:0; padding:0; margin:0 0 8px; font-size:17px; line-height:1.6; text-align:left; }
@media(max-width:690px) {
 body .eb-profile-stack .eb-profile-stack-group h3,body #ebenheit .eb-profile-stack .eb-profile-stack-group h4 { font-size:22px; }
 body .eb-profile-stack .eb-profile-stack-group li,body #ebenheit .eb-profile-stack .eb-profile-stack-group li { font-size:16px; }
}

body #abweichungen .scan-sensor-monitoring { margin-top:40px; }
body #abweichungen .scan-sensor-monitoring h3 { margin-bottom:16px; font-size:24px; line-height:1.35; }
body #abweichungen .scan-sensor-monitoring p { max-width:980px; }
@media(max-width:690px){ body #abweichungen .scan-sensor-monitoring h3 { font-size:21px; } }

body .eb-profile-wide-intro h2,body .eb-profile-wide-intro p { max-width:none; }
body .eb-profile-two-columns img.eb-profile-context { display:block; width:100%; height:auto; aspect-ratio:2/3; object-fit:cover; object-position:center; }
body .eb-profile-two-columns .eb-profile-stack-group h3 { font-size:26px; line-height:1.35; }
@media(max-width:690px) { body .eb-profile-two-columns .eb-profile-stack-group h3 { font-size:22px; } }
@media(max-width:999px) {
 body .eb-profile-two-columns .eb-profile-photo-column { margin-bottom:32px!important; }
 body .eb-profile-two-columns img.eb-profile-context { max-height:560px; }
}

/* Vier Vergleichsleistungen: Desktop 4, Tablet 2, Mobil 1 Spalte. */
body #abweichungen .row_col_wrap_12_inner { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
body #abweichungen .row_col_wrap_12_inner > .scan-comparison { width:100%!important; margin:0!important; }
body #abweichungen .scan-comparison > .vc_column-inner { padding:26px 22px!important; height:100%; }
body #abweichungen .scan-comparison h3 { font-size:20px; line-height:1.35; overflow-wrap:anywhere; hyphens:auto; }
body #abweichungen .scan-comparison p { font-size:15px; line-height:1.65; }
@media(max-width:1100px) and (min-width:691px) { body #abweichungen .row_col_wrap_12_inner { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:690px) { body #abweichungen .row_col_wrap_12_inner { grid-template-columns:1fr; } }
body #abweichungen .scan-comparison h3 { hyphens:manual; }
@media(min-width:1101px){ body #abweichungen .scan-comparison-label { min-height:64px; } }

/* Vergleichsleistungen im 2×2-Raster, mobil untereinander. */
body #abweichungen .row_col_wrap_12_inner { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:24px; }
@media(max-width:690px) { body #abweichungen .row_col_wrap_12_inner { grid-template-columns:minmax(0,1fr)!important; } }
body #abweichungen .scan-comparison > .vc_column-inner { padding:32px!important; }
body #abweichungen .scan-comparison-label { min-height:0!important; padding-bottom:0; margin-bottom:12px; }
body #abweichungen .scan-comparison h3 { font-size:24px; margin-bottom:18px; }
body #abweichungen .scan-comparison p { font-size:17px; line-height:1.65; }
body #abweichungen .scan-comparison .scan-outcome { margin-top:12px; }
@media(max-width:690px) {
 body #abweichungen .scan-comparison > .vc_column-inner { padding:24px!important; }
 body #abweichungen .scan-comparison h3 { font-size:21px; }
 body #abweichungen .scan-comparison p { font-size:16px; }
}

/* Align scanning result copy below a shared two-line heading area. */
@media (min-width: 1000px) {
  body .scan-landing.eb-results .scan-result h3 {
    display: flex;
    align-items: flex-start;
    min-height: 2lh;
  }
}

/* Project previews: a contained image zoom signals the linked article. */
body :is(#praxis, #beitraege) .nectar-post-grid-item-bg-wrap {
  overflow: hidden;
}
body :is(#praxis, #beitraege) .nectar-post-grid-item-bg__media {
  transition: transform 450ms ease;
  transform-origin: center;
}
body :is(#praxis, #beitraege) .nectar-post-grid-link {
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  body :is(#praxis, #beitraege) .nectar-post-grid-item:hover .nectar-post-grid-item-bg__media {
    transform: scale(1.06);
  }
}
body :is(#praxis, #beitraege) .nectar-post-grid-item:has(a:focus-visible) .nectar-post-grid-item-bg__media {
  transform: scale(1.06);
}
@media (prefers-reduced-motion: reduce) {
  body :is(#praxis, #beitraege) .nectar-post-grid-item .nectar-post-grid-item-bg__media {
    transition: none;
    transform: none;
  }
}

/* HP workflow: consistent image frames and aligned text starts. */
body .hp-process-cards .tdm-landing-tile > .vc_column-inner > .wpb_wrapper {
  display:flex;
  flex-direction:column;
}
body .hp-process-cards .img-with-aniamtion-wrap {
  width:100%;
  flex-shrink:0;
}
body .hp-process-cards img.tdm-tile-photo {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:center;
}
@media(min-width:1000px) {
  body .hp-process-cards .tdm-landing-tile h3 {
    display:flex;
    align-items:flex-start;
    min-height:2lh;
  }
}

/* Consistent LupoScan frames and square corners for the CAD source image. */
body .scan-data-pair img.scan-data-image { width:100%!important; height:auto!important; aspect-ratio:1280/991; object-fit:cover; object-position:center; border-radius:0!important; }
body .hover-wrap-inner:has(> img[src*="3dm-cad-rohranlage"]) { overflow:hidden; border-radius:0!important; }
body .hover-wrap-inner > img[src*="3dm-cad-rohranlage"] { transform:scale(1.12)!important; border-radius:0!important; }
