/* Einzugsgebiet — erzeugt von tools/bausteine.py aus site.css, nicht von Hand bearbeiten */
:root :where(.area){--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}
@keyframes pulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(3.2);opacity:0}}
:root .area *,:root .area *::before,:root .area *::after{box-sizing:border-box;margin:0;padding:0;border:0 solid hsl(var(--border))}
:root .area *{-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion:reduce){:root .area *,:root .area *::before,:root .area *::after{animation:none!important;transition:none!important}}
:root .area img,:root .area video,:root .area svg{display:block;max-width:100%;height:auto}
:root .area a{color:inherit;text-decoration:none}
:root .area ul{list-style:none}
:root .area :focus-visible{outline:2px solid hsl(var(--ring));outline-offset:3px}
:root .area ::selection{background:hsl(var(--accent)/.25)}
:root .area [id],:root .area[id],:root section.area[id]{scroll-margin-top:96px}
:root .area .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:root .area h1,:root .area h2,:root .area h3{font-family:var(--font-heading);letter-spacing:-.02em;line-height:1.08;text-wrap:balance}
:root .area h1{font-size:clamp(2.4rem,6vw,5.25rem);font-weight:600;letter-spacing:-.03em;line-height:1.02}
:root .area h2{font-size:clamp(1.9rem,4vw,3.25rem);font-weight:450;letter-spacing:-.025em;line-height:1.06}
:root .area h3{font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:600;letter-spacing:-.015em;line-height:1.25}
:root .area .lead{font-size:1.075rem;color:hsl(var(--muted-foreground));line-height:1.7;text-wrap:pretty}
:root .area .accent-italic{font-family:var(--font-serif-accent);font-style:italic;font-weight:400;color:hsl(var(--accent))}
:root .area h1,:root .area h2,:root .area h3,:root .area blockquote,:root .area figcaption,:root .area .accent-italic{overflow-wrap:break-word}
:root .area blockquote{-webkit-hyphens:auto;hyphens:auto}
:root .area .accent-italic,:root .area blockquote{padding-inline-end:.12em}
@media(max-width:767px){:root .area h1,:root .area h2,:root .area .lead{-webkit-hyphens:auto;hyphens:auto}}
:root .area .eyebrow{font-size:13px;font-weight:600;letter-spacing:.02em;color:hsl(var(--accent));display:flex;align-items:center;gap:12px}
:root .area .eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:hsl(var(--accent));flex:none}
:root .area p{text-wrap:pretty}
:root .area .wrap{max-width:1440px;margin-inline:auto;padding-inline:1.25rem}
@media(min-width:768px){:root .area .wrap{padding-inline:2rem}}
@media(min-width:1024px){:root .area .wrap{padding-inline:3rem}}
:root .area section,:root section.area{padding-block:3.75rem}
@media(min-width:768px){:root .area section,:root section.area{padding-block:5.5rem}}
@media(min-width:1024px){:root .area section,:root section.area{padding-block:6.5rem}}
:root .area .grain::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");opacity:.08;mix-blend-mode:overlay}
:root .area{position:relative;overflow:hidden}
:root .area .area-grid{display:grid;gap:2rem;align-items:center}
@media(min-width:1024px){:root .area .area-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:4.5rem}}
:root .area .area-copy .eyebrow{margin-bottom:1rem}
:root .area .area-copy .lead{margin-top:1rem;max-width:56ch}
:root .area .area-copy .lead b{color:hsl(var(--foreground));font-weight:600}
:root .area .area-facts{display:flex;flex-wrap:wrap;gap:.6rem 1.75rem;margin-top:1.5rem}
:root .area .area-facts li{display:grid;gap:.05rem}
:root .area .area-facts b{font-family:var(--font-heading);font-weight:600;font-size:1.35rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:hsl(var(--foreground))}
:root .area .area-facts span{font-size:.8rem;color:hsl(var(--muted-foreground))}
:root .area .area-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.75rem}
:root .area .area-list li span,:root .area .area-list li a{display:inline-flex;align-items:center;min-height:40px;padding:.45rem .95rem;border:1px solid hsl(var(--border));border-radius:var(--pill);font-size:.86rem;font-weight:500;background:hsl(var(--card));color:hsl(var(--foreground));transition:border-color .15s,color .15s,background-color .15s}
:root .area .area-list li a:hover{border-color:hsl(var(--accent));color:hsl(var(--accent))}
:root .area .area-list li.more span{border-style:dashed;color:hsl(var(--muted-foreground));background:transparent}
:root .area .area-note{margin-top:1.25rem;font-size:.9rem;color:hsl(var(--muted-foreground))}
:root .area .area-note a{color:hsl(var(--accent));font-weight:600}
:root .area .map-panel{position:relative;border-radius:var(--radius-lg);background:radial-gradient(120% 100% at 50% 40%,hsl(40 50% 99%),hsl(var(--muted)) 85%);border:1px solid hsl(var(--border));box-shadow:var(--shadow-card);padding:clamp(.75rem,2.5vw,1.75rem);overflow:hidden}
:root .area .map-panel .map-legend{position:absolute;z-index:3;left:1rem;bottom:1rem;display:flex;gap:.45rem;flex-wrap:wrap}
:root .area .map-legend span{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:500;color:hsl(var(--muted-foreground));background:hsl(var(--card)/.85);border:1px solid hsl(var(--border));border-radius:var(--pill);padding:.3rem .65rem;backdrop-filter:blur(6px)}
:root .area .map-legend i{width:8px;height:8px;border-radius:50%;background:hsl(var(--brown-700))}
:root .area .map-legend i.home{background:hsl(var(--accent));box-shadow:0 0 0 3px hsl(var(--accent)/.25)}
:root .area .map{width:100%;height:auto;aspect-ratio:1;display:block;font-family:var(--font-body)}
:root .area .map-ring{fill:none;stroke:hsl(var(--brown-900)/.38);stroke-width:1.2;stroke-dasharray:2.5 5;stroke-linecap:round}
:root .area .map-axis{stroke:hsl(var(--brown-900)/.07);stroke-width:1}
:root .area .map-city circle{fill:hsl(var(--brown-700));stroke:hsl(var(--background));stroke-width:2}
:root .area .map-city text{font-size:12.5px;font-weight:500;fill:hsl(var(--foreground));paint-order:stroke;stroke:hsl(var(--background));stroke-width:3px;stroke-linejoin:round}
:root .area .map-home-dot{fill:hsl(var(--accent))}
:root .area .map-home-ring{fill:none;stroke:hsl(var(--accent));stroke-width:1.5}
:root .area .map-pulse{fill:hsl(var(--accent)/.28);transform-origin:center;transform-box:fill-box;animation:pulse 3s cubic-bezier(.2,.6,.3,1) infinite}
:root .area .map-pulse-2{animation-delay:1.5s}
:root.js .area .map .map-ring{opacity:0;transform:scale(.7);transform-origin:center;transform-box:fill-box;transition:opacity .9s ease,transform 1.3s cubic-bezier(.22,1,.36,1)}
:root.js .area .map .map-city{opacity:0;transition:opacity .6s ease}
:root.js .area .map.in .map-ring{opacity:1;transform:scale(1)}
:root.js .area .map.in .map-city{opacity:1}
:root.js .area .map.in .map-ring:nth-of-type(2){transition-delay:.15s}
:root.js .area .map.in .map-ring:nth-of-type(3){transition-delay:.3s}
:root.js .area .map.in .map-city{transition-delay:.55s}
@media (prefers-reduced-motion:reduce){:root.js .area .map .map-ring,:root.js .area .map .map-city{opacity:1;transform:none}}
@media(max-width:1023px){:root .area .area-grid .map-panel{order:1}}
@media(max-width:1023px){:root .area .area-grid .area-copy{order:0}}
@media(max-width:1023px){:root .area .area-grid .area-chips{order:2}}
@media(min-width:1024px){:root .area .area-grid{align-items:start}}
@media(min-width:1024px){:root .area .area-copy{grid-column:1;grid-row:1}}
@media(min-width:1024px){:root .area .area-chips{grid-column:1;grid-row:2;align-self:start}}
@media(min-width:1024px){:root .area .map-panel{grid-column:2;grid-row:1 / span 2}}
@media(min-width:1024px){:root .area .area-list{margin-top:1rem}}
@media(max-width:639px){:root .area .map-city.minor{display:none}}
@media(max-width:639px){:root .area .map-city text{font-size:22px;stroke-width:5px}}
@media(max-width:639px){:root .area .map-city circle{r:6;stroke-width:3px}}
@media(max-width:639px){:root .area .map-home-dot{r:7}}
@media(max-width:639px){:root .area .map-home-ring{r:14}}
@media(max-width:639px){:root .area .map-panel{padding:.5rem}}
@media(max-width:639px){:root .area .map-panel .map-legend{position:static;padding:.5rem .35rem 0;justify-content:center}}
@media(min-width:1024px) and (max-width:1279px){:root .area .map-city.minor{display:none}}
@media(min-width:1024px) and (max-width:1279px){:root .area .map-city text{font-size:17px;stroke-width:4px}}
@media(min-width:1024px) and (max-width:1279px){:root .area .map-city circle{r:4.5}}
@media(min-width:1024px) and (max-width:1279px){:root .area .map-home-dot{r:5}}
@media(min-width:1024px) and (max-width:1279px){:root .area .map-home-ring{r:11}}
:root .area footer{background:hsl(var(--brown-900));color:hsl(38 18% 74%);padding-top:4rem}
@media(min-width:768px){:root .area footer{padding-top:5rem}}
:root .area .area-list li a.has-page{border-color:hsl(var(--accent)/.55);background:hsl(var(--accent)/.08);font-weight:600}
:root .area .area-list li a.has-page::after{content:"";width:12px;height:12px;margin-left:.4rem;background:currentColor;-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat;opacity:.7}
:root .area .map-link{cursor:pointer}
:root .area .map-city.has-page circle{fill:hsl(var(--accent));stroke:hsl(var(--background))}
:root .area .map-city.has-page text{font-weight:700}
:root .area .map-link:hover .map-city.has-page text,:root .area .map-link:focus-visible .map-city.has-page text{fill:hsl(var(--accent-hover))}
:root .area .map-legend i.page{background:hsl(var(--accent))}
@media(max-width:639px),(min-width:1024px) and (max-width:1279px){:root .area .map-city.dicht text{display:none}}
