:root{--primary-color: #008080;--primary-dark: #006666;--primary-light: #e0f7fa;--text-dark: #333;--text-light: #666;--bg-light: #f8f9fa;--white: #ffffff;--shadow: 0 4px 6px rgba(0, 0, 0, .1);--transition: all .3s ease;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-xxl: 4rem;--bg-dark: #121212;--text-dark-mode: #e0e0e0;--card-bg-dark: #1e1e1e}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-dark);background-color:var(--bg-light)}p{margin-bottom:1rem}img{max-width:100%;height:auto;display:block}html{scroll-behavior:smooth}.footer-links,.nav-menu,.skills-list{list-style:none}.btn,.footer-link a,.nav-link,.social-link{text-decoration:none}.btn,.btn[type=submit],.footer-link a,.form-control,.nav-link,.skill-category,.social-link{transition:var(--transition)}*:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.navbar{background:#025e5e;background:linear-gradient(0deg,#025e5e 0,teal);color:#fff;padding:1rem 0;position:sticky;top:0;z-index:1000;box-shadow:var(--shadow)}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem}.nav-logo{font-size:1.8rem;font-weight:700}.nav-menu{display:flex}.nav-item{margin-left:2rem}.nav-link{color:#fff;font-weight:500;padding:.5rem 1rem;border-radius:5px}.nav-link:hover{background-color:#fff3}.mobile-menu-btn{display:none;background:0 0;border:none;color:#fff;font-size:1.5rem;cursor:pointer}.hero{padding:6rem 2rem 4rem;background:linear-gradient(135deg,var(--primary-light) 0,#f0f8ff 100%)}.hero-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;flex-wrap:wrap}.hero-content{flex:1;min-width:300px;padding-right:2rem}.hero-title{font-size:3rem!important;margin-bottom:1rem;line-height:1.2}.hero-text,.kontakt-content p{margin-bottom:2rem}.hero-text{font-size:1.2rem;color:var(--text-light);max-width:600px}.btn,.btn[type=submit]{font-weight:600;cursor:pointer;color:#fff}.btn{display:inline-block;padding:1rem 2rem;background-color:var(--primary-color);border-radius:5px;margin-right:1rem;border:none}.btn:hover,.btn[type=submit]:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 8px #0080804d}.btn-secondary{background-color:#fff;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-secondary:hover{background-color:var(--primary-light)}.profile-img,.skill-category:hover{box-shadow:0 10px 20px #0000001a}.hero-image{flex:1;min-width:300px;display:flex;justify-content:center}.profile-circle{position:relative;width:350px;height:350px}.profile-bg,.profile-img{position:absolute;border-radius:50%}.profile-bg{width:100%;height:100%;top:-20px;left:-20px;z-index:1;background-color:var(--primary-color)}.profile-img{width:310px;height:310px;object-fit:cover;border:8px solid #fff;z-index:2;top:0;left:0}.hero-image:hover .profile-bg{animation:1.5s ease-in-out infinite pulsate}@keyframes pulsate{0%,to{transform:scale(1)}50%{transform:scale(.888)}}.section{padding:5rem 2rem}.section-title,#contact .section-title{text-align:center;font-size:2.5rem;margin-bottom:1.5rem;color:var(--primary-color)}.section-subtitle{text-align:center;color:var(--text-light);margin-bottom:4rem;max-width:700px;margin-left:auto;margin-right:auto}.skills{background-color:#fff}.skill-category{background-color:var(--bg-light);padding:2rem;border-radius:10px;box-shadow:var(--shadow);border-top:5px solid var(--primary-color)}.skill-category:hover{transform:translateY(-5px)}.category-title,.hero-title span,.portfolio-title,.skill-icon,.social-link:hover,.tag{color:var(--primary-color)}.category-title{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;display:flex;align-items:center}.category-title i{margin-right:.8rem}.skill-item{padding:.8rem 0;border-bottom:1px solid #eee;display:flex;align-items:center}.skill-item:last-child{border-bottom:none}.skill-icon{margin-right:1rem;min-width:20px;transition:transform .2s ease}.skill-item:hover .skill-icon{transform:scale(1.1)}.skill-name,.tag{font-weight:500}.skills-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.portfolio{background-color:var(--bg-light)}.portfolio-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.portfolio-item{background-color:#fff;position:relative;overflow:hidden;border-radius:10px;box-shadow:var(--shadow);transition:box-shadow .3s}.portfolio-item:hover{box-shadow:0 15px 30px #00000026}.portfolio-img-wrapper{position:relative;width:100%;height:250px}.portfolio-img,.portfolio-img-hover{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0;transition:opacity .3s}.portfolio-img{opacity:1}.portfolio-img-hover,.portfolio-item:hover .portfolio-img{opacity:0}.portfolio-item:hover .portfolio-img-hover{opacity:1}.portfolio-content{padding:1.5rem}.portfolio-title{font-size:1.4rem;margin-bottom:.5rem}.portfolio-desc{color:var(--text-light);margin-bottom:1rem}.portfolio-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{background-color:var(--primary-light);padding:.3rem .8rem;border-radius:20px;font-size:.8rem}#contact,.impressum{background-color:#fff;color:var(--text-dark);padding:5rem 2rem}#contact .section-title{margin-bottom:2rem;text-align:center}.kontakt-content{max-width:800px;margin:0 auto;text-align:center;color:var(--text-light);line-height:1.7;font-size:1rem}.kontakt-formular{margin-top:1rem;padding:2rem;background-color:var(--bg-light);border-radius:10px;box-shadow:var(--shadow)}.form{display:flex;flex-direction:column;gap:1.2rem}.form-group{display:flex;flex-direction:column;text-align:left;margin-bottom:1.5rem}.form-group label{color:var(--text-dark);font-size:1rem;display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group textarea{padding:.8rem 1rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;transition:var(--transition);background-color:#fff}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light);opacity:1}.form-control,.form-group input,.form-group textarea{width:100%;padding:1rem;border:1px solid #ddd;border-radius:5px;font-size:1rem}textarea.form-control,.form-group textarea{resize:vertical;min-height:150px}.form-control:focus,.form-group input:focus,.form-group textarea:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 3px #0080801a}.btn[type=submit]{align-self:center;margin-top:.5rem;padding:.8rem 2rem;font-size:1rem;border:none;border-radius:5px;background-color:var(--primary-color)}.success-message,.error-message{margin-top:1rem;font-weight:500;font-style:italic}.success-message{color:#2e7d32}.error-message{color:#c62828}.contact{background:#025e5e;background:linear-gradient(0deg,#025e5e 0,teal);color:#fff;padding:5rem 2rem}.contact-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem}.contact-info h3{font-size:1.8rem;margin-bottom:2rem}.contact-item{display:flex;align-items:flex-start;margin-bottom:1.5rem}.contact-icon{background-color:#fff3;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:1rem;flex-shrink:0}.contact-item h4{margin-bottom:.3rem}.contact-item p{color:#fffc}.social-links{display:flex;gap:1rem;margin-top:2rem}.social-link{display:flex;align-items:center;justify-content:center;color:#fff;width:50px;height:50px;border-radius:50%;background-color:#fff3}.social-link:hover{background-color:#fff;color:var(--primary-color);transform:translateY(-3px)}.contact-form{background-color:#fff;padding:2.5rem;border-radius:10px}.impressum-container{max-width:800px;margin:0 auto;text-align:center}.impressum .section-title{color:var(--primary-color);text-align:center;margin:0 auto 2rem;max-width:800px;display:block;font-size:2.5rem}.impressum-content{text-align:left;line-height:1.7;font-size:1rem;color:var(--text-light);margin-top:1rem}.impressum-content h2{color:var(--primary-color);font-size:1.4rem;margin-top:2rem;margin-bottom:1rem;font-weight:600}.impressum-content p{margin-bottom:1rem;text-align:justify}.impressum-content p:last-child{margin-bottom:0}.impressum-content br+br{margin-top:.5rem}.footer,.contact,.footer-link a:hover{color:#fff}.footer{background-color:#333;padding:3rem 2rem}.footer-container{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.footer-logo{font-size:1.8rem;font-weight:700;margin-bottom:1rem;color:#fff}.footer-about{color:#ccc;margin-bottom:1.5rem;max-width:300px}.footer-links{display:flex;margin-bottom:1.5rem}.footer-link{margin-right:2rem}.footer-link a{color:#ccc}.footer-bottom{color:#999;font-size:.9rem;text-align:center;width:100%;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #444}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate{animation:.8s forwards fadeIn}.scroll-top{position:fixed;bottom:1.5rem;right:1.5rem;width:50px;height:50px;background-color:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;opacity:0;visibility:hidden;transform:translateY(20px);transition:var(--transition),opacity .4s,visibility .4s;z-index:999;box-shadow:var(--shadow)}.scroll-top.show{opacity:1;visibility:visible;transform:translateY(0)}.scroll-top:hover{background-color:var(--primary-dark);transform:translateY(-3px)}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;src:url(/webfonts/fa-solid-900.woff2) format("woff2");font-display:swap}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;src:url(/webfonts/fa-brands-400.woff2) format("woff2");font-display:swap}.fa,.fab,.fas{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;speak:never;display:inline-block;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fab{font-family:"Font Awesome 5 Brands";font-weight:400}.fas.fa-bars:before{content:""}.fas.fa-check-circle:before{content:""}.fas.fa-laptop-code:before{content:""}.fas.fa-server:before{content:""}.fas.fa-cloud:before{content:""}.fas.fa-database:before{content:""}.fas.fa-project-diagram:before{content:""}.fas.fa-arrow-right:before{content:""}.fas.fa-arrow-up:before{content:""}.fab.fa-github:before{content:""}.fab.fa-linkedin-in:before{content:""}.fab.fa-youtube:before{content:""}.fab.fa-instagram:before{content:""}@media (max-width: 992px){.hero-title{font-size:2.5rem}.profile-circle{width:300px;height:300px}.profile-bg{top:-15px;left:-15px}.profile-img{width:270px;height:270px}}@media (max-width: 768px){.form-group input,.form-group label,.form-group textarea,.impressum-content,.kontakt-content{font-size:.95rem}#contact,.section{padding:4rem 1rem}.impressum-container,.kontakt-content{padding:0 1rem}.kontakt-formular{padding:1.5rem}.impressum .section-title,.section-title{font-size:2.2rem}.nav-menu{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--primary-color);flex-direction:column;padding:1rem 0;box-shadow:var(--shadow)}.nav-menu.active{display:flex}.nav-item{margin:.5rem 0;text-align:center}.mobile-menu-btn{display:block}.hero-content,.hero-image{flex:1 1 100%;text-align:center}.hero-content{padding-right:0;margin-bottom:3rem}.hero-text{margin:0 auto 2rem}}@media (max-width: 576px){.impressum-content,.kontakt-content{font-size:.9rem;line-height:1.6}.btn[type=submit]{width:100%;margin-top:1rem}.impressum{padding:3rem 1rem}.hero-title,.impressum .section-title{font-size:2rem}.btn{display:block;width:100%;margin-bottom:1rem;text-align:center}.btn-secondary{margin-right:0}.profile-circle{width:250px;height:250px;margin:0 auto}.profile-bg{top:-10px;left:-10px}.profile-img{width:230px;height:230px}.contact-container{grid-template-columns:1fr}}@media print{.navbar,.footer,.scroll-top,.mobile-menu-btn,.btn-secondary{display:none!important}body,#contact,.impressum,.skills,.portfolio{background:#fff!important;color:#000!important;box-shadow:none!important}a{color:#000!important;text-decoration:underline!important}.profile-img,.portfolio-img{filter:none!important}}
