/* ASUM GmbH — Website-Konzept V3.0 | No external assets, fonts or trackers */
:root{--navy:#07111b;--ink:#142434;--navy2:#0d2030;--red:#d10016;--hot:#fa3348;--paper:#f6f7f6;--white:#fff;--mute:#5d6874;--border:#dfe4e7;--frame:min(1320px,calc(100% - 96px));--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,'Segoe UI',Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #f85b66;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}p{line-height:1.7}::selection{background:#e62238;color:#fff}.wrap{width:var(--frame);margin:0 auto}.skip{position:fixed;top:-100px;left:10px;background:white;padding:14px;z-index:300}.skip:focus{top:10px}.progress{position:fixed;height:3px;background:var(--hot);top:0;left:0;width:0;z-index:150;pointer-events:none}.header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,box-shadow .4s;border-bottom:1px solid rgba(255,255,255,.16)}.header.scrolled,.header.is-open{background:rgba(7,17,27,.97);box-shadow:0 14px 40px rgba(0,0,0,.18);backdrop-filter:blur(18px)}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{height:42px;width:auto;max-width:185px;object-fit:contain}.brand{display:inline-flex;flex:0 0 auto}.links{display:flex;align-items:center;gap:26px}.links a:not(.button){font-size:13px;font-weight:600;letter-spacing:.01em;color:#e1e7ec;transition:color .2s}.links a:not(.button):hover,.links a.active{color:white}.links a.active{box-shadow:0 2px 0 var(--hot)}.button{appearance:none;background:var(--red);color:white;border:1px solid var(--red);padding:15px 21px;display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;border-radius:3px;font-weight:700;font-size:13px;letter-spacing:.01em;transition:background .28s,transform .28s,border-color .28s}.button:hover{background:#a9071a;border-color:#a9071a;transform:translateY(-2px)}.button.light{background:#fff;color:var(--navy);border-color:#fff}.button.light:hover{background:#f0eded}.button.outline{background:transparent;border-color:rgba(255,255,255,.5)}.button.outline:hover{background:#fff;color:var(--navy)}.hamburger{display:none;color:#fff;border:1px solid #64707d;background:none;width:46px;height:46px;font-size:23px;border-radius:3px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:800;color:var(--red);display:flex;align-items:center;gap:12px}.eyebrow::before{content:"";height:2px;width:22px;background:currentColor}.eyebrow.light{color:#ff5c6e}.page-title,.display{font-size:clamp(52px,7.3vw,117px);line-height:.99;letter-spacing:-.071em;font-weight:760}.display em,.page-title em{font-style:normal;color:#f04d60}.section-title{font-size:clamp(38px,4.8vw,72px);line-height:1.06;letter-spacing:-.063em;font-weight:720}.section-head{display:flex;justify-content:space-between;align-items:end;gap:38px;margin-bottom:45px}.section-head p{max-width:415px;color:#5c6670;font-size:17px}.section{padding:128px 0}.section.white{background:#fff}.section.dark{background:var(--navy);color:white}.muted{color:var(--mute)}.hero{position:relative;min-height:min(850px,100svh);background:var(--navy);color:white;overflow:hidden;display:flex;align-items:center;isolation:isolate}.hero-media{position:absolute;inset:0 0 0 38%;z-index:-2;background:url('hero-worker.jpg') center 42%/cover no-repeat;will-change:transform;transform:scale(1.04)}.hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#07111b 5%,rgba(7,17,27,.98) 28%,rgba(7,17,27,.75) 57%,rgba(7,17,27,.1) 100%),linear-gradient(0deg,#07111b 0%,transparent 45%)}.hero::after{content:"";position:absolute;width:540px;height:540px;border-radius:50%;filter:blur(110px);background:rgba(195,0,23,.18);bottom:-270px;left:-250px;z-index:-1}.hero-content{padding:180px 0 143px;position:relative}.hero .display{max-width:960px;margin:25px 0}.hero p{max-width:550px;font-size:19px;color:#d5dce3;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:32px}.hero-foot{position:absolute;bottom:0;left:0;right:0;border-top:1px solid rgba(255,255,255,.19);height:71px;display:flex;align-items:center}.hero-foot .wrap{display:flex;justify-content:space-between;align-items:center}.hero-foot span{font-size:10px;letter-spacing:.18em;font-weight:700;color:#bac3cd}.scroll-indicator{display:flex;align-items:center;gap:10px}.scroll-line{height:34px;width:1px;background:#e94b5d;animation:breathe 2.4s infinite}@keyframes breathe{50%{opacity:.3;transform:scaleY(.6)}}.vertical-note{position:absolute;right:30px;top:47%;transform:rotate(90deg) translateX(50%);transform-origin:right center;color:rgba(255,255,255,.65);font-size:10px;letter-spacing:.24em;font-weight:700}.ribbon{overflow:hidden;background:#e9edef;border-bottom:1px solid var(--border);padding:18px 0}.ribbon-track{white-space:nowrap;display:flex;align-items:center;width:max-content;gap:60px;animation:marquee 42s linear infinite}.ribbon-track span{font-size:12px;letter-spacing:.19em;font-weight:800;color:#4f5c69;text-transform:uppercase}.ribbon-track b{color:var(--red)}@keyframes marquee{to{transform:translateX(-50%)}}.intro-copy{font-size:clamp(22px,3.2vw,39px);letter-spacing:-.045em;line-height:1.42;max-width:1000px;margin-bottom:0}.intro-copy strong{color:var(--red)}.index-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:15px;color:#7a8690;font-size:11px;letter-spacing:.1em;font-weight:700;text-transform:uppercase;margin-bottom:43px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.service-card{background:#fff;border:1px solid var(--border);min-width:0;position:relative;overflow:hidden;transition:transform .5s var(--ease),box-shadow .4s}.service-card:hover{transform:translateY(-9px);box-shadow:0 30px 60px rgba(6,21,30,.14)}.card-image{aspect-ratio:4/4.6;overflow:hidden;background:#172431;position:relative}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}.service-card:hover img{transform:scale(1.08)}.card-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,12,19,.3),transparent 55%)}.card-no{position:absolute;color:white;top:18px;left:20px;font-size:11px;font-weight:800;letter-spacing:.12em;z-index:1}.card-body{padding:25px 23px 28px}.card-body h3{font-size:25px;letter-spacing:-.04em;margin-bottom:12px}.card-body p{font-size:14px;color:#596573;min-height:100px}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:12px;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(209,0,22,.4);padding-bottom:8px}.text-link .arrow{transition:transform .25s}.text-link:hover .arrow{transform:translateX(5px)}.split-feature{display:grid;grid-template-columns:1fr 1fr;min-height:700px;background:#071622;color:white}.split-photo{min-height:600px;position:relative;overflow:hidden}.split-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.split-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(7,22,34,.24))}.split-detail{display:flex;align-items:center;padding:100px clamp(45px,7vw,130px);min-width:0}.split-detail .section-title{max-width:680px}.split-detail p{color:#bbc7d0;font-size:17px;max-width:570px}.mini-steps{margin:34px 0;display:grid;gap:0}.mini-steps div{border-bottom:1px solid rgba(255,255,255,.17);padding:17px 0;font-size:15px;display:flex;gap:23px}.mini-steps b{font-size:12px;color:#fa5366}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:42px}.process-card{padding:38px 33px 39px;background:white;border:1px solid var(--border);min-height:310px;transition:transform .35s var(--ease)}.process-card:hover{transform:translateY(-5px)}.process-card .num{display:block;font-size:14px;font-weight:800;color:var(--red);margin-bottom:70px}.process-card h3{font-size:27px;letter-spacing:-.05em;margin-bottom:9px}.process-card p{font-size:15px;color:var(--mute)}.training-block{position:relative;overflow:hidden;background:#111f2c;color:#fff;padding:125px 0}.training-block::before{content:"";position:absolute;inset:0 0 0 43%;background:url('industry-detail.jpg') center center/cover no-repeat;opacity:.24;filter:grayscale(.15)}.training-block::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#111f2c 10%,rgba(17,31,44,.96) 48%,transparent 100%)}.training-inner{position:relative;z-index:1;max-width:770px}.training-inner p{max-width:550px;color:#d1d8df}.pills{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 34px}.pill{border:1px solid rgba(255,255,255,.25);font-size:12px;border-radius:99px;padding:9px 15px;color:#dbe1e7}.faq-list{max-width:960px;margin:40px auto 0}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{cursor:pointer;display:flex;justify-content:space-between;gap:30px;list-style:none;font-size:19px;font-weight:650;padding:24px 4px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';color:var(--red);font-size:27px;line-height:1}.faq-item[open] summary::after{content:'−'}.faq-item p{color:var(--mute);margin:0 0 25px;max-width:800px}.end-cta{background:var(--red);color:#fff;padding:90px 0}.end-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}.end-cta h2{font-size:clamp(36px,5vw,65px);letter-spacing:-.06em;line-height:1.06;max-width:890px;margin:0}.footer{background:#061019;color:#c5d0d8;padding:76px 0 25px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1.45fr;gap:45px}.footer-brand img{width:167px}.footer-brand p{font-size:13px;color:#9dabba;margin-top:22px;max-width:270px}.footer h4{color:#fff;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px}.footer-links{display:grid;gap:11px}.footer-links a,.footer p,.footer address{font-size:13px;line-height:1.9;font-style:normal}.footer-links a:hover,.footer address a:hover{color:white}.footer-bottom{border-top:1px solid #273440;margin-top:66px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#8595a3;font-size:11px}.sub-hero{background:#07111b;color:white;padding:210px 0 105px;position:relative;overflow:hidden;min-height:550px;isolation:isolate}.sub-hero::before{content:"";position:absolute;z-index:-2;inset:0 0 0 50%;background:var(--sub-image,url('industry-detail.jpg')) center/cover no-repeat;opacity:.38}.sub-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#07111b 3%,rgba(7,17,27,.97) 38%,transparent 100%)}.breadcrumbs{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#a7b5c2;margin-bottom:38px}.breadcrumbs a:hover{color:#fff}.page-title{font-size:clamp(54px,7vw,94px);margin:18px 0 20px;max-width:1000px}.sub-hero .lead{font-size:19px;max-width:590px;color:#c6d1da}.page-content{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:90px}.rich h2{font-size:clamp(32px,3.3vw,54px);letter-spacing:-.05em;line-height:1.12}.rich h3{font-size:23px;letter-spacing:-.03em;margin-top:40px}.rich p,.rich li{color:#4c5b68;font-size:16px;line-height:1.85}.rich ul{padding-left:20px}.rich .eyebrow{margin-bottom:18px}.rich a:not(.button){color:var(--red);text-decoration:underline;text-underline-offset:3px}.point-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0 45px}.point{padding:20px 20px 20px 44px;border:1px solid var(--border);background:white;font-size:14px;font-weight:620;line-height:1.45;position:relative}.point::before{content:'↗';color:var(--red);position:absolute;left:17px;font-size:19px;top:16px}.side-panel{background:#0b1c2b;color:white;padding:36px 28px;align-self:start;position:sticky;top:120px}.side-panel h3{font-size:26px;letter-spacing:-.05em}.side-panel p{color:#c4d1da;font-size:14px}.side-panel .button{margin-top:13px}.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.course{background:white;border:1px solid var(--border);padding:38px}.course h3{font-size:28px;letter-spacing:-.04em}.course p,.course li{color:#5a6975;font-size:14px}.course ul{padding-left:20px}.tag{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:750;display:block;margin-bottom:22px}.notice{background:#fff2f1;border-left:3px solid var(--red);padding:19px 24px;color:#6d3540;font-size:14px;margin-bottom:30px}.legal{max-width:980px}.legal h2{font-size:26px;margin:32px 0 10px}.legal p,.legal li{line-height:1.85;color:#52606c}.contact-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:90px}.contact-card{background:#0d2030;color:white;padding:40px}.contact-card h3{font-size:27px}.contact-card p{font-size:15px;color:#cbd6df}.contact-card a:hover{text-decoration:underline}.form{margin-top:34px;display:grid;gap:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.form input,.form textarea,.form select{background:#fff;border:1px solid #cbd4d9;border-radius:2px;padding:15px 14px;width:100%;font-size:15px}.form textarea{min-height:145px;resize:vertical}.form-note{font-size:12px!important;color:#677782!important}.sub-feature-image{margin-top:35px;aspect-ratio:16/8;overflow:hidden}.sub-feature-image img{width:100%;height:100%;object-fit:cover}.legal a{color:var(--red)}.readme-link{font-size:12px;color:#fff}.page-content-section{padding:100px 0 130px}.reveal{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transform:translateY(34px);transition:transform .85s var(--ease),opacity .85s ease}.js .reveal.visible{opacity:1;transform:translateY(0)}.js .reveal.delay-1{transition-delay:.09s}.js .reveal.delay-2{transition-delay:.19s}.js .reveal.delay-3{transition-delay:.29s}}
@media(max-width:1160px){:root{--frame:min(1100px,calc(100% - 60px))}.links{gap:15px}.links a:not(.button){font-size:12px}.cards{grid-template-columns:repeat(2,1fr)}.card-image{aspect-ratio:5/3}.card-body p{min-height:50px}.footer-main{grid-template-columns:1.7fr 1fr 1fr;gap:30px}.footer-main>div:last-child{grid-column:2/span 2}.split-detail{padding:75px 55px}.page-content{gap:40px}}
@media(max-width:760px){:root{--frame:calc(100% - 40px)}.nav{min-height:72px}.brand img{height:34px}.hamburger{display:block}.links{position:fixed;inset:72px 0 auto;background:var(--navy);display:none;flex-direction:column;align-items:stretch;gap:0;padding:16px 20px 30px;max-height:calc(100svh - 72px);overflow:auto;border-bottom:1px solid #43515f}.header.is-open .links{display:flex}.links a:not(.button){padding:16px 10px;border-bottom:1px solid #243341;font-size:17px}.links .button{margin-top:16px}.hero{min-height:740px}.hero-media{inset:0 0 0 17%;opacity:.7;background-position:58% center}.hero::before{background:linear-gradient(90deg,#07111b 0%,rgba(7,17,27,.83) 55%,rgba(7,17,27,.28)),linear-gradient(0deg,#07111b,transparent 80%)}.hero-content{padding:150px 0 125px}.hero p{font-size:16px;max-width:440px}.display{font-size:clamp(52px,11vw,78px)}.vertical-note{display:none}.hero-foot{height:60px}.hero-foot span{font-size:9px}.section{padding:82px 0}.section-head{display:block}.section-head p{margin-top:22px}.cards{grid-template-columns:1fr 1fr}.card-body{padding:20px}.card-body h3{font-size:23px}.card-image{aspect-ratio:4/4.7}.card-body p{min-height:95px}.split-feature{grid-template-columns:1fr}.split-photo{min-height:350px}.split-detail{padding:65px 28px}.process{grid-template-columns:1fr}.process-card{min-height:unset}.process-card .num{margin-bottom:40px}.training-block{padding:88px 0}.training-block::before{inset:0;opacity:.15}.end-cta{padding:76px 0}.end-cta .wrap{display:block}.end-cta .button{margin-top:27px}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:last-child{grid-column:auto}.sub-hero{min-height:475px;padding:145px 0 85px}.sub-hero::before{inset:0 0 0 25%}.page-content{grid-template-columns:1fr}.side-panel{position:static}.page-content-section{padding:75px 0}.contact-grid{grid-template-columns:1fr;gap:40px}.course-grid{grid-template-columns:1fr}.point-grid{gap:8px}}
@media(max-width:480px){.cards{grid-template-columns:1fr}.card-image{aspect-ratio:4/2.5}.card-body p{min-height:unset}.field-row,.point-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:last-child{grid-column:1/-1}.footer-bottom{display:block}.hero-actions .button{flex:1 1 100%}.hero{min-height:740px}.intro-copy{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ribbon-track{animation:none}.scroll-line{animation:none}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}


/* ===== ASUM V3.1: Original logo, brand ticker, instruments and accessibility ===== */
:root{--red:#c92534;--hot:#ef3a49;--a11y-focus:#ffdc50}
.brand img{height:auto;width:190px;max-width:190px;max-height:83px;object-fit:contain;filter:drop-shadow(0 1px 8px rgba(0,0,0,.2))}
.nav{min-height:98px;gap:16px}
.links{gap:clamp(12px,1.6vw,25px)}
.links a:not(.button){font-size:12px}
.footer-brand img{width:220px;max-width:100%;height:auto}
.hero-content{padding-top:220px}
.ribbon-logo{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;height:96px;width:34px;overflow:visible;margin:0 6px;user-select:none;flex:0 0 34px}.ribbon-logo img{height:96px;width:auto;max-width:none;transform:rotate(90deg);transform-origin:center;filter:none;opacity:.96}
.ribbon-track{align-items:center}
.ribbon-track>span:not(.ribbon-logo){white-space:nowrap}
.visual-promise{background:#edf1f3;border-bottom:1px solid #d8e0e5}
.visual-promise-inner{display:flex;align-items:center;gap:46px;padding-block:44px;min-height:150px}
.promise-mark{font-weight:900;font-size:56px;letter-spacing:-.1em;color:#bf2934;flex-shrink:0;line-height:1}
.promise-mark span{font-size:24px;vertical-align:top;letter-spacing:0}
.visual-promise-inner p{margin:0;flex:1;font-size:22px;line-height:1.55;max-width:940px;color:#15283a}
.visual-promise-inner a{font-size:17px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;color:#0d2a46}
.visual-promise-inner a:hover{text-decoration:underline;text-underline-offset:6px}
.tech-section{background:#e9eef1}
.tech-section .section-head{margin-bottom:38px}
.tech-section .section-title em{color:#c92534;font-style:normal}
.equipment-feature{display:grid;grid-template-columns:1.22fr 0.78fr;background:#0a1b2a;color:#fff;min-height:470px;overflow:hidden}
.equipment-feature-media{position:relative;min-height:410px;overflow:hidden}
.equipment-feature-media img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;transition:transform .7s var(--ease)}
.equipment-feature:hover .equipment-feature-media img{transform:scale(1.045)}
.image-marker{position:absolute;left:18px;bottom:18px;padding:7px 12px;background:rgba(7,17,27,.86);border:1px solid rgba(255,255,255,.19);color:#fff;font-size:11px;letter-spacing:.04em;max-width:calc(100% - 36px)}
.equipment-feature-copy{padding:clamp(35px,5vw,75px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.equipment-feature-copy h3{font-size:clamp(31px,4vw,56px);line-height:1.05;letter-spacing:-.05em;margin:15px 0 22px}
.equipment-feature-copy h3 span{color:#fa5061}
.equipment-feature-copy p{max-width:480px;color:#c3d0d9;font-size:15px}
.spec-grid{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 33px}
.spec-grid span{font-size:11px;border:1px solid rgba(255,255,255,.28);padding:8px 12px;border-radius:50px}
.equipment-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:15px}
.equipment-card{background:#fff;overflow:hidden;display:flex;flex-direction:column}
.equipment-card img{aspect-ratio:1.6;object-fit:cover;width:100%}
.equipment-card>div{padding:28px 27px 31px;flex:1}
.equipment-card h3{font-size:23px;letter-spacing:-.035em;margin:12px 0 10px}
.equipment-card p{font-size:14px;color:#536371;margin:0;line-height:1.65}
.equipment-tag{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#b41a2a}
.image-disclaimer{font-size:12px!important;max-width:850px;margin:20px 0 0;color:#546674}
.meter-list{display:grid;gap:18px;margin-top:26px}
.meter-entry{display:grid;grid-template-columns:38% 1fr;gap:26px;background:white;border:1px solid var(--border);align-items:center;overflow:hidden}
.meter-entry img{width:100%;height:100%;min-height:250px;object-fit:cover}
.meter-entry>div{padding:22px 24px 22px 0}
.meter-entry h4{font-size:25px;letter-spacing:-.04em;margin:9px 0}
.meter-entry p{font-size:14px;line-height:1.67;margin:0}
.meter-placeholder{display:inline-block;margin-top:15px;font-size:11px;color:#7c5f64}
.firetrainer-photo{position:relative}
.contact-privacy-note{font-size:13px;color:#566873;margin-top:28px}
.training-hint{border-left:3px solid var(--red);padding:15px 20px;background:#fceced}
.preview-note{font-size:10px}
.access-button{position:relative;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.36);color:#fff;border-radius:60px;padding:8px 12px;font-size:15px;font-weight:750;flex-shrink:0;min-width:43px;min-height:43px}
.access-button:hover{background:rgba(255,255,255,.19)}
.access-dot{position:absolute;width:6px;height:6px;right:5px;top:5px;border-radius:50%;background:#ff5869}
.display-settings[hidden]{display:none!important}
.display-settings{position:fixed;z-index:180;right:18px;top:110px;width:min(350px,calc(100vw - 36px));background:white;color:#152533;padding:25px;box-shadow:0 24px 70px rgba(0,0,0,.35);border:2px solid #c5d0d7}
.display-head{display:flex;align-items:center;justify-content:space-between}
.display-head h2{font-size:24px;margin:0;letter-spacing:-.035em}
.display-close{background:transparent;border:1px solid #afbfc8;font-size:27px;width:35px;height:35px;line-height:1;color:#213b4c}
.display-settings p{font-size:13px;color:#4a6070;margin:13px 0 19px;line-height:1.65}
.display-choice{display:flex;align-items:center;gap:12px;font-size:15px;border-top:1px solid #d9e2e6;padding:13px 0;cursor:pointer}
.display-choice input{accent-color:#b71b2b;width:19px;height:19px}
.display-settings .display-note{font-size:12px;margin:12px 0 0}
.a11y-large{font-size:100%}
.a11y-large .section-title,.a11y-large .page-title{letter-spacing:-.045em}
.a11y-contrast{--mute:#334653;--border:#657786;--paper:#fff;--hot:#b50019;--red:#990013;color:#061520}
.a11y-contrast .equipment-card p,.a11y-contrast .rich p,.a11y-contrast .rich li{color:#172b39}
.a11y-contrast .ribbon{background:#fff}
.a11y-no-motion *, .a11y-no-motion *::before, .a11y-no-motion *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
.a11y-no-motion .reveal{opacity:1!important;transform:none!important}
:focus-visible{outline:3px solid var(--a11y-focus)!important;outline-offset:4px}
@media(max-width:1200px){.brand img{width:150px}.nav{gap:10px}.links{gap:12px}.links a:not(.button){font-size:11px}.access-button{min-width:36px;min-height:36px;padding:7px 9px}}
@media(max-width:760px){.nav{min-height:80px}.brand img{width:141px;max-height:68px}.links{inset:80px 0 auto}.access-button{margin-left:auto}.hero-content{padding-top:170px}.visual-promise-inner{flex-wrap:wrap;gap:14px}.visual-promise-inner a{white-space:normal}.equipment-feature{grid-template-columns:1fr}.equipment-feature-media{min-height:330px}.equipment-feature-copy{padding:38px 27px 45px}.equipment-cards{grid-template-columns:1fr 1fr}.display-settings{top:90px}}
@media(max-width:520px){.equipment-cards{grid-template-columns:1fr}.equipment-card img{aspect-ratio:2}.meter-entry{grid-template-columns:1fr;gap:0}.meter-entry img{min-height:180px;max-height:230px}.meter-entry>div{padding:25px}.ribbon-logo{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;height:96px;width:34px;overflow:visible;margin:0 6px;user-select:none;flex:0 0 34px}.ribbon-logo img{height:96px;width:auto;max-width:none;transform:rotate(90deg);transform-origin:center;filter:none;opacity:.96}.visual-promise-inner{align-items:start}.visual-promise-inner p{flex-basis:calc(100% - 70px)}.visual-promise-inner a{width:100%}}
@media(prefers-reduced-motion:reduce){.equipment-feature:hover img{transform:none}}

/* At tablet widths the full corporate navigation turns into the mobile menu. */
@media (min-width:761px) and (max-width:1080px){
  .hamburger{display:block}
  .access-button{margin-left:auto}
  .links{position:fixed;inset:98px 0 auto;background:var(--navy);display:none;flex-direction:column;align-items:stretch;gap:0;padding:15px 5vw 28px;max-height:calc(100svh - 98px);overflow:auto;border-bottom:1px solid #43515f}
  .header.is-open .links{display:flex}
  .links a:not(.button){padding:15px 10px;border-bottom:1px solid #243341;font-size:17px}
  .links .button{margin-top:14px}
}

/* V3.1 Arbeitsschutz – klickbare Leistungsübersicht und Praxisbeispiele */
.service-jump-title{font-size:21px!important;margin:40px 0 15px!important}
.rich .service-jump-grid a.service-jump{color:var(--ink);text-decoration:none;display:block;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}
.rich .service-jump-grid a.service-jump:hover,.rich .service-jump-grid a.service-jump:focus-visible{border-color:var(--red);background:#fff7f8;transform:translateY(-2px);box-shadow:0 8px 22px rgba(10,25,40,.08)}
.service-jump-grid .point::before{content:'↘'}
.services-overview-intro{margin-top:-22px;margin-bottom:57px!important;font-size:15px!important}
.service-detail-heading{font-size:clamp(29px,3vw,43px)!important;line-height:1.2;margin-bottom:15px}
.service-detail-card{scroll-margin-top:114px;background:#fff;border:1px solid var(--border);border-left:4px solid var(--red);padding:35px clamp(20px,3vw,38px);margin:22px 0;transition:border-color .25s,box-shadow .25s}
.service-detail-card:target{border-color:#bf0c24;box-shadow:0 0 0 4px rgba(199,18,41,.13),0 14px 40px rgba(8,20,35,.08)}
.rich .service-detail-card h3{font-size:clamp(21px,2vw,29px);line-height:1.25;margin:8px 0 23px}
.detail-number{color:var(--red);font-size:11px;letter-spacing:.14em;font-weight:800}
.service-detail-card .detail-piece{margin-bottom:17px}
.service-detail-card .detail-piece h4{margin:0 0 4px;font-size:12px;letter-spacing:.06em;color:#1e3141;text-transform:uppercase}
.service-detail-card .detail-piece p{font-size:15px;line-height:1.72;margin:0}
.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;padding-top:16px;margin-top:10px;border-top:1px solid var(--border)}
.rich .detail-link{font-size:13px;font-weight:750;color:var(--red);text-decoration:underline;text-underline-offset:5px}
.rich .back-to-top{font-size:12px;color:#425768;text-decoration:underline;text-underline-offset:4px;margin-left:auto}
.service-responsibility-note{padding:20px 22px;background:#e9edef;border-left:3px solid #677987;font-size:13px!important;line-height:1.65!important;margin:35px 0 0}
.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}
@media(max-width:480px){.service-detail-card{padding:24px 18px}.rich .back-to-top{margin-left:0}.service-jump-title{font-size:19px!important}}
@media(prefers-reduced-motion:reduce){.rich .service-jump-grid a.service-jump{transition:none}.service-detail-card{transition:none}}

/* ===== V3.1.4: ONLY homepage ticker and A+ promise scale ===== */
/* Rotes ASUM-Originalzeichen als klein gehaltenes, bereits gedrehtes Bild */
.ribbon{padding-block:11px}
.ribbon-track{gap:43px}
.ribbon-track>span:not(.ribbon-logo){font-size:17px;letter-spacing:.14em;line-height:1.3}
.ribbon-track .ribbon-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 17px;width:17px;height:62px;margin:0;overflow:visible}
.ribbon-track .ribbon-logo img{display:block;height:58px;width:auto;max-width:none;transform:none;opacity:1;object-fit:contain}
/* Grauer Abschnitt mit A+, Text und CTA sichtbar größer */
.visual-promise-inner{min-height:222px;padding-block:51px;gap:38px}
.visual-promise-inner .promise-mark{font-size:78px;line-height:1}
.visual-promise-inner .promise-mark span{font-size:30px}
.visual-promise-inner p{font-size:clamp(22px,2vw,28px);line-height:1.45;max-width:none}
.visual-promise-inner>a{font-size:18px;line-height:1.4;white-space:normal;max-width:255px;flex:0 0 auto}
@media(max-width:1100px){
  .visual-promise-inner{gap:25px;flex-wrap:wrap;min-height:0;padding-block:44px}
  .visual-promise-inner p{font-size:22px;flex:1 1 62%;max-width:none}
  .visual-promise-inner>a{margin-left:112px;max-width:none;font-size:17px}
}
@media(max-width:760px){
  .ribbon-track>span:not(.ribbon-logo){font-size:15px}
  .ribbon-track{gap:30px}
  .ribbon-track .ribbon-logo{width:15px;flex-basis:15px;height:52px}
  .ribbon-track .ribbon-logo img{height:49px}
  .visual-promise-inner{gap:17px;padding-block:36px}
  .visual-promise-inner .promise-mark{font-size:64px}
  .visual-promise-inner .promise-mark span{font-size:25px}
  .visual-promise-inner p{flex:1 1 calc(100% - 100px);font-size:20px}
  .visual-promise-inner>a{margin-left:0;width:100%;font-size:16px}
}
@media(max-width:520px){
  .visual-promise-inner .promise-mark{font-size:57px}
  .visual-promise-inner .promise-mark span{font-size:22px}
  .visual-promise-inner p{font-size:18px;flex:1 1 calc(100% - 90px)}
  .visual-promise-inner>a{font-size:15px}
}


/* ===== ASUM V3.1.6: focused accessibility control corrections =====
   Defaults and content remain exactly as in V3.1.5.
   Fixed-pixel type rules needed explicit overrides; changing root font-size
   alone did not meaningfully increase their computed sizes. */
:root.a11y-large body{font-size:20px}
:root.a11y-large .links a:not(.button){font-size:16px!important}
:root.a11y-large .button{font-size:16px;line-height:1.5;min-height:52px}
:root.a11y-large .hamburger{font-size:27px}
:root.a11y-large .access-button{font-size:19px;min-width:48px;min-height:48px}
:root.a11y-large .eyebrow{font-size:14px;letter-spacing:.13em}
:root.a11y-large .display{font-size:clamp(54px,8.5vw,133px);line-height:1.05;letter-spacing:-.055em}
:root.a11y-large .page-title{font-size:clamp(55px,7.8vw,106px);line-height:1.1;letter-spacing:-.045em}
:root.a11y-large .section-title{font-size:clamp(42px,5.1vw,82px);line-height:1.14}
:root.a11y-large .section-head p,
:root.a11y-large .split-detail p{font-size:21px}
:root.a11y-large .hero p,
:root.a11y-large .sub-hero .lead{font-size:23px}
:root.a11y-large .hero-foot span,
:root.a11y-large .vertical-note,
:root.a11y-large .index-line,
:root.a11y-large .breadcrumbs{font-size:13px}
:root.a11y-large .ribbon-track>span:not(.ribbon-logo){font-size:20px}
:root.a11y-large .intro-copy{font-size:clamp(28px,3.7vw,47px)}
:root.a11y-large .card-no,
:root.a11y-large .process-card .num,
:root.a11y-large .tag,
:root.a11y-large .spec-grid span,
:root.a11y-large .detail-number{font-size:14px}
:root.a11y-large .card-body h3,
:root.a11y-large .equipment-card h3,
:root.a11y-large .meter-entry h4{font-size:30px}
:root.a11y-large .card-body p,
:root.a11y-large .process-card p,
:root.a11y-large .equipment-card p,
:root.a11y-large .meter-entry p,
:root.a11y-large .course p,
:root.a11y-large .course li,
:root.a11y-large .side-panel p{font-size:18px;min-height:0}
:root.a11y-large .text-link,
:root.a11y-large .pill,
:root.a11y-large .footer h4,
:root.a11y-large .rich .back-to-top,
:root.a11y-large .rich .detail-link{font-size:16px}
:root.a11y-large .mini-steps div,
:root.a11y-large .process-card p,
:root.a11y-large .equipment-feature-copy p,
:root.a11y-large .contact-card p{font-size:19px}
:root.a11y-large .mini-steps b{font-size:15px}
:root.a11y-large .process-card h3,
:root.a11y-large .course h3,
:root.a11y-large .contact-card h3,
:root.a11y-large .legal h2,
:root.a11y-large .side-panel h3{font-size:32px}
:root.a11y-large .faq-item summary{font-size:23px;line-height:1.5}
:root.a11y-large .end-cta h2{font-size:clamp(39px,5.3vw,72px)}
:root.a11y-large .footer-brand p,
:root.a11y-large .footer-links a,
:root.a11y-large .footer p,
:root.a11y-large .footer address,
:root.a11y-large .footer-bottom{font-size:16px;line-height:1.65}
:root.a11y-large .rich h2{font-size:clamp(36px,3.6vw,62px)}
:root.a11y-large .rich h3{font-size:28px}
:root.a11y-large .rich p,
:root.a11y-large .rich li,
:root.a11y-large .legal p,
:root.a11y-large .legal li{font-size:20px;line-height:1.7}
:root.a11y-large .point{font-size:18px;line-height:1.6}
:root.a11y-large .notice,
:root.a11y-large .contact-privacy-note,
:root.a11y-large .form-note,
:root.a11y-large .service-responsibility-note{font-size:16px!important;line-height:1.65!important}
:root.a11y-large .form label{font-size:17px}
:root.a11y-large .form input,
:root.a11y-large .form textarea,
:root.a11y-large .form select{font-size:19px}
:root.a11y-large .visual-promise-inner p{font-size:clamp(24px,2.2vw,33px)}
:root.a11y-large .visual-promise-inner>a{font-size:21px}
:root.a11y-large .equipment-feature-copy h3{font-size:clamp(37px,4.2vw,65px)}
:root.a11y-large .equipment-tag{font-size:13px}
:root.a11y-large .service-jump-title{font-size:26px!important}
:root.a11y-large .services-overview-intro{font-size:19px!important}
:root.a11y-large .service-detail-heading{font-size:clamp(35px,3.3vw,51px)!important}
:root.a11y-large .rich .service-detail-card h3{font-size:clamp(26px,2.2vw,36px)}
:root.a11y-large .service-detail-card .detail-piece h4{font-size:16px}
:root.a11y-large .service-detail-card .detail-piece p{font-size:19px}
:root.a11y-large .display-head h2{font-size:29px}
:root.a11y-large .display-settings p,
:root.a11y-large .display-settings .display-note{font-size:16px}
:root.a11y-large .display-choice{font-size:19px}
:root.a11y-large .display-settings{width:min(420px,calc(100vw - 24px))}
:root.a11y-large .display-choice input{width:23px;height:23px;flex:0 0 23px}

/* High contrast: deliberately obvious in both light and dark sections. */
:root.a11y-contrast{--red:#9b001b;--hot:#e7334b;--paper:#ffffff;--ink:#07131d;--mute:#182b39;--border:#304453}
:root.a11y-contrast body{background:#fff;color:#07131d}
:root.a11y-contrast .visual-promise,
:root.a11y-contrast .ribbon,
:root.a11y-contrast .tech-section,
:root.a11y-contrast .section:not(.dark):not(.white){background:#fff}
:root.a11y-contrast .card-body p,
:root.a11y-contrast .section-head p,
:root.a11y-contrast .split-detail:not(.dark) p,
:root.a11y-contrast .equipment-card p,
:root.a11y-contrast .meter-entry p,
:root.a11y-contrast .rich p,
:root.a11y-contrast .rich li,
:root.a11y-contrast .legal p,
:root.a11y-contrast .legal li,
:root.a11y-contrast .footer a,
:root.a11y-contrast .faq-item p{color:#102b3e}
:root.a11y-contrast .footer,
:root.a11y-contrast .split-feature,
:root.a11y-contrast .hero,
:root.a11y-contrast .sub-hero,
:root.a11y-contrast .training-block,
:root.a11y-contrast .equipment-feature,
:root.a11y-contrast .side-panel,
:root.a11y-contrast .contact-card{background:#000f1c;color:#fff}
:root.a11y-contrast .footer a,
:root.a11y-contrast .footer p,
:root.a11y-contrast .footer address,
:root.a11y-contrast .split-detail p,
:root.a11y-contrast .hero p,
:root.a11y-contrast .sub-hero .lead,
:root.a11y-contrast .equipment-feature-copy p,
:root.a11y-contrast .side-panel p,
:root.a11y-contrast .contact-card p{color:#fff}
:root.a11y-contrast .button:not(.outline){background:#900019;border-color:#900019;color:#fff}
:root.a11y-contrast .button.outline{border:2px solid #fff;color:#fff}
:root.a11y-contrast .display-settings{background:#fff;color:#06131e;border-color:#06131e}
:root.a11y-contrast .display-settings p{color:#06131e}
:root.a11y-contrast .display-settings input{outline-offset:3px}
:root.a11y-contrast a:focus-visible,
:root.a11y-contrast button:focus-visible,
:root.a11y-contrast input:focus-visible{outline:3px solid #005dd1!important;outline-offset:4px}

/* No motion must also neutralize inline, JS-controlled parallax transforms. */
:root.a11y-no-motion{scroll-behavior:auto!important}
:root.a11y-no-motion .hero-media{transform:scale(1.04)!important;will-change:auto!important}

@media(max-width:1100px){
 :root.a11y-large .visual-promise-inner>a{margin-left:0;font-size:19px}
 :root.a11y-large .visual-promise-inner p{font-size:24px}
}
@media(max-width:760px){
 :root.a11y-large .display{font-size:clamp(46px,10vw,79px)}
 :root.a11y-large .page-title{font-size:clamp(48px,9vw,85px)}
 :root.a11y-large .hero p{font-size:20px}
 :root.a11y-large .visual-promise-inner p{font-size:22px;flex-basis:calc(100% - 110px)}
 :root.a11y-large .links a:not(.button){font-size:19px!important}
 :root.a11y-large .ribbon-track>span:not(.ribbon-logo){font-size:18px}
 :root.a11y-large .section{padding-block:90px}
 :root.a11y-large .equipment-cards{grid-template-columns:1fr}
 :root.a11y-large .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
 :root.a11y-large .display{font-size:clamp(40px,10.5vw,58px)}
 :root.a11y-large .page-title{font-size:clamp(40px,10vw,62px)}
 :root.a11y-large .section-title{font-size:clamp(35px,9vw,57px)}
 :root.a11y-large .cards{grid-template-columns:1fr}
 :root.a11y-large .visual-promise-inner p{font-size:21px;flex-basis:calc(100% - 92px)}
 :root.a11y-large .visual-promise-inner>a{font-size:18px}
 :root.a11y-large .service-detail-card .detail-piece p{font-size:18px}
}

/* V3.2.0 mobile heading legibility; all words unchanged */
@media(max-width:520px){.hero .display{font-size:clamp(29px,8vw,37px);letter-spacing:-.056em;line-height:1.06}:root.a11y-large .hero .display{font-size:clamp(31px,8.4vw,39px)}}


/* ASUM V3.2.3: Nur die dritte Zeile der Startseiten-Headline in Signalrot. */
.hero .display em{color:#ff2020}
/* AGB: Bereits im Link angezeigte Kapitelnummern nicht durch OL automatisch wiederholen. */
.legal nav[aria-label="AGB-Inhaltsverzeichnis"] ol{list-style:none;padding-left:0}
