@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Rubik:wght@400;500;600&display=swap";:root{--sin-text:#1c1917;--sin-text-muted:#57534e;--sin-text-soft:#78716c;--sin-bg:#fafaf9;--sin-surface:#fff;--sin-border:#e7e5e4;--sin-accent:#ff3600;--sin-font-body:"Rubik", system-ui, sans-serif;--sin-font-heading:"Barlow Condensed", system-ui, sans-serif;font-family:var(--sin-font-body);color:var(--sin-text-muted);background:var(--sin-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;line-height:1.5}@media (width<=640px){:root{font-size:16px}}*,:before,:after{box-sizing:border-box}body{margin:0}#root{width:100%;max-width:100%;text-align:inherit;border:none;min-height:100svh;margin:0}a{color:inherit}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site{flex-direction:column;min-height:100svh;display:flex}.site-main{flex:1}.site-footer{border-top:1px solid var(--sin-border);background:var(--sin-surface);margin-top:auto;padding:2.5rem 1.25rem 1.5rem}.site-footer__inner{text-align:left;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;display:grid}.site-footer__block{color:var(--sin-text-muted);font-size:.95rem;line-height:1.55}.site-footer__block strong{color:var(--sin-text);margin-bottom:.35rem;display:block}.site-footer a{color:var(--sin-accent);text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer__legal{flex-direction:column;gap:.35rem;display:flex}.site-header{z-index:100;border-bottom:1px solid var(--sin-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:1rem 1.25rem;display:flex}.site-header__brand img{width:auto;max-width:min(440px,85vw);height:auto;max-height:104px;display:block}.site-header__toggle{border:1px solid var(--sin-border);background:var(--sin-surface);cursor:pointer;border-radius:6px;padding:.5rem;display:none}.site-header__toggle-lines{background:var(--sin-text);width:22px;height:2px;box-shadow:0 -6px 0 var(--sin-text), 0 6px 0 var(--sin-text);display:block;position:relative;top:0}.site-header__nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.25rem .5rem;display:flex}.site-header__link{font-family:var(--sin-font-heading);letter-spacing:.02em;text-transform:uppercase;color:var(--sin-text-muted);border-radius:4px;padding:.45rem .65rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:color .15s,background .15s}.site-header__link:hover{color:var(--sin-accent)}.site-header__link.is-active{color:var(--sin-accent);background:#ff360014}@media (width<=900px){.site-header__toggle{display:block}.site-header__nav{border-bottom:1px solid var(--sin-border);background:#fffffffa;flex-direction:column;align-items:stretch;gap:0;padding:.75rem 1.25rem 1rem;display:none;position:absolute;top:100%;left:0;right:0}.site-header__nav.is-open{display:flex}.site-header__link{border-bottom:1px solid var(--sin-border);border-radius:0;padding:.65rem .5rem}}.page-inner{max-width:1200px;margin:0 auto;padding:2rem 1.25rem 3rem}.page-inner--text{text-align:left;max-width:42rem}.page-inner h1{font-family:var(--sin-font-heading);letter-spacing:-.02em;color:var(--sin-text);margin:0 0 1rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700}.page-inner--text p{color:var(--sin-text-muted);margin:0 0 1rem;line-height:1.65}.lead{color:var(--sin-text-muted);margin:0 0 2rem;font-size:1.05rem;line-height:1.6}.hero{align-items:end;min-height:min(52vh,520px);display:grid;position:relative}.hero__media{position:absolute;inset:0;overflow:hidden}.hero__media img{object-fit:cover;width:100%;height:100%}.hero__overlay{background:linear-gradient(#0000 0%,#14121040 45%,#141210d9 100%);position:absolute;inset:0}.hero__content{z-index:1;text-align:left;width:100%;max-width:1200px;margin:0 auto;padding:3rem 1.25rem 2.5rem;position:relative}.hero h1{font-family:var(--sin-font-heading);letter-spacing:-.03em;color:#fff;text-shadow:0 2px 24px #00000059;margin:0 0 .35rem;font-size:clamp(2rem,5vw,3rem);font-weight:700}.hero__subtitle{color:#ffffffeb;max-width:36rem;margin:0;font-size:clamp(1.1rem,2.5vw,1.35rem)}.section{margin-top:2.5rem}.section__heading{font-family:var(--sin-font-heading);text-align:center;color:var(--sin-text);margin:0 0 1.5rem;font-size:1.5rem}.section__cta{text-align:center;margin-top:1.5rem}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.card{background:var(--sin-surface);border:1px solid var(--sin-border);text-align:left;border-radius:8px;overflow:hidden}.card__figure{aspect-ratio:4/3;background:#ddd;margin:0}.card__figure img{object-fit:cover;width:100%;height:100%;display:block}.card__title{font-family:var(--sin-font-heading);color:var(--sin-text);margin:1rem 1.1rem .5rem;font-size:1.2rem}.card__text{color:var(--sin-text-muted);margin:0 1.1rem 1.15rem;font-size:.95rem;line-height:1.6}.project-card{text-align:left}.project-card__img{aspect-ratio:16/10;background:var(--sin-border);border-radius:8px;overflow:hidden}.project-card__img img{object-fit:cover;width:100%;height:100%}.project-card h3{font-family:var(--sin-font-heading);color:var(--sin-text);margin:.75rem 0 .25rem;font-size:1.1rem}.project-card__meta{color:var(--sin-text-soft);margin:0;font-size:.9rem}.cta-band{text-align:center;color:#ffffffe6;background:linear-gradient(135deg,#1a1918 0%,#2d2b29 100%);border-radius:10px;padding:2.5rem 1.5rem}.cta-band h2{font-family:var(--sin-font-heading);color:#fff;margin:0 0 .5rem;font-size:1.45rem}.cta-band p{margin:0 0 1.25rem}.newsletter{text-align:center;padding-bottom:1rem}.newsletter h2{font-family:var(--sin-font-heading);margin:0 0 .5rem;font-size:1.35rem}.newsletter p{color:var(--sin-text-muted);margin:0 0 1rem}.newsletter__form{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.newsletter__form input{border:1px solid var(--sin-border);min-width:220px;font:inherit;border-radius:6px;padding:.65rem .85rem}.btn{font:inherit;cursor:pointer;background:var(--sin-accent);color:#fff;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.6rem 1.25rem;font-weight:600;text-decoration:none;transition:filter .15s;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn--light{color:var(--sin-text);background:#fff}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.65rem;display:grid}.gallery-grid__item{aspect-ratio:1;background:var(--sin-border);border-radius:6px;margin:0;overflow:hidden}.gallery-grid__item img{object-fit:cover;width:100%;height:100%}.article-list{flex-direction:column;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.article-card{text-align:left;border:1px solid var(--sin-border);background:var(--sin-surface);border-radius:8px;padding:1.25rem 1.35rem}.article-card h2{font-family:var(--sin-font-heading);color:var(--sin-text);margin:0 0 .5rem;font-size:1.15rem}.article-card p{color:var(--sin-text-muted);margin:0;font-size:.95rem;line-height:1.6}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:2rem;display:grid}.contact-card{color:var(--sin-text-muted);font-style:normal;line-height:1.65}.contact-card a{color:var(--sin-accent);text-decoration:none}.contact-card a:hover{text-decoration:underline}.contact-form{text-align:left;flex-direction:column;gap:1rem;display:flex}.contact-form label{color:var(--sin-text);flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}.contact-form input,.contact-form textarea{border:1px solid var(--sin-border);font:inherit;border-radius:6px;padding:.55rem .65rem}.form-success{color:var(--sin-text-muted);background:#ff360014;border-radius:8px;margin:0;padding:1rem}.impressum section{margin-top:1.75rem}.impressum h2{color:var(--sin-text);margin:0 0 .5rem;font-size:1.1rem}.impressum p{margin:0 0 .35rem}.services-sub{font-family:var(--sin-font-heading);color:var(--sin-text);margin:1.5rem 0 .5rem;font-size:1.05rem}.services-list{color:var(--sin-text-muted);margin:0;padding-left:1.25rem}
