/*
Theme Name: Ranking Rebell v3
Version: 2.0
*/
:root{--green:#39A751;--bg:#0a0f0a;--bg2:#111811;--bg3:#161d15;--text:#d2d7dc;--muted:#8a9490;--white:#fff;--border:rgba(57,167,81,.15);--r:8px;--rl:16px;--font:'Manrope',system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.rr-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(10,15,10,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:72px;display:flex;align-items:center}
.rr-nav{display:flex;align-items:center;justify-content:space-between;width:100%}
.rr-logo{font-size:1.25rem;font-weight:700;color:var(--white)}
.rr-logo span{color:var(--green)}
.rr-nav-links{display:flex;align-items:center;gap:32px}
.rr-nav-links a{font-size:.9rem;font-weight:500;color:var(--muted);transition:color .2s}
.rr-nav-links a:hover{color:var(--white)}
.rr-nav-cta{background:var(--green);color:var(--white)!important;padding:10px 20px;border-radius:var(--r);font-weight:600;font-size:.875rem}
.rr-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.rr-hamburger span{width:24px;height:2px;background:var(--text);border-radius:2px;display:block}
.rr-hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:72px}
.rr-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 60% 40%,rgba(57,167,81,.12) 0%,transparent 70%);pointer-events:none}
.rr-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;width:100%;padding:80px 0}
.rr-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(57,167,81,.1);border:1px solid rgba(57,167,81,.3);border-radius:100px;padding:6px 16px;font-size:.8rem;font-weight:600;color:var(--green);letter-spacing:.05em;text-transform:uppercase;margin-bottom:24px}
.rr-hero h1{font-size:clamp(2rem,4vw,3.25rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;color:var(--white);margin-bottom:24px}
.rr-hero h1 em{font-style:normal;color:var(--green)}
.rr-hero-sub{font-size:1.1rem;color:var(--muted);margin-bottom:40px;line-height:1.7;max-width:480px}
.rr-hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:56px}
.rr-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--r);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;border:none;text-decoration:none}
.rr-btn-primary{background:var(--green);color:var(--white)}
.rr-btn-primary:hover{background:#2f9946;transform:translateY(-2px);box-shadow:0 8px 24px rgba(57,167,81,.3)}
.rr-btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}
.rr-btn-secondary:hover{border-color:var(--green);color:var(--white)}
.rr-hero-stats{display:flex;gap:32px}
.rr-stat{display:flex;flex-direction:column;gap:4px}
.rr-stat-num{font-size:1.75rem;font-weight:800;color:var(--white);letter-spacing:-.03em;line-height:1}
.rr-stat-num span{color:var(--green)}
.rr-stat-label{font-size:.78rem;color:var(--muted);font-weight:500}
.rr-hero-visual{position:relative}
.rr-hero-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden}
.rr-hero-img{aspect-ratio:4/3;background:var(--bg3);display:flex;align-items:center;justify-content:center}
.rr-floating{position:absolute;bottom:-16px;left:24px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:12px 20px;display:flex;align-items:center;gap:12px}
.rr-floating-icon{width:36px;height:36px;background:rgba(57,167,81,.15);border-radius:8px;display:flex;align-items:center;justify-content:center}
.rr-floating-text strong{display:block;font-size:.95rem;font-weight:700;color:var(--white);line-height:1}
.rr-floating-text span{font-size:.75rem;color:var(--green);font-weight:500}
.rr-logos{padding:48px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.rr-logos-label{text-align:center;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.rr-logos-row{display:flex;justify-content:center;align-items:center;gap:48px;flex-wrap:wrap}
.rr-logo-item{font-size:.85rem;font-weight:700;color:rgba(138,148,144,.4);letter-spacing:.05em;text-transform:uppercase}
section{padding:96px 0}
.rr-section-tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:16px}
.rr-section-title{font-size:clamp(1.75rem,2vw,2.5rem);font-weight:800;color:var(--white);letter-spacing:-.03em;line-height:1.2;margin-bottom:20px}
.rr-section-sub{font-size:1rem;color:var(--muted);max-width:560px;line-height:1.7}
.rr-services{background:var(--bg2)}
.rr-services-header{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:64px}
.rr-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rr-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--rl);padding:32px;transition:all .3s;position:relative;overflow:hidden}
.rr-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--green);transform:scaleX(0);transition:transform .3s}
.rr-card:hover{border-color:rgba(57,167,81,.4);transform:translateY(-4px)}
.rr-card:hover::before{transform:scaleX(1)}
.rr-card-icon{width:52px;height:52px;background:rgba(57,167,81,.1);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.rr-card h3{font-size:1.1rem;font-weight:700;color:var(--white);margin-bottom:12px;letter-spacing:-.02em}
.rr-card p{font-size:.9rem;color:var(--muted);line-height:1.7}
.rr-card-link{display:inline-block;font-size:.85rem;color:var(--green);font-weight:600;margin-top:16px}
.rr-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.rr-why-visual{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:40px}
.rr-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.rr-metric{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:20px}
.rr-metric-val{font-size:2rem;font-weight:800;color:var(--white);letter-spacing:-.04em;line-height:1;margin-bottom:4px}
.rr-metric-val span{color:var(--green)}
.rr-metric-desc{font-size:.78rem;color:var(--muted);font-weight:500}
.rr-checklist{margin-top:32px;display:flex;flex-direction:column;gap:16px}
.rr-check{display:flex;align-items:flex-start;gap:16px}
.rr-check-icon{width:24px;height:24px;background:rgba(57,167,81,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.rr-check strong{display:block;font-size:.95rem;font-weight:700;color:var(--white);margin-bottom:4px}
.rr-check p{font-size:.85rem;color:var(--muted);line-height:1.6}
.rr-process{background:var(--bg2)}
.rr-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:64px}
.rr-step{position:relative}
.rr-step::after{content:'';position:absolute;top:20px;right:-12px;width:24px;height:1px;background:var(--border)}
.rr-step:last-child::after{display:none}
.rr-step-num{width:40px;height:40px;background:rgba(57,167,81,.1);border:1px solid rgba(57,167,81,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:var(--green);margin-bottom:20px}
.rr-step h4{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:8px}
.rr-step p{font-size:.85rem;color:var(--muted);line-height:1.6}
.rr-cta{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;padding:96px 0}
.rr-cta-inner{max-width:680px;margin:0 auto}
.rr-cta h2{font-size:clamp(1.75rem,2vw,2.75rem);font-weight:800;color:var(--white);letter-spacing:-.03em;margin-bottom:20px;line-height:1.2}
.rr-cta p{font-size:1rem;color:var(--muted);margin-bottom:40px;line-height:1.7}
.rr-cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.rr-footer{padding:64px 0 32px;border-top:1px solid var(--border)}
.rr-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:64px;margin-bottom:48px}
.rr-footer-brand p{font-size:.875rem;color:var(--muted);max-width:280px;margin-top:16px;line-height:1.7}
.rr-footer-col h5{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.rr-footer-col ul{display:flex;flex-direction:column;gap:12px}
.rr-footer-col a{font-size:.875rem;color:var(--muted);transition:color .2s}
.rr-footer-col a:hover{color:var(--white)}
.rr-footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted)}
@media(max-width:900px){.rr-hero-grid{grid-template-columns:1fr;gap:48px}.rr-hero-visual{display:none}.rr-services-header{grid-template-columns:1fr;gap:24px}.rr-services-grid{grid-template-columns:1fr}.rr-why-grid{grid-template-columns:1fr;gap:48px}.rr-steps{grid-template-columns:1fr 1fr}.rr-footer-grid{grid-template-columns:1fr;gap:32px}.rr-nav-links{display:none}.rr-hamburger{display:flex}}
@media(max-width:600px){.rr-steps{grid-template-columns:1fr}.rr-metrics{grid-template-columns:1fr 1fr}.rr-hero-stats{gap:20px}.rr-footer-bottom{flex-direction:column;gap:8px;text-align:center}}

/* CLS FIXES */
.rr-hero-card,.rr-hero-img{contain:layout style}
.rr-hero-img svg{width:100%;height:auto;aspect-ratio:4/3}
*{font-display:swap}
.rr-header{will-change:auto;transform:translateZ(0)}
body{font-size:16px}
h1,h2,h3,h4,h5,h6{font-display:swap}

/* === CLS & CONTRAST FIXES === */
/* Font space reservieren um CLS zu vermeiden */
.rr-header{min-height:72px}
.rr-hero{min-height:100svh}
/* Kontrastfix: muted Text heller */
:root{--muted:#9ca8a4}
/* Nav links Accessible Kontrast */
.rr-nav-links a{color:#b0bab6}
.rr-footer-col a{color:#9ca8a4}
.rr-footer-bottom{color:#9ca8a4}
.rr-logos-label{color:#9ca8a4}
/* Heading-Hierarchie fix: Section-Tags sind span, kein h-Element */
.rr-section-tag{display:inline-block}
/* Bilder-Dimensionen explizit für CLS */
.rr-hero-img img,.rr-hero-img svg{width:100%;height:auto;aspect-ratio:4/3}
.rr-hero-img{aspect-ratio:4/3;overflow:hidden}
/* Floating Card: kein CLS durch absolute Positionierung */
.rr-hero-visual{position:relative;padding-bottom:32px}
/* Nav mobile fix */
@media(max-width:900px){
  #rr-nav-links{display:none}
  .rr-nav-links.open{display:flex;flex-direction:column;position:absolute;top:72px;left:0;right:0;background:var(--bg2);border-bottom:1px solid var(--border);padding:24px;gap:20px;z-index:99}
}

/* CLS Fix: Schriftarten-Fallback damit kein Layout-Shift */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: local('Manrope');
}
/* CLS Fix: Bilder und SVGs bekommen feste Dimensionen */
.rr-hero-img { aspect-ratio: 4/3; overflow: hidden; }
.rr-hero-img svg, .rr-hero-img img { width: 100%; height: 100%; display: block; }
/* CLS Fix: Header feste Hoehe */
.rr-header { height: 72px; min-height: 72px; }
/* CLS Fix: Floating Badge position */
.rr-floating { position: absolute; bottom: -16px; left: 24px; min-width: 220px; }
/* CLS Fix: Figures explizite min-height */
figure img { width: 100%; height: 200px; object-fit: cover; display: block; }

/* ===== CLS FIXES ===== */
/* Font-Fallback mit korrekter Metrik damit kein Shift */
@font-face {
  font-family: 'ManropeFallback';
  src: local('Arial');
  ascent-override: 96%;
  descent-override: 24%;
  line-gap-override: 0%;
  size-adjust: 104%;
}
body { font-family: 'Manrope', 'ManropeFallback', system-ui, -apple-system, sans-serif; }

/* Hero-Grid: explizite min-height gegen Shift */
.rr-hero { min-height: 100svh; contain: layout; }
.rr-hero-grid { min-height: 600px; }

/* Nav: keine Höhenänderungen durch Fonts */
.rr-nav-links a, .rr-logo { font-synthesis: none; }

/* Floating card: absolute positioniert, kein Shift */
.rr-hero-visual { position: relative; }
.rr-hero-card { position: relative; padding-bottom: 24px; }

/* Figuren: explizite Aspect-Ratio gegen Shift */
figure { contain: layout; }
figure img { aspect-ratio: 3/2; height: auto; }
