/* ============================================
   FTK KÖBERL – Editorial Precision Design
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --color-primary: #1a3a5c;
  --color-primary-light: #2a5a8c;
  --color-primary-dark: #0d1f33;
  --color-accent: #c4161c;
  --color-bg: #ffffff;
  --color-bg-light: #f5f6f8;
  --color-bg-dark: #0d1f33;
  --color-text: #2c3e50;
  --color-text-light: #5a6b7d;
  --color-text-muted: #94a3b3;
  --color-white: #ffffff;
  --color-border: #e0e4e8;
  --color-border-light: #edf0f3;
  --font-heading: 'Outfit', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  --nav-height: 110px;
  --max-width: 1140px;
  --section-gap: 120px;
  --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.7;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
ul{list-style:none;}
::selection{background:var(--color-primary);color:#fff;}

/* Loader */
.page-loader{position:fixed;inset:0;z-index:9999;background:#fff;display:flex;align-items:center;justify-content:center;transition:opacity .5s,visibility .5s;}
.page-loader.hidden{opacity:0;visibility:hidden;pointer-events:none;}
.loader-bar{width:80px;height:2px;background:var(--color-border);position:relative;overflow:hidden;border-radius:1px;}
.loader-bar::after{content:'';position:absolute;left:-40%;width:40%;height:100%;background:var(--color-primary);animation:slide .7s ease-in-out infinite;}
@keyframes slide{to{left:100%;}}

/* ---- NAV ---- */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:1000;display:flex;align-items:center;padding:0 48px;transition:all .4s var(--ease),height .4s var(--ease);}
.nav--hero{background:transparent;border-bottom:1px solid rgba(255,255,255,.15);}
/* Hero: nur Top-Level Links weiß machen, nicht Dropdown-Inhalt */
.nav--hero > .nav-inner > .nav-links > a,
.nav--hero > .nav-inner > .nav-links > .nav-dropdown > a{color:rgba(255,255,255,.9);}
.nav--hero > .nav-inner > .nav-links > a:hover,
.nav--hero > .nav-inner > .nav-links > .nav-dropdown > a:hover{color:#fff;}
.nav--hero .nav-logo img{filter:brightness(0) invert(1);opacity:.9;}
.nav--hero .nav-logo:hover img{opacity:1;}
.nav--hero > .nav-inner > .nav-links > a.active,
.nav--hero > .nav-inner > .nav-links > .nav-dropdown > a.active{color:#fff;position:relative;}
.nav--hero > .nav-inner > .nav-links > .nav-dropdown > a.active::after,
.nav--hero > .nav-inner > .nav-links > a.active::after{content:'';position:absolute;bottom:2px;left:14px;right:14px;height:2px;background:#fff;border-radius:1px;}
/* Scrolled / Solid: dunkle Farben */
.nav.scrolled,.nav--solid{background:rgba(255,255,255,.98);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--color-border);border-bottom:none;height:80px;}
.nav.scrolled .nav-links a,.nav--solid .nav-links a,.nav--hero.scrolled > .nav-inner > .nav-links > a,.nav--hero.scrolled > .nav-inner > .nav-links > .nav-dropdown > a{color:var(--color-text-light);}
.nav.scrolled .nav-links a:hover,.nav--solid .nav-links a:hover,.nav--hero.scrolled > .nav-inner > .nav-links > a:hover,.nav--hero.scrolled > .nav-inner > .nav-links > .nav-dropdown > a:hover{color:var(--color-primary);}
.nav.scrolled .nav-links a.active,.nav--solid .nav-links a.active,.nav--hero.scrolled > .nav-inner > .nav-links > a.active,.nav--hero.scrolled > .nav-inner > .nav-links > .nav-dropdown > a.active{color:var(--color-primary);}
.nav.scrolled .nav-links a.active::after,.nav--solid .nav-links a.active::after,.nav--hero.scrolled > .nav-inner > .nav-links > a.active::after,.nav--hero.scrolled > .nav-inner > .nav-links > .nav-dropdown > a.active::after{background:var(--color-primary);}
.nav.scrolled .nav-logo img,.nav--solid .nav-logo img,.nav--hero.scrolled .nav-logo img{filter:none;opacity:1;height:56px;}
.nav-inner{width:100%;max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;transition:all .3s;}
.nav-logo img{height:90px;width:auto;transition:filter .3s,opacity .3s,height .4s var(--ease);}
.nav-links{display:flex;align-items:center;gap:6px;}
.nav-links a{padding:12px 18px;font-size:.92rem;font-weight:500;letter-spacing:.3px;transition:color .3s;position:relative;}
.nav-links a.active{font-weight:600;}
.nav-dropdown{position:relative;}
.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:210px;background:#fff;border:1px solid var(--color-border);border-radius:4px;padding:6px 0;box-shadow:0 12px 40px rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .25s var(--ease-out);}
.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav-dropdown-menu a{display:block;padding:9px 18px;font-size:.82rem;color:var(--color-text-light)!important;transition:all .2s;}
.nav-dropdown-menu a:hover{color:var(--color-primary)!important;background:var(--color-bg-light);padding-left:22px;}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:1001;}
.nav-toggle span{width:20px;height:1.5px;background:currentColor;transition:all .3s;}
.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px);}

/* Language switcher */
.lang-switch{display:flex;align-items:center;gap:6px;margin-left:12px;font-size:.78rem;font-weight:600;letter-spacing:.5px;}
.lang-switch span{color:var(--color-text-muted);user-select:none;}
.lang-switch a{color:var(--color-text-muted);text-decoration:none;padding:2px 4px;border-radius:3px;transition:all .2s;}
.lang-switch a.active{color:var(--color-primary);background:var(--color-bg-light);}
.lang-switch a:hover{color:var(--color-primary);}
.nav--hero .lang-switch a{color:rgba(255,255,255,.5);}
.nav--hero .lang-switch a.active{color:#fff;background:rgba(255,255,255,.15);}
.nav--hero .lang-switch span{color:rgba(255,255,255,.3);}
.nav--hero.scrolled .lang-switch a,.nav.scrolled .lang-switch a{color:var(--color-text-muted);}
.nav--hero.scrolled .lang-switch a.active,.nav.scrolled .lang-switch a.active{color:var(--color-primary);background:var(--color-bg-light);}
.nav--hero.scrolled .lang-switch span,.nav.scrolled .lang-switch span{color:var(--color-text-muted);}

/* Nav TÜV Badge */
.nav-cert{display:flex;align-items:center;gap:10px;margin-left:24px;margin-right:auto;}
.nav-cert img{border-radius:2px;height:44px;width:auto;}
.nav-cert span{font-size:.72rem;font-weight:600;letter-spacing:.5px;color:rgba(255,255,255,.5);text-transform:uppercase;}
.nav.scrolled .nav-cert span,.nav--solid .nav-cert span{color:var(--color-text-muted);}

/* ---- HERO ---- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--color-primary-dark);}
.hero-video{position:absolute;inset:0;z-index:0;}
.hero-video video{width:100%;height:100%;object-fit:cover;}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(13,31,51,.82) 0%,rgba(26,58,92,.65) 60%,rgba(13,31,51,.75) 100%);}
.hero-content{position:relative;z-index:2;max-width:calc(var(--max-width) + 96px);width:100%;margin:0 auto;padding:0 48px;padding-top:var(--nav-height);display:flex;align-items:center;justify-content:space-between;gap:60px;}
.hero-left{max-width:600px;}
.hero-tag{font-size:.72rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:20px;opacity:0;animation:fadeUp .8s var(--ease-out) .3s forwards;}
.hero h1{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;color:#fff;line-height:1.08;margin-bottom:20px;opacity:0;animation:fadeUp .8s var(--ease-out) .5s forwards;}
.hero-accent{color:var(--color-accent);font-style:italic;font-weight:800;}
.hero-sub{font-size:.95rem;color:rgba(255,255,255,.6);max-width:420px;line-height:1.7;margin-bottom:32px;opacity:0;animation:fadeUp .8s var(--ease-out) .7s forwards;}
.hero-btns{display:flex;gap:12px;opacity:0;animation:fadeUp .8s var(--ease-out) .9s forwards;}
.hero-right{opacity:0;animation:fadeUp .8s var(--ease-out) 1s forwards;}
.hero-stats-v{display:flex;flex-direction:column;gap:0;}
.hero-stat-v{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.12);display:flex;align-items:baseline;gap:14px;min-width:180px;}
.hero-stat-v:last-child{border:none;}
.stat-num{font-family:var(--font-heading);font-size:2.8rem;font-weight:800;color:#fff;line-height:1;}
.stat-label{font-size:.78rem;color:rgba(255,255,255,.45);font-weight:500;letter-spacing:.5px;}
.hero-job{position:absolute;bottom:32px;right:48px;z-index:2;padding:10px 20px;background:var(--color-accent);color:#fff;font-size:.78rem;font-weight:600;border-radius:3px;letter-spacing:.3px;transition:all .3s;opacity:0;animation:fadeIn .8s var(--ease-out) 1.2s forwards;}
.hero-job:hover{background:#d42027;transform:translateY(-1px);}

/* ---- BUTTONS ---- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;font-family:var(--font-body);font-size:.85rem;font-weight:600;border:none;border-radius:3px;cursor:pointer;transition:all .3s;letter-spacing:.3px;}
.btn-primary{background:var(--color-primary);color:#fff;}
.btn-primary:hover{background:var(--color-primary-light);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary);}
.btn-outline:hover{background:var(--color-primary);color:#fff;}
.btn-white{background:#fff;color:var(--color-primary-dark);font-weight:600;}
.btn-white:hover{background:var(--color-bg-light);transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.1);}
.btn-ghost{background:transparent;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.25);}
.btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.4);}

/* ---- SECTIONS ---- */
.section{padding:var(--section-gap) 48px;max-width:calc(var(--max-width) + 96px);margin:0 auto;}
.section-alt{background:var(--color-bg-light);padding:var(--section-gap) 0;}
.section-alt .section-inner{max-width:calc(var(--max-width) + 96px);margin:0 auto;padding:0 48px;}
.section-dark{background:var(--color-bg-dark);padding:var(--section-gap) 0;color:#fff;}
.section-dark .section-inner{max-width:calc(var(--max-width) + 96px);margin:0 auto;padding:0 48px;}

.section-header{margin-bottom:56px;}
.section-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--color-accent);margin-bottom:10px;}
.section-title{font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;color:var(--color-primary-dark);line-height:1.15;}
.section-dark .section-title{color:#fff;}
.section-subtitle{font-size:.92rem;color:var(--color-text-light);max-width:520px;margin-top:10px;line-height:1.7;}

/* center variant */
.section-header-center{text-align:center;}
.section-header-center .section-subtitle{margin:10px auto 0;}

/* ---- REVEAL ---- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.1s;}.reveal-delay-2{transition-delay:.2s;}.reveal-delay-3{transition-delay:.3s;}.reveal-delay-4{transition-delay:.4s;}

/* ---- SERVICES LIST ---- */
.services-list{display:flex;flex-direction:column;gap:0;}
.service-item{display:flex;gap:28px;padding:36px 0;border-bottom:1px solid var(--color-border);align-items:flex-start;}
.service-item:first-child{padding-top:0;}
.service-item:last-child{border:none;}
.service-num{font-family:var(--font-heading);font-size:3rem;font-weight:800;color:var(--color-border);line-height:1;min-width:70px;}
.service-body h3{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:2px;}
.service-tag{font-size:.72rem;font-weight:600;color:var(--color-accent);letter-spacing:.5px;text-transform:uppercase;display:block;margin-bottom:10px;}
.service-body p{font-size:.9rem;color:var(--color-text-light);line-height:1.7;max-width:520px;}

/* ---- STATS BAND ---- */
.stats-band{background:var(--color-primary-dark);padding:64px 48px;}
.stats-band-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.stat-block{text-align:center;flex:1;}
.stat-big{font-family:var(--font-heading);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;color:#fff;line-height:1;}
.stat-desc{font-size:.8rem;color:rgba(255,255,255,.5);margin-top:6px;line-height:1.4;}
.stat-desc small{font-size:.72rem;color:rgba(255,255,255,.3);}
.stat-divider{width:1px;height:60px;background:rgba(255,255,255,.1);flex-shrink:0;}

/* ---- FEATURE BLOCKS ---- */
.feature-block{display:flex;align-items:stretch;gap:0;padding:48px 0;}
.feature-accent{width:4px;background:linear-gradient(180deg,var(--color-accent),var(--color-primary));border-radius:2px;flex-shrink:0;margin-right:28px;}
.feature-content{flex:1;}
.feature-content h2{font-family:var(--font-heading);font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:700;color:var(--color-primary-dark);margin-bottom:12px;}
.feature-content p{font-size:.9rem;color:var(--color-text-light);line-height:1.8;max-width:560px;margin-bottom:16px;}
.feature-link{font-weight:600;font-size:.88rem;color:var(--color-primary);transition:color .3s,gap .3s;display:inline-flex;align-items:center;gap:4px;}
.feature-link:hover{color:var(--color-accent);gap:8px;}
.feature-counter{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;margin-left:32px;}
.fc-num{font-family:var(--font-heading);font-size:4.5rem;font-weight:800;color:var(--color-border);line-height:1;}
.fc-unit{font-size:.72rem;font-weight:600;color:var(--color-text-muted);letter-spacing:1px;text-transform:uppercase;margin-top:4px;}

/* Animated line between features */
.line-reveal{height:1px;background:linear-gradient(90deg,var(--color-accent),var(--color-primary),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--ease-out);}
.line-reveal.visible{transform:scaleX(1);}

/* ---- REFERENZEN ---- */
.ref-grid{display:flex;flex-direction:column;gap:40px;}
.ref-group{padding:0;}
.ref-group h3{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:14px;letter-spacing:.5px;text-transform:uppercase;}
.ref-tags{display:flex;flex-wrap:wrap;gap:8px;}
.ref-tags a{padding:7px 16px;background:#fff;border:1px solid var(--color-border);border-radius:3px;font-size:.82rem;color:var(--color-text-light);font-weight:500;transition:all .3s;}
.ref-tags a:hover{border-color:var(--color-primary);color:var(--color-primary);background:rgba(26,58,92,.03);}

/* ---- SUSTAINABILITY STRIP ---- */
.sustain-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;}
.sustain-item{padding:28px 24px;border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:6px;transition:background .3s;}
.sustain-item:last-child{border:none;}
.sustain-item:hover{background:var(--color-bg-light);}
.sustain-item strong{font-family:var(--font-heading);font-size:.88rem;font-weight:700;color:var(--color-primary-dark);}
.sustain-item span{font-size:.82rem;color:var(--color-text-light);line-height:1.6;}
.sustain-strip--3{grid-template-columns:repeat(3,1fr);}

/* ---- CONTACT SPLIT ---- */
.contact-split{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start;}
.contact-details{margin-top:20px;}
.contact-details p{color:rgba(255,255,255,.6);font-size:.9rem;line-height:1.7;margin-bottom:16px;}
.contact-details a{display:block;color:rgba(255,255,255,.7);font-size:.9rem;padding:4px 0;transition:color .3s;}
.contact-details a:hover{color:#fff;}
.contact-map-wrap{border-radius:6px;overflow:hidden;min-height:380px;}
.contact-map-wrap iframe{width:100%;height:100%;min-height:380px;border:none;}

/* ---- KONTAKT PAGE ---- */
.kontakt-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:48px;margin-top:48px;align-items:start;}
.kontakt-details{display:grid;grid-template-columns:1fr;gap:28px;}
.kontakt-block h3{font-family:var(--font-heading);font-size:.75rem;font-weight:700;color:var(--color-accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;}
.kontakt-block p{font-size:.9rem;color:var(--color-text-light);line-height:1.7;}
.kontakt-block p strong{color:var(--color-primary-dark);font-weight:600;}
.kontakt-block a{color:var(--color-primary);font-size:.9rem;font-weight:500;transition:color .3s;}
.kontakt-block a:hover{color:var(--color-accent);}
.kontakt-map{border-radius:6px;overflow:hidden;min-height:480px;border:1px solid var(--color-border);}
.kontakt-map iframe{width:100%;height:100%;min-height:480px;border:none;}

/* ---- TEAM CARDS ---- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px;}
.team-card{text-align:center;}
.team-photo{aspect-ratio:4/5;background:var(--color-bg-light);border-radius:6px;overflow:hidden;margin-bottom:16px;}
.team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out);}
.team-card:hover .team-photo img{transform:scale(1.04);}
.team-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:var(--color-primary);font-family:var(--font-heading);background:linear-gradient(135deg,var(--color-bg-light),#e8ecf0);}
.team-card h4{font-family:var(--font-heading);font-size:1.15rem;color:var(--color-primary-dark);margin-bottom:4px;font-weight:700;}
.team-role{font-size:.78rem;color:var(--color-accent);letter-spacing:1.5px;text-transform:uppercase;font-weight:600;}

/* ---- PAGE HERO (subpages) ---- */
.page-hero{position:relative;padding:200px 48px 56px;max-width:calc(var(--max-width) + 96px);margin:0 auto;border-bottom:1px solid var(--color-border);}
.page-hero .section-label{opacity:0;animation:fadeUp .8s var(--ease-out) .1s forwards;}
.page-hero h1{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3.2rem);color:var(--color-primary-dark);font-weight:700;line-height:1.1;opacity:0;animation:fadeUp .8s var(--ease-out) .2s forwards;}
.page-hero .page-desc{font-size:.95rem;color:var(--color-text-light);max-width:520px;margin-top:12px;opacity:0;animation:fadeUp .8s var(--ease-out) .4s forwards;}

/* ---- MACHINES ---- */
.machines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;margin-top:48px;}
.machine-card{background:#fff;border:1px solid var(--color-border);border-radius:6px;padding:28px;transition:all .3s;}
.machine-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.06);transform:translateY(-2px);}
.machine-card .m-type{font-size:.68rem;font-weight:700;color:var(--color-accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;}
.machine-card h3{font-family:var(--font-heading);font-size:1.15rem;color:var(--color-primary-dark);margin-bottom:8px;font-weight:700;}
.machine-card .m-specs{font-size:.85rem;color:var(--color-text-light);line-height:1.7;}
.machine-card .m-specs strong{color:var(--color-text);font-weight:600;}

/* ---- FEATURED MACHINES (H500U / CE1000) ---- */
.featured-kopfzeile{font-size:1.05rem;color:var(--color-text-light);line-height:1.7;max-width:740px;margin-top:16px;}
.featured-machines{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px;}
.featured-card{background:#fff;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;transition:all .3s;}
.featured-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.08);transform:translateY(-3px);}
.featured-img{aspect-ratio:16/10;overflow:hidden;background:var(--color-bg-light);}
.featured-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out);}
.featured-card:hover .featured-img img{transform:scale(1.04);}
.featured-info{padding:24px 28px 28px;}
.featured-info .m-type{font-size:.68rem;font-weight:700;color:var(--color-accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;}
.featured-info h3{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-primary-dark);margin-bottom:10px;font-weight:700;}
.featured-info .m-specs{font-size:.88rem;color:var(--color-text-light);line-height:1.8;}
.featured-info .m-specs strong{color:var(--color-text);font-weight:600;}

/* Video in leistung images */
.leistung-images .img-wrapper video{width:100%;height:100%;object-fit:cover;}

/* ---- TIMELINE ---- */
.timeline{position:relative;margin-top:56px;padding-left:56px;}
.timeline::before{content:'';position:absolute;left:18px;top:0;bottom:0;width:2px;background:var(--color-border);}
.timeline-item{position:relative;padding-bottom:48px;}
.timeline-item::before{content:'';position:absolute;left:-46px;top:8px;width:12px;height:12px;background:#fff;border:3px solid var(--color-primary);border-radius:50%;z-index:1;}
.timeline-item .year{font-family:var(--font-heading);font-size:2rem;color:var(--color-primary);line-height:1;margin-bottom:6px;font-weight:800;}
.timeline-item p{color:var(--color-text-light);font-size:.9rem;line-height:1.8;max-width:520px;}

/* ---- LEISTUNGEN ---- */
.leistung-block{padding:64px 0;border-bottom:1px solid var(--color-border);}
.leistung-block:last-child{border:none;}
.leistung-header{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:32px;}
.leistung-header h2{font-family:var(--font-heading);font-size:clamp(1.4rem,3vw,2rem);color:var(--color-primary-dark);font-weight:700;line-height:1.2;}
.leistung-header p{color:var(--color-text-light);max-width:460px;font-size:.9rem;line-height:1.7;}
.leistung-images{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.leistung-images .img-wrapper{position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--color-bg-light);border-radius:4px;}
.leistung-images .img-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out);}
.leistung-images .img-wrapper:hover img{transform:scale(1.04);}
.leistung-details{margin-top:28px;}
.leistung-details ul{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.leistung-details ul li{padding:10px 16px;background:var(--color-bg-light);border-radius:4px;font-size:.85rem;color:var(--color-text-light);display:flex;align-items:center;gap:8px;}
.leistung-details ul li::before{content:'→';color:var(--color-primary);font-weight:700;}

/* ---- KARRIERE ---- */
.karriere-content{display:grid;grid-template-columns:2fr 1fr;gap:48px;margin-top:48px;}
.karriere-main h2{font-family:var(--font-heading);font-size:1.8rem;color:var(--color-primary-dark);margin-bottom:4px;font-weight:700;}
.karriere-main .job-type{font-size:.8rem;color:var(--color-accent);font-weight:600;letter-spacing:.3px;margin-bottom:24px;}
.karriere-main h3{font-size:.95rem;font-weight:700;color:var(--color-primary-dark);margin-top:24px;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--color-border);}
.karriere-main ul li{padding:5px 0 5px 16px;position:relative;font-size:.88rem;color:var(--color-text-light);}
.karriere-main ul li::before{content:'—';position:absolute;left:0;color:var(--color-primary);}
.karriere-sidebar{position:sticky;top:calc(var(--nav-height) + 28px);height:fit-content;}
.karriere-cta{background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:6px;padding:28px;}
.karriere-cta h4{font-family:var(--font-heading);font-size:1.15rem;color:var(--color-primary-dark);margin-bottom:10px;font-weight:700;}
.karriere-cta p{font-size:.85rem;color:var(--color-text-light);line-height:1.7;margin-bottom:16px;}

/* ---- ZERTIFIKATE ---- */
.cert-card{background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:6px;padding:36px;display:flex;align-items:center;gap:28px;margin-top:48px;max-width:600px;}
.cert-icon{width:64px;height:64px;background:#fff;border:2px solid var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.4rem;}
.cert-card h3{font-family:var(--font-heading);font-size:1.15rem;color:var(--color-primary-dark);margin-bottom:4px;font-weight:700;}
.cert-card p{font-size:.85rem;color:var(--color-text-light);margin-bottom:12px;}

/* ---- LEGAL ---- */
.legal-content{max-width:680px;padding:48px 0;}
.legal-content h2{font-family:var(--font-heading);font-size:1.35rem;color:var(--color-primary-dark);margin-top:32px;margin-bottom:8px;font-weight:700;}
.legal-content h3{font-size:1rem;font-weight:700;color:var(--color-primary-dark);margin-top:18px;margin-bottom:4px;}
.legal-content p{color:var(--color-text-light);font-size:.88rem;line-height:1.8;margin-bottom:12px;}

/* ---- PORTFOLIO ---- */
.portfolio-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px;}
.filter-btn{padding:7px 18px;border:1px solid var(--color-border);border-radius:3px;background:#fff;font-family:var(--font-body);font-size:.82rem;font-weight:500;color:var(--color-text-light);cursor:pointer;transition:all .3s;}
.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary);}
.filter-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);}
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;}
.portfolio-card{background:#fff;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;transition:all .3s;}
.portfolio-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.07);transform:translateY(-2px);}
.portfolio-img{width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--color-bg-light);}
.portfolio-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out);}
.portfolio-card:hover .portfolio-img img{transform:scale(1.04);}
.portfolio-img--placeholder{display:flex;align-items:center;justify-content:center;color:var(--color-border);}
.portfolio-body{padding:20px;}
.portfolio-cat{font-size:.68rem;font-weight:700;color:var(--color-accent);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px;display:block;}
.portfolio-body h3{font-family:var(--font-heading);font-size:1.1rem;color:var(--color-primary-dark);margin-bottom:6px;font-weight:700;}
.portfolio-body p{font-size:.85rem;color:var(--color-text-light);line-height:1.7;margin-bottom:12px;}
.portfolio-meta{display:flex;flex-wrap:wrap;gap:5px;}
.meta-tag{padding:3px 9px;background:var(--color-bg-light);border:1px solid var(--color-border-light);border-radius:2px;font-size:.75rem;color:var(--color-text-muted);font-weight:500;}

/* Image count badge */
.img-count{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.65);color:#fff;font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:3px;letter-spacing:.3px;pointer-events:none;}
.portfolio-img{position:relative;}

/* ---- PORTFOLIO MODAL ---- */
.pf-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.pf-modal.open{opacity:1;visibility:visible;}
.pf-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);}
.pf-modal-content{position:relative;background:#fff;border-radius:10px;max-width:940px;width:calc(100% - 40px);max-height:calc(100vh - 60px);overflow-y:auto;display:grid;grid-template-columns:1.3fr 1fr;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:fadeUp .3s ease;}
.pf-modal-close{position:absolute;top:14px;right:14px;z-index:10;width:36px;height:36px;border:none;background:rgba(0,0,0,.06);border-radius:50%;font-size:1.3rem;color:var(--color-text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.pf-modal-close:hover{background:rgba(0,0,0,.12);color:var(--color-primary-dark);}

/* Gallery */
.pf-modal-gallery{background:var(--color-bg-light);display:flex;flex-direction:column;}
.pf-modal-main-img{position:relative;aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f0f2f5;}
.pf-modal-main-img img{width:100%;height:100%;object-fit:contain;}
.pf-gallery-prev,.pf-gallery-next{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;background:rgba(255,255,255,.85);border-radius:50%;font-size:1.2rem;color:var(--color-primary-dark);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.1);}
.pf-gallery-prev{left:12px;}
.pf-gallery-next{right:12px;}
.pf-gallery-prev:hover,.pf-gallery-next:hover{background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.15);}
.pf-gallery-counter{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-family:var(--font-mono,monospace);font-size:.7rem;color:rgba(0,0,0,.5);background:rgba(255,255,255,.8);padding:3px 10px;border-radius:20px;}

/* Thumbnails */
.pf-modal-thumbs{display:flex;gap:6px;padding:10px 14px;overflow-x:auto;}
.pf-modal-thumbs img{width:56px;height:42px;object-fit:cover;border-radius:4px;border:2px solid transparent;cursor:pointer;opacity:.5;transition:all .2s;}
.pf-modal-thumbs img.active{border-color:var(--color-accent);opacity:1;}
.pf-modal-thumbs img:hover{opacity:.8;}

/* Info */
.pf-modal-info{padding:36px 32px;display:flex;flex-direction:column;gap:12px;}
.pf-modal-info h2{font-family:var(--font-heading);font-size:1.4rem;color:var(--color-primary-dark);font-weight:700;line-height:1.3;}
.pf-modal-info p{font-size:.9rem;color:var(--color-text-light);line-height:1.8;}
.pf-modal-specs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}

/* Modal responsive */
@media(max-width:768px){
  .pf-modal-content{grid-template-columns:1fr;max-height:calc(100vh - 40px);}
  .pf-modal-info{padding:24px 20px;}
}

/* ---- FOOTER ---- */
.footer{background:var(--color-primary-dark);color:rgba(255,255,255,.6);padding:56px 48px;}
.footer-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1.5fr 2fr;gap:48px;}
.footer-brand .footer-logo{font-family:var(--font-heading);font-size:1rem;color:#fff;font-weight:700;margin-bottom:12px;letter-spacing:1px;text-transform:uppercase;}
.footer-brand p{font-size:.82rem;line-height:1.7;max-width:260px;}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.footer-links a{font-size:.82rem;color:rgba(255,255,255,.5);padding:2px 0;display:block;transition:color .3s;}
.footer-links a:hover{color:#fff;}
.footer-bottom{max-width:var(--max-width);margin:32px auto 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;font-size:.72rem;color:rgba(255,255,255,.35);}

/* ---- BACK TO TOP ---- */
.back-to-top{position:fixed;bottom:24px;right:24px;width:40px;height:40px;background:var(--color-primary);border:none;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s;z-index:100;box-shadow:0 3px 10px rgba(26,58,92,.25);}
.back-to-top.visible{opacity:1;visibility:visible;}
.back-to-top:hover{background:var(--color-primary-light);transform:translateY(-2px);}

/* ---- ANIMATIONS ---- */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
