.app-footer[data-v-4e57484a]{background-color:var(--color-primary-hover);color:var(--color-text-light)}.footer-container[data-v-4e57484a]{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-lg) var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.legal-links[data-v-4e57484a]{display:flex;gap:var(--spacing-md)}.legal-link[data-v-4e57484a]{color:var(--color-text-light);text-decoration:none;font-weight:var(--font-weight-semibold)}.legal-link[data-v-4e57484a]:hover,.legal-link[data-v-4e57484a]:focus-visible{text-decoration:underline}.copyright[data-v-4e57484a]{color:var(--color-text-light);font-size:var(--font-size-sm)}@media(max-width:768px){.footer-container[data-v-4e57484a]{flex-direction:column;align-items:flex-start}.legal-links[data-v-4e57484a]{flex-direction:column;gap:var(--spacing-xs)}}*{margin:0;box-sizing:border-box}body{font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary);background-color:var(--color-bg-primary)}#app{min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1}header[data-v-420936aa]{padding:var(--spacing-lg) var(--spacing-xl)}.nav-header[data-v-420936aa]{background-color:var(--color-primary);box-shadow:0 4px 6px #0000004d}.nav-container[data-v-420936aa]{max-width:var(--container-max-width);margin:0 auto;display:flex;justify-content:flex-start;align-items:center}.hamburger[data-v-420936aa]{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:0}.hamburger .bar[data-v-420936aa]{display:block;width:25px;height:3px;background-color:var(--color-text-primary);transition:.3s}.hamburger.open .bar[data-v-420936aa]:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open .bar[data-v-420936aa]:nth-child(2){opacity:0}.hamburger.open .bar[data-v-420936aa]:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.navigation[data-v-420936aa]{display:flex;gap:var(--spacing-xl)}.navigation a[data-v-420936aa]{text-decoration:none;color:var(--color-text-light);font-weight:var(--font-weight-medium)}@media(max-width:768px){.navigation a[data-v-420936aa]{color:var(--color-text-primary)}.nav-container[data-v-420936aa]{justify-content:flex-end}.hamburger[data-v-420936aa]{display:flex}.navigation[data-v-420936aa]{display:none;flex-direction:column;position:absolute;top:70px;right:0;width:100%;background:var(--color-bg-primary);padding:var(--spacing-lg);box-shadow:0 4px 6px #0000001a}.navigation.is-open[data-v-420936aa]{display:flex}}.landing-page[data-v-eb129c92]{min-height:100vh;display:flex;flex-direction:column}.hero[data-v-eb129c92]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl)}.hero h1[data-v-eb129c92]{font-size:var(--font-size-5xl);margin-bottom:var(--spacing-md);color:var(--color-text-primary)}.hero p[data-v-eb129c92]{font-size:var(--font-size-xl);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.cta-buttons[data-v-eb129c92]{display:flex;gap:var(--spacing-md);width:100%;justify-content:center}@media(max-width:768px){.cta-buttons[data-v-eb129c92]{flex-direction:column;align-items:stretch;padding:0 var(--spacing-md)}}.project-card[data-v-18ffcb04]{background:var(--color-bg-secondary);padding:var(--spacing-xl);border-radius:var(--radius-md);transition:transform var(--transition-base),box-shadow var(--transition-base)}.project-card[data-v-18ffcb04]:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.project-card h2[data-v-18ffcb04]{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.project-card p[data-v-18ffcb04]{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.technologies[data-v-18ffcb04]{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.tech-badge[data-v-18ffcb04]{background-color:var(--color-primary);color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.project-link[data-v-18ffcb04]{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold);transition:color var(--transition-base);margin-top:var(--spacing-md)}.project-link[data-v-18ffcb04]:hover{color:var(--color-primary-hover)}.project-link svg[data-v-18ffcb04]{width:16px;height:16px}.project-overview[data-v-b7bdadec]{min-height:100vh}.content[data-v-b7bdadec]{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-xl)}.content h1[data-v-b7bdadec]{font-size:var(--font-size-4xl);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.subtitle[data-v-b7bdadec]{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl)}.projects-grid[data-v-b7bdadec]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl)}.contact-info h2[data-v-388d6aae]{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.info-item[data-v-388d6aae]{margin-bottom:var(--spacing-lg)}.info-item strong[data-v-388d6aae]{display:block;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.info-item p[data-v-388d6aae]{color:var(--color-text-secondary)}.contact-form[data-v-9a71815d]{background:var(--color-bg-secondary);padding:var(--spacing-xl);border-radius:var(--radius-md)}.success-message[data-v-9a71815d]{background-color:var(--color-success);color:#fff;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);text-align:center}.error-message[data-v-9a71815d]{background-color:var(--color-error);color:#fff;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);text-align:center}.form-group[data-v-9a71815d]{margin-bottom:var(--spacing-lg)}.form-group label[data-v-9a71815d]{display:block;color:var(--color-text-primary);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.form-group input[data-v-9a71815d],.form-group textarea[data-v-9a71815d]{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit;transition:border-color var(--transition-base)}.form-group input[data-v-9a71815d]:focus,.form-group textarea[data-v-9a71815d]:focus{outline:none;border-color:var(--color-primary)}.button-group[data-v-9a71815d]{display:flex;flex-direction:column;gap:var(--spacing-md)}.submit-btn[data-v-9a71815d]{width:100%;padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);background-color:var(--color-primary);color:#fff}.submit-btn[data-v-9a71815d]:hover:not(:disabled){background-color:var(--color-primary-hover)}.submit-btn[data-v-9a71815d]:disabled{background-color:var(--color-primary-light);cursor:not-allowed}@media(min-width:640px){.button-group[data-v-9a71815d]{flex-direction:row}}.contact-page[data-v-8ab88eb2]{min-height:100vh}.content[data-v-8ab88eb2]{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-xl)}.content h1[data-v-8ab88eb2]{font-size:var(--font-size-4xl);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.subtitle[data-v-8ab88eb2]{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl)}.contact-container[data-v-8ab88eb2]{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-2xl)}@media(max-width:768px){.contact-container[data-v-8ab88eb2]{grid-template-columns:1fr}}.impressum-page[data-v-09a3729b]{min-height:100%}.content[data-v-09a3729b]{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-xl)}.content h1[data-v-09a3729b]{font-size:var(--font-size-4xl);color:var(--color-text-primary);margin-bottom:var(--spacing-xl)}.section[data-v-09a3729b]{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.section h2[data-v-09a3729b]{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.section p[data-v-09a3729b]{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:1.5}.datenschutz-page[data-v-df31b2d1]{min-height:100%}.content[data-v-df31b2d1]{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-xl)}.content h1[data-v-df31b2d1]{font-size:var(--font-size-4xl);color:var(--color-text-primary);margin-bottom:var(--spacing-xl)}.section[data-v-df31b2d1]{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.section h2[data-v-df31b2d1]{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.section h3[data-v-df31b2d1]{font-size:var(--font-size-xl);color:var(--color-text-primary);margin:var(--spacing-lg) 0 var(--spacing-sm)}.section h4[data-v-df31b2d1]{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:var(--spacing-md) 0 var(--spacing-xs)}.section p[data-v-df31b2d1],.section li[data-v-df31b2d1]{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:1.6}.section p+p[data-v-df31b2d1]{margin-top:var(--spacing-sm)}.section ul[data-v-df31b2d1]{margin:var(--spacing-sm) 0 0 var(--spacing-xl);display:grid;gap:var(--spacing-sm)}.section a[data-v-df31b2d1]{color:inherit;text-decoration:underline}.notice[data-v-df31b2d1]{font-weight:var(--font-weight-semibold)}.source[data-v-df31b2d1]{margin-top:var(--spacing-lg);font-style:italic}@media(max-width:768px){.content[data-v-df31b2d1]{padding:var(--spacing-xl) var(--spacing-lg)}}:root{--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--md-ref-typeface-brand: var(--font-family-base);--md-ref-typeface-plain: var(--font-family-base);--md-sys-color-primary: var(--color-primary);--md-sys-color-on-primary: var(--color-text-light);--md-sys-color-primary-container: var(--color-primary-light);--md-sys-color-on-primary-container: var(--color-text-primary);--md-sys-color-surface: var(--color-bg-primary);--md-sys-color-on-surface: var(--color-text-primary);--md-sys-color-outline: var(--color-border);--md-outlined-button-outline-color: var(--color-primary);--md-outlined-button-label-text-color: var(--color-primary);--md-outlined-button-hover-label-text-color: var(--color-primary);--md-outlined-button-focus-label-text-color: var(--color-primary);--md-outlined-button-pressed-label-text-color: var(--color-primary);--md-outlined-button-hover-state-layer-color: var(--color-primary);--md-outlined-button-focus-state-layer-color: var(--color-primary);--md-outlined-button-pressed-state-layer-color: var(--color-primary);--color-primary: #1a73e8;--color-primary-hover: #1765cc;--color-primary-light: #e8f0fe;--color-text-primary: #1f1f1f;--color-text-secondary: #5f6368;--color-text-light: #ffffff;--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #f1f3f4;--color-success: #1e8e3e;--color-error: #d93025;--color-warning: #f9ab00;--color-border: #dadce0;--color-border-light: #f1f3f4;--shadow-sm: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);--shadow-md: 0 1px 3px 0 rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--shadow-lg: 0 4px 4px 0 rgba(60, 64, 67, .3), 0 8px 12px 6px rgba(60, 64, 67, .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--container-max-width: 1200px}
