.nav__list{margin-right:1.5em;display:flex}.nav__list-item{margin-left:1.5em}.app .nav__hamburger{display:none}.nav__theme{margin-top:.4em}@media (max-width:600px){.nav__list{display:none;flex-direction:column;justify-content:center;align-items:center;position:fixed;inset:0;width:100%;height:100%;z-index:2}.nav__list-item{margin:.5em 0}.app .nav__hamburger{display:flex;z-index:2;margin-left:.8em}}.language-switcher{display:flex;grid-gap:.5em;gap:.5em;align-items:center}.lang-btn{background:var(--clr-bg-alt,#f4f4f4);border:1px solid var(--clr-primary,#333);border-radius:4px;padding:.25em .7em;font-size:1rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s;color:var(--clr-primary,#333);opacity:.7}.lang-btn.active,.lang-btn:hover{background:var(--clr-primary,#333);color:#fff;border-color:var(--clr-primary,#333);opacity:1}.header{height:8em;max-width:1100px;width:95%;margin:0 auto;justify-content:space-between}@media (max-width:600px){.header{height:6em}}.about{flex-direction:column;margin-top:3em;align-items:center}.about__name{color:var(--clr-primary)}.about__role{margin-top:1.2em}.about__desc{font-size:1rem;max-width:600px;text-align:center}.about__contact,.about__desc{margin-top:2.4em}.about .link--icon{margin-right:.8em}.about .btn--outline{margin-right:1em}.about__photo{width:160px;height:160px;object-fit:cover;border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,.15);margin-bottom:2em;border:3px solid var(--clr-primary,#007bff);background:#fff;display:block}@media (max-width:600px){.about__photo{width:120px;height:120px;margin-bottom:1.5em}.app .about{align-items:flex-start;margin-top:2em}}.project{padding:2em;margin:0 auto;text-align:center;box-shadow:var(--shadow);transition:transform .2s linear}.project:hover{transform:translateY(-7px)}.project__description{margin-top:1em}.project__stack{display:flex;flex-wrap:wrap;justify-content:center;margin:1.2em 0}.project__stack-item{margin:.5em;font-weight:500;font-size:.8rem;color:var(--clr-fg-alt)}.project .link--icon{margin-left:.5em}.projects__grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(18em,1fr));grid-gap:2em}.skills__list{max-width:450px;width:95%;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center}.skills__list-item{margin:.5em}.scroll-top{position:fixed;bottom:2em;right:4em;background-color:initial}@media (max-width:900px){.scroll-top{display:none}}.contact{flex-direction:column}.footer{padding:3em 0;margin-top:4em;text-align:center}.footer__link{font-size:.9rem;font-weight:600;color:var(--clr-fg)}@media (max-width:600px){.footer{padding:2em;margin-top:3em}}.impressum{max-width:700px;margin:0 auto;padding:2em 1em;color:var(--clr-fg);text-align:center}.impressum h1{font-size:2em;margin-bottom:1em}.impressum h2{font-size:1.2em;margin-top:2em}.impressum p{font-family:"Poppins",sans-serif;font-size:1.05em;color:var(--clr-fg);margin-bottom:.5em}.impressum__hint{font-size:.95em;color:#888;margin-top:2em}.impressum a{color:var(--clr-primary,#007bff);text-decoration:none}.impressum a:hover{text-decoration:underline}.section.blog{padding-top:0!important;margin-top:0!important}.section__title{margin-bottom:.8em;margin-top:0}.blog__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:2em;gap:2em;margin-top:2em}.blog__link{text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;border-radius:8px;display:block}.blog__link:focus .blogpost--preview,.blog__link:hover .blogpost--preview{box-shadow:0 6px 18px rgba(0,0,0,.12);transform:translateY(-3px) scale(1.01)}.blogpost--preview{display:flex;flex-direction:column;height:100%;background:var(--clr-bg-alt,#fff);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05);overflow:hidden;transition:box-shadow .2s,transform .2s}.blogpost__image--preview{width:100%;height:180px;object-fit:cover;display:block;background-color:#f5f5f5;border-bottom:1px solid rgba(0,0,0,.04);transition:opacity .3s ease}.blogpost__image--preview[src=""]{visibility:hidden}.blogpost__image--preview:not([src]){background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;color:#999;font-size:.9em}.blogpost__preview-content{padding:1.3em 1.2em 1.5em;display:flex;flex-direction:column;flex:1 1}.blogpost{background:var(--clr-bg-alt,#fff);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.04);padding:2em;transition:box-shadow .2s}.blogpost__image{width:100%;max-width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:12px;margin:0 auto 2em;display:block;box-shadow:0 6px 16px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1);background-color:#f8f9fa;object-position:center}.blogpost__image:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 12px 24px rgba(0,0,0,.15)}.blogpost__image-container{position:relative;width:100%;margin:0 auto 2em;display:flex;justify-content:center;align-items:center;min-height:200px;max-height:70vh;border-radius:12px;background:#f8f9fa;padding:1rem;box-sizing:border-box}.blogpost__image-loading{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.8);z-index:2}.blogpost__image-error,.blogpost__image-loading{display:flex;align-items:center;justify-content:center;color:#6c757d;font-size:1rem}.blogpost__image-error{position:relative;width:100%;padding-top:56.25%;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;margin-bottom:2em}@media (max-width:768px){.blogpost__image{max-height:50vh;border-radius:8px}.blogpost__image:hover{transform:translateY(-2px)}}@media (max-width:480px){.blogpost__image{max-height:40vh;border-radius:6px}}.blogpost__title{margin:0 0 .5em;color:var(--clr-primary,#333)}.blogpost__meta{font-size:.9em;color:var(--clr-primary-light,#888);margin-bottom:1em}.blogpost__summary{font-size:1.1em}.blogpost:hover{box-shadow:0 4px 16px rgba(0,0,0,.1)}.app{font-family:"Poppins",sans-serif;line-height:1.5;color:var(--clr-fg);background-color:var(--clr-bg)}.light{--clr-bg:#fcfcfc;--clr-bg-alt:#fff;--clr-fg:#555;--clr-fg-alt:#444;--clr-primary:#2978b5;--shadow:rgba(100,100,111,0.2) 0px 7px 29px 0px}.dark{--clr-bg:#23283e;--clr-bg-alt:#2a2f4c;--clr-fg:#bdbddd;--clr-fg-alt:#cdcdff;--clr-primary:#90a0d9;--shadow:rgba(0,0,0,0.16) 0px 10px 36px 0px,rgba(0,0,0,0.06) 0px 0px 0px 1px}main{max-width:1100px;width:95%;margin:0 auto}.section{margin-top:5em}.section__title{text-align:center;margin-bottom:1em;text-transform:uppercase}.center{display:flex;align-items:center}.link{padding:0 0 .3em;position:relative}.link,.link:hover{color:var(--clr-primary)}.link:before{content:"";display:inline;width:0;height:.2em;position:absolute;bottom:0;background-color:var(--clr-primary);transition:width .2s ease-in}.link:focus:before,.link:hover:before{width:100%}.link--nav{text-transform:lowercase;font-weight:500}.link--icon,.link--nav{color:var(--clr-fg)}.btn{display:block;cursor:pointer;padding:.8em 1.4em;font-weight:500;font-size:.9rem;text-transform:lowercase;transition:transform .2s ease-in-out}.btn--outline{color:var(--clr-primary);border:2px solid var(--clr-primary);position:relative;overflow:hidden;z-index:1}.btn--outline:focus,.btn--outline:hover{color:var(--clr-bg)}.btn--outline:before{content:"";position:absolute;background-color:var(--clr-primary);right:100%;bottom:0;left:0;top:0;z-index:-1;transition:right .2s ease-in-out}.btn--outline:focus:before,.btn--outline:hover:before{right:0}.btn--plain{text-transform:none;background-color:var(--clr-bg-alt);box-shadow:0 3px 3px 0 rgba(0,0,0,.15);border:0}.btn--plain:hover{transform:translateY(-4px)}.btn--icon{padding:0}.btn--icon:focus,.btn--icon:hover{color:var(--clr-primary)}.btn--icon:active{transform:translateY(-5px)}@media (max-width:600px){.section{margin-top:4em}}*{padding:0;margin:0;border:0;outline:0;background-color:inherit;color:inherit;font-family:inherit;font-size:inherit;box-shadow:none;box-sizing:border-box}html{scroll-behavior:smooth}h1,h2,h3,h4{line-height:1.2;color:var(--clr-fg-alt)}h1{font-size:4rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.3rem}ul{list-style-type:none}a{text-decoration:none}button{cursor:pointer}@media (max-width:900px){h1{font-size:2.6rem}}
/*# sourceMappingURL=main.3831cf8d.chunk.css.map */