/* =====================================================================
   FLORIN+ FerienRadar v2 — eigenes Design-System (datengetrieben, apple-pure)
   Tokens/Spec: _analysis/ferienradar-v2-design/HANDOFF.md
   DSGVO: selbst gehostete Geist/Geist-Mono statt Google Fonts (Bricolage/Instrument
   ersetzt durch Geist 700 als Display). Scope: .fr (FerienRadar-Body-Klasse).
   ===================================================================== */
@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/geist-400.woff2') format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/geist-500.woff2') format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/geist-600.woff2') format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/geist-700.woff2') format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/geist-mono-400.woff2') format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/geist-mono-600.woff2') format('woff2')}

.fr{
  --ink:#0a2530; --ink-card:#0d2c38; --footer:#06181f; --on-teal:#06202a; --on-teal2:#07222b;
  --teal:#00afa3; --teal-hi:#19c7bb; --teal-txt:#00776f; --teal-lite:#8be6dd; --chart:#6be3d8;
  --page:#f3f7f6; --surface:#fff; --line:#e1eae8; --line-in:#d3dfdd; --divider:#eef3f2;
  --muted:#4d6168; --disabled:#9aabaf; --tint:#e6f4f2;
  --c-winter:oklch(0.78 0.09 235); --c-ostern:oklch(0.88 0.15 105); --c-pfingsten:oklch(0.76 0.11 295);
  --c-sommer:#00afa3; --c-herbst:oklch(0.79 0.15 65); --c-weihnachten:oklch(0.68 0.17 22);
  --disp:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --body:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --max:1240px; --ease:cubic-bezier(.2,.8,.2,1); --ease-rev:cubic-bezier(.6,.05,.2,1);
}
.fr{margin:0;background:var(--page);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.fr *,.fr *::before,.fr *::after{box-sizing:border-box}
.fr h1,.fr h2,.fr h3,.fr p,.fr ul,.fr ol{margin:0}
.fr a{color:inherit;text-decoration:none}
.fr img{max-width:100%;display:block}
.fr-wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.fr-disp{font-family:var(--disp);font-weight:700;letter-spacing:-.03em;line-height:1.0}
.fr-mono{font-family:var(--mono)}
.fr-eyebrow{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.fr :focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:6px}
.fr-skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;font-weight:600}
.fr-skip:focus{left:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fr *{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* ---- Header (sticky, hell) ---- */
.fr-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.fr-head__in{max-width:var(--max);margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.fr-head img{height:30px;width:auto}
.fr-nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.fr-nav a{font-size:15px;font-weight:500;color:var(--ink)}
.fr-nav a:hover{color:var(--teal-txt)}
.fr a.fr-pill,.fr .fr-pill{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;padding:9px 16px;border-radius:999px}
.fr a.fr-pill:hover{color:#fff}
/* calc-v2-Komponenten-Anker: Textfarbe gegen .fr a{color:inherit} wiederherstellen */
.fr a.fp-btn--primary,.fr a.fp-btn--primary:hover{color:#fff}
.fr-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal)}

/* ---- Dunkler Hero ---- */
.fr-hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.fr-hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(120% 90% at 85% 0,#000,transparent 62%);mask-image:radial-gradient(120% 90% at 85% 0,#000,transparent 62%);pointer-events:none}
.fr-hero__glow{position:absolute;top:-220px;right:-160px;width:800px;height:800px;background:radial-gradient(circle,rgba(0,175,163,.26),transparent 62%);pointer-events:none}
.fr-hero__in{position:relative;max-width:var(--max);margin:0 auto;padding:0 24px 72px}
.fr-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:20px}
.fr-bc{font-size:13px;color:rgba(255,255,255,.6)}
.fr-bc a:hover{color:#fff}.fr-bc [aria-current]{color:#fff}
.fr-bc span.sep{margin:0 6px}
.fr-tabs{display:flex;gap:0;padding:4px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);flex-wrap:nowrap;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.fr-tabs a{white-space:nowrap;font-size:14px;font-weight:500;padding:8px 16px;border-radius:999px;color:rgba(255,255,255,.78)}
.fr-tabs a:hover{background:rgba(255,255,255,.08);color:#fff}
.fr-tabs a.is-active{background:var(--teal);color:var(--on-teal2);font-weight:600}
.fr-chip{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-lite);background:rgba(0,175,163,.12);border:1px solid rgba(0,175,163,.35);border-radius:999px;padding:6px 13px}
.fr-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal);animation:frpulse 1.6s ease-out infinite}
@keyframes frpulse{0%{box-shadow:0 0 0 0 rgba(0,175,163,.5)}100%{box-shadow:0 0 0 12px rgba(0,175,163,0)}}
.fr-h1{font-family:var(--disp);font-weight:700;font-size:clamp(38px,5.4vw,72px);line-height:1.0;letter-spacing:-.035em;margin-top:18px;text-wrap:balance}
.fr-h1 .t{color:var(--teal)}
.fr-lead{font-size:18px;line-height:1.55;color:rgba(255,255,255,.76);margin-top:16px;max-width:560px;text-wrap:pretty}

/* ---- Jahres-Switcher ---- */
.fr-years{margin-top:22px}
.fr-years__lbl{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.55);margin-bottom:8px}
.fr-seg{display:inline-flex;gap:0;padding:4px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.fr-seg a,.fr-seg button{font-family:var(--mono);font-weight:700;font-size:15px;height:42px;padding:0 18px;border:0;background:transparent;color:rgba(255,255,255,.78);border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background .2s,color .2s}
.fr-seg a:hover,.fr-seg button:hover{color:#fff}
.fr-seg a.is-active,.fr-seg button.is-active{background:var(--teal);color:var(--on-teal)}
.fr-seg .vorl::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--c-herbst)}
.fr-vorlnote{font-size:13px;color:#f3c98b;margin-top:8px;display:flex;align-items:center;gap:7px}
.fr-vorlnote::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c-herbst)}

/* ---- Light sections ---- */
.fr-sec{padding-top:88px}
.fr-h2{font-family:var(--disp);font-weight:700;font-size:clamp(28px,3.4vw,44px);letter-spacing:-.025em;line-height:1.08}
.fr-eyebrow--teal{color:var(--teal-txt)}
.fr-card{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:30px}
.fr-card--lg{border-radius:30px;padding:clamp(24px,4vw,48px)}
.fr-card--dark{background:var(--ink-card);color:#fff;border-color:rgba(255,255,255,.1)}
.fr-lift{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .2s}
.fr-lift:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(10,37,48,.35)}

/* Stat row */
.fr-stats{display:flex;gap:36px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:22px}
.fr-stat__n{font-family:var(--disp);font-weight:700;font-size:34px;letter-spacing:-.03em}
.fr-stat__n.t{color:var(--teal)}
.fr-stat__l{font-size:13px;color:rgba(255,255,255,.6);margin-top:2px}

/* Fact cards (hell) */
.fr-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:28px}
.fr-fact{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px}
.fr-fact__l{font-size:13px;font-weight:600;color:var(--muted)}
.fr-fact__n{font-family:var(--disp);font-weight:700;font-size:44px;letter-spacing:-.03em;margin:6px 0 4px}
.fr-fact__s{font-size:13.5px;color:var(--muted)}
.fr-fact--teal{background:var(--teal);color:var(--on-teal);border-color:transparent}
.fr-fact--teal .fr-fact__l,.fr-fact--teal .fr-fact__s{color:var(--on-teal2)}

/* Bundesland-Grid */
.fr-states{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:18px}
.fr-state{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px}
.fr-state__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fr-state__name{font-size:17px;font-weight:700;color:var(--ink)}
.fr-code{font-family:var(--mono);font-size:12px;font-weight:600;background:var(--ink);color:#fff;border-radius:8px;padding:3px 7px}
.fr-strip{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--divider);margin:14px 0}
.fr-strip i{display:block;height:100%}
.fr-state__foot{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}
.fr-state__foot .arr{color:var(--teal-txt);font-weight:700}

/* Reise & Geld tools */
.fr-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:22px}
.fr-tool{background:#f3f7f6;border-radius:20px;padding:22px;transition:background .25s}
.fr-tool:hover{background:var(--tint)}
.fr-tool__tag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-txt)}
.fr-tool__t{font-size:17px;font-weight:700;margin-top:8px}
.fr-tool__d{font-size:14px;line-height:1.5;color:var(--muted);margin:6px 0 12px}
.fr-tool__cta{font-size:14px;font-weight:700;color:var(--teal-txt)}
.fr-foot-note{font-size:13.5px;color:var(--muted);margin-top:16px}

/* FAQ */
.fr-faq{max-width:860px;margin-top:20px}
.fr-faq details{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-bottom:10px}
.fr-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;font-size:17px;font-weight:700;color:var(--ink)}
.fr-faq summary::-webkit-details-marker{display:none}
.fr-faq summary .ic{flex:none;width:30px;height:30px;border-radius:50%;background:#f3f7f6;color:var(--teal-txt);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}
.fr-faq details[open] summary .ic::after{content:"–"}
.fr-faq summary .ic::after{content:"+"}
.fr-faq__a{font-size:15.5px;line-height:1.6;color:var(--muted);padding:0 22px 22px}

/* Footer — kanonischer Site-Footer (identisch zu calc-v2 .fp-footer--dark) */
.fp-footer{margin-top:80px;border-top:1px solid rgba(17,32,29,.07);background:#fff}
.fp-container{max-width:1180px;margin:0 auto;padding:0 32px}
.fp-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-top:48px}
.fp-footer__about{font-size:.8125rem;line-height:1.5;color:#7c8884;margin-top:12px;max-width:240px}
.fp-footer__h{font-size:.8125rem;font-weight:600;color:#11201d;margin-bottom:12px}
.fp-footer__link{display:block;font-size:.875rem;color:#6b7975;padding:5px 0}
.fp-footer__link:hover{color:#016a62}
.fp-footer__legal{font-size:.8125rem;color:#a4adaa;margin-top:32px;padding:20px 0 48px;border-top:1px solid rgba(17,32,29,.06)}
.fp-logo{font-weight:700;font-size:19px;letter-spacing:-.02em;color:#11201d}
.fp-footer--dark{background:var(--footer);border-top:0;margin-top:96px}
.fp-footer--dark .fp-logo{color:#fff}
.fp-footer--dark .fp-footer__about{color:rgba(255,255,255,.5)}
.fp-footer--dark .fp-footer__h{color:#fff;text-transform:uppercase;letter-spacing:.04em}
.fp-footer--dark .fp-footer__link{color:rgba(255,255,255,.62)}
.fp-footer--dark .fp-footer__link:hover{color:#fff}
.fp-footer--dark .fp-footer__legal{color:rgba(255,255,255,.4);border-top-color:rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fp-footer--dark .fp-footer__brand img{filter:brightness(0) invert(1)}
@media(max-width:860px){.fp-footer__grid{grid-template-columns:1fr 1fr;gap:24px;row-gap:32px}.fp-container{padding:0 20px}}
@media(max-width:560px){.fp-footer__grid{grid-template-columns:1fr}}

/* ---- Tabelle (Übersicht) ---- */
.fr-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:20px;background:#fff;margin-top:18px}
.fr-table{width:100%;border-collapse:collapse;min-width:820px;font-size:14px}
.fr-table th,.fr-table td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--divider);vertical-align:top}
.fr-table thead th{font-weight:700;border-bottom:2px solid var(--ink);white-space:nowrap}
.fr-table tbody tr:hover{background:#f7faf9}
.fr-table td.d{font-family:var(--mono);font-size:12.5px;white-space:nowrap}
.fr-table .dash{color:var(--disabled)}
.fr-table a{font-weight:600}
.fr-src{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.55}
.fr-src a{text-decoration:underline}

/* ---- Länderseite: Perioden-Liste ---- */
.fr-periods{display:grid;gap:10px;margin-top:18px}
.fr-period{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.fr-period__dot{flex:none;width:12px;height:12px;border-radius:4px}
.fr-period__name{font-weight:700;font-size:15.5px}
.fr-period__date{font-family:var(--mono);font-size:13px;color:var(--muted);margin-left:auto;white-space:nowrap}
.fr-period__dur{font-size:12.5px;color:var(--disabled);min-width:70px;text-align:right}

/* ---- Radar (Hub) ---- */
.fr-radarcard{border-radius:30px;background:linear-gradient(165deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);padding:26px;box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.fr-radarcard__h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.fr-radarcard__lbl{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.6)}
.fr-radarcard__date{font-family:var(--mono);font-weight:700;font-size:20px;margin-top:4px;color:#fff}
.fr-radarcard__count{font-family:var(--disp);font-weight:700;font-size:56px;color:var(--teal);line-height:1;letter-spacing:-.04em}
.fr-radarcard__count sub{font-size:24px;color:rgba(255,255,255,.5);vertical-align:baseline}
.fr-radarcard__cl{font-size:12px;color:rgba(255,255,255,.6);text-align:right}
.fr-stage{position:relative;height:400px;margin:18px 0 6px;display:flex;align-items:center;justify-content:center}
.fr-rings,.fr-sweep{position:absolute;width:460px;height:460px;max-width:100%;max-height:100%;border-radius:50%;pointer-events:none}
.fr-rings{background:radial-gradient(circle,transparent 0 30%,rgba(0,175,163,.14) 30% 31%,transparent 31%),radial-gradient(circle,transparent 0 48%,rgba(0,175,163,.18) 48% 49%,transparent 49%),radial-gradient(circle,transparent 0 66%,rgba(0,175,163,.22) 66% 67%,transparent 67%)}
.fr-rings::before,.fr-rings::after{content:"";position:absolute;background:rgba(0,175,163,.14)}
.fr-rings::before{left:50%;top:5%;bottom:5%;width:1px;transform:translateX(-.5px)}
.fr-rings::after{top:50%;left:5%;right:5%;height:1px;transform:translateY(-.5px)}
.fr-sweep{background:conic-gradient(from 0deg,transparent 0 280deg,rgba(0,175,163,.42) 360deg);animation:frsweep 5s linear infinite}
@keyframes frsweep{to{transform:rotate(360deg)}}
.fr-tiles{position:relative;display:grid;grid-template-columns:repeat(4,64px);grid-template-rows:repeat(6,54px);gap:8px}
.fr-tile{border-radius:12px;padding:7px 9px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.55);transform:scale(.92);transition:background .35s,color .35s,transform .35s var(--ease),box-shadow .35s}
.fr-tile b{font-family:var(--mono);font-weight:700;font-size:15px}
.fr-tile span{font-size:9.5px;font-weight:600}
.fr-tile.on{color:var(--on-teal2);transform:scale(1)}
.fr-scrub{position:relative;height:60px;background:rgba(255,255,255,.04);border-radius:12px;margin-top:16px;overflow:hidden;cursor:pointer;touch-action:none}
.fr-scrub svg{position:absolute;inset:0;width:100%;height:100%}
.fr-scrub__head{position:absolute;top:0;bottom:0;width:2px;background:#fff;transform:translateX(-1px)}
.fr-scrub__knob{position:absolute;top:50%;left:0;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(0,175,163,.45);transform:translate(-50%,-50%)}
.fr-months{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;color:rgba(255,255,255,.4);margin-top:6px}
.fr-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}
.fr-legend i{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:rgba(255,255,255,.7)}
.fr-legend i em{width:9px;height:9px;border-radius:3px;font-style:normal}
.fr-playbtn{margin-left:auto;white-space:nowrap;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;cursor:pointer}

/* ---- Picker (Hub Hero) ---- */
.fr-pick{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.fr-pick select{height:58px;border-radius:16px;border:0;background:#fff;color:var(--ink);font-size:16px;font-weight:600;padding:0 16px;min-width:220px;flex:1 1 220px}
.fr-pick a.cta{height:58px;border-radius:16px;background:var(--teal);color:var(--on-teal);font-size:16px;font-weight:700;padding:0 22px;display:inline-flex;align-items:center;gap:8px}
.fr-pick a.cta:hover{background:var(--teal-hi)}

/* ---- Auslastung: Counter + Welle + Heatmap ---- */
.fr-counter{font-family:var(--disp);font-weight:700;font-size:clamp(100px,15vw,200px);line-height:.82;letter-spacing:-.06em;color:var(--teal)}
.fr-counter sub{font-size:.36em;color:rgba(255,255,255,.45);vertical-align:baseline}
.fr-answer{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;border-radius:22px;background:rgba(0,175,163,.1);border:1px solid rgba(0,175,163,.35);padding:20px;margin-top:22px}
.fr-answer__badge{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-lite);white-space:nowrap}
.fr-answer__t{font-size:16.5px;line-height:1.6;color:rgba(255,255,255,.88)}
.fr-answer__t b{color:#fff}
.fr-wave{display:flex;flex-wrap:wrap;gap:24px}
.fr-wave__chart{flex:2 1 520px;min-width:0}
.fr-wave__panel{flex:1 1 280px}
.fr-wave svg{width:100%;height:300px;display:block}
.fr-heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px;margin-top:18px}
.fr-heatmo{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}
.fr-heatmo__h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.fr-heatmo__h b{font-size:15px;font-weight:700}
.fr-heatmo__max{font-family:var(--mono);font-size:11px;font-weight:600;padding:2px 7px;border-radius:7px}
.fr-heatgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.fr-heatgrid .wd{font-size:9px;color:var(--disabled);text-align:center;font-weight:600}
.fr-cell{aspect-ratio:1;border-radius:5px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px}
.fr-phases{display:grid;gap:8px;margin-top:8px}
.fr-phase{display:grid;grid-template-columns:minmax(130px,1.2fr) 64px 1fr auto;align-items:center;gap:12px;font-size:13.5px;padding:8px 0;border-bottom:1px solid var(--divider)}
.fr-phase .rg{font-family:var(--mono);font-weight:700}
.fr-phase .bar{height:6px;border-radius:3px;background:var(--divider);position:relative;overflow:hidden}
.fr-phase .bar i{position:absolute;top:0;bottom:0;background:var(--teal);border-radius:3px}
.fr-phase .pill{font-family:var(--mono);font-size:12px;font-weight:700;padding:2px 8px;border-radius:7px}
.fr-mbars{display:flex;align-items:flex-end;gap:7px;height:260px;margin-top:8px}
.fr-mbar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}
.fr-mbar i{width:100%;border-radius:8px 8px 3px 3px;min-height:4px}
.fr-mbar b{font-family:var(--mono);font-size:12px;font-weight:700}
.fr-mbar span{font-size:11px;color:var(--muted)}
.fr-cite{display:flex;flex-direction:column;gap:12px}
.fr-cite__box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.85)}
.fr-cite button{align-self:flex-start;background:var(--teal);color:var(--on-teal);border:0;border-radius:999px;font-weight:700;font-size:13.5px;padding:9px 16px;cursor:pointer}

/* ---- Responsive ---- */
.fr-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px;padding-top:56px}
@media (max-width:860px){
  .fr-nav{display:none}
  .fr-sec{padding-top:64px}
  .fr-grid2{gap:32px;padding-top:40px}
  .fr-stage{height:340px}
  .fr-counter{font-size:clamp(84px,26vw,150px)}
}
@media (max-width:560px){
  .fr-wrap,.fr-hero__in,.fr-head__in,.fr-footer__in{padding-left:18px;padding-right:18px}
  .fr-facts,.fr-states,.fr-tools,.fr-heat{grid-template-columns:1fr}
  .fr-stats{gap:22px}
  .fr-tiles{grid-template-columns:repeat(4,52px);grid-template-rows:repeat(6,46px)}
}

/* Jahres-Zeitstrahl (Länder × Jahr) — Kern-Visual der Übersicht */
.fr-tl{margin-top:18px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.fr-tl__inner{min-width:660px}
.fr-tl__head{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:end;margin-bottom:8px}
.fr-tl__months{display:grid;grid-template-columns:repeat(12,1fr);font-family:var(--mono);font-size:10.5px;color:var(--disabled)}
.fr-tl__months span{border-left:1px solid var(--divider);padding-left:4px}
.fr-tl__row{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:center;padding:3px 0}
.fr-tl__lab{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.fr-tl__lab:hover{color:var(--teal-txt)}
.fr-tl__lab em{font-family:var(--mono);font-style:normal;font-size:11px;color:var(--muted);margin-right:6px}
.fr-tl__track{position:relative;height:18px;border-radius:6px;background:repeating-linear-gradient(90deg,#f4f7f6,#f4f7f6 calc(100%/12 - 1px),var(--divider) calc(100%/12 - 1px),var(--divider) calc(100%/12))}
.fr-tl__bar{position:absolute;top:2px;bottom:2px;border-radius:4px;min-width:3px}
.fr-sec .fr-legend i{color:var(--muted)}
