:root{--paper:#EBE7DE;--paper-d:#DCD6C7;--ink:#1C1917;--ink-s:#3A332E;--accent:#9A5037;--accent-d:#7A3E2A;--muted:#786F65;--line:#BAB3A1}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'Manrope',sans-serif;font-size:15px;line-height:1.65;min-height:100vh;display:flex;flex-direction:column;font-feature-settings:"ss01"}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:var(--paper)}

.demo-banner{background:var(--ink);color:var(--paper);padding:0.65rem 1rem;font-size:0.78rem;text-align:center;letter-spacing:0.05em;position:relative;z-index:10}
.demo-banner strong{color:var(--accent)}
.demo-banner a{color:var(--paper);text-decoration:underline;text-decoration-color:var(--accent)}

.notdienst-bar{background:var(--ink);color:var(--paper);padding:0.55rem 1rem;text-align:center;font-size:0.82rem;border-bottom:1px solid var(--accent-d);letter-spacing:0.02em}
.notdienst-bar strong{color:var(--accent);font-weight:700}
.notdienst-bar a{text-decoration:underline;font-weight:600}

.masthead{padding:1.25rem 2.5rem;border-bottom:1.5px solid var(--ink);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;position:sticky;top:0;background:var(--paper);z-index:9}
.brand{display:flex;align-items:center;gap:0.8rem}
.brand-icon{width:32px;height:32px;background:var(--accent);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;clip-path:polygon(50% 0,100% 50%,100% 100%,0 100%,0 50%)}
.brand-name{font-weight:800;font-size:1.05rem;letter-spacing:-0.015em}
.brand-sub{font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--muted);margin-top:2px}
.masthead nav{display:flex;gap:1.75rem;font-size:0.82rem;font-weight:500;justify-self:center}
.masthead nav a{padding-bottom:2px;border-bottom:2px solid transparent;transition:all 0.2s}
.masthead nav a.active,.masthead nav a:hover{border-bottom-color:var(--accent);color:var(--accent-d)}
.masthead .cta{background:var(--ink);color:var(--paper);padding:0.5rem 1.1rem;font-size:0.82rem;font-weight:600;transition:background 0.2s}
.masthead .cta:hover{background:var(--accent)}

main{flex:1;position:relative;z-index:2}

footer{padding:1.75rem 2.5rem;background:var(--paper-d);border-top:1.5px solid var(--ink);font-size:0.78rem;color:var(--muted);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.75rem}
footer a:hover{color:var(--accent-d)}

@media(max-width:780px){.masthead{grid-template-columns:1fr;text-align:center;gap:0.75rem;padding:1rem 1.25rem}.brand{justify-content:center}.masthead nav{justify-content:center;flex-wrap:wrap;gap:1rem;justify-self:auto}footer{padding:1.25rem;justify-content:center;text-align:center}}
