@font-face {
  font-family: "Montserrat";
  src: url('/assets/fonts/montserrat-variable.woff2') format('woff2-variations');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url('/assets/fonts/open-sans-variable.woff2') format('woff2-variations');
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url('/assets/fonts/open-sans-variable-italic.woff2') format('woff2-variations');
  font-style: italic;
  font-weight: 300 800;
  font-display: swap;
}

:root {
  --orange: #ffaa00;
  --orange-hover: #d98f00;
  --danger: #df3f3f;
  --ink: #171717;
  --ink-soft: #262626;
  --paper: #f4f4f1;
  --paper-deep: #e9e9e5;
  --white: #fff;
  --muted: #656565;
  --line: #d8d8d4;
  --shell: 1200px;
  --radius: 5px;
  --radius-lg: 8px;
  --shadow: 0 18px 50px rgba(0, 0, 0, .12);
  --shadow-soft: 0 12px 36px rgba(21, 21, 18, .08);
  --mobile-page-gutter: 20px;
  --header-scrolled-bg: rgba(23, 23, 23, .5);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Open Sans", Arial, sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: .2em; }
button, input, textarea { font: inherit; }
h1, h2, h3, h4 { margin: 0 0 .55em; font-family: "Montserrat", Arial, sans-serif; line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(2.7rem, 6.2vw, 5rem); }
h2 { font-size: clamp(2rem, 4.2vw, 3.35rem); }
h3 { font-size: clamp(1.15rem, 2vw, 1.55rem); }
p { margin: 0 0 1.2em; }
.shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
.narrow { max-width: 870px; }
.section { padding: clamp(5rem, 9vw, 8rem) 0; }
.light-section { background: radial-gradient(circle at 88% 10%, rgba(255,170,0,.06), transparent 24rem), var(--paper); }
.dark-section, .statement-section, .process-section { color: var(--white); background: var(--ink); }
.eyebrow { margin: 0 0 1.25rem; color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: .76rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow.light { color: var(--orange); }
:where(.section-heading, .split > div, .about-copy, .portfolio-hero .shell, .contact-grid > div:first-child, .booking-heading > div, .legal-hero .shell, .statement-section .narrow) > .eyebrow { display: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; left: 1rem; top: -5rem; padding: .75rem 1rem; color: var(--white); background: var(--orange); font-weight: 700; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }

.site-header { position: fixed; z-index: 50; inset: 0 0 auto; height: 121px; color: var(--white); background: transparent; border-bottom: 1px solid transparent; transition: height .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .26s ease; will-change: transform; }
.site-header.is-scrolled { height: 80px; background: var(--header-scrolled-bg); border-bottom-color: rgba(255,255,255,.1); box-shadow: 0 8px 22px rgba(0,0,0,.14); backdrop-filter: blur(10px); }
.site-header.is-hidden { transform: translateY(calc(-100% - 1px)); pointer-events: none; }
.nav-wrap { width: min(calc(100% - 128px), 1760px); height: 100%; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { flex: 0 0 225px; transition: flex-basis .22s ease; }
.brand img { width: 225px; height: auto; transition: width .22s ease; }
.site-header.is-scrolled .brand { flex-basis: 190px; }
.site-header.is-scrolled .brand img { width: 190px; }
.site-nav { margin-left: auto; display: flex; align-items: center; gap: 0; font-family: "Open Sans", Arial, sans-serif; font-size: .94rem; font-weight: 600; white-space: nowrap; }
.nav-links { display: flex; align-items: center; min-height: 44px; overflow: hidden; background: rgba(29,29,29,.86); border: 0; border-radius: var(--radius-lg) 0 0 var(--radius-lg); box-shadow: 0 10px 26px rgba(0,0,0,.18); backdrop-filter: blur(14px); }
.site-nav a { text-decoration: none; }
.nav-links a { padding: .55rem .92rem; background: transparent; transition: color .18s; }
.nav-link-icon { display: none; }
.nav-links a:last-child { padding-right: 2.2rem; }
.nav-links a:visited, .nav-links a:hover, .nav-links a:focus-visible, .nav-links a.is-active { background: transparent; }
.nav-links a:hover, .nav-links a.is-active { color: var(--orange); }
.nav-consult { position: relative; z-index: 1; min-height: 48px; margin-left: -8px; padding: .55rem .95rem; display: inline-flex; align-items: center; color: var(--white); background: var(--orange); border: 0; border-radius: var(--radius-lg); box-shadow: 0 10px 24px rgba(255,170,0,.2); font-weight: 750; }
.nav-consult:hover, .nav-consult:focus-visible { color: var(--white); background: var(--orange-hover); }
.language-switch { margin-left: .55rem; padding: 3px; display: inline-flex; align-items: center; gap: 2px; background: rgba(29,29,29,.76); border: 1px solid rgba(255,255,255,.15); border-radius: 7px; box-shadow: 0 8px 18px rgba(0,0,0,.14); backdrop-filter: blur(12px); }
.language-switch a { min-width: 29px; height: 28px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,.58); border: 0; border-radius: 4px; font-size: .7rem; font-weight: 750; letter-spacing: .04em; line-height: 1; transition: color .16s ease, background .16s ease; }
.language-switch a:hover, .language-switch a:focus-visible { color: var(--white); background: rgba(255,255,255,.08); }
.language-switch a.is-active { color: var(--white); background: rgba(255,255,255,.14); }
.nav-toggle { position: relative; display: none; width: 46px; height: 46px; padding: 0; color: inherit; background: rgba(29,29,29,.72); border: 1px solid rgba(255,255,255,.35); border-radius: var(--radius); }
.nav-toggle > span:not(.sr-only) { position: absolute; top: 50%; left: 50%; width: 22px; height: 2px; margin: 0; display: block; background: currentColor; transform: translate(-50%, -50%); transition: transform .2s, opacity .2s; }
.nav-toggle > span:nth-child(1) { transform: translate(-50%, calc(-50% - 7px)); }
.nav-toggle > span:nth-child(3) { transform: translate(-50%, calc(-50% + 7px)); }

.hero { position: relative; min-height: max(900px, 100svh); color: var(--white); background: #10181d; overflow: hidden; }
.hero-media, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-media { object-fit: cover; object-position: center 48%; filter: saturate(1.06) contrast(1.03); }
.hero-shade { background: linear-gradient(90deg, rgba(3,12,17,.38) 0%, rgba(4,13,18,.1) 64%, transparent 82%), linear-gradient(0deg, rgba(0,0,0,.58), transparent 58%); }
.hero-content { position: relative; z-index: 1; width: min(calc(100% - 128px), 1760px); min-height: max(900px, 100svh); padding-top: clamp(10rem, 22vh, 15rem); padding-bottom: clamp(3.5rem, 7vh, 5rem); display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; }
.hero h1 { max-width: 900px; margin-bottom: .28em; font-size: clamp(3rem, 5.3vw, 4.6rem); line-height: .98; text-shadow: 0 4px 22px rgba(0,0,0,.32); }
.hero h1 span, .hero h1 strong { display: block; color: var(--white); }
.hero h1 span { font-weight: 380; }
.hero h1 strong { font-weight: 760; }
.hero-lead { max-width: 760px; margin-bottom: .2rem; font-size: clamp(1.08rem, 1.5vw, 1.28rem); font-weight: 700; }
.hero-copy { max-width: 760px; margin-bottom: .75rem; color: rgba(255,255,255,.9); font-size: clamp(.95rem, 1.2vw, 1.08rem); }
.hero .button-secondary { color: var(--white); background: rgba(35,35,35,.9); border-color: rgba(35,35,35,.9); }
.hero .button-secondary:hover { color: var(--white); background: rgba(35,35,35,.9); border-color: rgba(35,35,35,.9); }
.button-row { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1rem; }
.button { display: inline-flex; min-height: 48px; padding: .78rem 1.2rem; align-items: center; justify-content: center; gap: .8rem; color: var(--white); background: var(--orange); border: 1px solid var(--orange); border-radius: var(--radius); font-family: "Open Sans", Arial, sans-serif; font-size: .86rem; font-weight: 750; text-decoration: none; cursor: pointer; box-shadow: 0 8px 20px rgba(0,0,0,.08); transition: background .18s, color .18s, border .18s; }
.button:hover { color: var(--white); background: var(--orange-hover); border-color: var(--orange-hover); transform: none; box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.button-secondary { color: var(--white); background: transparent; border-color: rgba(255,255,255,.75); }
.button-secondary:hover { color: var(--ink); background: var(--white); border-color: var(--white); }
.button-dark { color: var(--white); background: var(--ink); border-color: var(--ink); }
.button-dark:hover { color: var(--white); background: var(--orange-hover); border-color: var(--orange-hover); }
.button-outline { color: var(--ink); background: transparent; border-color: var(--ink); }
.button-outline:hover { color: var(--white); }
.button[disabled] { opacity: .48; pointer-events: none; }
.text-link { display: inline-flex; gap: .55rem; color: inherit; font-weight: 700; text-decoration-color: var(--orange); }
.more-info-link { position: relative; width: fit-content; padding-bottom: .3rem; text-decoration: none; }
.more-info-link::after { content: ''; position: absolute; right: auto; bottom: 0; left: 0; width: 75%; height: 2px; background: var(--orange); transition: width .22s ease; }
.more-info-link:hover::after, .more-info-link:focus-visible::after { width: 100%; }

.section-heading { max-width: 760px; margin-bottom: clamp(2.75rem, 5vw, 4rem); }
.section-heading > p:last-child { max-width: 660px; color: var(--muted); font-size: 1.08rem; }
.row-heading { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
#services { padding-block: clamp(3.75rem, 6vw, 5.75rem); }
#services .shell { width: min(calc(100% - 64px), 1280px); }
#services .section-heading { max-width: none; margin-bottom: 2.25rem; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); column-gap: clamp(3rem, 8vw, 8rem); align-items: end; }
#services .section-heading .eyebrow { grid-column: 1 / -1; margin-bottom: 1rem; }
#services .section-heading h2, #services .section-heading > p:last-child { margin-bottom: 0; }
#services .section-heading > p:last-child { padding-bottom: .35rem; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(23,23,23,.11); border: 1px solid rgba(23,23,23,.11); border-radius: var(--radius-lg); box-shadow: 0 14px 34px rgba(21,21,18,.055); overflow: hidden; }
.service-card { position: relative; min-width: 0; padding: clamp(1.6rem, 2.5vw, 2.25rem); display: flex; flex-direction: column; background: rgba(255,255,255,.96); border: 0; border-radius: 0; box-shadow: none; overflow: hidden; transition: background .2s; }
.service-card::before { content: ''; position: absolute; top: 0; left: clamp(1.6rem, 2.5vw, 2.25rem); width: 72px; height: 4px; background: var(--orange); }
.service-card:hover { background: var(--white); }
.service-card img, .service-card .service-icon-svg { width: 60px; height: 60px; object-fit: contain; margin-bottom: 1.35rem; }
.service-card .service-icon-svg { padding: 4px; color: #111; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.service-card h3 { min-height: 5rem; margin-bottom: .7rem; }
.service-card p { color: var(--muted); font-size: .94rem; line-height: 1.55; }
.service-card .text-link { margin-top: auto; padding-top: .35rem; }
.split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.split > *, .technology-grid > *, .step-detail > *, .service-index-item > * { min-width: 0; }
.process-section p { color: rgba(255,255,255,.75); }
.process-list { margin: 0; padding: 0; display: grid; gap: .5rem; list-style: none; }
.process-list li { min-width: 0; padding: .9rem 1rem; display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 1rem; align-items: center; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); }
.process-list li.is-heisel-step { background: rgba(255,255,255,.025); }
.process-list span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--ink); background: var(--orange); border-radius: var(--radius); font-family: "Montserrat", Arial, sans-serif; font-weight: 750; }
.process-list .is-heisel-step > span { color: var(--white); background: #737373; }
.process-step-copy { min-width: 0; }
.process-step-copy strong { line-height: 1.35; }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.project-card { min-width: 0; background: var(--white); border: 1px solid rgba(23,23,23,.08); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); overflow: hidden; transition: transform .22s, box-shadow .22s; }
.project-image { display: block; aspect-ratio: 4/3; background: #ddd; overflow: hidden; }
.project-image img { width: 100%; height: 100%; object-fit: cover; }
.project-card:hover { transform: translateY(-5px); box-shadow: 0 24px 52px rgba(21,21,18,.13); }
.project-card-body { padding: 1.7rem; }
.project-card-body .eyebrow { margin-bottom: .7rem; font-size: .68rem; }
.project-card-body h3 a { text-decoration: none; }
.project-card-body p:not(.eyebrow) { color: var(--muted); }
.statement-section { background: linear-gradient(90deg, rgba(15,15,15,.96), rgba(15,15,15,.7)), url('/assets/site/sea-horizon.webp') center/cover; }
.statement-section .narrow { position: relative; padding-left: clamp(1.4rem, 4vw, 3rem); border-left: 5px solid var(--orange); }
.statement-section p:not(.eyebrow) { color: rgba(255,255,255,.78); font-size: 1.08rem; }
.about-section { display: grid; grid-template-columns: 1fr 1fr; color: var(--white); background: var(--ink-soft); }
.about-image { min-height: 680px; }
.about-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
.about-copy { max-width: 680px; padding: clamp(4rem, 8vw, 8rem); align-self: center; }
.about-copy p:not(.eyebrow) { color: rgba(255,255,255,.75); }
.expertise-about .about-copy { max-width: 760px; }
.credentials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1.5rem; margin: 2rem 0 0; padding: 1.5rem 0 0; list-style: none; border-top: 1px solid rgba(255,255,255,.2); }
.credentials li { padding: .55rem .75rem; color: var(--white); background: rgba(255,255,255,.06); border-radius: var(--radius); font-weight: 700; }
.cta-section { position: relative; padding: clamp(4.5rem, 8vw, 7rem) 0; text-align: center; background: radial-gradient(circle at 16% 12%, rgba(255,255,255,.28), transparent 28%), linear-gradient(135deg, #ffb30f, var(--orange)); overflow: hidden; }
.cta-section::before { content: ''; position: absolute; inset: 20% -10% auto; height: 1px; background: rgba(23,23,23,.14); transform: rotate(-4deg); }
.cta-section .shell { position: relative; }
.cta-section .shell { max-width: 860px; }
.cta-section p { font-size: 1.08rem; }

/* Startseite in der ruhigen, breiten Anmutung der Originalseite */
.home .original-services, .home .original-projects { background: #deded9; }
.home #services { padding: 0; }
.home #services .services-showcase { width: 100%; display: grid; grid-template-columns: clamp(120px, 10vw, 175px) minmax(0, 1fr); }
.home #services .section-heading { max-width: none; min-height: 100%; margin: 0; padding: 3.125rem 0 2.5rem; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: .5rem; color: var(--white); background: #222; border-right: 1px solid rgba(255,255,255,.14); }
.home #services .section-heading h2 { align-self: center; margin: 0; color: var(--white); font-size: clamp(2.7rem, 4.4vw, 4.4rem); line-height: 1; letter-spacing: -.045em; writing-mode: vertical-rl; transform: rotate(180deg); }
.home #services .services-heading-rule { align-self: center; width: 48px; height: 5px; flex: 0 0 5px; display: block; background: var(--orange); transform: translateY(12px); }
.home #services .service-grid { min-height: 0; background: rgba(23,23,23,.13); border: 0; border-radius: 0; box-shadow: none; }
.home #services .service-card { padding: clamp(2rem, 3vw, 3.5rem); padding-top: clamp(2.625rem, 3vw, 3.5rem); padding-inline: clamp(2rem, 3vw, 3.5rem); background: #eeeee9; }
.home #services .service-card::before { width: 94px; height: 6px; transform-origin: left center; transition: transform .24s ease, background-color .24s ease; }
.home #services .service-card img, .home #services .service-card .service-icon-svg { transition: transform .24s ease; }
.home #services .service-card h3 { min-height: 4.4rem; margin-bottom: .45rem; }
.home #services .service-card > p { margin-bottom: .55rem; }
.home #services .service-card .text-link { margin-top: .75rem; padding-top: 0; }
.home #services .service-card:hover::before, .home #services .service-card:focus-within::before { background: var(--orange); transform: scaleX(1.38); }
.home #services .service-card:hover img, .home #services .service-card:focus-within img,
.home #services .service-card:hover .service-icon-svg, .home #services .service-card:focus-within .service-icon-svg { transform: translateY(-3px) scale(1.08); }
.home .original-services .service-card:hover { background: #f4f4ef; }
.home .original-process { position: relative; isolation: isolate; min-height: clamp(780px, 90svh, 860px); padding: clamp(5rem, 7vw, 7rem) 0; display: flex; align-items: center; background: linear-gradient(90deg, rgba(14,14,14,.3) 0%, rgba(20,20,20,.74) 48%, rgba(20,20,20,.97) 100%), url('/assets/site/storm-waves.webp') center / cover; overflow: clip; }
.home .original-process::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(8,8,8,.22), rgba(8,8,8,.06) 38%, transparent 58%); pointer-events: none; }
.home .original-process .process-layout { width: min(calc(100% - 96px), 1320px); min-height: clamp(600px, 70vh, 680px); display: grid; grid-template-columns: minmax(390px, .88fr) minmax(0, 1.12fr); grid-template-areas: "visual intro" "visual assurance"; grid-template-rows: auto auto; column-gap: clamp(5rem, 9vw, 9rem); row-gap: 2.25rem; align-content: center; align-items: center; }
.home .original-process .process-visual { grid-area: visual; min-width: 0; align-self: stretch; display: flex; align-items: stretch; }
.home .original-process .process-list { --marker-size: 52px; --rail-width: 4px; --rail-x: calc((var(--marker-size) - var(--rail-width)) / 2); --process-progress: 1; position: relative; isolation: isolate; width: 100%; min-height: 100%; margin: 0; padding: 0; display: flex; flex-direction: column; justify-content: space-between; list-style: none; }
.has-js .home .original-process .process-list { --process-progress: 0; }
.home .original-process .process-list::before { content: ''; position: absolute; z-index: 0; top: calc(var(--marker-size) / 2); bottom: calc(var(--marker-size) / 2); left: var(--rail-x); width: var(--rail-width); background: rgba(255,255,255,.34); transform: scaleY(1); transform-origin: top; pointer-events: none; }
.home .original-process .process-list::after { content: ''; position: absolute; z-index: 0; top: calc(var(--marker-size) / 2); bottom: calc(var(--marker-size) / 2); left: var(--rail-x); width: var(--rail-width); background: var(--orange); transform: scaleY(var(--process-progress)); transform-origin: top; pointer-events: none; }
.home .original-process .process-list > li { position: relative; z-index: 1; flex: 0 0 var(--marker-size); height: var(--marker-size); min-height: var(--marker-size); padding: 0; display: grid; grid-template-columns: var(--marker-size) minmax(0, 1fr); gap: 1.35rem; align-items: center; background: transparent; border: 0; border-radius: 0; }
.has-js .home .original-process:not(.is-revealed) .process-list > li { opacity: 0; transform: translateY(10px); }
.home .original-process.is-revealed .process-list > li { transition: opacity .28s ease calc(.18s + var(--process-order) * 70ms), transform .28s ease calc(.18s + var(--process-order) * 70ms); }
.home .original-process .process-step-number { position: relative; z-index: 2; width: var(--marker-size); height: var(--marker-size); display: grid; place-items: center; color: var(--orange); background: #f5f5f5; border: 1px solid #fff; border-radius: 50%; font-family: Montserrat, Arial, sans-serif; font-size: 1.1rem; font-weight: 700; line-height: 1; }
.home .original-process .process-list > li:nth-child(3) .process-step-number,
.home .original-process .process-list > li:nth-child(4) .process-step-number { color: #737373; }
.home .original-process .process-step-copy { min-width: 0; }
.home .original-process .process-step-copy strong { display: block; color: var(--white); font-size: 1.04rem; line-height: 1.35; }
.home .original-process .process-step-copy small { max-width: 48ch; margin-top: .3rem; display: block; color: rgba(255,255,255,.76); font-size: .82rem; line-height: 1.5; }
.home .original-process .process-intro { grid-area: intro; min-width: 0; align-self: end; }
.home .original-process .process-assurance { grid-area: assurance; min-width: 0; margin-top: 0; align-self: start; }
.has-js .home .original-process:not(.is-revealed) .process-intro,
.has-js .home .original-process:not(.is-revealed) .process-assurance { opacity: 0; transform: translateY(16px); }
.home .original-process.is-revealed .process-intro { transition: opacity .4s ease .18s, transform .4s ease .18s; }
.home .original-process.is-revealed .process-assurance { transition: opacity .4s ease .25s, transform .4s ease .25s; }
.home .original-process .process-header { max-width: 680px; margin: 0; }
.home .original-process h2 { max-width: 680px; margin: 0; font-size: clamp(2.8rem, 4.6vw, 4.2rem); line-height: 1.02; }
.home .original-process .process-header > p:last-child { max-width: 60ch; margin: 1.5rem 0 0; color: rgba(255,255,255,.74); font-size: 1rem; line-height: 1.65; }
.home .original-process .process-benefits { margin: 1.75rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .65rem 1.5rem; list-style: none; }
.home .original-process .process-benefits li { display: inline-flex; align-items: center; gap: .5rem; color: rgba(255,255,255,.88); font-size: .9rem; line-height: 1.45; }
.home .original-process .process-benefit-icon { width: 16px; height: 16px; flex: 0 0 16px; color: var(--orange); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.home .original-process .process-metrics { margin: 0; padding: 1.25rem 0; display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr) minmax(0, .8fr); border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.home .original-process .process-metrics > div { min-width: 0; padding: 0 1rem; border-left: 1px solid rgba(255,255,255,.14); }
.home .original-process .process-metrics > div:first-child { padding-left: 0; border-left: 0; }
.home .original-process .process-metrics dt { color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: clamp(1.05rem, 1.5vw, 1.25rem); font-weight: 700; line-height: 1.2; }
.home .original-process .process-metrics dd { margin: .3rem 0 0; color: rgba(255,255,255,.56); font-size: .74rem; line-height: 1.35; }
.home .original-process .process-action { padding-top: 1.5rem; display: flex; align-items: center; gap: .75rem 1.25rem; }
.home .original-process .process-cta { min-height: 44px; padding: .7rem 1rem; color: var(--ink); font-size: .86rem; box-shadow: none; }
.home .original-process .process-action small { color: rgba(255,255,255,.52); font-size: .76rem; }
.home .original-projects { position: relative; z-index: 1; margin-top: -1px; padding: 0; border-top: 0; }
.home .original-projects .projects-showcase { --project-title-rail: clamp(136px, 10vw, 175px); width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) var(--project-title-rail); }
.home .original-projects .project-static-area { min-width: 0; padding: clamp(4rem, 4.5vw, 5.25rem) 1rem clamp(4rem, 4.5vw, 5.25rem) clamp(72px, 6vw, 96px); }
.home .original-projects .project-side-heading { min-width: 0; margin: 0; padding: clamp(4rem, 4.5vw, 5.25rem) 0; display: flex; flex-direction: column; align-items: center; color: var(--white); background: #222; border-left: 1px solid rgba(255,255,255,.14); }
.home .original-projects .project-side-heading h2 { margin: 0; color: var(--white); font-size: clamp(2.35rem, 3vw, 3.1rem); line-height: 1; letter-spacing: -.045em; writing-mode: vertical-rl; transform: rotate(180deg); }
@media (min-width: 1025px) {
  .home .original-projects .project-side-heading h2 { margin-top: .4rem; }
}
.home .original-projects .projects-heading-rule { width: 48px; height: 5px; margin-top: 1.25rem; display: block; background: var(--orange); }
.home .original-projects .projects-all-button { min-height: 0; margin-top: auto; padding: 0; color: rgba(255,255,255,.72); background: transparent; border: 0; border-radius: 0; box-shadow: none; font-size: .75rem; line-height: 1.2; }
.home .original-projects .projects-all-button:hover { color: var(--orange); background: transparent; border-color: transparent; transform: none; box-shadow: none; }
.home .original-projects .projects-all-button-mobile { display: none; }
.home .original-projects .project-grid { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.home .original-projects .project-card { width: 100%; padding: 0; color: var(--white); background: #262626; border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius); box-shadow: none; }
.home .original-projects .project-card:first-child, .home .original-projects .project-card:last-child { padding: 0; border-left: 1px solid rgba(255,255,255,.1); }
.home .original-projects .project-card:hover { transform: none; background: #2d2d2d; border-color: rgba(255,170,0,.42); box-shadow: 0 12px 28px rgba(23,23,23,.13); }
.home .original-projects .project-image { aspect-ratio: 16 / 10; border-radius: 0; }
.home .original-projects .project-card-body { padding: 1.1rem 1.2rem 1.35rem; }
.home .original-projects .project-card-body .eyebrow { margin-bottom: .65rem; color: var(--orange); font-size: .68rem; letter-spacing: .18em; }
.home .original-projects .project-card-body h3 { min-height: 4.7rem; margin-bottom: 0; font-size: clamp(1.05rem, 1.35vw, 1.25rem); line-height: 1.28; }
.home .original-projects .project-card-body h3 a { transition: color .18s ease; }
.home .original-projects .project-card-excerpt { margin: .85rem 0 0; display: -webkit-box; color: rgba(255,255,255,.67); font-size: .9rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.home .original-projects .project-card:hover .project-card-body h3 a { color: var(--orange); }
.home .original-statement { padding-block: clamp(6.25rem, 9vw, 9.5rem); background: #2e2e2e; }
.home .original-statement .statement-grid { width: min(calc(100% - 128px), 1440px); display: grid; grid-template-columns: minmax(400px, .8fr) minmax(520px, 1fr); gap: clamp(5rem, 7vw, 7rem); align-items: center; }
.home .original-statement h2 { margin: 0; font-size: clamp(2.6rem, 3.6vw, 3.4rem); line-height: 1.38; letter-spacing: -.035em; }
.home .original-statement h2 > span { display: block; }
.home .original-statement .statement-dot { display: inline; color: var(--orange); }
.home .original-statement .statement-copy { max-width: 680px; justify-self: start; }
.home .original-statement .statement-copy p { color: rgba(255,255,255,.78); font-size: 1rem; line-height: 1.55; }
.home .original-statement .statement-copy strong { color: var(--white); font-weight: 700; }
.home .original-statement .statement-copy .statement-highlight { color: var(--orange); }
.home .original-statement .statement-copy .text-link { width: fit-content; margin: 1.25rem 0 0 auto; padding-top: 0; display: flex; justify-content: flex-start; border-top: 0; }
@media (min-width: 1025px) {
  .home .original-statement .statement-copy { transform: translateY(1rem); }
.home .original-statement .statement-copy .text-link { margin-right: 2.5rem; }
}
@media (min-width: 821px) {
  .home .original-statement h2 { transform: translateY(-1rem); }
}
.home .original-statement .text-link, .home .original-about .text-link { color: var(--white); }
.home .original-about { --about-profile-height: clamp(300px, 21.7vw, 367px); --about-section-space: clamp(3rem, 4vw, 4rem); position: relative; min-height: calc(var(--about-profile-height) + var(--about-section-space) + var(--about-section-space)); grid-template-columns: 59% 41%; overflow: hidden; background: linear-gradient(90deg, rgba(34,34,34,.8) 0 59%, rgba(34,34,34,.94) 59% 100%), url('/assets/site/storm-waves.webp') center / cover; }
.home .original-about .about-visual { min-width: 0; padding: var(--about-section-space) 0 var(--about-section-space) clamp(5rem, 10vw, 10.75rem); display: flex; align-items: center; }
.home .original-about .about-portrait-card { position: relative; width: clamp(258px, 18.65vw, 315px); min-width: 0; aspect-ratio: 1115 / 1299; overflow: hidden; }
.home .original-about .about-portrait-card > img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.home .original-about .about-social-links { position: absolute; right: .75rem; bottom: 1rem; display: flex; align-items: flex-end; gap: .65rem; }
.home .original-about .about-social-links a { width: 28px; height: 28px; display: grid; place-items: end center; color: var(--white); text-decoration: none; }
.home .original-about .about-social-links a:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.home .original-about .about-social-links img { width: 26px; height: 26px; display: block; object-fit: contain; transition: none; }
.home .original-about .about-social-links a:hover img,
.home .original-about .about-social-links a:focus-visible img { filter: brightness(0) saturate(100%) invert(69%) sepia(99%) saturate(2610%) hue-rotate(359deg) brightness(102%) contrast(103%); }
.home .original-about .about-social-linkedin img,
.home .original-about .about-social-linkedin:hover img,
.home .original-about .about-social-linkedin:focus-visible img { transform: none; }
.home .original-about .about-social-instagram img { width: 23px; height: 23px; transform: translateY(1px); }
.home .original-about .about-social-instagram:hover img,
.home .original-about .about-social-instagram:focus-visible img { transform: translateY(1px); }
.home .original-about .about-copy { width: 100%; max-width: 820px; padding: 3.4rem clamp(3rem, 7.5vw, 8rem) .5rem; align-self: center; justify-self: center; }
.home .original-about .about-copy h2 { margin-bottom: .75rem; font-size: clamp(2.8rem, 3.5vw, 3.6rem); }
.home .original-about .about-copy p:not(.eyebrow) { margin-bottom: 1rem; color: rgba(255,255,255,.88); font-size: 1rem; line-height: 1.34; }
.home .original-about .about-copy .text-link { width: fit-content; margin: -.75rem 2rem 0 auto; display: flex; }
@media (min-width: 821px) {
  .home .original-about .about-copy { grid-column: 1; grid-row: 1; transform: translateY(-2rem); }
  .home .original-about .about-visual { grid-column: 2; grid-row: 1; }
}

@media (min-width: 821px) and (prefers-reduced-motion: no-preference) {
  .home .original-process,
  .home .original-about {
    background-attachment: scroll, fixed;
    background-position: center, center;
    background-size: auto, cover;
    background-repeat: no-repeat;
  }
}

.page-banner { position: relative; height: 279px; color: var(--white); background-position: center; background-size: cover; }
.page-banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,.02)); }
.page-banner-services { background-image: url('/assets/site/storm-waves.webp'); }
.page-banner-expertise { background-image: url('/assets/site/sea-horizon.webp'); }
.page-banner-contact { background-image: url('/assets/site/people-mesh.webp'); }
.page-banner-contact::after { background: linear-gradient(90deg, rgba(0,0,0,.3), rgba(0,0,0,.18)); }
.page-title-band { position: absolute; z-index: 1; top: 146px; right: 0; left: 50%; min-height: 103px; padding: .3rem 3rem .3rem 1rem; display: flex; align-items: center; background: rgba(32,32,32,.92); border-left: 18px solid var(--orange); box-shadow: none; backdrop-filter: none; }
.page-title-band h1 { margin: 0; font-size: 4.125rem; line-height: 1; letter-spacing: -.035em; }
.services-body main { background: var(--paper); }
.services-opening { position: relative; isolation: isolate; background: linear-gradient(180deg, rgba(54,54,54,.24) 0%, rgba(36,36,36,.4) 30%, rgba(15,15,15,.74) 100%), #202020 url('/assets/site/storm-waves.webp') center / cover no-repeat; }
.services-body .services-opening .page-banner-services { background: transparent; }
.services-body .services-opening .page-banner::after { background: transparent; }
.service-catalog { position: relative; isolation: isolate; padding: clamp(2rem, 3vw, 3rem) clamp(1rem, 2vw, 2rem) clamp(2rem, 3vw, 3rem); background: transparent; }
.service-catalog::before { content: ''; position: absolute; z-index: -1; inset: 0; background: transparent; }
.services-wide-shell { position: relative; width: min(100%, 1760px); margin-inline: auto; }
.services-body .service-index { width: 100%; display: grid; gap: .75rem; }
.services-body .service-index-item { position: relative; scroll-margin-top: 7rem; width: calc(100% - 36px); min-width: 0; overflow: hidden; background: #f5f5f1; border: 1px solid rgba(23,23,23,.09); border-radius: 14px; box-shadow: 0 10px 26px rgba(23,23,23,.07); transition: border-color .24s ease, box-shadow .24s ease, opacity .42s ease, transform .42s ease; }
.services-body .service-index-item:nth-child(odd) { margin-right: 36px; }
.services-body .service-index-item:nth-child(even) { margin-left: 36px; }
.has-js .services-body .service-index-item { opacity: 0; transform: translateY(14px); }
.has-js .services-body .service-index.is-revealed .service-index-item { opacity: 1; transform: translateY(0); transition-delay: calc(var(--service-order) * 100ms); }
.services-body .service-index-item::before { content: ''; position: absolute; z-index: 2; inset: 0 auto 0 0; width: 4px; background: var(--orange); transform: scaleY(0); transform-origin: center; transition: transform .24s ease; pointer-events: none; }
.services-body .service-index-item:hover,
.services-body .service-index-item:has(.service-index-more[open]) { border-color: rgba(23,23,23,.09); box-shadow: 0 14px 32px rgba(0,0,0,.11); }
.services-body .service-index-item:hover::before,
.services-body .service-index-item:has(.service-index-more[open])::before { transform: scaleY(1); }
.services-body .service-index-more { width: 100%; }
.services-body .service-index-summary { min-height: 138px; padding: clamp(1.35rem, 2.2vw, 2rem); display: grid; grid-template-columns: 42px minmax(260px, 1.05fr) minmax(240px, 1.05fr) minmax(220px, .9fr) 42px; gap: clamp(1rem, 2vw, 2rem); align-items: center; color: var(--ink); background: transparent; list-style: none; cursor: pointer; transition: background-color .24s ease; }
.services-body .service-index-summary::-webkit-details-marker { display: none; }
.services-body .service-index-summary:hover,
.services-body .service-index-more[open] .service-index-summary { background: rgba(255,255,255,.48); }
.services-body .service-index-summary:focus-visible { position: relative; z-index: 3; outline-offset: -4px; }
.services-body .service-index-number { color: #777; font-family: Montserrat, Arial, sans-serif; font-size: .8rem; font-weight: 700; letter-spacing: .08em; transition: color .24s ease; }
.services-body .service-index-item:hover .service-index-number,
.services-body .service-index-item:has(.service-index-more[open]) .service-index-number { color: var(--orange); }
.services-body .service-index-identity { min-width: 0; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 1.15rem; align-items: center; }
.services-body .service-index-icon { display: block; transform: translateX(-8px); }
.services-body .service-index-icon img, .services-body .service-index-icon .service-icon-svg { width: 64px; height: 64px; object-fit: contain; }
.services-body .service-index-icon .service-icon-svg { padding: 5px; color: #111; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.services-body .service-index-title { display: block; font-family: Montserrat, Arial, sans-serif; font-size: clamp(1.2rem, 1.45vw, 1.55rem); font-weight: 700; line-height: 1.2; letter-spacing: -.025em; transition: color .24s ease; }
.services-body .service-index-item:hover .service-index-title,
.services-body .service-index-item:has(.service-index-more[open]) .service-index-title { color: #000; }
.services-body .service-index-copy { min-width: 0; display: grid; gap: .4rem; color: #3f3f3f; font-size: .92rem; font-weight: 450; line-height: 1.55; }
.services-body .service-index-result { color: #444; }
.services-body .service-index-label { color: #505050; font-family: Montserrat, Arial, sans-serif; font-size: .67rem; font-weight: 750; letter-spacing: .09em; line-height: 1.2; text-transform: uppercase; }
.services-body .service-index-toggle { width: 42px; height: 42px; display: grid; place-items: center; color: #555; border: 1px solid rgba(23,23,23,.16); border-radius: 50%; transition: color .24s ease, background-color .24s ease, border-color .24s ease; }
.services-body .service-index-arrow { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .24s ease; }
.services-body .service-index-summary:hover .service-index-toggle { color: var(--ink); background: rgba(255,170,0,.12); border-color: rgba(255,170,0,.55); }
.services-body .service-index-summary:hover .service-index-arrow { transform: translateX(3px); }
.services-body .service-index-more[open] .service-index-arrow { transform: rotate(90deg); }
.services-body .service-index-panel-shell { display: grid !important; grid-template-rows: 0fr; visibility: hidden; opacity: 0; transition: grid-template-rows .34s ease, opacity .24s ease, visibility 0s linear .34s; }
.services-body .service-index-more[open] .service-index-panel-shell { grid-template-rows: 1fr; visibility: visible; opacity: 1; transition: grid-template-rows .34s ease, opacity .3s ease .06s, visibility 0s; }
.services-body .service-index-panel { min-height: 0; padding: 0 clamp(1.35rem, 2.2vw, 2rem); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 0; overflow: hidden; border-top: 1px solid transparent; }
.services-body .service-index-more[open] .service-index-panel { padding-top: 1.2rem; padding-bottom: 1.25rem; border-top-color: rgba(23,23,23,.12); }
.services-body .service-index-panel-label { margin: 0 0 .75rem; color: var(--ink); font-family: Montserrat, Arial, sans-serif; font-size: .72rem; font-weight: 750; letter-spacing: .085em; line-height: 1.3; text-transform: uppercase; }
.services-body .service-index-scope { padding-right: clamp(2rem, 4vw, 4rem); }
.services-body .service-index-list,
.services-body .service-index-use-cases { margin: 0; padding: 0; display: grid; list-style: none; }
.services-body .service-index-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1.75rem; }
.services-body .service-index-use-cases { gap: .5rem; }
.services-body .service-index-list li { position: relative; padding-left: 1.15rem; color: var(--ink-soft); font-size: .87rem; font-weight: 550; line-height: 1.4; }
.services-body .service-index-list li::before { content: ''; position: absolute; top: .56em; left: 0; width: 7px; height: 7px; background: var(--orange); border-radius: 50%; }
.services-body .service-index-use-cases li { position: relative; padding-left: 1.15rem; color: #444; font-size: .87rem; line-height: 1.4; }
.services-body .service-index-use-cases li::before { content: ''; position: absolute; top: .63em; left: 0; width: 6px; height: 1px; background: #777; }
.services-body .service-index-outcome { min-width: 0; padding: 0 0 0 clamp(1.75rem, 3vw, 3rem); display: flex; flex-direction: column; background: transparent; border: 0; border-left: 1px solid rgba(23,23,23,.13); border-radius: 0; }
.services-body .service-index-references { margin-top: 1.25rem; padding-top: 0; border-top: 0; }
.services-body .service-index-project-link { display: inline-flex; align-items: center; color: var(--ink); font-family: Montserrat, Arial, sans-serif; font-size: .84rem; font-weight: 700; }
.expertise-opening { padding-top: 3.5rem; }
.check-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: .45rem 1.5rem; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 1.4rem; }
.check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--orange); font-weight: 800; }
.result { margin-top: 2rem; padding: 1rem 1.2rem; background: #f2eee5; border-left: 4px solid var(--orange); }
.steps-detail { display: grid; gap: .9rem; }
.step-detail { display: grid; grid-template-columns: 100px 1fr; gap: 2rem; padding: 2rem; background: rgba(255,255,255,.78); border: 1px solid rgba(23,23,23,.09); border-radius: var(--radius-lg); }
.step-detail > span { color: var(--orange); font-family: "Montserrat", Arial, sans-serif; font-size: 2rem; font-weight: 750; }
.step-detail p { max-width: 760px; color: var(--muted); }
.dark-section p { color: rgba(255,255,255,.75); }
.technology-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; }
.technology-grid > div { min-width: 0; padding: 1.6rem; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius); overflow-wrap: anywhere; }
.technology-grid h3 { color: var(--orange); }
.faq { max-width: 900px; }
.faq details { margin-bottom: .75rem; padding-inline: 1.25rem; background: rgba(255,255,255,.8); border: 1px solid rgba(23,23,23,.09); border-radius: var(--radius); }
.faq details[open] { background: var(--white); box-shadow: var(--shadow-soft); }
.faq summary { padding: 1.2rem 3rem 1.2rem 0; font-family: "Montserrat", Arial, sans-serif; font-size: 1.05rem; font-weight: 700; cursor: pointer; }
.faq details p { max-width: 780px; padding: 0 0 1.25rem; color: var(--muted); }
.projects-on-services { padding-top: 0; }

/* Services: ruhige, professionelle Inhaltsarchitektur */
.services-body .services-security,
.services-body .services-faq-section,
.services-body .projects-on-services { background: var(--paper); }
.services-body .services-process { color: var(--ink); background: var(--paper); }
.services-process-layout,
.services-section-grid,
.services-faq-layout { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.services-body .services-process-layout { grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr); gap: clamp(4rem, 8vw, 8rem); }
.services-section-intro { position: sticky; top: 140px; }
.services-body .services-process .services-section-intro { position: static; align-self: center; }
.services-section-intro h2,
.services-technology h2,
.services-security h2,
.services-faq-section h2 { font-size: clamp(2rem, 3.4vw, 3rem); }
.services-body .section-subheading { max-width: 56ch; margin: -.15rem 0 1.5rem; color: #4d4d4d; font-family: Montserrat, Arial, sans-serif; font-size: 1.05rem; font-weight: 600; line-height: 1.5; }
.services-section-intro > p:not(.section-subheading) { max-width: 58ch; color: var(--muted); font-size: .98rem; line-height: 1.65; }
.services-body .steps-detail { --services-timeline-top: 26px; --services-timeline-height: calc(100% - 52px); --services-process-progress: 1; position: relative; isolation: isolate; margin: 0; padding: 0; gap: 0; list-style: none; counter-reset: none; }
.has-js .services-body .steps-detail { --services-process-progress: 0; }
.services-body .steps-detail::before,
.services-body .steps-detail::after { content: ''; position: absolute; z-index: 0; top: var(--services-timeline-top); left: 24px; width: 4px; height: var(--services-timeline-height); transform-origin: top; pointer-events: none; }
.services-body .steps-detail::before { background: rgba(23,23,23,.2); }
.services-body .steps-detail::after { background: var(--orange); transform: scaleY(var(--services-process-progress)); }
.services-body .step-detail { position: relative; min-height: 112px; padding: 0 0 1.5rem 76px; display: block; background: transparent; border: 0; border-radius: 0; }
.services-body .step-detail > span { position: absolute; z-index: 1; top: 0; left: 0; width: 52px; height: 52px; display: grid; place-items: center; color: var(--orange); background: var(--white); border: 1px solid var(--line); border-radius: 50%; font-size: 1rem; line-height: 1; }
.services-body .step-detail:nth-child(3) > span,
.services-body .step-detail:nth-child(4) > span { color: #737373; }
.services-body .step-detail h3 { margin: 0 0 .5rem; padding-top: .2rem; font-size: 1.15rem; letter-spacing: -.02em; }
.services-body .step-detail p { max-width: 68ch; margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.65; }
.services-body .services-process .section-subheading { color: #4d4d4d; }
.services-body .services-process .services-section-intro > p:not(.section-subheading),
.services-body .services-process .step-detail p { color: var(--muted); }
.services-body .services-process .step-detail > span { background: var(--white); border-color: rgba(23,23,23,.16); }
.services-body .services-process-cta { min-height: 44px; margin-top: .5rem; padding: .7rem 1rem; font-size: .86rem; box-shadow: none; }
.services-technology { position: relative; overflow: hidden; background: linear-gradient(135deg, #141414 0%, #1d1d1d 56%, #151515 100%); }
.services-technology::before { content: ''; position: absolute; z-index: 0; inset: 0; background: linear-gradient(115deg, transparent 0 44%, rgba(255,255,255,.018) 44% 44.15%, transparent 44.15%); pointer-events: none; }
.services-technology .services-section-grid { position: relative; z-index: 1; grid-template-columns: minmax(0, 1.24fr) minmax(320px, .76fr); grid-template-areas: "technology intro"; gap: clamp(4rem, 8vw, 8rem); align-items: center; }
.services-technology header { grid-area: intro; max-width: 510px; }
.services-technology header > p:not(.section-subheading) { max-width: 56ch; color: rgba(255,255,255,.74); font-size: .98rem; }
.services-body .services-technology .section-subheading { color: rgba(255,255,255,.88); }
.services-body .technology-grid { grid-area: technology; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; align-items: start; overflow: visible; background: transparent; border: 0; border-radius: 0; }
.services-body .technology-column { min-width: 0; padding: 0; display: flex; flex-direction: column; gap: .9rem; overflow: visible; background: transparent; border: 0; border-radius: 0; }
.services-body .technology-column > article { position: relative; min-height: 0; padding: 1.5rem 1.45rem 1.4rem; display: flex; flex-direction: column; overflow: hidden; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)), #202020; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; box-shadow: 0 18px 42px rgba(0,0,0,.16); }
.services-body .technology-column > article::before { content: ''; position: absolute; top: 0; left: 1.45rem; width: 42px; height: 3px; background: var(--orange); transition: width .28s ease; }
.services-body .technology-column > article:hover::before { width: calc(100% - 2.9rem); }
.services-body .technology-card-heading { display: block; }
.services-body .technology-grid h3 { margin: 0; color: var(--white); font-size: clamp(1.18rem, 1.35vw, 1.35rem); letter-spacing: -.02em; }
.services-body .technology-grid ul { margin: 0; padding: 1.15rem 0 0; display: flex; flex-wrap: wrap; align-content: flex-start; gap: .48rem; list-style: none; }
.services-body .technology-grid li { padding: .36rem .62rem; color: rgba(255,255,255,.78); background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.1); border-radius: 999px; font-size: .78rem; line-height: 1.25; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
.services-body .technology-grid li:hover { color: var(--white); background: rgba(255,170,0,.14); border-color: rgba(255,170,0,.55); }
.services-security { border-bottom: 1px solid var(--line); }
.services-security .services-section-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); grid-template-areas: "security-copy security-visual"; gap: clamp(4rem, 7vw, 7rem); align-items: stretch; }
.security-visual { min-height: 480px; overflow: hidden; background: var(--paper-deep); border-radius: 7px; }
.security-visual-mobile { display: none; }
.services-body .security-section .security-visual img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.services-security .security-visual { grid-area: security-visual; }
.services-security p:not(.section-subheading) { color: var(--muted); }
.services-security .security-copy { grid-area: security-copy; max-width: 720px; align-self: center; }
.services-fixed-price { background: #2e2e2e; }
.services-fixed-price .shell { width: min(calc(100% - 96px), 1420px); }
.services-fixed-price .services-section-grid { grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr); gap: clamp(10rem, 16vw, 15rem); align-items: center; }
.services-fixed-price h2 { margin: 0; font-size: clamp(2.45rem, 4vw, 3.65rem); line-height: 1.28; }
.services-fixed-price h2 span { color: var(--orange); }
.services-fixed-price p { max-width: 70ch; color: rgba(255,255,255,.76); font-size: 1rem; line-height: 1.65; }
.services-fixed-price p:last-child { margin-bottom: 0; }
.services-faq-layout { grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr); }
.services-faq-section header { position: sticky; top: 140px; }
.services-faq-section header > p:last-child { color: var(--muted); }
.services-body .faq { max-width: none; }
.services-body .faq details { margin: 0; padding: 0; background: transparent; border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.services-body .faq details:last-child { border-bottom: 1px solid var(--line); }
.services-body .faq details[open] { background: transparent; box-shadow: none; }
.services-body .faq summary { position: relative; padding: 1.25rem 3rem 1.25rem 0; list-style: none; font-size: 1rem; line-height: 1.45; }
.services-body .faq summary::-webkit-details-marker { display: none; }
.services-body .faq summary::after { content: '+'; position: absolute; top: 1.05rem; right: .25rem; color: var(--orange); font-family: "Open Sans", Arial, sans-serif; font-size: 1.5rem; font-weight: 400; line-height: 1; }
.services-body .faq details[open] summary::after { content: '−'; }
.services-body .faq details p { width: 100%; max-width: none; margin: 0; padding: 0 0 1.5rem; font-size: .94rem; line-height: 1.65; overflow-wrap: anywhere; }
.services-body .projects-on-services { padding-top: clamp(4.5rem, 7vw, 6.5rem); }
.services-body .projects-on-services .section-heading { margin-bottom: 2rem; }
.services-body .projects-on-services .project-card { box-shadow: none; }
.services-body .projects-on-services .project-card:hover { border-color: rgba(255,170,0,.5); box-shadow: none; transform: none; }
.services-body .projects-on-services .button:hover { transform: none; }
.services-closing { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); color: var(--ink); background: #d9d9d6; }
.services-closing-projects { min-width: 0; padding: clamp(2.5rem, 4vw, 4rem) clamp(2rem, 5vw, 5rem) clamp(2rem, 3vw, 3rem); }
.services-closing-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.65rem, 1vw, 1rem); }
.services-closing-project { width: 100%; min-width: 0; padding: 0; color: var(--white); background: #262626; border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius); box-shadow: none; }
.services-closing-project .project-image { aspect-ratio: 16 / 10; border-radius: 0; }
.services-closing-project .project-image img { transition: none; }
.services-closing-project .project-card-body { padding: 1.1rem 1.2rem 1.35rem; }
.services-closing-project .project-card-body .eyebrow { margin-bottom: .65rem; color: var(--orange); font-size: .68rem; letter-spacing: .18em; }
.services-closing-project .project-card-body h3 { min-height: 4.7rem; margin-bottom: 0; font-size: clamp(1.05rem, 1.35vw, 1.25rem); line-height: 1.28; }
.services-closing-project .project-card-body h3 a { transition: color .18s ease; }
.services-closing-project .project-card-excerpt { margin: .85rem 0 0; display: -webkit-box; color: rgba(255,255,255,.67); font-size: .9rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.services-closing-project:hover { background: #2d2d2d; border-color: rgba(255,170,0,.42); box-shadow: 0 12px 28px rgba(23,23,23,.13); transform: none; }
.services-closing-project:hover .project-card-body h3 a { color: var(--orange); }
.services-closing-projects-footer { margin-top: 1rem; display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.services-closing-projects-footer h2 { margin: 0; font-size: 1.05rem; font-weight: 750; letter-spacing: 0; }
.services-closing-projects-footer a { color: var(--ink); font-size: .84rem; font-weight: 700; }
.services-closing-projects-footer a:hover { color: #000; }
.services-closing-cta { padding: clamp(3.5rem, 7vw, 7rem) clamp(3rem, 7vw, 7rem); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; background: transparent; border-left: 0; }
.services-closing-cta h2 { max-width: 15ch; margin-bottom: 1.4rem; font-size: clamp(1.9rem, 2.45vw, 2.65rem); font-weight: 450; line-height: 1.28; letter-spacing: -.025em; }

@media (max-width: 1100px) {
  .services-closing { grid-template-columns: 1fr; }
  .services-closing-cta { min-height: 360px; border-top: 0; border-left: 0; }
}

@media (max-width: 620px) {
  .services-closing-projects { padding: 2.5rem var(--mobile-page-gutter) 2rem; }
  .services-closing-project-grid { margin-inline: 0; padding-inline: 0; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(230px, 78vw); overflow-x: auto; scroll-snap-type: inline proximity; }
  .services-closing-project { scroll-snap-align: start; }
  .services-closing-projects-footer { padding-inline: 2px; }
  .services-closing-cta { min-height: 0; padding: 4rem var(--mobile-page-gutter); }
  .services-closing-cta h2 { max-width: 14ch; }
}

.projects-page-body { color: var(--white); background: var(--ink); }
.projects-page-body main { background: var(--ink); }
.projects-index { min-height: 100vh; padding: clamp(4rem, 7vw, 7rem) 0 clamp(5rem, 9vw, 9rem); background: var(--ink); }
.projects-index .shell { width: min(calc(100% - 80px), 1320px); }
.projects-browser { display: grid; grid-template-areas: 'content filters'; grid-template-columns: minmax(0, 1fr) 180px; gap: 2.5rem; align-items: start; }
.projects-content { grid-area: content; min-width: 0; }
.project-filter-sidebar { position: sticky; grid-area: filters; top: 144px; }
.project-filter-panel { padding-left: 1.25rem; border-left: 1px solid rgba(255,255,255,.12); }
.project-filter-kicker { margin: 0 0 1.75rem; color: rgba(255,255,255,.58); font-family: Montserrat, Arial, sans-serif; font-size: .75rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.project-filter-toggle { display: none; }
.project-filter-content { display: contents; }
.project-filter-content[hidden] { display: none; }
.project-filter-reset { appearance: none; min-height: 28px; padding: 2px 0 .3rem; color: rgba(255,255,255,.7); background: transparent; border: 0; border-radius: 0; font-family: inherit; font-size: .72rem; cursor: pointer; }
.project-filter-reset:hover:not(:disabled) { color: var(--white); background: transparent; }
.project-filter-reset:focus-visible { outline: 3px solid rgba(255,255,255,.42); outline-offset: 3px; }
.project-filter-reset:disabled { opacity: .32; cursor: default; }
.project-filter-reset:disabled::after { width: 0; }
.project-filter-group h2 { margin-bottom: .75rem; color: var(--orange); font-size: 1.05rem; font-weight: 650; letter-spacing: -.02em; }
.project-tag-filter-group { margin-top: 1.5rem; }
.project-filters.project-tag-filters { flex-flow: row wrap; align-items: center; gap: .1rem .75rem; }
.project-tag-filters .project-filter { flex: 0 0 auto; min-height: 24px; padding-block: 1px; text-transform: lowercase; white-space: nowrap; }
.project-tag-filters .project-filter[hidden] { display: none; }
.project-tag-more { appearance: none; font-family: inherit; cursor: pointer; }
.project-filters { margin: 0; padding: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 0; border: 0; }
.project-filter { min-height: 28px; padding: 2px 0; display: inline-flex; align-items: center; color: rgba(255,255,255,.58); background: transparent; border: 0; border-radius: 0; font-size: .78rem; font-weight: 500; line-height: 1.25; text-align: left; text-decoration: none; text-transform: uppercase; transition: color .18s ease; }
.project-filter:hover { color: var(--white); background: transparent; }
.project-filter.is-active { color: var(--orange); background: transparent; font-weight: 750; }
.project-filter-footer { margin-top: 2rem; display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
.project-filter-result { margin: 0; color: rgba(255,255,255,.58); font-size: .75rem; }
.projects-index .project-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.25rem; }
.projects-index .project-card { min-width: 0; color: var(--white); background: var(--ink-soft); border: 1px solid rgba(255,255,255,.1); border-radius: 7px; box-shadow: none; overflow: hidden; transform: none; transition: border-color .18s ease; }
.projects-index .project-card:hover { border-color: rgba(255,170,0,.42); box-shadow: none; transform: none; }
.projects-index .project-image { height: 260px; aspect-ratio: auto; background: #202020; }
.projects-index .project-image img { width: 100%; height: 100%; object-fit: cover; transition: none; transform: none; }
.projects-index .project-card-body { min-height: 300px; padding: 1.5rem; display: flex; flex-direction: column; align-self: auto; }
.project-card-meta { display: flex; flex-wrap: wrap; gap: .4rem .9rem; color: rgba(255,255,255,.58); font-size: .75rem; line-height: 1.4; }
.project-card-meta span { color: var(--orange); font-weight: 700; text-transform: uppercase; }
.project-card-meta time { position: relative; }
.project-card-meta time::before { content: '·'; position: absolute; left: -.58rem; }
.projects-index .project-card-body h3 { margin: 1rem 0 0; font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 650; line-height: 1.2; }
.projects-index .project-card-body h3 a { transition: color .18s ease; }
.projects-index .project-card-body h3 a:hover { color: var(--orange); }
.projects-index .project-card-body > p { margin: .9rem 0 0; color: rgba(255,255,255,.66); font-size: .88rem; line-height: 1.6; }
.project-card-footer { margin-top: auto; padding-top: 1.4rem; display: flex; justify-content: flex-end; }
.project-card-link { min-height: 32px; display: inline-flex; align-items: center; gap: .45rem; color: var(--white); border-bottom: 1px solid rgba(255,255,255,.18); font-size: .86rem; font-weight: 650; text-decoration: none; transition: color .18s ease, border-color .18s ease; }
.project-card-link:hover { color: var(--orange); border-color: var(--orange); }
.project-card-link svg { width: 16px; height: 16px; color: var(--orange); stroke-width: 2; }
.project-filter-empty { max-width: 760px; padding: 2rem; color: var(--white); background: var(--ink-soft); border-left: 4px solid var(--orange); }
.project-filter-empty[hidden] { display: none; }
.project-filter-empty h2 { margin-bottom: .5rem; font-size: clamp(1.5rem, 2.5vw, 2rem); }
.project-filter-empty p { color: rgba(255,255,255,.68); }

@media (max-width: 1100px) {
  .projects-browser { grid-template-areas: 'filters' 'content'; grid-template-columns: 1fr; gap: 3rem; }
  .project-filter-sidebar { position: static; }
  .project-filter-panel { padding: 1.5rem 0; display: grid; grid-template-columns: 90px minmax(0, 1fr) minmax(180px, 240px) auto; gap: 1.5rem 2rem; align-items: start; border-top: 1px solid rgba(255,255,255,.12); border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .project-filter-kicker, .project-filter-footer { margin: 0; }
  .project-tag-filter-group { margin-top: 0; }
  .project-filters { flex-flow: row wrap; gap: 0 1rem; }
  .projects-index .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .projects-index .shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), 1320px); }
  .project-filter-panel { grid-template-columns: 1fr; gap: 1.25rem; }
  .project-filters { flex-direction: column; gap: 0; }
  .project-filters.project-tag-filters { flex-direction: row; gap: .1rem .75rem; }
  .projects-index .project-grid { grid-template-columns: 1fr; }
  .projects-index .project-image { height: 220px; }
  .projects-index .project-card-body { min-height: 280px; }
}

.project-page-body { color: var(--white); background: #151716; }
.project-page-body main { background: #151716; }
.project-hero { padding: clamp(9.5rem, 13vw, 11.5rem) 0 clamp(3rem, 5vw, 4.5rem); color: var(--white); }
.project-hero .shell, .project-layout { width: min(calc(100% - 80px), 1400px); max-width: none; }
.project-hero-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .55fr); gap: clamp(3rem, 7vw, 7rem); align-items: end; }
.project-hero h1 { max-width: 980px; margin: 0; font-size: clamp(2.8rem, 4.5vw, 4.35rem); line-height: 1.03; }
.project-headline, .project-subheadline { display: block; }
.project-headline { color: var(--white); }
.project-subheadline { margin-top: .35rem; color: rgba(255,255,255,.7); font-family: "Open Sans", Arial, sans-serif; font-size: clamp(1.25rem, 2vw, 1.9rem); font-weight: 500; line-height: 1.28; letter-spacing: 0; }
.project-facts { padding-left: clamp(1.25rem, 2.5vw, 2rem); border-left: 4px solid var(--orange); }
.project-facts > .eyebrow { margin-bottom: .85rem; }
.project-tags { display: flex; flex-wrap: nowrap; gap: .35rem; }
.project-tag { min-height: 28px; padding: .25rem .45rem; display: inline-flex; align-items: center; color: rgba(255,255,255,.76); border: 1px solid rgba(255,255,255,.22); border-radius: 3px; font-size: .7rem; line-height: 1.2; white-space: nowrap; }
.project-tag-category { color: var(--orange); border-color: rgba(255,170,0,.48); font-family: "Montserrat", Arial, sans-serif; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.project-actions { margin-top: 1.6rem; flex-wrap: nowrap; }
.project-action-link { min-height: 40px; padding: .45rem 0 .35rem; align-items: center; color: rgba(255,255,255,.82); font-size: .86rem; }
.project-action-link:hover, .project-action-link:focus-visible { color: var(--white); }
.button-icon { width: 18px; height: 18px; flex: 0 0 18px; display: block; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.project-overview { margin-top: clamp(2.75rem, 5vw, 4.5rem); padding-top: clamp(1.5rem, 2.5vw, 2rem); border-top: 1px solid rgba(255,255,255,.2); }
.project-overview > p, .project-overview > ul { width: 100%; max-width: none; color: rgba(255,255,255,.76); font-size: 1.03rem; line-height: 1.65; }
.project-overview > p { margin: 0 0 1.2em; }
.project-overview > ul { margin: 0 0 1.2em; padding-left: 1.25rem; }
.project-overview > :last-child { margin-bottom: 0; }
.project-layout { padding-block: 0 clamp(5rem, 9vw, 9rem); display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2.5rem, 4vw, 4rem); align-items: start; }
.project-layout.has-gallery { grid-template-columns: minmax(0, 3fr) minmax(280px, 1fr); }
.project-primary { min-width: 0; }
.project-cover { margin: 0 0 clamp(3.5rem, 6vw, 6rem); padding: clamp(.45rem, .7vw, .7rem); background: rgba(255,255,255,.96); border-radius: var(--radius); box-shadow: 0 24px 65px rgba(0,0,0,.3); }
.project-cover img { width: 100%; height: auto; object-fit: contain; background: #ddd; border-radius: max(1px, calc(var(--radius) - 3px)); }
.project-image-trigger { width: 100%; padding: 0; display: block; color: inherit; background: transparent; border: 0; cursor: zoom-in; }
.project-image-trigger:focus-visible { outline-offset: 5px; }
.project-content { min-width: 0; max-width: 850px; font-size: 1.03rem; }
.project-content > h4:first-child { margin-top: 0; }
.project-content h2 { margin-top: 3.5rem; font-size: clamp(1.8rem, 3vw, 2.65rem); }
.project-content h3, .project-content h4 { margin-top: 3.25rem; color: var(--white); font-size: clamp(1.35rem, 2vw, 1.7rem); }
.project-content h4::before { content: ''; width: 2.2rem; height: 4px; margin: 0 0 .8rem; display: block; background: var(--orange); border-radius: 4px; }
.project-content p, .project-content li { color: rgba(255,255,255,.76); }
.project-content a { color: var(--white); text-decoration-color: var(--orange); overflow-wrap: anywhere; }
.project-content > ul { padding-left: 1.25rem; }
.project-details { margin-top: clamp(3.5rem, 6vw, 5.5rem); }
.project-detail-technologies { width: 100%; }
.project-detail-taxonomy { margin-top: clamp(2rem, 4vw, 3.5rem); padding-top: clamp(1.5rem, 3vw, 2.25rem); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 4.5rem); border-top: 1px solid rgba(255,255,255,.18); }
.project-detail-group h3 { margin: 0 0 1rem; color: var(--white); font-size: 1rem; letter-spacing: -.01em; }
.project-chip-list { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; }
.project-chip-list li { padding: .35rem .65rem; color: rgba(255,255,255,.72); background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.2); border-radius: 3px; font-size: .76rem; line-height: 1.3; }
.project-technology-list li { color: var(--white); border-color: rgba(255,170,0,.4); }
.project-gallery { position: sticky; top: 2rem; display: grid; grid-template-columns: 1fr; gap: 1rem; }
.project-gallery > .eyebrow { margin-bottom: .25rem; }
.project-gallery figure { margin: 0; padding: .55rem; background: rgba(255,255,255,.96); border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius); box-shadow: 0 18px 45px rgba(0,0,0,.2); }
.project-gallery figure img { width: 100%; height: auto; border-radius: calc(var(--radius) - 3px); }
.project-lightbox { width: min(94vw, 1600px); max-width: none; height: min(92vh, 1100px); max-height: none; margin: auto; padding: 3.75rem 1.25rem 1.25rem; color: var(--white); background: #101110; border: 1px solid rgba(255,255,255,.24); border-radius: var(--radius-lg); box-shadow: 0 30px 100px rgba(0,0,0,.7); overflow: hidden; }
.project-lightbox[open] { display: grid; grid-template-rows: minmax(0, 1fr) auto; place-items: center; }
.project-lightbox::backdrop { background: rgba(0,0,0,.86); backdrop-filter: blur(7px); }
.project-lightbox-stage { position: relative; width: 100%; height: 100%; min-height: 0; display: grid; place-items: center; }
.project-lightbox img { width: auto; max-width: 100%; height: auto; max-height: calc(92vh - 7rem); object-fit: contain; }
.project-lightbox-close { position: absolute; top: .65rem; right: .8rem; width: 42px; height: 42px; display: grid; place-items: center; color: var(--white); background: transparent; border: 0; border-radius: var(--radius); font-size: 2rem; font-weight: 300; line-height: 1; cursor: pointer; }
.project-lightbox-close:hover { color: var(--orange); }
.project-lightbox-nav { position: absolute; z-index: 1; top: 50%; width: 48px; height: 64px; padding: 0; display: grid; place-items: center; color: var(--white); background: rgba(16,17,16,.82); border: 1px solid rgba(255,255,255,.28); border-radius: var(--radius); line-height: 1; cursor: pointer; transform: translateY(-50%); }
.project-lightbox-nav[hidden] { display: none; }
.project-lightbox-nav:hover, .project-lightbox-nav:focus-visible { color: var(--orange); background: rgba(16,17,16,.96); }
.project-lightbox-nav-icon { width: 28px; height: 28px; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.project-lightbox-prev { left: .8rem; }
.project-lightbox-next { right: .8rem; }
.project-lightbox-meta { width: 100%; margin-top: .7rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; color: rgba(255,255,255,.64); font-size: .82rem; }
.project-lightbox-meta p { margin: 0; text-align: center; }
.project-lightbox-meta span { min-width: 3.5rem; text-align: right; font-variant-numeric: tabular-nums; }
body.lightbox-open { overflow: hidden; }

.contact-section { padding: 0; color: var(--white); background: #2d2d2d; }
.contact-grid { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: clamp(3rem, 8vw, 7rem); align-items: start; }
.contact-method { display: grid; grid-template-columns: 34px 1fr; gap: 1rem; margin: 1.3rem 0; align-items: center; }
.contact-method img { width: 30px; height: 30px; object-fit: contain; }
.contact-icon { width: 30px; height: 30px; color: var(--ink); fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.contact-icon-mail { stroke-width: 1.55; }
.contact-form { padding: clamp(1.5rem, 4vw, 3rem); background: var(--white); border: 1px solid rgba(23,23,23,.09); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.contact-form label { display: grid; gap: .45rem; margin-bottom: 1rem; font-weight: 700; }
.contact-form label > span { font-weight: 400; }
.field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.contact-form input, .contact-form textarea { width: 100%; padding: .8rem .9rem; color: var(--ink); background: #fafafa; border: 1px solid #9a9a96; border-radius: var(--radius); }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--ink); outline: 3px solid rgba(255,170,0,.45); }
.contact-form [aria-invalid="true"] { border-color: #a32121; }
.contact-grid-refined { --footer-text: rgba(255,255,255,.82); width: 100%; max-width: none; min-height: 600px; grid-template-columns: minmax(360px, .74fr) minmax(0, 1.26fr); gap: 0; align-items: stretch; background: transparent; border: 0; border-radius: 0; overflow: visible; }
.contact-details { max-width: none; padding: clamp(4rem, 8vw, 8rem); display: flex; flex-direction: column; justify-content: center; background: linear-gradient(rgba(31,31,31,.72), rgba(31,31,31,.72)), url('/assets/site/people-mesh.webp') center / cover no-repeat; }
.contact-column-heading { min-height: 160px; margin: 0 0 1.75rem; padding: 0; border: 0; }
.contact-details-heading { min-height: 0; margin-bottom: 1.5rem; }
.contact-column-heading .eyebrow { margin-bottom: .65rem; }
.contact-column-heading h2 { margin: 0; color: var(--white); font-size: clamp(2.7rem, 4.5vw, 4rem); }
.contact-column-heading > p:last-child { max-width: 620px; margin: 0; color: rgba(255,255,255,.62); font-size: .92rem; line-height: 1.6; }
.contact-footer-list { width: 100%; max-width: 520px; padding: 0; gap: .35rem; }
.contact-footer-detail { min-height: 44px; color: var(--footer-text); font-size: 1rem; }
.contact-footer-detail .footer-icon { color: #c8c8c8; }
.contact-footer-detail > span { line-height: 1.45; }
.contact-section a { text-decoration: none; }
.contact-section a:hover { text-decoration: none; }
.contact-section a.contact-footer-detail:hover { color: var(--white); }
.contact-detail-list { margin: 0; padding: 0; list-style: none; }
.contact-detail-list li { min-height: 76px; padding: 1rem 0; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 1rem; align-items: center; border-bottom: 1px solid var(--line); }
.contact-detail-list li:last-child { border-bottom: 0; }
.contact-detail-list .contact-icon, .contact-detail-list > li > img { width: 27px; height: 27px; color: #3e3e3e; object-fit: contain; }
.contact-detail-list li > div { min-width: 0; display: grid; gap: .08rem; }
.contact-detail-list strong { color: var(--ink); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }
.contact-detail-list a { width: fit-content; color: #4f4f4f; text-decoration-color: var(--orange); overflow-wrap: anywhere; }
.contact-detail-list address { color: #4f4f4f; font-style: normal; }
.contact-form-refined { padding: clamp(5.5rem, 7vw, 7rem) clamp(3rem, 8vw, 9rem) clamp(1rem, 1.5vw, 1.5rem); display: flex; flex-direction: column; justify-content: center; color: var(--white); background: #2d2d2d; border: 0; border-radius: 0; box-shadow: none; }
.contact-form-heading { margin-bottom: 1.5rem; }
.contact-form-refined label { gap: .3rem; margin-bottom: 1rem; color: rgba(255,255,255,.9); font-size: .82rem; font-weight: 400; }
.contact-form-refined label > span { color: rgba(255,255,255,.6); }
.contact-form-refined input:not([type="checkbox"]), .contact-form-refined textarea { padding: .45rem 0; color: var(--white); background: transparent; border: 0; border-bottom: 2px solid rgba(255,255,255,.58); border-radius: 0; }
.contact-form-refined input:not([type="checkbox"]):focus, .contact-form-refined textarea:focus { border-bottom-color: var(--orange); outline: 0; box-shadow: 0 1px 0 var(--orange); }
.contact-form-refined textarea { min-height: 82px; resize: vertical; }
.contact-form-refined .field-row { gap: 1.5rem; }
.contact-form-footer { margin-top: .25rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: start; }
.contact-form-meta { min-width: 0; }
.contact-form-refined .consent { max-width: 720px; margin: 0; align-items: center; color: rgba(255,255,255,.72); font-size: .78rem; line-height: 1.45; }
.contact-form-refined .consent input { align-self: center; margin: 0; padding: 0; background: transparent; border: 1px solid rgba(255,255,255,.58); border-radius: 3px; }
.contact-form-refined .consent a { color: var(--white); text-decoration-color: var(--orange); }
.contact-form-refined .form-configuration { color: #ff9b9b; }
.contact-form-action { display: flex; justify-content: flex-end; }
.contact-form-action .button { min-width: 180px; }
.consent { grid-template-columns: 22px 1fr !important; align-items: start; font-size: .9rem; font-weight: 400 !important; }
.consent input { width: 18px; height: 18px; margin-top: .25rem; accent-color: var(--ink); }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; }
.form-status { min-height: 1.6rem; margin: 1rem 0; font-weight: 700; }
.form-status.is-error, .form-configuration { color: #921d1d; }
.form-status.is-success { color: #12662c; }
#turnstile-widget { min-height: 70px; margin-top: 1rem; }
.booking-section { padding-block: clamp(4rem, 7vw, 6.5rem); background: var(--paper); }
.booking-heading { margin-bottom: clamp(1.75rem, 4vw, 3rem); display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.booking-heading h2 { max-width: 760px; margin-bottom: 0; }
.booking-heading > p { max-width: 540px; margin: 0 0 .35rem; color: var(--muted); }
.contact-booking { padding-top: clamp(3.5rem, 5.5vw, 5.25rem); padding-bottom: .75rem; border-bottom: 0; }
.contact-booking .shell { width: min(calc(100% - 32px), 1720px); margin-right: auto; margin-left: clamp(12px, 1.5vw, 24px); display: grid; grid-template-columns: minmax(0, 900px) minmax(300px, 390px); grid-template-areas: "calendar copy"; justify-content: start; gap: clamp(2.5rem, 4vw, 4.5rem); align-items: start; }
.contact-booking .booking-heading { grid-area: copy; margin: 0; display: block; }
.contact-booking .booking-heading .eyebrow { margin: 0 0 .85rem; }
.contact-booking .booking-heading h2 { margin: 0 0 1.25rem; }
.contact-booking .booking-heading > p { max-width: 480px; margin: 0; line-height: 1.65; }
.contact-booking .cal-embed-shell { grid-area: calendar; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.contact-booking [data-cal-embed] { height: auto; min-height: 0; overflow: visible; }
.contact-booking [data-cal-embed].is-loading { min-height: clamp(500px, 35vw, 560px); }
.contact-booking [data-cal-embed] cal-inline { height: auto !important; min-height: 0 !important; max-height: none !important; }
.contact-booking [data-cal-embed] iframe { display: block; height: auto; min-height: 0; max-height: none; overflow: hidden; }
.contact-booking [data-cal-embed].is-consent-blocked { height: auto; min-height: 300px; }
.contact-booking [data-cal-embed] iframe { border-radius: 0; }
.cal-embed-shell { padding: .75rem; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); overflow: hidden; }
[data-cal-embed] { width: 100%; min-height: 720px; overflow: auto; }
[data-cal-embed] iframe { min-height: 720px; border-radius: calc(var(--radius-lg) - 2px); }
[data-cal-embed].is-loading { position: relative; display: grid; place-items: center; background: #f6f6f3; }
[data-cal-embed].is-loading::before { content: 'Kalender wird vorbereitet …'; color: var(--muted); font-size: .9rem; }
.cal-embed-fallback { margin: .45rem 0 0; color: var(--muted); font-size: .85rem; text-align: center; }
.cal-embed-fallback a { font-weight: 700; text-decoration-color: var(--orange); text-underline-offset: .2em; }
[data-cal-embed].is-consent-blocked { min-height: 300px; display: grid; place-items: center; overflow: hidden; }
.cal-consent-placeholder { max-width: 480px; padding: 2rem; text-align: center; }
.cal-consent-placeholder strong { display: block; margin-bottom: .45rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.1rem; }
.cal-consent-placeholder p { margin-bottom: 1.25rem; color: var(--muted); font-size: .9rem; }
.legal-body { color: var(--white); background: #2b2b2b; }
.legal-body main { background: #2b2b2b; }
.legal-hero { min-height: 0; padding: 8.25rem 0 0; color: var(--white); background: #2b2b2b; }
.legal-hero .shell, .legal-page .shell { width: min(calc(100% - 48px), 980px); }
.legal-hero h1 { margin: 0; font-size: clamp(3.5rem, 6vw, 5rem); line-height: 1.4; }
.legal-page { padding-top: 0; color: var(--white); background: #2b2b2b; }
.prose { max-width: 820px; overflow-wrap: anywhere; }
.legal-page .prose h2 { margin-top: 1.6rem; font-family: "Open Sans", Arial, sans-serif; font-size: 1rem; line-height: 1.5; letter-spacing: 0; }
.legal-page .prose p { color: rgba(255,255,255,.9); }
.legal-page .prose { max-width: 980px; }
.copyright-body .legal-hero .shell, .copyright-page .shell { width: min(calc(100% - 96px), 1320px); }
.copyright-intro { max-width: 820px; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.copyright-intro h2 { margin-bottom: .7rem; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.copyright-intro p { margin: 0; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.5vw, 1.16rem); }
.trusted-domains-hero .shell, .trusted-domains-page .shell { width: min(calc(100% - 48px), 1120px); }
.trusted-domains-hero h1 { font-size: clamp(2.6rem, 4.5vw, 3.75rem); line-height: 1.15; }
.trusted-domains-hero p { width: 100%; max-width: none; margin: 1rem 0 0; color: rgba(255,255,255,.72); font-size: 1.03rem; }
.trusted-domains-page { padding-top: clamp(3rem, 5vw, 4.5rem); }
.trusted-domain-intro { width: 100%; max-width: none; margin-bottom: clamp(2.25rem, 4vw, 3.5rem); padding-bottom: 1.75rem; border-bottom: 1px solid rgba(255,255,255,.2); }
.trusted-domain-intro h2 { margin-bottom: .65rem; font-size: clamp(1.7rem, 3vw, 2.45rem); }
.trusted-domain-intro p { max-width: none; margin: 0; color: rgba(255,255,255,.75); }
.trusted-domain-register { display: grid; gap: clamp(2.5rem, 5vw, 4.25rem); }
.trusted-domain-group > header { margin-bottom: .8rem; display: grid; grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: baseline; }
.trusted-domain-group > header h2 { margin: 0; font-size: clamp(1.3rem, 2.3vw, 1.8rem); }
.trusted-domain-group > header p { margin: 0; color: rgba(255,255,255,.62); }
.trusted-domain-list { border-top: 1px solid rgba(255,255,255,.24); }
.trusted-domain-row { padding: 1.4rem 0; display: grid; grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); border-bottom: 1px solid rgba(255,255,255,.16); }
.trusted-domain-name p { margin: 0 0 .25rem; color: var(--orange); font-family: "Montserrat", Arial, sans-serif; font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.trusted-domain-name h3 { margin: 0; font-size: clamp(1.15rem, 2vw, 1.55rem); letter-spacing: -.02em; }
.trusted-domain-name h3 a { color: var(--white); text-decoration: none; }
.trusted-domain-name h3 a:hover, .trusted-domain-name h3 a:focus-visible { color: var(--orange); }
.trusted-domain-description p { margin: 0; color: rgba(255,255,255,.84); }
.trusted-domain-description p + p { margin-top: .35rem; color: rgba(255,255,255,.62); }
.trusted-domain-products { margin-top: .75rem; padding: clamp(1.5rem, 3vw, 2.25rem); background: #252525; border-left: 1px solid rgba(255,255,255,.2); }
.trusted-domain-products .trusted-domain-list { border-top-color: rgba(255,255,255,.24); }
.trusted-domain-note { margin-top: 1.5rem; padding: 1.25rem 1.4rem; color: rgba(255,255,255,.78); background: rgba(255,170,0,.07); border-left: 4px solid var(--orange); }
.trusted-domains-page .trusted-domain-note { background: #252525; border-left-color: rgba(255,255,255,.24); }
.trusted-domain-note strong, .trusted-domain-note a { color: var(--white); }
.media-credit-section + .media-credit-section { margin-top: clamp(3rem, 6vw, 5rem); }
.media-credit-section > h2 { margin-bottom: 1rem; color: var(--white); font-size: clamp(1.35rem, 2.3vw, 1.85rem); }
.media-table-wrap { border: 1px solid rgba(255,255,255,.14); overflow-x: auto; }
.media-table-wrap:focus-visible { outline: 3px solid var(--orange); outline-offset: 5px; }
.media-table { width: 100%; min-width: 760px; border-collapse: collapse; text-align: left; }
.media-table th { padding: 1rem 1.25rem; color: var(--orange); font-family: "Montserrat", Arial, sans-serif; font-size: .72rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; border-bottom: 1px solid rgba(255,255,255,.2); }
.media-table td { padding: 1rem 1.25rem; color: rgba(255,255,255,.72); font-size: .92rem; line-height: 1.45; border-bottom: 1px solid rgba(255,255,255,.1); vertical-align: middle; }
.media-table tbody tr:last-child td { border-bottom: 0; }
.media-table tbody tr { transition: background-color .18s ease; }
.media-table tbody tr:hover { background: rgba(255,255,255,.035); }
.media-table td:first-child { width: 38%; color: var(--white); }
.media-table td:nth-child(2) { width: 27%; }
.media-table a { color: var(--white); text-decoration-color: var(--orange); text-underline-offset: .2em; }
.media-file { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 1rem; align-items: center; }
.media-file strong { font-family: "Open Sans", Arial, sans-serif; font-size: .88rem; font-weight: 600; overflow-wrap: anywhere; }
.media-file-copy { min-width: 0; display: grid; gap: .3rem; }
.media-file-copy small { color: rgba(255,255,255,.5); font-size: .68rem; line-height: 1.45; overflow-wrap: anywhere; }
.media-preview { width: 88px; height: 64px; padding: .65rem; display: grid; place-items: center; background: #202220; border: 1px solid rgba(255,255,255,.14); border-radius: 3px; overflow: hidden; contain: paint; }
.media-preview img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; }
.media-preview-image { padding: 0; }
.media-preview-image img { width: 100%; height: 100%; object-fit: cover; }
.media-preview-icon img { width: 42px; height: 42px; max-width: none; max-height: none; display: block; object-fit: contain; filter: invert(1); }
.media-preview-brand-icon { padding: .85rem; }
.media-preview-brand-icon img { width: 38px; height: 38px; max-width: none; max-height: none; display: block; object-fit: contain; }
.media-preview-brand-logo img { width: 66px; height: 42px; max-width: none; max-height: none; display: block; object-fit: contain; }
.media-preview-badge { padding: .35rem; }
.media-preview-badge img { width: 72px; height: 40px; max-width: none; max-height: none; display: block; object-fit: contain; }
.media-lucide-icon { width: 27px; height: 27px; max-width: 100%; max-height: 100%; color: #d2d2d2; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.copyright-ci-access { min-height: 32px; margin-top: 3rem; display: flex; justify-content: flex-end; }
.copyright-ci-access a { min-width: 88px; min-height: 32px; padding: .35rem .7rem; display: inline-flex; align-items: center; justify-content: center; color: var(--white); background: transparent; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; font-size: .72rem; font-weight: 600; letter-spacing: .04em; text-decoration: none; opacity: .04; transition: color .18s ease, border-color .18s ease, opacity .18s ease; }
.copyright-ci-access a:hover,
.copyright-ci-access a:focus-visible { color: var(--orange); border-color: var(--orange); opacity: 1; }

.ci-body { color: #171717; background: #fafafa; }
.ci-body main { background: #fafafa; }
.ci-shell { width: min(calc(100% - 96px), 1320px); margin-inline: auto; }
.ci-hero { padding: 10rem 0 4.5rem; color: var(--white); background: #171717; border-bottom: 1px solid rgba(255,255,255,.12); }
.ci-hero .eyebrow { margin-bottom: 1rem; }
.ci-hero h1 { max-width: 920px; margin: 0; font-size: clamp(3.4rem, 7vw, 6.2rem); line-height: .96; letter-spacing: -.055em; }
.ci-hero > .ci-shell > p:last-child { max-width: 680px; margin: 1.75rem 0 0; color: rgba(255,255,255,.7); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.6; }
.ci-content { padding-bottom: clamp(4rem, 8vw, 7rem); background: #fafafa; }
.ci-jump-links { min-height: 64px; display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1.5rem; border-bottom: 1px solid #dededb; }
.ci-jump-links a { min-height: 36px; display: inline-flex; align-items: center; color: #5f5f5b; font-size: .82rem; font-weight: 650; text-decoration: none; }
.ci-jump-links a:hover { color: #171717; }
.ci-section { padding: clamp(3rem, 6vw, 5rem) 0; display: grid; grid-template-columns: minmax(180px, 260px) minmax(0, 1fr); gap: clamp(2rem, 7vw, 7rem); border-bottom: 1px solid #dededb; scroll-margin-top: 2rem; }
.ci-section > header { align-self: start; }
.ci-section > header h2 { margin: 0; font-size: clamp(1.6rem, 2.6vw, 2.25rem); letter-spacing: -.035em; }
.ci-section-number { margin: 0 0 .5rem; color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: .76rem; font-weight: 750; letter-spacing: .12em; }
.ci-section-intro { max-width: 720px; margin: 0 0 1.75rem; color: #62625e; line-height: 1.65; }
.ci-lead { max-width: 760px; margin: 0 0 2rem; font-family: Montserrat, Arial, sans-serif; font-size: clamp(1.75rem, 3.2vw, 2.8rem); font-weight: 600; line-height: 1.16; letter-spacing: -.04em; }
.ci-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #d7d7d3; }
.ci-principles article { padding: 1.5rem 1.25rem 0 0; }
.ci-principles article + article { padding-left: 1.25rem; border-left: 1px solid #d7d7d3; }
.ci-principles h3 { margin: 0 0 .55rem; font-size: 1.05rem; }
.ci-principles p { margin: 0; color: #696965; font-size: .9rem; line-height: 1.6; }
.ci-logo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #d7d7d3; }
.ci-logo-panel { min-height: 280px; padding: clamp(1.5rem, 4vw, 3rem); display: flex; flex-direction: column; justify-content: space-between; }
.ci-logo-panel + .ci-logo-panel { border-left: 1px solid #d7d7d3; }
.ci-logo-panel img { width: min(100%, 360px); height: auto; object-fit: contain; }
.ci-logo-panel-dark { color: var(--white); background: #2e2e2e; }
.ci-logo-panel-light { color: #171717; background: #fff; }
.ci-logo-panel > div { margin-top: 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: .78rem; }
.ci-logo-panel a { color: inherit; font-weight: 700; text-decoration-color: var(--orange); text-underline-offset: .2em; }
.ci-rules { margin: 1.5rem 0 0; padding: 0; display: grid; gap: .55rem; color: #62625e; list-style: none; }
.ci-rules li { position: relative; padding-left: 1.1rem; line-height: 1.55; }
.ci-rules li::before { content: ''; position: absolute; top: .72em; left: 0; width: 5px; height: 5px; background: var(--orange); }
.ci-color-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid #d7d7d3; }
.ci-color { min-width: 0; background: #fff; }
.ci-color + .ci-color { border-left: 1px solid #d7d7d3; }
.ci-color-swatch { height: 132px; display: block; background: var(--ci-color); border-bottom: 1px solid #d7d7d3; }
.ci-color > div { padding: 1rem; }
.ci-color h3 { margin: 0 0 .4rem; font-size: .9rem; }
.ci-color code { color: #686864; font-size: .78rem; }
.ci-color p { margin: .65rem 0 0; color: #777773; font-size: .76rem; line-height: 1.45; }
.ci-type-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #d7d7d3; }
.ci-type-grid article { min-width: 0; padding: 1.75rem 2rem 0 0; }
.ci-type-grid article + article { padding-left: 2rem; border-left: 1px solid #d7d7d3; }
.ci-type-label { margin: 0 0 1.5rem; color: #73736f; font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ci-type-headline { margin: 0 0 1.5rem; font-family: Montserrat, Arial, sans-serif; font-size: clamp(2.1rem, 4vw, 3.6rem); font-weight: 700; line-height: 1.02; letter-spacing: -.05em; }
.ci-type-body { margin: 0 0 1.5rem; font-family: "Open Sans", Arial, sans-serif; font-size: 1.15rem; line-height: 1.65; }
.ci-type-grid article > p:last-child { margin-bottom: 0; color: #73736f; font-size: .85rem; line-height: 1.55; }
.ci-component-row { min-height: 104px; padding: 1.5rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; background: #fff; border: 1px solid #d7d7d3; }
.ci-component-row .text-link { color: #171717; }
.ci-tag { min-height: 28px; padding: .25rem .65rem; display: inline-flex; align-items: center; color: #555; background: #f1f1ef; border: 1px solid #d7d7d3; border-radius: 4px; font-size: .78rem; }
.ci-component-notes { margin-top: 1.5rem; border-top: 1px solid #d7d7d3; }
.ci-component-notes p { margin: 0; padding: .9rem 0; display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 1rem; border-bottom: 1px solid #e4e4e1; }
.ci-component-notes span { color: #6c6c68; }
.ci-language-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 5rem); }
.ci-language-grid h3 { margin: 0 0 1rem; font-size: 1.05rem; }
.ci-language-grid .ci-rules { margin-top: 0; }

@media (max-width: 900px) {
  .ci-section { grid-template-columns: 1fr; gap: 1.5rem; }
  .ci-principles { grid-template-columns: 1fr; }
  .ci-principles article { padding: 1.25rem 0; border-bottom: 1px solid #e2e2df; }
  .ci-principles article + article { padding-left: 0; border-left: 0; }
  .ci-color-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ci-color + .ci-color { border-left: 0; }
  .ci-color:nth-child(even) { border-left: 1px solid #d7d7d3; }
  .ci-color:nth-child(n+3) { border-top: 1px solid #d7d7d3; }
}

@media (max-width: 620px) {
  .ci-shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), 1320px); }
  .ci-hero { padding: 7.5rem 0 3rem; }
  .ci-hero h1 { font-size: clamp(2.7rem, 14vw, 4rem); }
  .ci-jump-links { padding-block: .75rem; gap: 0 1rem; }
  .ci-logo-grid, .ci-type-grid, .ci-language-grid { grid-template-columns: 1fr; }
  .ci-logo-panel + .ci-logo-panel, .ci-type-grid article + article { border-top: 1px solid #d7d7d3; border-left: 0; }
  .ci-logo-panel { min-height: 230px; }
  .ci-type-grid article, .ci-type-grid article + article { padding: 1.5rem 0; }
  .ci-color-grid { grid-template-columns: 1fr; }
  .ci-color:nth-child(n), .ci-color + .ci-color { border-top: 1px solid #d7d7d3; border-left: 0; }
  .ci-color:first-child { border-top: 0; }
  .ci-color { display: grid; grid-template-columns: 96px minmax(0, 1fr); }
  .ci-color-swatch { height: 100%; min-height: 116px; border-right: 1px solid #d7d7d3; border-bottom: 0; }
  .ci-component-row { align-items: flex-start; flex-direction: column; }
  .ci-component-notes p { grid-template-columns: 1fr; gap: .25rem; }
}

.site-footer { --footer-text: rgba(255,255,255,.66); --footer-focus: #737373; padding: clamp(3.75rem, 6vw, 5.25rem) 0; color: var(--footer-text); background: #2e2e2e; font-size: 1rem; }
.footer-grid { width: min(calc(100% - 96px), 1760px); display: grid; grid-template-columns: minmax(360px, 1.4fr) minmax(320px, 1fr) repeat(2, minmax(130px, .55fr)); gap: clamp(2rem, 3vw, 4rem); align-items: start; }
.footer-grid > * { min-width: 0; }
.footer-grid h2 { margin: 0 0 1.25rem; color: var(--white); font-family: "Open Sans", Arial, sans-serif; font-size: 1.125rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
.site-footer a { text-decoration: none; overflow-wrap: anywhere; transition: color .18s; }
.site-footer a:hover { color: var(--white); }
.site-footer a:active { color: var(--orange); }
.site-footer a:focus-visible { outline: 3px solid var(--footer-focus); outline-offset: 4px; border-radius: var(--radius); }
.footer-cookie-settings { min-height: 28px; padding: .1rem 0; color: var(--footer-text); background: transparent; border: 0; font-size: inherit; line-height: inherit; text-align: left; cursor: pointer; transition: color .18s; }
.footer-cookie-settings:hover { color: var(--white); }
.footer-cookie-settings:focus-visible { outline: 3px solid var(--footer-focus); outline-offset: 4px; border-radius: var(--radius); }
.footer-logo-link { width: fit-content; margin: 0 0 1rem; display: block; }
.footer-logo { width: 272px; height: auto; object-fit: contain; margin: 0; }
.footer-contact-list { width: fit-content; max-width: 520px; margin: 0; padding: 0 0 0 14px; display: grid; gap: .15rem; list-style: none; }
.footer-contact-list li { min-width: 0; }
.footer-detail { width: 100%; min-height: 38px; padding-block: .15rem; display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: .75rem; align-items: center; color: var(--footer-text); font-size: 1rem; line-height: 1.3; overflow-wrap: anywhere; }
a.footer-detail:hover { color: var(--white); }
.site-footer a.footer-contact-phone:hover,
.contact-section a.footer-contact-phone:hover,
.site-footer a.footer-contact-email:hover,
.contact-section a.footer-contact-email:hover { color: var(--orange); }
.site-footer a.footer-contact-whatsapp:hover,
.contact-section a.footer-contact-whatsapp:hover { color: #25d366; }
.footer-detail img, .footer-icon { width: 23px; height: 23px; object-fit: contain; transform: translateX(-3px); }
.footer-icon { color: #c8c8c8; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.footer-icon-mail { stroke-width: 1.55; }
.footer-detail > span { min-width: 0; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; }
.footer-links > a, .footer-link-group > a, .footer-meta-links > a, .footer-legal-row > a, .footer-legal-links > a { max-width: 100%; min-height: 32px; padding-block: .2rem; }
.footer-link-group, .footer-meta-links, .footer-legal-links { display: flex; flex-direction: column; align-items: flex-start; }
.footer-legal-row { display: contents; }
.footer-legal h2 { margin-bottom: .8rem; }
.footer-legal .footer-link-group > a, .footer-legal .footer-meta-links > a, .footer-legal .footer-legal-row > a, .footer-legal .footer-legal-links > a, .footer-legal .footer-cookie-settings { min-height: 28px; padding-block: .1rem; display: flex; align-items: center; }
.footer-meta-links { width: max-content; min-width: 215px; margin-top: 0; padding-top: 0; border-top: 0; }
.footer-links .footer-contact-link { color: inherit; font-weight: 400; }
.footer-social > a, .footer-external-link { display: inline-flex; gap: .4rem; align-items: center; }
.footer-external-icon { width: 14px; height: 14px; flex: 0 0 14px; fill: none; stroke: var(--orange); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; opacity: 1; }
.footer-menu .footer-external-icon { display: block; color: var(--orange); stroke: currentColor; }
.footer-copyright { color: rgba(255,255,255,.42); }
.footer-trusted-domains { display: inline-flex; align-items: center; gap: .5rem; color: rgba(255,255,255,.66); font-size: 1rem; white-space: nowrap; }
.footer-trusted-domains::before { content: ''; width: 7px; height: 7px; flex: 0 0 7px; background: #22c55e; border-radius: 50%; }
.footer-person { margin-top: .65rem; }
.privacy-badges { width: 100%; margin-top: .85rem; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.privacy-badge { position: relative; width: 154px; flex: 0 0 154px; aspect-ratio: 1255 / 479; color: #050505; border-radius: 9px; overflow: hidden; }
.privacy-badge-art { position: absolute; inset: 0; width: 100%; max-width: none; height: 100%; display: block; }
.privacy-badge-label { position: absolute; inset: 0 0 0 38.57%; min-width: 0; padding: 0 .4rem 0 .65rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; font-family: "Montserrat", Arial, sans-serif; text-align: left; white-space: nowrap; }
.privacy-badge-label strong { font-size: 1.08rem; font-weight: 800; line-height: 1; letter-spacing: -.03em; }
.privacy-badge-label span { margin-top: .2rem; font-size: .86rem; font-weight: 750; line-height: 1; letter-spacing: -.02em; }

.cookie-banner { position: fixed; z-index: 90; right: 22px; bottom: 22px; width: min(390px, calc(100% - 44px)); padding: 1.35rem; color: var(--white); background: rgba(38,38,38,.98); border-top: 3px solid var(--orange); border-radius: var(--radius-lg); box-shadow: 0 18px 48px rgba(0,0,0,.28); }
.cookie-banner[hidden] { display: none; }
.cookie-banner h2 { margin: 0 0 .55rem; font-size: 1.18rem; letter-spacing: -.02em; }
.cookie-banner p { margin: 0 0 1rem; color: rgba(255,255,255,.72); font-size: .86rem; line-height: 1.55; }
.cookie-banner-actions { margin-top: 1rem; display: grid; grid-template-columns: 1fr 1.12fr; gap: .55rem; }
.cookie-choice { min-height: 42px; padding: .65rem .75rem; border-radius: var(--radius); font-size: .78rem; font-weight: 750; cursor: pointer; }
.cookie-choice-secondary { color: var(--white); background: transparent; border: 1px solid rgba(255,255,255,.42); }
.cookie-choice-secondary:hover { border-color: var(--white); }
.cookie-choice-primary { color: var(--white); background: var(--orange); border: 1px solid var(--orange); }
.cookie-choice-primary:hover { color: var(--white); background: var(--orange-hover); border-color: var(--orange-hover); }
.cookie-banner > a { width: fit-content; display: block; color: var(--orange); font-size: .76rem; text-decoration: none; }
.cookie-banner > a:visited, .cookie-banner > a:hover, .cookie-banner > a:focus-visible { color: var(--orange); text-decoration: none; }

@media (min-width: 821px) {
  .footer-menu { padding-left: clamp(1.25rem, 3vw, 3.5rem); }
}

@media (min-width: 1201px) {
  .footer-legal { position: relative; padding-bottom: 75px; align-self: stretch; }
  .footer-legal .privacy-badges { position: absolute; bottom: .15rem; left: 0; margin: 0; }
}

@media (max-width: 1200px) {
  .nav-wrap, .hero-content { width: min(calc(100% - 72px), 1128px); }
  .nav-wrap { gap: 1.25rem; }
  .brand { flex-basis: 190px; }
  .brand img { width: 190px; }
  .site-nav { font-size: .88rem; transform: none; }
  .nav-links a { padding-inline: .7rem; }
  .nav-consult { padding-inline: .65rem; }
}

@media (max-width: 1240px) {
  .services-body .service-index-summary { grid-template-columns: 42px minmax(270px, .95fr) minmax(0, 1.05fr) 42px; }
  .services-body .service-index-number { grid-column: 1; grid-row: 1; }
  .services-body .service-index-identity { grid-column: 2; grid-row: 1; }
  .services-body .service-index-copy:not(.service-index-result) { grid-column: 3; grid-row: 1; }
  .services-body .service-index-result { grid-column: 2 / 4; grid-row: 2; padding-top: 1rem; display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 1rem; border-top: 1px solid rgba(23,23,23,.1); }
  .services-body .service-index-toggle { grid-column: 4; grid-row: 1; }
}

@media (max-width: 1024px) {
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .project-grid { grid-template-columns: repeat(2, 1fr); }
  .home .original-services .service-grid, .home .original-projects .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home .original-projects .shell { width: min(calc(100% - 72px), 1530px); }
  .home .original-projects .project-card, .home .original-projects .project-card:nth-child(odd), .home .original-projects .project-card:nth-child(even) { margin: 0; padding: 0; border: 1px solid rgba(255,255,255,.1); }
  .home #services { padding-top: 0; }
  .home #services .services-showcase { display: block; }
  .home #services .section-heading { min-height: 0; padding: 2.5rem 36px; align-items: flex-start; justify-content: flex-start; gap: .8rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .home #services .section-heading h2 { font-size: clamp(2.5rem, 7vw, 4rem); writing-mode: horizontal-tb; transform: none; }
  .home #services .services-heading-rule { width: 48px; height: 5px; flex-basis: 5px; transform: none; }
  .home #services .service-grid { min-height: 0; }
  .services-process-layout, .services-section-grid, .services-faq-layout { gap: 3rem; }
  .projects-index .project-card.is-featured { grid-template-columns: 1fr; }
  .projects-index .project-card.is-featured .project-image { min-height: 0; aspect-ratio: 16 / 9; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
  .footer-contact { grid-column: 1 / -1; }
  .about-image { min-height: 600px; }
}

@media (max-width: 900px) {
  .home .original-process { min-height: 0; display: block; }
  .home .original-process .process-layout { min-height: 0; grid-template-columns: 1fr; grid-template-areas: "intro" "visual" "assurance"; grid-template-rows: auto; gap: 3.5rem; }
  .home .original-process .process-visual { min-height: 520px; }
}

@media (max-width: 820px) {
  body.nav-open { position: fixed; inset: var(--nav-scroll-lock-offset, 0) 0 auto; width: 100%; overflow: hidden; }
  body.nav-open .site-header { z-index: 1100; opacity: 1; background: #171717; transform: none; pointer-events: auto; }
  .shell, .nav-wrap { width: min(calc(100% - 36px), var(--shell)); }
  .services-body .service-index-item,
  .services-body .service-index-item:nth-child(odd),
  .services-body .service-index-item:nth-child(even) { width: 100%; margin-inline: 0; }
  .services-body .service-index-summary { min-height: 0; padding: 1.35rem; grid-template-columns: 34px minmax(0, 1fr) 44px; gap: 1.1rem; align-items: start; }
  .services-body .service-index-number { grid-column: 1; grid-row: 1; padding-top: .35rem; }
  .services-body .service-index-identity { grid-column: 2; grid-row: 1; }
  .services-body .service-index-copy:not(.service-index-result) { grid-column: 2 / 4; grid-row: 2; }
  .services-body .service-index-result { grid-column: 2 / 4; grid-row: 3; padding-top: 1rem; display: grid; grid-template-columns: 1fr; gap: .4rem; border-top: 1px solid rgba(23,23,23,.1); }
  .services-body .service-index-toggle { grid-column: 3; grid-row: 1; }
  .services-body .service-index-panel { grid-template-columns: 1fr; gap: 1.35rem; }
  .services-body .service-index-scope { padding-right: 0; }
  .services-body .service-index-outcome { padding: 1.25rem 0 0; border-top: 1px solid rgba(23,23,23,.13); border-left: 0; }
  .services-process-layout, .services-section-grid, .services-faq-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .services-technology .services-section-grid { grid-template-columns: 1fr; grid-template-areas: "intro" "technology"; gap: 2.5rem; }
  .services-section-intro, .services-faq-section header { position: static; }
  .services-security .services-section-grid { grid-template-columns: 1fr; grid-template-areas: "security-copy" "security-visual"; }
  .services-security .security-visual { min-height: 320px; }
  .services-fixed-price .shell { width: min(calc(100% - 36px), var(--shell)); }
  .services-fixed-price .services-section-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  #services .shell { width: min(calc(100% - 36px), var(--shell)); }
  #services .section-heading { grid-template-columns: 1fr; gap: .75rem; }
  #services .section-heading .eyebrow { margin-bottom: .35rem; }
  #services .section-heading > p:last-child { padding-bottom: 0; }
  .site-header { height: 78px; }
  .site-header.is-scrolled { height: 68px; }
  .nav-wrap { height: 100%; }
  .brand { flex-basis: 190px; }
  .brand img { width: 190px; }
  .site-header.is-scrolled .brand { flex-basis: 170px; }
  .site-header.is-scrolled .brand img { width: 170px; }
  .nav-toggle { display: block; flex: 0 0 46px; }
  .site-nav { position: fixed; inset: 78px 0 auto; height: calc(100vh - 78px); height: calc(100dvh - 78px); margin: 0; padding: 2rem 18px max(2rem, env(safe-area-inset-bottom)); display: none; align-items: stretch; flex-direction: column; gap: 0; background: #171717; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  .site-header.is-scrolled .site-nav { inset: 68px 0 auto; height: calc(100vh - 68px); height: calc(100dvh - 68px); }
  .site-nav.is-open { display: flex; }
  .nav-links { min-height: 0; display: flex; align-items: stretch; flex-direction: column; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .site-nav a { padding: 1rem 0; font-size: 1.1rem; border-bottom: 1px solid rgba(255,255,255,.2); }
  .nav-links a:last-child { padding-right: 0; }
  .nav-consult { margin: 1.25rem 0 0; padding: 1rem; justify-content: center; border-bottom: 0 !important; }
  .language-switch { width: fit-content; margin: 1rem 0 0; align-self: flex-end; }
  .site-nav .language-switch a { min-width: 40px; height: 34px; padding: 0 9px; border: 0; font-size: .78rem; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translate(-50%, -50%) rotate(-45deg); }
  .hero { min-height: max(780px, 100svh); }
  .hero-content { min-height: max(780px, 100svh); }
  .split, .about-section, .contact-grid, .project-layout, .project-layout.has-gallery, .project-hero-grid { grid-template-columns: 1fr; }
  .contact-grid-refined { min-height: 0; gap: 0; }
  .contact-details { min-height: 460px; padding: 4rem 36px; }
  .contact-form-refined { padding: 4rem 36px; border: 0; }
  .contact-form-refined .consent br { display: none; }
  .contact-column-heading { min-height: 0; }
  .home .original-about { min-height: 0; grid-template-columns: 1fr; background: linear-gradient(rgba(34,34,34,.88), rgba(34,34,34,.88)), url('/assets/site/storm-waves.webp') center / cover; }
  .home .original-about .about-visual { min-height: 480px; padding: 1.5rem 36px; justify-content: center; }
  .home .original-about .about-copy { max-width: none; padding: 3.5rem 36px; }
  .home .original-process .shell { width: min(calc(100% - 36px), 1320px); }
  .home .original-process .process-header { margin-bottom: 3rem; }
  .home .original-projects .projects-showcase { grid-template-columns: 1fr; }
  .home .original-projects .project-side-heading { position: relative; grid-row: 1; min-height: 136px; padding: 3rem 36px; flex-flow: row wrap; align-items: center; gap: 1rem; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .home .original-projects .project-side-heading h2 { margin-right: auto; font-size: clamp(2.5rem, 7vw, 4rem); writing-mode: horizontal-tb; transform: none; }
  .home .original-projects .projects-heading-rule { position: absolute; bottom: 1.5rem; left: 36px; margin: 0; }
  .home .original-projects .projects-all-button { margin: 0; }
  .home .original-projects .project-static-area { grid-row: 2; padding: 3rem 36px; }
  .home .original-statement .statement-grid { width: min(calc(100% - 36px), 1530px); grid-template-columns: 1fr; gap: 2.5rem; }
  .home .original-statement .statement-copy { max-width: none; justify-self: stretch; }
  .about-image { min-height: 480px; }
  .about-copy { max-width: none; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
  .footer-contact { grid-column: 1 / -1; }
  .copyright-body .legal-hero .shell, .copyright-page .shell { width: min(calc(100% - 36px), 1320px); }
  .trusted-domains-hero .shell, .trusted-domains-page .shell { width: min(calc(100% - 36px), 1120px); }
  .booking-heading { grid-template-columns: 1fr; gap: .75rem; }
  .contact-booking { padding-bottom: .75rem; }
  .contact-booking .shell { width: min(calc(100% - 36px), var(--shell)); margin-inline: auto; grid-template-columns: 1fr; grid-template-areas: "copy" "calendar"; gap: 2.5rem; }
  .contact-booking [data-cal-embed] { height: auto; min-height: 0; overflow: visible; }
  .contact-booking [data-cal-embed].is-loading { min-height: 680px; }
  .contact-booking [data-cal-embed] iframe { height: auto; min-height: 0; max-height: none; }
  .cal-embed-shell { padding: .4rem; }
  [data-cal-embed], [data-cal-embed] iframe { min-height: 780px; }
  .project-gallery { position: static; grid-template-columns: repeat(2, 1fr); }
  .page-title-band { top: 126px; left: 28%; }
  .portfolio-hero .shell, .projects-index .shell, .project-hero .shell, .project-layout { width: min(calc(100% - 36px), var(--shell)); }
  .project-gallery { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .cookie-banner { right: var(--mobile-page-gutter); bottom: 14px; width: calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)); padding: 1.1rem; }
  .cookie-banner-actions { grid-template-columns: 1fr; }
  body { font-size: 15.5px; }
  .shell, .nav-wrap { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), var(--shell)); }
  .projects-page-body .project-filters { margin: 0; padding: 0; flex-wrap: nowrap; overflow: visible; overscroll-behavior: auto; scroll-snap-type: none; }
  .projects-page-body .project-filter { flex: 0 1 auto; scroll-snap-align: none; }
  .services-body .step-detail { min-height: 0; padding: 0 0 2rem 64px; }
  .services-body .step-detail:not(:last-child)::before { top: 24px; left: 22px; }
  .services-body .step-detail > span { width: 48px; height: 48px; font-size: .9rem; }
  .services-body .services-process-cta { width: 100%; justify-content: center; text-align: center; }
  .services-body .technology-grid { display: flex; flex-direction: column; gap: .9rem; }
  .services-body .technology-column { display: contents; }
  .services-body .technology-grid > .technology-column > article { min-height: 0; order: var(--technology-order); }
  .services-fixed-price .shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), var(--shell)); }
  .services-fixed-price h2 { font-size: clamp(2.1rem, 10vw, 2.8rem); }
  .services-body .faq summary { padding-right: 2.25rem; }
  .services-body .faq details p { padding-right: 0; }
  .home .original-services .service-grid, .home .original-projects .project-grid { grid-template-columns: 1fr; }
  .home #services .section-heading { padding: 2.25rem var(--mobile-page-gutter); }
  .service-catalog { padding: 1.25rem var(--mobile-page-gutter) 1.4rem; }
  .services-body .service-index { gap: .65rem; }
  .services-body .service-index-item { scroll-margin-top: 6rem; border-radius: 10px; }
  .services-body .service-index-summary { padding: 1.15rem 1rem; grid-template-columns: 30px minmax(0, 1fr) 40px; gap: .8rem; }
  .services-body .service-index-identity { grid-template-columns: 50px minmax(0, 1fr); gap: .8rem; }
  .services-body .service-index-icon img, .services-body .service-index-icon .service-icon-svg { width: 50px; height: 50px; }
  .services-body .service-index-title { font-size: 1.08rem; }
  .services-body .service-index-copy { font-size: .88rem; }
  .services-body .service-index-toggle { width: 40px; height: 40px; }
  .services-body .service-index-panel { padding-inline: 1rem; }
  .services-body .service-index-list { grid-template-columns: 1fr; }
  .services-body .service-index-item::before { display: none; }
  .services-body .service-index-item:has(.service-index-more[open])::before { top: 0; bottom: 0; height: auto; display: block; transform: none; }
  .services-body .service-index-more:not([open]) .service-index-summary { min-height: 92px; padding-block: .85rem; align-items: center; }
  .services-body .service-index-more:not([open]) .service-index-number { position: relative; padding-top: 0; color: var(--orange); }
  .services-body .service-index-more:not([open]) .service-index-number::before { content: ''; position: absolute; top: 50%; left: -1rem; width: 4px; height: 32px; background: var(--orange); transform: translateY(-50%); pointer-events: none; }
  .services-body .service-index-more:not([open]) .service-index-copy:not(.service-index-result) { display: none; }
  .services-body .service-index-more:not([open]) .service-index-result { grid-column: 2 / 4; grid-row: 2; padding-top: .75rem; display: grid; grid-template-columns: 1fr; gap: .3rem; border-top: 1px solid rgba(23,23,23,.1); }
  .services-body .service-index-more:not([open]) .service-index-result .service-index-label { display: none; }
  .services-body .service-index-more:not([open]) .service-index-toggle { color: var(--ink); background: #fff; border-color: rgba(23,23,23,.22); }
  .home .original-projects .project-side-heading { min-height: 152px; padding: 2.25rem var(--mobile-page-gutter) 3.5rem; gap: .5rem; }
  .home .original-projects .project-side-heading h2 { width: 100%; margin: 0; font-size: clamp(2.2rem, 10vw, 3rem); }
  .home .original-projects .projects-all-button { min-height: 40px; padding: .5rem 0; align-items: center; }
  .home .original-projects .projects-heading-rule { bottom: 1.5rem; left: var(--mobile-page-gutter); }
  .home .original-projects .project-static-area { padding: 2.5rem var(--mobile-page-gutter); }
  .home .original-projects .section-heading .button { margin-top: 1.25rem; }
  .home .original-projects .project-card, .home .original-projects .project-card:nth-child(even), .home .original-projects .project-card:nth-child(odd) { margin: 0; padding: 0; border: 1px solid rgba(255,255,255,.1); }
  .home .original-projects .project-card + .project-card { padding-top: 0; }
  .home .original-projects .project-card:last-child { padding-bottom: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .home .original-projects .project-card-body h3 { min-height: 0; }
  .home .original-process { padding: 4.75rem 0; }
  .home .original-process h2 { font-size: clamp(2.25rem, 11vw, 3rem); }
  .home .original-process .process-visual { min-height: 0; }
  .home .original-process .process-list { min-height: 560px; }
  .home .original-process .process-list > li { gap: .85rem; }
  .home .original-process .process-step-number { font-size: 1rem; }
  .home .original-process .process-step-copy strong { font-size: .92rem; }
  .home .original-process .process-step-copy small { font-size: .74rem; }
  .home .original-process .process-metrics { grid-template-columns: 1fr; padding: 0; }
  .home .original-process .process-metrics > div,
  .home .original-process .process-metrics > div:first-child { padding: .75rem 0; display: grid; grid-template-columns: minmax(110px, .75fr) minmax(0, 1fr); align-items: center; border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .home .original-process .process-metrics > div:first-child { border-top: 0; }
  .home .original-process .process-metrics dd { margin-top: 0; }
  .home .original-process .process-action { align-items: flex-start; flex-direction: column; }
  .home .original-statement { padding-block: 4.5rem; }
  .home .original-process .shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), 1320px); }
  .home .original-statement .statement-grid { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), 1530px); }
  .home .original-about .about-visual { min-height: 420px; padding: 1.5rem var(--mobile-page-gutter); }
  .home .original-about .about-portrait-card { width: min(72vw, 270px); }
  .home .original-about .about-copy { padding: 3rem var(--mobile-page-gutter); }
  .home .original-about .about-copy .text-link { margin-right: 0; margin-left: 0; }
  .copyright-body .legal-hero .shell, .copyright-page .shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), 1320px); }
  .trusted-domains-hero .shell, .trusted-domains-page .shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), 1120px); }
  .trusted-domain-group > header, .trusted-domain-row { grid-template-columns: 1fr; gap: .75rem; }
  .trusted-domain-group > header { margin-bottom: 1rem; }
  .trusted-domain-products { padding: 1.5rem; }
  #services .shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), var(--shell)); }
  #services .section-heading { margin-bottom: 1.75rem; }
  .hero, .hero-content { min-height: max(700px, 100svh); }
  .hero-media { object-position: 56% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(4,13,18,.42), rgba(5,15,20,.08)), linear-gradient(0deg, rgba(0,0,0,.64), transparent 66%); }
  .hero-content { padding-top: 8rem; padding-bottom: 3rem; }
  .hero h1 { max-width: 520px; font-size: clamp(2.3rem, 10.5vw, 3.15rem); }
  .hero-lead { font-size: 1.05rem; }
  .hero-copy { max-width: 520px; font-size: .91rem; }
  .home .hero .button-secondary { color: var(--white); background: rgba(20,20,20,.88); border-color: rgba(255,255,255,.62); box-shadow: 0 8px 20px rgba(0,0,0,.22); }
  .home .hero .button-secondary:hover,
  .home .hero .button-secondary:focus-visible { color: var(--white); background: rgba(35,35,35,.98); border-color: var(--white); }
  h1, h2, h3, .project-content, .contact-grid { overflow-wrap: anywhere; }
  .button-row, .button-row .button { width: 100%; }
  .service-grid, .project-grid, .footer-grid, .technology-grid, .check-list, .field-row, .project-gallery { grid-template-columns: 1fr; }
  .credentials { grid-template-columns: 1fr; }
  .row-heading { display: block; }
  .row-heading .button { margin-top: 1rem; }
  .service-card h3 { min-height: 0; }
  .page-banner { height: 235px; }
  .page-title-band { top: 126px; right: 0; left: 0; min-height: 82px; padding-left: 10px; border-left-width: 10px; }
  .page-title-band h1 { font-size: 2.75rem; }
  .portfolio-hero { padding-top: 8.5rem; }
  .portfolio-hero .shell, .projects-index .shell, .project-hero .shell, .project-layout { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), var(--shell)); }
  .portfolio-hero h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .projects-index .project-grid { grid-template-columns: 1fr; }
  .projects-index .project-card.is-featured { grid-column: auto; }
  .projects-index .project-card-body, .projects-index .project-card.is-featured .project-card-body { padding: 1.5rem; }
  .step-detail { grid-template-columns: 55px minmax(0, 1fr); gap: 1rem; }
  .step-detail > span { font-size: 1.4rem; }
  .about-image { min-height: 420px; }
  .about-copy { padding-inline: var(--mobile-page-gutter); }
  .project-hero { padding: 8.5rem 0 3rem; }
  .project-hero h1 { font-size: clamp(2.35rem, 11vw, 3.4rem); }
  .project-hero-grid { gap: 2rem; }
  .project-facts { padding-left: 1rem; }
  .project-overview { margin-top: 2.5rem; }
  .project-cover { margin-bottom: 3.25rem; padding: .35rem; box-shadow: 0 20px 50px rgba(0,0,0,.3); }
  .project-content { font-size: 1rem; }
  .project-detail-taxonomy { grid-template-columns: 1fr; gap: 2rem; }
  .project-gallery { grid-template-columns: 1fr; }
  .contact-form:not(.contact-form-refined) { padding: 1.25rem; }
  .contact-form-footer { grid-template-columns: 1fr; gap: 1rem; }
  .contact-form-action { justify-content: flex-start; }
  .contact-form-action .button { width: 100%; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-contact { grid-column: 1 / -1; grid-row: auto; }
  .footer-legal { grid-column: 1 / -1; }
  .footer-logo { width: 240px; }
  .footer-grid h2 { margin-bottom: 1rem; }
  .footer-links > a { min-height: 40px; padding-block: .5rem; }
  .footer-detail { min-height: 40px; }
  .legal-hero { padding-top: 7rem; }
  .legal-hero .shell, .legal-page .shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), 980px); }
  .legal-hero h1 { font-size: clamp(2.35rem, 12vw, 3.5rem); overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .home .original-process .process-list { --process-progress: 1 !important; }
  .home .original-process .process-list::before,
  .home .original-process .process-list::after { transform: scaleY(1) !important; }
  .home .original-process .process-list > li,
  .home .original-process .process-intro,
  .home .original-process .process-assurance { opacity: 1 !important; transform: none !important; }
  .hero-media { display: none; }
  .hero { background: #10181d url('/assets/site/hero-poster.webp') center/cover no-repeat; }
}

/* Expertise: Aufbau und Anmutung der ursprünglichen Expertise-Seite */
.expertise-body main { background: #d0d0d0; }
.expertise-shell { width: min(calc(100% - 128px), 1230px); margin-inline: auto; }
.expertise-body .page-banner,
.projects-page-body .page-banner,
.contact-body .page-banner { height: 220px; }
.expertise-body .page-banner,
.projects-page-body .page-banner { background-position: center bottom; }
.contact-body .page-banner { background-position: center; }
.expertise-body .page-banner::after,
.projects-page-body .page-banner::after { background: rgba(0,0,0,.16); }
.contact-body .page-banner::after { background: rgba(0,0,0,.26); }
.expertise-overview { padding: calc(1.5rem + 35px) 0 2.25rem; background: #d0d0d0; }
.contact-body .booking-section { padding-top: calc(clamp(4rem, 7vw, 6.5rem) + 35px); }
.expertise-overview-layout { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(360px, .78fr); gap: clamp(5rem, 10vw, 10rem); align-items: center; }
.expertise-step-grid { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; align-items: start; }
.expertise-step-column { min-width: 0; display: flex; flex-direction: column; gap: .65rem; }
.expertise-step-card { position: relative; min-height: 0; padding: 1.45rem 3.25rem 1.4rem 1.35rem; color: var(--white); background: #2d2d2d; border-radius: 6px; box-shadow: 5px 6px 0 rgba(61,61,61,.42); }
.expertise-step-card h2 { margin: 0 0 1.05rem; font-size: clamp(1.35rem, 1.8vw, 1.72rem); line-height: 1.04; letter-spacing: -.03em; }
.expertise-step-card p { margin: 0; color: rgba(255,255,255,.9); font-size: .93rem; line-height: 1.45; }
.expertise-step-number { position: absolute; top: 1.35rem; right: 1.25rem; color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: 1.45rem; font-weight: 780; line-height: 1; }
.expertise-fixed-price { max-width: 450px; justify-self: end; color: #2d2d2d; }
.expertise-fixed-price h2 { margin-bottom: 2rem; font-size: clamp(2.15rem, 2.7vw, 2.75rem); line-height: 1.15; }
.expertise-fixed-price h2 span { color: var(--orange); }
.expertise-fixed-price p { margin-bottom: 1.2rem; font-size: .98rem; line-height: 1.52; }
.expertise-fixed-price p:last-child { margin-bottom: 0; }

@media (min-width: 1101px) {
  .expertise-step-grid { transform: translateX(clamp(-5rem, -5vw, -3rem)); }
}

.expertise-workpackages { position: relative; padding: clamp(3.5rem, 5.5vw, 5.25rem) 0; color: var(--white); background: linear-gradient(90deg, rgba(43,43,43,.99) 0%, rgba(43,43,43,.98) 48%, rgba(43,43,43,.78) 68%, rgba(43,43,43,.68) 100%), url('/assets/site/storm-waves.webp') center / cover no-repeat; }
.expertise-workpackages .expertise-shell { width: min(calc(100% - 128px), 1420px); }
.expertise-workpackages-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, .72fr); gap: clamp(7rem, 11vw, 11rem); align-items: center; }
.expertise-workpackages-copy { max-width: 680px; }
.expertise-workpackages-copy h2 { margin-bottom: 1.4rem; font-family: "Open Sans", Arial, sans-serif; font-size: clamp(1.55rem, 1.9vw, 1.78rem); font-weight: 350; line-height: 1.2; letter-spacing: -.02em; }
.expertise-workpackages-copy h2 strong { color: var(--orange); font-weight: 750; }
.expertise-workpackages-copy p { margin-bottom: 1.35rem; color: rgba(255,255,255,.91); font-size: .98rem; line-height: 1.5; }
.expertise-workpackages-copy p:last-child { margin-bottom: 0; }
.expertise-workflow { position: relative; margin: 0; padding: clamp(1.25rem, 2.5vw, 2.5rem); background: rgba(35,35,35,.74); border-radius: 4px; }
.expertise-workflow img { width: 100%; height: auto; }
.expertise-workflow figcaption { position: absolute; right: 1.1rem; bottom: .45rem; color: rgba(255,255,255,.92); font-size: 1.25rem; font-weight: 350; }

.expertise-projects { padding: 2rem 0 2.4rem; color: #2d2d2d; background: #d0d0d0; }
.expertise-projects-shell { width: min(calc(100% - 96px), 1420px); margin-inline: auto; }
.expertise-projects header { margin-bottom: 1.5rem; display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.expertise-projects header h2 { margin: 0; font-size: clamp(2rem, 3vw, 2.75rem); }
.expertise-projects header > .more-info-link { margin-top: .75rem; color: var(--ink); font-size: .87rem; text-align: left; }
.expertise-project-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.expertise-project-card { width: 100%; min-width: 0; padding: 0; color: var(--white); background: #262626; border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius); box-shadow: none; }
.expertise-project-card .project-image { aspect-ratio: 16 / 10; border-radius: 0; }
.expertise-project-card .project-image img { transition: none; }
.expertise-project-card .project-card-body { padding: 1.1rem 1.2rem 1.35rem; }
.expertise-project-card .project-card-body .eyebrow { margin-bottom: .65rem; color: var(--orange); font-size: .68rem; letter-spacing: .18em; }
.expertise-project-card .project-card-body h3 { min-height: 4.7rem; margin-bottom: 0; font-size: clamp(1.05rem, 1.35vw, 1.25rem); line-height: 1.28; }
.expertise-project-card .project-card-body h3 a { transition: color .18s ease; }
.expertise-project-card .project-card-excerpt { margin: .85rem 0 0; display: -webkit-box; color: rgba(255,255,255,.67); font-size: .9rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.expertise-project-card:hover { background: #2d2d2d; border-color: rgba(255,170,0,.42); box-shadow: 0 12px 28px rgba(23,23,23,.13); transform: none; }
.expertise-project-card:hover .project-card-body h3 a { color: var(--orange); }

.expertise-about-original { padding: clamp(4rem, 6vw, 6rem) 0; color: var(--white); background: #2e2e2e; }
.expertise-about-original .expertise-shell { width: min(calc(100% - 128px), 1420px); }
.expertise-about-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, 360px); gap: clamp(5rem, 8vw, 8rem); align-items: start; }
.expertise-about-copy h2 { margin-bottom: 1.5rem; font-size: clamp(2.8rem, 4.3vw, 4rem); }
.expertise-about-copy p { max-width: 760px; margin-bottom: 1.3rem; color: rgba(255,255,255,.9); font-size: .98rem; line-height: 1.48; }
.expertise-highlight { color: var(--orange); }
.expertise-profile { --expertise-profile-height: 285px; width: 100%; max-width: 360px; justify-self: end; }
.expertise-portrait { position: relative; width: min(100%, 310px); }
.expertise-portrait > div { position: relative; width: 100%; aspect-ratio: 1115 / 1299; overflow: hidden; }
.expertise-portrait > div > img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.expertise-portrait nav { position: absolute; right: .75rem; bottom: 1rem; display: flex; align-items: flex-end; gap: .65rem; }
.expertise-portrait nav a { width: 28px; height: 28px; display: grid; place-items: end center; }
.expertise-portrait nav a:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.expertise-portrait nav img { width: 26px; height: 26px; display: block; object-fit: contain; transition: none; }
.expertise-portrait nav a:hover img,
.expertise-portrait nav a:focus-visible img { filter: brightness(0) saturate(100%) invert(69%) sepia(99%) saturate(2610%) hue-rotate(359deg) brightness(102%) contrast(103%); }
.expertise-portrait nav a:first-child img,
.expertise-portrait nav a:first-child:hover img,
.expertise-portrait nav a:first-child:focus-visible img { transform: none; }
.expertise-portrait nav a:last-child img { width: 23px; height: 23px; transform: translateY(1px); }
.expertise-portrait nav a:last-child:hover img,
.expertise-portrait nav a:last-child:focus-visible img { transform: translateY(1px); }
.expertise-profile-details { min-width: 0; margin-left: 5px; padding-top: .85rem; }
.expertise-qualifications { margin: 0; padding: 0; }
.expertise-qualifications p { margin: 0 0 1rem; display: grid; color: rgba(255,255,255,.88); font-size: .95rem; line-height: 1.35; }
.expertise-qualifications strong { color: var(--orange); font-weight: 750; white-space: nowrap; }
.expertise-qualifications dl { margin: 1.2rem 0 0; }
.expertise-qualifications dl div { display: flex; gap: .65rem; white-space: nowrap; }
.expertise-qualifications dt { width: 66px; flex: 0 0 66px; font-weight: 750; }
.expertise-qualifications dd { margin: 0; color: rgba(255,255,255,.88); }
.expertise-profile-logo { width: 100%; max-width: 265px; height: auto; margin: 2.7rem 0 0; }

.expertise-cta { position: relative; padding: 3.2rem 0; color: var(--white); background: linear-gradient(90deg, rgba(35,35,35,.58), rgba(35,35,35,.35)), url('/assets/site/storm-waves.webp') center 56% / cover no-repeat; }
.expertise-cta .expertise-shell { display: flex; align-items: flex-end; justify-content: center; gap: clamp(3rem, 8vw, 8rem); }
.expertise-cta h2 { margin: 0; font-family: "Open Sans", Arial, sans-serif; font-size: clamp(1.8rem, 3vw, 2.55rem); font-weight: 350; line-height: 1.28; letter-spacing: -.02em; }
.expertise-cta .button { flex: 0 0 auto; margin-bottom: .3rem; box-shadow: none; }

@media (max-width: 1100px) {
  .expertise-shell { width: min(calc(100% - 72px), 1230px); }
  .expertise-overview-layout { grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr); gap: 4rem; }
  .expertise-projects-shell { width: min(calc(100% - 72px), 1420px); }
  .expertise-project-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .expertise-project-card:nth-child(n+4) { display: none; }
  .expertise-about-layout { grid-template-columns: 1fr; gap: 4rem; }
  .expertise-profile { justify-self: start; }
}

@media (max-width: 820px) {
  .expertise-body .page-banner,
  .projects-page-body .page-banner,
  .contact-body .page-banner { height: 235px; }
  .expertise-overview { padding-top: 1.5rem; }
  .contact-body .booking-section { padding-top: clamp(4rem, 7vw, 6.5rem); }
  .expertise-overview-layout, .expertise-workpackages-layout, .expertise-about-layout { grid-template-columns: 1fr; }
  .expertise-overview-layout { gap: 3.5rem; }
  .expertise-fixed-price { max-width: 620px; justify-self: start; }
  .expertise-workpackages-layout { gap: 3rem; }
  .expertise-project-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expertise-project-card:nth-child(4) { display: block; }
  .expertise-profile { max-width: 310px; justify-self: start; }
  .expertise-cta .expertise-shell { align-items: flex-start; flex-direction: column; gap: 1.5rem; }
}

@media (max-width: 620px) {
  .expertise-shell, .expertise-projects-shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), 1230px); }
  .expertise-overview { padding-top: 1.25rem; }
  .expertise-step-grid { display: flex; flex-direction: column; }
  .expertise-step-column { display: contents; }
  .expertise-step-card { order: var(--expertise-step-order); }
  .expertise-fixed-price h2 { font-size: clamp(2.05rem, 10vw, 2.75rem); }
  .expertise-workpackages { padding-block: 3.25rem; }
  .expertise-workpackages-copy h2 { display: grid; gap: .15rem; }
  .expertise-workflow { padding: 1rem 1rem 2.25rem; }
  .expertise-projects header { align-items: flex-start; }
  .expertise-project-strip { margin-inline: 0; padding: 0 0 .5rem; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(230px, 78vw); overflow-x: auto; scroll-padding-inline: 0; scroll-snap-type: inline proximity; }
  .expertise-project-card, .expertise-project-card:nth-child(n) { display: block; scroll-snap-align: start; }
  .expertise-about-original { padding-block: 3.5rem; }
  .expertise-about-copy h2 { font-size: 2.8rem; }
  .expertise-profile { max-width: 310px; }
  .expertise-profile-logo { width: min(72vw, 265px); }
  .expertise-cta { padding-block: 3rem; }
  .expertise-cta h2 br { display: none; }
}

/* Kostenloser Datencheck */
.data-check-body main { background: var(--paper); }
.data-check-shell { width: min(calc(100% - 128px), 1420px); margin-inline: auto; }
.data-check-hero { padding: clamp(5.5rem, 8vw, 8rem) 0; background: var(--paper-deep); }
.data-check-hero-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .72fr); gap: clamp(4rem, 8vw, 9rem); align-items: center; }
.data-check-hero-layout > *, .data-check-choice-grid > * { min-width: 0; }
.data-check-hero h2 { max-width: 720px; margin-bottom: 1.1rem; font-size: clamp(3rem, 5.2vw, 5.2rem); }
.data-check-hero-lead { max-width: 720px; color: var(--ink); font-family: Montserrat, Arial, sans-serif; font-size: clamp(1.25rem, 2vw, 1.75rem); font-weight: 650; line-height: 1.35; }
.data-check-hero-layout > div > p:not(.eyebrow, .data-check-hero-lead, .data-check-assurance) { max-width: 720px; color: var(--muted); }
.data-check-hero .button { margin-top: .45rem; }
.data-check-assurance { margin: 1.25rem 0 .1rem; display: flex; flex-wrap: wrap; gap: .35rem .65rem; color: var(--ink); font-size: .9rem; font-weight: 700; }
.data-check-assurance span { color: var(--orange); }
.data-check-hero small { color: var(--muted); }
.data-check-steps { margin: 0; padding: 0; display: grid; gap: .8rem; list-style: none; }
.data-check-steps li { min-height: 112px; padding: 1.2rem 1.35rem; display: grid; grid-template-columns: 52px 1fr; gap: 1.1rem; align-items: start; color: var(--white); background: var(--ink-soft); border-left: 3px solid var(--orange); border-radius: var(--radius-lg); }
.data-check-steps li > span { width: 52px; height: 52px; display: grid; place-items: center; color: var(--ink); background: var(--orange); border-radius: 50%; font-family: Montserrat, Arial, sans-serif; font-size: .82rem; font-weight: 800; }
.data-check-steps strong { display: block; margin: .1rem 0 .3rem; font-family: Montserrat, Arial, sans-serif; font-size: 1rem; }
.data-check-steps p { margin: 0; color: rgba(255,255,255,.72); font-size: .9rem; line-height: 1.5; }

.data-check-flow { padding: clamp(5.5rem, 8vw, 8rem) 0; background: #f7f7f4; }
.data-check-section-heading { max-width: 850px; margin-bottom: 2.5rem; }
.data-check-section-heading h2 { margin-bottom: .75rem; }
.data-check-section-heading > p:last-child { color: var(--muted); font-size: 1.06rem; }
.data-check-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.data-check-choice { position: relative; min-height: 350px; padding: clamp(1.6rem, 3vw, 2.35rem); display: grid; grid-template-rows: auto 1fr auto auto; gap: 1.25rem; overflow: hidden; text-align: left; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); appearance: none; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s; }
.data-check-choice::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--orange); transform: scaleY(0); transform-origin: bottom; transition: transform .24s ease; }
.data-check-choice:hover, .data-check-choice[aria-pressed="true"] { border-color: rgba(255,170,0,.8); box-shadow: var(--shadow-soft); transform: translateY(-3px); }
.data-check-choice:hover::before, .data-check-choice[aria-pressed="true"]::before { transform: scaleY(1); }
.data-check-card-icon { width: 58px; height: 58px; padding: 12px; color: var(--ink); background: var(--paper-deep); border-radius: 50%; stroke-width: 1.65; }
.data-check-choice small { display: block; margin-bottom: .65rem; color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: .7rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.data-check-choice strong { max-width: 520px; display: block; font-family: Montserrat, Arial, sans-serif; font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.22; }
.data-check-choice p { max-width: 600px; margin: .85rem 0 0; color: var(--muted); line-height: 1.6; }
.data-check-choice-action { width: max-content; padding-bottom: .2rem; align-self: end; border-bottom: 2px solid var(--orange); font-weight: 750; }
.data-check-choice em { width: max-content; padding: .35rem .6rem; color: var(--muted); background: var(--paper); border-radius: 999px; font-size: .78rem; font-style: normal; }

.data-check-details, .data-check-delivery { margin-top: clamp(3rem, 6vw, 5rem); padding: clamp(1.5rem, 4vw, 3.4rem); background: var(--white); border-left: 4px solid var(--orange); box-shadow: var(--shadow-soft); }
.data-check-details > header, .data-check-delivery > header { max-width: 830px; margin-bottom: 2.2rem; }
.data-check-step-label { margin: 0 0 .5rem; color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.data-check-details h2, .data-check-delivery h2 { font-size: clamp(2rem, 3.5vw, 3rem); }
.data-check-details > header > p:last-child, .data-check-delivery > header > p:last-child { color: var(--muted); }
.data-check-description { display: grid; gap: .55rem; font-weight: 750; }
.data-check-description textarea, .data-check-delivery-panel input { width: 100%; padding: 1rem; color: var(--ink); background: #fbfbf9; border: 1px solid #c9c9c4; border-radius: var(--radius); }
.data-check-description textarea { min-height: 190px; resize: vertical; font-weight: 400; line-height: 1.6; }
.data-check-description textarea:focus, .data-check-delivery-panel input:focus { border-color: var(--orange); outline: 3px solid rgba(255,170,0,.2); }
.data-check-upload-section { margin-top: 2.4rem; }
.data-check-upload-section > div:first-child { display: flex; align-items: center; gap: .8rem; }
.data-check-upload-section h3 { margin: 0; font-size: 1.15rem; }
.data-check-upload-section > p { margin: .4rem 0 1.1rem; color: var(--muted); }
.data-check-optional { padding: .16rem .55rem; color: var(--muted); background: var(--paper-deep); border-radius: 999px; font-size: .72rem; font-weight: 700; }
.data-check-dropzone { min-height: 170px; padding: 1.5rem; display: grid; place-items: center; align-content: center; gap: .35rem; text-align: center; background: #fbfbf9; border: 2px dashed #bdbdb7; border-radius: var(--radius-lg); cursor: pointer; transition: background .2s, border-color .2s; }
.data-check-dropzone:hover, .data-check-dropzone.is-dragging { background: #fff8e8; border-color: var(--orange); }
.data-check-dropzone input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.data-check-upload-icon { width: 36px; height: 36px; margin-bottom: .25rem; color: var(--orange); stroke-width: 1.7; }
.data-check-dropzone span { color: var(--muted); font-size: .82rem; }
.data-check-file-list { margin: .85rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .55rem; list-style: none; }
.data-check-file-list li { padding: .35rem .65rem; color: #444; background: var(--paper-deep); border-radius: 999px; font-size: .8rem; }
.data-check-preview-note { font-size: .78rem; }
.data-check-inline-privacy { margin-top: 2rem; padding: 1.25rem 1.4rem; color: rgba(255,255,255,.82); background: var(--ink-soft); border-radius: var(--radius); }
.data-check-inline-privacy strong { color: var(--white); }
.data-check-inline-privacy p { margin: .35rem 0 .7rem; font-size: .88rem; }
.data-check-inline-privacy a { color: var(--white); }
.data-check-actions { margin-top: 2rem; display: flex; justify-content: flex-end; gap: .8rem; }
.data-check-delivery-grid .data-check-choice { min-height: 310px; }
.data-check-delivery-panel { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.data-check-summary { margin-bottom: 1.5rem; padding: 1.15rem 1.3rem; background: var(--paper); border-left: 3px solid var(--orange); }
.data-check-summary strong { display: block; margin-bottom: .25rem; }
.data-check-summary p { margin: 0; color: var(--muted); white-space: pre-line; }
.data-check-delivery-panel .field-row { margin-bottom: 1.2rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.data-check-delivery-panel label { display: grid; gap: .35rem; font-weight: 750; }
.data-check-delivery-panel > p { max-width: 780px; color: var(--muted); }
.data-check-delivery-panel .cal-embed-shell { margin-top: 1rem; }

.data-check-trust { padding: clamp(5.5rem, 8vw, 8rem) 0; color: var(--white); background: var(--ink); }
.data-check-trust header { max-width: 850px; margin-bottom: 2.5rem; }
.data-check-trust header > p:last-child { color: rgba(255,255,255,.68); }
.data-check-trust-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.data-check-trust-grid article { padding: 1.8rem 1.25rem; border-right: 1px solid rgba(255,255,255,.16); }
.data-check-trust-grid article:first-child { padding-left: 0; }
.data-check-trust-grid article:last-child { padding-right: 0; border-right: 0; }
.data-check-trust-icon { width: 32px; height: 32px; margin-bottom: 1rem; color: var(--orange); stroke-width: 1.65; }
.data-check-trust-grid h3 { font-size: 1rem; }
.data-check-trust-grid p { margin: 0; color: rgba(255,255,255,.66); font-size: .84rem; line-height: 1.55; }
.data-check-implementation-note { margin-top: 2rem; padding: 1.2rem 1.35rem; color: rgba(255,255,255,.72); background: rgba(255,255,255,.06); border-left: 3px solid var(--orange); }
.data-check-implementation-note strong { color: var(--white); }
.data-check-implementation-note p { margin: .35rem 0 0; }
.data-check-privacy-link { margin: 1.2rem 0 0; color: rgba(255,255,255,.7); }
.data-check-privacy-link a { color: var(--white); text-decoration-color: var(--orange); }
.data-check-contact { padding: 3rem 0; background: var(--paper-deep); }
.data-check-contact .data-check-shell { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.data-check-contact h2 { margin: 0; font-size: clamp(1.5rem, 2.8vw, 2.3rem); }
.data-check-contact .data-check-shell > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 1rem 1.5rem; }
.data-check-contact a { font-weight: 700; }

@media (max-width: 1100px) {
  .data-check-shell { width: min(calc(100% - 72px), 1420px); }
  .data-check-hero-layout { gap: 4rem; }
  .data-check-trust-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 0; }
  .data-check-trust-grid article { border-bottom: 1px solid rgba(255,255,255,.16); }
  .data-check-trust-grid article:nth-child(3) { border-right: 0; }
}

@media (max-width: 820px) {
  .data-check-hero-layout { grid-template-columns: 1fr; gap: 3rem; }
  .data-check-choice-grid { grid-template-columns: 1fr; }
  .data-check-choice { min-height: 0; }
  .data-check-delivery-panel .field-row { grid-template-columns: 1fr; }
  .data-check-contact .data-check-shell { align-items: flex-start; flex-direction: column; }
  .data-check-contact .data-check-shell > div { justify-content: flex-start; }
}

@media (max-width: 620px) {
  .data-check-shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), 1420px); }
  .data-check-hero, .data-check-flow, .data-check-trust { padding-block: 4rem; }
  .data-check-hero h2 { font-size: clamp(2.5rem, 13vw, 3.65rem); }
  .data-check-hero-lead, .data-check-hero-layout > div > p { max-width: 100%; overflow-wrap: anywhere; }
  .data-check-steps li { grid-template-columns: 44px 1fr; padding: 1rem; }
  .data-check-steps li > span { width: 44px; height: 44px; }
  .data-check-choice { padding: 1.35rem; }
  .data-check-details, .data-check-delivery { margin-inline: calc(-1 * var(--mobile-page-gutter)); padding: 1.5rem 1.15rem; }
  .data-check-actions { align-items: stretch; flex-direction: column-reverse; }
  .data-check-actions .button { width: 100%; }
  .data-check-trust-grid { grid-template-columns: 1fr; }
  .data-check-trust-grid article, .data-check-trust-grid article:first-child, .data-check-trust-grid article:last-child { padding: 1.4rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .data-check-contact .data-check-shell > div { align-items: flex-start; flex-direction: column; }
}

/* Geführter Datencheck */
.data-check-body { overflow-x: hidden; }
.data-check-body main { background: #f5f5f2; }
.data-check-intro { min-height: 660px; padding: 160px 0 80px; display: flex; align-items: center; color: var(--white); background: linear-gradient(90deg, rgba(20,20,20,.9) 0%, rgba(20,20,20,.78) 58%, rgba(20,20,20,.72) 100%), url('/assets/site/data-check-background.webp') center center / cover no-repeat; }
.data-check-intro-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .65fr); gap: clamp(4rem, 9vw, 9rem); align-items: center; }
.data-check-intro-layout > * { min-width: 0; }
.data-check-intro-copy { max-width: 760px; }
.data-check-intro h1 { max-width: 850px; margin-bottom: 1rem; font-size: clamp(3.2rem, 5.6vw, 5.25rem); line-height: .98; text-wrap: pretty; }
.data-check-intro-lead { max-width: 700px; color: var(--white); font-family: Montserrat, Arial, sans-serif; font-size: clamp(1.2rem, 1.7vw, 1.55rem); font-weight: 600; line-height: 1.4; }
.data-check-intro-copy > p:not(.eyebrow, .data-check-intro-lead, .data-check-assurance) { max-width: 680px; color: rgba(255,255,255,.74); }
.data-check-intro-copy .data-check-more-intro { margin: -.25rem 0 1rem; font-size: .85rem; }
.data-check-more-intro a,
.data-check-more-intro a:visited,
.data-check-more-intro a:hover,
.data-check-more-intro a:focus-visible { color: var(--orange); font-weight: 700; text-decoration: none; }
.data-check-intro .button { margin-top: 0; }
.data-check-intro .data-check-assurance { margin: 1.25rem 0 .75rem; color: var(--white); }
.data-check-intro-process { align-self: end; border-top: 1px solid rgba(255,255,255,.32); }
.data-check-intro-process > p { margin: 1rem 0 .5rem; color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.data-check-intro-process ol { margin: 0; padding: 0; list-style: none; }
.data-check-intro-process li { padding: 1rem 0; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 1rem; border-bottom: 1px solid rgba(255,255,255,.18); }
.data-check-intro-process li > span { color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: .82rem; font-weight: 750; }
.data-check-intro-process strong, .data-check-intro-process small { display: block; }
.data-check-intro-process strong { margin-bottom: .2rem; font-family: Montserrat, Arial, sans-serif; font-size: .98rem; }
.data-check-intro-process small { color: rgba(255,255,255,.62); }

.data-check-wizard-section { scroll-margin-top: 1rem; padding: clamp(4rem, 7vw, 7rem) 0; background: #f5f5f2; }
.data-check-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.data-check-progress { position: sticky; top: 32px; grid-column: 2; grid-row: 1; }
.data-check-progress > p { margin: 0 0 1rem; color: var(--muted); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.data-check-progress ol { position: relative; margin: 0; padding: 0; list-style: none; }
.data-check-progress ol::before { content: none; }
.data-check-progress li { position: relative; }
.data-check-progress button { width: 100%; padding: .8rem 0; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: .75rem; align-items: start; text-align: left; color: var(--muted); background: transparent; border: 0; border-bottom: 1px solid #d7d7d2; cursor: pointer; }
.data-check-progress button:disabled { cursor: default; }
.data-check-progress button > span { position: relative; z-index: 1; width: auto; height: auto; display: block; color: #878787; background: transparent; border: 0; border-radius: 0; font-family: Montserrat, Arial, sans-serif; font-size: .72rem; font-weight: 700; line-height: 1.45; }
.data-check-progress strong, .data-check-progress small { display: block; }
.data-check-progress strong { color: inherit; font-family: Montserrat, Arial, sans-serif; font-size: .88rem; }
.data-check-progress small { margin-top: .05rem; color: #858585; font-size: .76rem; }
.data-check-progress li.is-complete button, .data-check-progress li[aria-current="step"] button { color: var(--ink); }
.data-check-progress li.is-complete button > span { color: var(--ink); background: transparent; border: 0; }
.data-check-progress li[aria-current="step"] button > span { color: var(--orange); background: transparent; border: 0; }
.data-check-security-card { margin-top: 24px; padding: 16px; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: 7px; }
.data-check-security-heading { display: flex; gap: 8px; align-items: flex-start; }
.data-check-security-icon { width: 18px; height: 18px; margin-top: 1px; flex: 0 0 18px; color: var(--orange); stroke-width: 2; }
.data-check-security-card strong { display: block; font-family: Montserrat, Arial, sans-serif; font-size: .82rem; line-height: 1.4; }
.data-check-security-card p { margin: 12px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.6; }

.data-check-wizard { grid-column: 1; grid-row: 1; min-width: 0; overflow-anchor: none; background: transparent; border: 0; border-radius: 0; }
.data-check-step { min-height: 520px; padding: clamp(2rem, 4vw, 3.25rem) 0 0; }
.data-check-step[hidden] { display: none; }
@keyframes data-check-step-forward { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }
@keyframes data-check-step-backward { from { opacity: 0; transform: translateX(-12px); } to { opacity: 1; transform: translateX(0); } }
.data-check-wizard[data-step-direction="forward"] .data-check-step.is-active { animation: data-check-step-forward .18s ease-out both; }
.data-check-wizard[data-step-direction="backward"] .data-check-step.is-active { animation: data-check-step-backward .18s ease-out both; }
.data-check-step > h2 { max-width: 760px; margin-bottom: .6rem; font-size: clamp(2rem, 4vw, 3.4rem); }
.data-check-step > h2:focus { outline: none; }
.data-check-step > h2 + p { max-width: 720px; color: var(--muted); }
.data-check-step[data-check-step="1"] > h2,
.data-check-step[data-check-step="1"] > h2 + p { width: 100%; max-width: none; }
.data-check-step-count { margin: 0 0 1rem; color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: .72rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.data-check-options { max-width: 820px; margin-top: 2rem; border-top: 1px solid var(--line); }
.data-check-options label { position: relative; padding: 1.35rem .25rem; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 1rem; align-items: start; border-bottom: 1px solid var(--line); cursor: pointer; }
.data-check-options label:hover { background: rgba(255,170,0,.08); }
.data-check-options input { width: 18px; height: 18px; margin-top: .2rem; accent-color: var(--ink); }
.data-check-options strong, .data-check-options small { display: block; }
.data-check-options strong { font-family: Montserrat, Arial, sans-serif; font-size: 1.05rem; }
.data-check-options small { max-width: 660px; margin-top: .3rem; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.data-check-options label:has(input:checked) { background: rgba(255,170,0,.1); }
.data-check-options label:has(input:checked)::after { content: ''; position: absolute; inset: 0 0 0 auto; width: 3px; background: var(--orange); }
.data-check-entry-options { max-width: 880px; margin-top: 2rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; border: 0; }
.data-check-entry-options label { min-height: 250px; padding: 1.5rem; display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; background: var(--white); border: 2px solid #c9c9c4; border-radius: var(--radius); transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.data-check-entry-options label:hover { background: var(--white); border-color: var(--ink); box-shadow: inset 0 -4px 0 var(--orange); }
.data-check-entry-options input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.data-check-entry-icon { width: 44px; height: 44px; padding: 9px; color: var(--orange); background: rgba(255,170,0,.09); border: 1px solid rgba(255,170,0,.52); border-radius: 6px; stroke-width: 1.8; }
.data-check-entry-copy { width: 100%; }
.data-check-entry-options label:has(input:focus-visible) { outline: 3px solid var(--orange); outline-offset: 3px; }
.data-check-entry-options label:has(input:checked) { background: var(--white); border-color: var(--orange); box-shadow: inset 0 -4px 0 var(--orange); }
.data-check-entry-options label:has(input:checked)::after { inset: 0 auto 0 0; width: 4px; border-radius: 0; }
.data-check-entry-options strong { font-size: 1.18rem; }
.data-check-entry-options small { max-width: 34rem; margin-top: .55rem; }
.data-check-entry-action { min-height: 40px; margin-top: auto; padding: .65rem .9rem; display: inline-flex; align-items: center; gap: .65rem; color: var(--white); background: var(--orange); border-radius: 6px; font-family: Montserrat, Arial, sans-serif; font-size: .84rem; font-weight: 700; line-height: 1.2; transition: background-color .18s ease; }
.data-check-entry-action-icon { width: 17px; height: 17px; stroke-width: 2; }
.data-check-entry-options label:hover .data-check-entry-action,
.data-check-entry-options label:has(input:checked) .data-check-entry-action { background: var(--orange-hover); }
.data-check-field { margin-top: 1.75rem; display: grid; gap: .5rem; font-weight: 700; }
.data-check-field > span em { color: var(--muted); font-size: .78rem; font-style: normal; font-weight: 400; }
.data-check-field textarea, .data-check-field input { width: 100%; padding: .8rem .9rem; color: var(--ink); background: #fafafa; border: 1px solid #9a9a96; border-radius: var(--radius); }
.data-check-field textarea { min-height: 180px; resize: vertical; font-weight: 400; line-height: 1.6; }
.data-check-field textarea:focus, .data-check-field input:focus { border-color: var(--ink); outline: 3px solid rgba(255,170,0,.35); }
.data-check-file-field { width: 100%; max-width: none; margin-top: 2rem; }
.data-check-file-field > div:first-child { display: flex; align-items: center; gap: .75rem; }
.data-check-file-field > div:first-child > span { padding: .1rem .45rem; color: var(--muted); background: #efefeb; border-radius: 999px; font-size: .72rem; }
.data-check-file-field > p { margin: .35rem 0 .8rem; color: var(--muted); font-size: .9rem; }
.data-check-file-field > small { color: var(--muted); font-size: .76rem; }
.data-check-step.is-upload-first:not([hidden]) { display: flex; flex-direction: column; }
.data-check-step.is-upload-first > .data-check-step-count { order: 1; }
.data-check-step.is-upload-first > h2 { order: 2; }
.data-check-step.is-upload-first > h2 + p { order: 3; }
.data-check-step.is-upload-first > .data-check-file-field { order: 4; margin-top: 1.75rem; padding: 1.25rem; background: rgba(255,170,0,.055); border: 1px solid rgba(255,170,0,.38); border-radius: 7px; }
.data-check-step.is-upload-first > .data-check-field { order: 5; }
.data-check-step.is-upload-first > .data-check-privacy-note { order: 6; }
.data-check-step.is-upload-first > .data-check-controls { order: 7; }
.data-check-step.is-upload-first > .form-status { order: 8; }
.data-check-step.is-upload-first .data-check-dropzone { min-height: 132px; background: var(--white); border: 2px dashed var(--orange); }
.data-check-dropzone { min-height: 96px; padding: 1rem 1.2rem; display: flex; align-items: center; justify-content: flex-start; gap: 1rem; text-align: left; background: #fafafa; border: 1px dashed #aaa9a4; border-radius: var(--radius); cursor: pointer; }
.data-check-dropzone:hover, .data-check-dropzone.is-dragging { background: rgba(255,170,0,.08); border-color: var(--orange); }
.data-check-dropzone:has(input:focus-visible) { outline: 3px solid var(--orange); outline-offset: 4px; }
.data-check-dropzone > span { color: var(--ink); }
.data-check-dropzone strong, .data-check-dropzone small { display: block; }
.data-check-dropzone small { margin-top: .2rem; color: var(--muted); font-size: .76rem; }
.data-check-dropzone input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.data-check-upload-icon { flex: 0 0 auto; width: 30px; height: 30px; margin: 0; padding: 0; color: var(--orange); stroke-width: 1.8; }
.data-check-file-list { max-width: 820px; margin: 12px 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.data-check-file-list:empty { margin: 0; }
.data-check-file-list li { min-height: 48px; padding: 4px 4px 4px 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; color: #444; background: #efefeb; border: 1px solid var(--line); border-radius: 7px; font-size: .78rem; }
.data-check-file-details { min-width: 0; }
.data-check-file-name, .data-check-file-size { display: block; overflow-wrap: anywhere; }
.data-check-file-name { color: var(--ink); font-family: Montserrat, Arial, sans-serif; font-size: .82rem; line-height: 1.35; }
.data-check-file-size { margin-top: 4px; color: var(--muted); font-size: .72rem; line-height: 1.2; }
.data-check-file-remove { width: 40px; height: 40px; padding: 0; display: inline-grid; place-items: center; color: var(--muted); background: var(--white); border: 1px solid #c9c9c4; border-radius: 6px; cursor: pointer; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
.data-check-file-remove:hover { color: var(--danger); background: color-mix(in srgb, var(--danger), transparent 92%); border-color: var(--danger); }
.data-check-file-remove-icon { width: 16px; height: 16px; stroke-width: 2; }
.data-check-privacy-note { max-width: 820px; margin-top: 1.5rem; padding: 1rem 0; display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: .8rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.data-check-inline-icon { width: 22px; height: 22px; color: var(--orange); stroke-width: 1.8; }
.data-check-privacy-note p { margin: .2rem 0 0; color: var(--muted); font-size: .85rem; }
.data-check-contact-fields { max-width: 820px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.data-check-contact-fields .data-check-field-wide { grid-column: 1 / -1; }
.data-check-controls { min-height: 48px; margin-top: 2.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.data-check-step .form-status { margin: .5rem 0 0; }
.data-check-restart { padding: .5rem 0; color: var(--muted); background: transparent; border: 0; border-bottom: 1px solid var(--orange); font-weight: 700; cursor: pointer; }

.data-check-summary { margin: 2rem 0; padding: 0; background: transparent; border: 0; }
.data-check-summary[hidden] { display: none; }
.data-check-summary > div { padding: 1rem 0; display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 1.5rem; border-bottom: 1px solid var(--line); }
.data-check-summary > div:first-child { border-top: 1px solid var(--line); }
.data-check-summary dt { color: var(--muted); font-size: .8rem; font-weight: 700; text-transform: uppercase; }
.data-check-summary dd { margin: 0; color: var(--ink); white-space: pre-line; overflow-wrap: anywhere; }
.data-check-final { margin-top: 2rem; padding-top: 1.5rem; border-top: 3px solid var(--ink); }
.data-check-final[hidden] { display: none; }
.data-check-final-appointment { margin-top: 1.25rem; padding-top: 0; border-top: 0; }
.data-check-final h3 { font-size: 1.35rem; }
.data-check-final > p { max-width: 720px; color: var(--muted); }
.data-check-final .cal-embed-shell { margin-top: 1.25rem; }
.data-check-submit-panel { max-width: 820px; margin-top: 2rem; padding: 1.5rem; background: var(--white); border: 1px solid var(--line); border-top: 4px solid var(--orange); border-radius: var(--radius); }
.data-check-submit-panel[hidden] { display: none; }
.data-check-submit-panel .data-check-consent { margin: 0; display: grid; gap: .75rem; color: var(--muted); line-height: 1.5; }
.data-check-submit-panel .data-check-consent a { color: var(--ink); text-decoration-color: var(--orange); }
.data-check-submit-actions { margin-top: 1.25rem; display: grid; grid-template-columns: minmax(300px, 1fr) auto; gap: 1.5rem; align-items: center; }
.data-check-submit-panel #data-check-turnstile-widget { min-height: 70px; margin: 0; }
.data-check-submit-panel .form-status { margin: .75rem 0 0; }
.data-check-submit { min-width: min(100%, 340px); }
.data-check-submit-security { margin: .75rem 0 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }

.data-check-result { padding: clamp(4.5rem, 7vw, 6.5rem) 0; color: var(--ink); background: var(--white); }
.data-check-result-layout { display: grid; grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr); gap: clamp(3.5rem, 8vw, 8rem); align-items: start; }
.data-check-result header { max-width: 430px; }
.data-check-result header .eyebrow { margin-bottom: 1rem; }
.data-check-result header h2 { margin: 0 0 1.25rem; font-size: clamp(2.4rem, 4vw, 3.6rem); line-height: 1.08; }
.data-check-result header > p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.65; }
.data-check-result-content { min-width: 0; }
.data-check-result-list { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.data-check-result-list > li { padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.data-check-result-content h3 { margin: 0 0 .5rem; font-size: 1.15rem; }
.data-check-result-content p { max-width: 720px; margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.65; }
.data-check-result-content .data-check-result-note { margin-top: 1.5rem; padding-left: 1.25rem; color: #555; border-left: 4px solid var(--orange); }

.data-check-trust { padding: clamp(4.5rem, 7vw, 6.5rem) 0 2.25rem; color: var(--white); background: var(--ink); }
.data-check-trust .data-check-shell { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(270px, .55fr); grid-template-areas: "content header"; gap: 1rem clamp(3.5rem, 7vw, 7rem); align-items: start; }
.data-check-trust header { grid-area: header; max-width: 360px; }
.data-check-trust h2 { max-width: 11ch; margin: 0; font-size: clamp(2.25rem, 3.5vw, 3.35rem); line-height: 1.08; }
.data-check-trust h2::after { content: ''; width: 48px; height: 4px; margin-top: 1.35rem; display: block; background: var(--orange); }
.data-check-trust header p { margin: 1.25rem 0 0; color: rgba(255,255,255,.64); font-size: .9rem; line-height: 1.6; }
.data-check-trust-content { grid-area: content; min-width: 0; }
.data-check-trust ul { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; list-style: none; border-top: 1px solid rgba(255,255,255,.16); }
.data-check-trust li { min-height: 0; padding: 1.25rem 0; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 1rem; align-items: start; background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.16); border-radius: 0; }
.data-check-trust-icon { width: 26px; height: 26px; margin: 0; padding: 0; color: var(--orange); background: transparent; border: 0; border-radius: 0; stroke-width: 1.8; }
.data-check-trust li strong, .data-check-trust li span { display: block; }
.data-check-trust li strong { color: var(--white); font-family: Montserrat, Arial, sans-serif; font-size: .95rem; line-height: 1.35; }
.data-check-trust li span { margin-top: .45rem; color: rgba(255,255,255,.64); font-size: .84rem; line-height: 1.55; }
.data-check-trust .data-check-trust-note { margin: 1rem 0 0; padding-top: .85rem; color: rgba(255,255,255,.54); border-top: 1px solid rgba(255,255,255,.12); font-size: .78rem; }
.data-check-trust a { color: var(--white); text-decoration-color: var(--orange); }

.data-check-information { scroll-margin-top: 2rem; padding: clamp(5rem, 8vw, 7.5rem) 0; color: var(--ink); background: var(--paper); }
.data-check-information-layout { display: grid; grid-template-columns: minmax(260px, .62fr) minmax(0, 1.38fr); gap: clamp(3.5rem, 8vw, 8rem); align-items: start; }
.data-check-information header { position: sticky; top: 2rem; max-width: 390px; }
.data-check-information header .eyebrow { margin-bottom: 1rem; }
.data-check-information header h2 { margin-bottom: 1.25rem; font-size: clamp(2.4rem, 4vw, 3.6rem); }
.data-check-information header > p:not(.eyebrow) { color: var(--muted); line-height: 1.65; }
.data-check-information header .more-info-link { margin-top: .75rem; }
.data-check-information-list { border-top: 1px solid var(--line); }
.data-check-information-list article { padding: 1.75rem 0; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 1.25rem; border-bottom: 1px solid var(--line); }
.data-check-information-list article > span { color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: .8rem; font-weight: 750; letter-spacing: .08em; }
.data-check-information-list h3 { margin: 0 0 .55rem; font-size: 1.15rem; }
.data-check-information-list p { max-width: 680px; margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.65; }

@media (max-width: 1180px) {
  .data-check-submit-actions { grid-template-columns: 1fr; gap: .75rem; }
  .data-check-submit { width: 100%; }
}

@media (max-width: 900px) {
  .data-check-intro-layout { grid-template-columns: 1fr; gap: 3rem; }
  .data-check-intro-process { max-width: 680px; align-self: auto; }
  .data-check-workspace { grid-template-columns: 1fr; gap: 1rem; }
  .data-check-progress { position: static; grid-column: 1; grid-row: 1; padding: 0 0 1rem; overflow-x: auto; border: 0; }
  .data-check-progress > p, .data-check-security-card, .data-check-progress small { display: none; }
  .data-check-progress ol { min-width: 560px; display: grid; grid-template-columns: repeat(4, 1fr); }
  .data-check-progress ol::before { top: 18px; right: 12.5%; bottom: auto; left: 12.5%; width: auto; height: 1px; }
  .data-check-progress button { grid-template-columns: 36px minmax(0, 1fr); }
  .data-check-wizard { grid-column: 1; grid-row: 2; }
  .data-check-result-layout { grid-template-columns: 1fr; gap: 3rem; }
  .data-check-result header { max-width: 620px; }
  .data-check-trust .data-check-shell { grid-template-columns: 1fr; grid-template-areas: "header" "content"; }
  .data-check-trust header { max-width: 520px; }
  .data-check-information-layout { grid-template-columns: 1fr; gap: 3rem; }
  .data-check-information header { position: static; max-width: 620px; }
}

@media (max-width: 620px) {
  .data-check-intro { min-height: 0; padding: 150px 0 64px; }
  .data-check-intro h1 { font-size: clamp(2.75rem, 12.5vw, 3.2rem); }
  .data-check-intro-copy > p { max-width: 100%; overflow-wrap: anywhere; }
  .data-check-intro .data-check-assurance { gap: .25rem .4rem; font-size: .78rem; }
  .data-check-intro-process { margin-top: 1rem; }
  .data-check-progress ol { min-width: 500px; }
  .data-check-progress button { grid-template-columns: 36px minmax(0, 1fr); gap: .5rem; }
  .data-check-progress strong { font-size: .78rem; }
  .data-check-step { min-height: 0; padding: 1.5rem 1.15rem; }
  .data-check-options label { padding: 1.1rem .2rem; }
  .data-check-entry-options { grid-template-columns: 1fr; }
  .data-check-entry-options label { min-height: 150px; padding: 1.25rem; }
  .data-check-contact-fields { grid-template-columns: 1fr; gap: 0; }
  .data-check-contact-fields .data-check-field-wide { grid-column: auto; }
  .data-check-controls { align-items: stretch; flex-direction: column-reverse; }
  .data-check-controls .button { width: 100%; }
  .data-check-submit-panel { padding: 1.15rem; }
  .data-check-submit-actions { grid-template-columns: 1fr; gap: .75rem; }
  .data-check-submit { width: 100%; }
  .data-check-restart { align-self: center; }
  .data-check-summary > div { grid-template-columns: 1fr; gap: .25rem; }
  .data-check-trust ul { grid-template-columns: 1fr; }
  .data-check-trust ul { grid-template-columns: 1fr; }
  .data-check-trust li { min-height: 0; padding: 1.25rem; grid-template-columns: 38px minmax(0, 1fr); gap: .9rem; }
}

/* Konsolidierte Smartphone-Optimierung */
@media (max-width: 620px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  body { font-size: 16px; line-height: 1.6; }
  input, textarea, select { font-size: 16px; }
  .section { padding-block: 4rem; }
  .section-heading { margin-bottom: 2rem; }
  .section-heading > p:last-child { font-size: 1rem; }

  .site-header { height: 72px; }
  .site-header.is-scrolled { height: 64px; background: var(--header-scrolled-bg); box-shadow: 0 8px 20px rgba(0,0,0,.14); backdrop-filter: blur(10px); }
  .nav-wrap { height: 100%; }
  .nav-wrap { gap: .75rem; }
  .brand { min-width: 0; flex: 0 1 176px; }
  .brand img { width: min(176px, 100%); }
  .site-header.is-scrolled .brand { flex-basis: 156px; }
  .site-header.is-scrolled .brand img { width: min(156px, 100%); }
  .nav-toggle { position: relative; z-index: 2; width: 44px; height: 44px; flex-basis: 44px; padding: 0; pointer-events: auto; touch-action: manipulation; cursor: pointer; -webkit-tap-highlight-color: rgba(255,170,0,.18); }
  .site-nav { z-index: 1; inset: 72px 0 auto; height: calc(100vh - 72px); height: calc(100dvh - 72px); padding: 1.5rem 20px max(1.5rem, env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.08); }
  .site-header.is-scrolled .site-nav { inset: 64px 0 auto; height: calc(100vh - 64px); height: calc(100dvh - 64px); }
  .site-nav.is-open { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; row-gap: 16px; align-content: start; }
  .site-nav .nav-links { grid-column: 1 / -1; grid-row: 1; gap: 4px; }
  .site-nav .nav-links a { min-height: 48px; padding: .7rem .75rem; display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.84); background: transparent; border: 1px solid transparent; border-radius: 7px; font-size: 1rem; font-weight: 600; line-height: 1.2; }
  .site-nav .nav-links .nav-link-icon { width: 18px; height: 18px; flex: 0 0 18px; display: block; color: rgba(255,255,255,.38); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .site-nav .nav-links a:hover,
  .site-nav .nav-links a:focus-visible { color: var(--white); background: rgba(255,170,0,.13); border-color: rgba(255,170,0,.18); }
  .site-nav .nav-links a.is-active { color: var(--white); background: #262626; border-color: rgba(255,255,255,.16); }
  .site-nav .nav-links a:hover .nav-link-icon,
  .site-nav .nav-links a:focus-visible .nav-link-icon,
  .site-nav .nav-links a.is-active .nav-link-icon { color: var(--orange); }
  .site-nav .nav-consult { min-height: 48px; margin: 0; padding: .7rem .75rem; grid-column: 2; grid-row: 2; justify-content: center; border-bottom: 0; border-radius: 7px; font-size: .9rem; font-weight: 700; box-shadow: none; }
  .site-nav .language-switch { height: 48px; margin: 0; padding: 3px; grid-column: 1; grid-row: 2; align-self: stretch; box-shadow: none; }
  .site-nav .language-switch a { min-width: 32px; min-height: 40px; height: 40px; padding: 0 6px; border: 0; font-size: .7rem; }
  .nav-toggle:focus-visible { outline-color: #737373; outline-offset: 3px; }

  .hero, .hero-content { min-height: max(680px, 100svh); }
  .hero-content { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), 1760px); padding-top: 7rem; padding-bottom: 2rem; }
  .hero h1 { max-width: 100%; font-size: clamp(2.15rem, 9.4vw, 2.55rem); line-height: 1.02; }
  .hero-lead { margin-top: .75rem; font-size: 1rem; line-height: 1.45; }
  .hero-copy { font-size: .9rem; line-height: 1.55; }
  .hero-copy br { display: none; }
  .button-row { gap: .65rem; }
  .button-row .button { min-height: 48px; }

  .home #services .section-heading { padding: 1rem var(--mobile-page-gutter); align-items: flex-end; text-align: right; }
  .home #services .section-heading h2 { align-self: flex-end; }
  .home #services .services-heading-rule { align-self: flex-end; }
  .home #services .section-heading h2,
  .home .original-projects .project-side-heading h2 { font-size: clamp(2.15rem, 10vw, 2.8rem); }
  .home #services .service-card { padding: 1.5rem var(--mobile-page-gutter); }
  .home #services .service-card::before { left: var(--mobile-page-gutter); }
  .home #services .service-card img,
  .home #services .service-card .service-icon-svg { margin-bottom: .9rem; }
  .home #services .service-card h3 { min-height: 0; margin-bottom: .35rem; }
  .home #services .service-card > p { margin-bottom: .35rem; line-height: 1.5; }
  .home #services .service-card .text-link { margin-top: .5rem; align-self: flex-end; margin-left: auto; }
  .home .original-process { padding-block: 4rem; }
  .home .original-process .process-layout { gap: 2.75rem; }
  .home .original-process .process-header { margin-bottom: 0; }
  .home .original-process .process-list { min-height: 440px; }
  .home .original-process .process-benefits { display: grid; grid-template-columns: 1fr; gap: .65rem; }
  .home .original-process .process-metrics { width: 100%; margin-inline: auto; }
  .home .original-process .process-metrics dt,
  .home .original-process .process-metrics dd { text-align: left; }
  .home .original-process .process-action { width: 100%; align-items: stretch; }
  .home .original-process .process-cta { width: 100%; }
  .home .original-statement { padding-block: 3rem; }
  .home .original-statement .statement-grid { gap: 2rem; }
  .home .original-statement h2 { font-size: clamp(2.05rem, 9.7vw, 2.7rem); line-height: 1.25; }
  .home .original-statement h2 > span { display: block; }
  .home .original-statement .statement-copy { display: grid; grid-template-columns: minmax(0, 1fr); }
  .home .original-statement .statement-copy p:last-of-type { margin-bottom: 0; }
  .home .original-statement .statement-copy .text-link { margin: 1.5rem 0 0; justify-self: end; }
  .home .original-about .about-visual { min-height: 380px; }
  .home .original-about .about-copy { padding: 0 var(--mobile-page-gutter) 3rem; }
  .home .original-about .about-copy h2 { font-size: clamp(2.25rem, 10vw, 3rem); }
  .home .original-about .about-copy .text-link { margin-top: 1.5rem; margin-right: 0; margin-left: auto; }

  .home .original-projects .project-side-heading { min-height: 0; padding: 1rem var(--mobile-page-gutter); display: grid; grid-template-columns: 1fr; grid-template-rows: auto 5px; row-gap: .5rem; align-items: center; }
  .home .original-projects .project-side-heading h2 { width: auto; min-width: 0; margin: 0; grid-column: 1; grid-row: 1; justify-self: end; font-size: clamp(1.9rem, 9vw, 2.5rem); line-height: 1; text-align: right; }
  .home .original-projects .projects-heading-rule { position: static; grid-column: 1; grid-row: 2; align-self: center; justify-self: end; margin: 0; }
  .home .original-projects .projects-all-button-header { display: none; }
  .home .original-projects .project-static-area .projects-all-button-mobile { position: relative; width: fit-content; min-height: 40px; margin: 1.5rem 0 0; padding: .5rem 0 .65rem; display: inline-flex; align-items: center; color: var(--ink); white-space: nowrap; }
  .home .original-projects .projects-all-button::after { content: ''; position: absolute; right: auto; bottom: 2px; left: 0; width: 75%; height: 2px; background: var(--orange); transition: width .22s ease; }
  .home .original-projects .projects-all-button:hover::after,
  .home .original-projects .projects-all-button:focus-visible::after { width: 100%; }

  .page-banner,
  .expertise-body .page-banner,
  .projects-page-body .page-banner,
  .contact-body .page-banner { height: 220px; }
  .page-title-band { top: 120px; left: 0; min-height: 78px; padding: .35rem 18px .35rem 10px; border-left-width: 10px; }
  .page-title-band h1 { font-size: clamp(2.3rem, 11vw, 2.75rem); }

  .services-body { overflow-x: hidden; }
  .service-catalog { padding-top: 1rem; }
  .services-body .services-process-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .services-body .service-index-summary { padding: 1rem; grid-template-columns: 28px minmax(0, 1fr) 40px; gap: .75rem; }
  .services-body .service-index-identity { grid-template-columns: 44px minmax(0, 1fr); gap: .7rem; }
  .services-body .service-index-icon { transform: none; }
  .services-body .service-index-icon img,
  .services-body .service-index-icon .service-icon-svg { width: 44px; height: 44px; }
  .services-body .service-index-title { font-size: 1.02rem; overflow-wrap: anywhere; }
  .services-body .service-index-copy:not(.service-index-result),
  .services-body .service-index-result { grid-column: 2 / 4; }
  .services-body .service-index-panel { padding-inline: 1rem; }
  .services-body .service-index-more[open] .service-index-panel { padding-top: 1rem; padding-bottom: 1.1rem; }
  .services-body .service-index-outcome { padding-top: 1rem; }
  .services-body .services-security { padding-bottom: 2.5rem; }
  .services-body .services-security .services-section-grid { grid-template-areas: "security-copy"; gap: 0; }
  .services-body .services-security h2 { font-size: clamp(1.85rem, 7.8vw, 2.1rem); overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: wrap; }
  .services-body .services-security .security-visual-desktop { display: none; }
  .services-body .services-security .security-visual-mobile { min-height: 0; margin: 1.5rem 0; display: block; aspect-ratio: 3 / 2; }
  .services-body .services-security .privacy-badges { margin-top: 1.5rem; gap: 1.25rem; }
  .services-body .services-security .privacy-badge { width: min(154px, calc(50% - .625rem)); flex-basis: min(154px, calc(50% - .625rem)); }
  .services-body .services-faq-section { padding-block: 3rem 2.5rem; }
  .services-body .services-faq-layout { gap: 1.5rem; }
  .services-body .services-faq-section header .section-subheading { margin-bottom: 0; }
  .services-closing-projects { padding: 2.5rem var(--mobile-page-gutter); display: flex; flex-direction: column; }
  .services-closing-project-grid { order: 2; }
  .services-closing-projects-footer { order: 1; margin: 0 0 1.5rem; padding: 0; align-items: flex-end; flex-direction: row; justify-content: space-between; gap: 1rem; }
  .services-closing-projects-footer h2 { font-size: clamp(1.5rem, 7vw, 1.8rem); line-height: 1.1; }
  .services-closing-cta { padding: 3rem var(--mobile-page-gutter); border-top: 1px solid rgba(23,23,23,.12); }
  .services-closing-cta h2 { max-width: none; margin-bottom: 1.5rem; }
  .services-closing-cta .button { width: 100%; }

  .expertise-overview { padding: 2.5rem 0; }
  .expertise-overview-layout { gap: 2.5rem; }
  .expertise-fixed-price { max-width: none; order: -1; }
  .expertise-fixed-price h2 { margin-bottom: 1.5rem; }
  .expertise-step-card { padding: 1.35rem 3rem 1.3rem 1.25rem; }
  .expertise-step-card h2 { font-size: 1.35rem; }
  .expertise-workpackages { padding-block: 3rem; }
  .expertise-workpackages .expertise-shell,
  .expertise-about-original .expertise-shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), 1420px); }
  .expertise-workpackages-layout { gap: 2rem; }
  .expertise-projects { padding: 2.5rem 0; }
  .expertise-projects header { align-items: flex-end; flex-direction: row; justify-content: space-between; gap: 1rem; }
  .expertise-projects header > .more-info-link { margin-top: 0; }
  .expertise-project-strip { scrollbar-width: none; }
  .expertise-project-strip::-webkit-scrollbar { display: none; }
  .expertise-about-original { padding-block: 3rem; }
  .expertise-about-copy h2 { font-size: clamp(2.35rem, 11vw, 2.8rem); }
  .expertise-profile { width: min(100%, 330px); max-width: 330px; justify-self: center; }
  .expertise-portrait { width: 100%; }
  .expertise-qualifications dl div { white-space: normal; }
  .expertise-cta .button { width: 100%; }

  .projects-index { padding: 3rem 0 5rem; }
  .projects-browser { gap: 2rem; }
  .project-filter-panel { padding-block: 0; display: block; }
  .project-filter-kicker { display: none; }
  .project-filter-toggle { width: 100%; min-height: 48px; padding: .75rem 0; display: flex; align-items: center; justify-content: space-between; gap: .75rem; color: rgba(255,255,255,.78); background: transparent; border: 0; border-radius: 7px; font-family: Montserrat, Arial, sans-serif; font-size: .78rem; font-weight: 650; letter-spacing: .08em; line-height: 1; text-align: left; text-transform: uppercase; cursor: pointer; }
  .project-filter-toggle:hover { color: var(--white); background: rgba(255,170,0,.1); }
  .project-filter-toggle:focus-visible { outline: 3px solid rgba(255,255,255,.42); outline-offset: 3px; }
  .project-filter-toggle-icon { width: 18px; height: 18px; flex: 0 0 18px; color: var(--orange); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
  .project-filter-toggle[aria-expanded="true"] .project-filter-toggle-icon { transform: rotate(180deg); }
  .project-filter-content { padding: .25rem 0 1.25rem; display: grid; gap: 1rem; }
  .project-filter-content[hidden],
  .project-filter-toggle[aria-expanded="false"] + .project-filter-content { display: none; }
  .projects-page-body .project-filters { flex-wrap: wrap; }
  .projects-page-body .project-filters:not(.project-tag-filters) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem .9rem; }
  .projects-page-body .project-tag-filters { align-items: flex-start; flex-flow: row wrap; gap: .2rem .8rem; }
  .projects-page-body .project-filter { min-width: 0; min-height: 32px; white-space: normal; overflow-wrap: anywhere; }
  .project-filter-footer { margin-top: .5rem; }
  .projects-index .project-card-body { min-height: 0; padding: 1.35rem; }
  .projects-index .project-image { height: auto; aspect-ratio: 16 / 10; }

  .project-hero { padding: 7.5rem 0 2.5rem; }
  .project-hero h1 { font-size: clamp(2.2rem, 10.5vw, 3rem); }
  .project-subheadline { font-size: 1.2rem; }
  .project-facts { padding-left: .9rem; }
  .project-tags { flex-wrap: wrap; }
  .project-actions { width: 100%; align-items: stretch; flex-direction: column; flex-wrap: wrap; }
  .project-actions .project-action-button,
  .project-actions .project-action-link { width: 100%; justify-content: center; }
  .project-overview { margin-top: 2rem; }
  .project-overview > p, .project-overview > ul { font-size: 1rem; }
  .project-cover { margin-bottom: 2.5rem; }
  .project-content h2 { margin-top: 2.75rem; }
  .project-content h3, .project-content h4 { margin-top: 2.5rem; }
  .project-details { margin-top: 3rem; }
  .project-lightbox { width: calc(100vw - 16px); height: calc(100dvh - 16px); padding: 3.25rem .5rem .75rem; }
  .project-lightbox img { max-height: calc(100dvh - 7rem); }
  .project-lightbox-nav { width: 42px; height: 54px; }
  .project-lightbox-prev { left: .35rem; }
  .project-lightbox-next { right: .35rem; }
  .project-lightbox-meta { padding-inline: .35rem; font-size: .75rem; }

  .contact-body .booking-section { padding-top: 3.25rem; }
  .contact-booking .shell { width: min(calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)), var(--shell)); gap: 2rem; }
  .contact-booking .booking-heading h2 { font-size: clamp(2.15rem, 10vw, 2.8rem); }
  .contact-booking [data-cal-embed].is-loading { min-height: 520px; }
  .contact-booking [data-cal-embed].is-consent-blocked { min-height: 240px; }
  .cal-consent-placeholder { padding: 1.5rem 1rem; }
  .contact-body .contact-section { padding-block: 0; }
  .contact-details { min-height: 0; margin: 32px 0; padding: 3.5rem var(--mobile-page-gutter); order: 2; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; overflow: hidden; }
  .contact-details .contact-footer-detail .footer-icon,
  .contact-details .contact-footer-detail > img { transform: translateX(2px); }
  .contact-form-refined { padding: 2rem var(--mobile-page-gutter) 0; order: 1; }
  .contact-form-refined .field-row { gap: 0; }
  .contact-form-refined textarea { min-height: 120px; }
  .contact-form-refined .consent { grid-template-columns: 20px minmax(0, 1fr) !important; column-gap: .85rem; align-items: center; }
  .contact-form-refined .consent input { align-self: center; }
  .contact-form-refined .form-configuration { margin: .65rem 0 0; }
  .contact-form-refined .form-status:empty { min-height: 0; margin: 0; }
  .contact-form-footer { gap: .75rem; }
  .contact-body .site-footer { padding-top: 2.5rem; }

  .data-check-intro { padding: 7.5rem 0 3.5rem; }
  .data-check-intro-layout { gap: 2.5rem; }
  .data-check-intro h1 { font-size: clamp(2.65rem, 12vw, 3.15rem); }
  .data-check-intro-lead { font-size: 1.1rem; }
  .data-check-intro .button { width: 100%; }
  .data-check-intro-process { margin-top: .5rem; }
  .data-check-wizard-section { padding-block: 3.5rem; }
  .data-check-progress { padding-bottom: .75rem; overflow: visible; }
  .data-check-progress ol { min-width: 0; width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .data-check-progress button { min-height: 64px; padding: .45rem .15rem; display: flex; align-items: center; flex-direction: column; gap: .25rem; text-align: center; border-bottom: 2px solid #d7d7d2; }
  .data-check-progress li[aria-current="step"] button { border-bottom-color: var(--orange); }
  .data-check-progress button > span { font-size: .68rem; }
  .data-check-progress strong { font-size: .67rem; line-height: 1.25; overflow-wrap: anywhere; }
  .data-check-step { padding: 1.5rem 0 0; }
  .data-check-step > h2 { font-size: clamp(2rem, 9.5vw, 2.55rem); }
  .data-check-entry-options { margin-top: 1.5rem; }
  .data-check-entry-options label { min-height: 0; padding: 1.25rem; }
  .data-check-entry-action { width: 100%; justify-content: space-between; }
  .data-check-step.is-upload-first > .data-check-file-field { padding: 1rem; }
  .data-check-dropzone { min-height: 112px; padding: 1rem; align-items: flex-start; }
  .data-check-result,
  .data-check-trust,
  .data-check-information { padding-block: 4rem; }
  .data-check-result-layout,
  .data-check-information-layout { gap: 2.25rem; }
  .data-check-result header h2,
  .data-check-information header h2 { font-size: clamp(2.2rem, 10vw, 2.8rem); }
  .data-check-trust h2 { max-width: none; font-size: clamp(2.15rem, 10vw, 2.75rem); }
  .data-check-trust li { padding: 1.15rem 0; grid-template-columns: 30px minmax(0, 1fr); }
  .data-check-information-list article { padding: 1.4rem 0; grid-template-columns: 38px minmax(0, 1fr); gap: .75rem; }

  .media-table-wrap { max-width: 100%; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--orange) #202020; }
  .media-table-wrap::-webkit-scrollbar { height: 7px; }
  .media-table-wrap::-webkit-scrollbar-thumb { background: var(--orange); border-radius: 7px; }
  .media-table-wrap::-webkit-scrollbar-track { background: #202020; }
  .ci-hero { padding: 7.5rem 0 3.5rem; }
  .ci-hero h1 { font-size: clamp(2.85rem, 14vw, 4rem); }
  .ci-jump-links { padding-block: .6rem; gap: .1rem 1rem; }
  .ci-section { padding-block: 3rem; }

  .site-footer { padding-block: 3.5rem; }
  .footer-grid { gap: 2rem 1.25rem; padding-left: 0; }
  .footer-contact { order: 1; }
  .footer-menu { grid-column: 1; order: 2; }
  .footer-social { grid-column: 2; order: 3; }
  .footer-legal { grid-column: 1 / -1; order: 4; padding-left: 2px; }
  .footer-contact-list { width: 100%; padding-left: 0; }
  .site-footer .footer-detail { grid-template-columns: 32px minmax(0, 1fr); column-gap: 1rem; }
  .site-footer .footer-detail img, .site-footer .footer-icon { transform: translateX(9px); }
  .site-footer .footer-menu { padding-left: 2px; }
  .site-footer .footer-menu h2, .site-footer .footer-social h2 { margin-bottom: .8rem; }
  .site-footer .footer-menu > a, .site-footer .footer-social > a { min-height: 28px; padding-block: .1rem; }
  .site-footer .footer-social .footer-person { margin-top: 0; }
  .footer-legal { width: 100%; }
  .footer-legal .footer-legal-row { width: 100%; display: flex; align-items: center; gap: 1rem; }
  .footer-legal .footer-legal-row > a, .footer-legal .footer-cookie-settings { font-size: .95rem; white-space: nowrap; }
  .footer-trusted-domains { white-space: normal; }
}

@media (max-width: 420px) {
  .brand { flex-basis: 166px; }
  .brand img { width: 166px; }
  .cookie-banner { max-height: calc(100dvh - 28px); overflow-y: auto; }
  .services-body .service-index-summary { grid-template-columns: 24px minmax(0, 1fr) 38px; gap: .6rem; }
  .services-body .service-index-copy:not(.service-index-result),
  .services-body .service-index-result { grid-column: 1 / -1; }
  .projects-page-body .project-filters:not(.project-tag-filters) { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-contact, .footer-legal { grid-column: 1 / -1; }
  .footer-menu { grid-column: 1; }
  .footer-social { grid-column: 2; }
  .privacy-badges { gap: .6rem; }
  .privacy-badge { width: min(154px, calc(50% - .3rem)); flex-basis: min(154px, calc(50% - .3rem)); }
  .data-check-progress strong { font-size: .62rem; }
}

/* Kompakte Zielseiten für QR-Codes, Profile und direkte Links */
.utility-page-body { color: var(--white); background: #2c2c2c; }
.utility-page { min-height: 100svh; padding: 168px 24px 96px; color: var(--white); background: #2c2c2c; }
.utility-page-shell { width: min(100%, 1600px); margin-inline: auto; }
.utility-link-icon,
.utility-link-arrow { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.utility-link-arrow { width: 18px; height: 18px; flex-basis: 18px; color: var(--orange); }

.business-card-page { display: grid; align-items: center; background: #202020; }
.business-card-shell { max-width: 720px; }
.business-card-panel { background: #262626; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-lg); overflow: hidden; }
.business-card-portrait { width: 144px; aspect-ratio: 1; margin: 0 0 24px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.business-card-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 31%; }
.business-card-content { min-width: 0; padding: clamp(2.5rem, 6vw, 4.5rem); }
.business-card-brand { width: 210px; margin: 0 0 16px auto; display: block; }
.business-card-brand img { width: 100%; height: auto; }
.business-card-kicker { margin: 0 0 .6rem; color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.business-card-content h1 { margin: 0; font-size: clamp(2.8rem, 5vw, 4.6rem); line-height: 1; }
.business-card-intro { max-width: 520px; margin: 1rem 0 0; color: rgba(255,255,255,.68); font-size: 1rem; line-height: 1.6; }
.business-card-actions { margin-top: 2rem; display: grid; gap: 8px; }
.utility-link { min-width: 0; min-height: 68px; padding: 12px 16px; display: grid; grid-template-columns: 36px minmax(0, 1fr) 18px; gap: 12px; align-items: center; color: var(--white); background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.13); border-radius: 7px; text-decoration: none; transition: background-color .18s ease, border-color .18s ease; }
.utility-link:hover,
.utility-link:focus-visible { color: var(--white); background: rgba(255,170,0,.12); border-color: rgba(255,170,0,.4); }
.utility-link-featured { color: var(--ink); background: var(--orange); border-color: var(--orange); }
.utility-link-featured .utility-link-arrow { color: var(--ink); }
.utility-link-featured:hover,
.utility-link-featured:focus-visible { color: var(--ink); background: var(--orange); border-color: var(--orange); }
.utility-link-symbol { width: 36px; height: 36px; display: grid; place-items: center; }
.utility-link-copy { min-width: 0; display: grid; gap: 2px; }
.utility-link-copy strong { font-size: .94rem; line-height: 1.3; overflow-wrap: anywhere; }
.utility-link-copy small { color: rgba(255,255,255,.55); font-size: .76rem; line-height: 1.35; overflow-wrap: anywhere; }
.utility-link-featured .utility-link-copy small { color: rgba(23,23,23,.67); }
.business-card-details { margin: 2rem 0 0; padding: 1.5rem 0 0; display: grid; gap: 12px; border-top: 1px solid rgba(255,255,255,.13); list-style: none; }
.business-card-details li { min-width: 0; display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; align-items: start; color: rgba(255,255,255,.7); font-size: .9rem; line-height: 1.5; }
.business-card-details .utility-link-icon { width: 19px; height: 19px; margin-top: 2px; }
.business-card-details a { width: fit-content; max-width: 100%; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.business-card-details a:hover { color: var(--orange); }

.links-page { position: relative; isolation: isolate; overflow-x: clip; background: #2c2c2c; }
.links-page::before { content: ''; position: absolute; z-index: -1; inset: 0 0 auto; height: 168px; background: linear-gradient(180deg, rgba(16,16,16,.38), rgba(44,44,44,1)), url('/assets/site/storm-waves.webp') center 34% / cover no-repeat; }
.links-shell { display: grid; grid-template-columns: minmax(0, 1.24fr) minmax(420px, .96fr); column-gap: clamp(56px, 6vw, 104px); row-gap: 48px; align-items: start; }
.links-page-heading { position: relative; min-height: 103px; margin-bottom: 32px; padding: .3rem 2rem .3rem 1rem; display: flex; align-items: center; background: rgba(32,32,32,.92); border-left: 18px solid var(--orange); }
.links-page-heading::after { content: ''; position: absolute; inset: 0 auto 0 100%; width: 100vw; background: rgba(32,32,32,.92); pointer-events: none; }
.links-page-heading h1 { margin: 0; color: var(--white); font-size: 4.125rem; font-weight: 700; line-height: 1; letter-spacing: -.035em; }
.links-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.links-feature-card { min-width: 0; background: #262626; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; overflow: hidden; }
.links-feature-image { display: block; aspect-ratio: 16 / 9; background: #1f1f1f; overflow: hidden; }
.links-feature-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.links-feature-card:hover .links-feature-image img { transform: scale(1.015); }
.links-feature-content { min-height: 260px; padding: 20px 24px; display: flex; flex-direction: column; }
.links-feature-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; color: rgba(255,255,255,.48); font-size: .76rem; }
.links-feature-meta span { color: var(--orange); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.links-feature-meta time::before { content: '·'; margin-right: 6px; }
.links-feature-content h3 { margin: 16px 0 10px; font-size: 1.12rem; line-height: 1.25; letter-spacing: -.02em; }
.links-feature-content h3 a { color: var(--white); text-decoration: none; }
.links-feature-description { min-height: 4.65em; margin: 0 0 24px; display: -webkit-box; color: rgba(255,255,255,.58); font-size: .82rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.links-feature-footer { min-width: 0; margin-top: auto; display: flex; gap: 16px; align-items: end; justify-content: space-between; }
.links-feature-tags { min-width: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.links-feature-tags span { padding: 4px 7px; color: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.13); border-radius: 4px; font-size: .68rem; line-height: 1.2; }
.links-feature-footer > a,
.links-all-projects { display: inline-flex; gap: 8px; align-items: center; color: var(--white); font-size: .78rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.links-feature-footer > a { padding-bottom: 4px; border-bottom: 1px solid rgba(255,255,255,.18); }
.links-feature-footer > a:hover,
.links-all-projects:hover { color: var(--orange); }
.links-feature-footer .utility-link-arrow,
.links-all-projects .utility-link-arrow { width: 15px; height: 15px; flex-basis: 15px; }
.links-all-projects { width: fit-content; margin-top: 24px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.18); }
.links-directory { position: static; }
.links-directory nav { border-top: 1px solid rgba(255,255,255,.13); }
.links-directory-item { min-height: 94px; padding: 16px 8px 16px 0; display: grid; grid-template-columns: 36px minmax(0, 1fr) 20px; gap: 16px; align-items: center; color: var(--white); border-bottom: 1px solid rgba(255,255,255,.13); text-decoration: none; transition: background-color .18s ease, padding-left .18s ease; }
.links-directory-item:hover,
.links-directory-item:focus-visible { padding-left: 12px; color: var(--white); background: rgba(255,170,0,.08); }
.links-directory-number { color: var(--orange); font-family: Montserrat, Arial, sans-serif; font-size: .7rem; font-weight: 700; }
.links-directory-copy { min-width: 0; display: grid; gap: 2px; }
.links-directory-copy strong { font-family: Montserrat, Arial, sans-serif; font-size: 1.05rem; font-weight: 600; line-height: 1.3; }
.links-directory-copy small { color: rgba(255,255,255,.5); font-size: .78rem; line-height: 1.45; }
.links-direct-contact { grid-column: 1 / -1; margin-top: 8px; padding-top: 24px; display: flex; flex-wrap: wrap; gap: 8px 20px; border-top: 1px solid rgba(255,255,255,.13); font-size: .78rem; }
.links-direct-contact span { width: 100%; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .08em; }
.links-direct-contact a { color: rgba(255,255,255,.72); text-decoration-color: var(--orange); }
.links-direct-contact a:hover { color: var(--white); }

@media (max-width: 1100px) {
  .links-shell { grid-template-columns: 1fr; row-gap: 32px; }
  .links-directory { position: static; order: -1; }
}

@media (max-width: 760px) {
  .utility-page { padding: 120px var(--mobile-page-gutter) 64px; }
  .business-card-content { padding: 32px 24px; }
  .business-card-brand { width: 190px; margin-bottom: 12px; }
  .business-card-content h1 { font-size: clamp(2.25rem, 10vw, 3.2rem); overflow-wrap: anywhere; }
  .links-page::before { height: 120px; }
  .links-page-heading { min-height: 78px; margin-bottom: 24px; padding: .35rem 18px .35rem 10px; border-left-width: 10px; }
  .links-page-heading h1 { font-size: clamp(2.3rem, 11vw, 2.75rem); }
  .links-feature-grid { grid-template-columns: 1fr; }
  .links-feature-content { min-height: 230px; padding: 20px; }
  .links-feature-description { min-height: 0; }
  .links-directory-item { min-height: 88px; grid-template-columns: 30px minmax(0, 1fr) 18px; gap: 12px; }
}

@media (max-width: 420px) {
  .business-card-content { padding-inline: 20px; }
  .business-card-brand { width: 176px; }
  .utility-link { padding-inline: 12px; grid-template-columns: 32px minmax(0, 1fr) 18px; gap: 8px; }
  .links-feature-footer { align-items: flex-start; flex-direction: column; }
}
