/* Flymlattix · Hallmark: macrostructure=page follows a tree (sticky SVG tree, four zone sections) + year ring (12 clickable months), nav=header with zone names, palette=paper/moss/bark/ochre, type=Bitter + Source Sans 3 */
:root{--bg:#F7F4EC;--bg2:#FFFFFF;--bg3:#ECE6D6;--ink:#2A2E24;--ink2:#555B4C;--ink3:#868B7C;--moss:#4F6B3A;--moss2:#33402B;--moss3:#E3EAD9;--bark:#7A5A3A;--ochre:#C9853A;--line:rgba(42,46,36,.14);--serif:"Bitter",Georgia,serif;--sans:"Source Sans 3","Segoe UI",sans-serif;--w:1180px;--r:12px;
--cmp-bg:#FFFFFF;--cmp-ink:#2A2E24;--cmp-accent:#4F6B3A;--cmp-on-accent:#fff;--cmp-line:rgba(42,46,36,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17.5px;line-height:1.65;overflow-x:clip}
img{max-width:100%;height:auto;display:block}a{color:var(--moss)}h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.22;margin:0 0 .5em}h2{font-size:clamp(1.55rem,2.9vw,2.2rem)}h3{font-size:1.2rem}
.fx-in{max-width:var(--w);margin:0 auto;padding:0 24px}.fx-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.fx-skip{position:absolute;left:-999px;top:8px;background:var(--moss2);color:#fff;padding:.5rem 1rem;z-index:2000}.fx-skip:focus{left:8px}
.fx-eyebrow{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre);margin:0 0 .6rem}.fx-lead{font-size:1.12rem;color:var(--ink2);max-width:62ch}
.fx-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 1.4rem;border-radius:var(--r);background:var(--moss2);color:#fff;text-decoration:none;font-weight:700;border:2px solid var(--moss2)}.fx-btn:hover{background:var(--moss)}.fx-btn:focus-visible{outline:3px solid var(--ochre);outline-offset:2px}.fx-btn--ghost{background:transparent;color:var(--moss2)}.fx-btn--ghost:hover{background:var(--moss3)}
figure{margin:0}figure figcaption{font-size:.84rem;color:var(--ink3);margin-top:.5rem}
/* head */
.fx-head{background:var(--moss2);color:#fff}.fx-head__in{max-width:var(--w);margin:0 auto;padding:.7rem 24px;display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.fx-head__brand{margin:0;font-family:var(--serif);font-size:1.3rem}.fx-head__brand a{display:inline-grid;grid-template-columns:auto auto;gap:0 .55rem;align-items:center;color:#fff;text-decoration:none;font-weight:700}.fx-head__brand svg{grid-row:1/3}.fx-head__brand small{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#C9D4BC}
.fx-head__nav{margin-left:auto;display:flex;gap:.1rem;flex-wrap:wrap}.fx-head__nav a{padding:.35rem .6rem;border-radius:6px;color:#DCE4D2;text-decoration:none;font-size:.9rem;font-weight:600}.fx-head__nav a:hover,.fx-head__nav a.is-current{background:rgba(255,255,255,.14);color:#fff}
/* hero */
.fx-hero{padding:3.5rem 0 2.5rem}.fx-hero__in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:3rem;align-items:center}.fx-hero h2{font-size:clamp(1.9rem,3.8vw,2.9rem)}
.fx-hero__cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}.fx-hero__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
/* why */
.fx-why{padding:1rem 0 2.5rem}.fx-why__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.fx-why__grid div{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem 1.4rem;border-bottom:4px solid var(--bark)}.fx-why__grid h3{font-size:1.1rem}.fx-why__grid p{margin:0;color:var(--ink2);font-size:.98rem}
/* body with tree */
.fx-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:3rem;align-items:start;padding-top:1rem;padding-bottom:2rem}
.fx-side{position:sticky;top:20px}.fx-side__hint{font-size:.8rem;color:var(--ink3);margin:.4rem 0 0}
.fx-tree{width:100%;height:auto;max-height:calc(100vh - 100px);display:block;font-family:var(--sans)}.fx-tree a path{fill:var(--bg3);stroke:var(--ink3);stroke-width:2;transition:fill .3s,stroke .3s}.fx-tree a[data-zone=aeste] path,.fx-tree a[data-zone=wurzel] path{fill:none;stroke:var(--ink3);stroke-width:5}
.fx-tree a.is-on path{fill:var(--moss);stroke:var(--moss2)}.fx-tree a[data-zone=aeste].is-on path,.fx-tree a[data-zone=wurzel].is-on path{fill:none;stroke:var(--ochre)}.fx-tree a[data-zone=stamm].is-on path{fill:var(--bark);stroke:var(--moss2)}
.fx-tree text{font-size:15px;font-weight:700;fill:var(--ink2)}.fx-tree a.is-on text{fill:var(--ink)}.fx-tree a[data-zone=krone].is-on text{fill:#fff}.fx-tree__ground{stroke:var(--bark);stroke-width:2;stroke-dasharray:6 5}
.fx-tree a:focus-visible{outline:0}.fx-tree a:focus-visible path{stroke:var(--ochre);stroke-width:4}
.fx-zone{padding:2.2rem 0;border-top:2px solid var(--line);scroll-margin-top:20px}.fx-zone:first-child{border-top:0;padding-top:.5rem}.fx-zone__label{margin:0 0 .3rem;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ochre)}.fx-zone__lead{color:var(--ink2);max-width:66ch}
.fx-zone__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem;align-items:start;margin:1.2rem 0}.fx-zone__list{margin:0;display:grid;gap:1rem}.fx-zone__list dt{font-family:var(--serif);font-weight:700;font-size:1.08rem}.fx-zone__list dd{margin:.1rem 0 0;color:var(--ink2);font-size:.98rem}
.fx-zone__fig img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}.fx-zone__note{background:var(--moss3);border-left:4px solid var(--moss);border-radius:0 var(--r) var(--r) 0;padding:.9rem 1.1rem;font-size:.95rem;color:var(--ink2);margin:0}
/* year ring */
.fx-year{padding:3.5rem 0;background:var(--moss2);color:#fff}.fx-year h2{color:#fff}.fx-year__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:3rem;align-items:start}.fx-year__lead{color:#D5DDCB}
.fx-ring{width:100%;max-width:420px;height:auto;display:block;margin:0 auto}.fx-ring__seg{cursor:pointer}.fx-ring__seg path{stroke:var(--moss2);stroke-width:2;transition:opacity .2s}.fx-ring__seg--w path{fill:#C9A36A}.fx-ring__seg--s path{fill:#8FA77A}.fx-ring__seg--b path{fill:#E7C98F}.fx-ring__seg text{font-family:var(--sans);font-size:13px;font-weight:700;fill:#2A2E24;pointer-events:none}
.fx-ring__seg:hover path,.fx-ring__seg.is-on path{stroke:#fff;stroke-width:4}.fx-ring__seg:focus-visible{outline:0}.fx-ring__seg:focus-visible path{stroke:#fff;stroke-width:4}.fx-ring__core{fill:none;stroke:rgba(255,255,255,.22);stroke-width:1.5}
.fx-year__legend{list-style:none;padding:0;margin:1.2rem auto 0;max-width:420px;display:grid;gap:.4rem;font-size:.88rem;color:#D5DDCB}.fx-year__legend li::before{content:"";display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:.6rem;vertical-align:-2px}.fx-l--w::before{background:#C9A36A}.fx-l--s::before{background:#8FA77A}.fx-l--b::before{background:#E7C98F}
.fx-year__panel{background:rgba(255,255,255,.1);border-radius:var(--r);padding:1.2rem 1.4rem;margin:1rem 0;min-height:9.5rem}.fx-year__panel h3{color:#fff;font-size:1.35rem}.fx-year__panel p{margin:0;color:#E6ECDD}
.fx-year__list{list-style:none;margin:0;padding:0;display:none}.no-js .fx-year__list{display:grid}
/* prices */
.fx-prices{padding:3.5rem 0}.fx-prices__in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:3rem;align-items:start}.fx-prices__lead{color:var(--ink2)}
.fx-pricelist{width:100%;border-collapse:collapse}.fx-pricelist td{padding:.65rem 0;border-bottom:1px solid var(--line);vertical-align:top}.fx-pricelist td small{display:block;font-size:.84rem;color:var(--ink3)}.fx-pricelist td+td{text-align:right;font-family:var(--serif);font-weight:700;white-space:nowrap;color:var(--moss2)}
.fx-prices__side{display:grid;gap:1.2rem}.fx-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}.fx-prices__ex{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.3rem}.fx-prices__ex h3{font-size:1.05rem}.fx-prices__ex p{margin:0;color:var(--ink2);font-size:.96rem}
/* check */
.fx-check{padding:3rem 0;background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.fx-check__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:3rem;align-items:start}.fx-check__lead{color:var(--ink2)}
.fx-check__list{margin:0;padding:0;list-style:none;counter-reset:c;display:grid;gap:.7rem}.fx-check__list li{counter-increment:c;display:grid;grid-template-columns:40px minmax(0,1fr);gap:.1rem .9rem}.fx-check__list li::before{content:counter(c);grid-row:1/3;width:34px;height:34px;border-radius:50%;border:2px solid var(--bark);color:var(--bark);font-family:var(--serif);font-weight:700;display:grid;place-items:center}.fx-check__list b{grid-column:2}.fx-check__list span{grid-column:2;color:var(--ink2);font-size:.96rem}
/* permit */
.fx-permit{padding:3.5rem 0}.fx-permit__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-bottom:2rem}.fx-permit__card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem;border-top:4px solid var(--ochre)}.fx-permit__card h3{font-size:1.1rem}.fx-permit__card p{margin:0;color:var(--ink2);font-size:.98rem}
.fx-permit__fig img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:var(--r)}
/* faq */
.fx-faq{padding:1rem 0 3.5rem}.fx-faq__list{max-width:840px;display:grid;gap:.5rem}.fx-faq__item{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:0 1.2rem}.fx-faq__item summary{cursor:pointer;padding:.9rem 0;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem}.fx-faq__item summary::-webkit-details-marker{display:none}.fx-faq__item summary::after{content:"+";color:var(--ochre);font-family:var(--serif);font-size:1.2rem}.fx-faq__item[open] summary::after{content:"−"}.fx-faq__item p{margin:0 0 1rem;color:var(--ink2)}
/* abo */
.fx-abo{padding:3.5rem 0;background:var(--bg3)}.fx-abo__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center}.fx-abo__txt p{color:var(--ink2)}
.fx-form{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;min-width:0;border-top:5px solid var(--moss)}.fx-form__trap{position:absolute;left:-9999px}.fx-form__row{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}.fx-form__label{font-size:.88rem;font-weight:700;color:var(--ink3)}
.fx-form__input{min-width:0;width:100%;min-height:50px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:0 1rem;font:inherit}.fx-form__input:focus{outline:2px solid var(--moss)}.fx-form__input[aria-invalid=true]{border-color:#B23A3A}
.fx-form__btn{min-height:50px;border-radius:8px;border:0;background:var(--moss2);color:#fff;font:inherit;font-weight:700;cursor:pointer;margin-top:.3rem}.fx-form__btn:hover{background:var(--moss)}.fx-form__btn[disabled]{opacity:.6;cursor:wait}
.fx-form__status{min-height:1.4em;font-size:.92rem;margin:.6rem 0 0}.fx-form__status[data-state=error]{color:#B23A3A}.fx-form__note{font-size:.84rem;color:var(--ink3);margin:.4rem 0 0}
/* foot */
.fx-foot{padding:3rem 0 2rem;background:var(--moss2);color:#D5DDCB}.fx-foot__in{max-width:var(--w);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}.fx-foot h2{font-size:1.2rem;color:#fff}.fx-foot p{font-size:.94rem}.fx-foot a{color:#fff}
.fx-foot__brand{display:flex;align-items:center;gap:.5rem;font-family:var(--serif);font-weight:700;color:#fff;font-size:1.2rem!important}.fx-foot__legal{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:1rem 0}.fx-foot__legal a,.fx-foot__legal button{color:#fff;font:inherit;font-size:.92rem;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.fx-foot__small{font-size:.82rem!important;color:#A9B69A}
.fx-map{margin-top:1rem;aspect-ratio:16/10;border-radius:var(--r);background:var(--bg);color:var(--ink);position:relative;overflow:hidden}.fx-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.fx-map [data-map-placeholder]{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:.5rem;padding:1.2rem;font-size:.92rem}.fx-map [data-map-placeholder] p{margin:0}.fx-map a{color:var(--moss)}.fx-map button{align-self:flex-start;min-height:42px;padding:0 1rem;border-radius:8px;border:0;background:var(--moss2);color:#fff;font:inherit;font-weight:700;cursor:pointer}.fx-map small{color:var(--ink3);font-size:.78rem}
/* doc/done */
.fx-doc{padding:3rem 0 4rem}.fx-doc__in{max-width:820px}.fx-doc h1{font-size:2rem}.fx-doc h2{font-size:1.3rem;margin-top:2rem}.fx-doc .lead{color:var(--ink2);font-size:1.08rem}.fx-doc table{width:100%;border-collapse:collapse;font-size:.94rem;margin:1rem 0;background:var(--bg2)}.fx-doc th,.fx-doc td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left;vertical-align:top}.fx-doc th{background:var(--bg3)}.fx-doc .meta{color:var(--ink3);font-size:.88rem}.fx-doc code{background:var(--bg3);padding:.1em .4em;border-radius:4px}
.fx-done{padding:5rem 0}.fx-done__in{max-width:640px}
@media(max-width:1000px){.fx-hero__in,.fx-year__in,.fx-prices__in,.fx-check__in,.fx-abo__in,.fx-foot__in{grid-template-columns:minmax(0,1fr)}.fx-body{grid-template-columns:120px minmax(0,1fr);gap:1.5rem}.fx-tree text{display:none}.fx-side__hint{display:none}.fx-why__grid{grid-template-columns:minmax(0,1fr)}.fx-zone__grid{grid-template-columns:minmax(0,1fr)}.fx-zone__fig img{aspect-ratio:16/9}}
@media(max-width:700px){body{font-size:16.5px}.fx-head__nav{margin-left:0}.fx-head__nav a{font-size:.82rem;padding:.3rem .45rem}.fx-hero{padding:2rem 0 1.5rem}.fx-body{grid-template-columns:minmax(0,1fr)}.fx-side{display:none}.fx-permit__grid{grid-template-columns:minmax(0,1fr)}.fx-doc table{display:block;overflow-x:auto}}

/* consent manager */
.fx-pill{position:fixed;left:1rem;bottom:1rem;z-index:1300;max-width:min(30rem,calc(100% - 2rem));font-size:.9rem;line-height:1.5;color:var(--cmp-ink,#111)}.fx-pill[hidden]{display:none}
.fx-pill__bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:var(--cmp-bg,#fff);border:1px solid var(--cmp-line,rgba(0,0,0,.15));border-radius:999px;padding:.5rem .6rem .5rem 1rem;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}.fx-pill__txt{flex:1 1 auto;min-width:10rem}
.fx-pill__bar button{min-height:38px;padding:0 .9rem;border-radius:999px;border:2px solid var(--cmp-accent,#111);background:var(--cmp-accent,#111);color:var(--cmp-on-accent,#fff);font:inherit;font-weight:700;cursor:pointer}.fx-pill__bar button[data-cmp="none"]{background:transparent;color:var(--cmp-ink,#111);border-color:var(--cmp-line,rgba(0,0,0,.3))}.fx-pill__more{background:transparent!important;color:var(--cmp-ink,#111)!important;border-color:transparent!important;text-decoration:underline}
.fx-pill__panel{background:var(--cmp-bg,#fff);border:1px solid var(--cmp-line,rgba(0,0,0,.15));border-radius:16px;padding:1.1rem 1.2rem;margin-bottom:.6rem;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}.fx-pill__panel[hidden]{display:none}.fx-pill__panel h2{font-size:1.05rem;margin:0 0 .4rem}.fx-pill__panel>p{margin:0 0 .8rem;opacity:.9}.fx-pill__panel a{color:inherit;text-decoration:underline}
.fx-pill__cats{list-style:none;margin:0 0 .6rem;padding:0;display:grid;gap:.4rem}.fx-pill__cats li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .7rem;border:1px solid var(--cmp-line,rgba(0,0,0,.15));border-radius:10px}.fx-pill__cats b{display:block}.fx-pill__cats small{display:block;font-size:.74rem;opacity:.7}.fx-pill__cats em{font-style:normal;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7;white-space:nowrap}
.fx-pill__chk{display:flex;gap:.4rem;align-items:center;cursor:pointer;white-space:nowrap}.fx-pill__chk input{width:20px;height:20px;accent-color:var(--cmp-accent,#111)}
.fx-pill__meta{font-size:.76rem;opacity:.7;margin:0 0 .6rem!important}.fx-pill__row{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.fx-pill__row button{min-height:40px;padding:0 1rem;border-radius:8px;border:2px solid var(--cmp-accent,#111);background:var(--cmp-accent,#111);color:var(--cmp-on-accent,#fff);font:inherit;font-weight:700;cursor:pointer}.fx-pill__link{background:none!important;border:0!important;color:inherit!important;font-weight:500!important;text-decoration:underline;padding:0!important}
@media(max-width:640px){.fx-pill{left:.5rem;right:.5rem;bottom:.5rem;max-width:none}.fx-pill__bar{border-radius:16px}}