:root{--primary: #0d0d0d;--accent: #2d6a4f;--light: #f5f5f5;--grey: #777}*{box-sizing:border-box}html,body{width:100%;margin:0;padding:0}body{font-family:system-ui,sans-serif;background:var(--light);color:var(--primary);line-height:1.6}#root{width:100%;max-width:100vw;overflow-x:clip}header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#fff;position:sticky;top:0;box-shadow:0 2px 8px #0000000d;z-index:20}header a{margin-left:1.5rem;text-decoration:none;color:var(--primary);font-weight:500}.hero{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:6rem 2rem;text-align:left;background:#fff;max-width:1000px;margin:0 auto;width:100%;gap:3rem}@media(max-width:768px){.hero{flex-direction:column;text-align:center;padding:2rem 1rem;gap:1.5rem;max-width:100%}}.hero-image{flex:1;display:flex;justify-content:center;align-items:center;max-width:100%}@media(max-width:768px){.hero-image{width:100%}}.hero-content{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:100%}@media(max-width:768px){.hero-content{width:100%}}.hero h1{font-size:2.5rem;margin:0;line-height:1.2}.hero h1 .highlight{color:var(--accent);position:relative}@media(max-width:768px){.hero h1{font-size:1.6rem}}@media(max-width:480px){.hero h1{font-size:1.3rem}}.hero p{max-width:600px;color:var(--grey);margin-top:1rem}@media(max-width:768px){.hero p{max-width:100%}}.hero img{width:100%;max-width:350px;border-radius:20px;box-shadow:0 4px 12px #00000026;object-fit:cover}@media(max-width:768px){.hero img{max-width:180px}}.section{padding:4rem 2rem;max-width:1000px;margin:auto}.section h2{margin-bottom:1.5rem;font-size:2rem}footer{text-align:center;padding:1.5rem;color:var(--grey);font-size:.85rem;background:#fff;border-top:1px solid #e0e0e0}.menu-toggle{display:none;background:none;border:none;font-size:2rem;cursor:pointer}@media(max-width:768px){nav{position:fixed;top:0;right:-100%;height:100vh;width:70%;background:#fff;padding-top:6rem;display:flex;flex-direction:column;gap:1.5rem;transition:right .3s ease}body.nav-open nav{right:0}.menu-toggle{display:block}header a{margin:1rem;font-size:1.2rem}}.skill-list{display:flex;flex-direction:column;gap:1rem}.skill{background:#fff;padding:1rem;border-radius:10px;box-shadow:0 2px 6px #0000000d}.skills{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}@media(max-width:640px){.skills{grid-template-columns:1fr}}.skill-bar{width:100%;height:10px;background:#ddd;border-radius:5px;overflow:hidden;margin-top:.5rem}.skill-bar-fill{height:100%;background:var(--accent)}@media(max-width:768px){.header-photo{display:none}}.impressum-section{background:#fff;padding:2rem 2rem 1.5rem;border-top:1px solid #e0e0e0}.impressum-content{max-width:1000px;margin:0 auto;display:flex;justify-content:space-around;gap:2rem;flex-wrap:wrap}@media(max-width:768px){.impressum-content{flex-direction:column;gap:1rem}}.impressum-block{flex:1;min-width:200px}.impressum-block strong{display:block;font-size:.75rem;color:var(--accent);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.impressum-block p{margin:0;font-size:.85rem;line-height:1.5;color:#555}.impressum-block a{color:var(--accent);text-decoration:none;font-weight:500;transition:color .2s ease}.impressum-block a:hover{color:#1b5e20;text-decoration:underline}._skillsGrid_1wgc3_1{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:2rem}._skillCard_1wgc3_8{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 6px 20px #0000000f;transition:transform .2s ease,box-shadow .2s ease}._skillCard_1wgc3_8:hover{transform:translateY(-4px);box-shadow:0 10px 28px #00000017}._skillCard_1wgc3_8>strong{font-size:1.4rem;font-weight:600;display:block;margin-bottom:1rem}._skillCard_1wgc3_8>ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}._skillCard_1wgc3_8>ul>li{padding:.45rem .9rem;background:#e8f5e9;color:#1b5e20;border-radius:999px;font-size:.9rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease}._skillCard_1wgc3_8>ul>li:hover{background:#d4edda;cursor:pointer}._projects_1jbr6_1{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}._project-card_1jbr6_8{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 6px 20px #0000000f;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;gap:1rem}._project-card_1jbr6_8:hover{transform:translateY(-4px);box-shadow:0 10px 28px #00000017}._project-header_1jbr6_23{display:flex;flex-direction:column;gap:.4rem;padding-bottom:.5rem}._project-name_1jbr6_30{margin:0;font-size:1.4rem;font-weight:600;color:#0d0d0d;line-height:1.3}._project-company_1jbr6_38{font-size:.95rem;color:#2d6a4f;font-weight:500}._project-description_1jbr6_44{margin:0;font-size:.9rem;line-height:1.6;color:#555;flex:1}._tech-stack_1jbr6_52{display:flex;flex-direction:column;gap:.6rem;margin-top:auto}._tech-label_1jbr6_59{font-size:.8rem;font-weight:600;color:#777;text-transform:uppercase;letter-spacing:.5px}._tech-tags_1jbr6_67{display:flex;flex-wrap:wrap;gap:.6rem}._tech-tag_1jbr6_67{padding:.45rem .9rem;background:#e8f5e9;color:#1b5e20;border-radius:999px;font-size:.9rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease;border:none}._tech-tag_1jbr6_67:hover{background:#d4edda;cursor:pointer}._carouselContainer_1jbr6_91{width:100%;display:none}@media(max-width:768px){._carouselContainer_1jbr6_91{display:block}}._carouselHeader_1jbr6_101{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:0 .5rem}._projectCounter_1jbr6_109{margin:0;font-size:1.2rem;font-weight:600;color:#0d0d0d;text-align:center;flex:1}._carouselArrow_1jbr6_118{background:none;border:none;font-size:2.5rem;color:#2d6a4f;cursor:pointer;padding:.5rem;line-height:1;transition:color .2s ease;-webkit-user-select:none;user-select:none}._carouselArrow_1jbr6_118:hover{color:#1b5e20}._carouselArrow_1jbr6_118:active{color:#0d4d2d}._carouselWrapper_1jbr6_136{overflow:hidden;width:100%;position:relative}._carouselTrack_1jbr6_142{display:flex;transition:transform .3s ease-in-out}._carouselSlide_1jbr6_147{min-width:100%;flex-shrink:0;padding:0 .5rem}._carouselDots_1jbr6_153{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem;padding:.5rem}._dot_1jbr6_161{width:10px;height:10px;border-radius:50%;background-color:#ddd;border:none;cursor:pointer;padding:0;transition:all .2s ease}._dot_1jbr6_161:hover{background-color:#999}._dot_1jbr6_161._activeDot_1jbr6_174{background-color:#2d6a4f;width:12px;height:12px}
