/* Referenznullpunkt — Komponenten-Stylesheet. Reines CSS, liest nur Tokens aus tokens.css. Präfix rn-. */

/* ---------- Basis ---------- */
body { margin: 0; background: var(--surface); color: var(--ink); font-family: var(--font-sans); font-size: 17px; line-height: 27px; -webkit-font-smoothing: antialiased; }
.rn-page { max-width: var(--measure-page); margin: 0 auto; padding: 0 var(--space-4); }
@media (min-width: 720px) { .rn-page { padding: 0 var(--space-6); } }
@media (min-width: 1024px) { .rn-page { padding: 0 var(--space-8); } }
.rn-section { padding-top: var(--space-8); padding-bottom: var(--space-8); }
@media (min-width: 720px) { .rn-section { padding-top: var(--space-9); padding-bottom: var(--space-9); } }
.rn-surface-raised { background: var(--surface-raised); }
.rn-surface-sunken { background: var(--surface-sunken); }
.rn-surface-petrol { background: var(--surface-petrol); color: var(--on-surface-petrol); }
.rn-prose { max-width: var(--measure-prose); }
.rn-prose p { margin: 0 0 var(--space-4); }
.rn-tnum { font-variant-numeric: tabular-nums; }

/* Typografie (spiegelt tokens.json, damit Komponenten ohne die generierten Klassen funktionieren) */
.rn-display { font-size: 56px; line-height: 60px; font-weight: 700; letter-spacing: -0.02em; margin: 0; }
.rn-h1 { font-size: 40px; line-height: 46px; font-weight: 700; letter-spacing: -0.015em; margin: 0; }
.rn-h2 { font-size: 32px; line-height: 38px; font-weight: 600; letter-spacing: -0.01em; margin: 0; }
.rn-h3 { font-size: 24px; line-height: 30px; font-weight: 600; letter-spacing: -0.005em; margin: 0; }
.rn-h4 { font-size: 18px; line-height: 24px; font-weight: 600; margin: 0; }
.rn-lead { font-size: 20px; line-height: 30px; margin: 0; }
.rn-body-sm { font-size: 15px; line-height: 23px; }
.rn-caption { font-size: 13px; line-height: 18px; font-weight: 500; color: var(--ink-muted); }
.rn-eyebrow { display: block; font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--petrol); margin: 0 0 var(--space-2); }
.rn-eyebrow--chip { display: inline-block; background: var(--petrol-soft); padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); }
.rn-surface-petrol .rn-eyebrow { color: var(--on-surface-petrol-muted); }
.rn-mono { font-family: var(--font-mono); }
.rn-label-mono { font-family: var(--font-mono); font-size: 13px; line-height: 18px; letter-spacing: 0.04em; }
.rn-value { font-family: var(--font-mono); font-size: 28px; line-height: 34px; font-weight: 500; }
.rn-value-lg { font-family: var(--font-mono); font-size: 56px; line-height: 60px; font-weight: 500; letter-spacing: -0.02em; }
@media (max-width: 719px) { .rn-display { font-size: 40px; line-height: 46px; } .rn-value-lg { font-size: 40px; line-height: 46px; } }

/* Links, Fokus */
.rn-link, .rn-prose a { color: var(--link); text-decoration: underline; text-decoration-color: var(--line-strong); text-decoration-thickness: var(--hairline); text-underline-offset: 3px; transition: text-decoration-color var(--duration-fast); }
.rn-link:hover, .rn-prose a:hover { text-decoration-color: var(--petrol); text-decoration-thickness: var(--rule); }
.rn-surface-petrol .rn-link { color: var(--on-surface-petrol); text-decoration-color: var(--on-surface-petrol-muted); }
.rn-surface-petrol .rn-link:hover { text-decoration-color: var(--on-surface-petrol); }
:where(.rn-btn, .rn-link, .rn-nav a, .rn-aufklapper summary, .rn-tap):focus-visible { outline: var(--rule) solid var(--focus-ring); outline-offset: 2px; }
.rn-surface-petrol :where(.rn-btn, .rn-link, .rn-tap):focus-visible { outline-color: var(--signal); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }

/* ---------- Icons ---------- */
.rn-icon { width: 24px; height: 24px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.rn-icon--sm { width: 20px; height: 20px; }
.rn-icon--lg { width: 32px; height: 32px; }

/* ---------- Wortmarke ---------- */
.rn-wortmarke { display: inline-flex; align-items: baseline; gap: var(--space-2); text-decoration: none; color: var(--petrol); }
.rn-wortmarke__name { font-size: 32px; line-height: 32px; font-weight: 700; letter-spacing: -0.02em; }
.rn-wortmarke__sub { font-family: var(--font-mono); font-size: 13px; line-height: 18px; letter-spacing: 0.04em; color: var(--ink-muted); }
.rn-wortmarke--sm .rn-wortmarke__name { font-size: 24px; line-height: 24px; }
.rn-surface-petrol .rn-wortmarke { color: var(--on-surface-petrol); }
.rn-surface-petrol .rn-wortmarke__sub { color: var(--on-surface-petrol-muted); }

/* ---------- Button ---------- */
.rn-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: var(--tap-min); padding: var(--space-3) var(--space-5); border-radius: var(--radius-sm); border: var(--rule) solid transparent; font: inherit; font-size: 16px; line-height: 20px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background-color var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast); }
.rn-btn--primary { background: var(--signal); border-color: var(--signal); color: var(--on-signal); }
.rn-btn--primary:hover { background: var(--signal-deep); border-color: var(--signal-deep); }
.rn-btn--secondary { background: transparent; border-color: var(--line-strong); color: var(--ink); }
.rn-btn--secondary:hover { border-color: var(--petrol); color: var(--petrol); }
.rn-btn--petrol { background: var(--petrol); border-color: var(--petrol); color: var(--on-petrol); }
.rn-btn--petrol:hover { background: var(--petrol-deep); border-color: var(--petrol-deep); }
.rn-surface-petrol .rn-btn--secondary { border-color: var(--on-surface-petrol-muted); color: var(--on-surface-petrol); }
.rn-surface-petrol .rn-btn--secondary:hover { border-color: var(--on-surface-petrol); }
.rn-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.rn-btn-row { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* ---------- Header ---------- */
.rn-header { background: var(--surface-raised); border-bottom: var(--hairline) solid var(--line); }
.rn-header__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: 72px; }
.rn-nav { display: none; align-items: center; gap: var(--space-5); margin: 0; padding: 0; list-style: none; }
.rn-nav a { display: inline-flex; align-items: center; min-height: var(--tap-min); font-size: 15px; line-height: 20px; font-weight: 500; color: var(--ink); text-decoration: none; border-bottom: var(--rule) solid transparent; }
.rn-nav a:hover { color: var(--petrol); }
.rn-nav a[aria-current="page"] { border-bottom-color: var(--petrol); }
.rn-header__actions { display: flex; align-items: center; gap: var(--space-3); }
.rn-header__tel { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--tap-min); min-width: var(--tap-min); justify-content: center; color: var(--petrol); text-decoration: none; font-weight: 500; font-size: 15px; }
.rn-header__tel span { display: none; }
.rn-header__menu { display: inline-flex; align-items: center; justify-content: center; width: var(--tap-min); height: var(--tap-min); background: none; border: var(--rule) solid var(--line-strong); border-radius: var(--radius-sm); color: var(--ink); cursor: pointer; }
.rn-header__drawer { display: none; background: var(--surface-raised); box-shadow: var(--shadow-float); border-top: var(--hairline) solid var(--line); padding: var(--space-4); }
.rn-header__drawer[data-open="true"] { display: block; }
.rn-header__drawer .rn-nav { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.rn-header__drawer .rn-nav a { padding: var(--space-2) 0; border-bottom: var(--hairline) solid var(--line); }
@media (min-width: 900px) { .rn-nav { display: flex; } .rn-header__menu, .rn-header__drawer { display: none !important; } .rn-header__tel span { display: inline; } }

/* ---------- Hero ---------- */
.rn-hero { display: grid; gap: var(--space-7); padding: var(--space-7) 0 var(--space-8); align-items: center; }
.rn-hero__text { max-width: var(--measure-narrow); }
.rn-hero__text .rn-lead { color: var(--ink-muted); margin: var(--space-4) 0 var(--space-6); }
.rn-hero__figure { margin: 0; display: flex; justify-content: center; }
.rn-hero__figure img, .rn-hero__figure svg { max-height: 60vh; width: auto; filter: drop-shadow(var(--shadow-float)); }
.rn-hero__facts { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-6); margin-top: var(--space-6); padding-top: var(--space-4); border-top: var(--hairline) solid var(--line); }
@media (min-width: 900px) { .rn-hero { grid-template-columns: 7fr 5fr; padding: var(--space-10) 0 var(--space-9); } .rn-hero__figure img, .rn-hero__figure svg { max-height: none; } }

/* ---------- Checkliste ---------- */
.rn-checkliste { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.rn-checkliste li { display: flex; gap: var(--space-3); align-items: flex-start; font-size: 17px; line-height: 27px; }
.rn-checkliste .rn-icon { color: var(--petrol); margin-top: 2px; }
.rn-checkliste--2col { grid-template-columns: 1fr; }
@media (min-width: 720px) { .rn-checkliste--2col { grid-template-columns: 1fr 1fr; column-gap: var(--space-6); } }
.rn-checkliste--sm li { font-size: 15px; line-height: 23px; }

/* ---------- Kachel ---------- */
.rn-kacheln { display: grid; gap: var(--space-4); }
@media (min-width: 720px) { .rn-kacheln { grid-template-columns: repeat(3, 1fr); gap: var(--space-6); } }
.rn-kachel { background: var(--surface-raised); border: var(--hairline) solid var(--line); border-radius: var(--radius-md); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); }
.rn-kachel .rn-icon { color: var(--petrol); }
.rn-kachel__title { font-size: 18px; line-height: 24px; font-weight: 600; margin: 0; }
.rn-kachel p { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.rn-kachel--value .rn-value { color: var(--petrol); }
.rn-surface-sunken .rn-kachel { border-color: transparent; }

/* ---------- Kennzahl ---------- */
.rn-kennzahlen { display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.rn-kennzahl { border-top: var(--rule) solid var(--petrol); padding-top: var(--space-3); }
.rn-kennzahl__value { font-family: var(--font-mono); font-size: 56px; line-height: 60px; font-weight: 500; letter-spacing: -0.02em; color: var(--ink); }
.rn-kennzahl__label { font-size: 15px; line-height: 23px; color: var(--ink-muted); margin-top: var(--space-1); }
.rn-surface-petrol .rn-kennzahl { border-top-color: var(--signal); }
.rn-surface-petrol .rn-kennzahl__value { color: var(--on-surface-petrol); }
.rn-surface-petrol .rn-kennzahl__label { color: var(--on-surface-petrol-muted); }
.rn-kennzahlen--sm .rn-kennzahl__value { font-size: 36px; line-height: 42px; }
@media (max-width: 719px) { .rn-kennzahl__value { font-size: 40px; line-height: 46px; } }

/* ---------- Zitat ---------- */
.rn-zitat { max-width: 760px; margin: 0; padding-left: var(--space-5); border-left: var(--stroke-pipe) solid var(--signal); }
.rn-zitat p { font-size: 24px; line-height: 34px; font-weight: 500; margin: 0; }
.rn-zitat footer { margin-top: var(--space-4); font-size: 15px; line-height: 23px; color: var(--on-surface-petrol-muted); }
.rn-zitat cite { font-style: italic; }
.rn-zitat--inline { border-left-color: var(--petrol); }
.rn-zitat--inline footer { color: var(--ink-muted); }
@media (min-width: 720px) { .rn-zitat p { font-size: 28px; line-height: 38px; } }

/* ---------- Spezifikation ---------- */
.rn-spez { width: 100%; border-collapse: collapse; border: var(--hairline) solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface-raised); font-size: 15px; line-height: 23px; }
.rn-spez caption { text-align: left; font-size: 18px; line-height: 24px; font-weight: 600; padding: 0 0 var(--space-3); }
.rn-spez th, .rn-spez td { text-align: left; vertical-align: top; padding: var(--space-2) var(--space-3); border-top: var(--hairline) solid var(--line); }
.rn-spez tr:first-child th, .rn-spez tr:first-child td { border-top: 0; }
.rn-spez th { font-family: var(--font-mono); font-size: 13px; line-height: 23px; letter-spacing: 0.04em; font-weight: 400; color: var(--ink-muted); width: 34%; background: var(--surface-sunken); }
.rn-spez td { font-variant-numeric: tabular-nums; }

/* ---------- Aufklapper ---------- */
.rn-aufklapper { border-top: var(--hairline) solid var(--line); }
.rn-aufklapper:last-of-type { border-bottom: var(--hairline) solid var(--line); }
.rn-aufklapper summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: var(--tap-min); padding: var(--space-3) 0; cursor: pointer; list-style: none; font-size: 18px; line-height: 24px; font-weight: 600; }
.rn-aufklapper summary::-webkit-details-marker { display: none; }
.rn-aufklapper summary .rn-icon { color: var(--petrol); transition: transform var(--duration-base); }
.rn-aufklapper[open] summary .rn-icon { transform: rotate(180deg); }
.rn-aufklapper__body { padding: 0 0 var(--space-5); max-width: var(--measure-prose); }
.rn-aufklapper__body p { margin: 0 0 var(--space-3); }

/* ---------- Downloadliste ---------- */
.rn-downloads { list-style: none; margin: 0; padding: 0; border-top: var(--hairline) solid var(--line); }
.rn-downloads li { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: var(--hairline) solid var(--line); font-size: 15px; line-height: 23px; }
.rn-downloads .rn-icon { color: var(--petrol); }
.rn-downloads__name { flex: 1; }
.rn-downloads__meta { font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.04em; color: var(--ink-muted); white-space: nowrap; }

/* ---------- Branchenliste ---------- */
.rn-branchen { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 720px) { .rn-branchen { grid-template-columns: repeat(4, 1fr); gap: var(--space-3); } }
.rn-branchen a, .rn-branchen span { display: flex; align-items: center; gap: var(--space-3); min-height: var(--tap-min); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); font-size: 15px; line-height: 20px; font-weight: 500; color: var(--ink); text-decoration: none; }
.rn-branchen a:hover { background: var(--petrol-soft); }
.rn-branchen [aria-current="true"] { background: var(--petrol-soft); color: var(--petrol); }
.rn-branchen .rn-icon { color: var(--petrol); }

/* ---------- Referenzen ---------- */
.rn-referenzen { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2) var(--space-6); grid-template-columns: repeat(2, 1fr); font-size: 17px; line-height: 27px; font-weight: 500; }
@media (min-width: 720px) { .rn-referenzen { grid-template-columns: repeat(4, 1fr); } }
.rn-referenzen li { padding: var(--space-1) 0; border-bottom: var(--hairline) solid var(--line); }

/* ---------- Profil ---------- */
.rn-profile { display: grid; gap: var(--space-5); }
@media (min-width: 720px) { .rn-profile { grid-template-columns: 1fr 1fr; gap: var(--space-6); } }
.rn-profil { display: grid; grid-template-columns: 72px 1fr; gap: var(--space-4); align-items: start; }
.rn-profil__bild { width: 72px; height: 72px; border-radius: var(--radius-round); background: var(--petrol-soft); color: var(--petrol); display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 20px; font-weight: 500; overflow: hidden; }
.rn-profil__bild img { width: 100%; height: 100%; object-fit: cover; }
.rn-profil__name { font-size: 18px; line-height: 24px; font-weight: 600; margin: 0; }
.rn-profil__rolle { font-family: var(--font-mono); font-size: 13px; line-height: 18px; letter-spacing: 0.04em; color: var(--petrol); margin: var(--space-1) 0 var(--space-2); }
.rn-profil p { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }

/* ---------- Praxisbeitrag ---------- */
.rn-beitraege { display: grid; gap: var(--space-5); }
@media (min-width: 720px) { .rn-beitraege { grid-template-columns: 1fr 1fr; gap: var(--space-6); } }
.rn-beitrag { display: flex; flex-direction: column; background: var(--surface-raised); border: var(--hairline) solid var(--line); border-radius: var(--radius-md); overflow: hidden; color: inherit; text-decoration: none; transition: border-color var(--duration-fast); }
.rn-beitrag:hover { border-color: var(--petrol); }
.rn-beitrag__bild { aspect-ratio: 16 / 9; background: var(--surface-sunken); display: flex; align-items: center; justify-content: center; color: var(--steel); border-bottom: var(--hairline) solid var(--line); }
.rn-beitrag__bild img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rn-beitrag__body { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
.rn-beitrag__title { font-size: 24px; line-height: 30px; font-weight: 600; margin: 0; }
.rn-beitrag__sub { margin: 0; font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.rn-beitrag__more { margin-top: auto; padding-top: var(--space-3); font-size: 15px; font-weight: 500; color: var(--petrol); display: inline-flex; align-items: center; gap: var(--space-2); }

/* ---------- Ampel ---------- */
.rn-ampel { display: inline-flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); font-size: 15px; line-height: 23px; font-weight: 600; }
.rn-ampel__symbol { width: 14px; height: 14px; flex: none; }
.rn-ampel__range { font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.04em; font-weight: 400; }
.rn-ampel--ok { background: var(--status-ok-soft); color: var(--status-ok); }
.rn-ampel--warn { background: var(--status-warn-soft); color: var(--status-warn); }
.rn-ampel--fault { background: var(--status-fault-soft); color: var(--status-fault); }
.rn-ampel--lg { padding: var(--space-3) var(--space-4); font-size: 18px; line-height: 24px; }
.rn-ampel--lg .rn-ampel__symbol { width: 20px; height: 20px; }
.rn-ampel-reihe { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* ---------- Funktionsprinzip ---------- */
.rn-prinzip { background: var(--surface-raised); border: var(--hairline) solid var(--line); border-radius: var(--radius-md); padding: var(--space-5); }
.rn-prinzip svg { width: 100%; height: auto; display: block; font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.04em; }
.rn-prinzip .st { stroke: var(--steel); stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.rn-prinzip .st-fill { fill: var(--steel-light); fill-opacity: 0.35; stroke: var(--steel); stroke-width: 1.5; }
.rn-prinzip .zone { fill: var(--status-ok-soft); stroke: var(--steel); stroke-width: 1.5; }
.rn-prinzip .pipe { stroke: var(--petrol); stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.rn-prinzip .device { fill: var(--surface-raised); stroke: var(--steel); stroke-width: 1.5; }
.rn-prinzip .flange { fill: var(--illustration-dark); }
.rn-prinzip .mark { fill: var(--signal-deep); }
.rn-prinzip .wind { stroke: var(--ink-subtle); stroke-width: 1.5; stroke-linecap: round; }
.rn-prinzip .disturb { stroke: var(--status-fault); stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.rn-prinzip .lbl { fill: var(--ink-muted); }
.rn-prinzip .lbl-strong { fill: var(--ink); font-weight: 500; }
.rn-prinzip .lbl-signal { fill: var(--signal-text); font-weight: 500; }
.rn-prinzip [data-step] { opacity: 1; transition: opacity var(--duration-slow); }
.rn-prinzip[data-animate] [data-step] { opacity: 0; }
.rn-prinzip[data-animate] [data-step].is-on { opacity: 1; }
.rn-prinzip__caption { margin: var(--space-3) 0 0; font-size: 13px; line-height: 18px; font-weight: 500; color: var(--ink-muted); }

/* ---------- Kontakt ---------- */
.rn-kontakt { display: grid; gap: var(--space-6); }
@media (min-width: 720px) { .rn-kontakt { grid-template-columns: 1fr 1fr; } }
.rn-kontakt__person { font-size: 18px; line-height: 24px; font-weight: 600; margin: 0; }
.rn-kontakt__firma { color: var(--ink-muted); font-size: 15px; line-height: 23px; margin: 0 0 var(--space-4); }
.rn-kontakt address { font-style: normal; font-size: 17px; line-height: 27px; margin: 0 0 var(--space-4); }
.rn-kontakt__links { display: grid; gap: var(--space-2); }
.rn-tap { display: inline-flex; align-items: center; gap: var(--space-3); min-height: var(--tap-min); color: var(--link); text-decoration: none; font-size: 18px; line-height: 24px; font-weight: 500; font-variant-numeric: tabular-nums; }
.rn-tap:hover { text-decoration: underline; text-underline-offset: 3px; }
.rn-tap .rn-icon { color: var(--petrol); }
.rn-kontakt__box { background: var(--petrol-soft); border-radius: var(--radius-md); padding: var(--space-5); }
.rn-kontakt__box p { margin: 0 0 var(--space-4); }

/* ---------- CTA-Band ---------- */
.rn-cta { display: grid; gap: var(--space-6); align-items: center; }
@media (min-width: 900px) { .rn-cta { grid-template-columns: 7fr 5fr; } }
.rn-cta .rn-h2 { color: var(--on-surface-petrol); }
.rn-cta p { margin: var(--space-3) 0 0; color: var(--on-surface-petrol-muted); }
.rn-cta .rn-checkliste { margin-top: var(--space-4); }
.rn-cta .rn-checkliste li { color: var(--on-surface-petrol); }
.rn-cta .rn-checkliste .rn-icon { color: var(--signal); }
.rn-cta__actions { display: flex; flex-direction: column; gap: var(--space-3); align-items: flex-start; }
.rn-cta__actions .rn-tap { color: var(--on-surface-petrol); }
.rn-cta__actions .rn-tap .rn-icon { color: var(--signal); }

/* ---------- Footer ---------- */
.rn-footer { padding: var(--space-7) 0 var(--space-6); font-size: 15px; line-height: 23px; }
.rn-footer__grid { display: grid; gap: var(--space-5); }
@media (min-width: 720px) { .rn-footer__grid { grid-template-columns: 1fr 1fr 1fr; } }
.rn-footer address { font-style: normal; color: var(--on-surface-petrol-muted); margin: var(--space-3) 0 0; }
.rn-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-1); }
.rn-footer__bottom { margin-top: var(--space-6); padding-top: var(--space-4); border-top: var(--hairline) solid var(--on-surface-petrol-muted); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.04em; color: var(--on-surface-petrol-muted); }

/* ---------- Raster ---------- */
.rn-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-5); align-items: start; }
@media (min-width: 900px) { .rn-grid { grid-template-columns: repeat(12, 1fr); gap: var(--space-6); }
  .rn-col-4 { grid-column: span 4; } .rn-col-5 { grid-column: span 5; } .rn-col-6 { grid-column: span 6; } .rn-col-7 { grid-column: span 7; } .rn-col-8 { grid-column: span 8; } .rn-col-12 { grid-column: span 12; } }

/* ---------- Logo (Vektor-Wortmarke) ---------- */
.rn-logo { display: inline-flex; align-items: center; min-height: var(--tap-min); }
.rn-logo img { display: block; height: 32px; width: auto; }
.rn-logo--lg img { height: 48px; }
.rn-footer .rn-logo img { height: 56px; }
