@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&family=Merriweather:wght@400;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&family=Merriweather:wght@400;700&display=swap";.App{flex-direction:column;min-height:100vh;display:flex}html{font-size:var(--base-font-size)}body{font-family:var(--font-body), serif;font-weight:400;line-height:var(--base-line-height);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff}.App>:first-child{flex:1 0 auto}h1,h2,h3{font-family:var(--font-heading), serif;line-height:var(--heading-line-height);color:var(--heading-color);margin:0 0 .5rem}.cv-container{background-color:#fff;flex-wrap:nowrap;width:min(1600px,100% - 48px);max-width:1600px;min-height:auto;margin:0 auto;display:flex}.sidebar-toggle{display:none}@keyframes slideInPulse{0%{opacity:0;transform:translate(-10px)}50%{opacity:1}to{opacity:1;transform:translate(0)}}@keyframes buttonPulse{0%,to{box-shadow:0 0 #3498dbb3}50%{box-shadow:0 0 0 8px #3498db00}}.sidebar{box-sizing:border-box;color:#fff;overflow-wrap:anywhere;word-break:break-word;background-color:#2c3e50;flex:0 0 clamp(320px,26vw,420px);min-width:280px;padding:40px 24px}.main-content{box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word;flex:auto;min-width:0;padding:40px 48px}.content-section{margin-bottom:50px}.filter-info{color:#2c3e50;background-color:#ecf0f1;border-left:4px solid #3498db;border-radius:4px;margin-bottom:24px;padding:12px 16px;font-size:14px}.filter-info strong{color:#2c3e50;font-weight:600}.no-results{text-align:center;color:#7f8c8d;padding:40px 20px;font-size:16px}.back-button{color:#2c3e50;font-family:var(--font-body);cursor:pointer;background-color:#f3f4f6;border:1px solid #2c3e5033;border-radius:8px;align-items:center;gap:6px;margin-bottom:20px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .16s;display:inline-flex}.back-button:hover{background-color:#e5e7eb;border-color:#2c3e5066;transform:translate(-2px)}.back-button:focus-visible{outline-offset:2px;outline:2px solid #3498db}.back-button:active{transform:translate(-1px)}.impressum-container,.dsgvo-container,.legal-container{background:#fff;border:1px solid #00000014;border-radius:12px;width:min(1100px,100% - 24px);margin:24px auto;padding:28px}.impressum-container h1,.dsgvo-container h1,.legal-container h1{color:#111827;margin:0 0 12px;font-size:1.75rem;line-height:1.2}.impressum-container p,.dsgvo-container p,.legal-container p{color:#374151;margin:0 0 12px;line-height:1.6}.site-footer{background:#fff;border-top:1px solid #0000001f;margin-top:auto;padding:16px 20px}.footer-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.footer-nav a{color:#1f2937;font-weight:600;text-decoration:none}.footer-nav a:hover,.footer-nav a:focus-visible{text-underline-offset:3px;text-decoration:underline}.footer-sep{color:#00000073}.footer-meta{text-align:center;color:#0009;margin-top:10px;font-size:.9rem}@media (width<=768px){.cv-container{position:relative}.sidebar-toggle{z-index:999;color:#fff;cursor:pointer;background-color:#2c3e50;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:all .16s;animation:.6s ease-out slideInPulse,1.5s ease-in-out .6s 2 buttonPulse;display:flex;position:fixed;top:16px;left:16px}.sidebar-toggle:hover{background-color:#34495e;animation:none}.sidebar-toggle:focus-visible{outline-offset:2px;outline:2px solid #3498db}.cv-container:has(.sidebar.is-open) .sidebar-toggle{visibility:hidden}.sidebar{z-index:998;width:340px;height:100vh;transition:transform .3s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.is-open{transform:translate(0);box-shadow:2px 0 8px #0003}.sidebar-overlay{z-index:997;cursor:pointer;background:#00000080;width:100vw;height:100vh;position:fixed;top:0;left:0}.main-content{width:100%;padding:56px 24px 24px}}.profile-section{text-align:center;border-bottom:2px solid #fff3;margin-bottom:40px;padding-bottom:20px}.profile-section h2{color:#ecf0f1;margin:0 0 10px;font-size:28px}.sidebar-close{display:none}@media (width<=768px){.sidebar-close{color:#fff;cursor:pointer;z-index:1000;background:#ffffff1a;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .16s;display:flex;position:absolute;top:16px;right:16px}.sidebar-close:hover{background:#fff3}.sidebar-close:focus-visible{outline-offset:2px;outline:2px solid #3498db}}.avatar{background:#ffffff14;border:3px solid #fff9;border-radius:50%;width:140px;height:140px;margin:16px auto 12px;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.subtitle{color:#bdc3c7;margin:0}.info-section{margin-bottom:30px}.info-section h3{text-transform:uppercase;color:#ecf0f1;margin:0 0 15px;font-size:16px}.info-section h4{color:#ecf0f1;margin:10px 0 0;font-size:14px}.info-section h4.fachkenntnisse-header{color:#ecf0f1;align-items:center;gap:6px;font-style:italic;display:flex}.info-section h4.fachkenntnisse-header svg{font-size:12px}.info-section ul{margin:0;padding:0;list-style:none}.info-section li{margin-bottom:8px;font-size:14px;line-height:1.6}.sidebar .info-section:nth-of-type(3) ul:first-of-type,.sidebar .info-section:nth-of-type(3) ul:nth-of-type(2){margin:0 0 15px;padding-left:20px;list-style:outside}.sidebar .info-section:nth-of-type(3) ul:first-of-type li,.sidebar .info-section:nth-of-type(3) ul:nth-of-type(2) li{margin-bottom:4px}.sidebar .info-section:nth-of-type(3) .skills-filter-list{flex-wrap:wrap;gap:10px;margin:8px 0 0;padding-left:0;list-style:none;display:flex}.sidebar .info-section:nth-of-type(3) .skill-tag{cursor:pointer;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;margin:0;padding:6px 10px;line-height:1.2;transition:all .2s}.sidebar .info-section:nth-of-type(3) .skill-tag:hover{background:#ffffff2e;border-color:#ffffff4d;transform:translateY(-1px)}.sidebar .info-section:nth-of-type(3) .skill-tag:focus-visible{outline-offset:2px;outline:2px solid #3498db}.sidebar .info-section:nth-of-type(3) .skill-tag.is-selected{color:#fff;background:#3498dbcc;border-color:#3498db;font-weight:600}.sidebar a{color:#ecf0f1;text-underline-offset:3px;text-decoration:underline}.sidebar a:hover,.sidebar a:focus-visible{color:#fff}.section-title{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:2px solid #2c3e50;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:10px 6px;font-size:24px;transition:background-color .16s;display:flex}.section-title:hover{background-color:#2c3e500f}.section-title:focus-visible{outline-offset:2px;outline:3px solid #3498db8c}.section-toggle{color:#2c3e50;background:#2c3e500f;border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;line-height:1;transition:transform .2s,background-color .16s,color .16s;display:inline-flex;transform:rotate(0)}.section-toggle.is-open{transform:rotate(90deg)}.section-title:hover .section-toggle{background:#2c3e501f}.section-content{opacity:1;will-change:max-height, opacity, transform;max-height:0;transition:max-height .32s,opacity .22s,transform .22s;overflow:hidden;transform:translateY(0)}.content-section.is-collapsed .section-content{opacity:0;pointer-events:none;max-height:0;transform:translateY(-6px)}.entry{border-bottom:1px solid #2c3e501a;padding:14px 0}.entry:last-child{border-bottom:0;padding-bottom:0}.entry h3{margin:0 0 5px;font-size:18px}.entry p{white-space:pre-wrap;margin:5px 0;line-height:1.6}.date{color:#7f8c8d;margin:0 0 10px;font-size:14px;font-weight:700}.skills-list{flex-wrap:wrap;gap:8px;margin:15px 0 0;padding:0;list-style:none;display:flex}.skills-list li{color:#2c3e50;background-color:#ecf0f1;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:500}:root{--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-heading:"Merriweather", "Georgia", serif;--base-font-size:16px;--base-line-height:1.5;--heading-line-height:1.2;--text-color:#111;--heading-color:#0b2545}
