@font-face{font-family:Saira;src:url('../fonts/saira-condensed-v11-latin-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#09131f;--ink-2:#132333;--blue:#1559ff;--blue-2:#003398;--steel:#738191;--mist:#eef2f5;--line:#d8e0e7;--white:#fff;--container:1240px;--radius:4px;--shadow:0 24px 60px rgba(6,20,35,.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,a{touch-action:manipulation}
.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.narrow{max-width:900px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:10px;left:10px;z-index:9999;padding:10px 16px;background:#fff;color:#000;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.utility-bar{background:var(--ink);color:#c9d3de;font-size:13px;letter-spacing:.04em}
.utility-inner{display:flex;justify-content:space-between;align-items:center;min-height:36px}
.utility-links{display:flex;gap:28px}.utility-links a:hover{color:#fff}
.site-header{position:relative;z-index:100;background:rgba(255,255,255,.98);border-bottom:1px solid rgba(9,19,31,.08)}
.nav-shell{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:30px}
.brand img{width:120px;height:auto}.main-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700;letter-spacing:.02em}
.main-nav>a:not(.nav-cta){position:relative;padding-block:30px}.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--blue);transition:right .2s}.main-nav>a:hover::after,.main-nav>a[aria-current="page"]::after{right:0}
.nav-cta{padding:12px 18px;background:var(--blue);color:#fff;border-radius:var(--radius)}
.nav-toggle{display:none;border:0;background:none;padding:12px}.nav-toggle span:not(.sr-only){display:block;width:27px;height:2px;margin:5px;background:var(--ink)}
.hero{position:relative;min-height:720px;display:grid;align-items:end;isolation:isolate;color:#fff;overflow:hidden}
.hero-media,.hero-overlay{position:absolute;inset:0;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 54%}
.hero-overlay{z-index:-1;background:linear-gradient(90deg,rgba(4,13,24,.94) 0%,rgba(4,13,24,.77) 43%,rgba(4,13,24,.18) 78%),linear-gradient(0deg,rgba(4,13,24,.55),transparent 55%)}
.hero-content{padding-block:96px 50px}.eyebrow{margin:0 0 15px;color:#9fbdff;font-size:13px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.eyebrow.dark{color:var(--blue)}
h1,h2,h3{font-family:Saira,Impact,sans-serif;line-height:1.02;letter-spacing:-.025em;margin-top:0}h1{max-width:850px;margin-bottom:22px;font-size:clamp(54px,6.5vw,94px)}h1 span{color:#a8c1ff}h2{font-size:clamp(40px,4.5vw,66px);margin-bottom:24px}h3{font-size:30px;margin-bottom:14px}
.hero-lead{max-width:650px;margin:0 0 30px;color:#e2e8ee;font-size:21px;line-height:1.55}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 22px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:800;letter-spacing:.025em;transition:transform .18s,background .18s,color .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:#0c49d6}.button-ghost{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.06)}.button-dark{background:var(--ink);color:#fff}.button-outline{border-color:var(--ink);color:var(--ink)}
.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:780px;margin:60px 0 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.24);list-style:none}.hero-facts li{display:grid;gap:0}.hero-facts strong{font-family:Saira,sans-serif;font-size:30px}.hero-facts span{color:#bec8d2;font-size:13px}
.trust-strip{background:var(--blue);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);min-height:74px;align-items:center;text-align:center;font-family:Saira,sans-serif;font-size:18px;text-transform:uppercase;letter-spacing:.04em}.trust-grid span+span{border-left:1px solid rgba(255,255,255,.25)}
.section{padding-block:110px}.section-heading{margin-bottom:54px}.split-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}.split-heading h2{margin-bottom:0}.split-heading>p{margin:0;color:#526171;font-size:19px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-card{border:1px solid var(--line);background:#fff;overflow:hidden}.service-card-image picture img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-content,.compact-card{padding:34px}.card-number{display:block;margin-bottom:20px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.14em}.service-card p{color:#536170}.text-link{display:inline-block;margin-top:8px;color:var(--blue-2);font-weight:800;border-bottom:1px solid currentColor}.compact-card{min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--mist)}.accent-card{background:var(--blue);color:#fff}.accent-card p,.accent-card .card-number{color:#dfe8ff}
.video-section{background:var(--ink);color:#fff}.video-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center}.video-copy p:not(.eyebrow){color:#bbc7d3}.text-link.light{color:#fff}.video-frame{width:100%;aspect-ratio:16/9;background:#000;box-shadow:0 0 0 1px rgba(255,255,255,.12)}.video-frame iframe,.video-frame video{display:block;width:100%;height:100%;border:0}
.profile-section{background:#f8fafb}.profile-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center}.large-copy{font-size:20px;color:#4f5d6c}.check-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 25px;margin:32px 0 38px;padding:0;list-style:none}.check-list li{position:relative;padding-left:25px;font-weight:700}.check-list li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:5px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.profile-specs{display:grid;grid-template-columns:repeat(2,1fr);background:var(--ink);color:#fff;box-shadow:var(--shadow)}.profile-specs div{min-height:190px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.1)}.profile-specs strong{font-family:Saira,sans-serif;font-size:48px;color:#a8c1ff}.profile-specs span{font-size:14px;color:#bdc8d2}
.machines-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.machines-media img{width:100%;aspect-ratio:4/3;object-fit:cover}.machines-copy p{color:#536170}.machine-tags{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}.machine-tags span{padding:7px 11px;background:var(--mist);font-size:13px;font-weight:800}
.process-section{background:var(--mist)}.centered{text-align:center;max-width:700px;margin-inline:auto}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:50px 0 0;padding:0;background:#cdd6de;list-style:none}.process-grid li{padding:34px;background:#fff}.process-grid span{color:var(--blue);font-size:12px;font-weight:800}.process-grid h3{margin-top:38px}.process-grid p{color:#596675;font-size:15px}
.contact-band{padding-block:90px;background:var(--blue-2);color:#fff}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:center}.contact-grid h2{max-width:720px}.contact-grid p:not(.eyebrow){color:#cbd8ef}.contact-actions{display:grid;gap:16px}.contact-line{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.25)}.contact-line small{color:#bdd0f5}.contact-line strong{font-size:16px}
.faq-section details{border-top:1px solid var(--line);padding:22px 0}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{cursor:pointer;font-family:Saira,sans-serif;font-size:24px;font-weight:700}.faq-section details p{color:#536170}
.site-footer{padding:70px 0 22px;background:var(--ink);color:#c7d1dc}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px}.footer-grid strong{display:block;color:#fff;margin-bottom:12px}.footer-grid p,.footer-grid address{margin:0;font-style:normal;font-size:14px}.footer-grid a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;margin-top:55px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:#8998a8}
@media(max-width:960px){.utility-bar{display:none}.nav-shell{min-height:74px}.brand img{width:100px}.nav-toggle{display:block}.main-nav{position:absolute;top:74px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:18px 24px 28px;background:#fff;border-top:1px solid var(--line);box-shadow:0 18px 40px rgba(6,20,35,.12)}.main-nav.is-open{display:flex}.main-nav>a:not(.nav-cta){padding:13px 0}.main-nav>a:not(.nav-cta)::after{display:none}.nav-cta{text-align:center;margin-top:10px}.hero{min-height:670px}.hero-content{padding-block:90px 38px}.split-heading,.video-grid,.profile-grid,.machines-grid,.contact-grid{grid-template-columns:1fr;gap:46px}.service-grid{gap:16px}.profile-grid{gap:55px}.process-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.container{width:min(100% - 32px,var(--container))}.section{padding-block:76px}.hero{min-height:720px;align-items:end}.hero-overlay{background:linear-gradient(0deg,rgba(4,13,24,.96) 0%,rgba(4,13,24,.76) 65%,rgba(4,13,24,.25) 100%)}.hero-media img{object-position:57% center}.hero-content{padding-block:70px 26px}h1{font-size:48px}.hero-lead{font-size:18px}.hero-actions{display:grid}.hero-facts{grid-template-columns:1fr;margin-top:38px;padding-top:16px}.hero-facts li{grid-template-columns:110px 1fr;align-items:center;padding:6px 0}.hero-facts strong{font-size:24px}.trust-grid{grid-template-columns:repeat(2,1fr);padding:14px 0}.trust-grid span{padding:8px;font-size:15px}.trust-grid span+span{border:0}.trust-grid span:last-child{grid-column:1/-1}.service-grid{grid-template-columns:1fr}.compact-card{min-height:230px}.video-grid{gap:30px}.profile-specs{grid-template-columns:1fr 1fr}.profile-specs div{min-height:145px;padding:22px}.profile-specs strong{font-size:35px}.check-list{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.contact-line{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{display:grid;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.footer-map-link {
  min-height: 400px;
  padding: clamp(2rem, 5vw, 4rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.75rem;
  background: linear-gradient(135deg, #eaf0f8, #f8fafc);
  color: #16345f;
}

.footer-map-link strong {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
}

.footer-map-link span {
  font-size: 1.05rem;
}

.footer-map-link a {
  align-self: flex-start;
  margin-top: 0.75rem;
  padding: 0.8rem 1.1rem;
  background: #003398;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.footer-map-link a:hover,
.footer-map-link a:focus-visible {
  background: #002775;
}
.footer-map {
  display: block;
  width: 100%;
  min-height: 400px;
  height: 100%;
  border: 0;
}

/* Galerie und Videos */
@media (min-width: 961px) {
  .main-nav { gap: clamp(14px, 1.35vw, 24px); font-size: 13px; }
}

.subpage-hero {
  padding: clamp(78px, 9vw, 132px) 0;
  color: #fff;
  background:
    linear-gradient(105deg, rgba(4, 13, 24, .96), rgba(4, 13, 24, .72)),
    url('../images/optimized/hero-cnc-maschine-kundenfoto-1280.webp') center 48% / cover no-repeat;
}

.subpage-hero .container { max-width: 920px; margin-left: max(24px, calc((100vw - var(--container)) / 2)); }
.subpage-hero h1 { max-width: 820px; margin-bottom: 24px; }
.subpage-hero p:last-child { max-width: 720px; margin: 0; color: #d4dde6; font-size: clamp(18px, 2vw, 22px); }
.gallery-section, .videos-page { background: #f7f9fb; }

.modern-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.modern-gallery a {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #dfe5eb;
  box-shadow: 0 12px 30px rgba(6, 20, 35, .08);
}

.modern-gallery a::after {
  content: 'Vergrößern';
  position: absolute;
  right: 14px;
  bottom: 14px;
  padding: 6px 10px;
  background: rgba(4, 13, 24, .82);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  opacity: 0;
  transform: translateY(5px);
  transition: .2s ease;
}

.modern-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.modern-gallery a:hover img, .modern-gallery a:focus-visible img { transform: scale(1.035); }
.modern-gallery a:hover::after, .modern-gallery a:focus-visible::after { opacity: 1; transform: none; }

.modern-video-grid { display: grid; gap: 34px; }
.video-card { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 42px; align-items: center; padding: 28px; background: #fff; box-shadow: 0 16px 45px rgba(6, 20, 35, .08); }
.video-card:nth-child(even) .video-frame { order: 2; }
.video-card h2 { margin-bottom: 14px; font-size: clamp(28px, 3vw, 42px); }
.video-card p:last-child { margin-bottom: 0; color: #526171; }
.video-card-featured { border-top: 4px solid var(--blue); }
.video-transcript { margin-top: 22px; color: #526171; }
.video-transcript summary { cursor: pointer; color: var(--blue-2); font-weight: 800; }
.video-transcript ol { margin: 14px 0 0; padding-left: 22px; }
.video-transcript li + li { margin-top: 7px; }

@media (max-width: 960px) {
  .modern-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .video-card { grid-template-columns: 1fr; gap: 24px; }
  .video-card:nth-child(even) .video-frame { order: 0; }
}

@media (max-width: 560px) {
  .subpage-hero { padding: 74px 0; }
  .subpage-hero .container { margin-inline: auto; }
  .modern-gallery { grid-template-columns: 1fr; gap: 14px; }
  .video-card { padding: 18px; }
}
