/* =====================================================================
   Template „aean“ – Ärzte ans Netz (Joomla 5/6)
   Konzept „Monitor & Befund“: ruhige, klinisch helle Seiten, dunkle
   Monitor-Flächen mit EKG-Linie, Befundkarten statt Werbekacheln.
   Eigene Schriften lokal (keine externen Server), Bewegung abschaltbar.
   ===================================================================== */

@font-face { font-family: "Inter Display"; src: url("../fonts/interdisplay-600.woff2") format("woff2"), url("../fonts/interdisplay-600.woff") format("woff"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-400.woff2") format("woff2"), url("../fonts/inter-400.woff") format("woff"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-600.woff2") format("woff2"), url("../fonts/inter-600.woff") format("woff"); font-weight: 600; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("../fonts/jbmono-400.woff2") format("woff2"), url("../fonts/jbmono-400.woff") format("woff"); font-weight: 400; font-display: swap; }

:root {
  /* Farbe: Praxisblau, Monitorgrün, ein Signalrot nur für den Herzschlag */
  --paper: #F5F8F9;
  --white: #FFFFFF;
  --ink: #0B2233;
  --ink-2: #10304A;
  --ink-3: #18405E;
  --text: #1D2A33;
  --muted: #586A76;
  --line: #D9E2E7;
  --blue: #0D5E8F;
  --blue-soft: #E6F0F6;
  --mint: #138A6B;
  --mint-bright: #35D49B;
  --mint-soft: #E2F3EC;
  --pulse: #E0424D;
  --on-ink: #E6EEF3;
  --on-ink-muted: #9FB4C2;
  --line-ink: rgba(230, 238, 243, .13);
  /* Schrift */
  --f-display: "Inter Display", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-text: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  /* Maße */
  --wrap: 1180px;
  --gut: max(20px, env(safe-area-inset-left, 0px));
  --gut-r: max(20px, env(safe-area-inset-right, 0px));
  --r: 6px;
  --sh: 0 1px 2px rgba(11, 34, 51, .06), 0 8px 24px -12px rgba(11, 34, 51, .18);
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 88px; }
body { margin: 0; background: var(--paper); color: var(--text); font: 400 17px/1.6 var(--f-text); font-feature-settings: "ss01", "cv11"; text-rendering: optimizeLegibility; }
img, svg, canvas, video { max-width: 100%; height: auto; }
a { color: var(--blue); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--ink); }
:focus-visible { outline: 3px solid var(--mint-bright); outline-offset: 2px; border-radius: 2px; }
h1, h2, h3, h4 { font-family: var(--f-display); font-weight: 600; color: var(--ink); line-height: 1.15; letter-spacing: -.012em; text-wrap: balance; margin: 0 0 .5em; }
h1 { font-size: clamp(2.05rem, 1.4rem + 2.8vw, 3.45rem); letter-spacing: -.02em; }
h2 { font-size: clamp(1.6rem, 1.25rem + 1.4vw, 2.3rem); }
h3 { font-size: 1.22rem; letter-spacing: -.005em; }
h4 { font-size: 1.02rem; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.2em; }
li + li { margin-top: .3em; }
strong, b { font-weight: 600; }
small { font-size: .84em; }
.an-sr, .mx-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.an-skip { position: absolute; left: 12px; top: -60px; background: var(--ink); color: #fff; padding: 10px 14px; z-index: 100; border-radius: var(--r); }
.an-skip:focus { top: 12px; }

.an-wrap { max-width: var(--wrap); margin: 0 auto; padding-left: var(--gut); padding-right: var(--gut-r); }
.an-mono { font-family: var(--f-mono); font-size: .82em; letter-spacing: .02em; }
.an-kicker { display: inline-flex; align-items: center; gap: 10px; font: 400 .78rem/1 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mint); margin: 0 0 14px; }
.an-kicker::before { content: ""; width: 22px; height: 10px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 10'%3E%3Cpath d='M0 6h6l2-5 3 9 2-6 1 2h8' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 10'%3E%3Cpath d='M0 6h6l2-5 3 9 2-6 1 2h8' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.an-lead { font-size: 1.16rem; line-height: 1.6; color: var(--muted); max-width: 64ch; }
.an-prose { max-width: 68ch; }
.an-prose h2 { margin-top: 1.6em; }
.an-prose h3 { margin-top: 1.4em; }

/* ---------- Kopf ---------- */
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); background: var(--white); z-index: 60; }
.an-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: rgba(255, 255, 255, .94); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--line); }
.an-header__bar { display: flex; align-items: center; gap: 22px; min-height: 72px; max-width: var(--wrap); margin: 0 auto; padding-left: var(--gut); padding-right: var(--gut-r); }
.an-logo { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; color: var(--ink); flex: 0 0 auto; }
.an-logo svg { width: 38px; height: 38px; flex: 0 0 38px; }
.an-logo__txt { display: flex; flex-direction: column; line-height: 1.05; }
.an-logo__txt b, .an-logo__name { font: 600 1.18rem/1.05 var(--f-display); letter-spacing: -.01em; }
.an-logo__txt small { font: 400 .66rem/1.3 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-top: 3px; }
.an-nav { margin-left: auto; }
.kw-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; align-items: center; }
.kw-menu > li { position: relative; margin: 0; }
.kw-menu a, .kw-menu__heading { display: block; padding: 9px 11px; color: var(--text); text-decoration: none; font-size: .95rem; border-radius: var(--r); white-space: nowrap; }
.kw-menu a:hover { background: var(--blue-soft); color: var(--ink); }
.kw-menu .current > a, .kw-menu .active > a { color: var(--ink); box-shadow: inset 0 -2px 0 var(--mint); border-radius: 0; }
.kw-menu__sub { list-style: none; margin: 0; padding: 8px; position: absolute; top: 100%; left: 0; min-width: 250px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh); display: none; }
.kw-menu__sub li { margin: 0; }
.kw-menu > li:hover > .kw-menu__sub, .kw-menu > li:focus-within > .kw-menu__sub { display: block; }
@media (min-width: 1081px) { .kw-menu__sub:has(> li:nth-child(9)) { columns: 2; column-gap: 8px; min-width: 540px; } .kw-menu__sub li { break-inside: avoid; } .kw-menu > li:nth-last-child(-n+3) > .kw-menu__sub { left: auto; right: 0; } }
.kw-subtoggle { display: none; }
.an-header__cta { flex: 0 0 auto; }
.an-navtoggle { display: none; margin-left: auto; width: 46px; height: 46px; border: 1px solid var(--line); background: var(--white); border-radius: var(--r); cursor: pointer; position: relative; }
.an-navtoggle span { position: absolute; left: 12px; right: 12px; height: 2px; background: var(--ink); transition: transform .25s var(--ease); }
.an-navtoggle span:nth-child(1) { top: 17px; } .an-navtoggle span:nth-child(2) { top: 26px; }
.an-navtoggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(4.5px) rotate(45deg); }
.an-navtoggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(-4.5px) rotate(-45deg); }

@media (max-width: 1080px) {
  .an-navtoggle { display: block; }
  .an-header .an-header__cta { display: none; }
  .an-logo__txt small { font-size: .6rem; }
  .an-header { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--white); }
  .an-nav { position: fixed; inset: calc(72px + env(safe-area-inset-top, 0px)) 0 0; height: calc(100vh - 72px); height: calc(100dvh - 72px - env(safe-area-inset-top, 0px)); z-index: 60; background: var(--white); padding: 12px var(--gut-r) 40px var(--gut); overflow: auto; display: none; border-top: 1px solid var(--line); }
  .an-nav.is-open { display: block; }
  .kw-menu { flex-direction: column; align-items: stretch; }
  .kw-menu a { padding: 13px 8px; font-size: 1.05rem; border-bottom: 1px solid var(--line); border-radius: 0; }
  .kw-menu .current > a { box-shadow: inset 3px 0 0 var(--mint); }
  .kw-menu__sub { position: static; display: block; border: 0; box-shadow: none; padding: 0 0 0 14px; }
  .an-nav .an-nav__cta { display: flex !important; margin-top: 18px; }
}
.an-nav .an-nav__cta { display: none; }

/* ---------- Knöpfe ---------- */
.an-btn, .kw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 20px; border-radius: var(--r); border: 1px solid transparent; font: 600 .98rem/1.2 var(--f-text); text-decoration: none; cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .2s var(--ease); }
.an-btn--primary, .kw-btn--primary { background: var(--ink); color: #fff; }
.an-btn--primary:hover, .kw-btn--primary:hover { background: var(--blue); color: #fff; }
.an-btn--mint { background: var(--mint-bright); color: var(--ink); }
.an-btn--mint:hover { background: #fff; color: var(--ink); }
.an-btn--line, .kw-btn--line { background: transparent; color: var(--ink); border-color: var(--ink); }
.an-btn--line:hover, .kw-btn--line:hover { background: var(--ink); color: #fff; }
.an-btn--ghost { background: transparent; color: var(--on-ink); border-color: rgba(230, 238, 243, .4); }
.an-btn--ghost:hover { background: rgba(230, 238, 243, .1); color: #fff; }
.an-btn:active, .kw-btn:active { transform: translateY(1px); }
.an-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.an-pulsedot { position: relative; width: 9px; height: 9px; border-radius: 50%; background: var(--pulse); flex: 0 0 9px; }
.an-pulsedot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--pulse); animation: an-ping 1.9s var(--ease) infinite; }
@keyframes an-ping { 0% { transform: scale(1); opacity: .6; } 70%, 100% { transform: scale(3); opacity: 0; } }

/* ---------- Brotkrumen ---------- */
.an-crumbs { background: var(--white); border-bottom: 1px solid var(--line); }
.an-crumbs ol { list-style: none; margin: 0; padding: 10px 0; display: flex; flex-wrap: wrap; gap: 4px 0; font: 400 .76rem/1.4 var(--f-mono); letter-spacing: .04em; color: var(--muted); }
.an-crumbs li { margin: 0; }
.an-crumbs li + li::before { content: "›"; margin: 0 9px; color: var(--line); }
.an-crumbs a { color: var(--muted); text-decoration: none; }
.an-crumbs a:hover { color: var(--ink); }

/* ---------- Monitor-Flächen (dunkel) ---------- */
.an-monitor { position: relative; background: var(--ink); color: var(--on-ink); overflow: hidden; isolation: isolate; }
.an-monitor::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(var(--line-ink) 1px, transparent 1px), linear-gradient(90deg, var(--line-ink) 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.15)); -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.15)); }
.an-monitor h1, .an-monitor h2, .an-monitor h3 { color: #fff; }
.an-monitor .an-lead { color: var(--on-ink-muted); }
.an-monitor .an-kicker { color: var(--mint-bright); }
.an-monitor a:not(.an-btn) { color: var(--mint-bright); }

/* Seitenkopf der Unterseiten */
.an-pagehead { padding-block: clamp(46px, 7vw, 86px) clamp(60px, 8vw, 100px); }
.an-pagehead .an-wrap { position: relative; }
.an-pagehead p.an-lead { margin-bottom: 0; }

/* Startseiten-Held */
.an-hero { padding-block: clamp(40px, 6vw, 72px) 0; }
.an-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.an-hero__text { padding-bottom: 34px; }
.an-hero h1 { margin-bottom: 18px; }
.an-hero h1 em { font-style: normal; color: var(--mint-bright); }
.an-hero__claim { font: 400 .9rem/1.5 var(--f-mono); color: var(--on-ink-muted); border-left: 2px solid var(--mint-bright); padding-left: 14px; margin-top: 26px; max-width: 54ch; }
@media (max-width: 900px) { .an-hero__grid { grid-template-columns: minmax(0, 1fr); } .an-hero__text { padding-bottom: 0; } }

/* Monitor-Zeile mit Messwerten */
.an-readout { display: flex; flex-wrap: wrap; gap: 8px 26px; font: 400 .74rem/1.3 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--on-ink-muted); margin-bottom: 26px; }
.an-readout b { font-weight: 400; color: var(--mint-bright); font-size: 1.05rem; letter-spacing: 0; margin-left: 6px; font-variant-numeric: tabular-nums; }
.an-readout .is-pulse b { color: #fff; }
.an-readout .is-pulse::before { content: "♥"; color: var(--pulse); margin-right: 6px; display: inline-block; animation: an-beat var(--beat, 6s) ease-in-out var(--beat-delay, 0s) infinite; }
@keyframes an-beat { 0%, 49.4%, 54%, 100% { transform: scale(1); } 50.4% { transform: scale(1.28); } 51.6% { transform: scale(1.03); } 52.8% { transform: scale(1.14); } }

/* EKG-Linie */
.an-ekg { position: relative; height: 92px; margin-top: 8px; }
.an-ekg svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.an-ekg__base { fill: none; stroke: rgba(53, 212, 155, .16); stroke-width: 1.4; }
.an-ekg__trace { fill: none; stroke: var(--mint-bright); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 5px rgba(53, 212, 155, .55)); }
.an-ekg__dot { fill: #fff; filter: drop-shadow(0 0 6px var(--mint-bright)); }
.an-ekg--light .an-ekg__base { stroke: var(--line); }
.an-ekg--light .an-ekg__trace { stroke: var(--mint); filter: none; }
.an-ekg--light .an-ekg__dot { fill: var(--mint); filter: none; }
.an-ekg--sep { height: 46px; margin: 0; }

/* Doppelhelix */
.an-helix { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 420px; }
.an-helix canvas { display: block; width: 100%; height: 440px; }
.an-helix__legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font: 400 .78rem/1.3 var(--f-mono); letter-spacing: .04em; }
.an-helix__legend li { margin: 0; }
.an-helix__legend button { all: unset; cursor: pointer; display: flex; align-items: center; gap: 9px; padding: 7px 10px; border: 1px solid var(--line-ink); border-radius: 999px; color: var(--on-ink); transition: background .2s, border-color .2s; }
.an-helix__legend button:focus-visible { outline: 3px solid var(--mint-bright); }
.an-helix__legend i { width: 9px; height: 9px; border-radius: 50%; background: var(--c, var(--mint-bright)); flex: 0 0 9px; }
.an-helix__legend button:hover, .an-helix__legend button.is-on { background: rgba(53, 212, 155, .12); border-color: var(--mint-bright); }
.an-helix__side { display: grid; gap: 16px; max-width: 250px; }
.an-helix__note { margin: 0; font-size: .88rem; line-height: 1.5; color: var(--on-ink-muted); min-height: 4.5em; border-left: 2px solid var(--mint-bright); padding-left: 12px; }
@media (max-width: 900px) { .an-helix { grid-template-columns: minmax(0, 1fr); min-height: 0; } .an-helix canvas { height: 300px; } .an-helix__legend { grid-template-columns: repeat(2, minmax(0, 1fr)); } .an-helix__side { max-width: none; } }

/* ---------- Abschnitte ---------- */
.an-section { padding-block: clamp(56px, 8vw, 104px); }
.an-section--white { background: var(--white); }
.an-section--tight { padding-block: clamp(40px, 5vw, 64px); }
.an-section__head { max-width: 760px; margin-bottom: clamp(28px, 4vw, 46px); }
.an-section__head p { color: var(--muted); font-size: 1.08rem; }
.an-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 72px); align-items: start; }
.an-split--even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.an-split--article { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); }
@media (max-width: 860px) { .an-split, .an-split--even, .an-split--article { grid-template-columns: minmax(0, 1fr); } }
/* Preistabellen am Handy als gestapelte Zeilen statt seitlich scrollen */
@media (max-width: 640px) {
  .an-tablewrap { overflow: visible; }
  .an-tablewrap .an-table, .an-table tbody { display: block; width: 100%; min-width: 0; }
  .an-table thead { display: none; }
  .an-table tr { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 115px), 1fr)); gap: 10px 14px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
  .an-table tr:last-child { border-bottom: 0; }
  .an-table td, .an-table th { display: block; padding: 0 !important; border: 0 !important; text-align: left !important; white-space: normal !important; }
  .an-table tr > :first-child { grid-column: 1 / -1; font-weight: 600; color: var(--ink); }
  .an-table [data-label]::before { content: attr(data-label); display: block; font: 400 .66rem/1.3 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 3px; }
}

/* Kurz erklärt */
.an-brief { border: 1px solid var(--line); border-left: 3px solid var(--mint); background: var(--white); border-radius: var(--r); padding: 22px 24px; }
.an-brief dfn { font-style: normal; font-weight: 600; color: var(--ink); }
.an-brief ul { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 6px; }
.an-brief li { margin: 0; padding-left: 18px; position: relative; }
.an-brief li::before { content: ""; position: absolute; left: 0; top: .72em; width: 8px; height: 2px; background: var(--mint); }

/* ---------- Befundkarten ---------- */
.an-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.an-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.an-cards--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.an-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.an-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .an-cards--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .an-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .an-cards--3, .an-cards--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .an-cards--2, .an-cards--3, .an-cards--4, .an-cards--5 { grid-template-columns: minmax(0, 1fr); } }
.an-card { position: relative; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 10px; transition: border-color .25s, box-shadow .25s, transform .25s var(--ease); }
.an-card h3 { margin: 0; }
.an-card p { margin: 0; color: var(--muted); font-size: .97rem; }
.an-card__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font: 400 .72rem/1.2 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.an-card__val { font: 600 1.5rem/1 var(--f-display); color: var(--ink); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.an-card__val small { font-size: .55em; color: var(--muted); margin-left: 3px; letter-spacing: 0; }
.an-card__flag { display: inline-flex; align-items: center; gap: 6px; font: 400 .7rem/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; padding: 5px 8px; border-radius: 999px; background: var(--mint-soft); color: var(--mint); align-self: flex-start; }
.an-card__flag--warn { background: #FBEDEE; color: #B12F38; }
.an-card__flag--info { background: var(--blue-soft); color: var(--blue); }
.an-card a.an-card__more { margin-top: auto; padding-top: 6px; font-weight: 600; text-decoration: none; }
.an-card a.an-card__more::after { content: " →"; }
.an-card::after { content: ""; position: absolute; left: -10%; right: -10%; height: 64px; top: -70px; background: linear-gradient(180deg, transparent, rgba(53, 212, 155, .14) 70%, rgba(53, 212, 155, .5) 96%, transparent); pointer-events: none; opacity: 0; }
.an-card:hover { border-color: #A9C8D6; box-shadow: var(--sh); transform: translateY(-2px); }
.an-card:hover::after { animation: an-scan 1.15s var(--ease) forwards; }
@keyframes an-scan { 0% { top: -70px; opacity: 1; } 85% { opacity: 1; } 100% { top: 100%; opacity: 0; } }
.an-card--ink { background: var(--ink-2); border-color: var(--line-ink); }
.an-card--ink h3, .an-card--ink .an-card__val { color: #fff; }
.an-card--ink p { color: var(--on-ink-muted); }

/* Nummerierte Ziele (echte Reihenfolge) */
.an-goals { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 0; border-top: 1px solid var(--line); }
.an-goals li { margin: 0; padding: 26px 26px 26px 0; border-bottom: 1px solid var(--line); counter-increment: goal; }
.an-goals li + li { padding-left: 26px; border-left: 1px solid var(--line); }
@media (max-width: 900px) { .an-goals li + li { padding-left: 0; border-left: 0; } }
.an-goals li::before { content: "0" counter(goal); display: block; font: 400 .8rem/1 var(--f-mono); color: var(--mint); margin-bottom: 14px; letter-spacing: .1em; }
.an-goals h3 { margin-bottom: 8px; }
.an-goals p { margin: 0; color: var(--muted); }

/* Leistungs-Schichten */
.an-layers { display: grid; gap: 14px; }
.an-layer { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 22px; padding: 22px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); }
.an-layer__tag { font: 400 .74rem/1.4 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--blue); }
.an-layer__tag b { display: block; font: 600 1.15rem/1.25 var(--f-display); letter-spacing: -.005em; text-transform: none; color: var(--ink); margin-top: 6px; }
.an-layer ul { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 10px 22px; }
.an-layer li { margin: 0; padding-left: 20px; position: relative; }
.an-layer li::before { content: ""; position: absolute; left: 0; top: .6em; width: 9px; height: 9px; border: 2px solid var(--mint); border-radius: 50%; }
@media (max-width: 700px) { .an-layer { grid-template-columns: minmax(0, 1fr); gap: 12px; } }

/* ---------- Preise ---------- */
.an-packs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; align-items: stretch; }
.an-pack { display: flex; flex-direction: column; gap: 14px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 26px; }
.an-pack--main { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.an-pack__who { font: 400 .74rem/1.4 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.an-pack h3 { font-size: 1.5rem; margin: 0; }
.an-pack__price { font: 600 1.9rem/1 var(--f-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--ink); }
.an-pack__price small { display: block; font: 400 .78rem/1.4 var(--f-text); color: var(--muted); letter-spacing: 0; margin-top: 8px; }
.an-pack ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; font-size: .96rem; }
.an-pack li { margin: 0; padding-left: 22px; position: relative; }
.an-pack li::before { content: ""; position: absolute; left: 0; top: .42em; width: 12px; height: 7px; border-left: 2px solid var(--mint); border-bottom: 2px solid var(--mint); transform: rotate(-45deg); }
.an-pack li.is-no { color: var(--muted); }
.an-pack li.is-no::before { border: 0; height: 2px; width: 10px; top: .7em; background: var(--line); transform: none; }
.an-pack .an-btn { margin-top: auto; }
.an-calc { width: 100%; border-collapse: collapse; font-size: .92rem; margin-top: 4px; }
.an-calc td { padding: 6px 0; border-bottom: 1px dashed var(--line); vertical-align: top; }
.an-calc td:last-child { text-align: right; white-space: nowrap; font-family: var(--f-text); font-weight: 600; font-size: .95rem; padding-left: 12px; font-variant-numeric: tabular-nums; }
.an-calc tr.is-sum td { border-bottom: 0; border-top: 1px solid var(--ink); font-weight: 600; color: var(--ink); padding-top: 9px; }
.an-calc tr.is-sum td:last-child { font-weight: 400; }
.an-note { font-size: .88rem; color: var(--muted); }
.an-tablewrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); }
.an-table { width: 100%; border-collapse: collapse; font-size: .95rem; min-width: 560px; }
.an-table th, .an-table td { text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--line); vertical-align: top; }
.an-table thead th { font: 400 .72rem/1.3 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); background: var(--paper); }
.an-table td.n, .an-table th.n { text-align: right; white-space: nowrap; font-family: var(--f-text); font-weight: 600; font-size: .95rem; color: var(--ink); font-variant-numeric: tabular-nums; }
.an-table thead th.n { font: 400 .72rem/1.3 var(--f-mono); letter-spacing: .1em; color: var(--muted); }
.an-table tbody tr:last-child td { border-bottom: 0; }
.an-table tbody tr:hover { background: #FAFCFD; }

/* ---------- Befundbogen (Website-Check) ---------- */
.an-befund { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.an-befund__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; padding: 16px 22px; background: var(--ink); color: var(--on-ink); font: 400 .76rem/1.4 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; }
.an-befund__head b { color: #fff; font-weight: 400; }
.an-lab { width: 100%; border-collapse: collapse; }
.an-lab th, .an-lab td { padding: 13px 22px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; font-size: .95rem; }
.an-lab th { font: 400 .7rem/1.3 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.an-lab td.v { font-family: var(--f-text); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.an-lab .an-range { position: relative; height: 8px; min-width: 120px; background: var(--paper); border-radius: 4px; }
.an-lab .an-range i { position: absolute; top: 0; bottom: 0; left: var(--lo); right: calc(100% - var(--hi)); background: var(--mint-soft); border-left: 1px solid var(--mint); border-right: 1px solid var(--mint); }
.an-lab .an-range b, .an-lab .an-range__m { position: absolute; top: -4px; width: 4px; height: 16px; border-radius: 2px; left: calc(var(--v) - 2px); background: var(--ink); transition: left 1s var(--ease); }
.an-lab tr.is-out .an-range b, .an-lab tr.is-out .an-range__m { background: var(--pulse); }
.an-lab tr.is-out td.v { color: #B12F38; }
.an-lab tr.is-out td.v::after { content: " ↑"; }
.an-lab tr.is-low td.v::after { content: " ↓"; }
.an-lab tr:last-child td { border-bottom: 0; }
@media (max-width: 640px) { .an-lab th:nth-child(3), .an-lab td:nth-child(3) { display: none; } .an-lab th, .an-lab td { padding: 11px 14px; } }

/* Behandlungsweg */
.an-path { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; counter-reset: step; }
.an-path li { margin: 0; position: relative; padding: 22px; border-top: 3px solid var(--ink); background: var(--white); border-radius: 0 0 var(--r) var(--r); counter-increment: step; }
.an-path li::before { content: counter(step); position: absolute; top: -15px; left: 22px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: #fff; font: 400 .8rem/1 var(--f-mono); }
.an-path h3 { margin: 8px 0 6px; }
.an-path p { margin: 0; color: var(--muted); font-size: .96rem; }
.an-path .an-mono { color: var(--mint); text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; }

/* ---------- Kreislauf-Modell ---------- */
.an-loop { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 28px; align-items: start; }
@media (max-width: 960px) { .an-loop { grid-template-columns: minmax(0, 1fr); } }
.an-loop__stage { background: var(--ink); border-radius: var(--r); padding: 10px; position: relative; }
.an-loop__stage svg { display: block; width: 100%; height: auto; }
.an-loop__panel { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 24px; position: sticky; top: 96px; }
.an-loop__panel h3 { margin-top: 4px; }
.an-loop__panel .an-mono { color: var(--mint); text-transform: uppercase; letter-spacing: .1em; }
.an-loop__hint { font: 400 .76rem/1.4 var(--f-mono); color: var(--on-ink-muted); padding: 6px 10px 2px; letter-spacing: .04em; }
.an-loop__fallback { color: var(--on-ink); padding: 18px; }
.an-loop__fallback li { margin: 6px 0; }
.an-node { cursor: pointer; }
.an-node circle.r { fill: var(--ink-2); stroke: rgba(230, 238, 243, .35); stroke-width: 1.5; transition: stroke .2s, fill .2s; }
.an-node text { fill: var(--on-ink); font: 600 13px var(--f-text); pointer-events: none; }
.an-node text.s { fill: var(--on-ink-muted); font: 400 10px var(--f-mono); letter-spacing: .08em; }
.an-node circle.c { fill: rgba(230, 238, 243, .5); transition: fill .2s; }
.an-node:hover circle.r, .an-node.is-on circle.r, .an-node:focus-visible circle.r { stroke: var(--mint-bright); fill: #133C58; }
.an-node:hover circle.c, .an-node.is-on circle.c { fill: var(--mint-bright); }
.an-node:focus { outline: none; }
.an-node:focus-visible circle.r { stroke-width: 3; }
.an-vessel { fill: none; stroke-width: 2.5; stroke-linecap: round; }
.an-vessel--in { stroke: rgba(224, 66, 77, .55); }
.an-vessel--out { stroke: rgba(53, 212, 155, .55); }
.an-cell--in { fill: #FF6B73; }
.an-cell--out { fill: var(--mint-bright); }
.an-heart path { fill: var(--pulse); transform-box: fill-box; transform-origin: center; animation: an-beat var(--beat, 6s) ease-in-out var(--beat-delay, 0s) infinite; }
.an-loop__legend { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 4px 10px 8px; font: 400 .74rem/1.3 var(--f-mono); color: var(--on-ink-muted); }
.an-loop__legend span::before { content: ""; display: inline-block; width: 18px; height: 3px; border-radius: 2px; margin-right: 7px; vertical-align: middle; background: var(--c); }

/* ---------- FAQ ---------- */
.an-faq { border-top: 1px solid var(--line); }
.an-faq details { border-bottom: 1px solid var(--line); }
.an-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; font: 600 1.06rem/1.4 var(--f-display); color: var(--ink); }
.an-faq summary::-webkit-details-marker { display: none; }
.an-faq summary::after { content: "+"; font: 400 1.3rem/1 var(--f-mono); color: var(--mint); transition: transform .25s var(--ease); }
.an-faq details[open] summary::after { transform: rotate(45deg); }
.an-faq__a { padding: 0 0 20px; color: var(--muted); max-width: 72ch; }
.an-faq__a p:last-child { margin-bottom: 0; }

/* ---------- Abschluss-CTA ---------- */
.an-cta { padding-block: clamp(56px, 8vw, 96px) 0; }
.an-cta .an-ekg { margin-top: clamp(36px, 5vw, 56px); }
.an-cta__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 32px; align-items: end; }
.an-cta__contact { font: 400 .9rem/1.8 var(--f-mono); color: var(--on-ink-muted); }
.an-cta__contact a { color: #fff; text-decoration: none; }
@media (max-width: 860px) { .an-cta__grid { grid-template-columns: minmax(0, 1fr); } }

/* Hinweisbox (Recht) */
.an-callout { border: 1px solid #F0C9CC; background: #FDF6F6; border-radius: var(--r); padding: 18px 20px; font-size: .95rem; }
.an-callout b { color: #9E2A31; }
.an-quote { font: 600 clamp(1.3rem, 1rem + 1.2vw, 1.9rem)/1.3 var(--f-display); color: var(--ink); letter-spacing: -.012em; max-width: 30ch; margin: 0; }
.an-quote::before { content: "„"; color: var(--mint); }
.an-quote::after { content: "“"; color: var(--mint); }

/* Vergleich vermeiden/stattdessen */
.an-compare { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; }

/* ---------- Formulare (vom Plugin erzeugt) ---------- */
.kw-form { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: clamp(20px, 3vw, 32px); }
.kw-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
@media (max-width: 640px) { .kw-form__grid { grid-template-columns: minmax(0, 1fr); } }
.kw-field { display: flex; flex-direction: column; gap: 6px; font-size: .92rem; color: var(--ink); margin: 0; }
.kw-field--full, .kw-check, .kw-captcha { grid-column: 1 / -1; }
.kw-field input, .kw-field select, .kw-field textarea, .kw-captcha input { font: 400 1rem/1.4 var(--f-text); color: var(--text); background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 12px 13px; width: 100%; }
.kw-field input:focus, .kw-field select:focus, .kw-field textarea:focus, .kw-captcha input:focus { border-color: var(--blue); background: #fff; outline: 2px solid var(--blue-soft); }
.kw-captcha { display: flex; flex-direction: column; gap: 6px; font-size: .92rem; }
.kw-captcha small { color: var(--muted); }
.kw-req { color: var(--pulse); font-weight: 600; }
.kw-hp { position: absolute !important; left: -9999px !important; }
.kw-check { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; color: var(--muted); }
.kw-check input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--ink); }
.kw-checks { border: 0; padding: 0; margin: 0; }
.kw-checks legend { font-size: .92rem; color: var(--ink); margin-bottom: 8px; padding: 0; }
.kw-checks__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 8px; }
.kw-checks__item { display: flex; gap: 10px; align-items: center; padding: 11px 13px; border: 1px solid var(--line); border-radius: var(--r); cursor: pointer; font-size: .94rem; background: var(--paper); }
.kw-checks__item input { accent-color: var(--ink); width: 17px; height: 17px; }
.kw-checks__item:has(input:checked) { border-color: var(--ink); background: var(--blue-soft); }
.kw-form > .kw-btn { margin-top: 20px; }
.kw-wiz { margin-bottom: 22px; }
.kw-wiz__label { font: 400 .78rem/1.4 var(--f-mono); letter-spacing: .06em; color: var(--muted); margin: 0 0 8px; }
.kw-wiz__track { height: 4px; background: var(--paper); border-radius: 2px; overflow: hidden; }
.kw-wiz__track i { display: block; height: 100%; width: 0; background: var(--mint); transition: width .4s var(--ease); }
.kw-wiz__nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

/* Joomla-Systemmeldungen */
#system-message-container joomla-alert, .alert { display: block; max-width: var(--wrap); margin: 16px auto; padding: 14px 18px; border-radius: var(--r); border: 1px solid var(--line); background: var(--white); }
joomla-alert[type="success"], .alert-success { border-color: var(--mint); background: var(--mint-soft); }
joomla-alert[type="warning"], joomla-alert[type="danger"], .alert-warning, .alert-danger { border-color: #F0C9CC; background: #FDF6F6; }

/* ---------- Fuß ---------- */
.an-footer { background: var(--ink); color: var(--on-ink-muted); padding-block: 56px calc(28px + env(safe-area-inset-bottom, 0px)); font-size: .93rem; }
.an-footer a { color: var(--on-ink); text-decoration: none; }
.an-footer a:hover { color: var(--mint-bright); text-decoration: underline; }
.an-footer__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 32px; }
@media (max-width: 900px) { .an-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .an-footer__grid { grid-template-columns: minmax(0, 1fr); } }
.an-footer .an-fh { font: 400 .74rem/1.3 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--mint-bright); margin: 0 0 14px; }
.an-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.an-footer li { margin: 0; }
.an-footer li span { display: block; font-size: .82rem; color: var(--on-ink-muted); }
.an-footer address { font-style: normal; line-height: 1.7; }
.an-footer .an-logo { color: #fff; margin-bottom: 16px; }
.an-footer .an-logo__txt small { color: var(--on-ink-muted); }
.an-footer__prov { display: inline-block; margin-top: 16px; background: #fff; padding: 8px 10px; border-radius: var(--r); }
.an-footer__prov img { display: block; height: 40px; width: auto; }
.an-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--line-ink); font-size: .84rem; }
.an-footer .an-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.an-motion { all: unset; cursor: pointer; font: 400 .78rem/1.3 var(--f-mono); color: var(--on-ink); border: 1px solid var(--line-ink); border-radius: 999px; padding: 6px 12px; }
.an-motion:focus-visible { outline: 3px solid var(--mint-bright); }

/* Cookie-Hinweis */
.an-cookie { position: fixed; z-index: 70; left: max(12px, env(safe-area-inset-left, 0px)); right: max(12px, env(safe-area-inset-right, 0px)); bottom: calc(12px + env(safe-area-inset-bottom, 0px)); max-width: 560px; margin-left: auto; background: var(--white); color: var(--text); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh); padding: 14px 16px; display: flex; gap: 14px; align-items: center; font-size: .88rem; }
.an-cookie[hidden], [hidden] { display: none !important; }
.an-cookie p { margin: 0; }
.an-cookie .an-btn { min-height: 40px; padding: 8px 14px; flex: 0 0 auto; }

/* ---------- Einblenden (Ruhezustand sichtbar) ---------- */
.js [data-an-reveal] { transition: transform .7s var(--ease), opacity .7s var(--ease); }
.js [data-an-reveal].is-pre { transform: translateY(14px); opacity: .001; }

/* ---------- Bewegung reduzieren ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
.an-still *, .an-still *::before, .an-still *::after { animation: none !important; transition: none !important; }
.an-still [data-an-reveal].is-pre { transform: none; opacity: 1; }

/* Druck */
@media print {
  .an-header, .an-footer, .an-cookie, .an-ekg, .an-helix canvas, .kw-form { display: none !important; }
  .an-monitor { background: #fff; color: #000; }
  .an-monitor h1, .an-monitor h2 { color: #000; }
}

/* ---------- Gestaltungsproben (Mini-Website je Fachrichtung) ---------- */
.an-probe { margin: 0; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
@media (max-width: 860px) { .an-probe { grid-template-columns: minmax(0, 1fr); } }
.an-probe__frame { border-radius: 10px; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(11, 34, 51, .45), 0 0 0 1px rgba(11, 34, 51, .08); background: var(--p-bg); transform: perspective(1600px) rotateY(-2deg); transition: transform .6s var(--ease); }
.an-probe:hover .an-probe__frame { transform: none; }
.an-probe__chrome { display: flex; align-items: center; gap: 6px; padding: 9px 12px; background: #E9EEF1; border-bottom: 1px solid #D6DEE3; }
.an-probe__chrome i { width: 9px; height: 9px; border-radius: 50%; background: #C6D0D6; }
.an-probe__chrome span { margin-left: 10px; flex: 1; font: 400 .7rem/1 var(--f-mono); color: #6B7B86; background: #fff; border-radius: 4px; padding: 5px 9px; }
.an-probe__nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 20px; color: var(--p-ink); font: 600 .9rem/1.2 var(--p-font, var(--f-display)); border-bottom: 1px solid var(--p-line, rgba(0,0,0,.06)); }
.an-probe__nav span { font: 400 .72rem/1 var(--f-text); color: var(--p-muted); }
.an-probe__hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; align-items: center; padding: 34px 24px 28px; background: var(--p-hero, transparent); color: var(--p-ink); }
.an-probe__art { position: relative; aspect-ratio: 4 / 3; border-radius: min(var(--p-r, 6px), 16px); overflow: hidden; background: linear-gradient(150deg, var(--p-soft), color-mix(in srgb, var(--p-acc) 35%, var(--p-soft))); }
.an-probe__art i { position: absolute; display: block; border-radius: var(--p-dot-r, 50%); background: var(--p-acc); }
.an-probe__art i:nth-child(1) { width: 46%; aspect-ratio: 1; right: -8%; top: -10%; opacity: .55; border-radius: 50%; }
.an-probe__art i:nth-child(2) { width: 30%; aspect-ratio: 1; left: 12%; bottom: 14%; opacity: .85; border-radius: 50%; }
.an-probe__art i:nth-child(3) { left: 0; right: 0; bottom: 0; height: 24%; opacity: .18; border-radius: 0; }
@media (max-width: 560px) { .an-probe__hero { grid-template-columns: minmax(0, 1fr); } .an-probe__art { display: none; } }
.an-probe__k { font: 400 .68rem/1 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--p-acc); margin: 0 0 10px; }
.an-probe__h { font: 600 clamp(1.25rem, 1rem + 1vw, 1.7rem)/1.15 var(--p-font, var(--f-display)); margin: 0 0 14px; max-width: 18ch; color: var(--p-ink); letter-spacing: -.01em; }
.an-probe__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.an-probe__btns span { display: inline-block; padding: 8px 13px; border-radius: var(--p-r, 6px); font: 600 .74rem/1 var(--f-text); background: var(--p-acc); color: var(--p-on-acc, #fff); }
.an-probe__btns span + span { background: transparent; color: var(--p-ink); box-shadow: inset 0 0 0 1px var(--p-line, rgba(0,0,0,.15)); }
.an-probe__tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 0 20px 22px; background: var(--p-hero, transparent); }
.an-probe__tiles span { padding: 12px 10px; border-radius: var(--p-r, 6px); background: var(--p-soft); color: var(--p-ink); font: 600 .72rem/1.3 var(--f-text); }
.an-probe__tiles span::before { content: ""; display: block; width: 18px; height: 18px; border-radius: var(--p-dot-r, 50%); background: var(--p-acc); opacity: .85; margin-bottom: 8px; }
.an-probe__note { display: grid; gap: 10px; font-size: 1rem; color: var(--text); background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 18px 40px -30px rgba(11, 34, 51, .35); padding: clamp(20px, 3vw, 30px); }
.an-probe__note p { margin: 0; }
.an-probe__note .an-kicker { margin: 0 0 4px; }
.an-probe__title { font: 600 1.35rem/1.2 var(--f-display); color: var(--ink); letter-spacing: -.01em; }
.an-probe__swh { font: 600 .82rem/1.2 var(--f-text); color: var(--ink); margin-top: 8px !important; }
.an-probe__note b { color: var(--ink); }
.an-probe__sw { display: flex; gap: 10px 16px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.an-probe__sw li { margin: 0; display: flex; align-items: center; gap: 8px; font: 400 .88rem/1 var(--f-text); color: var(--text); }
.an-probe__sw li::before { content: ""; width: 28px; height: 28px; border-radius: 7px; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.an-probe__fic { font: 400 .84rem/1.45 var(--f-text); color: var(--muted); border-top: 1px solid var(--line); padding-top: 12px; margin-top: 6px !important; }
.an-probe--haus { --p-bg: #FFFFFF; --p-hero: linear-gradient(180deg, #F2F7F4, #FFFFFF); --p-ink: #183A33; --p-muted: #5D7068; --p-acc: #2E8B6E; --p-soft: #E6F2EC; --p-r: 999px; }
.an-probe--zahn { --p-bg: #FFFFFF; --p-hero: linear-gradient(135deg, #EEF7F8, #FFFFFF 60%); --p-ink: #133B4A; --p-muted: #5F7883; --p-acc: #2BA6A0; --p-soft: #E3F3F2; --p-line: #D9EAEC; --p-r: 4px; --p-font: "Inter Display", sans-serif; }
.an-probe--zahn .an-probe__tiles span:last-child { background: #F5EEDD; }
.an-probe--zahn .an-probe__tiles span:last-child::before { background: #C3A35B; }
.an-probe--kind { --p-bg: #FFFDF8; --p-hero: radial-gradient(circle at 85% 20%, #FFE3B8 0 18%, transparent 19%), radial-gradient(circle at 70% 85%, #CDEBFF 0 14%, transparent 15%), #FFF8EC; --p-ink: #3A2E5C; --p-muted: #6E6487; --p-acc: #F07F4E; --p-soft: #EAF4FF; --p-r: 14px; --p-dot-r: 6px; }
.an-probe--kind .an-probe__tiles span:nth-child(2) { background: #FFF0D6; }
.an-probe--kind .an-probe__tiles span:nth-child(3) { background: #F2E8FF; }
.an-probe--psy { --p-bg: #F7F5F1; --p-hero: #F7F5F1; --p-ink: #3D4440; --p-muted: #7A817C; --p-acc: #7C9282; --p-soft: #ECE8E0; --p-line: #E2DED6; --p-r: 2px; --p-font: Georgia, "Charter", "Times New Roman", serif; }
.an-probe--psy .an-probe__h { font-weight: 400; }
.an-probe--mvz { --p-bg: #FFFFFF; --p-hero: linear-gradient(90deg, #12324F 0 50%, #FFFFFF 50%); --p-ink: #12324F; --p-muted: #5E7286; --p-acc: #1F6FB2; --p-soft: #EDF2F7; --p-r: 3px; --p-dot-r: 3px; }
.an-probe--mvz .an-probe__hero { background: #12324F; color: #fff; }
.an-probe--mvz .an-probe__hero .an-probe__h { color: #fff; }
.an-probe--mvz .an-probe__hero .an-probe__k { color: #8EC4F0; }
.an-probe--mvz .an-probe__btns span + span { color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.4); }
.an-probe--mvz .an-probe__tiles { padding-top: 16px; background: #fff; }
.an-probe--premium { --p-bg: #1E1F21; --p-hero: linear-gradient(160deg, #26272A, #1B1C1E); --p-ink: #F1ECE6; --p-muted: #A8A29B; --p-acc: #C99A86; --p-on-acc: #1E1F21; --p-soft: #2C2D30; --p-line: rgba(241,236,230,.14); --p-r: 0; --p-dot-r: 0; --p-font: Georgia, "Charter", serif; }
.an-probe--premium .an-probe__h { font-weight: 400; letter-spacing: .01em; }
.an-probe--b2c { --p-bg: #FFFFFF; --p-hero: #FFFFFF; --p-ink: #102A43; --p-muted: #52667A; --p-acc: #0B6BCB; --p-soft: #EAF3FC; --p-r: 10px; }
.an-probe--b2c .an-probe__h { font-size: clamp(1.35rem, 1.1rem + 1.1vw, 1.85rem); }
.an-probe--recruit { --p-bg: #FFFFFF; --p-hero: linear-gradient(135deg, #FFF4E8, #FFFFFF 55%); --p-ink: #2B2140; --p-muted: #6A6180; --p-acc: #E2614B; --p-soft: #FBEFE9; --p-r: 999px; }
.an-probe--onepager .an-probe__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* ---------- Skeleton-Loader (Seitenwechsel und Platzhalter) ---------- */
.an-skel-box, .an-skeleton i { display: block; border-radius: 6px; background: linear-gradient(90deg, var(--sk-a, #E6ECEF) 0%, var(--sk-b, #F3F6F8) 40%, var(--sk-a, #E6ECEF) 80%); background-size: 240% 100%; animation: an-shimmer 1.6s linear infinite; }
@keyframes an-shimmer { from { background-position: 120% 0; } to { background-position: -120% 0; } }
.an-skeleton { position: fixed; inset: 0; z-index: 90; background: var(--paper); overflow: hidden; }
.an-skeleton[hidden] { display: none; }
.an-skeleton__head { height: 72px; background: var(--white); border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 14px; padding-left: var(--gut); padding-right: var(--gut-r); }
.an-skeleton__head i:first-child { width: 38px; height: 38px; border-radius: 9px; }
.an-skeleton__head i:nth-child(2) { width: 160px; height: 16px; }
.an-skeleton__head i:last-child { width: 130px; height: 44px; margin-left: auto; }
.an-skeleton__hero { background: var(--ink); padding-block: 56px 70px; --sk-a: #143049; --sk-b: #1C3D59; }
.an-skeleton__wrap { max-width: var(--wrap); margin: 0 auto; padding-left: var(--gut); padding-right: var(--gut-r); display: grid; gap: 16px; }
.an-skeleton__hero i:nth-child(1) { width: 180px; height: 12px; }
.an-skeleton__hero i:nth-child(2) { width: min(640px, 90%); height: 46px; }
.an-skeleton__hero i:nth-child(3) { width: min(520px, 75%); height: 46px; }
.an-skeleton__hero i:nth-child(4) { width: min(560px, 85%); height: 14px; margin-top: 10px; }
.an-skeleton__hero i:nth-child(5) { width: min(460px, 70%); height: 14px; }
.an-skeleton__hero i:nth-child(6) { width: 220px; height: 48px; margin-top: 14px; }
.an-skeleton__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-block: 48px; }
.an-skeleton__cards i { height: 180px; }
@media (max-width: 700px) { .an-skeleton__cards { grid-template-columns: minmax(0, 1fr); } .an-skeleton__cards i:nth-child(n+2) { display: none; } }
.an-skel { position: relative; }
.an-skel > .an-skel-box { display: none; position: absolute; inset: 0; z-index: 2; --sk-a: #143049; --sk-b: #1C3D59; }
.js .an-skel:not(.is-ready) > .an-skel-box { display: block; }
.an-pagehead__tools { margin: 22px 0 0; }
@media (prefers-reduced-motion: reduce) { .an-skel-box, .an-skeleton i { animation: none; } }
.an-still .an-skel-box, .an-still .an-skeleton i { animation: none !important; }

/* Pause-Schalter im Monitor-Bereich (WCAG 2.2.2) */
.an-pause { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; font: 400 .72rem/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--on-ink); border: 1px solid var(--line-ink); border-radius: 999px; padding: 7px 12px; }
.an-pause:hover { border-color: var(--mint-bright); }
.an-pause:focus-visible { outline: 3px solid var(--mint-bright); outline-offset: 2px; }
.an-pause::before { content: ""; width: 8px; height: 10px; border-left: 3px solid currentColor; border-right: 3px solid currentColor; box-sizing: border-box; }
.an-pause[aria-pressed="true"]::before { border: 0; width: 0; height: 0; border-left: 9px solid currentColor; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.an-readout .an-pause { margin-left: auto; }

/* ---------- Sprachumschalter ---------- */
.an-langs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; }
.an-langs button { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; font: 600 .9rem/1 var(--f-text); color: var(--ink); background: var(--white); }
.an-langs button[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.an-langs button:focus-visible { outline: 3px solid var(--mint-bright); outline-offset: 2px; }
.an-langs b { font: 400 .7rem/1 var(--f-mono); letter-spacing: .08em; opacity: .7; }
[data-lang-panel]:not([data-lang-panel="de"]) { display: none; }
.js [data-lang-panel] { display: none; }
.js [data-lang-panel].is-on { display: block; }
.an-bring { list-style: none; margin: 0; padding: 0; counter-reset: bring; display: grid; gap: 10px; }
.an-bring li { margin: 0; counter-increment: bring; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 14px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r); }
.an-bring li::before { content: counter(bring); width: 30px; height: 30px; border-radius: 50%; background: var(--ink); color: #fff; display: grid; place-items: center; font: 600 .85rem/1 var(--f-text); }
.an-bring b { display: block; color: var(--ink); }
.an-bring small { color: var(--muted); }
.an-bring__kids { margin-top: 12px; padding: 12px 14px; border-left: 3px solid #F2B84B; background: #FFF8E8; border-radius: 0 var(--r) var(--r) 0; font-size: .95rem; }
.an-visual { margin: 0; }
.an-visual img { display: block; width: 100%; height: auto; border-radius: 18px; }

/* ---------- Handy-Ansichten ---------- */
.an-phones { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(18px, 3vw, 40px); padding-block: 10px 20px; }
.an-phone { width: 270px; max-width: 100%; aspect-ratio: 9 / 19; background: #23272C; border-radius: 30px; padding: 10px; box-shadow: 0 0 0 2px #2A2E33, 0 40px 70px -35px rgba(11, 34, 51, .55); position: relative; flex: 0 0 auto; }
.an-phone::before { content: ""; position: absolute; top: 4px; left: 50%; width: 40px; height: 3px; margin-left: -20px; background: #3A3F45; border-radius: 2px; z-index: 3; }
.an-phone__screen { height: 100%; background: #F4F7F9; border-radius: 22px; overflow: hidden; display: flex; flex-direction: column; font-size: 12px; line-height: 1.35; color: var(--text); }
.an-phone__status { display: flex; justify-content: space-between; padding: 10px 18px 6px; font: 600 11px/1 var(--f-text); color: var(--ink); }
.an-phone__bar { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--ink); color: #fff; font: 600 13px/1.2 var(--f-display); }
.an-phone__bar i { width: 18px; height: 18px; border-radius: 5px; background: var(--mint-bright); flex: 0 0 18px; }
.an-phone__body { flex: 1; padding: 12px; display: grid; gap: 8px; align-content: start; overflow: hidden; }
.an-phone__h { font: 600 14px/1.25 var(--f-display); color: var(--ink); margin: 2px 0 2px; }
.an-phone__chips { display: flex; gap: 4px; flex-wrap: wrap; }
.an-phone__chips span { padding: 4px 8px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font: 600 10px/1 var(--f-text); }
.an-phone__chips span.on { background: var(--ink); color: #fff; border-color: var(--ink); }
.an-phone__row { display: flex; align-items: center; gap: 9px; padding: 9px 10px; background: #fff; border-radius: 10px; box-shadow: 0 1px 2px rgba(11, 34, 51, .06); }
.an-phone__row em { font-style: normal; width: 20px; height: 20px; border-radius: 50%; background: var(--ink); color: #fff; display: grid; place-items: center; font: 600 10px/1 var(--f-text); flex: 0 0 20px; }
.an-phone__row .ok { margin-left: auto; width: 16px; height: 16px; border-radius: 50%; background: var(--mint); position: relative; flex: 0 0 16px; }
.an-phone__row .ok::after { content: ""; position: absolute; left: 5px; top: 3px; width: 4px; height: 7px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.an-phone__row .no { margin-left: auto; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--line); flex: 0 0 16px; box-sizing: border-box; }
.an-phone__row small { display: block; color: var(--muted); font-size: 10px; }
.an-phone__dot { width: 12px; height: 12px; border-radius: 50%; flex: 0 0 12px; }
.an-phone__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; text-align: center; font-size: 10px; color: var(--muted); }
.an-phone__days b { display: block; font-size: 12px; color: var(--ink); padding: 5px 0; border-radius: 8px; }
.an-phone__days .on b { background: var(--ink); color: #fff; }
.an-phone__slot { display: flex; justify-content: space-between; align-items: center; padding: 10px; background: #fff; border-radius: 10px; font-weight: 600; color: var(--ink); }
.an-phone__slot span { font: 400 10px/1 var(--f-text); color: var(--muted); }
.an-phone__slot.on { background: var(--mint); color: #fff; }
.an-phone__slot.on span { color: #E2F3EC; }
.an-phone__btn { margin-top: auto; display: block; text-align: center; padding: 11px; border-radius: 12px; background: var(--ink); color: #fff; font: 600 12px/1 var(--f-text); }
.an-phone__btn--mint { background: var(--mint-bright); color: var(--ink); }
.an-phone__nav { display: flex; justify-content: space-around; padding: 9px 10px 16px; background: #fff; border-top: 1px solid var(--line); font-size: 9px; color: var(--muted); }
.an-phone__nav span::before { content: ""; display: block; width: 16px; height: 16px; margin: 0 auto 3px; border-radius: 5px; background: var(--line); }
.an-phone__nav span.on { color: var(--ink); }
.an-phone__nav span.on::before { background: var(--mint); }
.an-phone__cap { text-align: center; font: 400 .78rem/1.4 var(--f-mono); color: var(--muted); margin-top: 14px; letter-spacing: .04em; }
.an-phonewrap { display: flex; flex-direction: column; align-items: center; }
.an-phone .an-bring { gap: 6px; }

/* ---------- Kennzahlen mit Quellen ---------- */
.an-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line-ink); border-bottom: 1px solid var(--line-ink); }
@media (max-width: 900px) { .an-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .an-stats { grid-template-columns: minmax(0, 1fr); } }
.an-stat { padding: 26px 22px 22px; display: flex; flex-direction: column; gap: 10px; border-left: 1px solid var(--line-ink); }
.an-stat:first-child { border-left: 0; }
@media (max-width: 900px) { .an-stat:nth-child(3) { border-left: 0; } .an-stat:nth-child(n+3) { border-top: 1px solid var(--line-ink); } }
@media (max-width: 520px) { .an-stat { border-left: 0; } .an-stat + .an-stat { border-top: 1px solid var(--line-ink); } }
.an-stat__v { font: 400 clamp(2.6rem, 2rem + 2vw, 3.6rem)/1 var(--f-mono); color: var(--mint-bright); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.an-stat__v small { font-size: .45em; margin-left: 4px; letter-spacing: 0; color: var(--on-ink); }
.an-stat__t { color: #fff; font-weight: 600; margin: 0; }
.an-stat__src { margin: auto 0 0; font: 400 .72rem/1.45 var(--f-mono); color: var(--on-ink-muted); }
.an-stat__src a { color: var(--on-ink-muted) !important; text-decoration: underline; }

/* ---------- 3D-Zahnmodell ---------- */
.an-tooth { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 28px; align-items: start; }
@media (max-width: 960px) { .an-tooth { grid-template-columns: minmax(0, 1fr); } }
.an-tooth__stage { position: relative; border-radius: var(--r); background: radial-gradient(circle at 50% 35%, #FFFFFF 0%, #EAF1F4 55%, #DCE6EB 100%); border: 1px solid var(--line); overflow: hidden; }
.an-tooth__stage canvas { display: block; width: 100%; height: clamp(320px, 46vw, 480px); cursor: grab; touch-action: none; }
.an-tooth__stage canvas:active { cursor: grabbing; }
.an-tooth__stage canvas:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px; }
.an-tooth__legend { position: absolute; left: 14px; bottom: 10px; display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0; font: 400 .72rem/1.3 var(--f-mono); color: var(--muted); }
.an-tooth__legend span::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.an-tooth__legend .z::before { background: #ECE6D6; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.an-tooth__legend .v::before { background: linear-gradient(90deg, #D6ECF4 50%, #DEB048 50%); }
.an-tooth__legend .h::before { display: none; }
.an-tooth__bar { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin-top: 12px; }
.an-tooth__group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.an-tooth__group span { font: 400 .72rem/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-right: 4px; }
.an-tooth__group button, .an-tooth__rot { all: unset; cursor: pointer; padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); font: 600 .9rem/1 var(--f-text); color: var(--ink); }
.an-tooth__group button[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.an-tooth__group button:focus-visible, .an-tooth__rot:focus-visible { outline: 3px solid var(--mint-bright); outline-offset: 2px; }
.an-tooth__rot { margin-left: auto; font-weight: 400; font-size: .82rem; }
.an-tooth__panel { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 24px; position: sticky; top: 96px; }
.an-tooth__panel .an-mono { color: var(--mint); text-transform: uppercase; letter-spacing: .1em; }
.an-tooth__panel dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 14px; margin: 14px 0 0; font-size: .93rem; }
.an-tooth__panel dt { color: var(--muted); }
.an-tooth__panel dd { margin: 0; color: var(--ink); }
.an-tooth__fallback { padding: 18px; }

/* ---------- Fotos (Praxisalltag) ---------- */
.an-photosplit { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.an-photosplit--one { grid-template-columns: minmax(0, 6fr) minmax(0, 4fr); }
.an-photos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(14px, 2vw, 24px); align-items: start; }
.an-photosplit--one .an-photos { grid-template-columns: minmax(0, 1fr); max-width: 420px; justify-self: center; }
.an-photo { margin: 0; position: relative; }
.an-photo img { display: block; width: 100%; height: auto; border-radius: 16px; box-shadow: 0 30px 60px -34px rgba(11, 34, 51, .55), 0 0 0 1px rgba(11, 34, 51, .06); background: var(--line); }
.an-photo--1 { margin-top: clamp(36px, 7vw, 84px); }
.an-photo picture { display: block; position: relative; }
.an-photo figcaption { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px 6px 7px; border-radius: 999px; font: 600 .7rem/1 var(--f-text); letter-spacing: .02em; color: #fff; background: rgba(11, 34, 51, .72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 0 0 1px rgba(255, 255, 255, .18); }
.an-photo figcaption b { display: inline-grid; place-items: center; min-width: 22px; height: 18px; padding: 0 4px; border-radius: 999px; background: var(--mint-bright); color: var(--ink); font: 700 .62rem/1 var(--f-mono); letter-spacing: .04em; }
.an-check { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; }
.an-check li { position: relative; padding-left: 30px; margin: 0; }
.an-check li::before { content: ""; position: absolute; left: 0; top: .2em; width: 20px; height: 20px; border-radius: 50%; background: var(--mint-soft); }
.an-check li::after { content: ""; position: absolute; left: 7px; top: calc(.2em + 5px); width: 5px; height: 9px; border: solid var(--mint); border-width: 0 2px 2px 0; transform: rotate(45deg); }
@media (max-width: 860px) {
  .an-photosplit, .an-photosplit--one { grid-template-columns: minmax(0, 1fr); }
  .an-photosplit--one .an-photos { max-width: 360px; }
}
@media (max-width: 480px) { .an-photo--1 { margin-top: 28px; } }
.an-photosplit--wide { grid-template-columns: minmax(0, 5fr) minmax(0, 5fr); }
.an-photosplit--wide .an-photos { max-width: 560px; }
@media (max-width: 860px) { .an-photosplit--wide { grid-template-columns: minmax(0, 1fr); } }
.an-photo--wide { max-width: 980px; margin: 0 auto; }
/* 1.0.14: Gestaltungsproben für weitere Zielgruppen */
.an-probe--gyn { --p-bg: #FFFFFF; --p-hero: linear-gradient(135deg, #FBF1F4, #FFFFFF 62%); --p-ink: #3B2233; --p-muted: #7A6170; --p-acc: #B4537A; --p-soft: #F8E9EF; --p-line: #EFDCE4; --p-r: 10px; }
.an-probe--auge { --p-bg: #FFFFFF; --p-hero: linear-gradient(180deg, #EEF6FC, #FFFFFF); --p-ink: #10304A; --p-muted: #5A7188; --p-acc: #1E7FC2; --p-soft: #E6F2FB; --p-r: 6px; }
.an-probe--auge .an-probe__tiles span:last-child { background: #FDF3DD; }
.an-probe--auge .an-probe__tiles span:last-child::before { background: #F3B23C; }
.an-probe--derma { --p-bg: #FFFCFA; --p-hero: linear-gradient(135deg, #F7EDE6, #FFFCFA 60%); --p-ink: #3A2A24; --p-muted: #7D6A62; --p-acc: #C27A5A; --p-soft: #F7EDE6; --p-line: #EADDD4; --p-r: 8px; }
.an-probe--ortho { --p-bg: #FFFFFF; --p-hero: linear-gradient(90deg, #1E2A30 0 46%, #F3F6F4 46%); --p-ink: #1E2A30; --p-muted: #5C6A70; --p-acc: #2F9E5B; --p-soft: #E8F5EC; --p-r: 3px; --p-dot-r: 3px; }
.an-probe--ortho .an-probe__hero { background: #1E2A30; }
.an-probe--ortho .an-probe__hero .an-probe__h { color: #fff; }
.an-probe--ortho .an-probe__hero .an-probe__k { color: #7FD6A1; }
.an-probe--ortho .an-probe__btns span + span { color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.4); }
.an-probe--physio { --p-bg: #FFFFFF; --p-hero: radial-gradient(circle at 88% 18%, #C9F0EC 0 20%, transparent 21%), #F3FBFA; --p-ink: #12343A; --p-muted: #56747A; --p-acc: #13A39A; --p-soft: #E4F6F4; --p-r: 12px; }
.an-probe--ergo { --p-bg: #FFFDF8; --p-hero: linear-gradient(135deg, #FDF3E0, #FFFDF8 60%); --p-ink: #3A2F1A; --p-muted: #7A6B50; --p-acc: #D08A12; --p-soft: #FDF3E0; --p-r: 12px; }
.an-probe--logo { --p-bg: #FFFFFF; --p-hero: radial-gradient(circle at 82% 80%, #DCD6FA 0 16%, transparent 17%), #F6F4FE; --p-ink: #261F4D; --p-muted: #6A648C; --p-acc: #6B5BD2; --p-soft: #EEEBFB; --p-r: 14px; --p-dot-r: 6px; }
.an-probe--osteo { --p-bg: #FAFAF5; --p-hero: #F4F5EC; --p-ink: #2E3322; --p-muted: #6E7360; --p-acc: #7D8B4E; --p-soft: #EFF1E5; --p-line: #E3E6D6; --p-r: 4px; --p-font: Georgia, "Charter", "Times New Roman", serif; }
.an-probe--osteo .an-probe__h { font-weight: 400; }
.an-probe--pflege { --p-bg: #FFFFFF; --p-hero: linear-gradient(180deg, #FDF1EF, #FFFFFF); --p-ink: #23394F; --p-muted: #5F7184; --p-acc: #D9584A; --p-soft: #FDECEA; --p-r: 12px; }
.an-probe--apo { --p-bg: #FFFFFF; --p-hero: linear-gradient(135deg, #E9F6F2, #FFFFFF 60%); --p-ink: #123B33; --p-muted: #577169; --p-acc: #0E8A6A; --p-soft: #E3F4EF; --p-r: 6px; }
.an-probe--sani { --p-bg: #FFFFFF; --p-hero: linear-gradient(180deg, #EAF4F9, #FFFFFF); --p-ink: #133246; --p-muted: #587082; --p-acc: #0F7DA8; --p-soft: #E3F1F7; --p-r: 6px; --p-dot-r: 4px; }
.an-probe--labor { --p-bg: #FFFFFF; --p-hero: linear-gradient(90deg, #F2F3FD, #FFFFFF); --p-ink: #161D3F; --p-muted: #5D6385; --p-acc: #4A5BD4; --p-soft: #ECEEFB; --p-r: 2px; --p-dot-r: 2px; }
.an-probe--tier { --p-bg: #FFFFFF; --p-hero: radial-gradient(circle at 85% 22%, #FFE2C2 0 17%, transparent 18%), #F3F9F1; --p-ink: #22331C; --p-muted: #5F7058; --p-acc: #4E9F3D; --p-soft: #EAF5E6; --p-r: 14px; }
.an-probe--tier .an-probe__tiles span:last-child { background: #FFF0E0; }
.an-probe--tier .an-probe__tiles span:last-child::before { background: #EE8A3A; }
/* 1.0.14: Stand und Verantwortlich (E-E-A-T) */
.an-byline { padding: 22px 0 30px; border-top: 1px solid var(--line); font: 400 .86rem/1.5 var(--f-text); color: var(--muted); }
.an-byline p { margin: 0; }
.an-byline a { color: inherit; }
/* 1.0.14: Region in der Fußzeile */
.an-footer__region { margin-top: 28px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); }
.an-footer__region ul { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 8px 0 0; padding: 0; list-style: none; }

/* Kartentitel ohne Überschriften-Tag (weniger Überschriften auf der Startseite), gleiche Optik wie h3 */
p.an-h3, .an-card p.an-h3, .an-pack p.an-h3 { font: 600 1.22rem/1.15 var(--f-display); color: var(--ink); letter-spacing: -.005em; text-wrap: balance; margin: 0 0 .5em; }
.an-card p.an-h3 { margin: 0; }
.an-card--ink p.an-h3, .an-monitor p.an-h3 { color: #fff; }
.an-pack p.an-h3 { font-size: 1.5rem; margin: 0; }

/* Footer: gemeinsames Projekt und Ansprechpartner */
.an-footer__project { border-top: 1px solid var(--line-ink); padding: 24px 0 4px; margin-top: 8px; }
.an-footer__projtitle { color: #fff; font-weight: 600; margin: 0 0 14px; }
.an-footer__project ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; color: var(--on-ink-muted); }
.an-footer__project li { margin: 0; }
.an-footer__project a, .an-footer__bottom p a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.35); text-underline-offset: 3px; }
.an-footer__project a:hover, .an-footer__bottom p a:hover { text-decoration-color: var(--mint-bright); }
.an-footer__fax { color: var(--on-ink-muted); font-size: .9rem; }

/* Footer: Netzwerk Imhof */
.an-footer__net { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 32px; border-top: 1px solid var(--line-ink); padding: 26px 0 10px; margin-top: 8px; }
.an-footer__net ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.an-footer__net li { margin: 0; }
.an-footer__net a { color: var(--on-ink-muted); text-decoration: none; font-size: .92rem; }
.an-footer__net a:hover, .an-footer__net a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.an-footer__net a[aria-current] { color: var(--mint-bright); }
@media (max-width: 900px) { .an-footer__net { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .an-footer__net { grid-template-columns: minmax(0, 1fr); } }

/* Inhaltsverzeichnis auf Ratgeber-Seiten */
.an-toc { margin: 6px 0 0; padding-left: 1.4em; columns: 2 280px; column-gap: 32px; }
.an-toc li { margin: 0 0 8px; break-inside: avoid; }
.an-toc a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
.an-toc a:hover { text-decoration-color: var(--mint); }
.an-brief .an-toc { list-style: decimal; padding-left: 1.4em; display: block; }
.an-brief .an-toc li { padding-left: 0; }
.an-brief .an-toc li::before { display: none; }
.an-brief .an-check + p { margin-top: 14px; }
