@charset "UTF-8";
:root{--green:#00F060;--green-dark:#008d3b;--ink:#101820;--muted:#58616b;--line:#e7ebed;--max:1380px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.55 Inter,"Segoe UI",Arial,sans-serif}a{text-decoration:none;color:inherit}button{font:inherit}.wrap{width:min(var(--max),calc(100% - 72px));margin-inline:auto}a:focus-visible,button:focus-visible{outline:3px solid var(--green-dark);outline-offset:3px}
.site-header{background:#fff;position:relative;z-index:5;border-bottom:1px solid var(--line)}.header-inner{min-height:90px;display:flex;justify-content:space-between;align-items:center;gap:22px}.brand-logo{display:flex;gap:16px;align-items:center;flex-shrink:0;min-width:0}.brand-logo img{display:block;width:84px;height:auto;flex-shrink:0}.brand-copy{display:flex;flex-direction:column;gap:3px;padding-left:17px;border-left:2px solid var(--green)}.brand-copy strong{font-size:22px;letter-spacing:-.6px;line-height:1.2}.brand-copy small{font-size:12px;color:#48545d;line-height:1.45}.nav{display:flex;gap:5px;align-items:center}.nav a{padding:11px 14px;border-radius:9px;font-size:14px;font-weight:650;white-space:nowrap}.nav a:hover{background:#eff9f1}.nav .current{background:var(--green);color:#082016}.nav .language{border-left:1px solid #ccd2d5;border-radius:0;margin-left:10px;padding-left:20px}.menu-toggle{display:none;border:1px solid #dbe2e1;border-radius:8px;padding:9px 12px;background:white}
.cv-hero{background:linear-gradient(115deg,#0c1a1e,#153b30);color:#fff;padding:80px 0 86px;position:relative;overflow:hidden}.cv-hero:after{content:"";position:absolute;width:40%;height:5px;bottom:0;left:0;background:var(--green)}.eyebrow,.section-kicker{font-size:13px;letter-spacing:.13em;font-weight:800;color:var(--green-dark);margin:0 0 12px}.cv-hero .eyebrow,.contact-band .section-kicker{color:var(--green)}.cv-hero h1{font-size:clamp(54px,7vw,96px);line-height:1.06;letter-spacing:-.055em;margin:0 0 18px}.green{color:var(--green)}.lead{font-size:clamp(17px,1.65vw,22px);color:#e0e9e5;max-width:760px;margin:0 0 26px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}.button{display:inline-flex;align-items:center;gap:12px;padding:12px 22px;border-radius:9px;font-weight:750;min-height:49px}.button.primary{background:var(--green);color:#082016}.button.secondary{border:1px solid #91a29b;color:#fff}.button:hover{filter:brightness(.93)}
.edit-notice{margin:35px 0 0;padding:16px 20px;border-left:4px solid #dba52b;background:#fff9e9;color:#514627;border-radius:0 8px 8px 0;font-size:14px}.intro{display:grid;grid-template-columns: 1fr 1.7fr;gap:42px;padding:70px 0 60px;border-bottom:1px solid var(--line)}h2{font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.035em;margin:0}.intro p:not(.section-kicker){color:#45515b;margin:0 0 20px;max-width:800px}.pills{display:flex;flex-wrap:wrap;gap:9px}.pills span{font-size:13px;font-weight:650;padding:8px 13px;background:#ebfff1;border:1px solid #b5f4c7;border-radius:99px}
.cv-section{padding:67px 0 34px;border-bottom:1px solid var(--line)}.section-head{margin-bottom:35px}.section-head>p:last-child:not(.section-kicker){color:var(--muted);margin:10px 0 0}.timeline{border-left:2px solid #b7efd0;margin-left:166px}.timeline-item{display:grid;grid-template-columns:152px minmax(0,1fr);column-gap:32px;position:relative;margin-left:-168px;padding:0 0 31px}.timeline-item:before{content:"";position:absolute;width:12px;height:12px;top:8px;left:161px;border:3px solid var(--green-dark);background:#fff;border-radius:50%}.timeline-date{text-align:right;padding-top:3px;color:#58616b;font-weight:680;font-size:13px}.timeline-content{padding:0 0 0 16px}.timeline-content h3{font-size:20px;letter-spacing:-.02em;margin:0 0 3px;line-height:1.3}.employer{font-size:15px;font-weight:650;color:#456255;margin:0 0 10px}.task-list{margin:9px 0 0;padding-left:20px;color:#47545b;font-size:14px;line-height:1.6}.task-list li{margin-bottom:3px}.review-tag{display:block;color:#956100;font-size:11px;font-weight:600}.additional{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:70px 0}.additional-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.additional-grid h3{font-size:17px;margin:0 0 8px}.additional-grid p{font-size:14px;color:#57636c;margin:0}
.contact-band{padding:37px 0;background:#101b21;color:#fff;border-top:5px solid var(--green)}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.contact-inner h2{font-size:30px}.contact-inner p:not(.section-kicker){color:#c0cbcf;margin:7px 0 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;padding:23px 0;color:#52606b;font-size:13px}.footer-inner div{display:flex;gap:20px;flex-wrap:wrap}.footer-inner a:hover{color:var(--green-dark)}
@media(max-width:1160px){.brand-copy small{display:none}.nav a{padding:10px 8px}.additional-grid{grid-template-columns:1fr}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header-inner{flex-wrap:wrap;min-height:74px}.brand-logo img{width:66px}.brand-copy strong{font-size:18px}.menu-toggle{display:block;margin-left:auto}.nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;padding-bottom:15px}.nav.nav-open{display:flex}.nav a{padding:12px}.nav .language{border:0;margin:0;padding-left:12px}.cv-hero{padding:55px 0 62px}.intro,.additional{grid-template-columns:1fr;gap:20px;padding:45px 0}.timeline{margin-left:10px}.timeline-item{display:block;margin-left:0;padding:0 0 32px 26px}.timeline-item:before{left:-7px}.timeline-date{text-align:left;margin-bottom:8px}.timeline-content{padding:0}.additional-grid{grid-template-columns:1fr;gap:14px}.contact-inner{align-items:flex-start;flex-direction:column}.footer-inner{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Lebenslauf-Herobild – wie auf der Startseite (435px hoher Banner) */
.cv-hero{
  isolation:isolate;
  min-height:435px;
  padding:0;
  display:flex;
  align-items:center;
  background:linear-gradient(120deg,#071d22 0%,#11242a 52%,#14362d 100%);
}
.cv-hero::before{
  content:"";position:absolute;inset:0 0 0 42%;
  background:url('../images/lebenslauf-laptop.webp') center center / cover no-repeat;
  z-index:0;
}
.cv-hero::after{
  content:"";position:absolute;inset:0;left:0;bottom:0;width:100%;height:100%;
  background:linear-gradient(90deg,rgba(5,22,27,.99) 0%,rgba(5,22,27,.96) 34%,rgba(5,22,27,.77) 50%,rgba(5,22,27,.06) 83%);
  z-index:1;pointer-events:none;
}
.cv-hero > .wrap{padding-block:55px 58px;position:relative;z-index:2}
.cv-hero > .wrap::after{content:"";height:5px;width:65px;position:absolute;bottom:40px;left:0;background:var(--green)}
.cv-hero h1{font-size:clamp(46px,5.1vw,76px);max-width:750px}
.cv-hero .lead{max-width:610px}
@media(max-width:760px){
  .cv-hero{min-height:400px}
  .cv-hero::before{inset:0 0 0 18%;opacity:.55}
  .cv-hero::after{background:linear-gradient(90deg,rgba(5,22,27,.97),rgba(5,22,27,.82))}
  .cv-hero > .wrap{padding-block:55px 65px}
  .cv-hero > .wrap::after{left:0;bottom:34px}
}


/* Firma und Position unter dem Datum */
.company-name{font-size:20px;letter-spacing:-.02em;line-height:1.3;margin:0 0 4px;color:#101820;font-weight:750;}
.job-position{display:block;font-size:16px;line-height:1.45;margin:0 0 10px;color:#525b65;font-weight:500;}


/* Feinschliff: Datum > Firmenname (inkl. Ort) > fett gesetzte Position */
.company-name {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 750;
  color: #101820;
  margin: 0 0 5px;
  overflow-wrap: break-word;
}
.job-position {
  display: block;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700;
  color: #525b65;
  margin: 0 0 14px;
}

.timeline-date { line-height: 1.4; padding-top: 2px; }
.timeline-content .company-name { margin-top: 0; }
.timeline-content .job-position { margin-bottom: 12px; }
.timeline-content .task-list { margin-top: 5px; }
@media (max-width:760px) {
  .timeline-date { margin-bottom: 9px; }
}

/* Neues Hauptmenü: Projekte / Projects, bei mittleren Breiten einklappen. */
@media (min-width:761px) and (max-width:1180px){
.header-inner{flex-wrap:wrap;min-height:80px}
.menu-toggle{display:block;margin-left:auto}
.nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;width:100%;padding:4px 0 14px}
.nav.nav-open{display:flex}
.nav a{padding:11px 14px}
.nav .language{border:0;margin:0;padding-left:14px}
}
@media (min-width:1181px) and (max-width:1450px){.nav a{padding:10px 9px;font-size:13px}.header-inner{gap:12px}.brand-copy small{font-size:11px}}
