@keyframes sc-shine { 
  0% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@media print {
#dc-root, #dc-root > .sc-host { height: auto; }
*, ::before, ::after { print-color-adjust: exact; backdrop-filter: none !important; animation-delay: -99s !important; animation-duration: 0.001s !important; animation-iteration-count: 1 !important; animation-fill-mode: both !important; animation-play-state: running !important; transition-duration: 0s !important; }}

:root { --color-bg: #fff !important; }
h1, h2, h3, h4, h5, h6 { max-width: none !important; text-wrap: pretty !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: none !important; }
.scp0:hover { background: var(--color-surface) !important; color: var(--color-text) !important; }

.scp3:hover { background: var(--color-text) !important; color: var(--color-bg) !important; }
.scp6:hover { background: var(--color-bg) !important; color: var(--color-text) !important; border-color: var(--color-bg) !important; }
html, body { height: 100%; margin: 0px; }
#dc-root, #dc-root > .sc-host { height: 100%; }
@font-face { font-family: Archivo; font-style: normal; font-weight: 400 800; font-stretch: 62% 125%; font-display: swap; src: url("/assets/fonts/archivo-variable-latin.woff2") format("woff2"); }
:root { --color-bg: #ffffff; --color-surface: #ffffff; --color-text: #141d2d; --color-accent: #f45100; --color-accent-2: #ff792b; --color-divider: color-mix(in srgb, #141d2d 40%, transparent); --color-neutral-100: #f5f6f8; --color-neutral-200: #e6eaf0; --color-neutral-300: #d7d3d3; --color-neutral-400: #bab6b6; --color-neutral-500: #9b9797; --color-neutral-600: #7d7979; --color-neutral-700: #605d5d; --color-neutral-800: #444141; --color-neutral-900: #2d2b2b; --color-accent-100: #fff2ef; --color-accent-200: #ffe0d9; --color-accent-300: #ffc4b8; --color-accent-400: #ff9783; --color-accent-500: #ff792b; --color-accent-600: #d83d00; --color-accent-700: #d83d00; --color-accent-800: #7c1405; --color-accent-900: #4d170e; --color-accent-2-100: #fff2ef; --color-accent-2-200: #ffe0da; --color-accent-2-300: #ffc4b9; --color-accent-2-400: #ff9784; --color-accent-2-500: #ef6853; --color-accent-2-600: #c94b39; --color-accent-2-700: #9e3526; --color-accent-2-800: #71261b; --color-accent-2-900: #471d16; --font-heading: "Archivo", system-ui, sans-serif; --font-heading-weight: 800; --font-body: "Archivo", system-ui, sans-serif; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-6: 24px; --space-8: 32px; --radius-sm: 0px; --radius-md: 0px; --radius-lg: 0px; --shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent); --shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent); --shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent); }
body { background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); }
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); }
*, ::before, ::after { box-sizing: border-box; }
body { margin: 0px; font-size: 15px; line-height: 1.55; font-weight: 400; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 var(--space-2); }
h1 { font-size: 42px; }
h2 { font-size: 32px; }
h3 { font-size: 25px; }
p { margin: 0 0 var(--space-3); }
a { color: var(--color-accent); text-underline-offset: 3px; }
img { display: block; max-width: 100%; }

:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb,var(--color-accent) 30%,transparent); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; text-decoration: none; font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 14px; line-height: 1.2; color: var(--color-text); background: transparent; border: 1px solid transparent; padding: var(--space-2) calc(var(--space-3) * 1.2); border-radius: var(--radius-md); }
.btn svg { display: block; }
.btn-primary { background: var(--color-accent); color: var(--color-bg); }
.btn-primary:hover { background: var(--color-accent-600); }
.btn-primary:active { background: var(--color-accent-700); }
.btn-secondary { border-color: var(--color-divider); }
.btn-secondary:hover { background: color-mix(in srgb,var(--color-text) 7%,transparent); }
.btn-secondary:active { background: color-mix(in srgb,var(--color-text) 14%,transparent); }





:root { --color-accent: #c3260d; }
@keyframes leistungen-readable-n { 
  0%, 10% { opacity: 0.8; transform: translateY(5px); }
  16%, 72% { opacity: 1; transform: translateY(0px); }
  82%, 100% { opacity: 0.8; transform: translateY(-5px); }
}
@keyframes leistungen-readable-z { 
  0%, 10% { opacity: 0.8; transform: scale(0.96); }
  18%, 78% { opacity: 1; transform: scale(1); }
  88%, 100% { opacity: 0.8; transform: scale(0.96); }
}


:root { --color-bg: #ffffff; }
h1, h2, h3, h4, h5, h6 { text-wrap: pretty; overflow-wrap: anywhere; max-width: none !important; }
h1[style], h2[style], h3[style], h4[style] { max-width: none !important; }
:root { --ease: cubic-bezier(.2, .8, .2, 1); }

h1, h2, h3, h4, h5, h6 { max-width: none !important; text-wrap: pretty !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: none !important; }

body { margin: 0px; background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); text-wrap: pretty; overflow-wrap: anywhere; }
.site-primary-heading { position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); clip-path: inset(50%); white-space: nowrap; border: 0px; }
.site-closing-red { background: rgb(195, 38, 13) !important; }
.site-closing-red a, .site-closing-red h2, .site-closing-red p, .site-closing-red span { color: var(--color-bg) !important; }
.btn-primary { background: rgb(195, 38, 13) !important; color: var(--color-bg) !important; }
a { color: inherit; text-decoration: none; }
a:not(.btn):hover { color: var(--color-accent-700); }
@keyframes start-marquee-loop { 
  0% { transform: translate3d(0px, 0px, 0px); }
  100% { transform: translate3d(-50%, 0px, 0px); }
}
.start-marquee-stage { position: relative; z-index: 1; overflow: hidden; margin: -16px 0px; padding: 16px 0px; background: linear-gradient(to bottom,var(--color-text) 0 50%,var(--color-bg) 50% 100%); }
.start-marquee-band { width: calc(100% + 48px); margin-left: -24px; overflow: hidden; border-top: 2px solid var(--color-text); border-bottom: 2px solid var(--color-text); background: var(--color-accent); color: var(--color-bg); transform: rotate(-0.8deg); transform-origin: center center; }
.start-marquee-track { width: max-content; animation: 42s linear 0s infinite normal none running start-marquee-loop; }
.start-marquee-band:hover .start-marquee-track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {.start-marquee-track { animation-duration: 90s; }}
.start-eye { border-top: 2px solid var(--color-text); border-bottom: 2px solid var(--color-text); }
.start-eye-stage { position: relative; overflow: hidden; min-height: clamp(280px, 30vw, 420px); display: grid; align-items: center; padding: clamp(36px, 5vw, 72px) clamp(20px, 5vw, 72px); }
.start-eye-stage > div { width: min(100%, 1296px); margin: 0px auto; }
.start-eye-kicker { margin: 0px 0px 16px; color: var(--color-accent-700); font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.start-eye-title { margin: 0px; font-family: var(--font-heading); font-size: clamp(36px, 5.4vw, 78px); line-height: 0.96; letter-spacing: -0.05em; }
.start-eye-copy { margin: 20px 0px 0px; max-width: 54ch; color: var(--color-neutral-800); font-size: clamp(16px, 1.45vw, 20px); line-height: 1.55; }
.start-eye42 .start-eye-stage { background: var(--color-surface); color: var(--color-text); }
.start-eye42 .start-eye-title { max-width: 15ch; }
.start-eye42 .start-wave { display: flex; flex-wrap: wrap; gap: 0px 0.08em; margin-top: 30px; font-family: var(--font-heading); font-size: clamp(32px, 5vw, 70px); font-weight: 800; line-height: 0.95; letter-spacing: -0.045em; }
.start-eye42 .start-wave span { display: inline-block; animation-duration: 4.8s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-direction: normal; animation-fill-mode: none; animation-play-state: running; animation-name: start-wave; animation-timeline: auto; animation-range: normal; animation-delay: calc(var(--i) * .08s); }
.start-eye42 .start-wave span:nth-child(3n) { color: var(--color-accent); }
@keyframes start-wave { 
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  45% { transform: translateY(-8px) rotate(-2deg); }
  65% { transform: translateY(5px) rotate(1deg); }
}
.start-eye153 .start-eye-stage { background: var(--color-text); color: var(--color-bg); }
.start-eye153 .start-eye-kicker { color: var(--color-accent-400); }
.start-eye153 .start-eye-copy { color: var(--color-neutral-300); }
.start-eye153 .start-foundation { display: grid; grid-template-columns: minmax(0px, 0.85fr) minmax(280px, 1.15fr); gap: clamp(32px, 7vw, 112px); align-items: center; }
.start-eye153 .start-stack { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; padding: 16px 0px; }
.start-eye153 .start-stack i { display: block; width: min(100%,calc(188px + var(--i) * 42px)); height: clamp(22px, 3vw, 38px); border: 2px solid var(--color-bg); background: var(--color-accent); animation-duration: 5.4s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-direction: normal; animation-fill-mode: none; animation-play-state: running; animation-name: start-stack; animation-timeline: auto; animation-range: normal; animation-delay: calc(var(--i) * .32s); transform-origin: right center; }
.start-eye153 .start-stack i:nth-child(2n) { background: var(--color-bg); }
@keyframes start-stack { 
  0%, 12% { transform: translateX(32px); opacity: 0.35; }
  26%, 76% { transform: translateX(0px); opacity: 1; }
  100%, 90% { transform: translateX(32px); opacity: 0.35; }
}
.start-eye246 .start-eye-stage { background: var(--color-bg); color: var(--color-text); }
.start-eye246 .start-cta-wrap { display: grid; grid-template-columns: minmax(0px, 1.1fr) minmax(260px, 0.9fr); gap: clamp(28px, 6vw, 88px); align-items: center; }
.start-eye246 .start-cta-wrap p { margin: 0px; max-width: 24ch; font-family: var(--font-heading); font-size: clamp(34px, 5vw, 72px); font-weight: 800; line-height: 0.96; letter-spacing: -0.05em; }
.start-eye246 .start-cta-wrap p span { color: var(--color-accent); }
.start-eye246 .start-rolling-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-width: min(100%, 280px); padding: 16px 20px; border: 2px solid var(--color-text); background: var(--color-accent); color: var(--color-bg); font-weight: 800; }
.start-eye246 .start-rolling-label { display: block; height: 1.25em; overflow: hidden; }
.start-eye246 .start-rolling-label span { display: block; animation: 6s cubic-bezier(0.7, 0, 0.2, 1) 0s infinite normal none running start-roll-label; }
@keyframes start-roll-label { 
  0%, 35% { transform: translateY(0px); }
  45%, 80% { transform: translateY(-100%); }
  100%, 90% { transform: translateY(0px); }
}
@media (max-width: 700px) {.start-eye153 .start-foundation, .start-eye246 .start-cta-wrap { grid-template-columns: 1fr; gap: 28px; }
.start-eye153 .start-stack { align-items: flex-start; }
.start-eye153 .start-stack i { width: min(100%,calc(160px + var(--i) * 24px)); }
.start-eye246 .start-cta-wrap p { max-width: 16ch; }}
@media (prefers-reduced-motion: reduce) {.start-eye * { animation-iteration-count: 1 !important; animation-delay: 0s !important; }}
@keyframes team-x76 { 
  0%, 100%, 92% { transform: scaleY(1); }
  95% { transform: scaleY(0.08); }
}
@keyframes team-x63l { 
  0%, 14% { transform: none; }
  34%, 80% { transform: translateX(-100%); }
  100%, 96% { transform: none; }
}
@keyframes team-x63r { 
  0%, 14% { transform: none; }
  34%, 80% { transform: translateX(100%); }
  100%, 96% { transform: none; }
}
@keyframes team-gL3 { 
  0% { transform: rotateX(0deg); }
  100% { transform: rotateX(52deg); }
}



.inquiry-card { border: 2px solid var(--color-neutral-600); padding: clamp(22px, 2.6vw, 34px); background: var(--color-neutral-900); color: var(--color-bg); }
.inquiry-card-head { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 18px; align-items: start; margin-bottom: 22px; }
.inquiry-kicker { margin: 0px 0px 8px; color: var(--color-accent-400); font-size: 11px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.inquiry-card h2 { margin: 0px; font-family: var(--font-heading); font-size: clamp(27px, 2.4vw, 38px); font-weight: 800; line-height: 1; letter-spacing: -0.035em; }
.inquiry-response { display: inline-flex; align-items: center; gap: 8px; max-width: 170px; color: var(--color-neutral-300); font-size: 12px; line-height: 1.4; }
.inquiry-response::before { content: ""; flex: 0 0 8px; width: 8px; height: 8px; background: var(--color-accent); }
.inquiry-form { display: grid; gap: 16px; }
.inquiry-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 14px; }
.inquiry-field { display: grid; gap: 7px; min-width: 0px; }
.inquiry-field label { color: var(--color-neutral-300); font-size: 12px; font-weight: 700; letter-spacing: 0.045em; }
.inquiry-control { width: 100%; min-width: 0px; min-height: 50px; box-sizing: border-box; padding: 12px 14px; border: 2px solid var(--color-neutral-600); border-radius: 0px; background: 0px 0px; color: var(--color-bg); font: 16px/1.35 var(--font-body); caret-color: var(--color-accent); }
.inquiry-control::placeholder { color: var(--color-neutral-500); opacity: 1; }
.inquiry-control option { background: var(--color-text); color: var(--color-bg); }
textarea.inquiry-control { min-height: 92px; resize: vertical; }
.inquiry-control:hover { border-color: var(--color-neutral-400); }
.inquiry-control:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; border-color: var(--color-bg); }
.inquiry-meta { margin: 0px; color: var(--color-neutral-400); font-size: 12px; line-height: 1.5; }
.inquiry-meta a { color: var(--color-bg); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.inquiry-submit-row { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 14px; align-items: center; }
.inquiry-submit-row .btn { justify-content: space-between; min-height: 52px; }
.inquiry-status { margin: 0px; color: var(--color-neutral-300); font-size: 13px; line-height: 1.45; }
.inquiry-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@keyframes app-ec2-rotate { 
  0%, 28% { transform: translateY(0px); }
  33%, 61% { transform: translateY(-25%); }
  66%, 94% { transform: translateY(-50%); }
  100% { transform: translateY(-75%); }
}
#ec-99 { scroll-margin-top: 72px; border-bottom: 2px solid var(--color-text); }
#ec-99 .ec-stage { position: relative; display: grid; min-height: clamp(300px, 32vw, 440px); padding: clamp(40px, 5vw, 80px) clamp(20px, 5vw, 72px); overflow: hidden; background: var(--color-bg); color: var(--color-text); align-items: center; }
#ec-99 .ec-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 40px clamp(40px, 6vw, 112px); align-items: center; width: 100%; }
#ec-99 .ws { display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 2px; width: 100%; max-width: 820px; border: 2px solid var(--color-text); background: var(--color-text); }
#ec-99 .ws i { display: grid; aspect-ratio: 1 / 1; place-items: center; background: var(--color-bg); color: var(--color-neutral-700); font-size: clamp(14px, 2.2vw, 28px); font-style: normal; font-weight: 700; }
#ec-99 .ws i.w { animation-duration: 11s; animation-timing-function: ease; animation-iteration-count: infinite; animation-direction: normal; animation-fill-mode: none; animation-play-state: running; animation-name: home-x99; animation-timeline: auto; animation-range: normal; animation-delay: calc(var(--w) * 1.8s); }
#ec-99 .x-h { margin: 0px; font-family: var(--font-heading); font-size: clamp(36px, 5vw, 80px); font-weight: 800; line-height: 0.95; letter-spacing: -0.04em; }
#ec-99 .dot { color: var(--color-accent); }
#ec-99 .e-lead { max-width: 42ch; margin: 20px 0px 0px; color: var(--color-neutral-800); font-size: clamp(17px, 1.3vw, 20px); line-height: 1.55; }
#ec-99 .found { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
#ec-99 .found span { padding: 6px 10px; border: 2px solid var(--color-text); font-size: 14px; font-weight: 700; }
@keyframes home-x99 { 
  0%, 3% { background: var(--color-bg); color: var(--color-neutral-700); }
  6%, 86% { background: var(--color-accent); color: var(--color-bg); }
  100%, 94% { background: var(--color-bg); color: var(--color-neutral-700); }
}
@media (prefers-reduced-motion: reduce) {#ec-99 .ws i.w { animation: auto ease 0s 1 normal none running none; background: var(--color-accent); color: var(--color-bg); }}
@keyframes leistungen-x75n { 
  0%, 10% { opacity: 0.55; transform: translateY(5px); }
  16%, 72% { opacity: 1; transform: translateY(0px); }
  100%, 82% { opacity: 0.55; transform: translateY(-5px); }
}
@keyframes leistungen-x75z { 
  0%, 10% { opacity: 0.55; transform: scale(0.96); }
  18%, 78% { opacity: 1; transform: scale(1); }
  100%, 88% { opacity: 0.55; transform: scale(0.96); }
}
@keyframes leistungen-x75c { 
  0%, 10% { transform: scaleX(0); }
  24%, 70% { transform: scaleX(1); }
  100%, 84% { transform: scaleX(0); }
}
@keyframes leistungen-gfx { 
  0%, 12% { transform: scaleX(0); }
  28%, 76% { transform: scaleX(1); }
  100%, 92% { transform: scaleX(0); }
}
@keyframes leistungen-gf7 { 
  0%, 10% { transform: scaleX(0); }
  25%, 75% { transform: scaleX(1); }
  100%, 90% { transform: scaleX(0); }
}
@keyframes leistungen-gu1a { 
  0%, 100% { opacity: 0.45; transform: translateX(0px); }
  50% { opacity: 1; transform: translateX(10px); }
}
@keyframes leistungen-gu1b { 
  0%, 100% { opacity: 0.55; transform: translateX(0px); }
  50% { opacity: 1; transform: translateX(-10px); }
}


@keyframes app-ec53-underline { 
  0%, 4% { background-size: 0px 2px; background-position: 0px 100%; }
  18%, 8% { background-size: 100% 2px; background-position: 0px 100%; }
  22% { background-size: 100% 2px; background-position: 100% 100%; }
  100%, 27% { background-size: 0px 2px; background-position: 100% 100%; }
}
.app-ec50 { display: grid; grid-template-columns: minmax(0px, 1.25fr) minmax(280px, 0.75fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.app-ec50-odometer { display: flex; min-width: 0px; gap: 4px; }
.app-ec50-window { height: 1em; overflow: hidden; padding: 0px 0.06em; background: var(--color-text); color: var(--color-bg); font-family: var(--font-heading); font-size: clamp(84px, 11vw, 170px); font-weight: 800; font-feature-settings: "tnum"; letter-spacing: -0.04em; line-height: 1; }
.app-ec50-window:last-child { background: var(--color-bg); color: rgb(195, 38, 13); }
.site-closing-red .app-ec50-window:last-child { background: var(--color-bg) !important; color: rgb(195, 38, 13) !important; }
.site-closing-red .app-ec50-window:last-child span { color: rgb(195, 38, 13) !important; }
.app-ec50-rail { display: block; animation-duration: 6s; animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1); animation-iteration-count: infinite; animation-direction: normal; animation-fill-mode: none; animation-play-state: running; animation-name: app-ec50-roll; animation-timeline: auto; animation-range: normal; animation-delay: calc(var(--i) * .15s); will-change: transform; }
.app-ec50-rail > span { display: block; height: 1em; }
.app-ec50-copy h2 { margin: 0px 0px 0px -0.04em; font-family: var(--font-heading); font-size: clamp(40px, 4.6vw, 76px); font-weight: 800; letter-spacing: -0.04em; line-height: 0.96; }
.app-ec50-copy p { margin: 20px 0px 0px; color: var(--color-bg); font-size: clamp(17px, 1.3vw, 20px); line-height: 1.55; }
@keyframes app-ec50-roll { 
  0% { transform: translateY(0px); }
  55%, 88% { transform: translateY(calc(var(--t) * -5%)); }
  100% { transform: translateY(0px); }
}
@keyframes app-ec60-bg { 
  0%, 14% { background: var(--color-accent); color: var(--color-bg); }
  100%, 17% { background: var(--color-bg); color: var(--color-text); }
}
@keyframes app-ec60-heading { 
  0%, 14% { color: var(--color-bg); }
  100%, 17% { color: var(--color-text); }
}
@keyframes app-ec60-copy { 
  0%, 14% { color: var(--color-bg); }
  100%, 17% { color: var(--color-neutral-800); }
}
@keyframes app-ec60-strong { 
  0%, 14% { color: var(--color-bg); }
  100%, 17% { color: var(--color-accent-700); }
}
@keyframes app-ec66-check { 
  0%, 6% { transform: scale(0); }
  11%, 86% { transform: scale(1); }
  100%, 94% { transform: scale(0); }
}
@keyframes svc-growth { 
  0%, 100% { transform: scaleX(0.25); }
  50% { transform: scaleX(1); }
}
@keyframes svc-rise { 
  0%, 100% { transform: scaleY(0.35); }
  55% { transform: scaleY(1); }
}
@keyframes svc-grid-check { 
  0%, 15% { transform: scaleX(0); }
  35%, 80% { transform: scaleX(1); }
  100% { transform: scaleX(0); }
}
@keyframes svc-radar { 
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(4); opacity: 0; }
}
@keyframes svc-fill { 
  0%, 15% { transform: scaleX(0); }
  55%, 85% { transform: scaleX(1); }
  100% { transform: scaleX(0); }
}
@keyframes svc-columns { 
  0%, 100% { transform: scaleX(0.35); }
  50% { transform: scaleX(1); }
}
@keyframes svc-spot { 
  0%, 100% { box-shadow: inset 0 0 0 var(--color-accent); }
  50% { box-shadow: inset 0 0 0 9px var(--color-accent); }
}
@keyframes svc-ticker { 
  0%, 100% { background-position: 100% 0px; }
  50% { background-position: 0px 0px; }
}
@keyframes svc-mark { 
  0%, 15% { transform: scaleX(0); }
  30%, 75% { transform: scaleX(1); }
  100% { transform: scaleX(0); }
}
@keyframes svc-wave { 
  0%, 100% { text-underline-offset: 7px; }
  50% { text-underline-offset: 3px; }
}
@keyframes svc-in { 
  0%, 100% { transform: translateY(0px); }
  45% { transform: translateY(-4px); }
}
@keyframes svc-curve { 
  0%, 100% { transform: scaleY(0.3); }
  55% { transform: scaleY(1); }
}
@keyframes svc-word { 
  0%, 45% { opacity: 1; }
  50%, 54% { opacity: 0.45; }
  100%, 60% { opacity: 1; }
}
@keyframes svc-flap { 
  0%, 100% { transform: rotateX(0deg); }
  45% { transform: rotateX(4deg); }
}
@keyframes svc-glitch { 
  0%, 100%, 90% { transform: translateX(0px); }
  92% { transform: translateX(-2px); }
  94% { transform: translateX(2px); }
}
@keyframes svc-pulse { 
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}
@keyframes svc-accordion { 
  0%, 20% { transform: scaleY(0); }
  45%, 80% { transform: scaleY(1); }
  100% { transform: scaleY(0); }
}
@keyframes svc-seal { 
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(180deg); }
}
@keyframes svc-tunnel { 
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.015); }
}
@keyframes svc-strike { 
  0%, 20% { transform: scaleX(0); }
  45%, 75% { transform: scaleX(1); }
  100% { transform: scaleX(0); }
}
.contextual-links { border-top: 2px solid var(--color-text); padding: clamp(48px, 5vw, 80px) clamp(20px, 5vw, 72px); }
.contextual-links-inner { max-width: 1296px; margin: 0px auto; }
.contextual-links-head { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 20px; }
.contextual-links-kicker { margin: 0px 0px 10px; color: var(--color-accent-700); font-size: 13px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.contextual-links-head h2 { margin: 0px; font-family: var(--font-heading); font-weight: 800; font-size: clamp(30px, 4vw, 54px); line-height: 0.98; letter-spacing: -0.04em; }
.contextual-links-head > span { color: var(--color-accent); font-size: 30px; font-weight: 800; }
.contextual-links-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 2px; background: var(--color-text); border: 2px solid var(--color-text); }
.contextual-links-card { display: grid; grid-template-columns: 1fr auto; gap: 8px 18px; min-height: 150px; padding: 22px; background: var(--color-bg); color: var(--color-text); }
.contextual-links-card:focus-visible, .contextual-links-card:hover { background: var(--color-accent); color: var(--color-bg) !important; }
.contextual-links-card:focus-visible *, .contextual-links-card:hover * { color: var(--color-bg) !important; }
.contextual-links-card strong { font-family: var(--font-heading); font-size: 21px; line-height: 1.12; letter-spacing: -0.02em; }
.contextual-links-card p { grid-column: 1 / -1; margin: 0px; color: var(--color-neutral-800); font-size: 15px; line-height: 1.5; }
.contextual-links-card:focus-visible p, .contextual-links-card:hover p { color: inherit; }
.contextual-links-card svg { color: var(--color-accent); margin-top: 2px; }
.contextual-links-card:focus-visible svg, .contextual-links-card:hover svg { color: var(--color-bg); }
.homepage-eye34 { grid-column: span 2; min-height: 150px; display: grid; align-content: center; overflow: hidden; padding: 18px 22px; background: var(--color-text); color: var(--color-bg); }
.homepage-eye34 > div { width: 100%; min-width: 0px; }
.homepage-eye34 .x-h { margin: 0px; font-family: var(--font-heading); font-size: clamp(27px, 3vw, 42px); font-weight: 800; line-height: 0.94; letter-spacing: -0.045em; }
.homepage-eye34 .dot { color: var(--color-accent); }
.homepage-eye34 svg { display: block; width: 100%; height: auto; margin-top: 16px; }
.homepage-eye34 .pulse { stroke-dasharray: 300, 1700; animation: 2.6s linear 0s infinite normal none running homepage-eye34-pulse; }
@keyframes homepage-eye34-pulse { 
  0% { stroke-dashoffset: 2000; }
  100% { stroke-dashoffset: 0; }
}
@media (max-width: 620px) {.contextual-links-head { align-items: flex-start; flex-direction: column; gap: 10px; }
.contextual-links-grid { grid-template-columns: 1fr; }}
@media (max-width: 620px) {.homepage-eye34 { grid-column: auto; }}


@media (max-width: 899px) {.app-ec50 { grid-template-columns: minmax(0px, 1fr); }
.app-ec50-window { font-size: clamp(56px, 18vw, 110px); }}

@media (max-width: 599px) {.inquiry-card-head, .inquiry-grid, .inquiry-submit-row { grid-template-columns: minmax(0px, 1fr); }
.inquiry-response { max-width: none; }
.inquiry-submit-row .btn { width: 100%; }}

@media (prefers-reduced-motion: reduce) {.app-ec50-rail { animation: auto ease 0s 1 normal none running none; transform: translateY(calc(var(--t) * -5%)); }}
@keyframes webseo-ec26-pixel { 
  100% { opacity: 0; transform: scale(0.15); }
}
@keyframes webseo-motion-hero-in { 
  0% { transform: translate3d(0px, 26px, 0px); }
  100% { transform: translate3d(0px, 0px, 0px); }
}
@keyframes webseo-motion-rise-in { 
  0% { transform: translate3d(0px, 22px, 0px); }
  100% { transform: translate3d(0px, 0px, 0px); }
}
@keyframes webseo-motion-card-in { 
  0% { transform: translate3d(0px, 16px, 0px); }
  100% { transform: translate3d(0px, 0px, 0px); }
}
.webseo-motion-reveal { opacity: 1; transform: none; will-change: auto; }

.webseo-motion-stagger > .webseo-motion-card { opacity: 1; transform: none; animation-duration: 0.62s; animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1); animation-iteration-count: 1; animation-direction: normal; animation-fill-mode: both; animation-play-state: running; animation-name: webseo-motion-card-in; animation-timeline: auto; animation-range: normal; animation-delay: calc(var(--webseo-motion-index, 0) * 70ms); will-change: transform; }
@media (prefers-reduced-motion: reduce) {.webseo-motion-hero, .webseo-motion-hero-line, .webseo-motion-reveal, .webseo-motion-reveal.is-visible, .webseo-motion-stagger > .webseo-motion-card { animation: auto ease 0s 1 normal none running none !important; opacity: 1 !important; transform: none !important; clip-path: none !important; will-change: auto !important; }}