:root{--ink:#101111;--paper:#f5f5f2;--white:#fff;--red:#ed1c24;--deep:#b90f17;--yellow:#ffd84a;--muted:#666a68;--line:#d7d9d5;--max:1240px;--shadow:0 24px 70px rgba(8,10,9,.14)}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}
body.menu-open{overflow:hidden}
a{color:inherit}
img{max-width:100%;display:block}
.skip{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--yellow);padding:.75rem 1rem;font-weight:800}
.skip:focus{top:1rem}
.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
.eyebrow{display:flex;align-items:center;gap:.65rem;font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--deep)}
.eyebrow:before{content:"";width:28px;height:3px;background:var(--red)}

.topbar{background:var(--ink);color:#eee;font-size:.78rem}
.topbar .wrap{display:flex;justify-content:flex-end;gap:1.5rem;padding:.45rem 0}
.topbar a{text-decoration:none}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #e5e5e2}
.nav{height:84px;display:flex;align-items:center;gap:2.2rem}
.brand{width:178px;flex:none}
.brand img{width:100%;height:62px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:1.35rem;margin-left:auto}
.nav-links a{text-decoration:none;font-size:.9rem;font-weight:800;position:relative}
.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--red);transition:.2s}
.nav-links a:hover:after,.nav-links a.active:after{right:0}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;text-decoration:none;font-weight:900;border:2px solid var(--red);padding:.8rem 1.15rem;transition:.2s;cursor:pointer}
.nav-cta,.btn.primary{background:var(--red);color:white}
.nav-cta:hover,.btn.primary:hover{background:var(--deep);border-color:var(--deep);transform:translateY(-2px)}
.btn.secondary{border-color:var(--ink);background:transparent}
.btn.secondary:hover{background:var(--ink);color:white}
.menu-btn{display:none;margin-left:auto;border:0;background:transparent;width:46px;height:46px;font-size:1.5rem}

.hero{min-height:680px;display:grid;align-items:stretch;background:var(--ink);color:white;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 48%,rgba(237,28,36,.16) 48.1%,transparent 65%),repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.035) 80px)}
.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;position:relative}
.hero-copy{padding:112px 8vw 100px max(20px,calc((100vw - var(--max))/2));align-self:center}
.hero h1,.page-hero h1{font-size:clamp(3.2rem,6.3vw,6.3rem);line-height:.93;letter-spacing:-.065em;margin:.8rem 0 1.5rem;max-width:850px}
.hero h1 em{font-style:normal;color:var(--yellow)}
.lead{font-size:clamp(1.12rem,1.5vw,1.35rem);max-width:730px;color:#d6d8d7}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.2rem}
.hero .btn.secondary{border-color:white}
.hero .btn.secondary:hover{background:white;color:var(--ink)}
.hero-visual{display:flex;align-items:flex-end;padding:70px min(7vw,90px) 70px 30px;background:linear-gradient(90deg,var(--ink),rgba(16,17,17,.15)),url("blitzschutzanlage-montage-industriegebaeude.webp") center/cover}
.system-card{width:100%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.045);backdrop-filter:blur(8px);box-shadow:var(--shadow)}
.system-label{padding:1rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.15);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#bfc1c0}
.system-step{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:1rem;padding:1.25rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.12)}
.system-step:last-child{border:0}
.system-step .num{color:var(--yellow);font-weight:900}
.system-step strong{font-size:1.05rem;letter-spacing:.04em}
.system-step span:last-child{font-size:1.5rem;color:var(--red)}
.trustline{background:var(--yellow);font-weight:900}
.trustline .wrap{display:flex;justify-content:center;gap:3rem;padding:1rem;text-align:center}
.trustline span{display:flex;align-items:center;gap:.7rem}
.trustline span:before{content:"";width:6px;height:6px;background:var(--red);transform:rotate(45deg)}

section{padding:100px 0}
.section-head{display:grid;grid-template-columns:.55fr 1fr;gap:3rem;margin-bottom:3.5rem}
.section-head h2,.split h2,.cta h2{font-size:clamp(2.3rem,4.5vw,4.5rem);line-height:1;letter-spacing:-.055em;margin:.4rem 0}
.section-head p{font-size:1.12rem;margin:.5rem 0;color:#4e5350;max-width:720px}
.dark{background:var(--ink);color:white}
.dark .section-head p{color:#c8cbc9}
.partner-link{color:inherit;font-weight:700;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:.2em}
.partner-link:hover,.partner-link:focus-visible{color:var(--yellow)}
.inline-link{color:inherit;font-weight:750;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:.2em}
.inline-link:hover,.inline-link:focus-visible{color:var(--red)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ccc;border:1px solid #ccc}
.card{background:white;padding:2.2rem;min-height:520px;display:flex;flex-direction:column}
.card-image{width:calc(100% + 4.4rem);height:210px;object-fit:cover;margin:-2.2rem -2.2rem 2rem}
.card .icon{width:54px;height:54px;display:grid;place-items:center;background:var(--ink);color:var(--yellow);font-size:1.4rem;font-weight:900;margin-bottom:4rem}
.card h3{font-size:1.7rem;line-height:1.05;margin:0 0 1rem;letter-spacing:-.035em}
.card p{color:#5b5e5c}
.card ul{padding-left:1.1rem;margin:.5rem 0 1.5rem}
.card li::marker{color:var(--red)}
.text-link{margin-top:auto;font-weight:900;text-decoration:none;border-bottom:2px solid var(--red);width:max-content}
.text-link:hover{color:var(--red)}

.process{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #454846;border-left:1px solid #454846}
.process-item{padding:2rem;border-right:1px solid #454846;border-bottom:1px solid #454846;min-height:220px}
.process-item .n{font-size:.8rem;color:var(--yellow);font-weight:900}
.process-item h3{font-size:1.4rem;margin:2.4rem 0 .5rem}
.process-item p{color:#bec1bf;margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.statement{background:var(--red);color:#fff;padding:5vw;position:relative}
.statement:after{content:"";position:absolute;right:28px;top:28px;width:70px;height:70px;border-top:8px solid var(--yellow);border-right:8px solid var(--yellow)}
.statement blockquote{margin:0;font-size:clamp(2rem,4vw,4.2rem);line-height:1.03;font-weight:900;letter-spacing:-.05em}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.check{border-top:1px solid var(--line);padding-top:1rem;font-weight:800}
.check:before{content:"+";color:var(--red);margin-right:.6rem}
.industries{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.industry{border:1px solid var(--line);padding:1.7rem;min-height:240px;transition:.2s}
.industry:hover{background:white;box-shadow:0 12px 35px rgba(0,0,0,.08);transform:translateY(-3px)}
.industry .index{font-weight:900;color:var(--red)}
.industry h3{font-size:1.35rem;line-height:1.1;margin:3rem 0 .8rem}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#3b3d3c}
.fact{background:var(--ink);padding:2.4rem}
.fact strong{display:block;color:var(--yellow);font-size:3rem;line-height:1}
.fact span{color:#c7cac8}

.faq{max-width:900px;margin-left:auto}
.faq details{border-top:1px solid var(--line);padding:1.25rem 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-weight:900;font-size:1.08rem;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;list-style:none}
.faq summary:after{content:"+";color:var(--red);font-size:1.5rem}
.faq details[open] summary:after{content:"−"}
.faq p{color:#555a57;max-width:760px}
.cta{background:var(--yellow);padding:70px 0}
.cta .wrap{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem}
.cta h2{max-width:800px}
.cta p{max-width:650px}
.cta-actions{display:flex;gap:1rem;flex-wrap:wrap}

.page-hero{background:var(--ink);color:white;padding:105px 0 80px;position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:-5%;top:-20%;width:42vw;height:130%;background:linear-gradient(145deg,transparent 34%,rgba(237,28,36,.27) 34.5%,transparent 60%);pointer-events:none}
.page-hero h1{max-width:1000px;font-size:clamp(3rem,5.5vw,5.7rem)}
.page-hero .lead{max-width:820px}
.breadcrumb{font-size:.8rem;color:#b5bab7;text-transform:uppercase;letter-spacing:.1em}
.content-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:6vw}
.content-grid h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1;letter-spacing:-.05em;margin-top:0}
.rich p{font-size:1.08rem}
.service-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.service{border:1px solid var(--line);background:white;padding:1.6rem}
.service h3{margin:.5rem 0;font-size:1.25rem}
.service p{color:#5d615f}
.band{background:#e7e8e5}
.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.type{background:white;border-top:5px solid var(--red);padding:2rem}
.type h3{font-size:1.5rem}
.bullet-panel{background:var(--ink);color:white;padding:3rem}
.bullet-panel ul{columns:2;padding-left:1.2rem}
.bullet-panel li{margin:.55rem 0}
.bullet-panel li::marker{color:var(--yellow)}

.contact{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.contact-card{background:white;border:1px solid var(--line);padding:2rem}
.contact-row{padding:1rem 0;border-bottom:1px solid var(--line)}
.contact-row:last-child{border:0}
.contact-row small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.contact-row a{text-decoration:none;font-weight:900;font-size:1.15rem}
.legal{max-width:850px}
.legal h2{margin-top:2.5rem}
.legal h3{margin-top:2rem}
.legal-doc{max-width:960px}
.legal-doc>h1{margin-bottom:1.5rem}
.legal-language{display:flex;gap:.65rem;position:sticky;top:84px;z-index:3;margin:0 0 3rem;padding:.7rem;background:#f2f3f1;border:1px solid #dfe2df;border-radius:999px;width:max-content}
.legal-language a{display:inline-flex;padding:.65rem 1rem;border-radius:999px;color:#101111;font-weight:700;text-decoration:none}
.legal-language a:hover,.legal-language a:focus-visible{background:#101111;color:#fff}
.legal-section{scroll-margin-top:140px}
.legal-section+.legal-section{margin-top:5rem;padding-top:5rem;border-top:1px solid #dfe2df}
.legal-section .legal-title{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 2rem}
.legal-section h2{scroll-margin-top:150px;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.2;margin:3.5rem 0 1rem}
.legal-section h3{font-size:1.08rem;line-height:1.35;margin:2rem 0 .55rem}
.legal-section p,.legal-section li{line-height:1.75;color:#353a37}
.legal-section p{margin:.8rem 0}
.legal-section ul{padding-left:1.3rem}
.legal-section a{overflow-wrap:anywhere}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.related-card{padding:2rem;border:1px solid #dfe2df;background:#fff}
.related-card h3{font-size:1.5rem;margin:0 0 .75rem}
.related-card p{color:#4e5350;margin:0 0 1.25rem}
.digital-benefit{margin-top:4rem;padding-top:4rem;border-top:1px solid var(--line)}
.seo-depth{padding:100px 0}
.depth-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.depth-grid article{background:white;padding:2rem}
.depth-grid h3{font-size:1.45rem;margin:0 0 .8rem}
.depth-grid p{color:#555a57;margin:0}
.related{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.4rem;border-top:1px solid #c7cac6}
.related a{font-weight:900;text-decoration:none;border-bottom:2px solid var(--red)}
.about-image{width:100%;height:520px;object-fit:cover;box-shadow:var(--shadow)}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.timeline article{background:white;padding:2.2rem;min-height:280px}
.timeline span{display:block;color:var(--red);font-size:2.5rem;font-weight:900;line-height:1;margin-bottom:3rem}
.timeline h3{font-size:1.45rem;margin:0 0 .7rem}
.timeline p{color:#555a57}
.trust-link{margin-top:2rem}

.footer{background:#070808;color:white;padding:70px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .8fr;gap:5rem}
.footer-logo{background:white;padding:.8rem;width:210px}
.footer h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:#aeb2af}
.footer a{color:white;text-decoration:none}
.footer a:hover{color:var(--yellow)}
.footer-links{display:grid;gap:.6rem}
.footer-bottom{border-top:1px solid #303231;margin-top:4rem;padding-top:1.2rem;display:flex;justify-content:space-between;color:#9da19f;font-size:.78rem}
.reveal{opacity:0;transform:translateY(22px);transition:.65s ease}
.reveal.in{opacity:1;transform:none}
.legal-doc,.legal-doc.reveal{opacity:1;transform:none;transition:none}

@media(max-width:980px){.nav-links{position:fixed;inset:84px 0 0;background:white;display:none;flex-direction:column;align-items:flex-start;padding:2rem 20px;gap:1.5rem}
.menu-open .nav-links{display:flex}
.menu-btn{display:block}
.nav-cta{display:none}
.hero-grid,.split,.section-head,.content-grid,.contact{grid-template-columns:1fr}
.hero-copy{padding:80px 20px 45px}
.hero-visual{padding:0 20px 70px}
.hero{min-height:auto}
.trustline .wrap{gap:1rem;justify-content:space-between}
.cards{grid-template-columns:1fr}
.card{min-height:auto}
.card .icon{margin-bottom:2rem}
.industries{grid-template-columns:1fr 1fr}
.footer-grid{grid-template-columns:1fr 1fr}
.footer-grid>div:first-child{grid-column:1/-1}
.cta .wrap{grid-template-columns:1fr}
.type-grid{grid-template-columns:1fr}
.service-list{grid-template-columns:1fr}
.timeline{grid-template-columns:1fr}
.related-grid{grid-template-columns:1fr}
}

@media(max-width:620px){.wrap{width:min(calc(100% - 28px),var(--max))}
.legal-language{position:static;width:100%;overflow-x:auto;border-radius:14px}
.depth-grid{grid-template-columns:1fr}
.topbar{display:none}
.nav{height:72px}
.brand{width:145px}
.brand img{height:52px}
.nav-links{inset:72px 0 0}
.hero h1,.page-hero h1{font-size:clamp(2.75rem,14vw,4rem)}
.trustline .wrap{flex-direction:column;align-items:flex-start}
.trustline span{font-size:.84rem}
.process{grid-template-columns:1fr}
.industries,.facts,.check-grid,.footer-grid{grid-template-columns:1fr}
.footer-grid>div:first-child{grid-column:auto}
.section-head{gap:1rem}
.service-list{grid-template-columns:1fr}
.bullet-panel ul{columns:1}
.footer-bottom{flex-direction:column;gap:.6rem}
.cta-actions,.hero-actions{flex-direction:column}
.btn{width:100%}
section{padding:72px 0}
.page-hero{padding:75px 0 60px}
.about-image{height:320px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.reveal{opacity:1;transform:none;transition:none}
.btn,.industry{transition:none}
}
