/* Mega GmbH – Design: Schwarz · Neon-Gelb · Marine · Azeret Mono (wie bisherige Seite) */
@font-face{font-family:"Azeret Mono";src:url(/fonts/AzeretMono-400.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Azeret Mono";src:url(/fonts/AzeretMono-500.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Azeret Mono";src:url(/fonts/AzeretMono-700.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Figtree;src:url(/fonts/Figtree-latin-variable.woff2) format("woff2");font-weight:300 900;font-display:swap}
:root{--lime:#E3FF00;--ink:#0C0C0C;--ink2:#171A00;--navy:#112F5B;--paper:#F3F8F0;--white:#fff;--muted:#5f6360;--line:#d9dfd4;--mono:"Azeret Mono",ui-monospace,Menlo,monospace;--sans:Figtree,"Helvetica Neue",Arial,sans-serif;--r:18px;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font:400 17px/1.65 var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.wrap{width:min(var(--max),100% - 48px);margin-inline:auto}.narrow{width:min(820px,100% - 48px)}
.skip{position:absolute;left:-999px;top:0;background:var(--lime);color:#000;padding:10px 16px;z-index:200}.skip:focus{left:8px;top:8px}
h1,h2,h3{font-family:var(--sans);line-height:1.06;letter-spacing:-.02em;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(40px,6vw,82px)}h2{font-size:clamp(30px,4vw,54px)}h3{font-size:21px;letter-spacing:-.01em;line-height:1.2}
em{font-style:normal;background:var(--lime);color:#000;padding:0 .14em;border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero em,.phero em,.stats em,.feature em,.emergency em,.footer em{background:none;color:var(--lime);padding:0}
.cta-band em{background:#000;color:var(--lime)}
.eyebrow{display:inline-block;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px;color:var(--navy)}
.hero .eyebrow,.phero .eyebrow,.stats .eyebrow,.feature .eyebrow,.emergency .eyebrow{color:var(--lime)}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:inherit;opacity:.86;max-width:56ch}
/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font:500 13px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:18px 26px;border-radius:999px;text-decoration:none;border:1.5px solid transparent;transition:.2s;cursor:pointer}
.btn svg{width:18px;height:18px}
.btn-red,.btn-yellow{background:var(--lime);color:#000}.btn-red:hover,.btn-yellow:hover{background:#fff;transform:translateY(-2px)}
.btn-line{border-color:currentColor;color:inherit;background:transparent}.btn-line:hover{background:var(--lime);border-color:var(--lime);color:#000}
.btn-ghost-light{border-color:#000;color:#000}.btn-ghost-light:hover{background:#000;color:var(--lime)}
.btn.big{padding:24px 34px;font-size:16px}.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.textlink{display:inline-flex;gap:8px;align-items:center;font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-bottom:2px solid var(--lime);padding-bottom:4px}.textlink svg{width:16px}
.textlink:hover{background:var(--lime)}
/* Top + Header */
.topline{background:var(--lime);color:#000;font:500 12px/1 var(--mono);letter-spacing:.04em}.topline .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0}
.topline a{display:inline-flex;gap:8px;align-items:center;text-decoration:none;font-weight:700}.topline svg{width:15px}
.header{background:var(--ink);color:#fff;position:sticky;top:0;z-index:100;border-bottom:1px solid #ffffff1f;transition:box-shadow .3s}.header.stuck{box-shadow:0 10px 30px #0008}
.header .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}.brand img{width:46px;height:auto}
.brand span{font:700 22px/1 var(--mono);letter-spacing:.08em;display:flex;flex-direction:column}.brand small{font:400 10px var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--lime);margin-top:4px}
.nav{display:flex;align-items:center;gap:30px}.nav>a,.dd>a{font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:#fff;padding:8px 0;position:relative}
.nav>a:not(.btn):after,.dd>a:after{content:"";position:absolute;left:0;bottom:2px;width:0;height:2px;background:var(--lime);transition:.25s}.nav>a:hover:after,.dd:hover>a:after{width:100%}
.nav-cta{padding:14px 22px!important;color:#000!important}
.dd{position:relative;display:flex;align-items:center;gap:6px}.dd-btn{background:none;border:0;color:#fff;padding:6px;cursor:pointer;display:none}
.dd-menu{position:absolute;top:100%;left:-20px;min-width:290px;background:var(--ink);border:1px solid #ffffff26;border-radius:14px;padding:10px;display:grid;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;box-shadow:0 24px 50px #0009}
.dd:hover .dd-menu,.dd:focus-within .dd-menu,.dd.open .dd-menu{opacity:1;visibility:visible;transform:none}
.dd-menu a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:9px;color:#fff;text-decoration:none;font:500 14px var(--sans)}.dd-menu a:hover{background:var(--lime);color:#000}
.dd-menu i{width:22px;height:22px;display:inline-block;color:var(--lime)}.dd-menu a:hover i{color:#000}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}.burger span{position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:.25s}.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}.burger[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}
/* Breadcrumbs */
.crumbs{background:var(--ink);color:#ffffffb0;font:400 12px var(--mono);padding:0 0 14px}.crumbs .wrap{padding-top:2px}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--lime)}.crumbs span{opacity:.5}.crumbs [aria-current]{color:var(--lime);opacity:1}
/* Hero */
.hero{background:var(--ink);color:#fff;padding:60px 0 100px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;right:-10%;top:-20%;width:60vw;height:60vw;background:radial-gradient(closest-side,#e3ff0022,transparent);pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;position:relative}
.hero h1{margin-bottom:26px}
.hero-points{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;padding:0;margin:40px 0 0;font:500 13px var(--mono)}.hero-points li{display:flex;gap:8px;align-items:center}.hero-points svg{width:18px;color:var(--lime)}
.hero-visual{position:relative;padding:0 0 50px 40px}
.hv-main{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5}.hv-main img{width:100%;height:100%;object-fit:cover}
.hv-sub{position:absolute;left:0;bottom:0;width:44%;aspect-ratio:1;border-radius:var(--r);overflow:hidden;border:6px solid var(--ink)}.hv-sub img{width:100%;height:100%;object-fit:cover}
.hv-badge{position:absolute;right:-14px;top:36px;background:var(--lime);color:#000;border-radius:16px;padding:16px 20px;display:flex;gap:14px;align-items:center;font:500 11px/1.4 var(--mono);transform:rotate(3deg);box-shadow:0 14px 34px #0007}.hv-badge b{font:700 34px/1 var(--mono)}
.hv-stamp{position:absolute;right:20px;bottom:10px;background:var(--navy);color:#fff;border-radius:16px;padding:14px 20px;display:flex;flex-direction:column;font:400 11px var(--mono);border:1px solid #ffffff33}.hv-stamp b{font:700 28px/1 var(--mono);color:var(--lime)}
/* Ticker */
.ticker{background:var(--lime);color:#000;overflow:hidden;border-block:1px solid #000;white-space:nowrap}
.ticker-track{display:inline-flex;animation:tick 38s linear infinite;padding:15px 0}.ticker span{font:700 15px var(--mono);letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center}.ticker i{display:inline-block;width:9px;height:9px;background:#000;border-radius:50%;margin:0 34px}
@keyframes tick{to{transform:translateX(-33.333%)}}
/* Sections */
.section{padding:clamp(70px,9vw,130px) 0}.tint{background:#e9efe5}
.two{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,6vw,90px);align-items:start}
.prose p{margin:0 0 1.2em}.prose a:not(.btn){text-underline-offset:3px;text-decoration-color:var(--lime);text-decoration-thickness:3px}.prose h2{font-size:30px;margin-top:1.6em}.prose h3{font-size:22px;margin-top:1.4em}.prose ul{padding-left:1.2em}.prose li{margin:.3em 0}
.sec-head{margin-bottom:clamp(36px,5vw,64px);max-width:820px}.sec-head.row{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}.sec-head p{font-size:19px;opacity:.75}
.sec-head.light{color:#fff}
.checks{list-style:none;padding:0!important;display:grid;gap:10px}.checks li{display:flex;gap:12px;align-items:center;font-weight:600}.checks svg{width:22px;background:var(--lime);border-radius:50%;padding:4px;flex:none}
/* Film */
.film{background:var(--ink);color:#fff;padding:clamp(70px,8vw,120px) 0}.film .wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(30px,5vw,70px);align-items:center}
.film .eyebrow{color:var(--lime)}.film em{background:none;color:var(--lime);padding:0}.film-copy p{opacity:.8;max-width:34ch}
.film-player{border-radius:var(--r);overflow:hidden;box-shadow:14px 14px 0 var(--lime);background:#000}.film-player video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
/* Service cards */
.sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.scard{background:#fff;border-radius:var(--r);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;border:1.5px solid transparent;transition:.25s}
.scard:hover{border-color:#000;transform:translateY(-6px);box-shadow:10px 10px 0 var(--lime)}
.scard-img{position:relative;aspect-ratio:4/3;overflow:hidden}.scard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.scard:hover img{transform:scale(1.06)}
.scard-img i{position:absolute;left:14px;bottom:14px;width:46px;height:46px;background:var(--lime);color:#000;border-radius:12px;display:grid;place-items:center}.scard-img i svg{width:24px}
.scard-body{padding:24px;display:flex;flex-direction:column;flex:1}.scard-body p{margin:0 0 18px;font-size:15.5px;color:var(--muted);flex:1}
.more{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;display:inline-flex;gap:8px;align-items:center}.more svg{width:16px;transition:.2s}.scard:hover .more svg{transform:translateX(5px)}
/* Stats */
.stats{background:var(--navy);color:#fff;padding:clamp(70px,8vw,110px) 0}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat-row>div{border-top:2px solid var(--lime);padding-top:20px}
.stat-row b{display:block;font:700 clamp(44px,6vw,84px)/1 var(--mono);color:var(--lime);letter-spacing:-.03em}.stat-row span{font:400 13px var(--mono);opacity:.85;display:block;margin-top:12px;max-width:22ch}
/* Feature */
.feature{display:grid;grid-template-columns:1.1fr 1fr;background:var(--ink);color:#fff}
.feature-img{min-height:520px;position:relative}.feature-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature-copy{padding:clamp(40px,7vw,110px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.feature-copy p{opacity:.85;max-width:44ch;margin-bottom:30px}
/* Why */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.why-grid>div{background:#fff;border-radius:var(--r);padding:34px;border:1.5px solid #0001}
.why-grid i{width:54px;height:54px;background:var(--lime);border-radius:14px;display:grid;place-items:center;margin-bottom:22px}.why-grid i svg{width:28px}.why-grid p{color:var(--muted);margin:0}
/* Emergency */
.emergency{background:var(--navy);color:#fff;overflow:hidden}.emergency .wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.em-img{min-height:420px;position:relative}.em-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.em-copy{padding:clamp(40px,6vw,90px) 0 clamp(40px,6vw,90px) clamp(30px,5vw,80px);align-self:center}.em-copy p{opacity:.85;margin-bottom:28px}
/* News */
.ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ncard{background:#fff;border-radius:var(--r);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;border:1.5px solid transparent;transition:.25s}.ncard:hover{border-color:#000;box-shadow:8px 8px 0 var(--lime);transform:translateY(-4px)}
.ncard-img{aspect-ratio:16/10;overflow:hidden;background:#dde3d8}.ncard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.ncard:hover img{transform:scale(1.05)}
.ncard-body{padding:22px 24px 26px}.ncard h3{margin:10px 0}.ncard p{margin:0;color:var(--muted);font-size:15px}
.meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font:400 12px var(--mono);color:var(--muted)}.chip{background:var(--lime);color:#000;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:99px}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}.chipbtn{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1.5px solid #000;background:transparent;border-radius:99px;padding:11px 18px;cursor:pointer}.chipbtn:hover,.chipbtn.on{background:#000;color:var(--lime)}
.ncard.hide{display:none}
/* Page hero */
.phero{background:var(--ink);color:#fff;padding:30px 0 90px}.phero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.phero h1{font-size:clamp(40px,5.5vw,74px)}.phero-img{border-radius:var(--r);overflow:hidden;aspect-ratio:5/4;box-shadow:16px 16px 0 var(--lime)}.phero-img img{width:100%;height:100%;object-fit:cover}
.contact-hero .wrap{grid-template-columns:1fr}.contact-hero{padding-bottom:70px}
/* Feature cards */
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.fcard{background:#fff;border-radius:var(--r);padding:32px;border:1.5px solid transparent;text-decoration:none;display:block;transition:.25s}
.fcard .num{font:700 14px var(--mono);background:var(--lime);display:inline-block;padding:6px 10px;border-radius:8px;margin-bottom:22px}.fcard h3{margin-bottom:10px}.fcard p{margin:0;color:var(--muted);font-size:15.5px}
.fcard.link:hover{border-color:#000;box-shadow:8px 8px 0 var(--lime)}.fcard i{width:40px;display:block;margin-bottom:16px}
.gallery{display:grid;gap:18px}.gallery.g4{grid-template-columns:repeat(4,1fr)}.gallery.g3{grid-template-columns:repeat(3,1fr)}
.gallery figure{margin:0;border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:4/5;background:#ddd}.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:10px;bottom:10px;right:10px;font:400 12px var(--mono);background:#000c;color:#fff;padding:8px 12px;border-radius:10px}
.others h3{font:500 13px var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}.chips{display:flex;flex-wrap:wrap;gap:12px}.chips a{display:inline-flex;gap:10px;align-items:center;border:1.5px solid #000;border-radius:99px;padding:10px 18px 10px 12px;text-decoration:none;font-weight:600}.chips a:hover{background:var(--lime)}.chips i{width:22px;display:inline-block}
.addr{display:flex;gap:10px;align-items:flex-start;font-weight:600}.addr svg{width:22px;flex:none}
/* Team */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,300px));gap:30px}.person .ph{border-radius:var(--r);overflow:hidden;aspect-ratio:1;background:var(--navy);margin-bottom:18px}.person .ph img{width:100%;height:100%;object-fit:cover;object-position:top}.person p{margin:0;font:400 13px var(--mono);color:var(--muted)}.person h3{margin-bottom:4px}
/* Contact */
.cgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.cinfo{display:grid;gap:16px;align-content:start}
.cbox{display:flex;gap:18px;align-items:center;background:#fff;border-radius:var(--r);padding:22px 24px;text-decoration:none;border:1.5px solid transparent}a.cbox:hover{border-color:#000;box-shadow:8px 8px 0 var(--lime)}
.cbox i{width:54px;height:54px;background:var(--lime);border-radius:14px;display:grid;place-items:center;flex:none}.cbox i svg{width:26px}.cbox small{display:block;font:400 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cbox b{font-size:19px}
.form{background:#fff;border-radius:var(--r);padding:clamp(24px,4vw,44px);display:grid;gap:18px}.form label{display:grid;gap:7px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.form input,.form select,.form textarea{font:400 17px var(--sans);text-transform:none;letter-spacing:0;padding:15px 16px;border:1.5px solid #c9d0c4;border-radius:12px;background:var(--paper);width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid var(--lime);border-color:#000}
.topics{}.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chk{display:flex!important;grid-template-columns:none;gap:12px;align-items:center;text-transform:none!important;font:400 14px var(--sans)!important;letter-spacing:0!important}.chk input{width:20px;height:20px;accent-color:#000}
.topics{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.topics legend{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;padding:0}
.radio{display:block!important;position:relative;cursor:pointer;text-transform:none!important;font:500 15px var(--sans)!important;letter-spacing:0!important}.radio input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;inset:0}
.radio span{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1.5px solid #c9d0c4;border-radius:12px;background:var(--paper);transition:.15s;line-height:1.2}
.radio span:before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid #000;flex:none;box-sizing:border-box}
.radio input:checked+span{background:var(--lime);border-color:#000}.radio input:checked+span:before{background:#000;box-shadow:inset 0 0 0 3px var(--lime)}.radio input:focus-visible+span{outline:3px solid #000;outline-offset:2px}
.upload{display:grid;gap:8px}.upload .lbl{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase}.upload small{font:400 12px var(--mono);color:var(--muted)}
.filebtn{display:inline-flex;width:max-content;position:relative;cursor:pointer}.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;font-size:0}
.filebtn span{background:#000;color:var(--lime);font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:14px 22px;border-radius:999px}.filebtn:hover span{background:var(--navy)}
#flist{list-style:none;margin:0;padding:0;display:grid;gap:6px;font:400 13px var(--mono)}#flist li{display:flex;justify-content:space-between;gap:10px;background:var(--paper);border-radius:8px;padding:8px 12px}#flist button{border:0;background:none;cursor:pointer;font-weight:700}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.fmsg{display:none;border-radius:12px;padding:16px 18px;font-weight:600}.fmsg.ok{display:block;background:var(--lime)}.fmsg.err{display:block;background:#ffe3e0;border:1.5px solid #c0261b}
.form.sent>*:not(.fmsg){display:none}
.note{font:400 12px var(--mono);color:var(--muted);margin:0}
.locs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.loc{background:#fff;border-radius:var(--r);padding:30px}.loc svg{width:32px;background:var(--lime);padding:6px;border-radius:10px;width:40px;margin-bottom:16px}.loc p{margin:0 0 14px;color:var(--muted)}.loc a{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--lime);text-decoration:none}
/* FAQ */
.faq details{background:#fff;border-radius:14px;margin-bottom:12px;border:1.5px solid transparent}.faq details[open]{border-color:#000;box-shadow:6px 6px 0 var(--lime)}
.faq summary{cursor:pointer;list-style:none;padding:20px 56px 20px 24px;font-weight:700;font-size:18px;position:relative}.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font:700 18px var(--mono)}
.faq details[open] summary:after{content:"–"}.faq details p{margin:0;padding:0 24px 22px;color:var(--muted)}
/* Post */
.post-head{background:var(--ink);color:#fff;padding:50px 0 0;margin-bottom:0}.post-head h1{font-size:clamp(32px,4.6vw,58px);margin-top:18px}.post-head .meta{color:#ffffffa0}
.post-cover{margin-top:40px;transform:translateY(60px);margin-bottom:60px}.post-cover img{width:100%;max-height:560px;object-fit:cover;border-radius:var(--r);box-shadow:12px 12px 0 var(--lime)}
.post-body{padding:70px 0 30px;font-size:18px}.post-body img{border-radius:14px;margin:1.2em 0}.post-body figure{margin:1.6em 0}.post-body figcaption{font:400 12px var(--mono);color:var(--muted)}.post-body a{font-weight:600}
.post-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:var(--r);padding:30px 34px;margin:30px auto 80px}.post-cta span{display:block;opacity:.75;font-size:15px}
.legal{padding-top:50px}.legal h1{font-size:clamp(34px,4vw,54px)}.legal h2{font-size:26px}
.big404{font-size:clamp(34px,5vw,64px)}
/* CTA + Footer */
.cta-band{background:var(--lime);color:#000;padding:clamp(60px,7vw,100px) 0}.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}.cta-band h2{margin:0;font-size:clamp(32px,4.4vw,60px)}.cta-band .eyebrow{color:#000}.cta-actions{display:flex;gap:14px;flex-wrap:wrap}
.cta-band .btn-yellow{background:#000;color:var(--lime)}.cta-band .btn-yellow:hover{background:#fff;color:#000}
.footer{background:var(--ink);color:#ffffffc8;padding:80px 0 30px;font-size:15px}.footer .wrap:first-child{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.footer h3{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin-bottom:18px}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer a{text-decoration:none}.footer a:hover{color:var(--lime)}.footer address{font-style:normal}.footer address p{margin:0 0 14px}.footer .mt{margin-top:28px}
.f-brand p{max-width:34ch;margin:18px 0}.social{display:flex;gap:10px;flex-wrap:wrap}.social a{border:1px solid #ffffff40;border-radius:99px;padding:8px 14px;font:400 12px var(--mono)}.social a:hover{background:var(--lime);color:#000;border-color:var(--lime)}
.f-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #ffffff22;margin-top:56px;padding-top:24px;font:400 12px var(--mono)}
.fab{display:none;position:fixed;right:16px;bottom:16px;width:60px;height:60px;border-radius:50%;background:var(--lime);color:#000;place-items:center;z-index:90;box-shadow:0 10px 30px #0008}.fab svg{width:26px}
/* Reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.header :focus-visible,.hero :focus-visible{outline-color:#fff}
@media(max-width:1100px){.sgrid{grid-template-columns:repeat(2,1fr)}.footer .wrap:first-child{grid-template-columns:1fr 1fr}}
@media(max-width:900px){
 .burger{display:block}.dd-btn{display:block}
 .nav{position:fixed;inset:84px 0 0 0;background:var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:20px 24px 40px;overflow:auto;transform:translateX(100%);transition:.3s;visibility:hidden}
 .nav.open{transform:none;visibility:visible}.nav>a,.dd>a{font-size:18px;padding:18px 0;border-bottom:1px solid #ffffff1f}.dd{flex-wrap:wrap}.dd>a{flex:1}.dd-menu{position:static;opacity:1;visibility:visible;transform:none;display:none;width:100%;border:0;box-shadow:none;padding:0 0 10px;background:none}.dd.open .dd-menu{display:grid}
 .nav-cta{margin-top:24px;justify-content:center}
 .film .wrap,.hero .wrap,.phero .wrap,.two,.feature,.emergency .wrap,.cgrid{grid-template-columns:1fr}.hero{padding-bottom:70px}.hero-visual{padding-left:0}.hv-badge{right:6px}
 .feature-img{min-height:320px}.em-copy{padding:40px 0}.em-img{min-height:280px}.ngrid,.why-grid,.fgrid,.locs{grid-template-columns:1fr 1fr}.stat-row{grid-template-columns:1fr 1fr;gap:36px 20px}.gallery.g4{grid-template-columns:1fr 1fr}.gallery.g3{grid-template-columns:1fr 1fr}
 .fab{display:grid}.topline span{display:none}.topline .wrap{justify-content:center}
}
@media(max-width:620px){body{font-size:16px}.wrap{width:calc(100% - 32px)}.sgrid,.ngrid,.why-grid,.fgrid,.locs,.row2,.team,.topics{grid-template-columns:1fr}.footer .wrap:first-child{grid-template-columns:1fr}.gallery.g4,.gallery.g3{grid-template-columns:1fr 1fr;gap:10px}.btn{padding:16px 20px}.post-cta{padding:24px}.hero{padding-top:36px}.phero-img{box-shadow:8px 8px 0 var(--lime)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
/* Formular: Auswahl-Buttons (Anliegen) – ein klarer Zustand statt doppeltem Rahmen */
.form .radio input{padding:0;border:0;border-radius:0;background:none;outline:none!important;box-shadow:none}
.radio span{min-height:50px;font-weight:600;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}
.radio:hover span{border-color:#000;background:#fff}
.radio span:before{width:20px;height:20px;border-width:2px;background:#fff;transition:.15s}
.radio input:checked+span{background:#000;border-color:#000;color:var(--lime);box-shadow:4px 4px 0 var(--lime)}
.radio input:checked+span:before{background:var(--lime);border-color:var(--lime);box-shadow:inset 0 0 0 4px #000}
.radio input:focus-visible+span{outline:3px solid var(--navy);outline-offset:3px}
.radio input:checked:focus-visible+span{outline-color:var(--navy)}
/* Einreichen / Datei-Button */
.form .btn[type=submit]{width:100%;justify-content:center;padding:20px 26px}
.form .btn[type=submit]:active{transform:translateY(0) scale(.99)}
.form .btn[type=submit]:focus-visible,.filebtn:focus-within span{outline:3px solid var(--navy);outline-offset:3px}
.form .btn[disabled]{cursor:progress}
.filebtn:hover span{background:var(--navy)}
/* CAPTCHA-Status */
.captcha{display:flex;align-items:center;gap:12px;font:400 13px var(--mono);color:var(--muted);background:var(--paper);border-radius:12px;padding:12px 16px}
.cap-ic{width:22px;height:22px;border-radius:50%;border:2.5px solid #c9d0c4;border-top-color:#000;animation:spin .8s linear infinite;flex:none;box-sizing:border-box}
.captcha.ok{color:#000}.captcha.ok .cap-ic{animation:none;border:0;background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.500 4.500L19 7.500'/%3E%3C/svg%3E") center/70% no-repeat}
.captcha.err{background:#ffe3e0;color:#7a130c}.captcha.err .cap-ic{animation:none;border-color:#c0261b}
@keyframes spin{to{transform:rotate(360deg)}}
/* Leistungskarten mit Bild */
.fcard.has-img{padding:0;overflow:hidden;display:flex;flex-direction:column}.fcard.has-img .fimg{position:relative;aspect-ratio:4/3;overflow:hidden;background:#dde3d8}
.fcard.has-img .fimg img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.fcard.has-img:hover .fimg img{transform:scale(1.05)}
.fcard.has-img .num{position:absolute;left:14px;top:14px;margin:0}.fcard.has-img .fbody{padding:24px 26px 28px}
.gallery.g2{grid-template-columns:1fr 1fr}.gallery.g2 figure{aspect-ratio:4/5}.gallery.ba figure{aspect-ratio:3/4}
/* Aktion */
.promo{background:var(--navy);color:#fff;padding:clamp(60px,8vw,110px) 0;position:relative;overflow:hidden}.promo:before{content:"";position:absolute;left:-10%;bottom:-30%;width:50vw;height:50vw;background:radial-gradient(closest-side,#e3ff0018,transparent);pointer-events:none}
.promo .eyebrow{color:var(--lime)}.promo h2{font-size:clamp(32px,4.6vw,62px)}.promo em{background:none;color:var(--lime);padding:0}.promo-top{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,70px);align-items:center;position:relative}
.promo-copy p{opacity:.88;max-width:52ch}.promo-img{position:relative}.pimg-main{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;max-height:560px;margin-left:auto;background:#fff}.pimg-main img{width:100%;height:100%;object-fit:cover}
.pimg-badge{position:absolute;left:-18px;bottom:30px;background:var(--lime);color:#000;border-radius:18px;padding:16px 22px;transform:rotate(-3deg);box-shadow:0 14px 34px #0007;display:flex;flex-direction:column;line-height:1.05}.pimg-badge small{font:500 12px var(--mono);text-transform:uppercase}.pimg-badge b{font:700 40px var(--mono);letter-spacing:-.03em}.pimg-badge span{font:400 11px var(--mono)}
.countdown{display:inline-flex;align-items:center;gap:14px;background:#ffffff14;border:1px solid #ffffff33;border-radius:14px;padding:12px 18px;margin:6px 0 4px}.countdown[hidden]{display:none}.countdown b{font:700 34px/1 var(--mono);color:var(--lime)}.countdown span{font:400 12px var(--mono);max-width:14ch;line-height:1.3}
.ogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(40px,5vw,64px);position:relative}
.ocard{background:#fff;color:#000;border-radius:var(--r);padding:24px;text-decoration:none;display:flex;flex-direction:column;gap:8px;border:1.5px solid transparent;transition:.25s}.ocard:hover{border-color:var(--lime);box-shadow:8px 8px 0 var(--lime);transform:translateY(-4px)}
.otag{align-self:flex-start;background:var(--lime);color:#000;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:99px}
.ocard h3{margin:6px 0 0}.ofit{margin:0;color:var(--muted);font-size:14px}.ocard ul{list-style:none;padding:0;margin:6px 0;display:flex;flex-wrap:wrap;gap:6px 14px;font:400 12px var(--mono)}.ocard li:before{content:"· "}.ocard li:first-child:before{content:""}
.oprice{margin-top:auto;display:flex;align-items:baseline;gap:10px;border-top:1px solid #0001;padding-top:14px}.oprice small{font:400 11px var(--mono);color:var(--muted)}.oprice b{font:700 24px var(--mono);letter-spacing:-.02em}
.ofoot{font:400 12px var(--mono);opacity:.7;margin:26px 0 0;max-width:90ch}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mcard{background:#fff;border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:12px;border:1.5px solid transparent}.mcard:hover{border-color:#000;box-shadow:8px 8px 0 var(--lime)}
.mcard dl{margin:6px 0;display:grid;gap:0}.mcard dl div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #0001;font-size:15px}.mcard dt{color:var(--muted)}.mcard dd{margin:0;font-weight:700;text-align:right}
.mprice{margin-top:6px}.mprice b{display:block;font:700 30px var(--mono);letter-spacing:-.02em}.mprice small{font:400 12px var(--mono);color:var(--muted)}.mcard .btn{justify-content:center}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step{border-top:2px solid #000;padding-top:18px}.step span{font:700 40px var(--mono);color:#000;background:var(--lime);padding:0 8px;border-radius:8px}.step h3{margin:16px 0 8px}.step p{margin:0;color:var(--muted)}
@media(max-width:900px){.promo-top,.mgrid,.ogrid,.steps{grid-template-columns:1fr 1fr}.promo-top{grid-template-columns:1fr}.pimg-main{max-height:420px;margin:0}.pimg-badge{left:10px}}
@media(max-width:620px){.ogrid,.mgrid,.steps{grid-template-columns:1fr}.gallery.g2{grid-template-columns:1fr 1fr}}
/* Aktion: Oertli-Produktbilder (freigestellt auf hellgrauem Grund) */
.promo .pimg-main{aspect-ratio:16/10;max-height:none;background:#eaeff0}.promo .pimg-main img{object-fit:contain}
.phero-img:has(img[src*="mt_banner"]){background:#eaeff0}.phero-img img[src*="mt_banner"]{object-fit:contain}
.oimg{background:#eaeff0;border-radius:12px;height:190px;overflow:hidden;margin-bottom:6px}.oimg img{display:block;width:100%;height:100%;object-fit:contain}
.mcard .oimg{height:260px}
/* WhatsApp-Button (reiner Link, keine Drittanbieter-Skripte) */
.wa{position:fixed;right:20px;bottom:20px;z-index:95;display:flex;align-items:center;gap:10px;background:#25D366;color:#fff;text-decoration:none;border-radius:999px;padding:12px 20px 12px 14px;font:700 14px var(--sans);box-shadow:0 10px 30px #0006;transition:transform .2s,box-shadow .2s}
.wa svg{width:30px;height:30px;flex:none}.wa:hover{transform:translateY(-3px);box-shadow:0 16px 36px #0007}.wa:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:900px){.wa{right:16px;bottom:88px;padding:0;width:60px;height:60px;justify-content:center}.wa span{display:none}.wa svg{width:32px;height:32px}}
/* Rückruf */
.topline .tl-r{display:flex;align-items:center;gap:14px}.cb-link{background:#000;color:var(--lime);border:0;border-radius:99px;padding:6px 14px;font:700 12px var(--mono);cursor:pointer}.cb-link:hover{background:#fff;color:#000}
.cbdlg{border:0;border-radius:var(--r);padding:0;width:min(440px,calc(100% - 32px));background:#fff;box-shadow:0 30px 80px #000a}.cbdlg::backdrop{background:#000b;backdrop-filter:blur(3px)}
.cbdlg .form{padding:30px 28px 26px;position:relative}.cbdlg h2{font-size:28px;margin:0 0 4px;padding-right:36px}.cb-x{position:absolute;right:14px;top:12px;width:38px;height:38px;border-radius:50%;border:0;background:var(--paper);font-size:24px;line-height:1;cursor:pointer}.cb-x:hover{background:var(--lime)}
.cbdlg .form.sent>*:not(.fmsg):not(.cb-x){display:none}
button.cbox{border:0;cursor:pointer;text-align:left;font:inherit;width:100%}
/* Partner */
.partners{background:#fff;padding:clamp(60px,7vw,100px) 0;border-block:1px solid #0001}
.plogos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 28px;align-items:center}
.plogos a{display:grid;place-items:center;height:84px;padding:12px 16px;border-radius:14px;border:1.5px solid transparent;transition:.2s}.plogos a:hover{border-color:#000;box-shadow:6px 6px 0 var(--lime)}
.plogos img{max-height:54px;width:auto;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.78;transition:.2s}.plogos a:hover img,.plogos a:focus-visible img{filter:none;opacity:1}
/* Bewertungen */
.rsum{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.rsum b{font:700 54px/1 var(--mono);letter-spacing:-.03em}.rst{color:#f4b400;font-size:22px;letter-spacing:2px}.rsum small{font:400 12px var(--mono);color:var(--muted)}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.rcard{margin:0;background:#fff;border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:14px}.rcard blockquote{margin:0;font-size:16px;flex:1}.rcard figcaption{font-weight:700;font-size:14px;display:flex;justify-content:space-between;gap:10px}.rcard figcaption span{font:400 12px var(--mono);color:var(--muted)}
@media(max-width:900px){.rgrid{grid-template-columns:1fr}.topline .tl-r{gap:10px}}
.plogos.small{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 18px}.plogos.small a{height:64px;padding:8px 12px}.plogos.small img{max-height:38px}
.pmore{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:46px 0 16px}
.ptext{font:700 22px var(--sans);color:#555;letter-spacing:-.01em;text-align:center}.ptext:hover{color:#000}
/* Mobil: grössere Tap-Ziele und lesbarere Kleinschrift (Ergebnis des Mobiltests) */
.topline a,.cb-link{min-height:40px;display:inline-flex;align-items:center}.topline .wrap{padding:4px 0}
.crumbs a{display:inline-block;padding:10px 2px}.textlink{padding:10px 0 6px}.footer ul a,.footer address a{display:inline-block;padding:7px 0}.social a{padding:12px 18px}.f-bottom a{display:inline-block;padding:8px 2px}
.loc a,.chips a{min-height:44px;display:inline-flex;align-items:center}
.cbox small,.oprice small,.otag,.chip,.hv-stamp,.countdown span,.stat-row span,.mprice small,.brand small,.ofoot,.note,.captcha{font-size:12px}
.plogos a{text-decoration:none}
/* Hinweis-Banner (z. B. Betriebsferien) */
.banner{background:var(--navy);color:#fff;font:500 14px/1.45 var(--sans);border-bottom:1px solid #ffffff22}
.banner .wrap{display:flex;align-items:center;justify-content:center;gap:12px 14px;padding:11px 44px 11px 0;position:relative;flex-wrap:wrap;text-align:center}
.bn-tag{background:var(--lime);color:#000;border-radius:99px;padding:4px 12px;font:700 11px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.bn-text b{color:var(--lime);font-weight:700}
.bn-x{position:absolute;right:0;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:none;color:#fff;font-size:26px;line-height:1;cursor:pointer;border-radius:50%}.bn-x:hover{background:#ffffff22}
@media(max-width:620px){.banner{font-size:13px}.banner .wrap{padding:10px 40px 10px 0;justify-content:flex-start;text-align:left}}
