/* theme-light-fix.css — Hand-Korrekturen ueber der generierten Hell-Ebene */

@font-face{font-family:'Satoshi';src:url('../fonts/satoshi-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Satoshi';src:url('../fonts/satoshi-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Satoshi';src:url('../fonts/satoshi-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Satoshi';src:url('../fonts/satoshi-900.woff2') format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:'RH Mono';src:url('../fonts/mono-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'RH Mono';src:url('../fonts/mono-500.woff2') format('woff2');font-weight:500;font-display:swap}

:root{
  --rh-primary:#1f1eb8;--rh-primary-dark:#15157f;--rh-primary-light:#e8e8fb;
  --rh-ink:#15161c;--rh-body:#3b4050;--rh-muted:#5b5f70;
  --rh-line:#e2e2ec;--rh-line-strong:#c9c9d8;
  --rh-surface:#fff;--rh-surface-2:#f3f3f8;--rh-signal:#ff5b35;
}

/* 3 Typografie-Hierarchie */
body,p,h1,h2,h3,h4,h5,h6,a,span,li,div,input,textarea,button,select{font-family:'Satoshi',sans-serif !important}
body{font-weight:400 !important;color:var(--rh-body) !important}
h1,h2,h3,h4,h5,h6{color:var(--rh-ink) !important;letter-spacing:-.02em !important;text-wrap:balance}
h1{font-size:clamp(4.2rem,5.2vw,6.4rem) !important;font-weight:900 !important;line-height:1.02 !important}
h2{font-size:clamp(3.4rem,4vw,4.8rem) !important;font-weight:900 !important;line-height:1.06 !important}
h3{font-size:clamp(2.8rem,3vw,3.6rem) !important;font-weight:700 !important;line-height:1.12 !important}
h4{font-size:3.2rem !important;font-weight:500 !important;line-height:1.22 !important}
h5{font-size:2.6rem !important;font-weight:500 !important;line-height:1.3 !important;letter-spacing:0 !important}
h6{font-size:2.1rem !important;font-weight:700 !important}

/* 2 Fliesstext: dunkler, knappere Zeilen */
p,li{color:var(--rh-body) !important;font-size:2.35rem !important;line-height:1.55 !important}
p{max-width:62ch}
p.small,.small{color:var(--rh-muted) !important;font-size:1.8rem !important}
.color-white,a.color-white,.text-lightbold.color-white{color:var(--rh-ink) !important}
p.text-lightbold.color-white{color:var(--rh-ink) !important;font-weight:500 !important}

/* 4 Mono-Labels und Trennlinien */
.tag,p.tag,.tag.green{color:var(--rh-primary) !important;background:none !important;font-family:'RH Mono',monospace !important;font-size:1.6rem !important;letter-spacing:.16em !important;text-transform:uppercase !important;font-weight:500 !important}
.seperator-line{background:var(--rh-line) !important;height:.1rem !important}

/* Pills mit Haarlinie */
.pill,.pill.pill-filled{border:.1rem solid var(--rh-line-strong) !important;border-radius:2px !important;background:var(--rh-surface) !important;color:var(--rh-ink) !important;height:5.2rem !important;padding:0 2rem !important;font-size:1.35rem !important;font-weight:500 !important;transition:none !important;cursor:default !important}
.pill.pill-filled{background:var(--rh-surface-2) !important}
.pills{gap:1rem !important}

/* 7 Karten und Akkordeon: Rahmen statt Schatten */
.item-container,.info-content,.work-grid .item,.quote{background:var(--rh-surface) !important;border:.1rem solid var(--rh-line) !important;border-radius:2px !important;box-shadow:none !important}
.item-container:hover,.work-grid .item:hover{border-color:var(--rh-primary) !important}
.accordion-item,.accordion .acc_section{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important}

.accordion-item .accordion-title,.accordion-item h5{color:var(--rh-ink) !important}

.icon,.icon i,.icon span{color:var(--rh-primary) !important}
.icon-button{color:var(--rh-primary) !important;border-color:var(--rh-primary) !important;border-radius:2px !important}
.icon-button:hover{background:var(--rh-primary) !important;color:#fff !important}

/* 1 Portraetkarte: lesbares Overlay */
.left-content{background:transparent !important}
.left-content .name p,.left-content .name .small{color:var(--rh-ink) !important;font-family:'RH Mono',monospace !important;letter-spacing:.16em !important;text-transform:uppercase !important;font-size:1.5rem !important;opacity:1 !important}
.left-content .name .seperator-line{background:var(--rh-primary) !important;width:4rem !important}

/* 6 Menue, Burger, Ladebildschirm */
.loading-screen{background:var(--rh-surface) !important}
.loading-screen h3,.loading-screen .text-box h3{color:var(--rh-ink) !important}
.loading-screen .line-frame{background:var(--rh-line) !important}
.loading-screen .line{background:var(--rh-primary) !important}
.m-menu-button .burger .line,.m-menu-button:hover .burger .line{background:var(--rh-ink) !important}
.m-menu-button:hover .burger .line{background:var(--rh-primary) !important}
.menu{background:rgba(255,255,255,.98) !important;border-left:.1rem solid var(--rh-line) !important}
.menu a,.menu-items a,.menu .social-items a{color:var(--rh-ink) !important}
.menu a:hover,.menu-items a:hover,.menu .social-items a:hover{color:var(--rh-primary) !important}
a{color:var(--rh-primary) !important;text-decoration-color:var(--rh-line-strong) !important}
a:hover{color:var(--rh-primary-dark) !important}

/* Logozeile */
.clients img,.client img,.logos img{opacity:.62 !important;filter:none !important;transition:opacity .2s !important}
.clients img:hover,.client img:hover,.logos img:hover{opacity:1 !important}

/* Formulare */
input,textarea,select{background:var(--rh-surface) !important;border:.1rem solid var(--rh-line-strong) !important;border-radius:2px !important;color:var(--rh-ink) !important}
input:focus,textarea:focus{border-color:var(--rh-primary) !important;outline:2px solid var(--rh-primary-light) !important}
::-moz-selection{background:var(--rh-primary-light) !important;color:var(--rh-ink) !important}
::selection{background:var(--rh-primary-light) !important;color:var(--rh-ink) !important}

/* 8 Mobil */
@media screen and (max-width:800px){
  h1{font-size:3.8rem !important}
  h2{font-size:3.1rem !important}
  h3{font-size:2.6rem !important}
  p{max-width:none}
  .pill{height:4.6rem !important;padding:0 1.5rem !important}
}

/* Portraet-Overlay als Mono-Label auf hellem Chip */
.left-content .name{position:relative;z-index:3}
.left-content .name p,.left-content .name .small{display:inline-block !important;background:#fff !important;border:.1rem solid var(--rh-line) !important;padding:.5rem 1rem !important;color:var(--rh-ink) !important;font-weight:500 !important;mix-blend-mode:normal !important}
.customer-grid img{opacity:.66 !important;filter:none !important;transition:opacity .2s}
.customer-grid img:hover{opacity:1 !important}

/* Keine Kante zwischen Portraetspalte und Inhalt */
body{background:var(--rh-surface) !important}
#main,.left-content,.right-content,.section,.section-container,.container{background:transparent !important}
.left-content,.right-content{border:0 !important;box-shadow:none !important}
@media screen and (max-width:800px){p,li{font-size:2.5rem !important}}

/* Akkordeon wie im Original: Haarlinie als Abschluss, Chevron rechts */
.accordion .acc_section .acc_head{border-bottom:.1rem solid var(--rh-line-strong) !important;transition:border-color .18s !important}
.accordion .acc_section .acc_head:hover{border-bottom-color:var(--rh-primary) !important}
.accordion .acc_section .acc_head:hover h5{color:var(--rh-primary) !important}
.accordion .acc_section .acc_head .icon{border-left:.1rem solid var(--rh-primary) !important;border-bottom:.1rem solid var(--rh-primary) !important;border-top:0 !important;border-right:0 !important;background:none !important}
.accordion .acc_section.acc_active .acc_head{border-bottom-color:var(--rh-primary) !important}
.accordion .acc_section.acc_active .acc_head h5{color:var(--rh-primary) !important}

/* Absatzabstaende auf die Schriftgroesse abgestimmt */
p.m-b-4,li p.m-b-4{margin-bottom:2.2rem !important}
p.m-b-3{margin-bottom:1.8rem !important}
p+p{margin-top:0 !important}
.seperator-line.m-b-4{margin-bottom:3rem !important}

/* Alles linksbuendig zum Fliesstext */
h1,h2,h3,h4,h5,h6,.m-l-1,.m-l-2{margin-left:0 !important}
.container>.tag{margin-left:0 !important}

/* Zahlenbelege: helle Kacheln statt schwarzer Bloecke */
.card-grid .item,.card-grid .item[style]{background:var(--rh-surface) !important;border:.1rem solid var(--rh-line) !important;transition:border-color .2s,background .2s !important}
.card-grid .left-side .item:nth-child(even),.card-grid .right-side .item:nth-child(odd){background:var(--rh-surface-2) !important}
.card-grid .item:hover{border-color:var(--rh-primary) !important}
.card-grid .item .item-container{text-align:center;width:82%;background:none !important;border:0 !important;padding:0 !important}
.card-grid .item .item-container h2{color:var(--rh-primary) !important;background:none !important;font-size:clamp(3.4rem,4vw,5.2rem) !important;font-weight:900 !important;line-height:1 !important;margin-bottom:1.2rem !important;letter-spacing:-.01em !important}
.card-grid .item .item-container p{color:var(--rh-muted) !important;background:none !important;font-family:'RH Mono',monospace !important;font-size:1.5rem !important;line-height:1.45 !important;letter-spacing:.06em !important;text-transform:uppercase !important;max-width:none !important;padding:0 !important;border:0 !important}

/* Laufbahn: umbruchsichere Positionsbezeichnung in einem Absatz */
.resume .item p.role{color:var(--rh-primary) !important;font-size:2.4rem !important;font-weight:700 !important;line-height:1.22 !important;margin-bottom:1rem !important;max-width:34ch}
.resume .item p.small{color:var(--rh-muted) !important;margin-bottom:.6rem !important}
.resume .item p.small .period{display:inline-block;margin-left:1.4rem !important;color:var(--rh-muted) !important;font-family:'RH Mono',monospace !important;font-size:1.5rem !important;letter-spacing:.06em !important;white-space:nowrap}
.resume .item.m-b-6{margin-bottom:4.5rem !important}

/* Laufbahn-Zeitstrahl im Hell-Stil */
.resume{border-left:.1rem solid var(--rh-line-strong) !important}
.resume .item{background:var(--rh-surface) !important;border:.1rem solid var(--rh-line) !important;padding:4.5rem 5rem !important}
.resume .item:after{background:var(--rh-primary) !important}
.resume .item:before{border-color:var(--rh-primary) !important;background:var(--rh-surface) !important}

/* Kein Hover auf nicht klickbaren Elementen (Pills, Laufbahn-Karten) */
.pill:hover,.pill.pill-filled:hover{border-color:var(--rh-line-strong) !important;color:var(--rh-ink) !important;cursor:default !important}
.pill.pill-filled:hover{background:var(--rh-surface-2) !important}
.pill:hover{background:var(--rh-surface) !important}
.skill-item:hover,.tags .item:hover,.default-tags li:hover{cursor:default !important}
.resume .item:hover{border-color:var(--rh-line) !important;cursor:default !important}

/* Menue: Gruppierung und Social-Zeile */
.m-menu .head p{color:var(--rh-muted) !important;font-family:'RH Mono',monospace !important;font-size:1.5rem !important;letter-spacing:.14em !important;text-transform:uppercase !important}
.m-menu .secondary-items{padding-top:.4rem;border-top:.1rem solid var(--rh-line) !important;margin-top:.4rem}
.m-menu .head.m-t-6{margin-top:5rem !important}
.social-items{display:flex !important;flex-direction:column !important;gap:1.2rem !important}
.social-items .item{margin:0 !important}
.social-items .item a{display:inline-flex !important;align-items:center;gap:1rem;color:var(--rh-ink) !important;text-decoration:none !important;border:0 !important}
.social-items .item a svg{width:2rem;height:2rem;flex:0 0 auto;color:var(--rh-primary)}
.social-items .item a .label{font-size:1.8rem;line-height:1}
.social-items .item a:hover{color:var(--rh-primary) !important}

/* Laufbahn: definitiv kein Hover-Feedback */
.resume .item,.resume .item *{transition:none !important}
.resume:hover .item,.resume .item:hover,.resume .item:hover *,.resume .item:focus,.resume .item:focus-within{border-color:var(--rh-line) !important;background:var(--rh-surface) !important;outline:0 !important;box-shadow:none !important;cursor:default !important}
.resume .item:hover p.role{color:var(--rh-primary) !important}
.resume .item:hover p.small,.resume .item:hover p.small .period{color:var(--rh-muted) !important}
.resume .item:hover p{color:var(--rh-body) !important}

/* ---- Neue Bausteine der deutschen Startseite ---- */

/* CTA */
.rh-cta-row{display:flex;flex-wrap:wrap;gap:1.2rem}
.rh-cta{display:inline-flex;align-items:center;justify-content:center;height:5.8rem;padding:0 2.8rem;background:var(--rh-primary);color:#fff !important;border:.1rem solid var(--rh-primary);border-radius:2px;font-size:1.7rem;font-weight:500;text-decoration:none !important;transition:background .18s,border-color .18s,transform .18s}
.rh-cta:hover{background:var(--rh-primary-dark);border-color:var(--rh-primary-dark);transform:translateY(-2px)}
.rh-cta-ghost{background:none;color:var(--rh-primary) !important;border-color:var(--rh-line-strong)}
.rh-cta-ghost:hover{background:var(--rh-primary-light);border-color:var(--rh-primary);color:var(--rh-primary-dark) !important;transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.rh-cta:hover,.rh-cta-ghost:hover{transform:none}}

/* Verfuegbarkeits-Hinweis, dezent */
.rh-status{color:var(--rh-muted) !important;font-family:'RH Mono',monospace !important;font-size:1.5rem !important;letter-spacing:.06em !important;margin:0 !important}
.rh-status:before{content:"";display:inline-block;width:.8rem;height:.8rem;border-radius:50%;background:var(--rh-signal,#ff5b35);margin-right:1rem;vertical-align:.1rem}

/* Vier Stufen */
.rh-step{border-top:.1rem solid var(--rh-line);padding:3rem 0 3.4rem}
.rh-step:last-of-type{border-bottom:.1rem solid var(--rh-line)}
.rh-step-no{color:var(--rh-primary) !important;font-family:'RH Mono',monospace !important;font-size:1.5rem !important;letter-spacing:.14em !important;text-transform:uppercase !important;margin-bottom:1.2rem !important}
.rh-step-title{font-size:2.8rem !important;font-weight:700 !important;line-height:1.2 !important;margin-bottom:1.4rem !important}

/* Faktenspalte */
.rh-facts{border-top:.1rem solid var(--rh-line)}
.rh-fact{display:block;padding:1.8rem 0;border-bottom:.1rem solid var(--rh-line)}
.rh-fact-label{display:block;color:var(--rh-muted) !important;font-family:'RH Mono',monospace !important;font-size:1.5rem !important;letter-spacing:.1em !important;text-transform:uppercase !important;margin:0 0 .7rem !important}
.rh-fact p{margin:0 !important;max-width:none;text-align:left !important}
.rh-fact a{color:var(--rh-primary) !important;text-decoration:none !important;border-bottom:.1rem solid var(--rh-line-strong)}
.rh-fact a:hover{color:var(--rh-primary-dark) !important;border-bottom-color:var(--rh-primary)}

/* Fliesstext-Links generell */
.container p a{color:var(--rh-primary) !important}

@media screen and (max-width:800px){
  .rh-fact-label{display:block}
  .rh-cta{width:100%}
}

/* Beleg-Satz in der Buehne */
.rh-proof{border-left:.2rem solid var(--rh-primary);padding-left:2.2rem}

/* Claim der Visitenkarte ueber der H1 */
.rh-claim{color:var(--rh-primary) !important;font-size:2.1rem !important;font-weight:500 !important;letter-spacing:-.01em !important;margin:0 0 1rem 0 !important}

/* Einladungszeile in der Buehne */
.rh-invite{color:var(--rh-ink) !important;font-weight:500 !important}

/* Externe Quellenlinks im Fliesstext */
.rh-src{color:var(--rh-primary) !important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .18s ease,text-decoration-color .18s ease}
.rh-src:hover,.rh-src:focus-visible{color:var(--rh-primary-dark) !important;text-decoration-thickness:2px}
.rh-src:active{color:#ff5b35 !important}

/* Hervorhebung im Fliesstext */
.container p strong{font-weight:500 !important;color:var(--rh-ink) !important}

/* "Meine Leistung" je Prozessschritt */
.rh-offer{margin-top:2.6rem;padding:2.2rem 2.6rem;background:#f3f3f8;border-left:.2rem solid var(--rh-primary)}
.rh-offer p{margin:0 !important;max-width:none}
.rh-offer p + p{margin-top:.9rem !important}
.rh-offer-label{color:var(--rh-primary) !important;font-family:'RH Mono',monospace !important;font-size:1.5rem !important;letter-spacing:.1em !important;text-transform:uppercase !important;margin-bottom:1.2rem !important}
.rh-offer strong{font-weight:500 !important;color:var(--rh-ink) !important}

/* Tiefenangaben im Leistungs-Akkordeon */
.rh-detail{border-top:.1rem solid var(--rh-line)}
.rh-detail-row{padding:1.6rem 0;border-bottom:.1rem solid var(--rh-line)}
.rh-detail-row p{margin:0 !important;max-width:none;text-align:left !important}
.rh-detail-label{display:block;color:var(--rh-muted) !important;font-family:'RH Mono',monospace !important;font-size:1.5rem !important;letter-spacing:.1em !important;text-transform:uppercase !important;margin:0 0 .7rem !important}

/* Zwischenzeile ueber den Pills (Interim, DMEXCO) */
p.rh-offer-label{color:var(--rh-muted) !important;margin-bottom:1.4rem !important}

/* ===== Mobile-Lesbarkeit: feste Mindestgroessen statt Template-Skalierung (Root 6px unter 500px) ===== */
@media screen and (max-width:800px){
  p,li{font-size:17px !important;line-height:1.6 !important}
  h1{font-size:34px !important;line-height:1.08 !important}
  h2{font-size:28px !important;line-height:1.15 !important}
  h3{font-size:24px !important;line-height:1.2 !important}
  h4{font-size:21px !important;line-height:1.35 !important}
  h5{font-size:18px !important;line-height:1.4 !important}
  h6{font-size:12px !important}
  p.small,.small{font-size:15px !important}
  .left-content .name p,.left-content .name .small,
  .resume .item p.small .period,.m-menu .head p,.social-items .item a .label,
  .rh-step-no,.rh-fact-label,.rh-offer-label,.rh-detail-label,
  .tag,p.tag,.tag.green{font-size:12px !important}
  .rh-status{font-size:13px !important}
  .pill,.pill.pill-filled{font-size:14px !important;height:38px !important;padding:0 14px !important}
  .card-grid .item .item-container p{font-size:15px !important}
  .rh-cta,.rh-cta-ghost{font-size:16px !important;height:52px !important}
}
