:root{--paper:#F5EFE0;--paper-d:#EAE2CE;--ink:#1E1814;--ink-s:#40342A;--wine:#A03A2C;--wine-d:#7A2A1F;--muted:#8F8472;--line:#BFB199}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'IBM Plex Mono',monospace;font-size:14px;line-height:1.7;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
::selection{background:var(--wine);color:var(--paper)}

body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");mix-blend-mode:multiply;opacity:0.4}

.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(--wine)}
.demo-banner a{color:var(--paper);text-decoration:underline;text-decoration-color:var(--wine)}

.masthead{padding:1.5rem 2.5rem;border-bottom:1px 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}
.masthead .title{font-family:'Cormorant',serif;font-style:italic;font-weight:500;font-size:1.4rem;letter-spacing:0.02em;color:var(--wine-d)}
.masthead .title a{color:inherit}
.masthead nav{display:flex;gap:1.75rem;font-size:0.8rem;letter-spacing:0.05em}
.masthead nav a{padding-bottom:2px;border-bottom:1px solid transparent;transition:border-color 0.2s,color 0.2s}
.masthead nav a.active,.masthead nav a:hover{border-bottom-color:var(--wine);color:var(--wine-d)}
.masthead .tel{font-size:0.78rem;color:var(--ink-s)}
.masthead .tel a:hover{color:var(--wine-d)}

main{flex:1;position:relative;z-index:2}

/* Footer (unten auf allen Seiten) */
footer{padding:1.75rem 2.5rem;background:var(--paper-d);border-top:1px solid var(--line);font-size:0.72rem;letter-spacing:0.1em;color:var(--muted);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.75rem;position:relative;z-index:2}
footer .orn{font-family:'Cormorant',serif;font-style:italic;font-size:1rem;color:var(--wine);letter-spacing:0;text-transform:none}
footer a:hover{color:var(--wine-d)}

@media(max-width:700px){.masthead{grid-template-columns:1fr;text-align:center;padding:1rem 1.25rem;gap:0.75rem}.masthead nav{justify-content:center;flex-wrap:wrap;gap:1rem}footer{padding:1.25rem;justify-content:center;text-align:center}}
