/* Generated by tools/apply_pagespeed_optimizations.py. Non-critical page polish. */

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: optional;
  src: url('/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: optional;
  src: url('/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url('/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url('/fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: optional;
  src: url('/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: optional;
  src: url('/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('/fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url('/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url('/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url('/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Instrument Sans â€” variable (400â€“600) */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: optional;
  src: url('/fonts/instrument-sans-var-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: optional;
  src: url('/fonts/instrument-sans-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Instrument Serif â€” 400 normal + italic */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('/fonts/instrument-serif-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url('/fonts/instrument-serif-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url('/fonts/instrument-serif-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url('/fonts/instrument-serif-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* rZWEI global system, derived from the homepage editorial design. */
@font-face{
  font-family:"Manrope";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("/fonts/manrope-var-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Manrope";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("/fonts/manrope-var-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{
  color-scheme:light;
  --r2-bg:#f6f3ee;
  --r2-bg-soft:#efeae2;
  --r2-card:#fdfcfa;
  --r2-ink:#221c14;
  --r2-ink-2:#4a4337;
  --r2-ink-3:#7c7363;
  --r2-line:rgba(34,28,20,.16);
  --r2-line-soft:rgba(34,28,20,.08);
  --r2-gold:#9b7c4a;
  --r2-gold-deep:#7e6238;
  --r2-dark:#211b13;
  --r2-on-dark:#f3eee5;
  --r2-on-dark-soft:rgba(243,238,229,.62);
  --r2-serif:"Instrument Serif","Cormorant Garamond",Georgia,serif;
  --r2-sans:"Manrope","Helvetica Neue",Helvetica,Arial,sans-serif;
  --r2-global-topbar-height:28px;
  --bg:var(--r2-bg);
  --bg-soft:var(--r2-bg-soft);
  --bg-elev:var(--r2-card);
  --bg-card:var(--r2-card);
  --card:var(--r2-card);
  --ink:var(--r2-ink);
  --ink-2:var(--r2-ink-2);
  --ink-3:var(--r2-ink-3);
  --ink-4:rgba(34,28,20,.28);
  --line:var(--r2-line);
  --line-2:rgba(34,28,20,.22);
  --line-soft:var(--r2-line-soft);
  --gold:var(--r2-gold);
  --gold-deep:var(--r2-gold-deep);
  --gold-dim:rgba(155,124,74,.12);
  --dark:var(--r2-dark);
  --on-dark:var(--r2-on-dark);
  --on-dark-soft:var(--r2-on-dark-soft);
  --white:#fff;
  --black:var(--r2-dark);
  --grey:var(--r2-ink-2);
  --border:var(--r2-line-soft);
  --serif:var(--r2-serif);
  --sans:var(--r2-sans);
  --font-sans-global:var(--r2-sans);
  --radius:0;
  --max:1360px;
}

html{
  max-width:100%;
  overflow-x:hidden;
  scroll-behavior:smooth;
  scroll-padding-top:118px;
}

body{
  max-width:100%;
  overflow-x:hidden;
  background:var(--r2-bg)!important;
  color:var(--r2-ink)!important;
  font-family:var(--r2-sans)!important;
  font-size:17px;
  line-height:1.65;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
}

*,*::before,*::after{box-sizing:border-box}
img,video,iframe,svg,canvas{max-width:100%}
img,video,canvas{height:auto}
img{max-width:100%!important;height:auto!important;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
main,section,article,header,footer,nav,aside,div,p,h1,h2,h3,h4,h5,h6,ul,ol,li,blockquote,form,fieldset{min-width:0}
table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
::selection{background:var(--r2-gold);color:#fff}

/* ── Heading overflow safety ── */
h1,h2,h3,h4,h5,h6{
  overflow-wrap:break-word;
  word-break:break-word;
  hyphens:auto;
  max-width:100%;
}

/* ── Override non-fluid r2-local-fonts step-down heading blocks ──
   These rules come AFTER the page's inline <style id="r2-local-fonts"> in
   cascade order, so they win even against !important declarations of equal
   specificity while keeping the correct editorial hierarchy. */
h1.display{
  font-size:clamp(1.9rem,5.8vw,4rem)!important;
  line-height:1.06!important;
  letter-spacing:0!important;
  white-space:normal!important;
  hyphens:auto;
  overflow-wrap:break-word;
}
h2.display{
  font-size:clamp(1.35rem,3.4vw,2.6rem)!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  hyphens:auto;
}
h3.display{
  font-size:clamp(1.1rem,2.3vw,1.85rem)!important;
  line-height:1.15!important;
  letter-spacing:0!important;
}
/* r2-system pages override with more specific editorial sizes */
.r2-system h1.display{
  font-size:clamp(2rem,6.2vw,4.5rem)!important;
}
.r2-system h2.display{
  font-size:clamp(1.5rem,3.8vw,2.8rem)!important;
}
.r2-system h3.display{
  font-size:clamp(1.15rem,2.5vw,2rem)!important;
}

.theme-toggle{display:none!important}

.wrap{
  width:min(100%,var(--max));
  max-width:var(--max);
  margin:0 auto;
  padding-left:48px;
  padding-right:48px;
}

.r2-system .wrap,
.r2-system .hero-grid,
.r2-system .hero-foot-grid,
.r2-system .system-strip-row,
.r2-system .ch-grid,
.r2-system .svc-row,
.r2-system .proc-row,
.r2-system .finale-channels,
.r2-system .analysis-form,
.r2-system .visibility-panel,
.r2-system .card,
.r2-system .service-card,
.r2-system .price-card,
.r2-system .topic-card,
.r2-system .post-grid,
.r2-system .topics-grid,
.r2-system .direct-links{
  min-width:0;
}

.r2-system h1,
.r2-system .hero-name{
  font-family:var(--r2-serif)!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-wrap:balance;
  overflow-wrap:break-word;
  hyphens:auto;
}

.r2-system h2,
.r2-system h3,
.r2-system h4,
.r2-system h5,
.r2-system h6,
.r2-system .display,
.r2-system .serif,
.r2-system .hero-sub,
.r2-system .biglink,
.r2-system .fchannel .v,
.r2-system .faq-item summary,
.r2-system .card h3,
.r2-system .service-card h3,
.r2-system .price-card h3,
.r2-system .topic-card h3,
.r2-system .post-card h2,
.r2-system .post-card h3,
.r2-system .btn,
.r2-system .button,
.r2-system .form-submit,
.r2-system button[type="submit"]{
  font-family:var(--r2-sans)!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-wrap:balance;
  overflow-wrap:break-word;
  hyphens:auto;
}

.r2-system p,
.r2-system .lede,
.r2-system .hero-lede,
.r2-system li,
.r2-system blockquote,
.r2-system summary,
.r2-system a,
.r2-system button,
.r2-system input,
.r2-system textarea,
.r2-system select{
  overflow-wrap:break-word;
}

.r2-system p,
.r2-system .lede,
.r2-system .hero-lede{text-wrap:pretty}

.r2-system .micro,
.r2-system .eyebrow,
.r2-system .ch-label,
.r2-system .idx span,
.r2-system .hstat .l,
.r2-system .fchannel .k,
.r2-system label,
.r2-system input,
.r2-system textarea,
.r2-system select,
.r2-global-topbar,
footer{
  font-family:var(--r2-sans)!important;
}

.r2-system .micro,
.r2-system .eyebrow{
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.22em!important;
  line-height:1.2;
  text-transform:uppercase;
  color:var(--r2-ink-3)!important;
}

.r2-system .micro.gold,
.r2-system em.g,
.r2-system .display em,
.r2-system .hero-name .media,
.r2-system .stars,
.r2-system .biglink .arr,
.r2-system .btn .arr,
.r2-system .form-submit .arr{
  color:var(--r2-gold)!important;
}

/* Header: exact homepage pattern. */
.r2-system nav.top{display:none!important}
.site-head{
  position:fixed;
  top:var(--r2-global-topbar-height);
  left:0;
  right:0;
  z-index:680;
  color:var(--r2-ink);
  transition:background .3s ease,box-shadow .3s ease;
}
.site-head.scrolled,
body.has-r2-global-topbar .site-head,
body:has(.r2-global-topbar) .site-head{
  background:rgba(246,243,238,.92)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 1px 0 var(--r2-line);
}
body.has-r2-global-topbar .site-head,
body:has(.r2-global-topbar) .site-head{top:var(--r2-global-topbar-height)}
.head-row{display:flex;align-items:center;justify-content:space-between;height:86px;transition:height .3s ease}
/* Logo: groß vor dem Scrollen, kompakt nach dem Scrollen (.scrolled) */
.head-logo{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  width:112px!important;
  height:57px!important;
  transition:width .3s ease,height .3s ease;
}
.head-logo img{
  width:112px!important;
  height:57px!important;
  aspect-ratio:1000 / 512!important;
  object-fit:contain!important;
  max-height:none!important;
  display:block;
  filter:none!important;
  mix-blend-mode:multiply;
  transition:width .3s ease,height .3s ease;
}
.site-head.scrolled .head-row{height:64px}
.site-head.scrolled .head-logo,
.site-head.scrolled .head-logo img{
  width:60px!important;
  height:31px!important;
}
.head-right{display:flex;align-items:center;gap:30px}
.head-right a{font-size:13.5px;font-weight:600;letter-spacing:.06em;text-decoration:none}
.head-right .stars{color:var(--r2-gold);letter-spacing:1px}
.head-right .cta{
  font-family:var(--r2-sans)!important;
  font-size:17px;
  font-weight:700;
  letter-spacing:0!important;
  border-bottom:1px solid var(--r2-gold);
  padding-bottom:2px;
}
.head-right .cta:hover{color:var(--r2-gold-deep);font-style:italic}
.nav-burger{
  display:none;
  border:1px solid var(--r2-line);
  padding:8px 14px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.mobile-nav{display:none;flex-direction:column;background:var(--r2-bg);border-bottom:1px solid var(--r2-line);padding:6px 22px 22px}
.mobile-nav.open{display:flex}
.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--r2-line-soft);font-family:var(--r2-sans)!important;font-size:1rem;font-weight:650}

.ch-index{
  position:fixed;
  right:26px;
  top:50%;
  transform:translateY(-50%);
  z-index:660;
  display:flex;
  flex-direction:column;
  gap:16px;
  width:auto;
  max-width:none;
  pointer-events:none;
}
.ch-index .ch-track{
  width:auto!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  pointer-events:auto;
}
.ch-index a{
  width:7px;
  height:7px;
  min-width:7px;
  min-height:7px;
  padding:0!important;
  overflow:hidden;
  border-radius:50%;
  background:transparent;
  border:1px solid var(--r2-ink-3);
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:-999px;
  white-space:nowrap;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.ch-index a:hover,
.ch-index a.active{
  background:var(--r2-gold);
  border-color:var(--r2-gold);
  transform:scale(1.35);
}

/* Hero: homepage editorial system for every page. */
.r2-system #hero,
.r2-system .hero{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
  padding-top:clamp(124px,13vh,164px);
  border-bottom:1px solid var(--r2-line);
  background:var(--r2-bg)!important;
}
.hero-kicker{margin-bottom:clamp(24px,3vw,38px);display:flex;align-items:center;gap:18px}
.hero-kicker::after{content:"";height:1px;flex:1;background:var(--r2-line)}
.r2-system .hero-name{
  font-size:clamp(2.2rem,4.4vw,3.6rem)!important;
  line-height:1.06!important;
  max-width:20ch;
  margin:0;
}
.r2-system .hero-frankfurt{
  font-family:var(--r2-sans)!important;
  font-size:clamp(2.7rem,6.5vw,6.8rem)!important;
  line-height:1;
  color:transparent!important;
  -webkit-text-stroke:1px var(--r2-ink-3);
  letter-spacing:.02em!important;
  margin:1vh 0 5vh;
  max-width:100%;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;
  gap:clamp(64px,6vw,96px);
  align-items:center;
  margin-bottom:clamp(46px,6vh,78px);
}
.r2-system .hero-sub{
  font-size:clamp(1.5rem,2.6vw,2.3rem)!important;
  line-height:1.25!important;
  max-width:24ch;
  color:var(--r2-ink);
}
.hero-lede,
.r2-system .lede{
  color:var(--r2-ink-2)!important;
  font-size:16.5px;
  max-width:58ch;
}
.hero-lede{margin-bottom:34px}
.hero-links,
.hero-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
}
.biglink,
.r2-system .btn,
.r2-system .button,
.r2-system .nav-cta,
.r2-system .direct-link,
.r2-system .form-submit,
.r2-system button[type="submit"],
.r2-system input[type="submit"]{
  display:inline-flex!important;
  align-items:baseline;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:4px 14px;
  max-width:100%;
  min-width:0;
  min-height:0;
  padding:10px 0 8px!important;
  background:transparent!important;
  color:var(--r2-ink)!important;
  border:0!important;
  border-bottom:1px solid var(--r2-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  line-height:1.3!important;
  text-align:left;
  white-space:normal!important;
  text-transform:none!important;
}
.biglink,
.r2-system .btn,
.r2-system .form-submit,
.r2-system button[type="submit"]{
  font-size:clamp(1.45rem,2.2vw,2rem)!important;
}
.biglink.minor,
.r2-system .btn.secondary,
.r2-system .direct-link{
  font-size:clamp(1.15rem,1.7vw,1.5rem)!important;
  color:var(--r2-ink-2)!important;
}
.biglink:hover,
.r2-system .btn:hover,
.r2-system .button:hover,
.r2-system .nav-cta:hover,
.r2-system .direct-link:hover,
.r2-system .form-submit:hover,
.r2-system button[type="submit"]:hover{
  color:var(--r2-gold-deep)!important;
  border-color:var(--r2-gold)!important;
  font-style:italic;
}
.biglink .arr,
.r2-system .btn .arr,
.r2-system .form-submit .arr{flex:0 0 auto;transition:transform .22s ease}
.biglink:hover .arr,
.r2-system .btn:hover .arr,
.r2-system .form-submit:hover .arr{transform:translateX(8px)}

.hero-foot{border-top:1px solid var(--r2-line)}
.hero-foot-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;
  align-items:stretch;
}
.hstat{padding:28px 46px 30px 0;border-right:1px solid var(--r2-line);min-width:0}
.hstat + .hstat{padding-left:46px}
.hstat .n,
.hstat .l{overflow-wrap:anywhere;hyphens:auto}
/* Stats nested inside a hero side column: auto-fit prevents label overlap in narrow tracks */
.hero-grid .hero-foot .hero-foot-grid{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:0 18px;
}
.hero-grid .hero-foot .hstat{padding:24px 24px 22px 0}
.hero-grid .hero-foot .hstat + .hstat{padding-left:0}
.hstat .n{font-family:var(--r2-sans);font-size:clamp(1.65rem,2.2vw,2.15rem);font-weight:550;line-height:1;white-space:nowrap}
.hstat .n em{font-style:normal;color:var(--r2-gold);font-size:.62em;vertical-align:.3em}
.hstat .l{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--r2-ink-3);margin-top:6px}
body.r2-system .hero-foot{
  margin-top:clamp(28px,4vw,56px)!important;
}
body.r2-system .hero-foot > div:not(.hero-foot-grid),
body.r2-system .hero-foot-grid .hstat{
  padding:clamp(26px,3vw,36px) clamp(28px,3.5vw,48px)!important;
}
body.r2-system .hero-foot > div:not(.hero-foot-grid):first-child,
body.r2-system .hero-foot-grid .hstat:first-child{
  padding-left:0!important;
}
body.r2-system .hero-foot > div:not(.hero-foot-grid):last-child,
body.r2-system .hero-foot-grid .hstat:last-child{
  padding-right:0!important;
  border-right:0!important;
}
body.r2-system .hero-foot strong,
body.r2-system .hero-foot .n{
  font-family:var(--r2-sans)!important;
  font-size:clamp(1.55rem,2vw,2rem)!important;
  font-weight:550!important;
  line-height:1.02!important;
  white-space:nowrap;
}
body.r2-system .hero-foot span,
body.r2-system .hero-foot .l{
  margin-top:10px!important;
  line-height:1.35!important;
}
.system-strip{border-top:1px solid var(--r2-line);background:var(--r2-bg-soft)}
.system-strip-row{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px 38px;
  padding:18px 0;
  font-size:13px;
  letter-spacing:.04em;
}
.system-strip-row .lead{font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:11px;color:var(--r2-gold)}
.system-strip-row .item{color:var(--r2-ink-2)}
.system-strip-row .item b{font-family:var(--r2-sans);font-weight:650;color:var(--r2-gold);margin-right:7px}
.system-strip-row .item span{color:var(--r2-ink-3);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-left:7px}

.marquee,
.topic-strip{
  overflow:hidden;
  white-space:nowrap;
  padding:5vh 0;
  border-bottom:1px solid var(--r2-line);
}
.marquee-track,
.topic-track{display:inline-block;animation:marquee 60s linear infinite}
.marquee span,
.topic-track span{
  font-family:var(--r2-sans)!important;
  font-weight:500;
  font-size:clamp(2.2rem,4.5vw,4rem);
  line-height:1;
  color:var(--r2-ink);
  padding:0 10px;
}
.marquee b,
.topic-track b{font-weight:400;font-style:italic;color:var(--r2-gold)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track,.topic-track{animation:none}}

.logo-marquee{
  position:relative;
  overflow:hidden;
  padding:clamp(34px,5vw,72px) 0;
  border-bottom:1px solid var(--r2-line,var(--line,rgba(34,28,20,.16)));
  background:transparent;
}
.logo-marquee::before,
.logo-marquee::after{content:none}
.logo-marquee-heading{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.logo-marquee-track{
  display:flex;
  width:max-content;
  animation:marquee 140s linear infinite;
  will-change:transform;
}
.logo-marquee-group{
  display:flex;
  align-items:center;
  gap:clamp(14px,2vw,22px);
  padding-right:clamp(14px,2vw,22px);
}
.logo-marquee-item{
  flex:0 0 clamp(158px,18vw,230px);
  height:clamp(92px,8.5vw,118px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(12px,1.4vw,16px);
  overflow:hidden;
}
.logo-marquee .logo-marquee-item img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain;
  object-position:center;
}
@media (prefers-reduced-motion:reduce){.logo-marquee-track{animation:none}}
@media (max-width:720px){.logo-marquee-item{flex-basis:154px;height:84px}}

/* Chapters and content rows. */
.r2-system .chapter{
  position:relative;
  padding:clamp(128px,16vh,190px) 0!important;
  border-top:0!important;
  border-bottom:1px solid var(--r2-line)!important;
  background:var(--r2-bg)!important;
}
.r2-system .chapter.band-dark{
  background:var(--r2-dark)!important;
  color:var(--r2-on-dark)!important;
  border-bottom:none!important;
}
.ch-grid{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  gap:clamp(76px,7vw,112px);
  align-items:start;
}
.ch-marker{position:sticky;top:110px}
.ch-num{
  display:inline-block;
  min-width:2.55ch;
  font-family:var(--r2-sans);
  font-weight:500;
  font-size:clamp(4.5rem,8vw,7.5rem);
  line-height:.9;
  color:transparent!important;
  -webkit-text-stroke:1px var(--r2-gold);
}
.ch-label{margin-top:18px}
.ch-head,
.section-head{
  max-width:880px;
  margin-bottom:clamp(72px,8vh,104px)!important;
  display:block!important;
  border-left:0!important;
  padding-left:0!important;
}
.ch-head h2,
.section-head h2,
.r2-system h2.display,
.r2-system section h2.display{
  font-size:clamp(2.6rem,5vw,4.4rem)!important;
  line-height:1.02!important;
  margin-bottom:24px;
}
.r2-system h3.display,
.r2-system section h3.display,
.r2-system .card h3,
.r2-system .service-card h3,
.r2-system .price-card h3,
.r2-system .topic-card h3{
  font-size:clamp(1.8rem,3vw,2.8rem)!important;
  line-height:1.05!important;
}
.section-head .eyebrow::before,
.eyebrow::before{background:var(--r2-gold)!important}
.r2-ch-content > .section-head:first-child{margin-bottom:clamp(72px,8vh,104px)!important}

.r2-system .service-grid,
.r2-system .topics-grid,
.r2-system .post-grid,
.r2-system .pricing-grid,
.r2-system .scope-grid,
.r2-system .proof-grid,
.r2-system .card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(24px,3vw,44px)!important;
  background:transparent!important;
  border:0!important;
  align-items:stretch;
}
.r2-system .card,
.r2-system .service-card,
.r2-system .topic-card,
.r2-system .price-card,
.r2-system .post-card,
.r2-system .proof-card,
.r2-system .scope-card{
  background:rgba(253,252,250,.66)!important;
  border:1px solid var(--r2-line-soft)!important;
  border-radius:6px!important;
  box-shadow:none!important;
  padding:clamp(38px,4vw,58px)!important;
  min-height:100%;
}
.r2-system .card p,
.r2-system .service-card p,
.r2-system .topic-card p,
.r2-system .price-card p,
.r2-system .post-card p{color:var(--r2-ink-2)!important}

body.r2-system :is(
  .split-grid,
  .price-grid,
  .process-grid,
  .intent-table,
  .intent-row,
  .panel-grid,
  .feature-grid,
  .proof-grid,
  .reference-layout,
  .quote-list,
  .visibility-panel,
  .faq-shell
){
  background:transparent!important;
  border:0!important;
  gap:clamp(24px,3vw,44px)!important;
}

body.r2-system :is(
  .split-col,
  .price-card,
  .process-card,
  .step,
  .feature-card,
  .feature-col,
  .problem-card,
  .benefit-card,
  .branch-card,
  .branch-option,
  .quote,
  .quote-card,
  .faq-item,
  details,
  .visibility-copy,
  .visibility-form-card,
  .intent-row > div,
  .matrix-row > div,
  .reference-card
){
  background:rgba(253,252,250,.66)!important;
  border:1px solid var(--r2-line-soft)!important;
  border-radius:6px!important;
  box-shadow:none!important;
  padding:clamp(34px,3.6vw,54px)!important;
}

body.r2-system :is(.service-card,.card,.price-card,.split-col,.feature-col,.step) :is(ul,ol){
  border-top:1px solid var(--r2-line-soft)!important;
  margin-top:clamp(24px,3vw,34px)!important;
  padding-top:clamp(18px,2vw,26px)!important;
}

.svc-rows,
.proc-rows{border-top:1px solid var(--r2-line)}
.svc-row,
.proc-row{
  display:grid;
  grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);
  gap:50px;
  align-items:start;
  padding:54px 0;
  border-bottom:1px solid var(--r2-line);
}
.svc-row .idx,
.proc-row .pnum,
.step-num,
.card-num{
  font-family:var(--r2-sans)!important;
  font-weight:650!important;
  color:var(--r2-gold)!important;
}
.svc-row .idx{font-size:1.3rem;padding-top:14px}
.svc-row .idx span{display:block;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--r2-ink-3);margin-top:8px}
.svc-row h3{font-size:clamp(2.2rem,4vw,3.6rem)!important;line-height:1}
.svc-row .body p,
.proc-row p{color:var(--r2-ink-2)!important}
.svc-row ul{list-style:none}
.svc-row li{padding:9px 0;border-top:1px solid var(--r2-line-soft);display:flex;gap:12px;align-items:baseline;color:var(--r2-ink-2)}
.svc-row li::before{content:"—";color:var(--r2-gold);flex:none}
.proc-row{grid-template-columns:200px minmax(0,1fr) minmax(0,1.2fr);align-items:center;padding:30px 0}
.proc-row .pnum{
  font-size:clamp(4rem,8vw,7rem);
  line-height:1;
  color:transparent!important;
  -webkit-text-stroke:1px var(--r2-ink-3);
}
.proc-row:hover .pnum{color:var(--r2-gold)!important;-webkit-text-stroke-color:var(--r2-gold)}

.r2-system .band-dark .lede,
.r2-system .band-dark p,
.r2-system .band-dark li{color:var(--r2-on-dark-soft)!important}
.r2-system .band-dark strong,
.r2-system .band-dark h2,
.r2-system .band-dark h3{color:var(--r2-on-dark)!important}

.r2-system .band-dark :is(
  .split-col,
  .branch-card,
  .branch-option,
  .matrix-row > div,
  .process-card,
  .service-card,
  .topic-card,
  .post-card,
  .price-card,
  .quote-card,
  .feature-card,
  .problem-card,
  .benefit-card,
  .hub-panel,
  .serp-card,
  .visibility-copy,
  .visibility-form-card,
  .faq-item,
  details
){
  background:var(--r2-card)!important;
  color:var(--r2-ink)!important;
  border-color:var(--r2-line)!important;
}
.r2-system .band-dark :is(
  .split-col,
  .branch-card,
  .branch-option,
  .matrix-row > div,
  .process-card,
  .service-card,
  .topic-card,
  .post-card,
  .price-card,
  .quote-card,
  .feature-card,
  .problem-card,
  .benefit-card,
  .hub-panel,
  .serp-card,
  .visibility-copy,
  .visibility-form-card,
  .faq-item,
  details
) :is(p,li,.lede,.small,span){
  color:var(--r2-muted)!important;
}
.r2-system .band-dark :is(
  .split-col,
  .branch-card,
  .branch-option,
  .matrix-row > div,
  .process-card,
  .service-card,
  .topic-card,
  .post-card,
  .price-card,
  .quote-card,
  .feature-card,
  .problem-card,
  .benefit-card,
  .hub-panel,
  .serp-card,
  .visibility-copy,
  .visibility-form-card,
  .faq-item,
  details
) :is(h2,h3,h4,strong,.display,.matrix-key){
  color:var(--r2-ink)!important;
}

body.r2-system .chapter.band-dark :is(.split-col,.branch-card,.branch-option,.matrix-row > div,.process-card,.service-card,.topic-card,.post-card,.price-card,.quote-card,.feature-card,.problem-card,.benefit-card,.hub-panel,.serp-card,.visibility-copy,.visibility-form-card,.faq-item,details){
  background:var(--r2-card)!important;
  color:var(--r2-ink)!important;
  border-color:var(--r2-line)!important;
}
body.r2-system .chapter.band-dark :is(.split-col,.branch-card,.branch-option,.matrix-row > div,.process-card,.service-card,.topic-card,.post-card,.price-card,.quote-card,.feature-card,.problem-card,.benefit-card,.hub-panel,.serp-card,.visibility-copy,.visibility-form-card,.faq-item,details) :is(p,li,.lede,.small,span){
  color:var(--r2-muted)!important;
}
body.r2-system .chapter.band-dark :is(.split-col,.branch-card,.branch-option,.matrix-row > div,.process-card,.service-card,.topic-card,.post-card,.price-card,.quote-card,.feature-card,.problem-card,.benefit-card,.hub-panel,.serp-card,.visibility-copy,.visibility-form-card,.faq-item,details) :is(h2,h3,h4,strong,.display,.matrix-key){
  color:var(--r2-ink)!important;
}

.r2-system .faq-item,
.r2-system details{
  border-top:1px solid var(--r2-line)!important;
  background:transparent!important;
  border-radius:0!important;
}
.r2-system .faq-item:last-child,
.r2-system details:last-child{border-bottom:1px solid var(--r2-line)!important}
.r2-system .faq-item summary,
.r2-system details summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  justify-content:normal;
  gap:clamp(14px,2vw,30px);
  align-items:baseline;
  min-width:0;
  max-width:100%;
  overflow-x:clip;
  overflow-wrap:anywhere;
  hyphens:auto;
  padding:32px 0;
  font-size:clamp(1.5rem,2.6vw,2.2rem)!important;
  line-height:1.15!important;
}
.r2-system summary::-webkit-details-marker{display:none}
.r2-system summary::marker{content:"";font-size:0}
.r2-system summary:hover{color:var(--r2-gold-deep)!important;font-style:italic}
.r2-system .faq-list,
.r2-system .faq-wrap,
.r2-system .faq-item,
.r2-system details{overflow-x:clip}
.faq-a,
.answer{padding:0 0 36px;color:var(--r2-ink-2);max-width:62ch}

/* Finale and forms. */
.r2-system .finale{
  background:var(--r2-dark)!important;
  color:var(--r2-on-dark)!important;
  padding:16vh 0 0!important;
  border:0!important;
  /* flow-root contains child margins (e.g. .finale-links margin-bottom) so they
     can't collapse out of the dark section and expose the body background */
  display:flow-root;
}
.finale{display:flow-root}
.finale > .wrap > :last-child,
.finale .finale-links:last-child{margin-bottom:0}
.finale .finale-links{padding-bottom:10vh}
.r2-system .finale .micro,
.r2-system .finale .eyebrow{color:var(--r2-gold)!important;margin-bottom:30px}
.r2-system .finale h2,
.r2-system .finale h3{
  color:var(--r2-on-dark)!important;
  font-size:clamp(3rem,7.5vw,6.8rem)!important;
  line-height:.98!important;
  max-width:14ch;
  margin-bottom:30px;
}
.r2-system .finale h3{font-size:clamp(2rem,4vw,3.8rem)!important}
.r2-system .finale .lede,
.r2-system .finale p,
.r2-system .finale li{color:var(--r2-on-dark-soft)!important}
.finale .biglink,
.finale .btn,
.finale .direct-link,
.finale .form-submit,
.finale button[type="submit"],
.band-dark .biglink,
.band-dark .btn{
  color:var(--r2-on-dark)!important;
  border-color:rgba(243,238,229,.25)!important;
}
.finale .biglink:hover,
.finale .btn:hover,
.finale .direct-link:hover,
.finale .form-submit:hover,
.finale button[type="submit"]:hover,
.band-dark .biglink:hover,
.band-dark .btn:hover{
  color:var(--r2-gold)!important;
  border-color:var(--r2-gold)!important;
}
.finale-links{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:8vh}
.finale-channels,
.direct-links{
  border-top:1px solid rgba(243,238,229,.15);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
}
.fchannel,
.contact-item{
  padding:30px 30px 34px 0;
  border-right:1px solid rgba(243,238,229,.1);
  display:block;
}
.fchannel + .fchannel{padding-left:30px}
.fchannel .k,
.contact-label{font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--r2-gold);margin-bottom:10px}
.fchannel .v,
.contact-value{font-family:var(--r2-sans)!important;font-size:clamp(1.05rem,1.3vw,1.25rem);font-weight:650;line-height:1.25;color:var(--r2-on-dark)}

.analysis-form,
.visibility-panel,
.visibility-form-card{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.analysis-form{
  display:grid;
  gap:18px;
  max-width:620px;
  margin-top:30px;
}
.analysis-form :is(button[type="submit"],.form-submit){
  min-inline-size:min(100%,13.5rem);
}
[data-form-status]{
  display:block;
  min-block-size:4.25rem;
  margin-top:10px;
}
[data-form-status][hidden]{
  display:block!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.form-field{display:grid;gap:8px}
label{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--r2-ink-3)}
.finale label{color:var(--r2-on-dark-soft)}
input,
textarea,
select{
  width:100%;
  max-width:100%;
  border:0!important;
  border-bottom:1px solid var(--r2-line)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--r2-ink)!important;
  padding:12px 0!important;
}
.finale input,
.finale textarea,
.finale select{
  color:var(--r2-on-dark)!important;
  border-bottom-color:rgba(243,238,229,.25)!important;
}
input:focus,
textarea:focus,
select:focus,
button:focus-visible,
a:focus-visible{
  outline:1px solid var(--r2-gold);
  outline-offset:3px;
}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Footer and mobile conversion. */
.r2-system .mobile-cta-bar,
.r2-home .mobile-cta-bar{display:none!important}
.mobile-cta{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:690;
  display:none;
  grid-template-columns:1fr 1fr 1.3fr;
  gap:8px;
  background:var(--r2-dark);
  border-top:1px solid rgba(243,238,229,.18);
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
}
a.mobile-cta{
  grid-template-columns:none!important;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:58px;
  font-family:var(--r2-sans)!important;
  font-size:1.25rem;
  color:#fff!important;
  background:var(--r2-gold)!important;
}
.mobile-cta a{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:13px 8px;
  font-size:13.5px;
  font-weight:600;
  color:var(--r2-on-dark);
  border:1px solid rgba(243,238,229,.25);
  line-height:1.2;
  text-align:center;
}
.mobile-cta a.primary{
  background:var(--r2-gold)!important;
  border-color:var(--r2-gold)!important;
  color:#fff!important;
}

.r2-global-topbar{
  background:rgba(33,27,19,.94)!important;
  border-bottom-color:rgba(243,238,229,.12)!important;
}
.r2-global-topbar a:hover,
.r2-global-topbar a[aria-current="page"]{color:var(--r2-gold)!important}
footer{background:var(--r2-dark)!important;border-top-color:rgba(243,238,229,.12)!important}
.footer-logo img{filter:invert(1)!important;mix-blend-mode:screen!important}
.footer-links a:hover,
.footer-nap__phone,
.footer-map__route,
.foot-bottom a,
.foot-col h4{color:var(--r2-gold)!important}
.footer-map__load{
  background:transparent!important;
  border:1px solid var(--r2-gold)!important;
  color:var(--r2-gold)!important;
}

.faq-item,
.faq-list,
details{
  min-width:0;
  overflow-x:clip;
}
.faq-item summary,
.faq-list summary,
details summary{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  overflow-x:clip;
  overflow-wrap:anywhere;
  word-break:normal;
}
.faq-item summary::-webkit-details-marker,
.faq-list summary::-webkit-details-marker,
details summary::-webkit-details-marker{
  display:none;
}
.faq-item summary::marker,
.faq-list summary::marker,
details summary::marker{
  content:"";
  font-size:0;
}
.faq-item summary .ind,
.faq-list summary::after,
details summary::after{
  flex:none;
}

@media(max-width:1100px){
  .ch-index{display:none}
}

@media(max-width:980px){
  .hero-grid,
  .ch-grid,
  .svc-row{
    grid-template-columns:1fr!important;
    gap:36px;
  }
  .ch-marker{position:static;display:flex;align-items:baseline;gap:20px}
  .ch-num{font-size:3.4rem}
  .ch-label{margin-top:0}
  .chapter{padding:10vh 0!important}
  .hero-foot-grid{grid-template-columns:1fr 1fr!important}
  .hstat{padding:18px 20px 18px 0}
  .hstat + .hstat{padding-left:20px}
  .hstat:nth-child(2){border-right:none}
}

@media(max-width:880px){
  .proc-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
  }
  .proc-row .pnum{
    grid-row:auto!important;
    font-size:3rem!important;
  }
  .proc-row p{
    grid-column:auto!important;
    max-width:none!important;
  }
}

@media(max-width:860px){
  .head-right .hide-m{display:none}
  .nav-burger{display:block}
  .mobile-cta{display:grid}
  a.mobile-cta{display:flex}
  body.r2-system{padding-bottom:72px}
}

@media(max-width:720px){
  .wrap{padding-left:22px!important;padding-right:22px!important}
  .r2-system .hero-name{font-size:clamp(1.9rem,7vw,2.7rem)!important;max-width:100%}
  .r2-system .hero-frankfurt{font-size:clamp(2.2rem,11vw,4rem)!important}
  .r2-system .hero-sub{font-size:1.55rem!important}
  .r2-system .service-grid,
  .r2-system .topics-grid,
  .r2-system .post-grid,
  .r2-system .pricing-grid,
  .r2-system .scope-grid,
  .r2-system .proof-grid,
  .r2-system .card-grid,
  .finale-channels,
  .direct-links{
    grid-template-columns:1fr!important;
  }
  .fchannel,
  .fchannel + .fchannel,
  .contact-item{
    padding-left:0;
    padding-right:0;
    border-right:0;
    border-bottom:1px solid rgba(243,238,229,.1);
  }
}

@media(max-width:560px){
  .hero-foot-grid{grid-template-columns:1fr!important}
  .hstat,
  .hstat + .hstat{padding-left:0!important;padding-right:0!important;border-right:0!important}
  .mobile-cta{grid-template-columns:1fr 1fr!important}
  .mobile-cta a:last-child{grid-column:1 / -1}
}

/* ── Hero reference preview ──
   Conversion: surface a real client reference next to the hero headline.
   Sits in the hero-grid's right column, stacked above the trust stats. */
.r2-system .hero-aside{
  display:flex;
  flex-direction:column;
  gap:clamp(20px,2.4vw,30px);
  min-width:0;
  align-self:center;
}
.r2-system .hero-ref-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  min-width:0;
}
.r2-system .hero-ref{
  display:block;
  background:var(--r2-card);
  border:1px solid var(--r2-line);
  box-shadow:0 26px 60px -34px rgba(34,28,20,.5);
  transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.r2-system .hero-ref:hover{
  border-color:var(--r2-gold);
  transform:translateY(-3px);
  box-shadow:0 34px 70px -32px rgba(34,28,20,.55);
}
.r2-system .hero-ref-bar{
  display:flex;
  align-items:center;
  gap:7px;
  padding:11px 15px;
  border-bottom:1px solid var(--r2-line);
}
.r2-system .hero-ref-bar i{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--r2-line-2);
  flex:0 0 auto;
}
.r2-system .hero-ref-url{
  margin-left:9px;
  font-family:var(--r2-sans)!important;
  font-size:11.5px;
  letter-spacing:.02em;
  color:var(--r2-ink-3);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.r2-system .hero-ref-shot{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--r2-bg-soft);
}
.r2-system .hero-ref-shot img{
  width:100%!important;
  height:100%!important;
  object-fit:cover;
  object-position:top center;
  display:block;
}
.r2-system .hero-ref-cap{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:16px 18px 18px;
  border-top:1px solid var(--r2-line);
}
.r2-system .hero-ref-cap .k{
  font-family:var(--r2-sans)!important;
  font-size:10px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--r2-gold)!important;
}
.r2-system .hero-ref-cap .v{
  font-family:var(--r2-sans)!important;
  font-size:clamp(1rem,1.2vw,1.15rem);
  font-weight:650;
  line-height:1.15;
  color:var(--r2-ink);
}
.r2-system .hero-ref-go{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:2px;
  font-family:var(--r2-sans)!important;
  font-size:11px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--r2-ink-3);
}
.r2-system .hero-ref:hover .hero-ref-cap .v{color:var(--r2-gold-deep);font-style:italic}
.r2-system .hero-ref:hover .hero-ref-go{color:var(--r2-gold)}
.r2-system .hero-ref-go .arr{transition:transform .22s ease}
.r2-system .hero-ref:hover .hero-ref-go .arr{transform:translate(3px,-3px)}
.r2-system .hero-ref-list .hero-ref-shot{aspect-ratio:16/10}
.r2-system .hero-ref-list .hero-ref-bar{padding:9px 11px}
.r2-system .hero-ref-list .hero-ref-url{font-size:10.5px;margin-left:5px}
.r2-system .hero-ref-list .hero-ref-cap{padding:13px 14px 15px}
.r2-system .hero-ref-list .hero-ref-cap .k{font-size:9px;letter-spacing:.14em}
.r2-system .hero-ref-list .hero-ref-cap .v{font-size:clamp(1rem,1.2vw,1.15rem)}

@media(max-width:980px){
  .r2-system .hero-aside{align-self:stretch;gap:28px}
}

@media(max-width:620px){
  .r2-system .hero-ref-list{grid-template-columns:1fr}
}

/* ── Ansprechpartner-Foto ──
   Auf Hub-/Stadtseiten liegt das .person-photo direkt in .r2-ch-content
   (der .person-grid-Wrapper ist dort leer), wodurch das quadratische Bild
   die volle Spaltenbreite einnimmt und riesig wird. Größe kappen + 2-Spalten. */
.r2-system .r2-ch-content > .person-photo{
  margin:0;
  max-width:340px;
  aspect-ratio:1/1;
  overflow:hidden;
  border:1px solid var(--r2-line);
  background:var(--r2-card);
  padding:10px;
}
.r2-system .r2-ch-content > .person-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover;
  object-position:center top;
}
.r2-system .r2-ch-content:has(> .person-photo){
  display:grid;
  grid-template-columns:340px minmax(0,1fr);
  gap:clamp(32px,4vw,56px);
  align-items:center;
}
@media(max-width:900px){
  .r2-system .r2-ch-content:has(> .person-photo){grid-template-columns:1fr}
  .r2-system .r2-ch-content > .person-photo{max-width:300px}
}

/* ── Referenz-Bild ──
   Gleicher Bug wie beim Ansprechpartner-Foto: .reference-image liegt flach in
   .r2-ch-content (der .reference-layout-Wrapper ist leer) → Bild wird full-width.
   2-Spalten wiederherstellen (spiegelt das Original-.reference-layout). */
.r2-system .r2-ch-content > .reference-image{max-width:100%;margin:0}
.r2-system .r2-ch-content:has(> .reference-image){
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:42px;
  align-items:center;
}
@media(max-width:900px){
  .r2-system .r2-ch-content:has(> .reference-image){grid-template-columns:1fr}
}


/* Final visual polish loaded from the document head after page-local styles. */

.hero-frankfurt,
body.r2-system .hero-frankfurt{
  display:none!important;
}

body.r2-service .hero-frankfurt{
  display:none!important;
}

body.r2-system .hero [data-rev],
body.r2-system #hero [data-rev],
body.r2-system #start [data-rev],
body.r2-service .hero [data-rev],
body.r2-service #hero [data-rev],
body.r2-service #start [data-rev]{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}

body.r2-system main > section.chapter,
body.r2-system main > section:not(.hero):not(#hero):not(#start):not(:first-of-type),
body.r2-service main > section:not(.hero):not(#hero):not(#start):not(:first-of-type){
  content-visibility:auto!important;
  contain-intrinsic-size:auto 900px!important;
}

body.r2-system main > section.hero,
body.r2-system main > section#hero,
body.r2-system main > section#start,
body.r2-service main > section.hero,
body.r2-service main > section#hero,
body.r2-service main > section#start{
  content-visibility:visible!important;
  contain-intrinsic-size:auto!important;
}

body.r2-system .reveal{
  transition-property:opacity,transform!important;
}

@media(prefers-reduced-motion:reduce){
  body.r2-system :is(.topic-track,.marquee,.marquee-track),
  body.r2-service :is(.topic-track,.marquee,.marquee-track){
    animation:none!important;
    transform:none!important;
  }
}

body.r2-system .hero{
  min-height:auto!important;
  padding-bottom:clamp(56px,7vw,88px)!important;
}

body.r2-system .hero-grid{
  align-items:center!important;
  margin-bottom:clamp(34px,5vw,60px)!important;
}

body.r2-system .hero-name{
  margin-bottom:clamp(14px,2vw,24px)!important;
}

body.r2-system .hero-actions{
  margin-top:clamp(20px,2.4vw,32px)!important;
}

@media(min-width:981px){
  body.r2-system .hero-copy,
  body.r2-service .hero-copy{
    margin-top:clamp(-56px,-3.6vw,-36px)!important;
  }
}

body.r2-system .hero-foot{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  border-top:1px solid var(--r2-line)!important;
  background:transparent!important;
  margin-top:clamp(24px,3.4vw,44px)!important;
}

body.r2-system .hero-foot > div{
  min-width:0!important;
  padding:clamp(24px,2.6vw,32px) clamp(32px,3.8vw,54px)!important;
  border-right:1px solid var(--r2-line)!important;
}

body.r2-system .hero-foot > div:first-child{
  padding-left:0!important;
}

body.r2-system .hero-foot > div:last-child{
  border-right:0!important;
  padding-right:0!important;
}

body.r2-system .hero-foot strong{
  display:block!important;
  font-family:var(--r2-sans)!important;
  font-size:clamp(1.55rem,2vw,2rem)!important;
  font-weight:550!important;
  line-height:1!important;
  white-space:nowrap!important;
  color:var(--r2-ink)!important;
}

body.r2-system .hero-foot span{
  display:block!important;
  margin-top:8px!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
  line-height:1.25!important;
  text-transform:uppercase!important;
  color:var(--r2-ink-3)!important;
  overflow-wrap:anywhere!important;
}

body.r2-system .system-strip{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:10px 34px!important;
  padding:18px max(22px,calc((100vw - var(--r2-max,1360px)) / 2 + 48px))!important;
  border-top:1px solid var(--r2-line)!important;
  background:var(--r2-bg-soft)!important;
  color:var(--r2-ink-2)!important;
}

body.r2-system .system-strip > div{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:7px!important;
  min-width:0!important;
}

body.r2-system .system-strip > div:not(.wrap):not(.system-strip-row),
body.r2-service .system-strip > div:not(.wrap):not(.system-strip-row){
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  flex:0 1 auto!important;
}

body.r2-system .system-strip strong{
  font-family:var(--r2-sans)!important;
  font-size:1.2rem!important;
  font-weight:650!important;
  color:var(--r2-gold)!important;
}

body.r2-system .system-strip span{
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:var(--r2-ink-3)!important;
}

body.r2-system :is(.price-grid,.pricing-grid){
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(18px,2.2vw,30px)!important;
  background:transparent!important;
  border:0!important;
  margin-top:clamp(36px,5vw,64px)!important;
}

body.r2-system :is(.price-card,.pricing-card){
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:100%!important;
  padding:clamp(28px,3vw,40px)!important;
  background:var(--r2-card)!important;
  border:1px solid var(--r2-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:var(--r2-ink)!important;
}

body.r2-system :is(.price-card,.pricing-card) :is(h3,.price-value){
  color:var(--r2-ink)!important;
}

body.r2-system :is(.price-card,.pricing-card) :is(p,li,.price-note){
  color:var(--r2-ink-2)!important;
}

body.r2-system .price-value{
  font-family:var(--r2-sans)!important;
  font-size:clamp(2.4rem,4vw,3.6rem)!important;
  font-weight:650!important;
  line-height:1.02!important;
  margin:18px 0 18px!important;
  overflow-wrap:anywhere!important;
}

body.r2-system .price-kicker{
  font-family:var(--r2-sans)!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:var(--r2-gold)!important;
}

body.r2-system .finale :is(.visibility-panel,.analysis-panel){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)!important;
  gap:clamp(34px,5vw,72px)!important;
  margin-top:clamp(44px,6vw,64px)!important;
  padding:clamp(38px,5vw,58px) 0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(243,238,229,.18)!important;
  border-bottom:1px solid rgba(243,238,229,.18)!important;
  box-shadow:none!important;
  text-align:left!important;
}

body.r2-system .finale .cta-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)!important;
  gap:clamp(34px,5vw,72px)!important;
  margin-top:clamp(44px,6vw,64px)!important;
  padding:clamp(38px,5vw,58px) 0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(243,238,229,.18)!important;
  border-bottom:1px solid rgba(243,238,229,.18)!important;
  box-shadow:none!important;
  text-align:left!important;
}

body.r2-system .finale :is(.visibility-copy,.visibility-form-card,.analysis-copy,.analysis-form-card){
  min-width:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--r2-on-dark)!important;
}

body.r2-system .finale :is(.cta-copy,.cta-links,.cta-form){
  min-width:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--r2-on-dark)!important;
}

body.r2-system .finale :is(.visibility-copy,.visibility-form-card,.analysis-copy,.analysis-form-card) :is(h2,h3,h4,.display,strong){
  color:var(--r2-on-dark)!important;
}

body.r2-system .finale :is(.cta-copy,.cta-links,.cta-form) :is(h2,h3,h4,.display,strong){
  color:var(--r2-on-dark)!important;
}

body.r2-system .finale :is(.visibility-copy,.visibility-form-card,.analysis-copy,.analysis-form-card) :is(p,li,.lede,.small,.form-microcopy){
  color:var(--r2-on-dark-soft)!important;
}

body.r2-system .finale :is(.cta-copy,.cta-links,.cta-form) :is(p,li,.lede,.small,.form-microcopy,label){
  color:var(--r2-on-dark-soft)!important;
}

body.r2-system .finale :is(.cta-copy,.cta-links,.cta-form) .section-icon{
  background:rgba(243,238,229,.06)!important;
  border-color:rgba(243,238,229,.18)!important;
  box-shadow:none!important;
}

body.r2-system .finale .contact-item{
  background:transparent!important;
  border-color:rgba(243,238,229,.16)!important;
  color:var(--r2-on-dark)!important;
}

body.r2-system .finale .contact-item :is(.contact-label,span,p){
  color:var(--r2-on-dark-soft)!important;
}

body.r2-system .finale .contact-item :is(.contact-value,strong){
  color:var(--r2-on-dark)!important;
}

body.r2-system .finale .visibility-list{
  display:grid!important;
  gap:0!important;
  margin:28px 0!important;
  padding:0!important;
  list-style:none!important;
  border-top:1px solid rgba(243,238,229,.14)!important;
}

body.r2-system .finale .visibility-list li{
  padding:13px 0!important;
  border-bottom:1px solid rgba(243,238,229,.1)!important;
}

body.r2-system .finale .direct-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 26px!important;
  border-top:1px solid rgba(243,238,229,.15)!important;
  background:transparent!important;
}

body.r2-system .finale .direct-link{
  display:block!important;
  padding:16px 0!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(243,238,229,.14)!important;
  color:var(--r2-on-dark)!important;
}

body.r2-system .finale .direct-link span{
  display:block!important;
  color:var(--r2-gold)!important;
}

body.r2-system .finale .direct-link strong{
  display:block!important;
  color:var(--r2-on-dark)!important;
  overflow-wrap:anywhere!important;
}

body.r2-system .finale :is(input,textarea,select){
  color:var(--r2-on-dark)!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(243,238,229,.28)!important;
}

body.r2-system .finale :is(input,textarea,select)::placeholder{
  color:rgba(243,238,229,.38)!important;
}

body.r2-system .finale label{
  color:var(--r2-on-dark-soft)!important;
}

body.r2-service .finale{
  background:var(--r2-dark,#211b13)!important;
  color:var(--r2-on-dark,#f3eee5)!important;
}

body.r2-service .finale :is(.visibility-panel,.analysis-panel,.cta-panel){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)!important;
  gap:clamp(34px,5vw,72px)!important;
  margin-top:clamp(44px,6vw,64px)!important;
  padding:clamp(38px,5vw,58px) 0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(243,238,229,.18)!important;
  border-bottom:1px solid rgba(243,238,229,.18)!important;
  box-shadow:none!important;
  text-align:left!important;
}

body.r2-service .finale :is(.visibility-copy,.visibility-form-card,.analysis-copy,.analysis-form-card,.cta-copy,.cta-links,.cta-form,.cta-left,.cta-right){
  min-width:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--r2-on-dark,#f3eee5)!important;
}

body.r2-service .finale :is(.visibility-copy,.visibility-form-card,.analysis-copy,.analysis-form-card,.cta-copy,.cta-links,.cta-form,.cta-left,.cta-right) :is(h2,h3,h4,.display,strong){
  color:var(--r2-on-dark,#f3eee5)!important;
}

body.r2-service .finale :is(.visibility-copy,.visibility-form-card,.analysis-copy,.analysis-form-card,.cta-copy,.cta-links,.cta-form,.cta-left,.cta-right) :is(p,li,.lede,.small,.form-microcopy,label){
  color:var(--r2-on-dark-soft,rgba(243,238,229,.72))!important;
}

body.r2-service .finale :is(.form-field input,.form-field textarea,.form-field select,input,textarea,select){
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(243,238,229,.28)!important;
  color:var(--r2-on-dark,#f3eee5)!important;
  box-shadow:none!important;
}

body.r2-service .finale :is(.direct-link,.biglink,.btn,.form-submit,button[type="submit"]){
  color:var(--r2-on-dark,#f3eee5)!important;
  border-color:rgba(243,238,229,.28)!important;
}

body.r2-system #sichtbarkeitsanalyse.finale .visibility-panel{
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(243,238,229,.18)!important;
  border-bottom:1px solid rgba(243,238,229,.18)!important;
  box-shadow:none!important;
  gap:clamp(34px,5vw,72px)!important;
  padding:clamp(38px,5vw,58px) 0!important;
  text-align:left!important;
}

body.r2-system #sichtbarkeitsanalyse.finale :is(.visibility-copy,.visibility-form-card){
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--r2-on-dark)!important;
  padding:0!important;
}

body.r2-system #sichtbarkeitsanalyse.finale :is(.visibility-copy,.visibility-form-card) :is(h2,h3,h4,.display,strong){
  color:var(--r2-on-dark)!important;
}

body.r2-system #sichtbarkeitsanalyse.finale :is(.visibility-copy,.visibility-form-card) :is(p,li,.lede,.small,.form-microcopy){
  color:var(--r2-on-dark-soft)!important;
}

body.r2-system #sichtbarkeitsanalyse.finale .direct-links{
  gap:0 26px!important;
  border-top:1px solid rgba(243,238,229,.15)!important;
  background:transparent!important;
}

body.r2-system #sichtbarkeitsanalyse.finale .direct-link{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(243,238,229,.14)!important;
  color:var(--r2-on-dark)!important;
  padding:16px 0!important;
}

body.r2-system #sichtbarkeitsanalyse.finale .direct-link span{
  color:var(--r2-gold)!important;
}

body.r2-system #sichtbarkeitsanalyse.finale .direct-link strong{
  color:var(--r2-on-dark)!important;
}

body.r2-system #sichtbarkeitsanalyse.finale :is(.form-field input,.form-field textarea,.form-field select,input,textarea,select){
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(243,238,229,.28)!important;
  color:var(--r2-on-dark)!important;
  box-shadow:none!important;
}

body.r2-system #sichtbarkeitsanalyse.finale .form-field label{
  color:var(--r2-on-dark-soft)!important;
}

body.r2-system #sichtbarkeitsanalyse.finale .form-submit{
  color:var(--r2-on-dark)!important;
  border-color:rgba(243,238,229,.28)!important;
}

body.r2-system #sichtbarkeitsanalyse.finale :is(.form-status-success,.form-status-error){
  color:var(--r2-on-dark)!important;
}

.mobile-cta-bar,
body.r2-home .mobile-cta{
  display:none!important;
  visibility:hidden!important;
}

@media(max-width:860px){
  body,
  body.r2-home{
    padding-bottom:0!important;
  }
  body.r2-system,
  body.r2-service{
    padding-bottom:calc(62px + env(safe-area-inset-bottom))!important;
  }
}

img.section-icon{
  width:58px!important;
  height:58px!important;
  aspect-ratio:1 / 1!important;
  object-fit:contain!important;
}

footer{
  display:grid!important;
  grid-template-columns:minmax(170px,.9fr) minmax(170px,.8fr) minmax(240px,1.25fr)!important;
  grid-template-areas:
    "brand links map"
    "nap badge map"
    "copy copy copy"!important;
  align-items:start!important;
  gap:clamp(24px,3.5vw,56px) clamp(28px,4.5vw,72px)!important;
  width:100%!important;
  padding:clamp(48px,5.5vw,80px) clamp(24px,5vw,72px)!important;
  background:var(--r2-dark,#211b13)!important;
  color:var(--r2-on-dark,#f3eee5)!important;
  border-top:1px solid rgba(243,238,229,.12)!important;
}

.footer-logo{grid-area:brand!important}
.footer-nap{grid-area:nap!important}
.footer-links{grid-area:links!important}
.footer-map{grid-area:map!important}
.g-badge{grid-area:badge!important}
.footer-copy{grid-area:copy!important}

.footer-logo img{
  height:34px!important;
  width:auto!important;
  max-height:none!important;
  filter:invert(1)!important;
  mix-blend-mode:screen!important;
}

.footer-nap{
  max-width:340px!important;
  gap:7px!important;
}

.footer-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 30px!important;
  align-content:start!important;
}

.footer-links a,
.footer-nap,
.footer-copy,
.g-badge__meta{
  color:rgba(243,238,229,.64)!important;
}

.footer-nap__name,
.footer-nap__phone,
.footer-map__route,
.footer-links a:hover{
  color:var(--r2-gold,#9b7c4a)!important;
}

.footer-map{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  justify-self:stretch!important;
  border:1px solid rgba(243,238,229,.14)!important;
  background:rgba(255,255,255,.025)!important;
}

.footer-map__placeholder{
  min-height:240px!important;
  aspect-ratio:16 / 9!important;
}

.footer-map__load{
  background:transparent!important;
  border:1px solid var(--r2-gold,#9b7c4a)!important;
  color:var(--r2-gold,#9b7c4a)!important;
}

.g-badge{
  justify-self:start!important;
  align-self:start!important;
  border-radius:0!important;
  border-color:rgba(243,238,229,.16)!important;
}

.footer-copy{
  justify-self:end!important;
}

@media(max-width:980px){
  body.r2-system .hero-foot,
  body.r2-system :is(.price-grid,.pricing-grid){
    grid-template-columns:1fr!important;
  }

  body.r2-system .hero-foot > div{
    border-right:0!important;
    border-bottom:1px solid var(--r2-line)!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body.r2-system .hero-foot > div:last-child{
    border-bottom:0!important;
  }

  body.r2-system .finale :is(.visibility-panel,.analysis-panel,.cta-panel){
    grid-template-columns:1fr!important;
  }

  body.r2-service .finale :is(.visibility-panel,.analysis-panel,.cta-panel){
    grid-template-columns:1fr!important;
  }
}

/* Footer stacks at 1060px to prevent column-minimum overflow on mid-width desktops */
@media(max-width:1060px){
  footer{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:
      "brand links"
      "nap   badge"
      "map   map"
      "copy  copy"!important;
    gap:clamp(20px,3vw,40px) clamp(24px,4vw,56px)!important;
  }

  .footer-map{
    width:100%!important;
    max-width:none!important;
  }

  .footer-copy{
    justify-self:start!important;
  }
}

@media(max-width:680px){
  footer{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "brand"
      "nap"
      "links"
      "map"
      "badge"
      "copy"!important;
  }

  .footer-links{
    grid-template-columns:1fr!important;
  }

  .footer-copy{
    justify-self:start!important;
  }
}

@media(max-width:640px){
  body.r2-system .system-strip{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body.r2-system .finale .direct-links{
    grid-template-columns:1fr!important;
  }

  body.r2-system .price-value{
    font-size:clamp(2.2rem,13vw,3rem)!important;
  }

  body.r2-system .treat-table,
  body.r2-system .treat-table thead,
  body.r2-system .treat-table tbody,
  body.r2-system .treat-table tr,
  body.r2-system .treat-table th,
  body.r2-system .treat-table td{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    text-align:left!important;
  }

  body.r2-system .treat-table thead{
    display:none!important;
  }

  body.r2-system .treat-table tr{
    padding:16px 0!important;
    border-bottom:1px solid var(--r2-line,rgba(34,28,20,.14))!important;
  }

  body.r2-system .treat-table td{
    padding:5px 0!important;
  }

  body.r2-system .treat-table td:first-child{
    font-size:1.2rem!important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   CTA-System + Scroll/Lese-UX (site-weit, r2-system / r2-service)
   ════════════════════════════════════════════════════════════════════ */

/* ── Primäre CTAs als gefüllter Gold-Button ──
   Nur echte Conversion-Aktionen: Header-CTA, Analyse-/Sichtbarkeits-Anker,
   Calendly, Formular-Buttons. Telefon/Mail/„ansehen" bleiben dezent. */
body.r2-system .site-head .cta,
body.r2-system a.biglink[href="#analyse"],
body.r2-system a.biglink[href="#sichtbarkeitsanalyse"],
body.r2-system a.biglink[href*="calendly.com"],
body.r2-system .form-submit,
body.r2-system button[type="submit"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  width:auto!important;
  max-width:100%!important;
  min-height:0!important;
  padding:15px 28px!important;
  background:var(--r2-gold-deep)!important;
  color:#fff!important;
  border:1px solid var(--r2-gold-deep)!important;
  border-radius:0!important;
  font-family:var(--r2-sans)!important;
  font-size:15px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  line-height:1.25!important;
  text-transform:none!important;
  font-style:normal!important;
  box-shadow:0 12px 30px -14px rgba(126,98,56,.7)!important;
  transition:filter .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
body.r2-system .site-head .cta:hover,
body.r2-system a.biglink[href="#analyse"]:hover,
body.r2-system a.biglink[href="#sichtbarkeitsanalyse"]:hover,
body.r2-system a.biglink[href*="calendly.com"]:hover,
body.r2-system .form-submit:hover,
body.r2-system button[type="submit"]:hover{
  filter:brightness(1.1)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 18px 38px -14px rgba(126,98,56,.8)!important;
  color:#fff!important;
  font-style:normal!important;
}
body.r2-system .site-head .cta .arr,
body.r2-system a.biglink[href="#analyse"] .arr,
body.r2-system a.biglink[href="#sichtbarkeitsanalyse"] .arr,
body.r2-system a.biglink[href*="calendly.com"] .arr,
body.r2-system .form-submit .arr,
body.r2-system button[type="submit"] .arr{color:#fff!important}

/* Header-CTA kompakter */
body.r2-system .site-head .cta{
  padding:10px 18px!important;
  font-size:13.5px!important;
  box-shadow:0 8px 20px -12px rgba(126,98,56,.7)!important;
}
/* Auf Mobile übernimmt die Sticky-Leiste → Header-CTA ausblenden (hide-m respektieren) */
@media(max-width:860px){
  body.r2-system .site-head .cta.hide-m{display:none!important}
}

/* ── Hero-Aktionen als Button-Reihe ── */
body.r2-system .hero-actions,
body.r2-system .hero-links{
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:14px!important;
}
/* Sekundärer Hero-Button: gold umrandet (klar, aber subordiniert) */
body.r2-system .hero-actions .biglink.minor,
body.r2-system .hero-links .biglink.minor{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:auto!important;
  padding:14px 22px!important;
  background:transparent!important;
  color:var(--r2-gold-deep)!important;
  border:1px solid var(--r2-gold)!important;
  border-radius:0!important;
  font-family:var(--r2-sans)!important;
  font-size:14px!important;
  font-weight:600!important;
  text-transform:none!important;
  font-style:normal!important;
  transition:background .2s ease,color .2s ease!important;
}
body.r2-system .hero-actions .biglink.minor:hover,
body.r2-system .hero-links .biglink.minor:hover{
  background:var(--r2-gold)!important;
  color:#fff!important;
  font-style:normal!important;
}
body.r2-system .hero-actions .biglink.minor .arr,
body.r2-system .hero-links .biglink.minor .arr{color:inherit!important}

/* ── Übrige sekundäre Links: kräftigeres Gold (dezent) ── */
body.r2-system .biglink.minor{
  color:var(--r2-gold-deep)!important;
  border-bottom-color:var(--r2-gold)!important;
}

/* ── Mobile Sticky-CTA: „Analyse" als gefüllter Button ── */
body.r2-system .mobile-cta a[href="#analyse"],
body.r2-system .mobile-cta a[href="#sichtbarkeitsanalyse"]{
  background:var(--r2-gold)!important;
  border-color:var(--r2-gold)!important;
  color:#fff!important;
  font-weight:700!important;
}

/* ── Scroll-Fortschrittsbalken (CSS-only, progressive enhancement) ── */
@supports (animation-timeline: scroll()){
  body.r2-system::after{
    content:"";
    position:fixed;
    top:0;
    left:0;
    height:3px;
    width:100%;
    z-index:9999;
    transform-origin:0 50%;
    transform:scaleX(0);
    background:var(--r2-gold);
    pointer-events:none;
    animation:r2-scroll-progress linear both;
    animation-timeline:scroll(root);
  }
}
@keyframes r2-scroll-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ── Sanfte Reveal-Animationen beim Scrollen ──
   r2-home-system.js ergänzt .in/.visible an [data-rev]. Gate auf JS-Flag,
   damit Inhalte ohne JS sichtbar bleiben. Hero ist separat sichtbar (oben). */
@media (prefers-reduced-motion: no-preference){
  body.r2-system [data-rev]{
    transition:opacity .7s cubic-bezier(.16,.7,.3,1),transform .7s cubic-bezier(.16,.7,.3,1);
  }
  html[data-r2-home-system-loaded="1"] body.r2-system [data-rev].rev-pending:not(.in):not(.visible){
    opacity:0;
    transform:translateY(22px);
  }
}



/* R2 home cleanup: remove legacy hero outlines, old cards and image stretching. */
body.r2-home .hero-frankfurt{display:none!important}
body.r2-home .lx-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--line)!important;
  margin-top:clamp(24px,3vw,38px)!important;
}
body.r2-home .lx-card{
  display:grid!important;
  grid-template-columns:minmax(132px,.26fr) minmax(0,.74fr)!important;
  column-gap:clamp(24px,5vw,72px)!important;
  row-gap:12px!important;
  align-items:start!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:none!important;
  padding:clamp(22px,3vw,36px) 0!important;
}
body.r2-home .lx-card .lx-k{
  grid-column:1!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.16em!important;
  line-height:1.35!important;
  text-transform:uppercase!important;
  color:var(--gold)!important;
}
body.r2-home .lx-card h2{
  grid-column:2!important;
  font-family:var(--r2-sans,var(--sans))!important;
  font-size:clamp(1.35rem,2.2vw,2.05rem)!important;
  line-height:1.12!important;
  font-weight:650!important;
  color:var(--ink)!important;
  margin:0!important;
  letter-spacing:0!important;
}
body.r2-home .lx-card ul{
  grid-column:2!important;
  list-style:none!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 28px!important;
  padding:0!important;
  margin:4px 0 0!important;
}
body.r2-home .lx-card li{margin:0!important;padding:0!important}
body.r2-home .lx-card li a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  color:var(--ink-2)!important;
  font-size:15px!important;
  line-height:1.4!important;
  border-bottom:1px solid transparent!important;
}
body.r2-home .lx-card li a:hover{
  color:var(--gold)!important;
  border-color:var(--line-2,var(--line))!important;
}
body.r2-home [class*="robin-photo"]{
  background:transparent!important;
  aspect-ratio:auto!important;
}
body.r2-home [class*="robin-photo"] img[src*="Robin-Ringl-rZWEI-media"]{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
@media(max-width:860px){
  body.r2-home .lx-card{
    grid-template-columns:1fr!important;
    column-gap:0!important;
  }
  body.r2-home .lx-card .lx-k,
  body.r2-home .lx-card h2,
  body.r2-home .lx-card ul{
    grid-column:1!important;
  }
}
@media(max-width:560px){
  body.r2-home .lx-card ul{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
}
