/* Kopfzeile — erzeugt von tools/bausteine.py aus site.css, nicht von Hand bearbeiten */
:root :where(.nav,.nav-overlay,.nav-scrim){--background:38 52% 96%;--foreground:28 28% 13%;--card:40 50% 99%;--secondary:36 30% 89%;--muted:38 34% 92%;--muted-foreground:28 14% 38%;--accent:41 54% 48%;--accent-hover:41 54% 40%;--accent-foreground:28 28% 13%;--border:34 24% 85%;--ring:41 54% 48%;--brown-900:27 28% 19%;--brown-800:28 29% 24%;--brown-700:28 29% 28%;--gold-300:47 61% 71%;--radius-sm:8px;--radius:14px;--radius-lg:22px;--pill:999px;--img-tint:.12;--font-heading:"Inter",system-ui,-apple-system,sans-serif;--font-body:"Inter",system-ui,-apple-system,sans-serif;--font-serif-accent:"Fraunces",Georgia,"Times New Roman",serif;--shadow-soft:0 2px 20px -4px hsl(28 28% 13% / .08),0 4px 8px -4px hsl(28 28% 13% / .05);--shadow-card:0 1px 2px hsl(28 28% 13% / .04),0 18px 40px -22px hsl(28 28% 13% / .22);--shadow-accent:0 8px 30px -8px hsl(41 54% 48% / .38);--drop:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1.5C12 1.5 3.1 8.4 3.1 13.6a8.9 8.9 0 0 0 17.8 0C20.9 8.4 12 1.5 12 1.5Z'/></svg>");--check:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>");--chev:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 6l6 6-6 6'/></svg>");color:hsl(var(--foreground));font-family:var(--font-body);font-size:17px;line-height:1.65}
:root .nav .brand small,:root .nav-overlay .brand small,:root .nav-scrim .brand small{display:block}
:root .nav .btn-accent,:root .nav-overlay .btn-accent,:root .nav-scrim .btn-accent{box-shadow:none}
:root .nav *,:root .nav-overlay *,:root .nav-scrim *,:root .nav *::before,:root .nav-overlay *::before,:root .nav-scrim *::before,:root .nav *::after,:root .nav-overlay *::after,:root .nav-scrim *::after{box-sizing:border-box;margin:0;padding:0;border:0 solid hsl(var(--border))}
:root .nav *,:root .nav-overlay *,:root .nav-scrim *{-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion:reduce){:root .nav *,:root .nav-overlay *,:root .nav-scrim *,:root .nav *::before,:root .nav-overlay *::before,:root .nav-scrim *::before,:root .nav *::after,:root .nav-overlay *::after,:root .nav-scrim *::after{animation:none!important;transition:none!important}}
:root .nav img,:root .nav-overlay img,:root .nav-scrim img,:root .nav video,:root .nav-overlay video,:root .nav-scrim video,:root .nav svg,:root .nav-overlay svg,:root .nav-scrim svg{display:block;max-width:100%;height:auto}
:root .nav a,:root .nav-overlay a,:root .nav-scrim a{color:inherit;text-decoration:none}
:root .nav ul,:root .nav-overlay ul,:root .nav-scrim ul{list-style:none}
:root .nav :focus-visible,:root .nav-overlay :focus-visible,:root .nav-scrim :focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}
:root .nav ::selection,:root .nav-overlay ::selection,:root .nav-scrim ::selection{background:hsl(var(--accent)/.25)}
:root .nav [id],:root .nav-overlay [id],:root .nav-scrim [id],:root .nav[id],:root .nav-overlay[id],:root .nav-scrim[id]{scroll-margin-top:96px}
:root .nav h1,:root .nav-overlay h1,:root .nav-scrim h1,:root .nav h2,:root .nav-overlay h2,:root .nav-scrim h2,:root .nav h3,:root .nav-overlay h3,:root .nav-scrim h3{font-family:var(--font-heading);letter-spacing:-.02em;line-height:1.08;text-wrap:balance}
:root .nav h1,:root .nav-overlay h1,:root .nav-scrim h1{font-size:clamp(2.4rem,6vw,5.25rem);font-weight:600;letter-spacing:-.03em;line-height:1.02}
:root .nav h2,:root .nav-overlay h2,:root .nav-scrim h2{font-size:clamp(1.9rem,4vw,3.25rem);font-weight:450;letter-spacing:-.025em;line-height:1.06}
:root .nav h3,:root .nav-overlay h3,:root .nav-scrim h3{font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:600;letter-spacing:-.015em;line-height:1.25}
:root .nav h1,:root .nav-overlay h1,:root .nav-scrim h1,:root .nav h2,:root .nav-overlay h2,:root .nav-scrim h2,:root .nav h3,:root .nav-overlay h3,:root .nav-scrim h3,:root .nav blockquote,:root .nav-overlay blockquote,:root .nav-scrim blockquote,:root .nav figcaption,:root .nav-overlay figcaption,:root .nav-scrim figcaption{overflow-wrap:break-word}
:root .nav blockquote,:root .nav-overlay blockquote,:root .nav-scrim blockquote{-webkit-hyphens:auto;hyphens:auto}
:root .nav blockquote,:root .nav-overlay blockquote,:root .nav-scrim blockquote{padding-inline-end:.12em}
@media(max-width:767px){:root .nav h1,:root .nav-overlay h1,:root .nav-scrim h1,:root .nav h2,:root .nav-overlay h2,:root .nav-scrim h2{-webkit-hyphens:auto;hyphens:auto}}
:root .nav p,:root .nav-overlay p,:root .nav-scrim p{text-wrap:pretty}
:root .nav .wrap,:root .nav-overlay .wrap,:root .nav-scrim .wrap{max-width:1440px;margin-inline:auto;padding-inline:1.25rem}
@media(min-width:768px){:root .nav .wrap,:root .nav-overlay .wrap,:root .nav-scrim .wrap{padding-inline:2rem}}
@media(min-width:1024px){:root .nav .wrap,:root .nav-overlay .wrap,:root .nav-scrim .wrap{padding-inline:3rem}}
:root .nav section,:root .nav-overlay section,:root .nav-scrim section{padding-block:3.75rem}
@media(min-width:768px){:root .nav section,:root .nav-overlay section,:root .nav-scrim section{padding-block:5.5rem}}
@media(min-width:1024px){:root .nav section,:root .nav-overlay section,:root .nav-scrim section{padding-block:6.5rem}}
:root .nav .btn,:root .nav-overlay .btn,:root .nav-scrim .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.9rem 1.5rem;min-height:50px;font-size:15px;font-weight:600;letter-spacing:-.005em;border-radius:var(--radius-sm);transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .15s,border-color .15s,box-shadow .15s;cursor:pointer;white-space:nowrap}
:root .nav .btn-accent,:root .nav-overlay .btn-accent,:root .nav-scrim .btn-accent{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}
:root .nav .btn-accent:hover,:root .nav-overlay .btn-accent:hover,:root .nav-scrim .btn-accent:hover{transform:translateY(-2px);background:hsl(var(--accent-hover));box-shadow:var(--shadow-accent)}
:root .nav .btn .ico,:root .nav-overlay .btn .ico,:root .nav-scrim .btn .ico{width:18px;height:18px;flex:none}
:root .nav{position:sticky;top:0;z-index:50;background:hsl(var(--brown-900)/.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid hsl(var(--gold-300)/.16);transition:box-shadow .2s}
:root .nav.scrolled{box-shadow:0 10px 30px -18px hsl(27 30% 8% / .7)}
:root .nav .nav-in,:root .nav-overlay .nav-in,:root .nav-scrim .nav-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;height:80px}
:root .nav .brand,:root .nav-overlay .brand,:root .nav-scrim .brand{display:flex;align-items:center;gap:.7rem;line-height:1}
:root .nav .brand img,:root .nav-overlay .brand img,:root .nav-scrim .brand img{height:40px;width:auto;flex:none}
@media(max-width:1023px){:root .nav .brand img,:root .nav-overlay .brand img,:root .nav-scrim .brand img{height:34px}}
:root .nav .brand-txt,:root .nav-overlay .brand-txt,:root .nav-scrim .brand-txt{display:flex;flex-direction:column;line-height:1}
:root .nav .brand b,:root .nav-overlay .brand b,:root .nav-scrim .brand b{font-family:var(--font-serif-accent);font-weight:500;font-size:1.4rem;letter-spacing:.14em;color:hsl(38 40% 92%);text-transform:uppercase}
:root .nav .brand b em,:root .nav-overlay .brand b em,:root .nav-scrim .brand b em{font-style:normal;color:hsl(var(--gold-300))}
:root .nav .brand small,:root .nav-overlay .brand small,:root .nav-scrim .brand small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:hsl(38 25% 70%);margin-top:6px}
:root .nav .nav-links,:root .nav-overlay .nav-links,:root .nav-scrim .nav-links{display:flex;gap:1.75rem;font-size:.9rem;font-weight:500}
@media(min-width:1200px){:root .nav .nav-links,:root .nav-overlay .nav-links,:root .nav-scrim .nav-links{gap:2.1rem}}
:root .nav .nav-links a,:root .nav-overlay .nav-links a,:root .nav-scrim .nav-links a{color:hsl(38 30% 84%);transition:color .15s;padding-block:.5rem;white-space:nowrap;position:relative}
:root .nav .nav-links a::after,:root .nav-overlay .nav-links a::after,:root .nav-scrim .nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:hsl(var(--gold-300));transform:scaleX(0);transform-origin:left;transition:transform .2s}
:root .nav .nav-links a:hover,:root .nav-overlay .nav-links a:hover,:root .nav-scrim .nav-links a:hover,:root .nav .nav-links a[aria-current="page"],:root .nav-overlay .nav-links a[aria-current="page"],:root .nav-scrim .nav-links a[aria-current="page"]{color:hsl(var(--gold-300))}
:root .nav .nav-links a[aria-current="page"]::after,:root .nav-overlay .nav-links a[aria-current="page"]::after,:root .nav-scrim .nav-links a[aria-current="page"]::after{transform:scaleX(1)}
:root .nav .nav-right,:root .nav-overlay .nav-right,:root .nav-scrim .nav-right{display:flex;align-items:center;gap:1.1rem}
:root .nav .nav-tel,:root .nav-overlay .nav-tel,:root .nav-scrim .nav-tel{font-size:.9rem;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;color:hsl(38 35% 90%)}
:root .nav .nav-tel:hover,:root .nav-overlay .nav-tel:hover,:root .nav-scrim .nav-tel:hover{color:hsl(var(--gold-300))}
:root .nav .nav-right .btn,:root .nav-overlay .nav-right .btn,:root .nav-scrim .nav-right .btn{min-width:0;padding:.7rem 1.2rem;min-height:44px;font-size:14px}
:root .nav-toggle{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
:root .nav .nav-burger,:root .nav-overlay .nav-burger,:root .nav-scrim .nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:hsl(0 0% 100% / .08);align-items:center}
:root .nav .nav-burger span,:root .nav-overlay .nav-burger span,:root .nav-scrim .nav-burger span{display:block;height:2px;width:22px;background:hsl(38 40% 92%);border-radius:2px;transition:transform .25s ease,opacity .18s ease}
:root .nav-toggle:focus-visible+.nav .nav-burger{outline:2px solid hsl(var(--gold-300));outline-offset:3px;border-radius:var(--radius-sm)}
:root .nav-toggle:checked+.nav .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
:root .nav-toggle:checked+.nav .nav-burger span:nth-child(2){opacity:0}
:root .nav-toggle:checked+.nav .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
:root .nav-scrim{display:none;position:fixed;inset:0;z-index:60;background:hsl(var(--brown-900)/.55)}
:root .nav-overlay{display:none;position:fixed;inset:60px 0 0;z-index:61;background:hsl(var(--brown-900));padding:1.25rem 1.25rem 2.5rem;overflow-y:auto;overscroll-behavior:contain}
:root .nav-overlay ul{display:flex;flex-direction:column}
:root .nav-overlay li a{display:flex;align-items:center;justify-content:space-between;padding:1rem .25rem;font-size:1.25rem;font-weight:600;color:hsl(38 35% 90%);border-bottom:1px solid hsl(var(--gold-300)/.14)}
:root .nav-overlay li a::after{content:"";width:18px;height:18px;background:hsl(var(--gold-300)/.6);-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat}
:root .nav-overlay li a[aria-current="page"]{color:hsl(var(--gold-300))}
:root .nav .nav-overlay-foot,:root .nav-overlay .nav-overlay-foot,:root .nav-scrim .nav-overlay-foot{margin-top:1.5rem;display:grid;gap:.75rem}
:root .nav .nav-overlay-foot .tel,:root .nav-overlay .nav-overlay-foot .tel,:root .nav-scrim .nav-overlay-foot .tel{font-size:1.05rem;font-weight:600;color:hsl(38 25% 78%);font-variant-numeric:tabular-nums}
:root .nav .nav-overlay-foot .hours,:root .nav-overlay .nav-overlay-foot .hours,:root .nav-scrim .nav-overlay-foot .hours{font-size:.85rem;color:hsl(38 16% 64%)}
:root .nav-overlay .btn{width:100%}
@media(max-width:1023px){:root .nav .nav-links,:root .nav-overlay .nav-links,:root .nav-scrim .nav-links,:root .nav .nav-tel,:root .nav-overlay .nav-tel,:root .nav-scrim .nav-tel{display:none}}
@media(max-width:1023px){:root .nav .nav-in,:root .nav-overlay .nav-in,:root .nav-scrim .nav-in{height:60px}}
@media(max-width:1023px){:root .nav .nav-burger,:root .nav-overlay .nav-burger,:root .nav-scrim .nav-burger{display:flex}}
@media(max-width:1023px){:root .nav-toggle:checked~.nav-scrim,:root .nav-toggle:checked~.nav-overlay{display:block}}
@media(max-width:1023px){:root .nav-toggle:checked~.nav{position:fixed;top:0;left:0;right:0;z-index:70}}
@media(max-width:1023px){body:has(.nav-toggle:checked){overflow:hidden}}
@media(min-width:1024px){:root .nav-overlay,:root .nav-scrim,:root .nav .nav-burger,:root .nav-overlay .nav-burger,:root .nav-scrim .nav-burger{display:none!important}}
@media(max-width:560px){:root .nav .nav-right .btn,:root .nav-overlay .nav-right .btn,:root .nav-scrim .nav-right .btn{display:none}}
:root .nav footer,:root .nav-overlay footer,:root .nav-scrim footer{background:hsl(var(--brown-900));color:hsl(38 18% 74%);padding-top:4rem}
@media(min-width:768px){:root .nav footer,:root .nav-overlay footer,:root .nav-scrim footer{padding-top:5rem}}
:root .nav .nav-links .has-sub,:root .nav-overlay .nav-links .has-sub,:root .nav-scrim .nav-links .has-sub{position:relative}
:root .nav .nav-links,:root .nav-overlay .nav-links,:root .nav-scrim .nav-links{align-items:center}
:root .nav .nav-links>li>a,:root .nav-overlay .nav-links>li>a,:root .nav-scrim .nav-links>li>a{display:inline-flex;align-items:center;gap:.35rem}
:root .nav .sub-chev,:root .nav-overlay .sub-chev,:root .nav-scrim .sub-chev{width:14px;height:14px;opacity:.7;transition:transform .2s}
:root .nav .has-sub:hover>a .sub-chev,:root .nav-overlay .has-sub:hover>a .sub-chev,:root .nav-scrim .has-sub:hover>a .sub-chev,:root .nav .has-sub:focus-within>a .sub-chev,:root .nav-overlay .has-sub:focus-within>a .sub-chev,:root .nav-scrim .has-sub:focus-within>a .sub-chev{transform:rotate(180deg)}
:root .nav .nav-links .sub,:root .nav-overlay .nav-links .sub,:root .nav-scrim .nav-links .sub{position:absolute;top:calc(100% + 14px);left:-1rem;min-width:300px;padding:.5rem;background:hsl(var(--brown-900)/.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--gold-300)/.18);border-radius:var(--radius-sm);box-shadow:0 24px 48px -20px hsl(27 30% 4%/.8);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility 0s .18s;z-index:5}
:root .nav .nav-links .sub::before,:root .nav-overlay .nav-links .sub::before,:root .nav-scrim .nav-links .sub::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
:root .nav .has-sub:hover .sub,:root .nav-overlay .has-sub:hover .sub,:root .nav-scrim .has-sub:hover .sub,:root .nav .has-sub:focus-within .sub,:root .nav-overlay .has-sub:focus-within .sub,:root .nav-scrim .has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none;transition-delay:0s}
:root .nav .nav-links .sub li,:root .nav-overlay .nav-links .sub li,:root .nav-scrim .nav-links .sub li{display:block}
:root .nav .nav-links .sub a,:root .nav-overlay .nav-links .sub a,:root .nav-scrim .nav-links .sub a{display:flex;flex-direction:column;gap:.15rem;padding:.7rem .85rem;border-radius:calc(var(--radius-sm) - 4px);white-space:normal;color:hsl(38 35% 90%);line-height:1.3}
:root .nav .nav-links .sub a::after,:root .nav-overlay .nav-links .sub a::after,:root .nav-scrim .nav-links .sub a::after{display:none}
:root .nav .nav-links .sub a b,:root .nav-overlay .nav-links .sub a b,:root .nav-scrim .nav-links .sub a b{font-weight:600;font-size:.92rem}
:root .nav .nav-links .sub a span,:root .nav-overlay .nav-links .sub a span,:root .nav-scrim .nav-links .sub a span{font-size:.78rem;color:hsl(38 16% 64%)}
:root .nav .nav-links .sub a:hover,:root .nav-overlay .nav-links .sub a:hover,:root .nav-scrim .nav-links .sub a:hover,:root .nav .nav-links .sub a:focus-visible,:root .nav-overlay .nav-links .sub a:focus-visible,:root .nav-scrim .nav-links .sub a:focus-visible{background:hsl(var(--gold-300)/.1);color:hsl(var(--gold-300))}
:root .nav .nav-links .sub a[aria-current="page"],:root .nav-overlay .nav-links .sub a[aria-current="page"],:root .nav-scrim .nav-links .sub a[aria-current="page"]{color:hsl(var(--gold-300))}
:root .nav .nav-links .sub .sub-all,:root .nav-overlay .nav-links .sub .sub-all,:root .nav-scrim .nav-links .sub .sub-all{margin-top:0;margin-bottom:.35rem;border-top:0;border-bottom:1px solid hsl(var(--gold-300)/.14);padding-top:0;padding-bottom:.35rem}
:root .nav .nav-links .sub .sub-all a,:root .nav-overlay .nav-links .sub .sub-all a,:root .nav-scrim .nav-links .sub .sub-all a{flex-direction:row;align-items:center;justify-content:space-between;font-size:.85rem;font-weight:500;color:hsl(38 25% 78%)}
:root .nav .nav-links .sub .sub-all a::after,:root .nav-overlay .nav-links .sub .sub-all a::after,:root .nav-scrim .nav-links .sub .sub-all a::after{display:block;content:"";width:14px;height:14px;position:static;transform:none;background:currentColor;-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat;border-radius:0}
:root .nav-overlay .ov-sub{display:flex;flex-direction:column;padding:.25rem 0 .5rem;border-bottom:1px solid hsl(var(--gold-300)/.14)}
:root .nav-overlay .ov-sub li a{font-size:1rem;font-weight:500;padding:.65rem .25rem .65rem 1.25rem;color:hsl(38 25% 78%);border-bottom:0}
:root .nav-overlay .ov-sub li a::after{width:14px;height:14px;opacity:.6}
:root .nav-overlay .ov-sub li a[aria-current="page"]{color:hsl(var(--gold-300))}
@media (min-width:1024px) and (max-width:1279px){:root .nav .nav-tel,:root .nav-overlay .nav-tel,:root .nav-scrim .nav-tel{display:none}}
@media (min-width:1024px) and (max-width:1279px){:root .nav .nav-links,:root .nav-overlay .nav-links,:root .nav-scrim .nav-links{gap:1.25rem}}
@media (min-width:1024px) and (max-width:1279px){:root .nav .nav-in,:root .nav-overlay .nav-in,:root .nav-scrim .nav-in{gap:1.25rem}}
@media (min-width:1024px) and (max-width:1279px){:root .nav .brand small,:root .nav-overlay .brand small,:root .nav-scrim .brand small{display:none}}
@media (min-width:1024px) and (max-width:1279px){:root .nav .brand b,:root .nav-overlay .brand b,:root .nav-scrim .brand b{font-size:1.2rem}}
