@font-face{font-family:Inter;font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f0eb;--surface: #faf7f4;--fg: #1a1714;--fg-muted: #8a8078;--border: #e3ddd8;--accent: #c96a3a;--font: "Inter", system-ui, -apple-system, sans-serif}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.65;display:flex;flex-direction:column;min-height:100vh;-webkit-font-smoothing:antialiased}header{padding:1.25rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--border)}header .logo{height:48px;width:auto;display:block}nav{display:flex;align-items:center;gap:1.75rem}nav a{color:var(--fg);opacity:.6;text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.03em;transition:opacity .15s}nav a:hover{opacity:1}nav a[aria-current=page]{opacity:1;color:var(--accent)}nav a.lang-switch{padding-left:1.75rem;border-left:1px solid var(--border);font-size:.78rem;letter-spacing:.06em}main{flex:1;padding:4rem 3rem 5rem;max-width:680px;width:100%;margin-inline:auto}main.wide{max-width:880px}main.wide p{max-width:none}main.wide .form{max-width:none}h1{font-size:1.4rem;font-weight:500;margin-bottom:1.25rem}.page-title-img{height:3rem;width:auto;display:block;margin:0 auto 1.5rem}main h2{font-size:.95rem;font-weight:400;color:var(--fg);margin-bottom:1.25rem}main p{color:var(--fg);opacity:.72;margin-bottom:1.25rem;font-weight:300;font-size:.95rem;max-width:56ch}main a:not(.card):not(.btn){color:var(--accent);text-decoration:none}main a:not(.card):not(.btn):hover{text-decoration:underline;text-underline-offset:3px}.btn{display:inline-block;font-size:.82rem;font-weight:500;letter-spacing:.03em;color:var(--surface);background:var(--accent);border-radius:8px;padding:.7rem 1.4rem;text-decoration:none;margin-bottom:2rem;transition:opacity .15s}.btn:hover{opacity:.88}.prose h2{font-size:1.05rem;font-weight:500;margin:2rem 0 .9rem;opacity:1}.prose h3{font-size:.95rem;font-weight:500;margin:1.5rem 0 .6rem}.prose ul,.prose ol{margin:0 0 1.25rem 1.25rem;opacity:.72;font-weight:300}.prose li{margin-bottom:.4rem}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.1em .35em}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;overflow-x:auto;margin-bottom:1.25rem}.prose pre code{background:none;border:none;padding:0}.project-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}a.card{display:block;padding:1.25rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}a.card:hover{border-color:var(--accent);transform:translateY(-1px)}a.card .card-title{font-size:.95rem;font-weight:500;margin-bottom:.3rem}a.card .card-summary{font-size:.85rem;font-weight:300;opacity:.65}.card-meta{display:flex;gap:.5rem;margin-top:.6rem;flex-wrap:wrap}.tag{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);border:1px solid var(--border);border-radius:999px;padding:.15rem .55rem}.back-link{display:inline-block;font-size:.78rem;font-weight:500;color:var(--fg-muted);text-decoration:none;margin-bottom:1.5rem}.back-link:hover{color:var(--fg)}.form{display:flex;flex-direction:column;gap:1.1rem;margin-top:2rem;max-width:480px}.form label{display:flex;flex-direction:column;gap:.4rem;font-size:.78rem;font-weight:500;letter-spacing:.04em;color:var(--fg-muted)}.form input,.form textarea{font-family:inherit;font-size:.9rem;font-weight:300;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.65rem .8rem;transition:border-color .15s}.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent)}.form textarea{resize:vertical;min-height:130px}.form button{align-self:flex-start;font-family:inherit;font-size:.82rem;font-weight:500;letter-spacing:.03em;color:var(--surface);background:var(--accent);border:none;border-radius:8px;padding:.7rem 1.4rem;cursor:pointer;transition:opacity .15s}.form button:hover{opacity:.88}.form button:disabled{opacity:.5;cursor:default}.form-status{font-size:.85rem;font-weight:300}.form-status.error{color:var(--accent)}.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}footer{border-top:1px solid var(--border);padding:1.25rem 3rem}footer details summary{cursor:pointer;font-size:.75rem;font-weight:500;color:var(--fg-muted);letter-spacing:.04em;list-style:none;display:inline-flex;align-items:center;gap:.4rem;user-select:none;transition:color .15s}footer details summary:hover{color:var(--fg)}footer details summary:after{content:"↓";font-size:.65rem;transition:transform .2s}footer details[open] summary:after{transform:rotate(180deg)}footer .impressum-body{margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem;padding-bottom:1rem}footer .impressum-section h3{font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:.6rem}footer .impressum-section p,footer .impressum-section address{font-size:.78rem;font-style:normal;color:var(--fg);opacity:.6;line-height:1.75}footer a{color:var(--accent);text-decoration:none}footer a:hover{text-decoration:underline;text-underline-offset:3px}@media(max-width:640px){header{padding:1rem 1.5rem;flex-wrap:wrap;gap:1rem}nav{gap:1.25rem}main{padding:2.5rem 1.5rem 3.5rem}footer{padding:1.25rem 1.5rem}}
