/* Shared appearance: tokens, type, surfaces, states and motion. Layout: app/ui/layout.tailwind.css. */

:root {
  --page-intro-font-size-desktop: 20px;
  --bg: 10 13 18;
  --bg-elev: 13 17 23;
  --border: 255 255 255;
  --text: 241 243 247;
  --text-faint: 100 110 124;
  --c-it: 155 124 211;
  --c-design: 106 217 212;
  --c-3d: 251 113 133;
  --c-primary: 106 217 212;
  --accent: var(--c-primary);
  --fs-xs: 0.78rem;
  --fs-sm: 0.88rem;
  --fs-base: 1rem;
  --fs-md: 1.075rem;
  --fs-lg: 1.18rem;
  --fs-xl: 1.4rem;
  --r-sm: 0.5rem;
  --r: 0.875rem;
  --r-md: 1.1rem;
  --r-lg: 1.5rem;
  --r-xl: 2rem;
  --r-full: 999px;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --t-fast: 180ms;
  --t-mid: 320ms;
  --t-slow: 600ms;
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
  --shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 30px 80px -20px rgba(0, 0, 0, 0.6);
  --shadow-glow: 0 0 0 1px rgb(var(--accent) / 0.4), 0 20px 60px -20px rgb(var(--accent) / 0.25);
  --fs-2xl: clamp(1.45rem, 2.2vw, 1.8rem);
  --fs-3xl: clamp(1.75rem, 3.2vw, 2.4rem);
  --fs-4xl: clamp(2rem, 4.4vw, 3rem);
  --surface: 18 22 30;
  --fs-h4: clamp(1.05rem, 2.2vw, 1.2rem);
  --section-y-sm: clamp(2rem,3vw,3rem);
  --text-mute: 168 179 193;
  --fs-display: var(--fs-h1);
  --gutter: clamp(1.15rem,3.2vw,3rem);
  --section-y: clamp(2.5rem,4vw,4rem);
  --fs-h1: clamp(2.25rem,4.3vw,4rem);
  --fs-h2: clamp(1.85rem,3vw,2.7rem);
  --fs-h3: clamp(1.2rem,1.6vw,1.5rem);
  --floating-size: 56px;
  --floating-edge: 1rem;
}

/* Suppress the native touch highlight without changing focus or active styles. */
body:not(.cms-admin) {
  -webkit-tap-highlight-color: transparent;
}

.accent-it {
  --accent: var(--c-it);
}

.accent-design {
  --accent: var(--c-design);
}

.accent-3d {
  --accent: var(--c-3d);
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  color: rgb(var(--text));
  background: rgb(var(--bg));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

@supports ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))) {
main .card,
main .svc,
main .ref-card,
main .surface,
main .hero-frame,
main .metric,
main .team-card,
main .cta-panel,
main .toc,
main .leistung-card,
main .why-item,
main .glossar-band,
main .term-card,
main .faq,
main .about-stat,
main .about-point,
main .step,
main .price-card,
main .feature-card,
main .quote-card,
main .contact-card,
main .special-card,
main .regional-card,
.panel-card,
.m3-panel,
.m3-fab,
.nav-wrap.is-scrolled,
.footer {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.section,
.section-sm,
.section-hero,
.container,
.container-wide,
.container-narrow {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

}
button {
  background: none;
  border: 0;
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

input,
select,
textarea,
button {
  font: inherit;
  color: inherit;
}

:focus-visible {
  outline: 2px solid rgb(var(--accent));
  outline-offset: 3px;
  border-radius: 4px;
}

::selection {
  background: rgb(var(--c-design) / 0.3);
  color: white;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.08);
  border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255,255,255,0.16);
}

.canvas {
  isolation: isolate;
  --cursor-x: 50vw;
  --cursor-y: 50vh;
  pointer-events: none;
}

.canvas::before,
.canvas::after {
  content: '';
  opacity: 0;
  transition: opacity 260ms var(--ease-out);
  pointer-events: none;
}

.canvas::before {
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(106, 217, 212, 0.95) 0%, rgba(155, 124, 211, 0.95) 100%);
  filter: blur(90px);
}

.canvas::after {
  background: url("../src/blueprint pattern-v3.webp?v=202610010174") center/96px 96px repeat;
  mix-blend-mode: soft-light;
  mask-image: radial-gradient(circle 24rem at var(--cursor-x) var(--cursor-y), rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.86) 46%, rgba(0, 0, 0, 0) 76%);
  -webkit-mask-image: radial-gradient(circle 24rem at var(--cursor-x) var(--cursor-y), rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.86) 46%, rgba(0, 0, 0, 0) 76%);
}

@media (max-width: 899.98px), (hover: none), (pointer: coarse) {
.canvas::before,
.canvas::after {
  opacity: 0;
}

}
.stack-sm {
  --stack-gap: 0.5rem;
}

.stack-md {
  --stack-gap: 1.5rem;
}

.stack-lg {
  --stack-gap: 2.5rem;
}

.text-center {
  text-align: center;
}

.text-balance {
  text-wrap: balance;
}

.sr-only {
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 768px) {
.md\:text-left {
  text-align: left;
}

}
.display,
h1,
.h1,
h2,
.h2 {
  text-wrap: balance;
}

h4,
.h4 {
  line-height: 1.3;
}

.lead {
  color: rgb(var(--text) / 0.85);
  text-wrap: pretty;
}

.faint {
  color: rgb(var(--text-faint));
}

@supports not (background-clip: text) {
.gradient-text {
  color: rgb(var(--c-design));
}

}
.text-accent {
  color: rgb(var(--accent));
}

.nav-wrap {
  border-bottom: 1px solid transparent;
}

.nav-wrap.is-scrolled {
  background: rgba(10, 13, 18, 0.7);
  backdrop-filter: saturate(180%) blur(16px);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  border-bottom-color: rgba(255, 255, 255, 0.06);
}

.brand {
  font-weight: 700;
  letter-spacing: -0.015em;
  color: rgb(var(--text));
}

.brand-mark {
  border-radius: 0.5rem;
  color: rgb(var(--bg));
  font-weight: 800;
  font-size: 0.95rem;
  box-shadow: 0 4px 16px -4px rgb(var(--c-design) / 0.5);
}

.nav-links a {
  font-size: 0.92rem;
}

.nav-links a:hover {
  background: rgba(255,255,255,0.04);
}

.nav-links a.is-active {
  background: rgba(255,255,255,0.06);
}

.menu-toggle {
  border-radius: var(--r-sm);
  color: rgb(var(--text));
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}

.mobile-panel a {
  font-size: 1.5rem;
  font-weight: 600;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.mobile-panel a:last-child {
  border-bottom: 0;
}

.btn {
  letter-spacing: -0.005em;
}

.btn-link svg {
  transition: transform var(--t-fast);
}

.badge {
  background: rgb(var(--accent) / 0.1);
  color: rgb(var(--accent));
  border: 1px solid rgb(var(--accent) / 0.22);
  border-radius: var(--r-full);
  font-size: 0.78rem;
  font-weight: 500;
}

.badge-dot {
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 0 currentColor;
  animation: pulse 2s infinite;
}

@keyframes pulse {

  0% {
        box-shadow: 0 0 0 0 rgb(var(--accent) / 0.5);
  }

    70% {
        box-shadow: 0 0 0 8px rgb(var(--accent) / 0);
  }

    100% {
        box-shadow: 0 0 0 0 rgb(var(--accent) / 0);
  };

}

.breadcrumb {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.78rem;
  color: rgb(var(--text-mute));
}

.breadcrumb a {
  color: rgb(var(--text-mute));
  transition: color var(--t-fast);
}

.breadcrumb a:hover {
  color: rgb(var(--text));
}

.breadcrumb svg {
  opacity: 0.5;
}

.breadcrumb [aria-current] {
  color: rgb(var(--text));
}

.card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--r-md);
  transition: border-color var(--t-mid), background var(--t-mid), transform var(--t-mid);
}

.card:hover {
  border-color: rgb(var(--accent) / 0.3);
  background: rgba(255,255,255,0.04);
}

.surface {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--r-md);
}

.svc {
  background: rgba(255,255,255,0.025);
  border-radius: var(--r-lg);
  transition: transform var(--t-mid) var(--ease-out),
                border-color var(--t-mid),
                background var(--t-mid);
}

.svc::before {
  content: '';
  background: radial-gradient(circle at 50% 0%, rgb(var(--accent) / 0.12), transparent 60%);
  opacity: 0;
  transition: opacity var(--t-mid);
  pointer-events: none;
}

.svc:hover::before {
  opacity: 1;
}

.svc-num {
  font-size: 0.78rem;
  color: rgb(var(--accent) / 0.7);
  letter-spacing: 0.1em;
}

.svc-icon {
  border-radius: var(--r);
}

.svc-text {
  color: rgb(var(--text-mute));
  line-height: 1.65;
}

.svc-list li {
  font-size: 0.88rem;
  color: rgb(var(--text) / 0.85);
}

.svc-list svg {
  color: rgb(var(--accent));
}

.svc-cta {
  color: rgb(var(--accent));
  font-weight: 600;
  font-size: 0.92rem;
}

.svc-cta svg {
  transition: transform var(--t-fast);
}

.metric {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: var(--r);
  text-align: left;
  transition: border-color var(--t-mid);
}

.metric:hover {
  border-color: rgb(var(--accent) / 0.3);
}

.metric-num {
  line-height: 1;
}

.metric-label {
  line-height: 1.45;
}

.logos img,
.logos object {
  opacity: 0.55;
  filter: grayscale(1) brightness(1.2);
  transition: opacity var(--t-mid), filter var(--t-mid);
}

.logos a:hover img,
.logos a:hover object,
.logos > img:hover,
.logos > object:hover {
  opacity: 1;
  filter: grayscale(0) brightness(1);
}

.media {
  border-radius: var(--r-md);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}

.media img {
  transition: transform var(--t-slow) var(--ease-out);
}

.media:hover img {
  transform: scale(1.04);
}

.media-overlay {
  background: linear-gradient(180deg, transparent 40%, rgba(10,13,18,0.92) 100%);
  color: rgb(var(--text));
}

.media-tag {
  background: rgb(var(--accent) / 0.18);
  color: rgb(var(--accent));
  border: 1px solid rgb(var(--accent) / 0.3);
  border-radius: var(--r-full);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.media-title {
  font-weight: 700;
  letter-spacing: -0.015em;
}

.media-text {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.7);
}

.steps {
  counter-reset: stp;
}

.quote-card {
  background: rgba(255,255,255,0.025);
  border-radius: var(--r-md);
}

.quote-stars {
  color: rgb(var(--c-design));
}

.quote-text {
  color: rgb(var(--text) / 0.9);
  font-style: normal;
}

.quote-text::before {
  font-family: Georgia, serif;
  font-size: 2.5rem;
  line-height: 0.5;
  color: rgb(var(--accent) / 0.4);
}

.quote-avatar {
  border-radius: 50%;
  background: rgb(var(--accent) / 0.15);
  color: rgb(var(--accent));
  font-weight: 700;
  font-size: 0.85rem;
}

.quote-name {
  font-weight: 600;
  font-size: 0.92rem;
}

.quote-meta {
  font-size: 0.78rem;
  color: rgb(var(--text-mute));
}

.price-card {
  background: rgba(255,255,255,0.025);
  border-radius: var(--r-lg);
  transition: border-color var(--t-mid), background var(--t-mid), transform var(--t-mid);
}

.price-card.is-featured {
  background: linear-gradient(180deg, rgb(var(--accent) / 0.08), rgb(var(--accent) / 0.02));
  border-color: rgb(var(--accent) / 0.35);
  box-shadow: 0 30px 80px -30px rgb(var(--accent) / 0.3);
}

.price-tag {
  background: rgb(var(--accent) / 0.12);
  color: rgb(var(--accent));
  border: 1px solid rgb(var(--accent) / 0.25);
  border-radius: var(--r-full);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.price-name {
  font-size: 1.15rem;
  font-weight: 600;
  color: rgb(var(--text-mute));
}

.price-num {
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.035em;
}

.price-num small {
  font-size: 0.95rem;
  font-weight: 500;
  color: rgb(var(--text-mute));
  letter-spacing: 0;
}

.price-list li {
  font-size: 0.92rem;
  color: rgb(var(--text) / 0.85);
  line-height: 1.45;
}

.price-list .tick {
  color: rgb(var(--accent));
}

.price-list .x,
.price-list .x ~ * {
  color: rgb(var(--text-faint));
}

.faq {
  border-radius: var(--r);
  transition: border-color var(--t-mid), background var(--t-mid);
}

.faq[open] {
  border-color: rgb(var(--accent) / 0.3);
  background: rgb(var(--accent) / 0.03);
}

.faq summary {
  list-style: none;
  cursor: pointer;
  font-weight: 600;
}

.faq summary::after {
  content: '';
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%235eead4' stroke-width='2' viewBox='0 0 24 24'><path stroke-linecap='round' d='M6 9l6 6 6-6'/></svg>");
  background-size: contain;
}

.faq[open] summary::after {
  transform: rotate(180deg);
}

.faq-body {
  color: rgb(var(--text-mute));
}

.form-label {
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgb(var(--text) / 0.6);
}

.form-label .hint {
  color: rgb(var(--text-faint));
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0;
}

.field {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--r);
  color: rgb(var(--text));
  transition: border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);
}

.field::placeholder {
  color: rgb(var(--text) / 0.35);
}

.field:focus {
  border-color: rgb(var(--accent) / 0.6);
  background: rgba(255,255,255,0.06);
  box-shadow: 0 0 0 4px rgb(var(--accent) / 0.12);
  outline: none;
}

textarea.field {
  resize: vertical;
  line-height: 1.6;
}

select.field {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='white' stroke-width='2' viewBox='0 0 24 24'><path stroke-linecap='round' d='M6 9l6 6 6-6'/></svg>");
  background-repeat: no-repeat;
  background-position: right 1rem center;
}

.check-row {
  cursor: pointer;
}

.check-row input {
  opacity: 0;
  pointer-events: none;
}

.check-box {
  border-radius: 6px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.18);
  transition: background var(--t-fast), border-color var(--t-fast);
}

.check-box svg {
  opacity: 0;
  color: rgb(var(--bg));
  transition: opacity var(--t-fast);
}

.check-row input:checked + .check-box {
  background: rgb(var(--accent));
  border-color: rgb(var(--accent));
}

.check-row input:checked + .check-box svg {
  opacity: 1;
}

.check-row input:focus-visible + .check-box {
  box-shadow: 0 0 0 4px rgb(var(--accent) / 0.2);
}

.check-label {
  color: rgb(var(--text) / 0.75);
  line-height: 1.5;
}

.check-label a {
  color: rgb(var(--accent));
  text-decoration: underline;
  text-underline-offset: 3px;
}

.hp {
  opacity: 0;
  pointer-events: none;
}

.form-status {
  border-radius: var(--r);
  font-size: 0.9rem;
  border: 1px solid transparent;
}

.form-status.is-ok {
  background: rgba(94,234,212,0.1);
  color: rgb(94,234,212);
  border-color: rgba(94,234,212,0.3);
}

.form-status.is-err {
  background: rgba(251,113,133,0.1);
  border-color: rgba(251,113,133,0.3);
}

.cta-panel {
  background: radial-gradient(ellipse at 20% 0%, rgb(var(--accent) / 0.18), transparent 60%),
        radial-gradient(ellipse at 100% 100%, rgb(var(--c-it) / 0.12), transparent 60%),
        rgba(255,255,255,0.025);
  border-radius: var(--r-xl);
  text-align: center;
}

.anchor-nav {
  background: rgba(10, 13, 18, 0.75);
  backdrop-filter: blur(14px) saturate(180%);
  -webkit-backdrop-filter: blur(14px) saturate(180%);
  border-block: 1px solid rgba(255,255,255,0.06);
}

.anchor-inner {
  scrollbar-width: none;
}

.anchor-inner a {
  font-size: 0.86rem;
  font-weight: 500;
  color: rgb(var(--text-mute));
  border-radius: var(--r-full);
  transition: color var(--t-fast), background var(--t-fast);
  white-space: nowrap;
}

.anchor-inner a:hover {
  color: rgb(var(--text));
  background: rgba(255,255,255,0.04);
}

.anchor-inner a.is-active {
  color: rgb(var(--accent));
  background: rgb(var(--accent) / 0.1);
}

.divider {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
  border: 0;
}

.chip {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--r-full);
  font-weight: 500;
  color: rgb(var(--text) / 0.85);
  transition: border-color var(--t-fast), background var(--t-fast);
}

.chip:hover {
  border-color: rgb(var(--accent) / 0.4);
  background: rgb(var(--accent) / 0.06);
  color: rgb(var(--accent));
}

.region-pill {
  background: rgb(var(--accent) / 0.06);
  border: 1px solid rgb(var(--accent) / 0.18);
  color: rgb(var(--accent));
  border-radius: var(--r-full);
  font-size: 0.8rem;
  font-weight: 500;
}

.region-pill svg {
  opacity: 0.8;
}

.timeline {
  list-style: none;
}

.timeline::before {
  content: '';
  background: linear-gradient(to bottom, rgb(var(--c-it) / 0.4), rgb(var(--c-design) / 0.4), rgb(var(--c-3d) / 0.4));
  border-radius: 2px;
}

.timeline-item::before {
  content: '';
  border-radius: 50%;
  background: rgb(var(--text-faint));
  box-shadow: 0 0 0 4px rgb(var(--bg));
}

.timeline-item.is-current::before {
  background: rgb(var(--c-design));
  box-shadow: 0 0 0 4px rgb(var(--bg)), 0 0 0 8px rgba(94,234,212,0.22);
}

.timeline-year {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.78rem;
  font-weight: 500;
  color: rgb(var(--c-design));
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.timeline-title {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.015em;
}

.timeline-text {
  font-size: 0.92rem;
  color: rgb(var(--text-mute));
  line-height: 1.65;
}

.team-card {
  background: rgba(255,255,255,0.025);
  border-radius: var(--r-lg);
  transition: border-color var(--t-mid), transform var(--t-mid);
}

.team-photo {
  background: linear-gradient(135deg, rgb(var(--accent) / 0.25), rgb(var(--accent) / 0.06));
}

.team-photo img {
  transition: transform var(--t-slow) var(--ease-out);
}

.team-card:hover .team-photo img {
  transform: scale(1.05);
}

.team-photo-tag {
  background: rgba(10, 13, 18, 0.7);
  backdrop-filter: blur(8px);
  border: 1px solid rgb(var(--accent) / 0.3);
  border-radius: var(--r-full);
  color: rgb(var(--accent));
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.team-role {
  color: rgb(var(--accent));
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
}

.team-skills li {
  background: rgb(var(--accent) / 0.08);
  color: rgb(var(--accent));
  border: 1px solid rgb(var(--accent) / 0.18);
  border-radius: var(--r-full);
  font-size: 0.75rem;
  font-weight: 500;
}

.hero-frame {
  background: linear-gradient(135deg, rgb(var(--c-it) / 0.2), rgb(var(--c-design) / 0.15));
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: var(--shadow-lg);
}

.hero-frame-cap {
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--r);
  font-style: italic;
}

.footer {
  border-top: 1px solid rgba(255,255,255,0.06);
}

.footer-col h5 {
  font-size: var(--ui-h5);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgb(var(--text-mute));
}

.footer-col ul {
  list-style: none;
}

.footer-col ul li::marker {
  content: none;
}

.footer-col a {
  font-size: 0.92rem;
  color: rgb(var(--text) / 0.7);
  transition: color var(--t-fast);
}

.footer-col a:hover {
  color: rgb(var(--text));
}

.footer-brand-text {
  font-size: 0.9rem;
  color: rgb(var(--text-mute));
  line-height: 1.65;
}

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.06);
  color: rgb(var(--text-mute));
}

.socials a {
  border-radius: 50%;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgb(var(--text-mute));
  transition: color var(--t-fast), background var(--t-fast), border-color var(--t-fast);
}

.socials a:hover {
  color: rgb(var(--c-design));
  border-color: rgb(var(--c-design) / 0.4);
  background: rgb(var(--c-design) / 0.06);
}

.reveal {
  transition: opacity var(--t-slow) var(--ease-out),
                transform var(--t-slow) var(--ease-out);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

html[data-page="agb"] .reveal,
html[data-page="impressum"] .reveal,
html[data-page="datenschutz"] .reveal,
html[data-page="widerruf"] .reveal {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
.reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

* {
  animation-duration: 0.01ms !important;
  transition-duration: 0.01ms;
}

}
.kbd {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.78rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 4px;
}

.bg-grid {
  background-image: linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 60px 60px;
}

.prose {
  color: rgb(var(--text) / 0.85);
  font-size: var(--fs-md);
  line-height: 1.75;
}

.prose a {
  color: rgb(var(--c-design));
  text-decoration: underline;
  text-underline-offset: 3px;
}

.prose strong {
  color: rgb(var(--text));
  font-weight: 600;
}

.prose hr {
  border: 0;
  background: rgba(255,255,255,0.08);
}

.prose ul li {
  list-style: disc;
}

.skip-link {
  border-radius: 10px;
  border: 1px solid rgba(10, 13, 18, 0.14);
  font-weight: 700;
}

.legal-panel {
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 18px;
  background: rgba(10, 13, 18, 0.55);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(8px);
}

.legal-panel-head {
  border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}

.legal-panel-title {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #d7e2f0;
  text-transform: uppercase;
}

.legal-toc {
  list-style: none;
}

.legal-toc a {
  color: #d7e2f0;
  text-decoration: none;
  font-weight: 500;
  line-height: 1.35;
  border-radius: 8px;
}

.legal-toc a:hover,
.legal-toc a:focus-visible {
  color: #ffffff;
  background: rgba(148, 163, 184, 0.14);
  outline: none;
}

.legal-meta {
  color: #9fb3c8;
  font-size: 0.95rem;
}

.agb-raw-content {
  color: #e5edf7;
  font-size: clamp(0.98rem, 1.15vw, 1.03rem);
  line-height: 1.72;
  letter-spacing: 0.01em;
  word-break: break-word;
}

.agb-raw-content h2 {
  font-size: var(--ui-h2);
  line-height: 1.25;
  color: #f2f7ff;
}

.agb-raw-content h3 {
  font-size: var(--ui-h3);
  line-height: 1.3;
  color: #eff5ff;
}

.agb-raw-content strong {
  color: #f6fbff;
  font-weight: 700;
}

.media-title {
  font-size: 1rem;
}

.btn-primary {
  filter: saturate(1.05);
}

.btn-primary:hover {
  filter: brightness(1.08) saturate(1.1);
}

.btn-outline:hover {
  background-origin: border-box;
  background-clip: padding-box, border-box;
}

.brand-mark {
  background: linear-gradient(135deg, rgb(var(--c-it)) 0%, rgb(var(--c-design)) 100%);
}

.metric-num {
  background: linear-gradient(135deg, rgb(var(--c-it)) 0%, rgb(var(--c-design)) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.marquee:hover .marquee-track {
  animation-play-state: paused;
}

.marquee-item img,
.marquee-item object {
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
.marquee-track {
  animation: none;
}

}
.svc-image {
  background: rgba(255,255,255,0.04);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.svc-image img {
  transition: transform var(--t-slow) var(--ease-out);
}

.svc:hover .svc-image img {
  transform: scale(1.05);
}

.svc-image::after {
  content: '';
  background: linear-gradient(180deg, rgba(10,13,18,0) 30%, rgba(10,13,18,0.65));
  pointer-events: none;
}

.ref-thumb img.cover,
.ref-thumb > img:not(.logo) {
  transition: transform var(--t-slow) var(--ease-out);
}

.ref-card:hover .ref-thumb > img:not(.logo) {
  transform: scale(1.04);
}

.ref-thumb img.logo,
.ref-thumb object.logo {
  opacity: 0.95;
  filter: drop-shadow(0 6px 20px rgba(0,0,0,0.4));
}

.ref-thumb::after {
  content: '';
  background: linear-gradient(180deg, transparent 60%, rgba(10,13,18,0.6));
  pointer-events: none;
}

.ref-meta {
  text-transform: uppercase;
  color: rgb(var(--accent));
}

.ref-text {
  color: rgb(var(--text-mute));
  line-height: 1.6;
}

.menu-fab {
  transform: translateX(-50%);
  background: linear-gradient(135deg, rgb(var(--c-it)) 0%, rgb(var(--c-design)) 100%);
  color: rgb(var(--bg));
  border-radius: var(--r-full);
  font-weight: 600;
  font-size: 0.9rem;
  border: 0;
  box-shadow: 0 18px 40px -10px rgba(94,234,212,0.45),
        0 12px 32px -10px rgba(167,139,250,0.5),
        0 0 0 1px rgba(255,255,255,0.06);
  cursor: pointer;
  transition: transform var(--t-mid) var(--ease-out), box-shadow var(--t-mid), opacity var(--t-mid);
}

.menu-fab:active {
  transform: translateX(-50%) translateY(0);
}

.menu-fab.is-open {
  background: rgba(13,17,23,0.95);
  color: rgb(var(--text));
  border: 1px solid rgba(255,255,255,0.08);
}

.mobile-panel {
  background: rgba(10,13,18,0.55);
  backdrop-filter: blur(18px) saturate(180%);
  -webkit-backdrop-filter: blur(18px) saturate(180%);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--t-mid) var(--ease-out), visibility var(--t-mid);
}

.mobile-panel.is-open {
  opacity: 1;
  visibility: visible;
}

.panel-card {
  background: linear-gradient(180deg, rgba(20,24,32,0.96), rgba(13,17,23,0.96));
  border-radius: var(--r-xl);
  box-shadow: 0 40px 80px -20px rgba(0,0,0,0.7);
  transform: translateY(24px) scale(0.96);
  opacity: 0;
  transition: transform var(--t-mid) var(--ease-out), opacity var(--t-mid);
}

.mobile-panel.is-open .panel-card {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.panel-card nav a {
  font-size: 1rem;
  font-weight: 500;
  color: rgb(var(--text) / 0.85);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: color var(--t-fast), padding-left var(--t-fast);
}

.panel-card nav a:last-of-type {
  border-bottom: 0;
}

.panel-card nav a::after {
  content: '→';
  color: rgb(var(--c-design));
  opacity: 0.5;
  transition: transform var(--t-fast), opacity var(--t-fast);
}

.panel-card nav a:hover,
.panel-card nav a.is-active {
  color: rgb(var(--text));
}

.panel-card nav a:hover::after,
.panel-card nav a.is-active::after {
  opacity: 1;
}

.price-num {
  font-size: clamp(2rem, 4vw, 2.55rem);
}

h1.display {
  font-family: 'Space Grotesk', 'Outfit', 'Inter', sans-serif;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.section-hero .display {
  font-family: 'Space Grotesk', 'Outfit', 'Inter', sans-serif;
}

.brand {
  font-size: 0;
  line-height: 0;
}

.brand .brand-logo {
  transition: opacity var(--t-fast);
}

.brand:hover .brand-logo {
  opacity: 0.85;
}

.brand .sr-only {
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.tagline::before {
  content: "";
  background: linear-gradient(90deg, rgb(var(--c-design)), rgb(var(--c-it)));
  border-radius: 2px;
}

.tagline em {
  background: linear-gradient(90deg, rgb(var(--c-design)), rgb(var(--c-it)));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradient-text {
  background: linear-gradient(90deg, rgb(var(--c-design)) 0%, rgb(var(--c-it)) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.section-hero::before {
  content: "";
  background: radial-gradient(closest-side, rgb(var(--c-it) / 0.18), transparent 70%),
        radial-gradient(closest-side, rgb(var(--c-design) / 0.12), transparent 70%);
  filter: blur(20px);
  pointer-events: none;
}

.text-mono {
  font-family: 'Space Grotesk', 'JetBrains Mono', ui-monospace, monospace;
  letter-spacing: 0.04em;
}

.badge {
  letter-spacing: 0.04em;
}

.btn-outline-gradient::before {
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

@keyframes marqueeScroll {

  from {
        transform: translateX(0);
  }

    to {
        transform: translateX(-50%);
  };

}

.ref-card::after {
  content: '';
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'><path stroke-linecap='round' d='M5 12h14m-6-6l6 6-6 6'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
  opacity: 0;
  transform: translateY(4px);
  transition: all .3s var(--ease-out);
  pointer-events: none;
}

.ref-card:hover::after {
  opacity: 1;
  transform: translateY(0);
}

.lightbox {
  background: rgba(8, 8, 12, 0.85);
  backdrop-filter: blur(14px);
}

.lightbox-card {
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-lg);
}

.lightbox-media {
  background: linear-gradient(135deg, rgb(var(--c-design) / 0.15), rgb(var(--c-it) / 0.15));
}

.lightbox-close {
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: #fff;
  cursor: pointer;
  border: 0;
  transition: background .2s;
}

.lightbox-close:hover {
  background: rgba(255,255,255,0.18);
}

.step {
  border-radius: var(--r-md);
  transition: all var(--t-mid) var(--ease-out);
}

.step:hover {
  border-color: rgb(var(--accent) / 0.4);
  background: rgb(var(--accent) / 0.04);
}

.step-num {
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  color: rgb(var(--accent));
}

.step-text {
  color: rgb(var(--text-mute));
}

.special-card {
  border-radius: var(--r-lg);
  background: radial-gradient(circle at 100% 0%, rgb(var(--c-it) / 0.18), transparent 55%),
        radial-gradient(circle at 0% 100%, rgb(var(--c-design) / 0.14), transparent 55%),
        rgba(255,255,255,0.02);
}

.special-badge {
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 500;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgb(var(--text));
}

.footer .socials a {
  border-radius: 999px;
}

.footer .socials a:hover {
  background: rgba(255,255,255,0.04);
  border-color: rgb(var(--c-design));
}

.chip-option {
  border-radius: var(--r);
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgb(var(--text));
  font-weight: 500;
  cursor: pointer;
  transition: all .25s var(--ease-out);
}

.chip-option input {
  opacity: 0;
  pointer-events: none;
}

.chip-option svg {
  color: rgb(var(--text-mute));
  transition: color .25s;
}

.chip-option:hover {
  border-color: rgb(var(--accent) / 0.4);
  background: rgb(var(--accent) / 0.04);
}

.chip-option:has(input:checked) {
  border-color: rgb(var(--accent));
  background: rgb(var(--accent) / 0.08);
  color: #fff;
}

.chip-option:has(input:checked) svg {
  color: rgb(var(--accent));
}

:root,
html,
.btn,
.btn *,
.field,
select,
textarea,
input,
button,
label,
.svc-num,
.step-num,
.ref-meta,
.quote-meta,
.badge,
.tagline,
.metric-num,
.metric-label,
.footer,
.footer *,
.nav *,
.panel *,
.chip,
.chip-option,
.special-badge,
.price-title,
.panel-eyebrow {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
}

.display {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  letter-spacing: -0.022em;
}

h1,
h2,
h3 {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  font-weight: 600;
}

h4,
h5,
h6 {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.022em;
}

.h1,
.h2,
.h3 {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  font-weight: 600;
}

.h4 {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.022em;
}

.svc-title,
.ref-title {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  font-weight: 600;
}

.step-title {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  letter-spacing: -0.022em;
}

.quote-text {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.022em;
}

.display {
  font-weight: 700;
}

.eyebrow {
  font-family: 'Outfit', sans-serif;
}

.eyebrow::before {
  opacity: 0.9;
}

.svc-body .svc-icon {
  border-radius: var(--r-md);
  background: linear-gradient(135deg, rgb(var(--accent) / 0.18), rgb(var(--accent) / 0.06));
  color: rgb(var(--accent));
  box-shadow: inset 0 0 0 1px rgb(var(--accent) / 0.18);
}

.svc-body .svc-title {
  font-size: 1.25rem;
}

.svc-body .svc-text {
  font-size: 0.92rem;
}

.step::before {
  font-family: 'Outfit', sans-serif;
  -webkit-background-clip: text;
  line-height: 1;
}

.step-title {
  font-size: 1rem;
  font-weight: 600;
}

.step-text {
  font-size: 0.85rem;
  line-height: 1.5;
}

.metric-num {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.metric-label {
  font-size: 0.8rem;
  color: rgb(var(--text-mute));
}

.hero-frame {
  border-radius: var(--r-lg);
}

.hero-frame-cap {
  font-size: 0.82rem;
  color: rgb(var(--text-mute));
  background: rgba(255,255,255,0.02);
  border-top: 1px solid rgba(255,255,255,0.05);
}

.tagline {
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  color: rgb(var(--text-mute));
  text-transform: uppercase;
  font-weight: 500;
}

.tagline em {
  color: rgb(var(--accent));
  font-style: normal;
}

.special-illu img {
  filter: drop-shadow(0 12px 24px rgb(var(--c-it) / 0.25));
}

.quote-text {
  font-size: 0.95rem;
  line-height: 1.55;
}

.ref-text {
  font-size: 0.88rem;
}

.chip {
  font-size: 0.72rem;
}

.cta-panel h2 {
  font-size: var(--ui-h2);
}

*,
*::before,
*::after {
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
}

code,
pre,
kbd,
samp {
  font-family: 'Outfit', monospace;
  letter-spacing: 0;
}

.lightbox-card {
  background: rgb(13, 17, 23);
  color: rgb(241, 243, 247);
  border: 1px solid rgba(255,255,255,0.08);
}

.lightbox-body,
.lightbox-body * {
  color: rgb(241, 243, 247);
}

.lightbox-body .ref-meta {
  color: rgb(155, 124, 211);
}

.lightbox-body .ref-text,
.lightbox-body p {
  color: rgba(241,243,247,0.78);
}

.btn-primary::before {
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.btn-primary svg {
  transition: transform .3s ease;
}

.nav-links a {
  background: transparent;
  color: rgba(241, 243, 247, 0.78);
  border-radius: 0;
  font-weight: 500;
  transition: color .25s ease;
}

.nav-links a:hover {
  color: #fff;
}

.nav-links a::after {
  content: '';
  border-radius: 2px;
  background: linear-gradient(90deg, rgb(106,217,212) 0%, rgb(155,124,211) 100%);
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transition: clip-path .35s cubic-bezier(.22,1,.36,1), opacity .25s ease;
}

.nav-links a:hover::after {
  clip-path: inset(0);
  opacity: 0.6;
}

.nav-links a.is-active {
  color: #fff;
}

.nav-links a.is-active::after {
  clip-path: inset(0);
  opacity: 1;
}

.ref-slider:hover .ref-slider-track {
  animation-play-state: paused;
}

.steps::before {
  content: '';
  background: linear-gradient(90deg, rgb(106,217,212), rgb(155,124,211));
  opacity: 0.4;
  border-radius: 2px;
}

.step {
  background: rgba(13, 17, 23, 0.85);
  backdrop-filter: blur(6px);
  text-align: center;
}

.step::before {
  content: attr(data-num);
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgb(13, 17, 23);
  border: 2px solid transparent;
  background-image: linear-gradient(rgb(13,17,23), rgb(13,17,23)),
        linear-gradient(135deg, rgb(106,217,212), rgb(155,124,211));
  background-origin: border-box;
  background-clip: padding-box, border-box;
  color: rgb(241,243,247);
  font-size: 0.95rem;
  font-weight: 700;
}

.step-title,
.step-text {
  text-align: center;
}

@media (max-width: 1023.98px) {
.steps::before {
  background: linear-gradient(180deg, rgb(106,217,212), rgb(155,124,211));
}

}
.section-hero .display {
  line-height: 1.02;
  letter-spacing: -0.035em;
  font-weight: 700;
}

.section-hero .display .gradient-text {
  font-weight: 800;
  background: linear-gradient(135deg, rgb(106,217,212) 0%, rgb(155,124,211) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  background-size: 200% 200%;
  animation: heroShimmer 8s ease-in-out infinite;
}

@keyframes heroShimmer {

  0%, 100% {
        background-position: 0% 50%;
  }

    50% {
        background-position: 100% 50%;
  };

}

.section-hero .tagline::before {
  content: '';
  background: linear-gradient(90deg, rgb(106,217,212), transparent);
}

.m3-fab {
  transform: translateX(-50%);
  border-radius: 50%;
  transition: transform .3s cubic-bezier(.4,0,.2,1), background .3s, border-color .3s;
  cursor: pointer;
}

.m3-fab:active {
  transform: translateX(-50%) scale(0.92);
}

.m3-fab .ic {
  transition: opacity .25s, transform .3s;
}

.m3-fab .ic-close {
  opacity: 0;
  transform: rotate(-90deg);
}

.m3-fab.is-open .ic-menu {
  opacity: 0;
  transform: rotate(90deg);
}

.m3-fab.is-open .ic-close {
  opacity: 1;
  transform: rotate(0);
}

.m3-fab.is-open {
  border-color: transparent;
}

.m3-overlay {
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s, visibility .35s;
}

.m3-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.m3-panel {
  background: rgba(13, 17, 23, 0.92);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.5rem 1.5rem 0 0;
  box-shadow: 0 -12px 48px rgba(0, 0, 0, 0.6);
  transform: translateY(100%);
  transition: transform .4s cubic-bezier(.4,0,.2,1);
  color: rgb(241, 243, 247);
}

.m3-panel.is-open {
  transform: translateY(0);
}

.m3-panel::before {
  content: '';
  background: rgba(255,255,255,0.18);
  border-radius: 2px;
}

.m3-link {
  border-radius: 0.85rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: rgba(241, 243, 247, 0.78);
  text-decoration: none;
  transition: background .2s, color .2s;
}

.m3-link:hover {
  background: rgba(255,255,255,0.04);
  color: #fff;
}

.m3-link.is-active {
  background: rgba(255,255,255,0.06);
  color: #fff;
  font-weight: 600;
}

.m3-link.is-active svg {
  color: rgb(106, 217, 212);
}

.m3-link svg {
  color: rgba(255,255,255,0.5);
  transition: color .2s;
}

.m3-divider {
  background: rgba(255,255,255,0.08);
}

.m3-meta {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.45);
}

.m3-meta a {
  color: inherit;
  border-bottom: 1px dashed rgba(255,255,255,0.18);
}

.gradient-text {
  line-height: 1.15;
}

.display .gradient-text,
h1 .gradient-text,
h2 .gradient-text {
  line-height: 1.1;
}

h1.display {
  line-height: 1.04;
}

.lc-lg {
  stroke-width: 1.8;
}

.lc-xl {
  stroke-width: 1.6;
}

.svc-icon,
.feature-icon,
.card-icon {
  color: rgb(var(--accent, 106 217 212));
  background: transparent;
  border: 0;
  box-shadow: none;
}

.footer .brand {
  background: transparent;
  border: 0;
}

.footer .brand .brand-logo {
  filter: none;
  opacity: 1;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.footer .socials a {
  border: 0;
  background: transparent;
  color: rgb(var(--text-mute));
  transition: color .2s, transform .2s;
}

.footer .socials a:hover {
  color: rgb(var(--c-design));
}

.section-sub,
.section-eyebrow-text {
  font-size: 0.95rem;
  color: rgb(var(--text-mute));
}

@media (max-width: 640px) {
table {
  -webkit-overflow-scrolling: touch;
}

}
.card pre,
.card code {
  white-space: pre-wrap;
  word-break: break-word;
}

a[href^="mailto:"],
a[href^="tel:"] {
  word-break: break-word;
}

h1 {
  font-size: var(--ui-h1);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.h1 {
  font-size: var(--fs-h1);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

h2 {
  font-size: var(--ui-h2);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.h2 {
  font-size: var(--fs-h2);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

h3 {
  font-size: var(--ui-h3);
  line-height: 1.2;
  letter-spacing: -0.015em;
}

.h3,
.svc-title {
  font-size: var(--fs-h3);
  line-height: 1.2;
  letter-spacing: -0.015em;
}

.ref-title {
  font-size: var(--ui-h3);
  line-height: 1.2;
  letter-spacing: -0.015em;
}

.price-title {
  font-size: var(--fs-h3);
  line-height: 1.2;
  letter-spacing: -0.015em;
}

h4 {
  font-size: var(--ui-h4);
}

.h4 {
  font-size: var(--fs-h4);
}

.display,
.section-hero .display {
  font-size: var(--fs-display);
}

.eyebrow::before {
  background: rgba(241, 243, 247, 0.28);
  border-radius: 0;
  transform: translateY(-1px);
}

.btn {
  white-space: nowrap;
}

@media (max-width: 899.98px) {
.m3-panel {
  transform: translateY(100%);
}

.m3-panel.is-open {
  transform: translateY(0);
}

}
.m3-cta svg {
  color: #fff;
}

.marquee-track {
  animation-duration: 32s;
}

.marquee-item object {
  opacity: 0.6;
  filter: grayscale(100%);
  transition: opacity .3s, filter .3s;
}

.marquee-item:hover object {
  opacity: 1;
  filter: grayscale(0);
}

.btn-wa:hover {
  filter: brightness(1.05);
}

.btn-wa svg {
  color: #fff;
}

.btn-wa .lc {
  stroke: #fff;
}

.footer-col ul.contact-list li {
  font-size: 0.92rem;
}

.footer-col ul.contact-list li > .lc {
  color: rgb(var(--c-design));
}

.footer-col ul.contact-list a {
  color: rgb(var(--text));
}

.footer-col ul.contact-list a:hover {
  color: rgb(var(--c-design));
}

.special-card h3 {
  font-size: var(--ui-h3);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.ref-card {
  border-radius: var(--r-lg);
  background: rgba(255,255,255,0.025);
}

.ref-slider {
  cursor: grab;
}

.ref-slider.is-manual {
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.ref-slider.is-manual .ref-card {
  scroll-snap-align: start;
}

.ref-slider.is-dragging {
  cursor: grabbing;
}

.slider-btn {
  color: rgb(var(--text));
  cursor: pointer;
  transition: all .25s ease;
}

.slider-btn:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgb(var(--c-design));
  color: rgb(var(--c-design));
}

.svc-image-wrap {
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.02);
}

.svc-image-wrap img {
  transition: transform .6s var(--ease-out);
}

.svc-image-wrap:hover img {
  transform: scale(1.04);
}

.svc-image-wrap::after {
  content: '';
  background: linear-gradient(180deg, rgba(10,13,18,0) 50%, rgba(10,13,18,0.55));
  pointer-events: none;
}

.mini-cta {
  font-size: 0.88rem;
  font-weight: 600;
  color: rgb(var(--c-design));
  transition: gap .25s ease, color .25s ease;
}

.mini-cta:hover {
  color: rgb(var(--c-it));
}

.pkg-table {
  table-layout: fixed;
}

.pkg-table th:first-child,
.pkg-table td:first-child {
  text-align: left;
  font-size: 0.9rem;
}

.pkg-mark {
  border-radius: 50%;
}

.pkg-mark.yes {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
}

.pkg-mark.no {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
}

.pkg-mark svg {
  stroke-width: 2.5;
}

@media (max-width: 640px) {
.display {
  font-size: clamp(2.2rem, 11vw, 3rem);
}

h1 {
  font-size: var(--ui-h1);
}

.h1 {
  font-size: clamp(1.9rem, 8vw, 2.4rem);
}

h2 {
  font-size: var(--ui-h2);
}

.h2 {
  font-size: clamp(1.55rem, 6.2vw, 2rem);
}

h3 {
  font-size: var(--ui-h3);
}

.h3 {
  font-size: clamp(1.2rem, 4.8vw, 1.5rem);
}

.special-card h3 {
  font-size: var(--ui-h3);
}

}
.hero-centered .hero-stack {
  text-align: center;
}

.hero-centered .hero-title {
  letter-spacing: -0.035em;
}

@media (max-width: 640px) {
.hero-centered .hero-title {
  font-size: var(--ui-h1);
}

}
.nav-cta .nav-cta-btn {
  border-radius: var(--r-full);
}

.rating-stars {
  color: rgb(var(--c-design));
}

.rating-text {
  font-size: 0.92rem;
  color: rgb(var(--text-mute));
}

.rating-text strong {
  color: rgb(var(--text));
  font-weight: 700;
}

.quote-text::before {
  content: none;
}

.hero-disc {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--r-md);
  text-decoration: none;
  color: rgb(var(--text));
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}

.hero-disc:hover {
  background: rgba(255,255,255,0.05);
  border-color: currentColor;
}

.hero-disc.accent-it {
  color: rgb(var(--c-it));
}

.hero-disc.accent-design {
  color: rgb(var(--c-design));
}

.hero-disc.accent-3d {
  color: rgb(var(--c-3d));
}

.hero-disc-ic {
  border-radius: var(--r-md);
  background: rgba(255,255,255,0.04);
}

.hero-disc-text {
  line-height: 1.2;
  text-align: left;
}

.hero-disc-text strong {
  color: rgb(var(--text));
  font-weight: 700;
  font-size: 0.95rem;
}

.hero-disc-text small {
  color: rgb(var(--text-mute));
  font-size: 0.78rem;
}

.about-head {
  text-align: center;
}

.about-stat {
  text-align: center;
  background: rgba(255,255,255,0.025);
  border-radius: var(--r-lg);
  transition: transform .25s ease, border-color .25s ease;
}

.about-stat:hover {
  border-color: rgb(var(--c-it) / 0.4);
}

.about-stat-num {
  font-family: var(--font-display, inherit);
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, rgb(var(--c-it)), rgb(var(--c-design)) 50%, rgb(var(--c-3d)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -0.02em;
}

.about-stat-label {
  font-size: 0.85rem;
  color: rgb(var(--text-mute));
  line-height: 1.35;
}

.about-point {
  background: rgba(255,255,255,0.025);
  border-radius: var(--r-md);
}

.about-point-title {
  font-weight: 700;
  color: rgb(var(--text));
}

.ref-slider-track {
  animation: refSlide 48s linear infinite;
  will-change: transform;
}

.ref-slider-track:hover {
  animation-play-state: paused;
}

@keyframes refSlide {

  from {
        transform: translateX(0);
  }

    to {
        transform: translateX(-50%);
  };

}

.testimonials-head-center {
  text-align: center;
}

.rating-stars-lg {
  color: rgb(var(--c-design));
}

.rating-stars-lg svg {
  filter: drop-shadow(0 2px 8px rgb(var(--c-design) / 0.35));
}

.testimonials-head-center .rating-text {
  font-size: 1rem;
}

.regional-card {
  background: linear-gradient(135deg, rgb(var(--c-it) / 0.06), rgb(var(--c-design) / 0.04));
  border-radius: var(--r-lg);
}

.regional-mode {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--r-md);
}

.regional-mode-title {
  font-weight: 700;
  color: rgb(var(--text));
}

.regional-ring {
  border: 1.5px dashed rgb(var(--c-it) / 0.35);
  border-radius: 50%;
  animation: regionalPulse 6s ease-in-out infinite;
}

.regional-ring-2 {
  border-color: rgb(var(--c-design) / 0.25);
  animation-delay: 1.5s;
  animation-duration: 7s;
}

@keyframes regionalPulse {

  0%, 100% {
        transform: scale(1);
  opacity: 0.55;
  }

    50% {
        transform: scale(1.05);
  opacity: 0.9;
  };

}

.regional-map-pin {
  background: rgb(var(--bg));
  border: 1.5px solid rgb(var(--c-it));
  border-radius: var(--r-full);
  font-weight: 700;
  font-size: 0.92rem;
  color: rgb(var(--text));
  box-shadow: 0 6px 24px rgb(var(--c-it) / 0.25);
}

.regional-map-pin svg {
  color: rgb(var(--c-it));
}

.region-pill-remote {
  background: rgb(var(--c-design) / 0.1);
  border-color: rgb(var(--c-design) / 0.35);
  color: rgb(var(--c-design));
  font-weight: 600;
}

.hero-centered .hero-title {
  font-size: var(--ui-h1);
  line-height: 1.04;
}

.hero-centered .hero-stack .lead {
  font-size: clamp(1rem, 1.4vw, 1.12rem);
}

.marquee-item img {
  opacity: 0.78;
  filter: grayscale(0.15);
  transition: opacity .25s ease, filter .25s ease;
}

.marquee-item:hover img {
  opacity: 1;
  filter: grayscale(0);
}

.ref-slider::before,
.ref-slider::after {
  content: "";
  pointer-events: none;
}

.ref-slider::before {
  background: linear-gradient(to right, rgb(var(--bg)) 0%, rgb(var(--bg) / 0) 100%);
}

.ref-slider::after {
  background: linear-gradient(to left,  rgb(var(--bg)) 0%, rgb(var(--bg) / 0) 100%);
}

.eyebrow::before,
.section-eyebrow::before,
.svc-eyebrow::before {
  content: none;
}

.section-hero .display .gradient-text,
.display .gradient-text,
.display em,
h1 em,
h2 em,
h3 em,
.hero-title em,
.section-title em,
.gradient-text {
  font-style: normal;
}

.svc-image,
.svc .svc-image,
.svc-card .svc-image {
  mask-image: linear-gradient(to bottom, black, transparent);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
}

@supports ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))) {
.hero-disc {
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
}

.regional-mode,
.chip-option,
.timeline-item,
.price-tag,
.badge,
.leistung-card,
.term-card,
.stat-card,
.info-tile,
.glossar-band,
.toc,
.faq-item,
.step,
.feature-card {
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  backdrop-filter: blur(10px) saturate(140%);
  background-color: rgba(255,255,255,0.025);
}

.hero-disc {
  background-color: rgba(255,255,255,0.04);
}

}
.lc,
[data-lucide],
i[data-lucide],
svg.lucide {
  stroke: currentColor;
  fill: none;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hero-disc .lc,
.hero-disc [data-lucide] {
  stroke-width: 1.6;
}

section {
  scroll-margin-top: 6rem;
}

.hero-title,
.display {
  line-height: 1.05;
}

.svc,
.ref-card,
.quote-card,
.about-stat,
.about-point,
.regional-card,
.special-card,
.price-card,
.team-card,
.feature-card,
.leistung-card,
.term-card,
.step,
.panel-card,
.cta-panel,
.faq,
.toc,
.glossar-band {
  border: 1px solid rgba(255,255,255,0.08);
}

.svc:hover,
.quote-card:hover,
.about-point:hover,
.regional-card:hover,
.price-card:hover,
.team-card:hover,
.feature-card:hover,
.leistung-card:hover,
.term-card:hover {
  border-color: rgba(255,255,255,0.16);
}

.svc-tile {
  border: 1px solid rgba(255,255,255,0.08);
  isolation: isolate;
  transition: transform .35s ease, border-color .25s, box-shadow .35s;
  text-decoration: none;
  color: inherit;
  background: #0e1118;
}

.svc-tile:hover {
  border-color: rgb(var(--c-it) / 0.45);
  box-shadow: 0 30px 70px -30px rgb(var(--c-it) / 0.35);
}

.svc-tile-bg {
  background-size: cover;
  background-position: center;
  transition: transform .9s ease;
}

.svc-tile:hover .svc-tile-bg {
  transform: scale(1.045);
}

.svc-tile::before {
  content: "";
}

.svc-tile-title {
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: rgb(var(--text));
}

.svc-tile-sublist a .lc {
  opacity: 0.75;
  transition: transform .2s, opacity .2s;
}

.svc-tile-sublist a:hover .lc {
  opacity: 1;
}

.svc-quicknav a {
  border: 1px solid rgba(255,255,255,0.08);
  color: rgb(var(--text) / 0.85);
  transition: border-color .2s, background .2s, color .2s, transform .2s;
}

.svc-quicknav a.is-active {
  border-color: rgb(var(--c-it) / 0.5);
  background: rgb(var(--c-it) / 0.08);
  color: rgb(var(--text));
  transform: translateY(-2px);
}

.svc-quicknav-title {
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.15;
}

.toc-float {
  transform: translate(120%, -50%);
  background: rgba(10,13,18,0.78);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 20px 60px -20px rgba(0,0,0,0.5);
  opacity: 0;
  pointer-events: none;
}

.toc-float.is-visible {
  transform: translate(0, -50%);
  opacity: 1;
  pointer-events: auto;
}

.toc-float-list {
  list-style: none;
}

.toc-float a {
  border-radius: 999px;
  color: rgb(var(--text) / 0.7);
  text-decoration: none;
  transition: color .2s, background .2s;
  white-space: nowrap;
}

.toc-float a .toc-label {
  font-weight: 500;
  opacity: 0;
  transition: max-width .35s ease, opacity .25s ease, margin .25s;
}

.toc-float a:hover {
  color: rgb(var(--text));
  background: rgb(var(--c-it) / 0.18);
}

.toc-float a.is-active {
  background: rgb(var(--c-it) / 0.18);
}

.toc-float a.is-active {
  color: rgb(var(--c-it));
}

.toc-float-toggle {
  transform: translateY(-50%);
  border: 1px solid rgba(255,255,255,0.08);
  border-right: none;
  background: rgba(10,13,18,0.78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 12px 0 0 12px;
  color: rgb(var(--c-it));
  cursor: pointer;
}

.toc-float-toggle .lc {
  transition: transform .3s;
}

@media (max-width: 860px) {
.toc-float.is-visible:not(.is-open) {
  transform: translate(calc(100% - 0px), 0);
}

.toc-float.is-open .toc-float-toggle .lc {
  transform: rotate(180deg);
}

.toc-float .toc-label {
  opacity: 1;
}

}
.svc-section {
  scroll-margin-top: 5rem;
}

.svc-section-media {
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.08);
  background-color: #0e1118;
}

.svc-section-media::after {
  content: "";
  background: linear-gradient(180deg, transparent 50%, rgba(10,13,18,0.55) 100%),
                linear-gradient(120deg, rgb(var(--c-it) / 0.12), transparent 65%);
  pointer-events: none;
}

.svc-section-title {
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  letter-spacing: -0.015em;
}

.svc-section-lead {
  color: rgb(var(--text) / 0.85);
  line-height: 1.6;
}

.svc-point {
  text-align: center;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.07);
  transition: border-color .25s, background .25s, transform .25s;
}

.svc-point:hover {
  border-color: rgb(var(--c-it) / 0.4);
  background: rgb(var(--c-it) / 0.05);
}

.svc-point-title {
  font-weight: 600;
  color: rgb(var(--text));
}

.svc-point a.gloss,
.svc-section-lead a.gloss {
  text-decoration: underline;
  text-decoration-color: rgb(var(--c-it) / 0.5);
  text-underline-offset: 3px;
}

.svc-point a.gloss:hover,
.svc-section-lead a.gloss:hover {
  color: rgb(var(--c-it));
}

.svc-tile-sublist a {
  font-weight: 500;
  border: none;
  border-radius: 0;
  transition: color .2s, transform .2s;
}

.svc-tile-sublist a .svc-tile-arrow {
  opacity: 0.55;
  transition: transform .25s ease, opacity .25s;
}

.svc-tile-sublist a:hover {
  border-color: transparent;
}

.svc-tile-sublist a:hover .svc-tile-arrow {
  opacity: 1;
}

.svc-quicknav a {
  border-radius: 12px;
}

.svc-section + .svc-section {
  border-top: 1px solid rgba(255,255,255,0.05);
}

.svc-section {
  border-top: 0;
}

.svc-section-media img {
  transition: transform .8s ease;
}

.svc-section:hover .svc-section-media img {
  transform: scale(1.04);
}

@media (max-width: 540px) {
.svc-point-title {
  font-size: var(--ui-h3);
}

.svc-point-desc {
  font-size: 0.8rem;
}

}
.terms-grid .term-card,
section#begriffe .term-card {
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  transition: border-color .25s, background .25s, transform .25s;
  scroll-margin-top: 6rem;
}

.terms-grid .term-card:hover,
section#begriffe .term-card:hover {
  border-color: rgb(var(--c-it) / 0.4);
  background: rgb(var(--c-it) / 0.05);
}

.terms-grid .term-card h3,
section#begriffe .term-card h3 {
  font-family: 'Outfit', sans-serif;
  font-weight: 600;
  line-height: 1.2;
  color: rgb(var(--text));
}

.terms-grid .term-card p,
section#begriffe .term-card p {
  line-height: 1.55;
  color: rgb(var(--text) / 0.78);
}

.terms-grid .term-card .term-link,
section#begriffe .term-card .term-link {
  font-size: 0.82rem;
  font-weight: 500;
  color: rgb(var(--c-it));
  text-decoration: none;
  transition: gap .2s, color .2s;
}

.terms-grid .term-card .term-link:hover,
section#begriffe .term-card .term-link:hover {
  color: rgb(var(--text));
  text-decoration: underline;
  text-underline-offset: 3px;
}

.toc-float a .toc-label {
  font-size: 0.85rem;
}

a.gloss {
  color: rgb(var(--c-it));
  text-decoration: underline dotted;
  text-decoration-color: rgb(var(--c-it) / 0.55);
  text-underline-offset: 3px;
  transition: color .2s, text-decoration-color .2s;
}

a.gloss:hover {
  color: rgb(var(--text));
  text-decoration-style: solid;
  text-decoration-color: rgb(var(--c-it));
}

.svc-tile-sublist a::before {
  content: "›";
  color: rgb(var(--c-it));
  font-weight: 700;
  opacity: 0.7;
  transition: transform .2s, opacity .2s;
}

.svc-tile-sublist a:hover::before {
  opacity: 1;
}

.svc-quicknav-ico {
  border-radius: 11px;
}

.svc-quicknav a {
  backdrop-filter: blur(10px) saturate(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
  background: rgba(255,255,255,0.04);
}

.svc-point,
.terms-grid .term-card,
section#begriffe .term-card {
  background: rgba(255,255,255,0.035);
  backdrop-filter: blur(10px) saturate(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
}

.faq {
  backdrop-filter: blur(10px) saturate(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
  background: rgba(255,255,255,0.04);
}

@media (max-width: 860px) {
.toc-float.is-visible {
  transform: translate(100%, -50%);
  opacity: 1;
  pointer-events: none;
}

body > .toc-float-toggle.is-shown {
  opacity: 1;
  pointer-events: auto;
}

body > .toc-float-toggle .lc {
  transition: transform .3s ease;
}

body > .toc-float-toggle.is-open .lc {
  transform: rotate(180deg);
}

body > .toc-float-toggle.is-open {
  transform: translate(-240px, -50%);
}

}
.svc-tile::before {
  background: linear-gradient(180deg, rgba(10,13,18,0.05) 0%, rgba(10,13,18,0.50) 40%, rgba(10,13,18,0.94) 100%),
        linear-gradient(135deg, rgb(var(--c-it) / 0.18) 0%, transparent 55%);
}

.svc-tile-icon .lc {
  stroke-width: 2.2;
}

.svc-tile-sublist a {
  font-size: 0.77rem;
  color: rgb(var(--text) / 0.78);
  background: transparent;
  text-decoration: none;
  transform: none;
}

.svc-tile-sublist a:hover {
  color: rgb(var(--text) / 0.95);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgb(var(--c-it) / 0.6);
  background: transparent;
  transform: none;
}

.svc-tile-chevron .lc {
  stroke-width: 2.4;
}

.svc-section-icon {
  border-radius: 18px;
}

.svc-section-title {
  line-height: 1.1;
}

.svc-point-ico {
  border-radius: 10px;
}

.terms-grid .term-card h3,
section#begriffe .term-card h3 {
  font-size: var(--ui-h3);
}

.terms-grid .term-card p,
section#begriffe .term-card p {
  font-size: 0.8rem;
}

.svc-quicknav a:hover {
  text-underline-offset: 3px;
  text-decoration-color: rgb(var(--c-it) / 0.6);
}

.svc-quicknav a:focus-visible {
  color: rgb(var(--text) / 0.95);
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.14);
  text-underline-offset: 3px;
  text-decoration-color: rgb(var(--c-it) / 0.6);
}

.svc-quicknav-title {
  color: rgb(var(--text) / 0.92);
}

.svc-point a,
.term-card a,
.faq a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgb(var(--c-it) / 0.45);
  text-underline-offset: 3px;
}

.svc-point a:hover,
.term-card a:hover,
.faq a:hover {
  color: inherit;
  text-decoration-color: rgb(var(--c-it));
}

@media (max-width: 860px) {
.toc-float {
  transform: translate(100%, -50%);
  border-radius: 16px 0 0 16px;
}

.toc-float.is-visible.is-open {
  transform: translate(0, -50%);
  pointer-events: auto;
  box-shadow: -12px 22px 60px -20px rgba(0,0,0,0.65);
}

.toc-float.is-open a .toc-label,
.toc-float.is-visible.is-open a .toc-label {
  opacity: 1;
}

body > .toc-float-toggle {
  transform: translateY(-50%);
  background: rgba(10,13,18,0.85);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  border: 1px solid rgba(255,255,255,0.10);
  border-right: none;
  border-radius: 12px 0 0 12px;
  color: rgb(var(--c-it));
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease, transform .4s cubic-bezier(.5,0,.15,1);
}

}
.svc-tile {
  border-radius: 22px;
}

.svc-tile-body {
  text-align: left;
}

.svc-tile-icon {
  border-radius: 14px;
}

.svc-tile-title {
  font-size: clamp(1.25rem, 1.9vw, 1.6rem);
  line-height: 1.1;
}

.svc-tile-desc {
  font-size: 0.85rem;
  line-height: 1.4;
  color: rgb(var(--text) / 0.78);
}

.svc-tile-sublist {
  list-style: none;
}

.svc-tile-sublist li {
  font-size: 0.78rem;
  color: rgb(var(--text) / 0.72);
  line-height: 1.3;
}

.svc-tile-sublist li::before {
  content: "";
  border-radius: 50%;
  background: rgb(var(--c-it));
  opacity: 0.8;
}

.svc-tile-chevron {
  border-radius: 999px;
  background: rgb(var(--c-it) / 0.20);
  border: 1px solid rgb(var(--c-it) / 0.35);
  color: rgb(var(--c-it));
  transition: background .25s, color .25s, border-color .25s, transform .35s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.svc-tile:hover .svc-tile-chevron {
  background: rgb(var(--c-it));
  border-color: rgb(var(--c-it));
  color: #0A0D12;
}

.svc-point-title {
  font-size: var(--ui-h3);
  line-height: 1.2;
}

.svc-point-desc {
  font-size: 0.85rem;
  line-height: 1.45;
  color: rgb(var(--text) / 0.78);
}

.svc-quicknav a,
.svc-quicknav a:hover,
.svc-quicknav a:focus-visible {
  text-decoration: none;
}

.svc-quicknav a:hover {
  color: rgb(var(--text) / 0.95);
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.14);
}

.svc-point p a,
.term-card p a,
.faq p a,
.faq-q + .faq-a a,
section .prose a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgb(var(--c-it) / 0.55);
  text-underline-offset: 3px;
}

.svc-point p a:hover,
.term-card p a:hover,
.faq p a:hover,
section .prose a:hover {
  color: rgb(var(--c-it));
  text-decoration-color: rgb(var(--c-it));
}

.toc-float:hover .toc-label {
  opacity: 1;
}

.gradient-text-static,
.section-hero .display .gradient-text-static,
.section-start .display .gradient-text {
  background: linear-gradient(135deg, rgb(var(--c-it)) 0%, rgb(var(--c-design)) 100%);
  background-size: 100% 100%;
  animation: none;
  font-style: normal;
  font-weight: 800;
}

.start-head {
  text-align: center;
}

.start-lead {
  color: rgb(var(--text) / 0.82);
}

.svc.svc-compact .svc-text {
  color: rgb(var(--text-mute));
}

.svc.svc-compact .svc-list li .lc,
.svc.svc-compact .svc-list li svg {
  color: rgb(var(--accent));
}

@media (hover: hover) and (pointer: fine) and (min-width: 900px) {
.canvas::before {
  opacity: 0.13;
}

.canvas::after {
  opacity: 0.16;
}

}
@media (max-width: 899.98px) {
.m3-panel {
  background: rgba(10, 13, 18, 0.82);
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  border-top: 0;
  border-radius: 0;
  color: rgb(var(--text));
  font-family: 'Outfit', 'Inter', sans-serif;
}

.m3-header {
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.m3-view {
  -webkit-overflow-scrolling: touch;
  transform: translateX(100%);
  transition: transform 0.34s cubic-bezier(.4,0,.2,1);
  background: transparent;
}

.m3-view.is-root,
.m3-view.is-active {
  transform: translateX(0);
}

.m3-view.is-out-left {
  transform: translateX(-22%);
  opacity: 0.25;
}

.m3-link {
  border-radius: 14px;
  font-size: 1.02rem;
  font-weight: 500;
  color: rgb(var(--text) / 0.88);
}

.m3-link .lc,
.m3-link > svg {
  color: rgb(var(--text) / 0.55);
  transition: color .2s;
}

.m3-link:hover {
  background: rgba(255,255,255,0.05);
  color: #fff;
}

.m3-link:hover .lc {
  color: rgb(var(--c-design));
}

.m3-link.is-active {
  background: linear-gradient(135deg, rgb(var(--c-it) / 0.12), rgb(var(--c-design) / 0.12));
  color: #fff;
  font-weight: 600;
}

.m3-link.is-active .lc {
  color: rgb(var(--c-design));
}

.m3-link-trail {
  color: rgb(var(--text) / 0.45);
}

.m3-link[data-submenu]:hover .m3-link-trail {
  color: rgb(var(--c-design));
  transition: transform .2s, color .2s;
}

.m3-sub-title {
  font-family: 'Space Grotesk', 'Outfit', sans-serif;
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  background: linear-gradient(135deg, rgb(var(--c-it)), rgb(var(--c-design)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.m3-foot {
  border-top: 1px solid rgba(255,255,255,0.06);
  background: rgba(10, 13, 18, 0.6);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.m3-foot-contact .m3-link {
  font-size: 0.85rem;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
}

.m3-foot-contact .m3-link .lc {
  color: rgb(var(--c-design));
}

.m3-meta {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.42);
  text-align: center;
}

}
.gradient-text-static,
.section-hero .display .gradient-text-static,
.section-start .display .gradient-text {
  background-image: linear-gradient(135deg, rgb(var(--c-design)) 0%, rgb(var(--c-it)) 100%);
  background-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.start-claim {
  line-height: 0.80;
  letter-spacing: -0.048em;
}

.start-claim > span {
  -webkit-text-fill-color: transparent;
}

.svc.svc-compact .svc-image img {
  transition: transform 0.6s cubic-bezier(.4,0,.2,1);
}

.svc.svc-compact:hover .svc-image img {
  transform: scale(1.06);
}

.svc.svc-compact .svc-image::after {
  content: '';
  background: linear-gradient(180deg, transparent 30%, rgba(10,13,18,0.55) 100%);
  pointer-events: none;
}

.svc.svc-compact .svc-title {
  font-weight: 700;
}

.svc-row {
  background: linear-gradient(135deg, rgba(255,255,255,0.035), rgba(255,255,255,0.015));
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 22px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.4s cubic-bezier(.4,0,.2,1),
                border-color 0.3s,
                box-shadow 0.4s;
  isolation: isolate;
}

.svc-row::before {
  content: '';
  background: radial-gradient(ellipse 80% 100% at 0% 50%, rgb(var(--accent) / 0.10), transparent 55%);
  opacity: 0;
  transition: opacity 0.4s;
  pointer-events: none;
}

.svc-row:hover {
  border-color: rgb(var(--accent) / 0.45);
  box-shadow: 0 18px 50px -22px rgb(var(--accent) / 0.4);
}

.svc-row:hover::before {
  opacity: 1;
}

.svc-row-media img {
  transition: transform 0.7s cubic-bezier(.4,0,.2,1);
}

.svc-row-media::after {
  content: '';
  background: linear-gradient(90deg, transparent 0%, rgba(10,13,18,0.65) 78%, rgba(10,13,18,0.95) 100%),
        linear-gradient(180deg, rgba(10,13,18,0.10), rgba(10,13,18,0.45));
  pointer-events: none;
}

.svc-row-num {
  font-family: 'Space Grotesk', 'Outfit', sans-serif;
  font-size: 2.3rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  background: linear-gradient(135deg, rgb(var(--c-design)), rgb(var(--c-it)));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: 0.85;
}

.svc-row-title {
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.svc-row-desc {
  color: rgb(var(--text) / 0.78);
  line-height: 1.55;
}

.svc-row-arrow {
  color: rgb(var(--text) / 0.5);
  transition: color 0.3s, transform 0.4s;
}

.svc-row:hover .svc-row-arrow {
  color: rgb(var(--accent));
}

@media (max-width: 980px) {
.svc-row-num {
  font-size: 1.9rem;
}

.svc-row-title {
  font-size: var(--ui-h2);
}

}
@media (max-width: 640px) {
.svc-row-num {
  font-size: 1.6rem;
}

.svc-row-desc {
  font-size: 0.9rem;
}

.svc-row-tags li {
  font-size: 0.72rem;
}

}
.svc.svc-compact .svc-title {
  font-size: 1.5rem;
  line-height: 1.5;
}

.svc.svc-compact .svc-text {
  font-size: 0.88rem;
  line-height: 1.45;
}

.svc.svc-compact .svc-list li {
  font-size: 0.83rem;
  line-height: 1.35;
}

.svc.svc-compact .svc-cta {
  font-size: 0.88rem;
}

.svc-row-icon {
  border-radius: 16px;
}

.svc-row-title {
  font-size: var(--ui-h2);
}

@media (max-width: 768px) {
.svc-row-icon {
  border-radius: 14px;
}

.svc-row-title {
  font-size: var(--ui-h2);
}

}
.svc-row:hover .svc-row-media img,
.svc-row:focus-visible .svc-row-media img {
  transform: scale(1.03);
}

.svc-row-tags {
  list-style: none;
}

.svc-row-tags li {
  font-size: 0.78rem;
  font-weight: 500;
  color: rgb(var(--text));
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 999px;
  text-decoration: none;
  line-height: 1;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

article.svc-row {
  cursor: default;
}

article.svc-row .svc-row-media-link {
  text-decoration: none;
  color: inherit;
}

article.svc-row .svc-row-title-link,
article.svc-row .svc-row-cta {
  text-decoration: none;
}

article.svc-row .svc-row-title-link:hover,
article.svc-row .svc-row-title-link:focus-visible {
  color: rgb(var(--text));
}

article.svc-row:hover {
  transform: none;
}

article.svc-row:hover .svc-row-media img {
  transform: scale(1.02);
}

.btn-outline:hover,
.btn-outline:focus-visible {
  background-image: none;
}

article.svc-row .svc-row-media-link {
  border-radius: 18px 0 0 18px;
}

article.svc-row .svc-row-cta {
  color: rgb(var(--text) / 0.5);
  transition: color 0.3s, transform 0.4s;
}

article.svc-row .svc-row-cta:hover,
article.svc-row .svc-row-cta:focus-visible {
  color: rgb(var(--accent));
}

@media (max-width: 760px) {
article.svc-row .svc-row-media-link {
  border-radius: 18px 18px 0 0;
}

}
.about-point-ic,
.regional-mode-ic,
.svc-section-icon,
.svc-quicknav-ico,
.why-item .why-ico,
.svc.svc-compact .svc-icon,
.svc-row-icon,
.svc-tile-icon,
.svc-point-ico,
.start-grid .svc-icon,
.about-stat .about-stat-num + svg {
  background: transparent;
  background-image: none;
  border: 0;
  box-shadow: none;
}

.about-point-ic,
.regional-mode-ic,
.svc-section-icon,
.svc-quicknav-ico,
.why-item .why-ico,
.svc.svc-compact .svc-icon,
.svc-row-icon,
.svc-tile-icon,
.svc-point-ico {
  color: rgb(var(--accent, 155 124 211));
}

.accent-it .svc-section-icon,
.accent-it .svc-row-icon,
.accent-it .svc-quicknav-ico {
  color: rgb(var(--c-it));
}

.accent-design .svc-section-icon,
.accent-design .svc-row-icon,
.accent-design .svc-quicknav-ico {
  color: rgb(var(--c-design));
}

.accent-3d .svc-section-icon,
.accent-3d .svc-row-icon,
.accent-3d .svc-quicknav-ico {
  color: rgb(var(--c-3d));
}

.svc-section-icon .lc,
.svc-row-icon .lc {
  stroke-width: 1.9;
}

.svc.svc-compact .svc-icon {
  border-radius: 0;
}

.svc.svc-compact .svc-icon svg,
.svc.svc-compact .svc-icon .lc {
  stroke-width: 1.9;
}

.svc.svc-compact .svc-list {
  list-style: none;
}

.svc-pill {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1;
  color: rgb(var(--text));
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 999px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s, border-color .2s, color .2s, transform .2s;
}

.svc-pill:hover,
.svc-pill:focus-visible {
  background: rgb(var(--accent) / 0.14);
  border-color: rgb(var(--accent) / 0.45);
  color: rgb(var(--text));
}

.svc-pill .svc-pill-arrow {
  color: rgb(var(--accent));
  opacity: 1;
  transition: transform .2s, opacity .2s;
}

.svc-pill:hover .svc-pill-arrow {
  opacity: 1;
}

.about-hero-claim {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(1.6rem, 2.6vw, 2.1rem);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.about-hero-claim .gradient-text {
  background-image: linear-gradient(135deg, rgb(var(--c-it)), rgb(var(--c-design)));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.about-hero-image {
  border-radius: 24px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
}

.special-card h3.special-title,
.special-card .special-title {
  font-weight: 800;
}

article.svc-row,
a.svc-row {
  background: rgba(255,255,255,0.04);
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
}

.svc-row-overlay {
  border-radius: inherit;
  text-decoration: none;
}

.svc-row-overlay:focus-visible {
  outline: 2px solid rgb(var(--accent, 155 124 211));
  outline-offset: 3px;
}

article.svc-row .svc-row-title-link {
  pointer-events: none;
}

article.svc-row .svc-row-title-link {
  color: inherit;
}

article.svc-row:has(.svc-row-overlay:hover) .svc-row-media img,
article.svc-row:has(.svc-row-overlay:focus-visible) .svc-row-media img {
  transform: scale(1.03);
}

.toc-float {
  border-radius: 999px;
  transition: transform .45s cubic-bezier(.5,0,.15,1),
                opacity .25s ease,
                padding .3s ease;
}

.toc-float:hover {
  border-radius: 999px;
}

@font-face {

  font-family: Outfit;
  src: url('/src/fonts/Outfit/Outfit-Regular.woff2?v=202610010174') format('woff2');
  font-weight: 400;
  font-display: swap;

}

@font-face {

  font-family: Outfit;
  src: url('/src/fonts/Outfit/Outfit-Medium.woff2?v=202610010174') format('woff2');
  font-weight: 500;
  font-display: swap;

}

@font-face {

  font-family: Outfit;
  src: url('/src/fonts/Outfit/Outfit-SemiBold.woff2?v=202610010174') format('woff2');
  font-weight: 600;
  font-display: swap;

}

@font-face {

  font-family: Outfit;
  src: url('/src/fonts/Outfit/Outfit-Bold.woff2?v=202610010174') format('woff2');
  font-weight: 700;
  font-display: swap;

}

@font-face {

  font-family: Outfit;
  src: url('/src/fonts/Outfit/Outfit-ExtraBold.woff2?v=202610010174') format('woff2');
  font-weight: 800 900;
  font-display: swap;

}

body {
  line-height: 1.65;
}

main h1,
main h1.display,
.section-hero h1.display {
  font-size: var(--ui-h1);
  line-height: 1.08;
  letter-spacing: -.035em;
  overflow-wrap: break-word;
}

main h2 {
  font-size: var(--ui-h2);
  line-height: 1.17;
  letter-spacing: -.025em;
  font-weight: 700;
}

main h3 {
  font-size: var(--ui-h3);
  line-height: 1.3;
}

main .svc-title {
  font-size: var(--fs-h3);
  line-height: 1.3;
}

main .ref-title {
  font-size: var(--ui-h3);
  line-height: 1.3;
}

.lead {
  line-height: 1.65;
}

.eyebrow {
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  line-height: 1.45;
  letter-spacing: .045em;
  font-weight: 500;
  text-transform: none;
  color: rgb(var(--accent));
  opacity: 1;
}

.section-eyebrow,
.svc-eyebrow,
.panel-eyebrow {
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: .88rem;
  line-height: 1.45;
  letter-spacing: .045em;
  font-weight: 500;
  text-transform: none;
  color: rgb(var(--accent));
  opacity: 1;
}

.section-hero .breadcrumb,
[data-page="it"] .section-hero .breadcrumb {
  font-size: .94rem;
  line-height: 1.55;
}

.breadcrumb>span[aria-hidden] {
  opacity: .35;
}

.start-claim {
  font-size: clamp(2.8rem,5.5vw,5rem);
}

.centered {
  text-align: center;
}

.canvas {
  background-image: radial-gradient(ellipse 72% 62% at 8% 0%,rgba(106,217,212,.12),transparent 66%),radial-gradient(ellipse 74% 64% at 92% 100%,rgba(155,124,211,.13),transparent 68%),linear-gradient(rgba(255,255,255,.019) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.019) 1px,transparent 1px);
  background-color: rgb(var(--bg));
}

.reveal {
  opacity: 1;
  transform: none;
  visibility: visible;
}

.text-link {
  color: rgb(var(--accent));
  font-weight: 500;
}

.text-link:hover {
  text-decoration: underline;
}

.landing-visual {
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 1.3rem;
  background: rgba(255,255,255,.025);
}

.area-card,
.service-tile {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 1.2rem;
  background: rgba(255,255,255,.035);
  backdrop-filter: blur(12px);
  transition: border-color .2s,background .2s;
}

.hosting-plan {
  backdrop-filter: blur(12px);
}

.area-card:hover,
.service-tile:hover {
  border-color: rgb(var(--accent) / .5);
  background: rgb(var(--accent) / .055);
}

.area-card>.lc,
.service-tile>.lc,
.process-grid .lc {
  color: rgb(var(--accent));
}

.area-card p,
.service-tile p,
.process-grid p,
.founder-card p,
.scope-grid p {
  color: rgb(var(--text-mute));
  font-size: 1rem;
  line-height: 1.65;
}

.area-card>span,
.service-tile>span {
  color: rgb(var(--accent));
  font-size: .95rem;
}

.compact-list {
  color: rgb(var(--text-mute));
  list-style: disc;
  font-size: .95rem;
}

.check-list li::before {
  content: '✓';
  color: rgb(var(--accent));
}

.process-grid {
  list-style: none;
}

.process-grid>li {
  border-top: 1px solid rgb(var(--accent) / .4);
}

.step-index {
  font-size: .9rem;
  color: rgb(var(--accent));
  font-variant-numeric: tabular-nums;
}

.faq summary {
  font-size: 1.05rem;
}

.faq-body {
  font-size: 1rem;
  line-height: 1.7;
}

.prose h2 {
  font-size: var(--ui-h2);
}

.prose h3 {
  font-size: var(--ui-h3);
}

.prose {
  overflow-wrap: anywhere;
}

.svc.svc-compact .svc-list a {
  white-space: normal;
}

.svc-text,
.svc-row-desc {
  font-size: 1rem;
}

.svc-points .svc-point-title {
  font-size: var(--ui-h3);
  line-height: 1.4;
}

.svc-points .svc-point-desc {
  font-size: .95rem;
  line-height: 1.6;
}

.svc-section-lead {
  font-size: 1.02rem;
}

.svc-section-title {
  font-size: var(--ui-h2);
}

.about-editorial h2 {
  font-size: var(--ui-h2);
  line-height: 1.14;
}

.founder-card {
  border: 1px solid rgb(var(--accent) / .25);
  border-radius: 1.1rem;
  background: linear-gradient(120deg,rgb(var(--accent) / .07),rgba(255,255,255,.025));
  backdrop-filter: blur(12px);
}

.founder-initial {
  font-size: 2.3rem;
  font-weight: 800;
  color: rgb(var(--accent));
  border-bottom: 2px solid rgb(var(--accent) / .5);
}

.founder-card .eyebrow {
  font-size: .81rem;
}

.about-footnote {
  font-size: .9rem;
  color: rgb(var(--text-mute));
}

.marquee,
.review-marquee {
  mask-image: linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}

.marquee-track,
.loop-track {
  animation: none;
  will-change: transform;
}

.loop.is-ready .marquee-track,
.loop.is-ready .loop-track {
  animation: continuous-loop var(--loop-duration,45s) linear infinite;
}

.loop:hover .marquee-track,
.loop:hover .loop-track,
.loop:focus-within .marquee-track,
.loop:focus-within .loop-track,
.loop.is-paused .marquee-track,
.loop.is-paused .loop-track {
  animation-play-state: paused;
}

@keyframes continuous-loop {

  to {
        transform: translateX(calc(-1 * var(--loop-width)));
  };

}

.loop-control {
  font-size: .88rem;
}

.review-card {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1.1rem;
  background: rgba(18,24,32,.66);
  backdrop-filter: blur(10px);
}

.review-card-top {
  font-weight: 600;
}

.review-avatar {
  border: 1px solid rgb(var(--c-design) / .3);
  color: rgb(var(--c-design));
  border-radius: 50%;
}

.review-label {
  font-weight: 400;
  color: rgb(var(--text-mute));
}

.review-placeholder {
  color: rgb(var(--text-mute));
  font-size: 1.05rem;
}

.review-card-foot {
  border-top: 1px solid rgba(255,255,255,.08);
  color: rgb(var(--text-mute));
}

.ref-slider-wrap,
.ref-slider,
.ref-slider.is-manual {
  transform: none;
  mask-image: none;
  -webkit-mask-image: none;
}

.ref-slider {
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  border-radius: 1.2rem;
  touch-action: pan-x pan-y;
}

.ref-slider .ref-slider-track,
.ref-slider.is-manual .ref-slider-track {
  animation: none;
  transform: none;
}

.ref-slider .ref-card {
  scroll-snap-align: start;
  cursor: pointer;
}

.ref-title {
  overflow-wrap: anywhere;
}

.ref-meta {
  font-size: .8rem;
  letter-spacing: .03em;
}

.ref-tags .chip {
  font-size: .78rem;
}

.slider-btn {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
}

.slider-btn:disabled {
  opacity: .3;
  cursor: default;
}

.project-dialog {
  color: rgb(var(--text));
  border: 1px solid rgba(255,255,255,.17);
  box-shadow: 0 25px 100px #0008;
}

.project-copy p {
  color: rgb(var(--text-mute));
}

.project-close {
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  background: #131b26;
  font-size: 1.5rem;
}

.project-gallery-controls button {
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
}

.special-card .special-title {
  font-size: var(--ui-h3);
}

.special-card h3.special-title {
  font-size: var(--ui-h3);
  line-height: 1.08;
  letter-spacing: -.03em;
}

.special-card .special-illu img {
  filter: none;
  transform: scale(1.25);
}

.special-card .muted,
.field {
  font-size: 1rem;
}

.form-label,
.check-label,
.chip-option {
  font-size: .95rem;
}

.selected-topic {
  border-left: 2px solid rgb(var(--c-design));
  background: rgb(var(--c-design) / .07);
}

.form-status.is-err {
  color: #ffb0ba;
}

.contact-aside .text-mono {
  font-size: .82rem;
}

.contact-aside a {
  overflow-wrap: anywhere;
}

.hosting-switch {
  border: 0;
}

.hosting-switch legend {
  font-weight: 600;
}

.hosting-switch label {
  cursor: pointer;
}

.hosting-switch input {
  accent-color: rgb(var(--c-design));
}

.plan-price {
  font-size: 1rem;
  white-space: nowrap;
}

.plan-price strong {
  font-size: 1.9rem;
  font-weight: 700;
  letter-spacing: -.04em;
}

.plan-price span {
  color: rgb(var(--text-mute));
  font-size: .85rem;
}

.hosting-plan .check-list {
  font-size: .9rem;
}

.pricing-note {
  color: rgb(var(--text-mute));
  font-size: .9rem;
}

.scope-note {
  border-left: 2px solid rgb(var(--c-design));
  background: rgb(var(--c-design) / .05);
}

.scope-note p {
  color: rgb(var(--text-mute));
}

.pricing-table {
  border-collapse: collapse;
  text-align: left;
}

.pricing-table caption {
  text-align: left;
  font-weight: 600;
}

.pricing-table th,
.pricing-table td {
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.pricing-table tbody th {
  font-weight: 400;
}

.pricing-table thead {
  background: rgb(var(--c-design) / .07);
}

.glossary-grid h2 {
  font-size: var(--ui-h2);
}

.glossary-grid p {
  font-size: 1rem;
}

.skip-link {
  background: #0a0d12;
  color: white;
  transform: translateY(-200%);
}

.skip-link:focus {
  transform: none;
}

.footer .footer-title {
  font-size: 1rem;
  font-weight: 600;
}

.footer-bottom {
  font-size: .88rem;
}

.footer-col li {
  font-size: .94rem;
}

.m3-panel[aria-hidden="true"] {
  visibility: hidden;
  pointer-events: none;
}

.m3-panel.is-open {
  visibility: visible;
}

.m3-fab,
.m3-fab.is-open {
  background: rgba(12,18,25,.8);
  background-image: none;
  border: 1px solid rgb(var(--c-design) / .8);
  color: rgb(var(--c-design));
  box-shadow: 0 5px 25px #0005;
}

.m3-panel .m3-view {
  transform: none;
  opacity: 1;
}

.m3-views {
  overscroll-behavior: contain;
}

.m3-link {
  text-align: left;
}

.m3-sub-title {
  font-size: 1.35rem;
}

.m3-panel .m3-link {
  font-size: 1rem;
}

.m3-panel .m3-header {
  font-size: .88rem;
  color: rgb(var(--text-mute));
}

@media (min-width:900px) and (max-width:1140px) {
.nav-links>a {
  font-size: .81rem;
}

}
@media (max-width:899px) {
.m3-panel {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 1.25rem;
  background: rgba(12,18,26,.95);
  box-shadow: 0 15px 70px #0008;
}

.m3-foot-contact .m3-link {
  font-size: .9rem;
}

}
@media (max-width:640px) {
:root {
  --section-y: 2.6rem;
}

.section-hero .breadcrumb {
  font-size: .9rem;
}

.founder-initial {
  font-size: 2rem;
}

.special-card .special-title {
  font-size: var(--ui-h3);
}

.section-heading.centered {
  text-align: left;
}

.action-row .btn {
  white-space: normal;
}

}
@media (prefers-reduced-motion:reduce) {
html {
  scroll-behavior: auto !important;
}

*,
*::before,
*::after {
  animation: none !important;
  transition: none !important;
}

.loop.is-ready .marquee-track,
.loop.is-ready .loop-track {
  animation: none !important;
}

.loop {
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

}
.eyebrow,
.section-eyebrow,
.svc-eyebrow,
.panel-eyebrow {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.start-grid h2.svc-title {
  font-size: var(--ui-h2);
  line-height: 1.3;
}

@media (max-width:640px) {
main .special-card h3.special-title {
  font-size: var(--ui-h3);
  line-height: 1;
}

.special-title-lines .gradient-text {
  white-space: nowrap;
}

}
html,
body,
button,
input,
textarea,
select {
  font-feature-settings: normal;
  font-variant: normal;
  font-synthesis: none;
}

body {
  font-family: Outfit,system-ui,sans-serif;
  font-weight: 400;
}

body h1,
body h2,
body h3,
body h4,
.m3-sub-title,
.svc-row-title {
  font-family: Outfit,system-ui,sans-serif;
  font-feature-settings: normal;
  font-style: normal;
}

main h1,
main h1.display,
.section-hero h1.display {
  font-weight: 700;
}

.canvas {
  background: radial-gradient(ellipse 72% 62% at 8% 0%,rgba(106,217,212,.15),transparent 66%),radial-gradient(ellipse 74% 64% at 92% 100%,rgba(155,124,211,.15),transparent 68%),rgb(var(--bg));
  background-size: auto;
}

.eyebrow {
  font-size: .95rem;
}

.lead {
  font-size: clamp(1.1rem,1.5vw,1.25rem);
}

.muted {
  color: rgb(var(--text-mute));
}

.svc-quicknav-title {
  font-size: .95rem;
}

main .svc-section {
  border: 0;
  backdrop-filter: none;
}

main .svc-section-media {
  border: 0;
  background: none;
  border-radius: 1rem;
}

main .svc-section-content {
  background: none;
  border: 0;
  box-shadow: none;
}

main .svc-section-head {
  text-align: left;
}

.svc-section-head .svc-section-lead {
  font-size: 1.07rem;
  line-height: 1.7;
  text-align: left;
}

main .svc-section .svc-points {
  background: none;
  border: 0;
}

main .svc-section .svc-point {
  text-align: left;
  transform: none;
}

.svc-section .svc-points .svc-point-title {
  font-size: var(--ui-h3);
  line-height: 1.4;
}

.svc-section .svc-points .svc-point-desc {
  font-size: 1rem;
  line-height: 1.6;
}

.service-context {
  font-size: 1.05rem;
  color: rgb(var(--text-mute));
}

.service-context>.lc {
  color: rgb(var(--accent));
}

.service-context a:not(.btn) {
  color: rgb(var(--accent));
  text-decoration: underline;
  text-underline-offset: 4px;
}

.service-overview .svc-row {
  backdrop-filter: none;
  box-shadow: none;
  transform: none;
}

.service-overview .svc-row-media {
  border: 0;
}

.service-overview .svc-row-media-link {
  pointer-events: auto;
}

main :is(.card,.surface,.svc,.ref-card,.personal-team-card,.founder-card,.review-card,.hosting-plan,.special-card,.faq,.area-card,.service-tile,.cta-panel,.contact-main),
main .ref-card:hover {
  border: 1px solid transparent;
  background: linear-gradient(125deg,rgba(17,23,31,.96),rgba(20,23,33,.91)) padding-box,linear-gradient(120deg,rgba(106,217,212,.45),rgba(255,255,255,.075) 42%,rgba(155,124,211,.42)) border-box;
  box-shadow: inset 0 0 40px rgba(255,255,255,.014);
  backdrop-filter: blur(12px);
}

.page-term {
  border-top: 1px solid rgba(255,255,255,.12);
}

.page-term dt {
  font-size: 1.1rem;
  font-weight: 600;
}

.page-term dt a {
  color: rgb(var(--accent));
}

.page-term dd {
  font-size: 1rem;
  color: rgb(var(--text-mute));
  line-height: 1.65;
}

.glossary-filters .field {
  color: #eef2f5;
}

.glossary-alphabet button {
  color: rgb(var(--text-mute));
  /* border-bottom: 2px solid transparent; */
}

.glossary-alphabet button[aria-pressed="true"] {
  color: rgb(var(--c-design));
  border-color: rgb(var(--c-design));
}

#glossary-status {
  font-size: .95rem;
  color: rgb(var(--text-mute));
}

.glossary-letter {
  font-size: 2rem;
  color: rgb(var(--c-design));
}

.glossary-entry {
  border-top: 1px solid rgba(255,255,255,.13);
}

.glossary-entry dt {
  font-size: 1.13rem;
  font-weight: 600;
}

.glossary-entry dd {
  font-size: 1.03rem;
  line-height: 1.7;
  color: rgb(var(--text-mute));
}

.glossary-area {
  font-size: .82rem;
  font-weight: 400;
  color: rgb(var(--text-mute));
}

.process-grid {
  counter-reset: step;
}

.process-grid>li {
  border: 0;
}

.process-grid>li::before {
  content: '';
  background: linear-gradient(90deg,rgb(var(--c-design) / .65),rgb(var(--c-it) / .5));
}

.process-grid>li:not(:last-child)::after {
  content: '›';
  color: rgb(var(--c-design));
  font-size: 1.4rem;
}

.process-grid .step-index {
  border: 1px solid transparent;
  border-radius: 50%;
  background: linear-gradient(#121a23,#121a23) padding-box,linear-gradient(135deg,#6ad9d4,#9b7cd3) border-box;
  font-size: .98rem;
}

@media (min-width:1180px) {
.nav-links>a {
  white-space: nowrap;
}

}
@media (max-width:1179px) {
.m3-panel {
  border: 1px solid rgba(155,124,211,.32);
  transform: translateY(20px);
  transition: transform .3s,opacity .25s;
  opacity: 0;
}

.m3-panel.is-open {
  transform: translateY(0);
  opacity: 1;
}

.m3-header {
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.m3-panel .m3-views {
  isolation: isolate;
}

.m3-panel .m3-view {
  overscroll-behavior: contain;
  transform: translateX(100%);
  transition: transform .32s cubic-bezier(.22,1,.36,1);
  opacity: 1;
  visibility: visible;
  will-change: transform;
}

.m3-panel .m3-view.is-root,
.m3-panel .m3-view.is-active {
  transform: translateX(0);
}

.m3-panel .m3-view.is-out-left {
  transform: translateX(-100%);
}

.m3-panel .m3-link {
  font-size: 1.02rem;
  line-height: 1.4;
}

.m3-panel .m3-link>.lc {
  color: rgb(var(--accent));
}

.m3-panel .m3-sub-title {
  font-size: 1.45rem;
}

.m3-foot {
  border-top: 1px solid rgba(255,255,255,.08);
}

.m3-fab,
.m3-fab.is-open {
  border: 2px solid transparent;
  background: linear-gradient(rgba(12,18,26,.96),rgba(12,18,26,.96)) padding-box,linear-gradient(120deg,#6ad9d4,#9b7cd3) border-box;
  box-shadow: 0 8px 32px rgba(0,0,0,.4);
  color: #eaf2f5;
}

}
@media (max-width:760px) {
.svc-section-head .svc-section-title {
  font-size: var(--ui-h2);
}

.glossary-entry {
  background: none;
  border-radius: 0;
}

.glossary-entry dd {
  font-size: 1.03rem;
}

.process-grid>li:not(:last-child)::after {
  content: '⌄';
  background: #0e141b;
  text-align: center;
  font-size: 1rem;
}

.special-title-lines {
  letter-spacing: -.04em;
}

.special-title-lines .gradient-text {
  white-space: nowrap;
}

}
@media (max-width:420px) {
main .special-card h3.special-title {
  font-size: var(--ui-h3);
}

}
@media (prefers-reduced-motion:reduce) {
.m3-panel,
.m3-panel .m3-view,
.outline-links a span {
  transition: none !important;
}

}
main .cta-panel,
main #faq .section-heading,
main .container:has(>.stack>.faq)>.reveal:first-child,
ol.process-grid>li {
  text-align: center;
}

ol.process-grid>li:not(:last-child)::after {
  background: none;
}

@media (max-width:1179px) {
.m3-panel .m3-views {
  transition: height .32s cubic-bezier(.22,1,.36,1);
}

.m3-panel .m3-foot .m3-link {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.025);
  font-size: .96rem;
}

}
@media (max-width:760px) {
ol.process-grid>li:not(:last-child)::after {
  text-align: center;
}

}
@media (prefers-reduced-motion:reduce) {
.m3-panel .m3-views {
  transition: none !important;
}

}
main .svc-section+.svc-section::before {
  content: '';
  background: linear-gradient(90deg,transparent,rgba(155,124,211,.4),rgba(106,217,212,.3),transparent);
}

main .svc-section .svc-section-inner {
  border: 0;
  border-radius: 0;
  backdrop-filter: none;
}

main .svc-section .svc-point {
  box-shadow: none;
}

.service-overview .svc-row-media,
.service-overview .svc-row-media-link {
  border-radius: 0;
}

.service-overview .svc-row-media img {
  border-radius: 0;
  transform: none;
}

.svc.svc-compact .svc-list a {
  font-size: .94rem;
}

main .section-start h1 {
  font-size: var(--ui-h1);
  line-height: 1.02;
}

main .special-card h3.special-title {
  font-size: var(--ui-h3);
}

main .ref-card,
main .ref-card:hover {
  filter: none;
  transform: none;
}

.ref-thumb,
.ref-thumb.is-dinlangplus {
  border: 0;
  background: none;
  border-radius: 0;
}

.ref-thumb img:not(.logo) {
  border-radius: 0;
  filter: none;
  transform: none;
}

.project-media {
  background: transparent;
}

.review-stars {
  color: #f9c74f;
  font-size: 1.45rem;
  letter-spacing: .17em;
  text-align: center;
}

.reviews-section .section-heading {
  text-align: center;
}

.review-label,
.review-card-foot {
  font-size: .8rem;
}

@media (min-width:1180px) {
.nav-links>a {
  font-size: .9rem;
}

}
@media (max-width:1179px) {
.m3-panel {
  background: rgba(11,17,25,.79);
  backdrop-filter: blur(32px) saturate(125%);
  border-radius: 2rem;
}

.m3-panel .m3-link {
  border-radius: 1.15rem;
}

.m3-panel .m3-sub-head .m3-sub-title {
  font-size: 1.22rem;
  line-height: 1.3;
}

.m3-panel .m3-foot-contact .m3-link {
  border-radius: 1.15rem;
}

}
.glossary-alphabet {
  border-radius: 1rem;
}

.term-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: rgb(var(--accent) / .6);
  text-underline-offset: 4px;
}

.term-link:hover {
  color: rgb(var(--accent));
}

.format-options button {
  border: 1px solid rgba(255,255,255,.14);
  font-size: 1rem;
  color: rgb(var(--text-mute));
}

.hosting-choices button {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 1rem;
  font-size: 1rem;
  color: rgb(var(--text-mute));
}

.format-options button[aria-pressed=true],
.hosting-choices button[aria-pressed=true] {
  color: rgb(var(--c-design));
  border-color: rgb(var(--c-design) / .65);
  background: rgb(var(--c-design) / .06);
}

.format-panel {
  border-top: 1px solid rgba(255,255,255,.15);
}

.format-panel dl>div {
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.format-panel dt {
  font-weight: 600;
}

.format-panel dd {
  color: rgb(var(--text-mute));
}

.hosting-choices button span {
  font-size: .82rem;
}

.hosting-selection {
  font-size: .94rem;
  color: rgb(var(--text-mute));
}

.faq-filters .field {
  background: #111923;
  color: rgb(var(--text));
}

#faq-status {
  color: rgb(var(--text-mute));
}

@media (max-width:760px) {
.service-overview .svc-row-media img {
  border-radius: 0;
}

main .section-start h1 {
  font-size: var(--ui-h1);
}

main .special-card h3.special-title {
  font-size: var(--ui-h3);
}

.glossary-alphabet {
  scrollbar-width: thin;
}

.format-options button {
  font-size: .95rem;
}

}
html {
  color-scheme: dark;
}

.glossary-alphabet,
.outline-links {
  scrollbar-color: rgba(155,124,211,.45) transparent;
  scrollbar-width: thin;
}

.reviews-section>.container .review-stars {
  font-size: 2.1rem;
  letter-spacing: .2em;
}

.review-card .review-stars {
  font-size: 1.2rem;
  text-align: left;
  letter-spacing: .1em;
  line-height: 1.3;
}

main .svc-section .svc-point {
  border: 1px solid transparent;
  border-radius: 1rem;
  background: linear-gradient(125deg,rgba(17,23,31,.93),rgba(20,23,33,.88)) padding-box,linear-gradient(120deg,rgba(106,217,212,.3),rgba(255,255,255,.07) 42%,rgba(155,124,211,.28)) border-box;
  backdrop-filter: blur(10px);
}

.faq-area-group {
  scroll-margin-top: 100px;
}

.faq-area-heading {
  border-bottom: 1px solid rgba(155,124,211,.3);
}

.faq-area-heading>.lc {
  color: rgb(var(--c-design));
}

.faq-topic-group>h3 {
  font-size: var(--ui-h3);
  color: rgb(var(--text-mute));
  font-weight: 500;
}

.knowledge-choices .lc {
  color: rgb(var(--c-design));
}

.knowledge-choices p {
  color: rgb(var(--text-mute));
}

.knowledge-choices span {
  color: rgb(var(--c-design));
}

.glossary-alphabet {
  -webkit-backdrop-filter: blur(24px) saturate(135%);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

.footer-social a {
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: rgb(var(--c-design));
}

.footer-social a:hover {
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

.footer-social a:hover {
  color: white!important;
  fill: white!important;
}

.svc-pill,
.footer-social a,
.format-options button,
.hosting-choices button {
  transition: background-color .24s,color .24s,border-color .24s,box-shadow .24s,translate .24s;
}

.faq summary {
  transition: color .2s,background-color .2s;
}

.faq summary:hover {
  background: rgba(255,255,255,.025);
}

.faq summary::after {
  transition: transform .28s;
}

.format-panel:not([hidden]) {
  animation: content-arrive .32s ease-out;
}

@keyframes content-arrive {

  from {
        opacity: 0;
  translate: 0 8px;
  }

    to {
        opacity: 1;
  translate: 0 0;
  };

}

@media (max-width:760px) {
.faq-filters label {
  font-size: .95rem;
}

.faq-area-heading h2 {
  font-size: var(--ui-h2);
}

.glossary-letter {
  background: none;
}

.footer-brand-text {
  font-size: 1rem;
}

.footer-col li {
  line-height: 1.65;
}

.footer-bottom {
  text-align: left;
}

}
@media (prefers-reduced-motion:reduce) {
.format-panel:not([hidden]) {
  animation: none !important;
}

.svc-pill,
.footer-social a,
.format-options button,
.hosting-choices button,
.faq summary,
.faq summary::after {
  transition: none !important;
}

.footer-social a:hover {
  translate: none;
}

}
.motion-pending {
  opacity: 0 !important;
}

.motion-target {
  transition-property: color,background-color,border-color,box-shadow;
}

.glossary-alphabet {
  scroll-padding-inline: 1rem;
}

.glossary-alphabet button {
  transition: all .33s ease!important;
  border-radius: 8px;
}

.glossary-alphabet button.is-active, .glossary-alphabet button:hover {
  color: rgb(var(--c-design))!important;
  background: rgba(106, 217, 212, .1)!important;
  font-weight: 700!important;
  /* transform: scale(1.2)!important; */
  /* transform-origin: 50% 50%!important; */
  /* border-color: rgba(106, 217, 212, .55); */
  /* font-size: 18px !important; */
}

.glossary-alphabet button:disabled {
  opacity: .25;
  cursor: default;
}

.glossary-letter {
  background: none;
}

.glossary-letter-group,
.glossary-entry {
  scroll-margin-top: calc(var(--site-header-height,76px) + 89px + var(--gutter));
}

@media (max-width:760px) {
.glossary-alphabet {
  border-radius: 1rem;
}

.glossary-letter-group,
.glossary-entry {
  scroll-margin-top: calc(var(--site-header-height,72px) + 79px + var(--gutter));
}

}
@media (prefers-reduced-motion:reduce) {
.motion-pending {
  opacity: 1 !important;
}

}
@media (prefers-reduced-motion:no-preference) {
html.motion-boot :is(main .error-art,main .special-illu,main .special-mobile-illu,main .search-count,main [data-reference-status],main [data-filter-status],main #glossary-status,main #faq-status,main .search-page-form,main .eyebrow,main .link-tree-shortcut,main .glossary-alphabet,main .special-card p,main .service-detail-grid p,main .action-row,main .faq-footer,main .about-cta,main .slider-footer,main .reviews-link-row,main a.btn,main .responsive-filters,main .element-card,main .service-hero-image,main h1,main h2,main h3,main .lead,main .svc-section,main .svc,main .svc-row,main .svc-point,main .ref-card,main .personal-team-card,main .founder-card,main .cta-panel,main .faq,main .glossary-entry,main .process-grid>li,main .workflow-path>li,main .card,main .area-card,main .service-tile,main .hosting-plan,main .search-result-card,main .page-term,main .term-card,main .quote-card,main .price-card,main .media-card,main .team-card,main .scope-note,main .svc-quicknav>a,.footer-col):not(:is(.search-page-form,.responsive-filters,.element-card,.service-hero-image,.svc-section,.svc,.svc-row,.svc-point,.ref-card,.personal-team-card,.founder-card,.cta-panel,.faq,.glossary-entry,.process-grid>li,.workflow-path>li,.card,.area-card,.service-tile,.hosting-plan,.search-result-card,.page-term,.term-card,.quote-card,.price-card,.media-card,.team-card,.scope-note,.svc-quicknav>a,.footer-col) *):not(#contactForm *,.contact-layout-clean .contact-main *),
html.motion-boot .mobile-contact,
html.motion-boot[data-page="home"] :is(.nav-inner>.brand,.nav-links>a,.nav-links>.nav-dropdown,.nav-cta),
html.motion-boot:has(body[data-page="home"]) :is(.nav-inner>.brand,.nav-links>a,.nav-links>.nav-dropdown,.nav-cta) {
  opacity: 0 !important;
}

}
main .svc-section-icon {
  transform-origin: center;
}

.loop-control {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  background: rgba(255,255,255,.025);
  color: rgb(var(--text-mute));
  transition: color .3s,border-color .3s;
}

.loop-control:hover {
  color: rgb(var(--c-design));
  border-color: rgb(var(--c-design));
}

.format-options button {
  border-radius: 1rem;
  text-align: left;
  background: rgba(255,255,255,.02);
}

.format-options strong {
  font-size: 1.05rem;
  font-weight: 500;
}

.format-options small {
  color: rgb(var(--text-mute));
  font-size: .86rem;
}

.format-arrow {
  opacity: .35;
}

.format-options button[aria-pressed=true] .format-arrow {
  opacity: 1;
}

.format-panel {
  border: 0;
  animation: content-arrive .65s cubic-bezier(.19,1,.3,1);
}

.format-description h3 {
  font-size: var(--ui-h3);
}

.format-panel .lead {
  font-size: 1.08rem;
}

.format-panel dl {
  font-size: .98rem;
}

.format-next {
  border-top: 1px solid rgba(255,255,255,.12);
}

.format-next .lc {
  color: rgb(var(--c-design));
}

.website-preview {
  border: 1px solid rgba(155,124,211,.3);
  border-radius: 1.15rem;
  background: linear-gradient(135deg,rgba(106,217,212,.055),rgba(155,124,211,.07));
}

.preview-chrome {
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.preview-chrome>span {
  background: rgba(255,255,255,.25);
  border-radius: 50%;
}

.preview-chrome b {
  font-size: .72rem;
  font-weight: 400;
  letter-spacing: .06em;
  color: rgb(var(--text-mute));
}

.preview-nav {
  background: linear-gradient(90deg,transparent,rgba(106,217,212,.35));
  border-radius: 4px;
}

.preview-hero i {
  background: rgba(106,217,212,.35);
  border-radius: 4px;
}

.preview-hero i:nth-child(2) {
  opacity: .45;
}

.preview-hero i:nth-child(3) {
  background: transparent;
  border: 1px solid rgba(155,124,211,.7);
  border-radius: 12px;
}

.preview-modules i {
  border: 1px solid rgba(155,124,211,.25);
  border-radius: 6px;
  background: linear-gradient(130deg,rgba(155,124,211,.14),rgba(106,217,212,.1));
}

.preview-bottom {
  background: rgba(255,255,255,.06);
  border-radius: 4px;
}

.preview-onlineshop .preview-modules i {
  border-bottom: 7px solid rgba(106,217,212,.25);
}

.preview-webapp .preview-hero {
  border-right: 1px solid rgba(255,255,255,.1);
}

.preview-caption {
  text-align: center;
  font-size: .78rem;
  color: rgb(var(--text-mute));
}

.hosting-choices button {
  text-align: center;
  background: rgba(255,255,255,.02);
}

.hosting-choices strong {
  font-size: 1.65rem;
  font-weight: 500;
}

.hosting-choices button:last-child {
  border: 0;
  text-decoration: underline;
  text-underline-offset: 5px;
  font-size: .9rem;
  background: none;
}

.plan-symbol .lc {
  color: rgb(var(--c-design));
}

.hosting-grid.is-single .plan-price strong {
  font-size: 3rem;
}

.hosting-scope .card {
  border-radius: 1.2rem;
}

.scope-number {
  color: rgb(var(--c-design));
  font-size: .85rem;
}

.hosting-switch {
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.hosting-switch label {
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
}

.hosting-switch label:has(input:checked) {
  border-color: rgb(var(--c-design));
  background: rgba(106,217,212,.05);
}

@media (max-width:760px) {
.format-options strong {
  font-size: .93rem;
}

.hosting-choices strong {
  font-size: 1.35rem;
}

.hosting-selection {
  font-size: .9rem;
}

}
@media (prefers-reduced-motion:reduce) {
.format-panel {
  animation: none !important;
}

.loop-control {
  display: none !important;
}

}
.hosting-configurator,
.format-section {
  scroll-margin-top: 110px;
}

.search-fab {
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid transparent;
  background: linear-gradient(rgb(var(--bg-elev)), rgb(var(--bg-elev))) padding-box,
        linear-gradient(120deg, #6ad9d4, #9b7cd3) border-box;
  color: rgb(var(--c-design));
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.4);
  transition: transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast);
}

.search-fab .ic {
  stroke-width: 2.2;
  fill: none;
}

.search-dialog {
  border-radius: var(--r-lg);
  color: rgb(var(--text));
  box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.7), 0 0 40px rgb(var(--c-design) / 0.1);
  border: 1px solid transparent;
  background: linear-gradient(125deg, rgba(17, 23, 31, .96), rgba(20, 23, 33, .91)) padding-box, linear-gradient(120deg, rgba(106, 217, 212, .45), rgba(255, 255, 255, .075) 42%, rgba(155, 124, 211, .42)) border-box;
}

.search-dialog::backdrop {
  background: rgba(10, 13, 18, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.search-dialog[open] {
  animation: searchDialogIn var(--t-mid) var(--ease-out) both;
}

@keyframes searchDialogIn {

  from {
        opacity: 0;
  transform: translateY(16px) scale(0.97);
  };

}

.search-dialog-field {
  border-radius: var(--r);
  background: rgb(var(--bg) / 0.7);
  border: 1px solid rgb(var(--border) / 0.08);
  transition: border-color var(--t-fast);
}

.search-dialog-field:focus-within {
  border-color: rgb(var(--c-design) / 0.5);
}

.search-dialog-field > .ic {
  stroke: rgb(var(--text-mute));
  stroke-width: 2;
  fill: none;
}

.search-dialog-input {
  border: none;
  background: transparent;
  color: rgb(var(--text));
  font-size: 1.05rem;
  font-family: inherit;
  outline: none;
}

.search-dialog-input::placeholder {
  color: rgb(var(--text-faint));
}

.search-kbd {
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.search-dialog-close {
  border: none;
  background: transparent;
  color: rgb(var(--text-mute));
  cursor: pointer;
  border-radius: 50%;
  transition: color var(--t-fast), background var(--t-fast);
}

.search-dialog-close:hover {
  color: rgb(var(--text));
  background: rgb(var(--border) / 0.08);
}

.search-dialog-close .ic {
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}

.search-page-field {
  border-radius: var(--r-full);
  background: rgb(var(--bg) / 0.7);
  border: 1px solid rgb(var(--border) / 0.1);
  transition: border-color var(--t-fast);
}

.search-page-field > .ic {
  stroke: rgb(var(--text-mute));
  stroke-width: 2;
  fill: none;
}

.search-page-input,
.search-page-input:is(:focus, :focus-visible, :active) {
  border: none;
  background: transparent;
  color: rgb(var(--text));
  font-size: 1rem;
  font-family: inherit;
  outline: none;
  box-shadow: none;
}

.search-page-input::placeholder {
  color: rgb(var(--text-faint));
}

.search-count {
  font-size: var(--fs-md);
  color: rgb(var(--text-mute));
}

.search-count strong {
  color: rgb(var(--text));
}

.search-category-header {
  border-bottom: 1px solid rgb(var(--border) / 0.08);
}

.search-category-header .lc {
  color: rgb(var(--accent));
}

.search-category-header h2 {
  font-size: var(--ui-h2);
  font-weight: 700;
  line-height: 1.3;
}

.search-result-card {
  border-radius: var(--r);
  background: rgb(var(--surface) / 0.035);
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  border: 1px solid rgb(var(--border) / 0.06);
  text-decoration: none;
  color: rgb(var(--text));
  transition: border-color var(--t-fast), transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast);
}

.search-result-card:hover {
  border-color: rgb(var(--accent) / 0.35);
  box-shadow: 0 8px 24px -8px rgb(var(--accent) / 0.12);
}

.search-result-area.chip {
  font-size: 0.72rem;
  border-radius: var(--r-full);
  background: rgb(var(--accent) / 0.1);
  color: rgb(var(--accent));
  border: 1px solid rgb(var(--accent) / 0.2);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.search-result-title {
  font-size: var(--ui-h3);
  font-weight: 600;
  line-height: 1.4;
  color: rgb(var(--text));
}

.search-result-text {
  font-size: var(--fs-sm);
  color: rgb(var(--text-mute));
  line-height: 1.55;
  -webkit-box-orient: vertical;
}

.search-result-url {
  font-size: var(--fs-xs);
  color: rgb(var(--text-faint));
}

.search-category-services .search-result-card {
  border-color: rgb(var(--accent) / 0.32);
  background: linear-gradient(130deg, rgb(var(--c-design) / 0.07), rgb(var(--c-it) / 0.06));
}

.search-match-label {
  color: rgb(var(--accent));
  font-size: 0.85rem;
  font-weight: 600;
}

.search-category-pages .search-result-text {
  -webkit-line-clamp: 2;
}

.search-category-pages .search-result-url {
  overflow-wrap: anywhere;
}

.search-dialog-title {
  font-size: clamp(1.4rem, 4vw, 1.8rem);
  line-height: 1.2;
  font-weight: 600;
  text-align: center;
}

.search-category-pages .search-result-title {
  font-weight: 500;
}

.search-empty {
  text-align: center;
}

.search-empty h2 {
  font-size: var(--ui-h2);
}

.search-initial {
  text-align: center;
}

.service-overview .svc-row {
  border-radius: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(125deg, rgba(17,23,31,.96), rgba(20,23,33,.91)) padding-box, linear-gradient(120deg, rgba(106,217,212,.35), rgba(255,255,255,.08) 42%, rgba(155,124,211,.35)) border-box;
  transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.service-overview .svc-row:hover {
  border-color: rgba(106,217,212,.4);
  box-shadow: 0 16px 36px -12px rgba(0,0,0,.5);
}

.service-overview .svc-row-media img {
  transition: transform .35s ease;
}

.service-overview .svc-row:hover .svc-row-media img {
  transform: scale(1.03);
}

.service-overview .svc-row-desc {
  font-size: 1rem;
  line-height: 1.6;
}

.faq-footer {
  text-align: center;
}

.search-result-thumb {
  border-radius: 0.75rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}

.search-result-thumb.search-result-icon {
  color: rgb(var(--accent));
}

.search-result-card mark {
  background: rgba(106,217,212,0.22);
  color: #6ad9d4;
  font-weight: 600;
  border-radius: 0.2em;
}

@media (max-width: 760px) {
.service-overview .svc-row {
  border-radius: var(--r-lg);
}

.service-overview .svc-row-desc {
  font-size: 0.94rem;
}

}
.nav-dropdown-btn {
  background: transparent;
  border: none;
  color: rgba(241, 243, 247, 0.78);
  font-size: 0.92rem;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  transition: color .25s ease;
  border-radius: 0;
}

.nav-dropdown-btn::after {
  content: '';
  border-radius: 2px;
  background: linear-gradient(90deg, rgb(106,217,212) 0%, rgb(155,124,211) 100%);
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transition: clip-path .35s cubic-bezier(.22,1,.36,1), opacity .25s ease;
}

.nav-dropdown-btn:hover::after,
.nav-dropdown:hover .nav-dropdown-btn::after,
.nav-dropdown:focus-within .nav-dropdown-btn::after {
  clip-path: inset(0);
  opacity: 0.6;
}

.nav-dropdown-btn.is-active::after {
  clip-path: inset(0);
  opacity: 1;
}

.nav-dropdown-btn:hover,
.nav-dropdown-btn.is-active,
.nav-dropdown:hover .nav-dropdown-btn,
.nav-dropdown:focus-within .nav-dropdown-btn {
  color: #fff;
}

.nav-dropdown-arrow {
  transition: transform .25s ease;
  opacity: 0.7;
}

.nav-dropdown:hover .nav-dropdown-arrow,
.nav-dropdown:focus-within .nav-dropdown-arrow {
  transform: rotate(180deg);
  opacity: 1;
}

.nav-dropdown-menu {
  -webkit-backdrop-filter: blur(24px);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .24s cubic-bezier(0.16, 1, 0.3, 1), transform .24s cubic-bezier(0.16, 1, 0.3, 1), visibility .24s ease;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nav-dropdown-item {
  color: rgba(241, 243, 247, 0.85);
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
}

html[data-page="impressum"] :is(h1, h2, h3, h4, h5, h6),
html[data-page="datenschutz"] :is(h1, h2, h3, h4, h5, h6),
html[data-page="widerruf"] :is(h1, h2, h3, h4, h5, h6),
html[data-page="agb"] :is(h1, h2, h3, h4, h5, h6),
.legal-page-wrap :is(h1, h2, h3, h4, h5, h6),
.legal-content :is(h1, h2, h3, h4, h5, h6) {
  animation: none;
  transition: none;
  transform: none;
  opacity: 1;
}

.cms-prose p,
.prose p,
.legal-content p {
  line-height: 1.75;
}

.website-product-card {
  background: rgba(14, 20, 31, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.25rem;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.website-product-card:hover {
  border-color: rgba(106, 217, 212, 0.35);
  box-shadow: 0 16px 36px -10px rgba(0, 0, 0, 0.5), 0 0 20px rgba(106, 217, 212, 0.08);
}

.website-product-card.is-featured {
  border-color: rgba(106, 217, 212, 0.45);
  background: rgba(16, 25, 40, 0.85);
  box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.6), 0 0 25px rgba(106, 217, 212, 0.15);
}

.product-card-icon {
  border-radius: 12px;
  background: rgba(106, 217, 212, 0.12);
  color: rgb(106, 217, 212);
}

.product-badge {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(241, 243, 247, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.featured-badge {
  background: linear-gradient(135deg, rgba(106, 217, 212, 0.2) 0%, rgba(155, 124, 211, 0.2) 100%);
  border-color: rgba(106, 217, 212, 0.4);
  color: #6ad9d4;
}

.product-card-header h3 {
  font-size: var(--ui-h3);
  font-weight: 600;
  color: #fff;
}

.product-card-lead {
  font-size: 0.85rem;
  color: rgba(241, 243, 247, 0.65);
  line-height: 1.45;
}

.product-features {
  list-style: none;
}

.product-features li {
  font-size: 0.82rem;
  color: rgba(241, 243, 247, 0.85);
  line-height: 1.4;
}

.product-features li::before {
  content: "✓";
  color: #6ad9d4;
  font-weight: 700;
  font-size: 0.85rem;
}

.product-features li strong {
  color: #fff;
}

.product-card-scope {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
}

.scope-label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(241, 243, 247, 0.5);
}

.scope-text {
  font-size: 0.8rem;
  color: rgba(241, 243, 247, 0.85);
  font-weight: 500;
}

.hosting-plan {
  background: rgba(14, 20, 31, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.25rem;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.hosting-plan:hover {
  border-color: rgba(106, 217, 212, 0.35);
  box-shadow: 0 16px 36px -10px rgba(0, 0, 0, 0.5), 0 0 20px rgba(106, 217, 212, 0.08);
}

.hosting-plan.recommended,
.hosting-plan.is-selected {
  border-color: rgba(106, 217, 212, 0.5);
  background: rgba(16, 25, 40, 0.85);
  box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.6), 0 0 25px rgba(106, 217, 212, 0.15);
}

.hosting-plan .plan-symbol {
  border-radius: 12px;
  background: rgba(106, 217, 212, 0.12);
  color: rgb(106, 217, 212);
}

.hosting-plan .eyebrow {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(241, 243, 247, 0.6);
}

.hosting-plan h3 {
  font-size: var(--ui-h3);
  font-weight: 700;
  color: #fff;
}

.hosting-plan .plan-price {
  font-size: 1.15rem;
  color: rgba(241, 243, 247, 0.9);
}

.hosting-plan .plan-price strong {
  font-size: 2.2rem;
  font-weight: 700;
  color: #6ad9d4;
  letter-spacing: -0.02em;
}

.hosting-plan .plan-price span {
  font-size: 0.85rem;
  color: rgba(241, 243, 247, 0.6);
}

.hosting-plan .check-list {
  list-style: none;
}

.hosting-plan .check-list li {
  font-size: 0.82rem;
  color: rgba(241, 243, 247, 0.8);
  line-height: 1.4;
}

.hosting-plan .check-list li::before {
  content: "✓";
  color: #6ad9d4;
  font-weight: 700;
  font-size: 0.85rem;
}

.nav-wrap {
  transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.nav-search-bar {
  border-top: 1px solid transparent;
}

.nav-wrap.is-search-open .nav-search-bar {
  border-top-color: rgba(255, 255, 255, 0.08);
}

.nav-search-icon {
  color: rgb(var(--c-design));
  pointer-events: none;
}

.nav-search-input {
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

body .nav-search-form .nav-search-input:is(:focus,:focus-visible,:active) {
  outline: none;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255,255,255,.14);
  box-shadow: none;
}

.search-kbd {
  font-size: 0.72rem;
  font-family: inherit;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.1);
  pointer-events: none;
}

.nav-search-close {
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.65);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  cursor: pointer;
  transition: color .2s, background .2s;
}

.nav-search-close:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

.search-fab .ic,
.search-fab svg {
  color: #ffffff;
  stroke: #ffffff;
}

.search-result-thumb.search-result-thumb-lg {
  border-radius: 1rem;
}

.search-result-reference.ref-card {
  cursor: pointer;
}

.search-result-reference .ref-thumb-wrap {
  background: rgba(255, 255, 255, 0.03);
}

.search-result-reference .ref-banner-img {
  transition: transform .35s var(--ease-out);
}

.search-result-reference:hover .ref-banner-img {
  transform: scale(1.05);
}

.search-result-glossary .search-result-title {
  font-size: var(--ui-h3);
  font-weight: 600;
}

.search-result-glossary .search-result-text {
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgb(var(--text) / 0.82);
}

@media (min-width: 761px) {
.glossary-letter-group,
.glossary-entry {
  scroll-margin-top: calc(var(--site-header-height, 72px) + 72px);
}

}
button.m3-link {
  font-family: inherit;
  font-size: 1.02rem;
  font-weight: 500;
  text-align: left;
  border: none;
  background: none;
  cursor: pointer;
}

button.m3-link .m3-link-label {
  text-align: left;
}

.gradient-text,
.gradient-text-static,
.tagline em,
.special-title .gradient-text,
h1 .gradient-text,
h2 .gradient-text,
h3 .gradient-text {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.start-claim > span {
  line-height: 0.96;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.special-card .special-title {
  line-height: 0.95;
  letter-spacing: -0.03em;
}

main .special-card h3.special-title {
  letter-spacing: -0.03em;
}

@media (max-width: 768px) {
main .special-card h3.special-title,
.special-card .special-title {
  font-size: var(--ui-h3);
  line-height: 0.96;
}

.special-card .special-illu img {
  transform: none;
}

}
.nav-wrap.is-search-open {
  backdrop-filter: saturate(180%) blur(16px);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.nav-search-btn {
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #fff;
  cursor: pointer;
  transition: all 0.2s ease;
}

.nav-search-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(106, 217, 212, 0.4);
  color: #6ad9d4;
}

@media (max-width: 768px) {
.service-overview .svc-row-title,
main .service-overview .svc-row-title {
  font-size: var(--ui-h2);
  line-height: 1.25;
  font-weight: 700;
}

}
.ref-card {
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  cursor: pointer;
}

.ref-card:hover {
  border-color: rgba(106, 217, 212, 0.4);
  box-shadow: 0 16px 36px -12px rgba(0, 0, 0, 0.45);
}

.cta-panel .wa-logo,
.btn-wa .wa-logo,
.cta-panel .btn-wa svg,
.cta-panel .btn-wa .lc {
  filter: brightness(0) invert(1);
  color: #fff;
  stroke: #fff;
}

.nav-dropdown-item:hover {
  border-radius: 9999px;
}

:root {
  --font-support-title-desktop: clamp(42px,4.8vw,68px);
  --font-support-title-mobile: clamp(36px,9.5vw,48px);
  --font-about-title-desktop: clamp(46px,4.8vw,68px);
  --font-about-title-mobile: clamp(38px,10vw,52px);
  --font-claim-desktop: clamp(36px,5vw,72px);
  --font-claim-mobile: clamp(42px,11.5vw,72px);
  --font-service-card-title: 15px;
  --footer-social-icon: 24px;
  --footer-contact-icon: 18px;
  --cms-text: 14px;
  --font-h1-desktop: 56px;
  --font-h1-mobile: 38px;
  --ui-h1: var(--font-h1-desktop);
  --font-h2-desktop: 36px;
  --font-h2-mobile: 28px;
  --ui-h2: var(--font-h2-desktop);
  --font-h3-desktop: 24px;
  --font-h3-mobile: 21px;
  --ui-h3: var(--font-h3-desktop);
  --font-h4-desktop: 20px;
  --font-h4-mobile: 18px;
  --ui-h4: var(--font-h4-desktop);
  --font-h5-desktop: 18px;
  --font-h5-mobile: 17px;
  --ui-h5: var(--font-h5-desktop);
  --font-h6-desktop: 16px;
  --font-h6-mobile: 16px;
  --ui-h6: var(--font-h6-desktop);
  --cms-h1-desktop: 28px;
  --cms-h1-mobile: 24px;
  --cms-h2-desktop: 20px;
  --cms-h2-mobile: 19px;
  --cms-h3-desktop: 16px;
  --cms-h3-mobile: 16px;
  --cms-h4-desktop: 16px;
  --cms-h4-mobile: 16px;
  --cms-h5-desktop: 16px;
  --cms-h5-mobile: 16px;
  --cms-h6-desktop: 16px;
  --cms-h6-mobile: 16px;
  --font-text-desktop: 16px;
  --font-text-mobile: 16px;
  --font-button-desktop: 14px;
  --font-button-mobile: 14px;
  --font-menu-desktop: 14px;
  --font-menu-mobile: 14px;
  --font-service-button-desktop: 14px;
  --font-service-button-mobile: 14px;
  --font-cta-button-desktop: 14px;
  --font-cta-button-mobile: 14px;
  --font-mobile-menu-desktop: 16px;
  --font-mobile-menu-mobile: 16px;
  --ui-text: var(--font-text-desktop);
  --ui-button-text: var(--font-button-desktop);
  --ui-menu-text: var(--font-menu-desktop);
  --ui-service-button-text: var(--font-service-button-desktop);
  --ui-cta-button-text: var(--font-cta-button-desktop);
  --ui-mobile-menu-text: var(--font-mobile-menu-desktop);
  --ui-icon: 20px;
  --ui-icon-large: 30px;
  --ui-control: 46px;
  --ui-radius: 18px;
  --ui-padding: clamp(18px,2.4vw,28px);
  --ui-border: rgba(255,255,255,.12);
  --ui-surface: rgba(17,23,34,.72);
  --ui-surface-secondary: rgba(255,255,255,.035);
  --ui-blur: 16px;
  --ui-team-image: 180px;
  --ui-path-node: 52px;
  --ui-path-gap: 36px;
  --ui-gradient: linear-gradient(135deg,#6ad9d4,#9b7cd3);
  --layout-width: 84rem;
  --layout-wide: 84rem;
  --layout-narrow: 60rem;
  --layout-gutter: clamp(1rem, 4vw, 2rem);
  --container: var(--layout-width);
  --container-wide: var(--layout-wide);
  --container-narrow: var(--layout-narrow);
  --cms-panel: var(--ui-surface);
  --cms-line: var(--ui-border);
  --cms-accent: #6ad9d4;
  --cms-radius: var(--ui-radius);
}

[hidden] {
  display: none !important;
}

.cms-prose {
  line-height: 1.8;
  overflow-wrap: anywhere;
  font-size: 1.02rem;
}

.cms-prose h2,
.cms-prose h3 {
  color: #fff;
  font-weight: 600;
}

.cms-prose ul {
  list-style: disc;
}

.cms-prose ol {
  list-style: decimal;
}

.cms-prose table {
  border-collapse: collapse;
}

.cms-prose th,
.cms-prose td {
  border: 1px solid var(--cms-line);
}

.cms-prose blockquote {
  border-left: 3px solid var(--cms-accent);
  background: rgba(255,255,255,0.03);
  border-radius: 0 8px 8px 0;
}

.cms-prose a {
  color: var(--cms-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ql-align-center {
  text-align: center;
}

.ql-align-right {
  text-align: right;
}

.ql-align-justify {
  text-align: justify;
}

.ql-size-small {
  font-size: 0.8em;
}

.ql-size-large {
  font-size: 1.4em;
}

.ql-size-huge {
  font-size: 1.8em;
}

.privacy-panel {
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 18px;
  background: #111722;
  box-shadow: 0 20px 100px rgba(0,0,0,0.6);
}

.privacy-panel h2 {
  font-size: var(--ui-h2);
}

.privacy-panel p {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #b2bece;
}

.privacy-settings {
  border: 0;
  background: none;
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}

@keyframes cmsPulse {

  0% { box-shadow: 0 0 0 0 rgba(106, 217, 212, 0.7);
  }
  70% { box-shadow: 0 0 0 6px rgba(106, 217, 212, 0);
  }
  100% { box-shadow: 0 0 0 0 rgba(106, 217, 212, 0);
  };

}

body:not(.cms-admin) .gradient-text {
  line-height: 1.08;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  -webkit-background-clip: text;
  background-clip: text;
}

main .special-card h3.special-title,
.special-title .gradient-text {
  line-height: 1.02;
}

.wa-logo {
  filter: grayscale(1) brightness(0) invert(1);
}

.nav-dropdown-menu {
  background: #121b28;
  backdrop-filter: none;
  border: 1px solid #ffffff1b;
  border-radius: 15px;
  box-shadow: 0 15px 40px #0006;
}

.nav-dropdown-item {
  border-radius: 9px;
}

.nav-search-toggle {
  border: 1px solid #ffffff22;
  border-radius: 50%;
  background: #ffffff07;
  color: #fff;
}

.nav-wrap.is-search-open {
  background: #101824;
}

.nav-search-bar {
  transition: none;
  opacity: 1;
  transform: none;
}

.nav-search-input {
  font-size: .9rem;
}

.nav-wrap.is-search-open .nav-search-form {
  animation: none;
}

.service-list-search label {
  font-size: .83rem;
  color: #b5c2d3;
}

.service-list-search [role=status] {
  font-size: .75rem;
  color: #99a9bf;
}

.service-overview .svc-row-title {
  overflow-wrap: anywhere;
}

.ref-card .ref-text {
  font-size: .85rem;
  line-height: 1.55;
}

.ref-card .ref-meta {
  font-size: .67rem;
  line-height: 1.4;
}

.ref-card .chip {
  font-size: .68rem;
}

.ref-open-hint {
  font-size: .73rem;
  color: #bbcce1;
}

.m3-panel {
  overscroll-behavior: contain;
}

@media(max-width:760px) {
.service-overview .svc-row-media img {
  transform: none;
  mask-image: linear-gradient(to bottom, black, transparent);
  -webkit-mask-image: linear-gradient(to bottom, black, transparent);
}

.service-overview .svc-row-title {
  font-size: var(--ui-h2);
  line-height: 1.15;
  transform: none;
}

.special-card h3.special-title {
  font-size: var(--ui-h3);
  line-height: 1.02;
}

main .special-card h3.special-title {
  line-height: 1.02;
}

.special-card .special-illu img {
  transform: none;
}

.nav-search-input {
  font-size: .8rem;
}

.nav-wrap.is-search-open {
  visibility: visible;
  opacity: 1;
  transform: none;
}

}
body:not(.cms-admin) .start-claim {
  line-height: .84;
}

body:not(.cms-admin) .start-claim>span {
  line-height: 1.03;
  background-size: 100% 100%;
}

body:not(.cms-admin) .nav-wrap:is(.is-scrolled,.is-search-open) {
  background: rgba(12,18,26,.76);
  backdrop-filter: blur(24px) saturate(125%);
  -webkit-backdrop-filter: blur(24px) saturate(125%);
}

.nav-wrap .nav-search-bar,
.nav-wrap.is-search-open .nav-search-bar {
  border: 0;
  opacity: 1;
  transform: none;
  transition: height .3s cubic-bezier(.2,.65,.25,1);
}

.nav-search-form {
  border: 0;
}

.nav-dropdown-item {
  transition: background-color .24s ease,color .24s ease,box-shadow .24s ease;
}

.nav-dropdown-item:hover,
.nav-dropdown-item:focus-visible {
  background: rgba(155,124,211,.08);
  color: #ddd2f2;
  box-shadow: inset 0 0 0 1px rgba(155,124,211,.08);
}

.ref-slider [data-carousel-clone] .motion-pending {
  opacity: 1!important;
}

.reviews-link-row {
  text-align: center;
}

[data-filter-items]>.faq-topic-heading {
  font-size: 1.15rem;
  line-height: 1.4;
}

.faq-topic-label {
  font-size: .73rem;
  color: #b29bd4;
}

.knowledge-filters,
.glossary-filters {
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.knowledge-filters label,
.glossary-filters label {
  font-size: .76rem;
  line-height: 1.4;
}

.knowledge-filters .field,
.glossary-filters .field {
  font-size: .85rem;
  border-radius: 9px;
  background: #ffffff05;
}

.glossary-alphabet {
  background: rgba(15,21,31,.72);
  backdrop-filter: blur(20px);
}

.search-category-glossary .glossary-entry {
  border-bottom: 1px solid #ffffff16;
}

.search-category-glossary dt {
  font-size: 1.12rem;
  font-weight: 600;
}

.search-category-glossary dd {
  color: #acb9cc;
  line-height: 1.7;
  font-size: .92rem;
}

.project-dialog {
  border-radius: 18px;
  background: rgba(15,22,33,.96);
  backdrop-filter: blur(24px);
}

.project-media>img {
  border-radius: 12px;
}

.project-copy h2 {
  font-size: var(--ui-h2);
  line-height: 1.25;
}

.project-copy>p {
  font-size: .93rem;
  line-height: 1.7;
}

.project-dialog::backdrop {
  background: #05080dbb;
  backdrop-filter: blur(9px);
}

@media(prefers-reduced-motion:reduce) {
.nav-wrap .nav-search-bar {
  transition: none!important;
}

}
.nav-links .nav-dropdown-menu {
  transform: translateY(4px);
  transition: opacity .28s ease,transform .28s ease,visibility .28s;
}

.nav-links .nav-dropdown:hover .nav-dropdown-menu,
.nav-links .nav-dropdown:focus-within .nav-dropdown-menu {
  transform: translateY(0);
}

.nav-links .nav-dropdown-menu::before {
  content: '';
}

.nav-links .nav-dropdown-menu .nav-dropdown-item {
  transform: none;
  background: transparent;
  color: rgba(235,238,245,.82);
  box-shadow: none;
  border: 0;
  transition: background-color .3s ease,color .3s ease;
}

.nav-links .nav-dropdown-menu .nav-dropdown-item:hover {
  box-shadow: none;
}

.nav-links .nav-dropdown-menu .nav-dropdown-item:focus-visible {
  background: rgba(155,124,211,.055);
  color: #e6def4;
  box-shadow: none;
}

#searchResults mark {
  border: 0;
  border-radius: .15em;
  box-shadow: none;
  background: rgba(155,124,211,.24);
  color: #f0e7ff;
  font: inherit;
  line-height: inherit;
  white-space: normal;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

#searchResults .search-result-faq summary .faq-question {
  text-align: left;
  line-height: 1.55;
  white-space: normal;
}

.search-category-glossary .glossary-entry {
  overflow-wrap: anywhere;
}

@media(prefers-reduced-motion:reduce) {
.nav-links .nav-dropdown-menu,
.nav-links .nav-dropdown-menu .nav-dropdown-item {
  transition: none!important;
}

}
:root {
  --control-size: 2.5rem;
  --control-radius: .75rem;
  --cms-space: 1rem;
}

.search-service-children {
  border-left: 1px solid rgb(var(--accent) / .3);
}

[data-filter-items] .faq-topic-heading {
  font-size: 1.05rem;
  color: rgb(var(--text-mute));
}

.ref-slider.is-manual.is-dragging {
  scroll-snap-type: none;
  scroll-behavior: auto;
  cursor: grabbing;
  user-select: none;
}

@keyframes cmsPulse {

  0%, 100% { opacity: 1;
  transform: scale(1);
  }
  50% { opacity: 0.4;
  transform: scale(0.85);
  };

}

body:not(.cms-admin) .nav-wrap:not(.is-scrolled):not(.is-search-open) {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-color: transparent;
  box-shadow: none;
}

body :is(input,textarea,select):focus,
body :is(input,textarea,select):focus-visible {
  outline: none;
  box-shadow: none;
  border-color: rgb(var(--accent) / .5);
}

.nav-search-form button {
  border-radius: 50%;
}

.search-result-service .search-service-image {
  border-radius: 10px;
}

.search-result-service .search-service-icon {
  color: rgb(var(--accent));
  background: rgb(var(--accent) / .08);
  border-radius: 10px;
}

.search-service-children .search-result-card {
  background: transparent;
  box-shadow: none;
}

.search-service-children .search-result-title {
  font-size: var(--ui-h3);
}

.search-service-children .search-result-text {
  font-size: .84rem;
  line-height: 1.5;
}

.search-result-text {
  -webkit-line-clamp: unset;
}

[data-single-picker] {
  border: 1px solid var(--cms-line);
  border-radius: 12px;
}

[data-single-picker] .cms-chip-options button {
  text-align: left;
  border-radius: 9px;
  background: rgb(var(--accent) / .05);
  border: 1px solid var(--cms-line);
}

.knowledge-filters,
.glossary-filters {
  background: rgba(15,21,31,.72);
  border: 1px solid #ffffff16;
  border-radius: 14px;
}

.faq-business-heading :is(svg,i) {
  color: rgb(var(--accent));
}

.website-offer {
  border: 1px solid rgb(var(--border) / .1);
  border-radius: 18px;
  background: rgb(var(--surface) / .65);
}

.website-offer>svg {
  color: rgb(var(--accent));
}

.website-offer ul {
  color: rgb(var(--text-mute));
}

.hosting-more {
  border: 1px solid rgb(var(--border) / .1);
  border-radius: 14px;
}

.hosting-more>summary {
  cursor: pointer;
  font-weight: 600;
}

html[data-page=suche] main .search-result-service .eyebrow {
  font-size: 14px;
  line-height: 1.4;
}

.search-service-group {
  border: 0;
}

.service-hero-image {
  border-radius: 22px;
}

.page-term {
  scroll-margin-top: 110px;
}

.nav-links .nav-dropdown-menu {
  border-radius: 16px;
  background: rgba(15,21,30,.97);
  box-shadow: 0 18px 48px #0004;
}

.nav-links .nav-dropdown-menu .nav-dropdown-item {
  border-radius: 10px;
}

.nav-links .nav-dropdown-menu .nav-dropdown-item:hover {
  background: rgb(var(--accent) / .08);
  color: rgb(var(--text));
}

.mobile-contact-menu {
  border: 1px solid #ffffff20;
  border-radius: 18px;
  background: rgba(15,21,30,.97);
  backdrop-filter: blur(22px);
  box-shadow: 0 18px 60px #0007;
}

.mobile-contact-menu>a {
  border-radius: 10px;
  color: #f1f3f7;
  font-size: .93rem;
}

.mobile-contact-menu>a:hover {
  background: #ffffff08;
}

.ref-card .ref-body .ref-meta {
  font-size: .82rem;
  letter-spacing: .07em;
  line-height: 1.5;
}

.ref-card .ref-title {
  font-size: var(--ui-h3);
  line-height: 1.35;
}

.ref-card .ref-tags .chip {
  font-size: .84rem;
  line-height: 1.4;
}

.project-dialog .project-copy h2 {
  font-size: var(--ui-h2);
}

body:not(.cms-admin) main .start-claim {
  text-align: center;
  white-space: nowrap;
  line-height: 1.1;
}

body:not(.cms-admin) main .start-claim>span {
  white-space: nowrap;
}

.home-about h2,
.about-section .about-copy h2 {
  font-size: var(--ui-h2);
}

.workflow-editor-row {
  border: 1px solid var(--cms-line);
  border-radius: 14px;
}

.history-change pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #ffffff04;
  border-radius: 10px;
  font-size: .8rem;
}

@media(max-width:760px) {
main .special-card h3.special-title {
  font-size: var(--ui-h3);
}

}
.about-editorial > div > h2 {
  font-size: var(--ui-h2);
  line-height: 1.1;
}

body :is(p,.lead,.svc-point-desc,.ref-text,.faq-body,.page-term dd,.glossary-entry dd,.cms-field,.field) {
  font-size: var(--ui-text);
}

body .btn:hover :is(svg,.lc,img) {
  transform: none;
}

.surface-secondary {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: var(--ui-surface-secondary);
}

.mobile-contact-menu {
  transform-origin: calc(100% - 26px) -12px;
}

.about-story-grid h3 {
  font-size: var(--ui-h3);
}

@media(max-width:760px) {
body:not(.cms-admin) main .start-claim {
  white-space: normal;
  text-align: center;
}

body:not(.cms-admin) main .start-claim>span {
  white-space: normal;
}

main .service-detail-points .svc-point-title {
  overflow-wrap: anywhere;
}

}
@media(prefers-reduced-motion:reduce) {
.m3-panel .m3-views {
  transition: none;
}

}
html[data-page=about] div.process-grid>.card {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
}

html[data-page=about] div.process-grid>.card>.lc {
  color: rgb(var(--accent));
}

html[data-page=about] div.process-grid h3 {
  font-size: var(--ui-h3);
}

html[data-page=about] div.process-grid p,
body :is(.svc-point-desc,.ref-text,.faq-body p,.page-term dd,.glossary-entry dd,.cms-field,.field,.cms-panel p),
body {
  font-size: var(--ui-text);
}

body :is(button,input[type=submit],input[type=button],.btn,.text-link,.svc-pill) {
  font-size: var(--control-font-size,var(--ui-button-text))!important;
}

body :is(.nav-links a,.nav-dropdown-btn,.cms-nav a,.cms-tabs a) {
  --control-font-size: var(--ui-menu-text);
  font-size: var(--ui-menu-text);
}

body :is(.svc,.svc-section,.svc-row,.service-tile,.area-card,.service-detail) :is(.btn,.text-link,.svc-pill) {
  --control-font-size: var(--ui-service-button-text);
}

body :is(.cta-panel,.shared-cta,.special) .btn {
  --control-font-size: var(--ui-cta-button-text);
}

body .m3-panel .m3-link {
  --control-font-size: var(--ui-mobile-menu-text);
  font-size: var(--ui-mobile-menu-text);
}

body :is(p,.lead,input:not([type=submit]):not([type=button]),textarea,select) {
  font-size: var(--ui-text);
}

.btn,
.m3-foot .m3-cta {
  border-radius: 999px;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
  cursor: pointer;
  transform: none;
  transition: background .2s,border-color .2s,color .2s;
}

.btn-primary,
.m3-foot .m3-cta {
  border: 1.5px solid transparent;
  color: #fff;
  box-shadow: none;
  background: linear-gradient(#111722,#111722) padding-box,var(--ui-gradient) border-box;
}

.btn-primary:hover,
.m3-foot .m3-cta:hover {
  color: #fff;
  background: linear-gradient(#19232f,#19232f) padding-box,var(--ui-gradient) border-box;
}

.btn::before,
.btn::after {
  content: none;
}

.btn-secondary,
.btn-outline {
  border: 1px solid var(--ui-border);
  background: var(--ui-surface-secondary);
  color: #eef2f8;
  box-shadow: none;
  -webkit-backdrop-filter: blur(var(--ui-blur));
  backdrop-filter: blur(var(--ui-blur));
}

.btn-secondary:hover,
.btn-outline:hover {
  background: #ffffff0d;
  border-color: #ffffff30;
  color: #fff;
}

.btn:focus-visible,
.header-icon-button:focus-visible {
  outline: 2px solid #6ad9d4;
  outline-offset: 4px;
}

.btn:hover {
  transform: none;
}

.header-icon-button {
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #e5edf6;
  cursor: pointer;
  transition: color .2s,opacity .2s;
}

.header-icon-button:hover {
  color: #6ad9d4;
}

.header-icon-button::before,
.header-icon-button::after {
  content: none;
}

.nav-search-form .nav-search-submit {
  border-radius: 50%;
}

.nav-search-submit>svg {
  color: currentColor;
  opacity: 1;
  visibility: visible;
}

.term-tooltip {
  border: 1px solid var(--ui-border);
  border-radius: 12px;
  background: rgba(15,21,31,.97);
  color: #edf2fa;
  font-size: 14px;
  line-height: 1.55;
  box-shadow: 0 14px 40px #0005;
  pointer-events: none;
}

.back-top {
  border-radius: 50%;
  border: 1px solid var(--ui-border);
  background: rgba(14,20,31,.88);
  color: #edf2fa;
  -webkit-backdrop-filter: blur(var(--ui-blur));
  backdrop-filter: blur(var(--ui-blur));
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .25s,transform .25s,visibility .25s,background .2s;
}

.back-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}

.back-top:hover {
  background: rgba(22,30,46,.96);
}

.footer-claim {
  font-size: var(--ui-text);
  line-height: 1.5;
  text-align: center;
}

.footer-contact li,
.footer-contact li>a {
  line-height: 1.5;
}

.footer-contact :is(svg.lc,img.wa-logo) {
  color: #dce4ee;
  opacity: 1;
}

.workflow-path {
  list-style: none;
}

.workflow-path>li {
  text-align: center;
}

.workflow-path>li:not(:last-child)::after {
  content: "";
  background: var(--ui-gradient);
  opacity: .6;
}

.workflow-number {
  border: 1px solid transparent;
  border-radius: 50%;
  background: linear-gradient(#111722,#111722) padding-box,var(--ui-gradient) border-box;
  color: #edf2fa;
  font-size: 20px;
  font-weight: 600;
}

.workflow-path h3 {
  font-size: var(--ui-h3);
  line-height: 1.3;
}

.workflow-path p {
  font-size: var(--ui-text);
  line-height: 1.6;
}

.personal-team-card {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
  text-align: center;
}

.personal-team-photo {
  border-radius: 16px;
  background: linear-gradient(140deg,#6ad9d419,#111722);
}

.personal-team-photo>span {
  border: 1px solid #6ad9d44d;
  border-radius: 50%;
  font-size: clamp(2rem,4vw,3rem);
  color: #6ad9d4;
}

.personal-team-copy h3 {
  font-size: var(--ui-h3);
  line-height: 1.3;
}

.personal-team-copy .team-specialty {
  color: #6ad9d4;
  font-size: var(--ui-text);
  line-height: 1.5;
}

.personal-team-copy>p:last-child {
  line-height: 1.6;
}

.personal-team-compact {
  --ui-team-image: 100%;
}

.personal-team-compact .personal-team-copy h3 {
  font-size: var(--ui-h3);
}

.work-principles>.card {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
}

.work-principles>.card>.lc {
  color: #6ad9d4;
}

.work-principles h3 {
  font-size: var(--ui-h3);
}

.work-principles p {
  line-height: 1.4;
  font-size: 14px!important;
  color: rgb(var(--text-mute));
}

.surface-primary {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
}

@media(max-width:760px) {
.personal-team-compact {
  --ui-team-image: 150px;
}

.personal-team-compact .personal-team-copy h3 {
  font-size: var(--ui-h3);
}

}
@media(prefers-reduced-motion:reduce) {
.back-top {
  transition: none;
}

}
:root {
  --page-section-gap: clamp(32px,5vw,64px);
  --page-hero-bottom: 32px;
  --search-control-height: 48px;
}

.nav-wrap .nav-links>a,
.nav-wrap .nav-links .nav-dropdown-btn,
.m3-panel .m3-link:not(.m3-cta) {
  background: transparent;
  box-shadow: none;
}

.nav-wrap .nav-links>a:hover,
.nav-wrap .nav-links .nav-dropdown-btn:hover {
  background: transparent;
}

body :is(input,textarea,select):is(:focus,:focus-visible),
body .field:is(:focus,:focus-visible),
.nav-search-input-wrap:focus-within,
.search-page-field:focus-within {
  outline: 0;
  outline-offset: 0;
  box-shadow: none;
  --tw-ring-shadow: 0 0 #0000;
  --tw-ring-offset-shadow: 0 0 #0000;
}

main .svc-section,
main .svc-section .svc-section-inner,
main .svc-section .svc-section-content {
  background: transparent;
  box-shadow: none;
}

.service-overview .svc-row-title,
main .service-overview .svc-row-title {
  font-size: var(--ui-h2);
  line-height: 1.2;
}

.service-overview .svc-row-title a {
  font-size: inherit;
}

.mobile-contact-menu>a>span {
  overflow-wrap: anywhere;
}

.mobile-contact-menu>a.btn-primary {
  border-radius: 999px;
}

.faq-section-heading {
  text-align: center;
}

.footer-contact .btn {
  font-size: 16px;
}

body a.back-top {
  font-size: 28px!important;
  line-height: 1;
}

.loop.loop-interactive {
  cursor: grab;
}

.loop.loop-interactive.is-dragging {
  cursor: grabbing;
  user-select: none;
}

.loop.loop-interactive.is-ready :is(.marquee-track,.loop-track) {
  animation: none;
}

@media(max-width:760px) {
body:not(.cms-admin) main .start-claim {
  line-height: 1.06;
}

.workflow-path {
  --ui-path-node: 42px;
  --ui-path-gap: 20px;
}

.workflow-number {
  font-size: 18px;
}

.workflow-path h3 {
  font-size: var(--ui-h3);
}

.workflow-path p {
  line-height: 1.45;
}

.search-page-form .btn {
  border-radius: 50%;
}

.service-overview .svc-row-desc,
.svc-section-lead,
.svc-point-desc,
.faq-body,
.review-card p,
.personal-team-copy p {
  font-size: var(--ui-text);
  line-height: 1.55;
}

}
@media(prefers-reduced-motion:reduce) {
.loop.loop-interactive.is-ready :is(.marquee-track,.loop-track) {
  transform: translate3d(0,0,0);
}

}
@media(max-width:760px) {
body :is(input,textarea,select),
.nav-search-form .nav-search-input {
  font-size: var(--ui-text);
}

.ref-card .ref-meta,
.ref-card .ref-tags .chip,
.form-label {
  font-size: 14px;
}

}
@media(max-width:1179px) {
:root {
  --ui-text: var(--font-text-mobile);
  --ui-button-text: var(--font-button-mobile);
  --ui-menu-text: var(--font-menu-mobile);
  --ui-service-button-text: var(--font-service-button-mobile);
  --ui-cta-button-text: var(--font-cta-button-mobile);
  --ui-mobile-menu-text: var(--font-mobile-menu-mobile);
}

}
.shared-workflow .section-heading,
.shared-workflow .section-heading h2 {
  text-align: center;
}

body h1 {
  font-size: var(--ui-h1);
  line-height: 1.2;
}

body h2 {
  font-size: var(--ui-h2);
  line-height: 1.2;
}

body h3 {
  font-size: var(--ui-h3);
  line-height: 1.2;
}

body h4 {
  font-size: var(--ui-h4);
  line-height: 1.2;
}

body h5 {
  font-size: var(--ui-h5);
  line-height: 1.2;
}

body h6 {
  font-size: var(--ui-h6);
  line-height: 1.2;
}

body :is(input,textarea,select,[contenteditable=true]):is(:focus,:focus-visible,:active),
body .field:is(:focus,:focus-visible,:active),
body :is(.nav-search-input-wrap,.search-page-field,.cms-dialog-search-wrap):focus-within {
  outline: none;
  outline-offset: 0;
  box-shadow: none;
  --tw-ring-shadow: 0 0 #0000;
  --tw-ring-offset-shadow: 0 0 #0000;
}

@media(max-width:1179px) {
:root {
  --ui-h1: var(--font-h1-mobile);
  --ui-h2: var(--font-h2-mobile);
  --ui-h3: var(--font-h3-mobile);
  --ui-h4: var(--font-h4-mobile);
  --ui-h5: var(--font-h5-mobile);
  --ui-h6: var(--font-h6-mobile);
}

}
body:not(.cms-admin) main .special-card h3.special-title {
  font-size: var(--font-support-title-desktop);
}

body:not(.cms-admin) .home-about h2 {
  font-size: var(--font-about-title-desktop);
  line-height: 1.15;
}

body:not(.cms-admin) main .start-claim {
  font-size: var(--font-claim-desktop);
}

body .m3-panel :is(button,.btn,.m3-cta,.m3-link) {
  --control-font-size: var(--ui-mobile-menu-text);
  font-size: var(--ui-mobile-menu-text);
}

main :is(.svc-section,.service-detail-points) .svc-point-title {
  font-size: var(--font-service-card-title);
  line-height: 1.3;
}

@media(max-width:760px) {
body:not(.cms-admin) .home-about h2 {
  font-size: var(--font-about-title-mobile);
}

body:not(.cms-admin) main .start-claim {
  font-size: var(--font-claim-mobile);
}

body:not(.cms-admin) :is(.svc-pill,.ref-meta,.ref-tags .chip) {
  font-size: 14px;
}

}
body:not(.cms-admin) .about-section .about-copy h2 {
  font-size: var(--font-about-title-desktop);
  line-height: 1.12;
}

.footer .footer-bottom>span {
  font-size: 14px;
  line-height: 1.4;
}

.footer .footer-bottom>.footer-claim {
  text-align: right;
}

.contact-layout-clean .contact-main {
  border-radius: var(--r-xl);
}

.contact-layout-clean h2 {
  font-size: var(--ui-h3);
}

.contact-direct-links>a {
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.contact-direct-links img {
  filter: brightness(0) invert(1);
}

.contact-direct-links small {
  font-size: 14px;
  color: #9caabd;
}

.contact-location {
  border-top: 1px solid var(--ui-border);
}

.contact-location h3 {
  font-size: 18px;
}

.search-category-services :is(.search-service-image,.search-service-icon,.search-result-thumb) {
  border-radius: 12px;
}

.search-category-pages .search-result-title {
  font-size: 20px;
}

.search-category-header {
  border: 0;
}

.search-category-header::after {
  content: none;
}

@media(max-width:760px) {
body:not(.cms-admin) .about-section .about-copy h2 {
  font-size: var(--font-about-title-mobile);
}

.footer .footer-bottom>span {
  font-size: clamp(11px,3vw,14px);
}

.footer .footer-bottom>span:first-child {
  text-align: left;
}

}
html[data-page=faq] .section-hero :is(h1,.lead,.page-intro) {
  text-align: left;
}

html[data-page=faq] .section-hero h1 {
  font-size: var(--ui-h1);
  line-height: 1.15;
}

.embedded-element>.section-heading {
  text-align: center;
}

.element-card {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: var(--ui-surface-secondary);
}

.element-card-heading img {
  border-radius: 8px;
}

.cms-prose .element-card h3 {
  font-size: 20px;
}

.element-card ul {
  line-height: 1.6;
}

.element-price {
  font-weight: 600;
  font-size: 22px;
}

.element-notes {
  line-height: 1.6;
}

.element-notes table {
  border-collapse: collapse;
}

.element-notes :is(th,td) {
  text-align: left;
  border-bottom: 1px solid var(--ui-border);
}

@media(max-width:1179px) {
.mobile-contact-menu :is(a,button,span,.btn) {
  font-size: 16px;
  --control-font-size: 16px;
}

}
body:not(.cms-admin) .about-editorial>div>h2 {
  font-size: var(--font-about-title-desktop);
  line-height: 1.08;
}

html[data-page=faq] .section-hero .page-intro .lead {
  text-align: left;
}

@media(max-width:760px) {
body:not(.cms-admin) .about-editorial>div>h2 {
  font-size: var(--font-about-title-mobile);
}

}
body main a.term-link[data-term-tooltip],
body main a.term-link[data-term-tooltip]:visited {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--glossary-line-color,rgba(106,190,225,.75));
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

body main a.term-link[data-term-tooltip]:hover {
  color: var(--glossary-hover-color,#87cce5);
  text-decoration-color: var(--glossary-line-color,currentColor);
}

body main a.term-link[data-term-tooltip]::after {
  content: none;
}

main .embedded-element>.section-heading {
  text-align: center;
}

main .embedded-element>.section-heading h2 {
  line-height: 1.15;
}

main .embedded-element>.section-heading p {
  line-height: 1.6;
}

main .embedded-element .element-card {
  background: linear-gradient(145deg,rgba(22,31,44,.86),rgba(13,20,30,.8));
  border: 1px solid var(--ui-border);
  border-radius: 20px;
  box-shadow: 0 8px 24px #00000012;
}

main .element-card-icon {
  border: 1px solid rgba(106,217,212,.16);
  border-radius: 12px;
  background: rgba(106,217,212,.06);
  color: #91d7df;
}

main .element-card-heading h3 {
  font-size: 22px;
  line-height: 1.2;
}

main .element-card .element-card-subtitle {
  font-size: 15px;
  line-height: 1.5;
  color: #aab9ca;
}

main .element-card .element-features {
  list-style: none;
}

main .element-features li {
  font-size: 15px;
  line-height: 1.5;
}

main .element-features li::before {
  content: none;
}

main .element-features .lc {
  color: #7bc7cc;
}

main .element-card-footer {
  border-top: 1px solid var(--ui-border);
}

main .element-card-footer .element-price {
  font-size: 22px;
  line-height: 1.35;
  font-weight: 650;
  color: #f3f6fa;
}

main .element-card-footer .element-managed {
  font-size: 14px;
  line-height: 1.5;
  color: #9eaec1;
}

main .element-card-footer .btn {
  white-space: normal;
  text-align: center;
}

main .element-notes {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: var(--ui-surface-secondary);
}

main .element-notes :is(h2,h3,h4) {
  text-align: left;
  font-size: 22px;
  line-height: 1.3;
}

main .service-detail-points .svc-point {
  text-align: center;
  transform: none;
  transition: background .2s,border-color .2s;
}

main .service-detail-points .svc-point:hover {
  transform: none;
  translate: none;
}

main .service-detail-points .svc-point-title {
  font-size: 18px;
  line-height: 1.3;
  text-align: center;
}

main .service-detail-points .svc-point-desc {
  text-align: center;
}

@media(max-width:760px) {
main .service-detail-points .svc-point-desc {
  font-size: 14px;
}

main .embedded-element>.section-heading h2 {
  font-size: 28px;
}

}
.loop.loop-interactive,
.loop.loop-interactive * {
  touch-action: pan-y;
}

.loop.loop-interactive {
  user-select: none;
  -webkit-user-select: none;
}

.loop.loop-interactive .loop-group[aria-hidden=true] {
  pointer-events: auto;
}

.loop.loop-interactive :is(.marquee-track,.loop-track) {
  transition: none;
}

body:not(.cms-admin) main .special-card h3.special-title,
.special-title-lines {
  line-height: 1.02;
}


body #contactForm :is(input,textarea,select,.chip-option,.form-label,.check-label) {
  font-size: 14px;
}

body #contactForm :is(.motion-pending,.reveal) {
  opacity: 1;
  transform: none;
  animation: none;
}

.contact-direct-links>a>span {
  line-height: 1.45;
}

.contact-direct-links small {
  line-height: 1.3;
}

main .svc-section .svc-point-title {
  font-size: 14px;
  line-height: 1.35;
}

html {
  scroll-padding-top: 0;
}

body main :is([id],.glossary-entry,.page-term,.term-card) {
  scroll-margin-top: var(--anchor-offset,110px);
}

body main .cms-prose .element-card .btn-primary {
  color: #fff;
  text-decoration: none;
  border-bottom: 1.5px solid transparent;
  background: linear-gradient(#111722,#111722) padding-box,var(--ui-gradient) border-box;
}

body main .cms-prose .element-card .btn-primary:hover {
  color: #fff;
  text-decoration: none;
  background: linear-gradient(#19232f,#19232f) padding-box,var(--ui-gradient) border-box;
}

.business-icon-tile {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: var(--ui-surface-secondary);
}

.business-icon-tile h3 {
  font-size: 24px;
}

@media(max-width:760px) {
body:not(.cms-admin) main .special-card h3.special-title {
  font-size: clamp(34px,9vw,45px);
}

.business-icon-tile h3 {
  font-size: 21px;
}

}
html.motion-boot #contactForm {
  opacity: 1;
}

.search-category-glossary .glossary-entry>dt {
  line-height: 1.35;
}

.search-category-glossary .glossary-entry>dd {
  line-height: 1.55;
}

main .svc-section .svc-points .svc-point-title {
  font-size: 18px;
  line-height: 1.35;
}

main .svc-section .svc-points .svc-point-desc {
  font-size: 14px;
  line-height: 1.5;
}

.contact-layout-clean .contact-direct-links>a>span {
  line-height: 1.35;
}

.contact-layout-clean .contact-direct-links>a>span>small,
.search-category-services .search-result-service .search-result-title {
  line-height: 1.25;
}

@media(min-width:761px) {
body:not(.cms-admin) main .special-card h3.special-title,
body:not(.cms-admin) main .special-card .special-title-lines {
  line-height: .96;
}

body:not(.cms-admin) main .special-card .special-title-lines .gradient-text {
  line-height: inherit;
}

}
html[data-page=about] .related-grid .about-business-card {
  color: inherit;
  text-decoration: none;
}

html[data-page=about] .about-business-card .svc-title {
  font-size: 24px;
  line-height: 1.2;
}

html[data-page=about] .about-business-card .svc-cta {
  font-size: 14px;
}

main .marquee-item img {
  filter: grayscale(1);
  transition: filter .25s ease;
}

main .marquee-item:hover img {
  filter: grayscale(0);
}

.reviews-section .review-card .review-stars {
  font-size: 17px;
}

html[data-page="faq"] main .section-hero :is(.faq-page-heading,h1,p) {
  text-align: left;
}

main .cta-panel.shared-cta {
  --accent: var(--c-primary);
  text-align: center;
}

@media(max-width:760px) {
.responsive-filters {
  border: 1px solid var(--ui-border);
  border-radius: var(--r-lg,16px);
  background: rgba(20,26,36,.45);
  backdrop-filter: blur(14px);
}

.responsive-filters > summary {
  cursor: pointer;
  list-style: none;
  font-size: 16px;
}

}
.page-outline {
  --outline-top: 96px;
  --outline-height: calc(100dvh - 120px);
  border: 1px solid var(--ui-border);
  border-radius: 16px 0 0 16px;
  background: rgba(12,18,26,.78);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  transform: translate(100%,-50%);
  opacity: 0;
  visibility: hidden;
  transition: transform .28s ease,opacity .2s,visibility .2s;
}

.page-outline.is-visible {
  opacity: 1;
  visibility: visible;
}

.page-outline.is-open {
  transform: translate(0,-50%);
  box-shadow: -12px 0 36px #0004;
}

.page-outline .outline-toggle {
  transform: translateY(-50%);
  border: 1px solid var(--ui-border);
  border-right: 0;
  border-radius: 10px 0 0 10px;
  color: #b4bfd0;
  background: rgba(12,18,26,.78);
  backdrop-filter: blur(24px);
  cursor: pointer;
}

.outline-toggle > :is(svg,i) {
  transition: rotate .25s;
}

.page-outline.is-open .outline-toggle > :is(svg,i) {
  rotate: 180deg;
}

.page-outline .outline-links {
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #9b7cd366 transparent;
}

.outline-links a {
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.45;
  color: rgb(var(--text-mute));
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  transition: background .2s,color .2s;
}

.outline-links a:hover {
  color: #fff;
  background: #ffffff0a;
}

.outline-links a.is-active {
  color: #6ad9d4;
  background: #6ad9d414;
}

@media(prefers-reduced-motion:reduce) {
.page-outline,
.outline-toggle > :is(svg,i) {
  transition: none;
}

}
.reviews-section .review-card .review-stars {
  line-height: 1.1;
}

body:not(.cms-admin) main .reviews-section .review-card > p {
  --ui-text: 14px;
  font-size: 14px;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

body:not(.cms-admin) main .reviews-section .review-card > p :is(a,span,strong,em) {
  font-size: inherit;
}

html[data-page="faq"] .page-intro,
html[data-page="faq"] .page-intro > .lead {
  text-align: left;
}

.search-category-faq .faq-body :is(p,.term-link) {
  -webkit-line-clamp: unset;
  line-clamp: unset;
}

.responsive-filters > summary svg {
  transition: rotate .2s;
}

.responsive-filters[open] > summary svg {
  rotate: 180deg;
}

@media(max-width:760px) {
html:is([data-page="faq"],[data-page="glossar"]) .responsive-filters > :is(.knowledge-filters,.glossary-filters) {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

}
.ref-slider .ref-card .ref-body .ref-meta,
html[data-page="refs"] .ref-card .ref-body .ref-meta {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .025em;
  color: rgb(var(--text-mute));
}

.ref-slider [data-carousel-clone] {
  opacity: 1;
  visibility: visible;
  translate: none;
}

select {
  color-scheme: dark;
}

select option,
select optgroup {
  background-color: #111b29;
  color: #e6edf5;
}

@keyframes cms-toast-in {
 from { opacity:0; translate:0 -8px; } to { opacity:1; translate:0 0; } 
}

html:is([data-page="faq"],[data-page="glossar"],[data-page="refs"]) .sort-icon-toggle {
  border-radius: 50%;
}

.element-hosting-pakete .hosting-support-card {
  border: 1px solid #ffffff18;
  border-radius: 22px;
  background: linear-gradient(145deg,#17232bd9,#0d151ed9);
  backdrop-filter: blur(16px);
}

.element-hosting-pakete .hosting-support-card h3 {
  font-size: 20px;
  line-height: 1.3;
}

.element-hosting-pakete .hosting-support-card p {
  line-height: 1.7;
  color: #b8c7d5;
}

.element-hosting-pakete .element-notes table {
  border-collapse: collapse;
  font-size: 14px;
}

.element-hosting-pakete .element-notes th,
.element-hosting-pakete .element-notes td {
  text-align: left;
  border-bottom: 1px solid #ffffff15;
}

.element-hosting-pakete .element-notes > div:has(table) {
  border: 1px solid #ffffff15;
  border-radius: 16px;
}

#contactForm .form-status:not(:empty) {
  border-radius: 16px;
  border: 1px solid #6ad9d450;
  background: #14302de0;
  color: #d7f4ed;
  font-size: 14px;
}

#contactForm .form-status.is-err {
  border-color: #fb718550;
  background: #341c28e0;
}

.cms-title-gradient {
  background: linear-gradient(90deg,rgb(var(--c-design)) 0%,rgb(var(--c-it)) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  box-decoration-break: slice;
  -webkit-box-decoration-break: slice;
}

@media(forced-colors:active) {
.cms-title-gradient {
  color: CanvasText;
  -webkit-text-fill-color: CanvasText;
  background: none;
}

}
main .service-detail-points .svc-point-desc,
.search-category-services .search-result-service .search-result-text,
.search-category-pages .search-result-text {
  --ui-text: 14px;
  font-size: 14px;
  line-height: 1.55;
}

html[data-page=home] main .start-grid .svc-text {
  --ui-text: 16px;
  font-size: 16px;
}

html[data-page=home] main .start-lead {
  --ui-text: 18px;
  font-size: 18px;
  color: rgb(var(--text-mute));
}

html[data-page=home] main .reviews-section .review-card > p {
  color: rgb(var(--text-mute));
}

.nav-links .nav-dropdown-menu .nav-dropdown-item {
  font-size: 14px;
}

.footer .footer-brand-text {
  --ui-text: 14px;
  font-size: 14px;
}

.footer :is(svg.lc,.footer-social svg) {
  color: rgb(var(--text-mute));
}

.footer :is(img.wa-logo,img.social-brand-icon) {
  filter: brightness(0) saturate(100%) invert(77%) sepia(9%) saturate(490%) hue-rotate(175deg) brightness(93%) contrast(87%);
}

.project-dialog {
  --project-max-height: min(720px,calc(100dvh - 32px));
}

.project-dialog .project-close {
  color: rgb(var(--text-mute));
  background: #131b26e8;
  cursor: pointer;
}

.project-dialog .project-layout {
  overscroll-behavior: contain;
}

.project-dialog .project-media {
  background: #090e16;
}

.project-dialog .project-stage {
  touch-action: pan-y;
}

.project-dialog .project-stage > :is(img,video) {
  border-radius: 0;
  background: #090e16;
}

.project-dialog .project-gallery-controls {
  transform: translateY(-50%);
  pointer-events: none;
}

.project-dialog .project-gallery-controls button {
  pointer-events: auto;
  color: #e6edf5;
  background: #101722d9;
  cursor: pointer;
  --control-font-size: 30px;
  font-size: 30px;
  line-height: 1;
}

.project-dialog [data-gallery-status] {
  font-size: 13px;
  color: rgb(var(--text-mute));
}

.project-gallery-dots button {
  cursor: pointer;
}

.project-gallery-dots button::after {
  content: '';
  border-radius: 50%;
  background: #758093;
}

.project-gallery-dots button[aria-current=true]::after {
  background: #dce4ee;
}

.project-dialog .project-copy {
  overflow-wrap: anywhere;
}

.project-dialog :is(.project-close,.project-gallery-controls button,.project-gallery-dots button):focus-visible {
  outline: 2px solid #6ad9d4;
  outline-offset: -3px;
}

html[data-page=home] main .reviews-section .review-text {
  --ui-text: 14px;
  color: rgb(var(--text-mute));
  font-size: 14px;
  line-height: 1.55;
}

html[data-page=home] main .reviews-section .review-text p {
  font-size: 14px;
  line-height: 1.55;
  white-space: normal;
  color: inherit;
}

.ref-thumb video {
  pointer-events: none;
}

.ref-video-label {
  border-radius: 20px;
  background: #101722dd;
  font-size: 13px;
}

html[data-page=refs] .reference-filters label {
  font-size: 14px;
}

html:is([data-page=faq],[data-page=glossar],[data-page=refs]) :is(.knowledge-filters,.glossary-filters) :is(input.field,select.field) {
  line-height: normal;
}

@media(min-width:761px) {
html:is([data-page=faq],[data-page=glossar],[data-page=refs]) :is(.knowledge-filters,.glossary-filters) :is(input.field,select.field) {
  --ui-text: 14px;
  font-size: 14px;
}

}
main .service-detail-points .svc-point {
  border: 1px solid transparent;
  border-radius: 1rem;
  background: linear-gradient(125deg,rgba(17,23,31,.93),rgba(20,23,33,.88)) padding-box,linear-gradient(120deg,rgba(106,217,212,.3),rgba(255,255,255,.07) 42%,rgba(155,124,211,.28)) border-box;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: none;
}

@media(max-width:760px) {
main .service-detail-points .svc-point {
  text-align: left;
}

main .service-detail-points .svc-point-title {
  text-align: left;
  font-size: 18px;
  line-height: 1.35;
}

main .service-detail-points .svc-point-desc {
  text-align: left;
  line-height: 1.5;
}

}
html[data-page=refs] [data-reference-status] {
  color: rgb(var(--text-mute));
  font-size: 14px;
}

@media(max-width:760px) {
html[data-page=refs] .responsive-filters .reference-filters {
  border: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
}

}

/* Shared mobile appearance for area-page service listings. */
@media(max-width:760px) {
main .svc-section-media { mask-image:linear-gradient(to bottom,black,transparent); -webkit-mask-image:linear-gradient(to bottom,black,transparent); }
main .svc-section .svc-points .svc-point-title { text-align:center; font-size:16px; line-height:1.35; hyphens:auto; overflow-wrap:anywhere; }
}

/* Shared service badge and business-specific glossary decoration. */
html:is([data-content-type=business],[data-content-type=area],[data-content-type=service]) body { --glossary-line-color:rgb(var(--accent)); --glossary-hover-color:rgb(var(--accent)); }
.link-tree-card,.link-tree-shortcut,.link-tree-social a { color:inherit; text-decoration:none; }
html[data-page=links] main .link-tree-card .svc-title { font-size:22px; line-height:1.2; }
html[data-page=links] main .link-tree-card .svc-image { mask-image:linear-gradient(to left,#0008,transparent); -webkit-mask-image:linear-gradient(to left,#0008,transparent); }
.link-tree-shortcut { border:1px solid var(--ui-border); border-radius:var(--ui-radius); background:var(--ui-surface); font-weight:600; }
.link-tree-shortcut .lc,.link-tree-social a { color:rgb(var(--accent)); }
.link-tree-shortcut:hover,.link-tree-shortcut:focus-visible { border-color:rgb(var(--accent)); }
.link-tree-social a:hover { color:rgb(var(--text)); }
.link-tree-legal { font-size:12px; color:rgb(var(--text-mute)); }
@media(max-width:760px) {
body:not(.cms-admin) { --ui-button-text:16px; --ui-cta-button-text:16px; }
html[data-page=links] main .link-tree-card .svc-title { font-size:18px; }
}

html[data-page=home] .svc { --glossary-line-color:rgb(var(--accent)); --glossary-hover-color:rgb(var(--accent)); }
.accent-shop { --accent:79 70 229; }
html[data-page=links] main .link-tree-card > .lc { color:rgb(var(--accent)); }
html[data-page=home] .reviews-section .review-card .review-stars { font-size:14px; line-height:1; }
html[data-page=suche] .search-category-glossary mark { background:rgba(106,217,212,.22); color:#6ad9d4; font-weight:600; border-radius:.2em; }
@media(min-width:761px) {
.service-overview .svc-row-media img { mask-image:linear-gradient(to right,#000 55%,transparent); -webkit-mask-image:linear-gradient(to right,#000 55%,transparent); }
body:not(.cms-admin) main :is(.section-hero,.section-start,.about-hero) .lead { font-size:var(--page-intro-font-size-desktop,20px); }
}

.reviews-section .review-card .review-card-top > div > span { line-height:1.15; }

@media(max-width:360px) {
html[data-page=home] body:not(.cms-admin) main .special-card h3.special-title { font-size:28px; }
}

html[data-cursor-glow=off] .canvas::before,
html[data-cursor-glow=off] .canvas::after { content:none; }

main .svc-section-title > a { color:inherit; text-decoration:none; }
main .svc-section :is(.svc-section-lead,.svc-point-desc),
main .workflow-path p { color:rgb(var(--text-mute)); }

.m3-default-accent { --accent:var(--c-primary); }
.m3-panel .m3-sub-title { color:rgb(var(--accent)); }
.error-code { font-size:clamp(112px,18vw,240px); font-weight:800; line-height:1; letter-spacing:-.07em; }
.error-art-caption { color:rgb(var(--text-mute)); }
.error-search label { color:rgb(var(--text)); font-weight:600; }

.m3-panel { --accent:var(--c-primary); }

.m3-panel .m3-sub-head .m3-sub-title { font-size:1.05rem; }
main .hosting-details { border:0; background:none; box-shadow:none; }
main .hosting-details .hosting-support-card p { color:rgb(var(--text-mute)); }
main .hosting-details .hosting-addon h3 { font-size:18px; line-height:1.35; }
main .hosting-details .hosting-addon-price { font-size:22px; font-weight:600; color:rgb(var(--text)); }
main .hosting-details .hosting-addon-details .muted { font-size:14px; }

/* Shared surfaces are inherited from the same rule as CTA and FAQ containers. */
.personal-team-compact .personal-team-photo { border-radius:0; background:transparent; }
.team-photo-notice { font-size:.875rem; font-weight:600; color:#fff; text-shadow:0 1px 5px #000; background:rgba(10,13,18,.16); pointer-events:none; }
button.ref-open-hint { appearance:none; border:0; border-radius:0; background:transparent; padding:0; font-family:inherit; font-size:.73rem; color:#bbcce1; cursor:pointer; text-align:inherit; }
button.ref-open-hint:focus-visible { outline:2px solid rgb(var(--accent)); outline-offset:5px; }
