@font-face{font-family:Satoshi;src:url('assets/satoshi.woff2') format('woff2');font-weight:300 900;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:150px}body{margin:0;background:#fff;color:var(--ink);font-family:Satoshi,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}img{object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.2;letter-spacing:-.025em}h2{font-size:clamp(29px,2.8vw,42px)}h3{font-size:18px;font-weight:750}p{color:var(--muted)}button{font:inherit}.container{width:min(1208px,calc(100% - 96px));margin-inline:auto}.wide-container{width:min(1360px,calc(100% - 64px));margin-inline:auto}.section{padding-block:64px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:50px;padding:12px 25px;border:1px solid var(--accent);border-radius:28px;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:15px;transition:background .2s}.button:hover{background:var(--accent-hover)}.button.outline{background:transparent;border-color:var(--ink);color:var(--ink);font-weight:600}.button.outline:hover{background:var(--accent-light);border-color:var(--accent-dark)}.header{position:sticky;top:0;z-index:10;color:var(--ink);background:var(--paper);border-bottom:1px solid #0000000f}.nav{min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:12px 40px}.brand{display:flex;align-items:center;flex:0 1 auto}.brand-mark{display:inline-flex;align-items:center}.brand-mark img{display:block;height:100px;width:auto}.primary-fill{fill:var(--accent)}.primary-stroke{stroke:var(--accent)}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a{letter-spacing:.04em}nav a:hover{text-decoration:underline;text-underline-offset:7px}.header-cta{white-space:nowrap}.menu-toggle{display:none}.hero{position:relative;height:min(520px,42vw);min-height:380px;background:var(--ink);color:#fff}.hero>img{width:100%;height:100%;position:absolute;inset:0;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0002 0%,transparent 35%,#0007 100%)}.hero-title{position:absolute;z-index:1;left:40px;bottom:64px;max-width:850px}.hero h1{font-size:clamp(48px,5.2vw,76px);font-weight:500;line-height:1.12}.hero-title p{color:#fff;font-size:19px;margin-top:18px}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center;margin:0 20px 64px}.section-heading>p{font-size:16px}.life-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 24px;width:100%;margin-inline:auto}.life-card{min-width:0}.life-card img{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover;transition:filter .2s}.life-card:hover img{filter:brightness(.94)}.life-card>div{padding-top:22px}.life-card p{margin-top:3px;max-width:530px}.call-to-action{padding:90px 24px;text-align:center;background:var(--paper)}.call-to-action h2{font-size:clamp(28px,3vw,44px);margin-bottom:35px}.call-to-action h2:before{content:'';display:block;width:110px;height:2px;background:var(--accent);margin:0 auto 34px}.video-wrap{max-width:984px;margin:auto;background:var(--ink)}video{width:100%;aspect-ratio:1.7778;object-fit:cover}.media-credit{max-width:984px;margin:12px auto 0;font-size:12px}.media-credit a{text-decoration:underline;text-underline-offset:3px}.equipment-cover{position:relative;margin-block:30px 64px}.equipment-cover>img{width:100%;max-height:660px;min-height:440px;object-fit:cover}.equipment-cover>div{position:absolute;bottom:32px;left:32px;max-width:590px;padding:38px;background:#ffffffdd;backdrop-filter:blur(12px);border-radius:0 0 55px 0}.equipment{padding-top:0}.feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-bottom:64px;scroll-margin-top:150px}.feature.reverse .feature-image{order:2}.feature-image img{width:100%;height:auto;max-height:650px;object-fit:cover}.feature-copy{padding:20px 10px;max-width:530px;margin:auto}.feature-copy h2{font-size:clamp(28px,2.6vw,38px)}.feature-copy>p{margin-top:25px}.checklist{margin:24px 0 30px;padding-left:22px;color:var(--ink)}.checklist li{padding-left:5px;margin-block:10px}.checklist li::marker{color:var(--accent-dark)}.feature .button{font-size:14px;gap:16px}.service-title{margin:0 20px 52px}.accordion{max-width:984px;margin:auto}.accordion details{border-top:1px solid #d4d4d4}.accordion details:last-child{border-bottom:1px solid #d4d4d4}.accordion summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;padding:23px 0;font-size:20px;font-weight:500;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:'+';font-size:27px;line-height:1}.accordion details[open] summary:after{content:'−'}.accordion details>div{padding:0 40px 26px 0}.accordion details a{display:inline-block;margin-top:15px;text-decoration:underline;text-underline-offset:4px}.funding{padding-top:25px;padding-bottom:100px}.funding p{margin:25px 0;max-width:950px}.contact-banner{position:relative;min-height:410px;display:grid;place-items:center;color:white;text-align:center}.contact-banner>img{position:absolute;inset:0;width:100%;height:100%}.contact-banner:after{content:'';position:absolute;inset:0;background:#0008}.contact-banner>div{position:relative;z-index:1;padding:50px 24px}.contact-banner h2{font-size:clamp(34px,3.5vw,50px);margin-bottom:30px}footer{background:var(--paper);color:var(--ink);border-top:1px solid #0000000f}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-block:64px}.footer-grid a{display:block;width:fit-content;margin-top:10px}.footer-grid h3{font-size:17px;margin-bottom:24px}.footer-grid p{color:var(--muted);margin-top:25px}.footer-brand{display:inline-flex}.footer-brand .brand-mark img{height:110px}.footer-phone{font-size:28px;margin-block:20px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-block:22px;border-top:1px solid #00000015;font-size:13px}.skip{position:fixed;top:-100px;left:15px;padding:12px;background:#fff;z-index:30}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
@media(max-width:1050px){.nav{gap:20px;padding-inline:24px;min-height:110px}nav{gap:18px;font-size:13px}.brand-mark img{height:78px}.header-cta{font-size:13px;padding-inline:18px}.section-heading{gap:50px;margin-inline:0}.feature{gap:35px}.feature-copy{padding:0}.container{width:calc(100% - 64px)}.hero{height:440px;min-height:0}.hero-title{left:32px}.footer-grid{gap:30px}}
@media(max-width:760px){html{scroll-padding-top:110px}.container,.wide-container{width:calc(100% - 36px)}.section{padding-block:45px}.header{background:var(--paper);position:sticky}.nav{min-height:96px;padding:8px 18px;flex-wrap:wrap;gap:0}.brand-mark img{height:60px}.header-cta{display:none}.menu-toggle{display:flex;align-items:center;gap:15px;background:transparent;color:var(--ink);border:1px solid #00000030;border-radius:6px;min-height:44px;padding:8px 12px}nav{width:100%;padding-block:15px;flex-wrap:wrap;gap:20px}.js nav{display:none}.js nav.is-open{display:flex;flex-direction:column;align-items:stretch}.hero{height:380px}.hero>img{object-position:58% center}.hero-title{left:22px;bottom:38px;right:20px}.hero h1{font-size:49px}.hero-title p{font-size:16px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:32px}.life-grid{gap:35px 18px}.life-card h3{font-size:16px}.life-card p{font-size:14px}.life-card>div{padding-top:14px}.call-to-action{padding:60px 18px}.call-to-action h2{font-size:30px}.equipment-cover{margin-block:20px 45px}.equipment-cover>img{height:430px;min-height:0}.equipment-cover>div{left:15px;bottom:15px;right:15px;padding:24px;max-width:none}.equipment-cover h2{font-size:28px}.feature{grid-template-columns:1fr;gap:26px;margin-bottom:50px}.feature.reverse .feature-image{order:0}.feature-image img{max-height:560px}.feature-copy{max-width:none;width:100%;margin:0}.service-title{margin:0 0 30px}.accordion summary{font-size:18px;padding-block:20px}.funding{padding-bottom:55px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px;padding-block:45px}.footer-grid>div:first-child{grid-column:1/-1}.footer-phone{font-size:24px}.footer-bottom{flex-wrap:wrap}.media-credit{font-size:11px}.contact-banner{min-height:350px}}
@media(max-width:480px){.life-grid{grid-template-columns:1fr}.life-card h3{font-size:18px}.life-card p{font-size:16px}.hero{height:320px}.hero h1{font-size:43px}.hero-title p{max-width:250px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Align the scenario heading and photo grid with the reference layout. */
#lebenslagen .section-heading{margin-inline:0}

/* One shared grid keeps all major section edges visually aligned. */
:root{--layout-max:1208px;--layout-gutter:48px}
.container,.wide-container,.nav{width:min(var(--layout-max),calc(100% - var(--layout-gutter)*2));margin-inline:auto}
.nav{padding-inline:0}
.hero-title{left:max(var(--layout-gutter),calc((100vw - var(--layout-max))/2));right:var(--layout-gutter)}
.section-heading,.service-title{margin-inline:0}
.video-wrap,.media-credit,.accordion{width:100%;max-width:none}
.equipment-cover{width:min(var(--layout-max),calc(100% - var(--layout-gutter)*2))}
.equipment-cover>div{left:32px;right:auto}

@media(max-width:1050px){
  :root{--layout-gutter:32px}
  .container,.wide-container,.nav{width:calc(100% - var(--layout-gutter)*2)}
  .hero-title{left:var(--layout-gutter);right:var(--layout-gutter)}
}

@media(max-width:760px){
  :root{--layout-gutter:18px}
  .container,.wide-container,.nav{width:calc(100% - var(--layout-gutter)*2)}
  .nav{padding-inline:0}
  .hero-title{left:var(--layout-gutter);right:var(--layout-gutter)}
  .equipment-cover>div{left:15px;right:15px}
}

/* Rounded glowing CTA motion from the reference. */
.button{
  position:relative;
  min-width:max-content;
  overflow:visible;
  border-radius:999px;
  filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent) 24%,transparent));
  translate:0 0;
  scale:1;
  transition:filter .38s cubic-bezier(.22,1,.36,1),translate .38s cubic-bezier(.22,1,.36,1),scale .38s cubic-bezier(.22,1,.36,1),background-color .38s ease,border-color .38s ease;
  animation:button-glow 2.8s ease-in-out infinite;
}
.button::before{display:none}
.button-label{display:inline-flex;align-items:center;translate:0 0}
.button-icon{display:none}
@media(hover:hover){
  .button:hover{
    background:var(--accent-hover);
    border-color:var(--accent-hover);
    filter:saturate(120%) drop-shadow(0 0 18px color-mix(in srgb,var(--accent) 48%,transparent));
    translate:0 -2px;
    scale:1.035;
    animation-play-state:paused;
  }
  .button.outline:hover{
    background:var(--accent-light);
    border-color:var(--accent-dark);
  }
}
.button:focus-visible{
  filter:saturate(120%) drop-shadow(0 0 18px color-mix(in srgb,var(--accent) 48%,transparent));
  translate:0 -2px;
  scale:1.035;
  animation-play-state:paused;
}
.button:active{translate:0 0;scale:.985;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 35%,transparent))}

@keyframes button-glow{
  0%,100%{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 20%,transparent))}
  50%{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 36%,transparent))}
}

@media(prefers-reduced-motion:reduce){
  .button{animation:none!important;transition:none!important}
}
