:root{--aub:#3A0F58;--dark:#21072B;--cream:#EDE6D9;--ink:#1C1C1E;--gold:#D4AF37;--line:rgba(58,15,88,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:.98;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,7.5vw,8rem)}h2{font-size:clamp(2.8rem,5.7vw,6.2rem)}h3{font-size:clamp(1.8rem,3vw,3rem)}em{font-weight:400;color:var(--gold)}a{color:inherit}button{font:inherit;cursor:pointer}.skip{position:fixed;top:-4rem;left:1rem;z-index:99;background:#fff;padding:.7rem}.skip:focus{top:1rem}.site-header{height:78px;padding:10px clamp(18px,4vw,70px);position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;background:rgba(33,7,43,.92);backdrop-filter:blur(14px);color:var(--cream);border-bottom:1px solid rgba(237,230,217,.13)}.brand img{display:block;width:146px;height:58px;object-fit:contain}.desktop-nav{display:flex;gap:clamp(15px,2vw,36px);font-size:.84rem}.desktop-nav a,.mobile-menu a{text-decoration:none}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--gold)}.header-cta,.button{display:inline-flex;gap:12px;align-items:center;padding:14px 20px;text-decoration:none;border:1px solid transparent;font-weight:700;letter-spacing:.015em}.header-cta{font-size:.85rem;border-color:rgba(212,175,55,.6)}.header-cta span,.button span{font-size:1.15em}.menu-button{display:none;background:none;color:var(--cream);border:0;min-width:48px;min-height:48px}.menu-button span{display:block;width:23px;height:2px;background:currentColor;margin:5px}.menu-button b{font-size:.67rem;font-weight:400}.mobile-menu{position:fixed;inset:0;z-index:30;background:var(--aub);color:var(--cream);padding:calc(env(safe-area-inset-top) + 25px) 26px}.mobile-menu img{width:205px;max-width:76%;height:100px;object-fit:contain}.mobile-menu nav{display:grid;gap:22px;margin:8vh 0;font-family:Georgia,serif;font-size:2.1rem}.menu-close{position:absolute;right:20px;top:20px;border:0;background:none;color:var(--cream);font-size:3rem}.hero{min-height:100svh;padding:calc(78px + 9vh) clamp(18px,8vw,140px) 65px;display:flex;align-items:center;position:relative;overflow:hidden;color:var(--cream);background:var(--dark)}.hero-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,7,43,.93) 0%,rgba(33,7,43,.7) 44%,rgba(33,7,43,.16)),url('assets/jan-schneider-verteilung-hero.png') center/cover;opacity:.84}.hero-grid{position:absolute;right:-12vw;top:0;width:57vw;height:100%;background-image:linear-gradient(rgba(212,175,55,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,55,.2) 1px,transparent 1px);background-size:70px 70px;transform:skewX(-20deg);opacity:.45}.hero-copy{max-width:700px;position:relative}.hero-logo{width:260px;max-width:55vw;height:100px;object-fit:contain;object-position:left;margin:12px 0 27px}.hero-copy>p:not(.eyebrow){font-size:clamp(1rem,1.5vw,1.25rem);max-width:560px}.eyebrow,.section-kicker{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.section-kicker{color:var(--aub)}.gold-ink{color:var(--gold)}.button.gold{background:var(--gold);color:var(--dark)}.button.cream{background:var(--cream);color:var(--dark)}.button.outline{border-color:currentColor;background:transparent}.scroll-cue{position:absolute;bottom:32px;right:clamp(18px,5vw,80px);font-size:.78rem;text-decoration:none;letter-spacing:.1em}.scroll-cue i{display:block;color:var(--gold);font-size:1.7rem;text-align:center}.section{padding:clamp(70px,11vw,165px) clamp(18px,8vw,140px);scroll-margin-top:75px}.split-heading,.testing-lead,.climate,.about{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(34px,8vw,130px)}.large{font-size:clamp(1.16rem,1.8vw,1.55rem);line-height:1.4}.text-action{padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;margin-top:16px;font-weight:700}.text-action span{color:var(--gold);margin-left:8px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:clamp(45px,8vw,100px);border:1px solid var(--line)}.service-cards article{padding:30px;background:var(--cream)}.service-cards b,.process b{font-size:.78rem;color:var(--gold);letter-spacing:.1em}.service-cards h3{font-size:1.75rem;margin:22px 0 8px}.story-stage{min-height:96vh;position:relative;display:grid;place-items:center;color:var(--cream);overflow:hidden}.story-visual,.story-visual img,.story-shade{position:absolute;inset:0;width:100%;height:100%}.story-visual img{object-fit:cover}.story-shade{background:linear-gradient(90deg,rgba(33,7,43,.92),rgba(33,7,43,.28))}.story-content{position:relative;width:min(84%,720px);margin-right:auto;padding-left:clamp(18px,8vw,140px)}.dark{background:var(--dark);color:var(--cream)}.testing-lead>div{align-self:end}.light{color:var(--cream)}.process{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:75px 0;border-top:1px solid rgba(237,230,217,.2)}.process li{padding:25px 18px;min-height:170px;border-right:1px solid rgba(237,230,217,.2);display:flex;flex-direction:column;gap:10px}.process strong{font-size:1rem}.process span{font-size:.88rem;color:rgba(237,230,217,.72)}.orientation{border:1px solid rgba(212,175,55,.55);padding:clamp(25px,4vw,50px);display:flex;justify-content:space-between;align-items:center;gap:30px}.orientation h3{margin-bottom:10px}.orientation p:last-child{margin-bottom:0;max-width:580px}.climate{align-items:center}.climate-art{min-height:430px;background:var(--aub);position:relative;overflow:hidden}.climate-art:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(212,175,55,.5),transparent 25%),linear-gradient(135deg,transparent 60%,rgba(237,230,217,.16))}.unit{position:absolute;left:20%;right:16%;top:25%;height:96px;background:var(--cream);border-radius:9px;box-shadow:0 18px 30px #170622}.unit:after{content:'';position:absolute;left:10%;right:10%;bottom:16px;border-bottom:4px solid var(--aub)}.climate-art i{position:absolute;width:45%;height:12px;border-bottom:2px solid rgba(237,230,217,.8);border-radius:50%;left:28%;top:50%}.climate-art i:nth-of-type(2){top:60%;left:38%}.climate-art i:nth-of-type(3){top:70%;left:24%}.climate-art small{position:absolute;bottom:22px;right:24px;font:700 3rem Georgia;color:var(--gold)}.portrait-wrap{min-height:570px;position:relative;background:var(--aub);overflow:hidden}.portrait-wrap:before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,transparent,rgba(212,175,55,.32));z-index:1}.portrait-wrap img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.portrait-wrap span{position:absolute;z-index:2;bottom:25px;left:26px;color:var(--cream);font:1.5rem Georgia}.portrait-wrap i{font:700 .67rem Arial;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.ticks{padding:0;list-style:none;display:grid;gap:13px;font-weight:bold}.ticks li:before{content:'✦';color:var(--gold);margin-right:12px}.contact{padding:clamp(70px,11vw,165px) clamp(18px,8vw,140px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,8vw,130px);scroll-margin-top:70px}.contact form{max-width:700px}fieldset{border:0;padding:0;margin:0 0 26px}legend{font-size:.8rem;margin-bottom:9px}.form-tabs{display:flex;flex-wrap:wrap;gap:8px}.form-tabs button{border:1px solid rgba(237,230,217,.4);color:var(--cream);background:transparent;padding:10px 13px}.form-tabs .active{border-color:var(--gold);background:var(--gold);color:var(--dark)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:grid;gap:7px;font-size:.84rem}.form-grid .wide{grid-column:span 2}input,textarea{background:transparent;border:0;border-bottom:1px solid rgba(237,230,217,.5);padding:10px 0;color:var(--cream);border-radius:0;font:inherit}input:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:3px}.check{display:flex;gap:9px;font-size:.78rem;margin:22px 0}.check input{width:18px}.form-note{font-size:.8rem;color:rgba(237,230,217,.7);margin-top:15px}.shown{color:var(--gold)}footer{background:#16051d;color:var(--cream);padding:50px clamp(18px,8vw,140px);display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;font-size:.8rem}footer img{width:180px;height:75px;object-fit:contain}footer div{display:flex;gap:20px}dialog{max-width:min(720px,calc(100% - 30px));max-height:88svh;border:0;background:var(--cream);color:var(--ink);padding:clamp(30px,5vw,60px);box-shadow:0 20px 70px #000}dialog::backdrop{background:rgba(23,6,32,.75)}dialog h2{font-size:clamp(2.4rem,5vw,4rem);margin:.1em 0 .5em}dialog h3{font-size:1.35rem;letter-spacing:0;margin-top:25px}dialog li{margin:10px 0}.dialog-close{position:absolute;right:13px;top:9px;border:0;background:none;font-size:2.2rem}.source-note{padding:14px;border-left:3px solid var(--gold);font-size:.8rem;background:rgba(58,15,88,.06)}.answer-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.progress{height:4px;background:rgba(58,15,88,.15);margin:18px 0 35px}.progress i{display:block;height:100%;background:var(--gold)}.pointer-glow{display:none;position:fixed;z-index:50;width:160px;height:160px;margin:-80px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.12),transparent 66%)}@media(pointer:fine) and (hover:hover) and (prefers-reduced-motion:no-preference){.pointer-glow{display:block}}@media(max-width:760px){.site-header{height:68px;padding:5px 14px}.brand img{width:121px;height:56px}.desktop-nav,.header-cta{display:none}.menu-button{display:block}.hero{padding:calc(68px + 9vh) 22px 65px;min-height:100svh;align-items:flex-end}.hero-backdrop{background:linear-gradient(0deg,rgba(33,7,43,.96),rgba(33,7,43,.22) 70%),url('assets/jan-schneider-verteilung-hero.png') 63% center/cover}.hero-grid{display:none}.hero-copy{padding-bottom:25px}.hero-logo{display:none}h1{font-size:clamp(3.4rem,15vw,5.2rem)}.hero-copy>p:not(.eyebrow){font-size:1rem}.scroll-cue{bottom:13px;right:22px}.section{padding:75px 22px}.split-heading,.testing-lead,.climate,.about,.contact{grid-template-columns:1fr;gap:35px}.service-cards{grid-template-columns:1fr;margin-top:45px}.story-stage{min-height:680px}.story-content{padding:0 22px;width:100%;margin-top:auto;margin-bottom:45px}.process{grid-template-columns:1fr 1fr;margin:45px 0}.process li{min-height:140px;border-bottom:1px solid rgba(237,230,217,.2)}.process li:last-child{grid-column:span 2}.orientation{display:block}.orientation .button{margin-top:23px}.climate-art{min-height:330px;order:2}.portrait-wrap{min-height:430px;order:2}.contact{padding:75px 22px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}footer{padding:35px 22px;display:block}footer div{margin:18px 0;flex-direction:column;gap:8px}dialog{width:100%;max-width:100%;max-height:92svh;margin:auto 0 0;padding:42px 25px 30px;border-radius:18px 18px 0 0}.answer-buttons .button{justify-content:center;flex:1}.pointer-glow{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pointer-glow{display:none}}
body.reveal-ready .section,body.reveal-ready .story-stage,body.reveal-ready .contact,body.reveal-ready .service-cards article,body.reveal-ready .process li{opacity:0;transform:translateY(42px);transition:opacity .72s ease var(--reveal-delay,0ms),transform .78s cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0ms)}body.reveal-ready .story-stage{transform:translateY(42px) scale(.985)}body.reveal-ready .is-visible{opacity:1;transform:translateY(0) scale(1)}@media(prefers-reduced-motion:reduce){body.reveal-ready .section,body.reveal-ready .story-stage,body.reveal-ready .contact,body.reveal-ready .service-cards article,body.reveal-ready .process li{opacity:1;transform:none;transition:none}}
.climate-collage{min-height:470px;position:relative;padding:0 12% 12% 0}.climate-collage figure{margin:0;overflow:hidden}.climate-main{height:100%;min-height:470px;background:var(--aub)}.climate-main img{display:block;width:100%;height:100%;min-height:470px;object-fit:cover}.climate-detail{position:absolute;right:0;bottom:0;width:43%;height:47%;background:var(--aub);border:8px solid var(--cream);box-shadow:0 18px 40px rgba(33,7,43,.3)}.climate-detail:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(212,175,55,.45),transparent 30%),linear-gradient(135deg,transparent 60%,rgba(237,230,217,.18))}.climate-detail .unit{position:absolute;left:13%;right:13%;top:20%;height:70px;background:var(--cream);border-radius:8px;box-shadow:0 12px 20px #170622}.climate-detail .unit:after{content:'';position:absolute;left:10%;right:10%;bottom:13px;border-bottom:3px solid var(--aub)}.climate-detail i{position:absolute;width:54%;height:10px;border-bottom:2px solid rgba(237,230,217,.85);border-radius:50%;left:20%;top:53%}.climate-detail i:nth-of-type(2){top:67%;left:32%}.climate-detail small{position:absolute;bottom:12px;right:15px;font:700 2.15rem Georgia;color:var(--gold)}.direct-line{display:grid;gap:3px;margin:30px 0 18px;padding:25px;border:1px solid rgba(212,175,55,.75);text-decoration:none;background:linear-gradient(120deg,rgba(212,175,55,.16),transparent)}.direct-line span,.direct-line i{font-size:.72rem;font-style:normal;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}.direct-line strong{font:clamp(1.7rem,3vw,2.8rem) Georgia;color:var(--cream);letter-spacing:-.04em}.direct-line:hover{background:rgba(212,175,55,.2)}.contact-small{font-size:.84rem;color:rgba(237,230,217,.72)}@media(max-width:760px){.climate-collage{min-height:350px;padding:0 10% 11% 0}.climate-main,.climate-main img{min-height:350px}.climate-detail{height:43%;width:48%;border-width:5px}.climate-detail .unit{height:48px}.direct-line{padding:20px}}
.climate-detail{display:none!important}.climate-collage{padding:0;min-height:470px}.climate-main{min-height:470px}.climate-main img{min-height:470px}@media(max-width:760px){.climate-collage,.climate-main,.climate-main img{min-height:350px}}
/* Leistungs- und Prozesskarten bleiben inhaltlich sichtbar; nur ihre übergeordneten Kapitel werden beim Scrollen erneut eingeblendet. */
body.reveal-ready .service-cards article,body.reveal-ready .process li{opacity:1;transform:none;transition:transform .28s ease,background .28s ease}.service-cards article{position:relative;padding-top:76px}.service-cards article:before{content:'';position:absolute;top:28px;left:30px;width:26px;height:26px;border:1px solid var(--gold);border-radius:50%;box-shadow:10px 10px 0 -8px var(--aub)}.service-cards article:nth-child(2):before{border-radius:3px;box-shadow:10px 10px 0 -8px var(--aub)}.service-cards article:nth-child(3):before{border-radius:50% 50% 3px 3px;box-shadow:10px 10px 0 -8px var(--aub)}.service-cards article:hover{transform:translateY(-7px);box-shadow:0 16px 30px rgba(33,7,43,.12)}@media(max-width:760px){.service-cards article{padding-top:70px}.service-cards article:before{left:30px}}
body.reveal-ready .service-cards article,body.reveal-ready .process li{opacity:1!important;transform:none!important}
/* Ruhige technische Signaturen statt generischer Piktogramme. */
.service-cards article{padding-top:62px}.service-cards article:before{top:30px;left:30px;width:58px;height:14px;border:0!important;border-top:1px solid var(--aub)!important;border-radius:0!important;box-shadow:none!important;background:linear-gradient(90deg,var(--gold) 0 8px,transparent 8px 20px,var(--aub) 20px 21px,transparent 21px 45px,var(--gold) 45px 58px)}.service-cards article:after{content:'';position:absolute;top:24px;left:72px;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--cream),0 0 0 4px var(--aub)}.service-cards article:nth-child(2):before{background:linear-gradient(90deg,var(--aub) 0 14px,transparent 14px 25px,var(--gold) 25px 33px,transparent 33px 45px,var(--aub) 45px 58px)}.service-cards article:nth-child(2):after{left:52px;background:var(--aub);box-shadow:0 0 0 3px var(--cream),0 0 0 4px var(--gold)}.service-cards article:nth-child(3):before{background:linear-gradient(90deg,var(--gold) 0 8px,transparent 8px 17px,var(--aub) 17px 41px,transparent 41px 50px,var(--gold) 50px 58px)}.service-cards article:nth-child(3):after{left:92px;width:7px;height:7px;background:var(--gold);box-shadow:0 0 0 3px var(--cream),0 0 0 4px var(--aub)}@media(max-width:760px){.service-cards article{padding-top:62px}.service-cards article:before{left:30px}.service-cards article:after{left:72px}.service-cards article:nth-child(2):after{left:52px}.service-cards article:nth-child(3):after{left:92px}}
/* Markenfarbe aus dem dunklen Aubergine-Ton des Original-Logos abgeleitet: Header, Einstieg und Abschlüsse wirken dadurch wie eine zusammenhängende Fläche. */
:root{--dark:#2E0C3D;--aub:#3A0F58}.site-header{height:92px;background:rgba(46,12,61,.97);border-bottom-color:rgba(237,230,217,.1)}.brand img{width:178px;height:72px}.hero{padding-top:calc(92px + 7vh);background:#2E0C3D}.hero-backdrop{background:linear-gradient(90deg,rgba(46,12,61,.98) 0%,rgba(46,12,61,.8) 42%,rgba(46,12,61,.2) 100%),url('assets/jan-schneider-verteilung-hero.png') center/cover}.hero-logo{width:clamp(360px,35vw,590px);max-width:72vw;height:clamp(130px,13vw,200px);margin:0 0 30px;object-position:left center;filter:drop-shadow(0 14px 30px rgba(0,0,0,.18))}.hero-copy h1{margin-bottom:20px}.hero-copy:before{content:'';position:absolute;z-index:-1;left:-14vw;top:-18vh;width:74vw;height:70vh;background:radial-gradient(ellipse,rgba(58,15,88,.5),transparent 66%);pointer-events:none}.dark{background:linear-gradient(145deg,#2E0C3D,#3A0F58)}footer{background:#2E0C3D}.story-stage{margin:0 clamp(10px,2vw,28px);min-height:calc(96vh - 20px);border-radius:28px;isolation:isolate}.story-visual img{filter:saturate(.92) contrast(.98)}.story-shade{background:linear-gradient(90deg,rgba(46,12,61,.95),rgba(46,12,61,.42) 58%,rgba(46,12,61,.13))}.service-cards,.orientation,.direct-line{border-radius:14px;overflow:hidden}@media(max-width:760px){.site-header{height:74px}.brand img{width:138px;height:64px}.hero{padding-top:calc(74px + 7vh)}.hero-logo{display:block;width:min(320px,87vw);max-width:87vw;height:112px;margin:0 0 20px}.hero-copy h1{font-size:clamp(3rem,13vw,4.25rem)}.hero-copy:before{left:-45vw;width:140vw;height:65vh}.section{scroll-margin-top:78px}.story-stage{margin:0 10px;min-height:620px;border-radius:20px}}
/* Exakter Grundton aus dem Original-Logo (Pixelprobe: #361238). */
:root{--aub:#361238;--dark:#361238}.site-header,.hero,footer{background:#361238}.hero-backdrop{background:linear-gradient(90deg,rgba(54,18,56,.98) 0%,rgba(54,18,56,.8) 42%,rgba(54,18,56,.18) 100%),url('assets/jan-schneider-verteilung-hero.png') center/cover}.dark{background:#361238}.story-shade{background:linear-gradient(90deg,rgba(54,18,56,.95),rgba(54,18,56,.42) 58%,rgba(54,18,56,.13))}.hero-logo{filter:none}.hero-copy:before{background:radial-gradient(ellipse,rgba(54,18,56,.5),transparent 66%)}

/* Personal landing composition: one portrait, one dominant brand anchor. */
.hero.hero-personal{min-height:100svh!important;background:#361238!important;overflow:hidden;isolation:isolate}.hero-personal .hero-backdrop{opacity:1!important;background:radial-gradient(circle at 70% 35%,rgba(215,181,48,.16),transparent 23%),radial-gradient(circle at 47% 54%,rgba(92,37,101,.46),transparent 45%),#361238!important}.hero-personal .hero-grid{opacity:.16!important;right:-12vw!important;width:62vw!important}.hero-brand-stage{position:absolute;z-index:2;left:48%;top:15%;width:min(620px,48vw);transform:translateX(-35%);pointer-events:none}.hero-brand-stage::before{content:"";position:absolute;inset:-19% -12%;background:radial-gradient(ellipse,rgba(215,181,48,.13),transparent 66%);filter:blur(13px);z-index:-1}.hero-brand-stage img{display:block;width:100%;height:auto;mix-blend-mode:normal}.hero-personal .hero-copy{position:relative;z-index:4;max-width:620px;padding-bottom:2vh}.hero-personal .hero-copy h1{margin-top:.7em}.hero-jan{position:absolute;z-index:3;right:clamp(1.5rem,7vw,10rem);bottom:-1px;height:min(86vh,850px);max-width:42vw;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 26px 28px rgba(8,2,11,.25));pointer-events:none}
.about-copy-only{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr)!important;align-items:center;gap:clamp(3rem,9vw,10rem);border-top:1px solid rgba(54,18,56,.18);border-bottom:1px solid rgba(54,18,56,.18)}.about-copy-only .portrait-wrap{display:none}.about-signature{display:flex;min-height:240px;flex-direction:column;justify-content:center;padding:2rem 0;border-left:3px solid var(--gold,#d7b530);color:#361238}.about-signature span{font-family:var(--serif,Georgia,serif);font-size:clamp(2.3rem,4vw,4.4rem);line-height:.9;padding-left:1.5rem}.about-signature i{margin:1rem 0 .75rem;padding-left:1.5rem;color:#b68a0b;font-style:normal;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.about-signature small{padding-left:1.5rem;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}
@media(max-width:760px){.hero.hero-personal{min-height:100svh!important;padding:7.25rem 1.4rem 3.2rem!important}.hero-brand-stage{top:5.75rem;left:50%;width:min(88vw,430px);transform:translateX(-50%)}.hero-personal .hero-copy{max-width:85vw;padding-bottom:0}.hero-personal .hero-copy h1{font-size:clamp(3.3rem,15vw,5rem);line-height:.86}.hero-jan{right:-15vw;height:55vh;max-width:92vw;opacity:.92}.hero-personal .scroll-cue{z-index:5}.about-copy-only{grid-template-columns:1fr!important;gap:1.5rem}.about-signature{min-height:auto;padding:1.5rem 0}.about-signature span{font-size:3rem}}
/* Hero correction: logo surface and landing surface share the original logo pixel tone. */
:root{--aub:#351339;--dark:#351339}.site-header,.hero,footer,.hero.hero-personal{background:#351339!important}.hero.hero-personal{background:#351339!important}.hero-personal .hero-backdrop{background:#351339!important}.hero-personal .hero-grid{display:none!important}.hero-personal .hero-copy:before{display:none!important}.hero-jan{display:none!important}.hero-brand-stage{left:clamp(5.5rem,7.5vw,8.5rem)!important;top:7.5rem!important;width:min(430px,31vw)!important;transform:none!important}.hero-brand-stage::before{display:none!important}.hero-personal .hero-copy{max-width:650px!important;padding-top:14.5rem!important;padding-bottom:2rem!important}.hero-personal .hero-copy h1{margin-top:.65rem!important;max-width:620px}.hero-brand-stage img{filter:none!important;box-shadow:none!important}.hero-personal .scroll-cue{z-index:5}.dark{background:#351339}
@media(max-width:760px){.site-header{background:#351339!important}.hero.hero-personal{padding-top:7.25rem!important}.hero-brand-stage{left:1.4rem!important;top:5.6rem!important;width:min(300px,76vw)!important}.hero-personal .hero-copy{padding-top:12.5rem!important;max-width:91vw!important}.hero-personal .hero-copy h1{font-size:clamp(3.2rem,14vw,4.6rem)!important}}
/* Reversible landing-page refinement: centered mark plus service overview. */
.hero-personal .hero-brand-stage{left:50%!important;top:6.1rem!important;width:min(410px,30vw)!important;transform:translateX(-50%)!important}.hero-personal .hero-copy{padding-top:15rem!important;max-width:min(650px,48vw)!important}.hero-personal .hero-services{position:absolute;z-index:4;right:clamp(3rem,7vw,9rem);bottom:clamp(3.5rem,10vh,8rem);display:grid;width:min(360px,25vw);gap:9px}.hero-service-card{padding:16px 18px 15px;border:1px solid rgba(237,230,217,.24);background:rgba(53,19,57,.72);backdrop-filter:blur(10px);transition:transform .35s ease,border-color .35s ease,background .35s ease}.hero-service-card:hover{transform:translateX(-7px);border-color:rgba(212,175,55,.72);background:rgba(70,28,74,.88)}.hero-service-card b{display:block;margin-bottom:5px;color:#e3bd35;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.hero-service-card span{display:block;color:#ede6d9;font-size:.87rem;line-height:1.35}.hero-service-card em{color:rgba(237,230,217,.68);font-style:normal}@media(max-width:760px){.hero-personal .hero-brand-stage{top:5.55rem!important;width:min(285px,73vw)!important}.hero-personal .hero-copy{padding-top:12.1rem!important;max-width:91vw!important}.hero-personal .hero-services{position:relative;right:auto;bottom:auto;width:100%;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:1.5rem}.hero-service-card{padding:10px 9px;min-height:78px}.hero-service-card b{font-size:.56rem;letter-spacing:.08em}.hero-service-card span{font-size:.66rem;line-height:1.28}.hero-service-card em{display:none}}
/* Reversible refinement: service cards have more visual weight and sit higher in the hero. */
.hero-personal .hero-services{right:clamp(3rem,7vw,9rem)!important;bottom:clamp(7.5rem,17vh,12.5rem)!important;width:min(430px,28vw)!important;gap:12px!important}.hero-service-card{position:relative;padding:22px 24px 21px!important;border-color:rgba(237,230,217,.28)!important;background:linear-gradient(105deg,rgba(79,33,82,.66),rgba(53,19,57,.88))!important}.hero-service-card::before{content:'';position:absolute;left:0;top:22px;bottom:22px;width:2px;background:#d4af37;opacity:.88}.hero-service-card b{margin-bottom:8px!important;font-size:.72rem!important}.hero-service-card span{font-size:.96rem!important;line-height:1.45!important}.hero-service-card:hover{transform:translateX(-8px) scale(1.015)!important}@media(max-width:760px){.hero-personal .hero-services{position:relative!important;right:auto!important;bottom:auto!important;width:min(440px,100%)!important;gap:10px!important;margin:1rem auto 0!important}.hero-service-card{padding:16px 18px 15px!important;min-height:0!important}.hero-service-card::before{top:16px;bottom:16px}.hero-service-card b{font-size:.64rem!important}.hero-service-card span{font-size:.82rem!important;line-height:1.35!important}.hero-service-card em{display:inline!important}}
/* Reversible viewport fit: retain a clear bottom margin for the hero CTA. */
.hero-personal .hero-copy .button{position:relative;top:-2.2rem;margin-bottom:-2.2rem}@media(max-width:760px){.hero-personal .hero-copy .button{top:-.8rem;margin-bottom:-.8rem}}
/* Reversible CTA flow correction: move the group, never overlap its text. */
.hero-personal .hero-copy{transform:translateY(-1.8rem)}.hero-personal .hero-copy .button{top:auto!important;margin-top:.9rem!important;margin-bottom:0!important;transform:none!important}@media(max-width:760px){.hero-personal .hero-copy{transform:translateY(-.8rem)}.hero-personal .hero-copy .button{margin-top:.75rem!important}}
/* Reversible service-card refinement: replace arbitrary pictograms with a quiet brand signature. */
.service-cards article{padding-top:31px!important}.service-cards article::before,.service-cards article::after{display:none!important}.service-cards article b{display:flex;align-items:center;gap:11px;color:#b68a0b;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}.service-cards article b::before{content:'';display:block;width:28px;height:1px;background:#d4af37;box-shadow:8px 0 0 -0.35px #361238}.service-cards article h3{margin-top:20px!important}.service-cards article:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(33,7,43,.1)}@media(max-width:760px){.service-cards article{padding-top:28px!important}.service-cards article h3{margin-top:17px!important}}
/* Reversible interaction cue for detail cards. */
.service-cards article[role="link"]{cursor:pointer}.service-cards article[role="link"]:focus-visible{outline:2px solid #d4af37;outline-offset:4px}
/* Reversible scroll rhythm: the Elektrotechnik chapter mirrors the rounded visual stage below it. */
.intro.section{position:relative;margin:0 clamp(10px,2vw,28px) 12px;padding:clamp(70px,10vw,145px) clamp(24px,7vw,120px);border-radius:28px;background:linear-gradient(135deg,#351339 0%,#401a43 100%);color:#ede6d9;overflow:hidden}.intro.section::after{content:'';position:absolute;right:-15%;bottom:-60%;width:52%;aspect-ratio:1;border:1px solid rgba(212,175,55,.16);border-radius:50%;box-shadow:0 0 0 38px rgba(212,175,55,.035),0 0 0 76px rgba(212,175,55,.025);pointer-events:none}.intro .section-kicker,.intro h2 em{color:#d4af37}.intro h2,.intro .split-heading p,.intro .text-action{color:#ede6d9}.intro .split-heading,.intro .service-cards{position:relative;z-index:1}.intro .text-action{border-bottom-color:rgba(237,230,217,.6)}.intro .service-cards{background:rgba(237,230,217,.22);border-color:rgba(237,230,217,.22);border-radius:14px;overflow:hidden}.intro .service-cards article{background:rgba(53,19,57,.34);color:#ede6d9}.intro .service-cards article:hover{background:rgba(237,230,217,.08);box-shadow:none}.intro .service-cards article b{color:#e3bd35}.intro .service-cards article b::before{background:#d4af37;box-shadow:8px 0 0 -0.35px #ede6d9}.intro .service-cards article h3{color:#ede6d9}@media(max-width:760px){.intro.section{margin:0 10px 10px;padding:75px 22px;border-radius:20px}.intro.section::after{right:-42%;bottom:-11%;width:90%}.intro .service-cards{margin-top:40px}}
/* Reversible chapter rhythm: alternating rounded panels carry the brand through the full scroll story. */
.hero.hero-personal{margin:0 clamp(10px,2vw,28px);min-height:calc(100svh - 2px)!important;border-radius:0 0 28px 28px}.testing.section.dark{margin:12px clamp(10px,2vw,28px);border-radius:28px;background:#351339;overflow:hidden}.climate.section{position:relative;margin:12px clamp(10px,2vw,28px);padding:clamp(34px,5vw,70px);border-radius:28px;background:#351339;gap:clamp(22px,5vw,75px);overflow:hidden}.climate.section::before{content:'';position:absolute;left:-9%;top:-25%;width:42%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(212,175,55,.15);box-shadow:0 0 0 34px rgba(212,175,55,.025);pointer-events:none}.climate.section>*{position:relative;z-index:1}.climate.section>div:last-child{padding:clamp(32px,4vw,65px);border-radius:16px;background:#ede6d9;color:#1c1c1e}.climate.section .section-kicker{color:#361238}.climate.section h2 em{color:#d4af37}.climate.section .text-action{color:#1c1c1e}.about.section{margin:12px clamp(10px,2vw,28px);padding:clamp(70px,9vw,130px) clamp(24px,7vw,120px);border:1px solid rgba(54,18,56,.16);border-radius:28px}.contact.dark{margin:12px clamp(10px,2vw,28px) 0;border-radius:28px 28px 0 0;background:#351339;overflow:hidden}@media(max-width:760px){.hero.hero-personal{margin:0 10px;border-radius:0 0 20px 20px}.testing.section.dark{margin:10px;border-radius:20px}.climate.section{margin:10px;padding:10px;border-radius:20px}.climate.section>div:last-child{padding:42px 22px;border-radius:14px}.about.section{margin:10px;padding:75px 22px;border-radius:20px}.contact.dark{margin:10px 10px 0;border-radius:20px 20px 0 0}}
/* Reversible closing rhythm: contact is a complete card before the legal footer bar begins. */
.contact.dark{margin:12px clamp(10px,2vw,28px)!important;border-radius:28px!important}.contact.dark::after{content:'';position:absolute}.contact.dark+footer{margin-top:0;padding-top:56px;background:#351339;border-top:1px solid rgba(237,230,217,.14)}@media(max-width:760px){.contact.dark{margin:10px!important;border-radius:20px!important}.contact.dark+footer{padding-top:38px}}
/* Reversible opening rhythm: a clean break separates navigation from the landing chapter. */
.hero.hero-personal{margin:12px clamp(10px,2vw,28px) 0!important;border-radius:28px!important}.site-header{border-bottom:1px solid rgba(237,230,217,.14)}@media(max-width:760px){.hero.hero-personal{margin:10px 10px 0!important;border-radius:20px!important}}
/* Reversible fixed-header correction: the visible hero begins below, not behind, the navigation. */
.hero.hero-personal{margin:104px clamp(10px,2vw,28px) 0!important;min-height:calc(100svh - 104px)!important}.site-header{background:#351339!important}@media(max-width:760px){.hero.hero-personal{margin:84px 10px 0!important;min-height:calc(100svh - 84px)!important}}
/* Reversible minimal navigation: hero owns the brand; navigation becomes a quiet floating utility. */
.site-header{height:0!important;padding:0!important;background:transparent!important;border:0!important;backdrop-filter:none!important;pointer-events:none}.site-header .brand,.site-header .desktop-nav{display:none!important}.site-header .header-cta{position:fixed;z-index:30;top:20px;right:78px;display:inline-flex!important;background:rgba(53,19,57,.94);border-color:rgba(212,175,55,.72);box-shadow:0 8px 22px rgba(27,7,31,.18);pointer-events:auto}.site-header .menu-button{position:fixed;z-index:30;top:20px;right:22px;display:inline-flex!important;width:42px;height:48px;padding:0;align-items:center;justify-content:center;gap:4px;background:rgba(53,19,57,.94);border:1px solid rgba(212,175,55,.72);box-shadow:0 8px 22px rgba(27,7,31,.18);pointer-events:auto}.site-header .menu-button b{display:none}.hero.hero-personal{margin:10px clamp(10px,2vw,28px) 0!important;min-height:calc(100svh - 10px)!important;padding-top:calc(6vh + 3.2rem)!important}@media(max-width:760px){.site-header .header-cta{top:14px;right:64px;padding:11px 13px;font-size:.75rem}.site-header .menu-button{top:14px;right:14px;width:38px;height:42px}.hero.hero-personal{margin:10px!important;min-height:calc(100svh - 10px)!important;padding-top:calc(6vh + 3rem)!important}}
/* Reversible full-bleed landing: the chapter frame appears only once the visitor starts scrolling. */
.site-header,.site-header .header-cta,.site-header .menu-button{display:none!important}.hero.hero-personal{margin:0!important;min-height:100svh!important;padding-top:calc(7vh + 3.2rem)!important;border-radius:0!important;clip-path:inset(0 round 0);transition:clip-path .72s cubic-bezier(.2,.75,.2,1),transform .72s cubic-bezier(.2,.75,.2,1)}body.hero-scrolled .hero.hero-personal{clip-path:inset(0 clamp(10px,2vw,28px) 0 clamp(10px,2vw,28px) round 28px);transform:scale(.992)}@media(max-width:760px){.hero.hero-personal{margin:0!important;min-height:100svh!important;padding-top:calc(7vh + 2.5rem)!important;border-radius:0!important}body.hero-scrolled .hero.hero-personal{clip-path:inset(0 10px 0 10px round 20px);transform:scale(.994)}}@media(prefers-reduced-motion:reduce){.hero.hero-personal{transition:none!important}}
/* Reversible personal-responsibility chapter: real workshop portrait inside a soft cream card with aubergine frame. */
.about.section{position:relative;background:#ede6d9!important;box-shadow:0 0 0 0 #351339;transition:box-shadow .65s cubic-bezier(.2,.75,.2,1)}.about.section.is-visible{box-shadow:0 0 0 clamp(10px,2vw,28px) #351339}.about .portrait-wrap{display:block;min-height:520px;border-radius:18px;overflow:hidden;background:#351339}.about .portrait-wrap::before{z-index:1;background:linear-gradient(135deg,rgba(53,19,57,.18),rgba(53,19,57,.48))}.about .portrait-wrap::after{content:'';position:absolute;inset:0;z-index:2;box-shadow:inset 0 0 0 1px rgba(237,230,217,.22);border-radius:inherit;pointer-events:none}.about .portrait-wrap img{filter:saturate(.82) contrast(.98);object-position:65% center}.about .portrait-wrap span{z-index:3}.about .section-kicker{color:#361238}@media(max-width:760px){.about.section.is-visible{box-shadow:0 0 0 10px #351339}.about .portrait-wrap{min-height:410px;border-radius:14px}.about .portrait-wrap img{object-position:65% center}}
/* Reversible personal signature and square chapter frame. */
.about.section{border-radius:0!important;box-shadow:0 0 0 clamp(10px,2vw,28px) #351339!important}.about.section.is-visible{box-shadow:0 0 0 clamp(10px,2vw,28px) #351339!important}.about .master-note{margin:-.15rem 0 2rem;color:#fff;font-family:"Segoe Script","Brush Script MT",cursive;font-size:clamp(2.1rem,4vw,4.4rem);font-weight:500;line-height:1;letter-spacing:-.04em;text-shadow:0 1px 0 rgba(54,18,56,.15)}.about .master-note::after{content:'';display:block;width:clamp(120px,16vw,210px);height:1px;margin:.48rem 0 0 5px;background:linear-gradient(90deg,#d4af37,transparent)}@media(max-width:760px){.about.section,.about.section.is-visible{box-shadow:0 0 0 10px #351339!important}.about .master-note{font-size:2.5rem;margin:.2rem 0 1.55rem}}
/* Reversible refinement: restrained master-hand signature in the logo's muted gold. */
.about .master-note{color:#b68a0b!important;font-size:clamp(1.8rem,3vw,3.15rem)!important;letter-spacing:-.025em!important;text-shadow:none!important}.about .master-note::after{display:none!important}@media(max-width:760px){.about .master-note{font-size:2.15rem!important}}
/* Reversible layered chapter: rounded cream foreground, square aubergine backdrop. */
.about.section{z-index:0;border-radius:28px!important;box-shadow:none!important;isolation:isolate;transition:transform .65s cubic-bezier(.2,.75,.2,1)}.about.section::before{content:'';position:absolute;z-index:-1;inset:calc(-1 * clamp(10px,2vw,28px));border-radius:0;background:#351339;opacity:0;transform:scale(.98);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.2,1);pointer-events:none}.about.section.is-visible::before{opacity:1;transform:scale(1)}@media(max-width:760px){.about.section{border-radius:20px!important}.about.section::before{inset:-10px}}
/* Reversible correction: keep the content card cream and rounded; shift only the deepest page backdrop to aubergine. */
.about.section{background:#ede6d9!important;border-radius:28px!important;box-shadow:none!important}.about.section::before{display:none!important}body:has(.about.section.is-visible){background:#351339}body{transition:background-color .6s cubic-bezier(.2,.75,.2,1)}@media(max-width:760px){.about.section{border-radius:20px!important}}
/* Reversible: colour progression is driven continuously by scroll position, not an abrupt intersection threshold. */
body{transition:none!important}body:has(.about.section.is-visible){background-color:#ede6d9!important}
/* Reversible guided inquiry intake: service-specific questions without overwhelming the customer. */
.request-details{margin:28px 0 24px;padding:24px;border:1px solid rgba(237,230,217,.28);background:rgba(237,230,217,.045)}.request-details legend{padding:0 8px;color:#d4af37;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.request-details>p{margin:0 0 20px;color:rgba(237,230,217,.76);font-size:.88rem}.request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.request-grid label{display:grid;gap:7px;font-size:.84rem}.request-grid label.wide{grid-column:1/-1}.request-grid select,.request-grid input[type="number"],.request-grid input[type="text"],.request-grid input[type="file"]{width:100%;min-height:42px;border:0;border-bottom:1px solid rgba(237,230,217,.5);background:transparent;color:#ede6d9;font:inherit}.request-grid select option{color:#1c1c1e;background:#ede6d9}.request-grid input[type="file"]{padding:8px 0;font-size:.8rem}.choice-fieldset{grid-column:1/-1;margin:0;padding:0;border:0}.choice-fieldset legend{margin-bottom:9px;padding:0;color:#ede6d9;font-size:.84rem;letter-spacing:0;text-transform:none}.choice-options{display:flex;flex-wrap:wrap;gap:8px}.choice-options label{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(237,230,217,.28);font-size:.8rem}.choice-options input{accent-color:#d4af37}.request-summary{margin-top:20px;padding:18px;border-left:3px solid #d4af37;background:rgba(237,230,217,.08)}.request-summary h3{margin:0 0 9px;font-size:1rem}.request-summary ul{margin:0;padding-left:18px;font-size:.83rem;color:rgba(237,230,217,.82)}.request-summary li{margin:4px 0}@media(max-width:760px){.request-details{padding:18px}.request-grid{grid-template-columns:1fr}.request-grid label.wide{grid-column:auto}.choice-options{display:grid;grid-template-columns:1fr}.choice-options label{width:100%}}
/* Reversible two-step request flow: technical preselection first, contact data second. */
.request-continue{margin:2px 0 26px}.request-continue[hidden]{display:none!important}.contact-step-title{margin:28px 0 14px;padding-top:22px;border-top:1px solid rgba(237,230,217,.25);color:#d4af37;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.contact-step-title[hidden]{display:none!important}
/* Reversible compact inquiry handoff: preselection stays on-page, personal data live in a focused dialog. */
.request-details{margin:20px 0 16px!important;padding:18px!important}.request-details>p{margin-bottom:15px!important}.request-grid{gap:14px!important}.request-continue{padding:12px 16px!important;margin:0!important}.contact-step-title{display:none!important}.contact-dialog{width:min(640px,calc(100% - 30px));padding:clamp(26px,4vw,46px);border-radius:18px}.contact-dialog .dialog-close{color:#351339}.contact-dialog form{display:grid;gap:16px}.contact-dialog .dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-dialog label{display:grid;gap:7px;font-size:.84rem}.contact-dialog label.wide{grid-column:1/-1}.contact-dialog input,.contact-dialog textarea{color:#1c1c1e;border-bottom-color:rgba(54,18,56,.35)}.contact-dialog .check{display:flex;gap:9px;margin:3px 0;font-size:.78rem}.contact-dialog .check input{width:18px}.contact-dialog .dialog-note{margin:0;color:#5e5360;font-size:.79rem}.contact-dialog .dialog-confirm{padding:14px;border-left:3px solid #d4af37;background:rgba(54,18,56,.06)}@media(max-width:760px){.contact-dialog .dialog-grid{grid-template-columns:1fr}.contact-dialog label.wide{grid-column:auto}}
/* Reversible replacement flow: step two occupies the same place as step one, never stacks below it. */
.inline-contact-step{margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid rgba(237,230,217,.25)}.inline-contact-step .section-kicker{color:#d4af37}.inline-contact-step h3{margin:4px 0 0;color:#ede6d9;font-size:1.55rem}.request-back{margin-top:16px;padding:0;border:0;border-bottom:1px solid rgba(237,230,217,.55);background:transparent;color:#ede6d9;font:inherit;font-size:.82rem}.request-back:hover{color:#d4af37}.contact-step-title{display:none!important}
/* Critical visibility fix: authored grid/button rules must not override the semantic hidden state of step two. */
#contact-form [hidden]{display:none!important}
/* Reversible story clarification: home image becomes a clearly labelled Elektrotechnik visual. */
.electro-home-visual{position:relative;min-height:310px;margin-top:clamp(36px,6vw,72px);border-radius:16px;overflow:hidden;background:#2d0d31}.electro-home-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.88) contrast(.96)}.electro-home-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(53,19,57,.91),rgba(53,19,57,.46) 60%,rgba(53,19,57,.18))}.electro-home-copy{position:relative;z-index:1;display:flex;min-height:310px;max-width:610px;flex-direction:column;justify-content:flex-end;padding:clamp(28px,4vw,54px);color:#ede6d9}.electro-home-copy .section-kicker{color:#d4af37}.electro-home-copy h3{margin:.2rem 0 .65rem;font-size:clamp(2rem,4vw,3.5rem);line-height:1}.electro-home-copy p:last-child{max-width:470px;margin:0;color:rgba(237,230,217,.86)}@media(max-width:760px){.electro-home-visual,.electro-home-copy{min-height:360px}.electro-home-copy{padding:28px 22px}.electro-home-visual::after{background:linear-gradient(0deg,rgba(53,19,57,.94),rgba(53,19,57,.22) 78%)}}
/* Reversible CTA hierarchy: optional details sit on their own line below the primary action. */
.secondary-detail-cta{display:block!important;width:max-content;margin:12px 0 0!important}
/* Reversible hero mark refinement: stronger brand anchor in the upper landing area. */
.hero-personal .hero-brand-stage{top:clamp(1.4rem,3.4vh,3rem)!important;width:min(620px,44vw)!important}.hero-personal .hero-copy{padding-top:16.2rem!important}@media(max-width:760px){.hero-personal .hero-brand-stage{top:2.2rem!important;width:min(330px,82vw)!important}.hero-personal .hero-copy{padding-top:12.6rem!important}}
/* Reversible section atmospheres: one restrained interaction language per service. */
@media(pointer:fine) and (hover:hover) and (prefers-reduced-motion:no-preference){.pointer-glow{transition:width .28s ease,height .28s ease,margin .28s ease,background .28s ease,filter .28s ease}.cursor-elektro .pointer-glow{width:180px;height:180px;margin:-90px;background:radial-gradient(circle,rgba(212,175,55,.17),rgba(212,175,55,.045) 34%,transparent 68%)}.cursor-pruefung .pointer-glow{width:54px;height:54px;margin:-27px;border:1px solid rgba(212,175,55,.7);background:radial-gradient(circle,rgba(212,175,55,.22) 0 2px,transparent 3px)}.cursor-pruefung .pointer-glow::after{content:'';position:absolute;top:26px;left:53px;width:34px;border-top:1px solid rgba(212,175,55,.65)}.cursor-klima .pointer-glow{width:170px;height:170px;margin:-85px;background:radial-gradient(circle,rgba(157,219,235,.16),rgba(157,219,235,.04) 40%,transparent 68%);filter:blur(.2px)}.electro-home-visual::before{content:'';position:absolute;z-index:1;inset:0;opacity:0;background:radial-gradient(ellipse at 74% 47%,rgba(255,211,100,.44),transparent 4%),radial-gradient(ellipse at 63% 52%,rgba(255,211,100,.32),transparent 3%),radial-gradient(ellipse at 80% 57%,rgba(255,211,100,.28),transparent 3%),radial-gradient(ellipse at 57% 42%,rgba(255,211,100,.25),transparent 4%);mix-blend-mode:screen;transition:opacity .7s ease}.cursor-elektro .electro-home-visual::before,.electro-home-visual:hover::before{opacity:1}.climate-main{position:relative}.climate-main::after{content:'';position:absolute;z-index:2;inset:12% 5%;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 28% 43%,transparent 0 39%,rgba(177,231,243,.7) 40% 41%,transparent 42%),radial-gradient(ellipse at 38% 54%,transparent 0 42%,rgba(177,231,243,.48) 43% 44%,transparent 45%),radial-gradient(ellipse at 48% 63%,transparent 0 45%,rgba(177,231,243,.35) 46% 47%,transparent 48%);transform:translateX(-4%);transition:opacity .55s ease,transform 1.8s ease}.cursor-klima .climate-main::after,.climate-main:hover::after{opacity:.9;transform:translateX(5%)}.cursor-pruefung .process li:hover{background:rgba(212,175,55,.08);box-shadow:inset 2px 0 #d4af37}}
@media(prefers-reduced-motion:reduce){.electro-home-visual::before,.climate-main::after{display:none}}
/* Reversible cursor-language refinement: warm craft light, measuring probe, and visible cool airflow. */
@media(pointer:fine) and (hover:hover) and (prefers-reduced-motion:no-preference){.cursor-trail{display:none;position:fixed;z-index:49;width:170px;height:110px;margin:-55px -85px;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,rgba(212,175,55,.14),rgba(212,175,55,.045) 38%,transparent 72%);filter:blur(7px)}.cursor-elektro .cursor-trail{display:block}.cursor-elektro .pointer-glow{width:48px;height:58px;margin:-29px -24px;border-radius:50% 50% 46% 46%;background:radial-gradient(circle at 50% 38%,rgba(255,235,167,.72) 0 9%,rgba(212,175,55,.32) 10% 28%,transparent 53%);filter:drop-shadow(0 0 8px rgba(212,175,55,.38))}.cursor-elektro .pointer-glow::before{content:'';position:absolute;left:19px;top:37px;width:10px;height:9px;border-top:2px solid rgba(237,230,217,.8);border-bottom:2px solid rgba(237,230,217,.55)}.cursor-elektro .pointer-glow::after{content:'';position:absolute;left:22px;top:46px;width:4px;height:6px;background:rgba(237,230,217,.72)}.electro-home-visual img{filter:brightness(.68) saturate(.78) contrast(1.03);transition:filter .7s ease}.cursor-elektro .electro-home-visual img,.electro-home-visual:hover img{filter:brightness(.82) saturate(.88) contrast(1.02)}.electro-home-visual::before{background:radial-gradient(ellipse at 71% 58%,rgba(255,211,100,.74),transparent 5%),radial-gradient(ellipse at 69% 73%,rgba(255,211,100,.62),transparent 5%),radial-gradient(ellipse at 82% 62%,rgba(255,211,100,.52),transparent 4%),radial-gradient(ellipse at 89% 51%,rgba(255,211,100,.56),transparent 4%)!important;filter:blur(2px)}.cursor-pruefung .pointer-glow{width:28px;height:68px;margin:-34px -14px;border:0;border-radius:0;background:linear-gradient(to bottom,rgba(237,230,217,.94) 0 70%,rgba(212,175,55,.96) 71% 87%,transparent 88%);clip-path:polygon(42% 0,58% 0,65% 70%,50% 100%,35% 70%);filter:drop-shadow(0 0 5px rgba(212,175,55,.48))}.cursor-pruefung .pointer-glow::after{content:'';top:57px;left:8px;width:12px;border-top:1px solid rgba(212,175,55,.8)}.cursor-klima .pointer-glow{width:155px;height:155px;margin:-77px;background:radial-gradient(circle,rgba(169,229,245,.2),rgba(110,195,226,.05) 43%,transparent 70%)}.climate-main::after{inset:0!important;opacity:0;background:repeating-linear-gradient(168deg,transparent 0 15%,rgba(168,229,246,.05) 16% 18%,transparent 19% 26%),linear-gradient(100deg,rgba(167,229,246,.38),rgba(167,229,246,.15) 22%,transparent 55%)!important;mix-blend-mode:screen;filter:blur(1.5px);transform:translateX(-14%)!important;transition:opacity .55s ease,transform 1.4s cubic-bezier(.2,.75,.2,1)!important}.cursor-klima .climate-main::after,.climate-main:hover::after{opacity:.9!important;transform:translateX(3%)!important}}
/* Reversible custom-cursor mode: hide the native arrow only where the animated cursor is available. */
@media(pointer:fine) and (hover:hover) and (prefers-reduced-motion:no-preference){html,body,body *{cursor:none!important}.pointer-glow{display:block!important}}
/* Reversible cursor symbols: bulb, two-pole tester probe, and bright frost trail. */
@media(pointer:fine) and (hover:hover) and (prefers-reduced-motion:no-preference){.cursor-elektro .pointer-glow{width:42px;height:58px;margin:-29px -21px;border-radius:50% 50% 44% 44%;background:radial-gradient(circle at 50% 30%,#fffdf0 0 20%,#ffe89b 21% 39%,rgba(212,175,55,.6) 40% 51%,transparent 52%);filter:drop-shadow(0 0 10px rgba(212,175,55,.74))}.cursor-elektro .pointer-glow::before{left:15px;top:39px;width:12px;height:11px;border:0;border-top:3px solid #9b7416;border-bottom:3px solid #9b7416;background:repeating-linear-gradient(to bottom,transparent 0 2px,#f3d36a 3px 4px)}.cursor-elektro .pointer-glow::after{left:17px;top:51px;width:8px;height:5px;border-radius:0 0 3px 3px;background:#9b7416}.cursor-pruefung .pointer-glow{width:30px;height:78px;margin:-39px -15px;border:0;border-radius:4px 4px 12px 12px;background:linear-gradient(to bottom,transparent 0 11%,#d4d8da 12% 23%,#e3552f 24% 68%,#9d2d20 69% 88%,transparent 89%);clip-path:polygon(46% 0,54% 0,61% 13%,68% 74%,58% 94%,50% 100%,42% 94%,32% 74%,39% 13%);filter:drop-shadow(0 0 5px rgba(227,85,47,.65))}.cursor-pruefung .pointer-glow::before{content:'';position:absolute;left:13px;top:19px;width:4px;height:42px;border-radius:2px;background:linear-gradient(#fa8b65,#bd3925)}.cursor-pruefung .pointer-glow::after{content:'';position:absolute;top:5px;left:13px;width:4px;height:18px;border:0;background:linear-gradient(#e8edf0,#92999f);box-shadow:none}.cursor-klima .pointer-glow{width:62px;height:62px;margin:-31px;border:1px solid rgba(220,250,255,.95);border-radius:50%;background:radial-gradient(circle,#fff 0 10%,#d9fbff 11% 28%,#8eeaff 29% 46%,rgba(90,204,242,.22) 47% 64%,transparent 65%);filter:drop-shadow(0 0 12px rgba(140,233,255,.92))}.cursor-klima .cursor-trail{display:block;width:195px;height:118px;margin:-59px -98px;background:radial-gradient(circle at 76% 49%,rgba(235,253,255,.8) 0 2px,transparent 3px),radial-gradient(circle at 61% 38%,rgba(209,249,255,.62) 0 2px,transparent 3px),radial-gradient(circle at 43% 58%,rgba(167,231,250,.48) 0 3px,transparent 4px),radial-gradient(ellipse,rgba(125,215,246,.2),rgba(125,215,246,.045) 39%,transparent 72%);filter:blur(1px) drop-shadow(0 0 8px rgba(162,235,255,.45))}.cursor-klima .cursor-trail::before{content:'';position:absolute;inset:24px 22px;background:repeating-linear-gradient(174deg,transparent 0 13px,rgba(222,252,255,.36) 14px 15px,transparent 16px 27px);transform:skewX(-18deg);opacity:.72}}
/* Reversible cursor reset: one calm, slightly brighter light halo throughout the site. */
@media(pointer:fine) and (hover:hover) and (prefers-reduced-motion:no-preference){.cursor-trail{display:none!important}.pointer-glow,.cursor-elektro .pointer-glow,.cursor-pruefung .pointer-glow,.cursor-klima .pointer-glow{width:165px!important;height:165px!important;margin:-82.5px!important;border:0!important;border-radius:50%!important;clip-path:none!important;background:radial-gradient(circle,rgba(212,175,55,.22),rgba(212,175,55,.075) 36%,transparent 68%)!important;filter:none!important}.pointer-glow::before,.pointer-glow::after,.cursor-elektro .pointer-glow::before,.cursor-elektro .pointer-glow::after,.cursor-pruefung .pointer-glow::before,.cursor-pruefung .pointer-glow::after,.cursor-klima .pointer-glow::before,.cursor-klima .pointer-glow::after{display:none!important}}
/* Reversible usability correction: retain the familiar native pointer and use light only as atmosphere. */
@media(pointer:fine) and (hover:hover) and (prefers-reduced-motion:no-preference){html,body,body *{cursor:auto!important}a,button,[role="button"],[role="link"],select,label:has(input[type="checkbox"]),label:has(input[type="radio"]){cursor:pointer!important}input,textarea{cursor:text!important}.pointer-glow,.cursor-elektro .pointer-glow,.cursor-pruefung .pointer-glow,.cursor-klima .pointer-glow{background:radial-gradient(circle,rgba(212,175,55,.30),rgba(212,175,55,.10) 36%,transparent 68%)!important}}
/* Reversible landing catch: one restrained light sweep over the original wordmark on page entry. */
.hero-brand-stage{overflow:hidden}.hero-brand-stage::after{content:'';position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(108deg,transparent 0 34%,rgba(255,246,211,.04) 41%,rgba(255,250,228,.72) 47%,rgba(212,175,55,.92) 50%,rgba(255,250,228,.38) 54%,transparent 62%);transform:translateX(-130%) skewX(-13deg);mix-blend-mode:screen;animation:brand-light-sweep 1.35s cubic-bezier(.2,.7,.2,1) .5s 1 both}.hero-brand-stage img{animation:brand-mark-finish .42s ease 1.74s 1 both}@keyframes brand-light-sweep{0%{transform:translateX(-130%) skewX(-13deg);opacity:0}10%{opacity:1}86%{opacity:1}100%{transform:translateX(130%) skewX(-13deg);opacity:0}}@keyframes brand-mark-finish{0%,100%{filter:brightness(1)}45%{filter:brightness(1.16) drop-shadow(0 0 8px rgba(212,175,55,.35))}}@media(prefers-reduced-motion:reduce){.hero-brand-stage::after,.hero-brand-stage img{animation:none!important}}
/* Reversible letter-level logo light trace: masks are derived from, not a redraw of, the supplied logo. */
.hero-brand-stage img{animation:none!important}.hero-brand-stage::after{z-index:3!important;inset:0!important;background:linear-gradient(102deg,transparent 0 39%,rgba(255,250,225,.12) 44%,rgba(255,255,244,1) 48%,rgba(212,175,55,1) 51%,rgba(255,250,225,.22) 55%,transparent 61%)!important;transform:translateX(-120%)!important;mix-blend-mode:screen;-webkit-mask:url('assets/logo-text-mask.svg') center/100% 100% no-repeat;mask:url('assets/logo-text-mask.svg') center/100% 100% no-repeat;animation:brand-letter-trace 1.65s cubic-bezier(.18,.72,.18,1) .45s 1 both!important}.hero-brand-stage::before{display:block!important;position:absolute!important;z-index:4!important;inset:0!important;background:rgba(255,205,52,.96)!important;transform:none!important;filter:drop-shadow(0 0 7px rgba(212,175,55,.7));opacity:0;-webkit-mask:url('assets/logo-gold-mask.svg') center/100% 100% no-repeat;mask:url('assets/logo-gold-mask.svg') center/100% 100% no-repeat;animation:meisterbetrieb-finish .5s ease 2.05s 1 both!important}@keyframes brand-letter-trace{0%{transform:translateX(-120%);opacity:0}7%{opacity:1}91%{opacity:1}100%{transform:translateX(120%);opacity:0}}@keyframes meisterbetrieb-finish{0%,100%{opacity:0}35%,65%{opacity:.98}}@media(prefers-reduced-motion:reduce){.hero-brand-stage::before,.hero-brand-stage::after{animation:none!important;opacity:0!important}}
/* Static first-paint safeguard: no legacy scene is visible before JavaScript enhances the page. */
.hero.hero-personal .hero-backdrop{background:#351339!important}.hero.hero-personal .hero-grid{opacity:.16!important}.story-stage{display:none!important}
/* Reversible hand-traced logo entry: three transient strokes follow the mark rather than sweep its rectangle. */
.hero-brand-stage::before,.hero-brand-stage::after{display:none!important;animation:none!important}.logo-trace{position:absolute;z-index:6;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.logo-trace path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}.logo-trace .trace-one{stroke:#ff5a3c;stroke-width:10;filter:drop-shadow(0 0 6px rgba(255,90,60,.72));animation:logo-trace-one .95s cubic-bezier(.2,.74,.18,1) .42s 1 both}.logo-trace .trace-two{stroke:#ff9e2d;stroke-width:8;filter:drop-shadow(0 0 6px rgba(255,158,45,.7));animation:logo-trace-two .98s cubic-bezier(.2,.74,.18,1) 1.27s 1 both}.logo-trace .trace-three{stroke:#f3c934;stroke-width:8;filter:drop-shadow(0 0 7px rgba(243,201,52,.8));animation:logo-trace-three .8s cubic-bezier(.2,.74,.18,1) 2.12s 1 both}@keyframes logo-trace-one{0%{stroke-dashoffset:1;opacity:0}8%{opacity:1}78%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}@keyframes logo-trace-two{0%{stroke-dashoffset:1;opacity:0}8%{opacity:1}78%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}@keyframes logo-trace-three{0%{stroke-dashoffset:1;opacity:0}8%{opacity:1}76%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}@media(prefers-reduced-motion:reduce){.logo-trace{display:none!important}}
/* Exactness safeguard: disable approximate hand-drawn paths until official vector paths are supplied. */
.logo-trace{display:none!important}.hero-brand-stage::before,.hero-brand-stage::after{display:none!important;animation:none!important}.hero-brand-stage img{animation:none!important}
/* Pixel-accurate mask derived from the supplied PNG: light is restricted to the original visible letters. */
.hero-brand-stage::after{display:block!important;z-index:3!important;inset:0!important;background:linear-gradient(102deg,transparent 0 40%,rgba(255,251,231,.16) 45%,rgba(255,255,248,1) 48%,rgba(212,175,55,1) 51%,rgba(255,251,231,.18) 55%,transparent 61%)!important;transform:translateX(-120%)!important;-webkit-mask:url('assets/logo-letter-mask.png') center/100% 100% no-repeat!important;mask:url('assets/logo-letter-mask.png') center/100% 100% no-repeat!important;mix-blend-mode:screen!important;animation:brand-letter-pixel-trace 1.55s cubic-bezier(.18,.72,.18,1) .38s 1 both!important}.hero-brand-stage::before{display:block!important;z-index:4!important;inset:0!important;background:#f4c735!important;-webkit-mask:url('assets/logo-meisterbetrieb-mask.png') center/100% 100% no-repeat!important;mask:url('assets/logo-meisterbetrieb-mask.png') center/100% 100% no-repeat!important;filter:drop-shadow(0 0 8px rgba(212,175,55,.82))!important;animation:meisterbetrieb-pixel-blink .42s ease 1.98s 1 both!important}@keyframes brand-letter-pixel-trace{0%{transform:translateX(-120%);opacity:0}6%{opacity:1}90%{opacity:1}100%{transform:translateX(120%);opacity:0}}@keyframes meisterbetrieb-pixel-blink{0%,100%{opacity:0}40%,62%{opacity:1}}@media(prefers-reduced-motion:reduce){.hero-brand-stage::before,.hero-brand-stage::after{display:none!important;animation:none!important}}
/* Final logo entrance: the original pixel mask limits the light exactly to the supplied lettering. */
.hero-brand-stage{overflow:visible!important}
.hero-brand-stage::before,.hero-brand-stage::after{content:'';display:block!important;pointer-events:none;opacity:0;animation:none!important}
.hero-brand-stage::after{z-index:3!important;inset:0!important;background:linear-gradient(104deg,transparent 0 42%,rgba(255,248,222,.18) 46%,#fffdf3 49%,#f0c746 51%,rgba(255,248,222,.18) 55%,transparent 59%)!important;transform:translateX(-118%) skewX(-10deg)!important;-webkit-mask:url('assets/logo-letter-mask.png') center/100% 100% no-repeat!important;mask:url('assets/logo-letter-mask.png') center/100% 100% no-repeat!important;mix-blend-mode:screen!important;filter:drop-shadow(0 0 5px rgba(255,235,160,.72))!important}
.hero-brand-stage::before{z-index:4!important;inset:0!important;background:#f4c735!important;transform:none!important;-webkit-mask:url('assets/logo-meisterbetrieb-mask.png') center/100% 100% no-repeat!important;mask:url('assets/logo-meisterbetrieb-mask.png') center/100% 100% no-repeat!important;filter:drop-shadow(0 0 8px rgba(244,199,53,.86))!important}
.hero-brand-stage.logo-entry-active::after{animation:brand-letter-pixel-trace 1.7s cubic-bezier(.16,.78,.18,1) .22s 1 both!important}
.hero-brand-stage.logo-entry-active::before{animation:meisterbetrieb-pixel-blink .48s ease 1.96s 1 both!important}
@media(prefers-reduced-motion:reduce){.hero-brand-stage::before,.hero-brand-stage::after{display:none!important}}
/* Jan Schneider mark: the supplied dark-purple and white variants become the visual anchor. */
img[src="assets/LOGO.png"]{visibility:hidden}
body.western-brand{--aub:#2f0c34;--dark:#2f0c34;--gold:#dca923;background:#f5efe3}
body.western-brand .hero,body.western-brand .hero.hero-personal,body.western-brand .site-header,body.western-brand footer,body.western-brand .dark{background:#2f0c34!important}
body.western-brand .hero-personal .hero-backdrop{background:radial-gradient(circle at 50% 25%,rgba(219,169,35,.10),transparent 29%),#2f0c34!important}
body.western-brand .hero-brand-stage img,body.western-brand .brand img,body.western-brand footer img,body.western-brand .mobile-menu img{visibility:visible;object-fit:contain}
body.western-brand .hero-brand-stage{width:min(690px,48vw)!important;filter:none!important}
body.western-brand h1,body.western-brand h2,body.western-brand h3{letter-spacing:-.025em}
body.western-brand .section-kicker,body.western-brand .eyebrow{letter-spacing:.16em}
body.western-brand .hero-brand-stage::after{background:linear-gradient(104deg,transparent 0 42%,rgba(255,249,225,.16) 46%,#fffdf3 49%,#e6b22f 51%,rgba(255,249,225,.16) 55%,transparent 59%)!important;-webkit-mask:url('assets/jan-schneider-elektrotechnik-logo-mask.png') center/100% 100% no-repeat!important;mask:url('assets/jan-schneider-elektrotechnik-logo-mask.png') center/100% 100% no-repeat!important}
body.western-brand .hero-brand-stage::before{background:#e3ae29!important;-webkit-mask:url('assets/jan-schneider-elektrotechnik-meisterbetrieb-mask.png') center/100% 100% no-repeat!important;mask:url('assets/jan-schneider-elektrotechnik-meisterbetrieb-mask.png') center/100% 100% no-repeat!important}
@media(max-width:760px){body.western-brand .hero-brand-stage{width:min(360px,88vw)!important}}
/* Local display font: Rye is bundled unchanged under SIL Open Font License 1.1. */
@font-face{font-family:'Rye Local';src:url('assets/fonts/Rye-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
body.western-brand :is(h1,h2,h3){font-family:'Rye Local',Georgia,serif!important;font-weight:400!important;letter-spacing:0!important;line-height:1.04}
body.western-brand .hero h1{line-height:.98!important;text-shadow:0 2px 0 rgba(0,0,0,.08)}
body.western-brand .section-kicker,body.western-brand .eyebrow,body.western-brand p,body.western-brand li,body.western-brand label,body.western-brand button{font-family:var(--sans,Arial,sans-serif)!important}
/* Entrance sequence: written wordmark first; the technical descriptor follows as one warm-gold reveal. */
body.western-brand .hero-brand-stage .hero-logo{clip-path:inset(0 0 47% 0)}
body.western-brand .hero-brand-stage .logo-lower-reveal{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;clip-path:inset(53% 0 0 0);pointer-events:none}
body.western-brand .hero-brand-stage::after{clip-path:inset(0 0 47% 0);background:linear-gradient(104deg,transparent 0 42%,rgba(255,249,225,.14) 46%,#fffdf3 49%,#e6b22f 51%,rgba(255,249,225,.14) 55%,transparent 59%)!important}
body.western-brand .hero-brand-stage::before{background:#e3ae29!important;-webkit-mask:url('assets/jan-schneider-elektrotechnik-descriptor-mask.png') center/100% 100% no-repeat!important;mask:url('assets/jan-schneider-elektrotechnik-descriptor-mask.png') center/100% 100% no-repeat!important}
body.western-brand .hero-brand-stage.logo-entry-active .logo-lower-reveal{animation:logo-descriptor-reveal .38s ease 1.92s 1 both}
body.western-brand .hero-brand-stage.logo-entry-active::before{animation:logo-descriptor-glow .58s ease 1.92s 1 both!important}
@keyframes logo-descriptor-reveal{0%{opacity:0;transform:translateY(5px)}100%{opacity:1;transform:translateY(0)}}
@keyframes logo-descriptor-glow{0%,100%{opacity:0}24%,70%{opacity:.84}}
@media(prefers-reduced-motion:reduce){body.western-brand .hero-brand-stage .hero-logo{clip-path:none}body.western-brand .hero-brand-stage .logo-lower-reveal{display:none!important}}
/* Refined logo-led direction: clear editorial headings, with the script character reserved for the actual mark. */
body.western-brand :is(h1,h2,h3){font-family:var(--serif,Georgia,serif)!important;font-weight:600!important;letter-spacing:-.025em!important;line-height:.98!important}
body.western-brand :is(h1,h2,h3) em{font-style:italic;font-weight:400}
body.western-brand .section-kicker,body.western-brand .eyebrow{letter-spacing:.13em!important}
body.western-brand .hero-brand-stage .hero-logo{clip-path:none!important}
body.western-brand .hero-brand-stage .logo-lower-reveal{display:none!important}
body.western-brand .hero-brand-stage::after{clip-path:inset(0 0 47% 0)!important}
body.western-brand .hero-brand-stage::before{-webkit-mask:url('assets/jan-schneider-elektrotechnik-descriptor-mask.png') center/100% 100% no-repeat!important;mask:url('assets/jan-schneider-elektrotechnik-descriptor-mask.png') center/100% 100% no-repeat!important}
/* First paint is already the final surface: no legacy backdrop or retired story can flash on refresh. */
html,body{background:#f5efe3!important}
.hero.hero-personal{background:#2f0c34!important}
.hero-backdrop,.hero-grid,.story-stage{display:none!important}
/* Vast Shadow is deliberately limited to the four requested statement headings. */
@font-face{font-family:'Vast Shadow Local';src:url('assets/fonts/VastShadow-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
body.western-brand #leistungen .split-heading>h2,
body.western-brand #prueftechnik .testing-lead>h2,
body.western-brand #klima>div:not(.climate-collage)>h2,
body.western-brand #anfrage .contact-copy>h2{font-family:'Vast Shadow Local',Georgia,serif!important;font-weight:400!important;letter-spacing:-.015em!important;line-height:1.06!important}
body.western-brand .about .master-note{font-family:'Segoe Script','Brush Script MT',cursive!important;font-style:italic!important;color:#b68a0b!important}
@media(max-width:760px){body.western-brand #leistungen .split-heading>h2,body.western-brand #prueftechnik .testing-lead>h2,body.western-brand #klima>div:not(.climate-collage)>h2,body.western-brand #anfrage .contact-copy>h2{letter-spacing:-.03em!important;line-height:1.02!important}}
/* Ultra replaces Vast Shadow for the selected headline moments, including the opening promise. */
@font-face{font-family:'Ultra Local';src:url('assets/fonts/Ultra-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
body.western-brand .hero-personal .hero-copy>h1,
body.western-brand #leistungen .split-heading>h2,
body.western-brand #prueftechnik .testing-lead>h2,
body.western-brand #klima>div:not(.climate-collage)>h2,
body.western-brand #anfrage .contact-copy>h2{font-family:'Ultra Local',Georgia,serif!important;font-weight:400!important;letter-spacing:-.02em!important;line-height:1.04!important}
body.western-brand #anfrage .contact-copy>h2{font-size:clamp(3.8rem,6.7vw,7rem)!important;line-height:.94!important}
@media(max-width:760px){body.western-brand #anfrage .contact-copy>h2{font-size:clamp(3.5rem,15vw,5.4rem)!important}}

/* Typography test — Arbutus Slab softens the overall display language; Ultra remains a sparing accent. */
@font-face{font-family:'Arbutus Slab Local';src:url('assets/fonts/ArbutusSlab-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
body.western-brand :is(h1,h2,h3){font-family:'Arbutus Slab Local',Georgia,serif!important;font-weight:400!important;letter-spacing:-.018em!important;line-height:1.03!important}

/* Kontaktformular: Auswahlfeld für die optionale Anrede. */
.contact-dialog select {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-bottom: 1px solid rgba(54, 18, 56, .35);
  background: transparent;
  color: #1c1c1e;
  font: inherit;
}
.contact-dialog select option { color: #1c1c1e; background: #f5efe3; }

/* Mobil: die drei Leistungsfelder folgen sichtbar unter dem Einstieg; Desktop bleibt unverändert. */
@media (max-width:760px){
  .hero.hero-personal{display:block!important;min-height:auto!important;overflow:visible!important;padding-bottom:2.4rem!important}
  .hero-personal .hero-copy{padding-bottom:0!important}
  .hero-personal .hero-services{position:relative!important;right:auto!important;bottom:auto!important;display:grid!important;width:100%!important;grid-template-columns:1fr!important;gap:.65rem!important;margin:1.35rem auto 0!important}
  .hero-personal .hero-service-card{min-height:0!important;padding:1rem 1.1rem!important}
  .hero-personal .hero-service-card b{font-size:.68rem!important}
  .hero-personal .hero-service-card span{font-size:.86rem!important;line-height:1.35!important}
}

/* Mobil: der Detail-Link der Prüftechnik bleibt eindeutig Teil des dunklen Designs. */
@media (max-width:760px){#prueftechnik .secondary-detail-cta{color:#f5efe3!important;border-bottom-color:rgba(245,239,227,.62)!important}#prueftechnik .secondary-detail-cta span{color:#dca923!important}}

/* Android: kein seitliches Verschieben der Seite; die Einstiegsheadline bleibt vollständig im Viewport. */
html,body{max-width:100%;overflow-x:hidden}
@media (max-width:760px){
  .hero-personal .hero-copy{width:calc(100vw - 2.8rem)!important;max-width:calc(100vw - 2.8rem)!important;margin-left:-.28rem}
  .hero-personal .hero-copy h1{max-width:100%;font-size:clamp(2.85rem,11.4vw,3.8rem)!important;letter-spacing:-.04em!important;overflow-wrap:normal}
}

/* Interactive Prüfprotokoll: tactile beginning, increasingly precise digital finish. */
.process li{padding:0!important}.process-step{display:flex;width:100%;min-height:170px;padding:25px 18px;border:0;background:transparent;color:inherit;text-align:left;flex-direction:column;gap:10px;font:inherit;cursor:pointer}.process-step:hover,.process-step:focus-visible{background:rgba(220,169,35,.10);outline:none;box-shadow:inset 3px 0 #dca923}.process-step:focus-visible{outline:2px solid #dca923;outline-offset:-4px}.process-step strong{font-size:1rem}.process-step span{font-size:.88rem;color:rgba(237,230,217,.72)}.protocol-dialog{width:min(760px,calc(100% - 30px));max-height:min(760px,90svh);padding:0!important;overflow:hidden;border:1px solid rgba(220,169,35,.62);border-radius:4px;background:#f5efe3;color:#2f0c34}.protocol-dialog .dialog-close{z-index:4;color:#2f0c34}.protocol-sheet{position:relative;min-height:530px;padding:clamp(40px,7vw,76px);overflow:hidden;transition:background .4s ease,color .4s ease}.protocol-sheet::before{content:'';position:absolute;inset:0;pointer-events:none}.protocol-sheet.rustic{background:linear-gradient(135deg,rgba(67,35,20,.08),transparent 40%),repeating-linear-gradient(0deg,rgba(47,12,52,.025) 0 1px,transparent 1px 5px),#f5efe3}.protocol-sheet.rustic::before{background:radial-gradient(circle at 16% 16%,rgba(220,169,35,.20),transparent 18%),linear-gradient(90deg,rgba(105,55,28,.12) 1px,transparent 1px);background-size:auto,26px 100%;opacity:.8}.protocol-sheet.transition{background:linear-gradient(125deg,#f5efe3 0 45%,#e5d7c4 70%,#d5e0df 100%)}.protocol-sheet.transition::before{background:linear-gradient(90deg,transparent 48%,rgba(47,12,52,.18) 48.2% 48.5%,transparent 48.7%),repeating-linear-gradient(0deg,transparent 0 34px,rgba(47,12,52,.07) 35px 36px);opacity:.75}.protocol-sheet.modern{background:linear-gradient(140deg,#f5efe3,#edf3f2)}.protocol-sheet.modern::before{background:linear-gradient(90deg,rgba(69,132,143,.10) 1px,transparent 1px),linear-gradient(rgba(69,132,143,.10) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(110deg,transparent 0 36%,#000 75%);opacity:.7}.protocol-sheet>*{position:relative;z-index:1}.protocol-meta{display:flex;justify-content:space-between;margin-bottom:clamp(48px,9vw,88px);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.protocol-stamp{display:inline-block;margin-bottom:19px;padding:5px 10px;border:1px solid currentColor;letter-spacing:.12em;font-size:.72rem;text-transform:uppercase;transform:rotate(-2deg)}.protocol-sheet h2{max-width:570px;margin-bottom:20px;font-size:clamp(2.45rem,5.2vw,4.6rem)!important}.protocol-text{max-width:585px;font-size:clamp(1.05rem,1.6vw,1.27rem);line-height:1.55}.protocol-note{margin-top:32px;font-size:.82rem;letter-spacing:.05em;opacity:.72}.protocol-progress{height:3px;margin:38px 0 21px;background:rgba(47,12,52,.16)}.protocol-progress i{display:block;height:100%;background:#dca923;transition:width .35s ease}.protocol-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.protocol-back{border:0;border-bottom:1px solid currentColor;padding:8px 0;background:transparent;color:inherit;font:inherit;font-size:.85rem}.protocol-back:disabled{opacity:.35;cursor:not-allowed}.protocol-sheet.modern .protocol-stamp{color:#2c7684}.protocol-sheet.modern .protocol-progress i{background:#2c7684}@media(max-width:760px){.process-step{min-height:140px}.protocol-dialog{width:calc(100% - 20px);margin:auto;border-radius:12px}.protocol-sheet{min-height:570px;padding:62px 28px 30px}.protocol-meta{margin-bottom:48px}.protocol-actions{align-items:flex-end}.protocol-actions .button{padding:12px 14px}.protocol-sheet h2{font-size:clamp(2.1rem,11vw,3.25rem)!important}}

/* Elektrotechnik detail cards: each service gets its own focused, tactile mini briefing. */
.service-cards article[data-service-card]{cursor:pointer;transition:transform .28s ease,box-shadow .28s ease,background .28s ease}.service-cards article[data-service-card]:hover{transform:translateY(-7px);box-shadow:0 16px 30px rgba(33,7,43,.12);background:#fffaf0}.service-cards article[data-service-card]:focus-visible{outline:3px solid #dca923;outline-offset:-5px}.electro-service-dialog{width:min(720px,calc(100% - 30px));padding:0!important;overflow:hidden;border:1px solid rgba(47,12,52,.18);border-radius:14px;background:#f5efe3;color:#2f0c34}.electro-service-dialog .dialog-close{z-index:5;color:#2f0c34}.electro-service-sheet{position:relative;min-height:520px;padding:clamp(42px,7vw,76px);overflow:hidden}.electro-service-sheet::before{content:'';position:absolute;inset:0;pointer-events:none}.electro-service-sheet>*{position:relative;z-index:1}.electro-service-sheet.warm{background:linear-gradient(135deg,#f5efe3,#efe1c9)}.electro-service-sheet.warm::before{background:repeating-linear-gradient(90deg,rgba(92,53,28,.07) 0 1px,transparent 1px 24px);opacity:.72}.electro-service-sheet.technical{background:linear-gradient(135deg,#f5efe3,#e7eeeb)}.electro-service-sheet.technical::before{background:linear-gradient(90deg,rgba(47,12,52,.08) 1px,transparent 1px),linear-gradient(rgba(47,12,52,.08) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(115deg,transparent 0 25%,#000 100%)}.electro-service-sheet.light{background:linear-gradient(135deg,#f5efe3,#fff2bf)}.electro-service-sheet.light::before{background:radial-gradient(circle at 85% 20%,rgba(220,169,35,.35),transparent 18%),radial-gradient(circle at 70% 38%,rgba(220,169,35,.16),transparent 26%)}.electro-service-symbol{width:52px;height:52px;margin:24px 0;border:1px solid #dca923;border-radius:50%;box-shadow:12px 12px 0 -9px #2f0c34}.electro-service-sheet.technical .electro-service-symbol{border-radius:6px;background:linear-gradient(90deg,transparent 46%,#2f0c34 47% 53%,transparent 54%)}.electro-service-sheet.light .electro-service-symbol{background:radial-gradient(circle,#fffdf0 0 28%,#dca923 29% 42%,transparent 43%);box-shadow:0 0 22px rgba(220,169,35,.38)}.electro-service-sheet h2{max-width:600px;font-size:clamp(2.45rem,5.1vw,4.5rem)!important;margin-bottom:18px}.electro-service-intro{max-width:590px;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.55}.electro-service-sheet ul{max-width:590px;margin:28px 0;padding:0;list-style:none;display:grid;gap:11px}.electro-service-sheet li{padding-left:23px;position:relative}.electro-service-sheet li::before{content:'✦';position:absolute;left:0;color:#dca923}.electro-service-note{max-width:590px;padding:13px 16px;border-left:3px solid #dca923;background:rgba(255,255,255,.30);font-size:.89rem}.electro-service-cta{margin-top:12px}@media(max-width:760px){.electro-service-dialog{width:calc(100% - 20px);margin:auto}.electro-service-sheet{min-height:570px;padding:58px 28px 32px}.electro-service-sheet h2{font-size:clamp(2.05rem,10vw,3.3rem)!important}}

/* Detail clean-up: remove decorative corner marks and lock foreground contrast on the light sheets. */
.electro-service-symbol{display:none!important}.electro-service-dialog{overflow:auto!important}.electro-service-sheet{min-height:0!important;padding-top:clamp(56px,7vw,76px)!important}.electro-service-sheet :is(h2,p,li){color:#2f0c34!important;opacity:1!important}.electro-service-sheet .section-kicker{color:#6b2c59!important}.electro-service-sheet li::before{color:#dca923!important}.electro-service-sheet .electro-service-cta{color:#2f0c34!important}
body.western-brand .hero-personal .hero-copy>h1,
body.western-brand #anfrage .contact-copy>h2{font-family:'Ultra Local',Georgia,serif!important;letter-spacing:-.02em!important}

/* Test extension: Arbutus Slab is intentionally visible across the complete interface, not only in titles. */
body.western-brand,
body.western-brand :is(p,li,a,button,input,textarea,select,option,label,legend,small,strong,b,span){font-family:'Arbutus Slab Local',Georgia,serif!important}
body.western-brand .about .master-note{font-family:'Segoe Script','Brush Script MT',cursive!important}

/* Dezente Freigabe im letzten Prüfprotokoll-Schritt. */
.protocol-final-signoff{display:grid;gap:.1rem;margin:.9rem 0 .25rem;padding-top:.7rem;border-top:1px solid rgba(220,169,35,.38)}
.protocol-final-signoff span{width:max-content;color:var(--gold);font-family:"Segoe Script","Brush Script MT",cursive!important;font-size:clamp(1.85rem,4vw,2.7rem);line-height:1;letter-spacing:-.06em;opacity:0;clip-path:inset(0 100% 0 0);animation:protocol-signature-write 1.15s ease-out .25s forwards;text-shadow:0 .08rem .35rem rgba(0,0,0,.2)}
.protocol-final-signoff small{color:rgba(245,239,227,.72);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:0;animation:protocol-fade-in .4s ease 1.2s forwards}
@keyframes protocol-signature-write{to{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes protocol-fade-in{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.protocol-final-signoff span,.protocol-final-signoff small{animation:none;opacity:1;clip-path:none}}

/* Der Protokoll-Dialog scrollt eigenständig, damit jeder Schritt vollständig bedienbar bleibt. */
.protocol-dialog{max-height:calc(100dvh - 2rem);overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.protocol-sheet{min-height:0!important;padding-bottom:clamp(2.5rem,6vh,4rem)}
@media (max-width:760px){.protocol-dialog{max-height:calc(100dvh - 1.25rem)}.protocol-sheet{padding-bottom:3rem}.protocol-actions{padding-bottom:env(safe-area-inset-bottom)}}

/* Alte Raster-Masken und nachträgliche Schrift-Ebenen bleiben dauerhaft aus.
   Der folgende Lichtzug nutzt ausschließlich die gelieferte Vektorform. */
.hero-brand-stage { overflow: visible !important; }
.hero-brand-stage::before,
.hero-brand-stage::after,
.hero-brand-stage .logo-meister-glow,
.hero-brand-stage .logo-lower-reveal,
.hero-brand-stage .logo-trace { content: none !important; display: none !important; animation: none !important; }
.hero-brand-stage .hero-logo { display:block !important; width:100%; height:auto; clip-path:none !important; -webkit-mask:none !important; mask:none !important; filter:none !important; animation:none !important; }


/* Finalise the typography test: no visible Ultra accents remain; every heading uses Arbutus Slab. */
body.western-brand .hero-personal .hero-copy>h1,
body.western-brand #leistungen .split-heading>h2,
body.western-brand #prueftechnik .testing-lead>h2,
body.western-brand #klima>div:not(.climate-collage)>h2,
body.western-brand #anfrage .contact-copy>h2,
body.western-brand :is(h1,h2,h3){font-family:'Arbutus Slab Local',Georgia,serif!important;font-weight:400!important;letter-spacing:-.018em!important;line-height:1.03!important}

/* Leistungsbereich: Beim Eintreten wird nur der gemeinsame Kartenrahmen dezent gewendet.
   Die drei einzelnen Leistungen bleiben ruhig, damit der Wechsel hochwertig und lesbar bleibt. */
#leistungen{perspective:1400px}
#leistungen .service-cards{
  transform-origin:center 68%;
  transition:transform .68s cubic-bezier(.2,.75,.2,1),background-color .52s ease,padding .52s ease,border-radius .52s ease,box-shadow .52s ease,gap .52s ease;
  will-change:transform,background-color;
}
#leistungen:not(.services-inverted) .service-cards{transform:rotateX(6deg) translateY(18px)}
#leistungen.services-inverted .service-cards{
  gap:clamp(10px,1.4vw,18px);
  padding:clamp(12px,2.1vw,24px);
  border-color:rgba(220,169,35,.72);
  border-radius:28px;
  background:radial-gradient(circle at 12% 10%,rgba(220,169,35,.18),transparent 28%),linear-gradient(135deg,#240a2d,#4b194b);
  box-shadow:0 28px 62px rgba(47,12,52,.22);
  transform:rotateX(0) translateY(0);
}
#leistungen.services-inverted .service-cards::before{
  content:'';
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:repeating-linear-gradient(90deg,transparent 0 8%,rgba(220,169,35,.34) 9% 15%,transparent 16% 25%),linear-gradient(90deg,transparent 0 10%,#dca923 30%,#fff7c3 49%,#dca923 67%,transparent 90%);
  background-size:160% 100%,100% 100%;
  box-shadow:0 0 16px rgba(220,169,35,.65);
  animation:services-current 1.3s ease-out both,services-current-loop .72s linear 1.3s infinite;
}
#leistungen.services-inverted .service-cards article{
  position:relative;
  background:#f5efe3;
  border:1px solid rgba(245,239,227,.42);
  box-shadow:0 13px 24px rgba(8,2,11,.16);
  transition:transform .42s cubic-bezier(.2,.75,.2,1),box-shadow .42s ease,background-color .42s ease;
  animation:service-card-arrive .58s cubic-bezier(.2,.75,.2,1) both;
}
#leistungen.services-inverted .service-cards article:nth-child(1){background:linear-gradient(135deg,#f8f0df,#f5e6c7);animation-delay:.07s}
#leistungen.services-inverted .service-cards article:nth-child(2){background:linear-gradient(135deg,#f8f0df,#ead5a9);animation-delay:.15s}
#leistungen.services-inverted .service-cards article:nth-child(3){background:linear-gradient(135deg,#fff7d8,#f1d87e);animation-delay:.23s}
#leistungen.services-inverted .service-cards article,
#leistungen.services-inverted .service-cards article :is(h3,p){
  color:#2f0c34!important;
  opacity:1!important;
}
#leistungen.services-inverted .service-cards article b{color:#b68a0b!important}
#leistungen.services-inverted .service-cards article:hover{transform:translateY(-7px);box-shadow:0 20px 32px rgba(8,2,11,.28)}
@keyframes services-current{from{transform:scaleX(.08);transform-origin:left;opacity:0}to{transform:scaleX(1);transform-origin:left;opacity:1}}
@keyframes services-current-loop{from{background-position:0 0,0 0}to{background-position:160% 0,0 0}}
@keyframes service-card-arrive{from{opacity:.25;transform:translateY(22px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){
  #leistungen:not(.services-inverted) .service-cards{transform:translateY(12px)}
  #leistungen.services-inverted .service-cards{padding:10px;border-radius:20px;gap:10px}
}
@media(prefers-reduced-motion:reduce){
  #leistungen .service-cards{transition:background-color .01ms linear,padding .01ms linear,border-radius .01ms linear;transform:none!important}
  #leistungen.services-inverted .service-cards::before,#leistungen.services-inverted .service-cards article{animation:none!important}
}


/* Prüftechnik: eine präzise Prüfstrecke verbindet die fünf fachlichen Schritte. */
#prueftechnik .process{position:relative;border-top:0;padding-top:30px}
#prueftechnik .process::before,
#prueftechnik .process::after{content:'';position:absolute;left:2%;right:2%;top:0;height:2px;border-radius:999px}
#prueftechnik .process::before{background:rgba(245,239,227,.26)}
#prueftechnik .process::after{right:auto;width:96%;background:linear-gradient(90deg,#dca923,#fff0ad 48%,#dca923);box-shadow:0 0 14px rgba(220,169,35,.54);transform:scaleX(0);transform-origin:left}
#prueftechnik .process li{position:relative;padding-top:34px}
#prueftechnik .process li::before{content:'';position:absolute;z-index:1;top:-7px;left:18px;width:14px;height:14px;border:2px solid #dca923;border-radius:50%;background:#2f0c34;transition:background-color .35s ease,box-shadow .35s ease}
#prueftechnik.process-path-active .process::after{animation:process-current 3.8s cubic-bezier(.18,.72,.2,1) both}
#prueftechnik.process-path-active .process li::before{background:#dca923;box-shadow:0 0 0 5px rgba(220,169,35,.12),0 0 13px rgba(220,169,35,.58)}
#prueftechnik.process-path-active .process li:nth-child(2)::before{transition-delay:.48s}
#prueftechnik.process-path-active .process li:nth-child(3)::before{transition-delay:.92s}
#prueftechnik.process-path-active .process li:nth-child(4)::before{transition-delay:1.36s}
#prueftechnik.process-path-active .process li:nth-child(5)::before{transition-delay:1.8s}
@keyframes process-current{to{transform:scaleX(1)}}

/* Klimatechnik: kein zusätzlicher Kunst-Look, sondern ein kühler Luftstrom über dem echten Foto. */
#klima .climate-main{position:relative}
#klima .climate-main::before{content:'';position:absolute;z-index:2;inset:0;pointer-events:none;opacity:0;background:repeating-linear-gradient(169deg,transparent 0 15%,rgba(215,248,255,.12) 16% 18%,transparent 19% 28%),linear-gradient(101deg,rgba(186,239,255,.42),rgba(137,215,242,.16) 25%,transparent 58%);mix-blend-mode:screen;transform:translateX(-18%);filter:blur(1px)}
#klima.climate-flow-active .climate-main::before{animation:climate-airflow 1.65s cubic-bezier(.18,.72,.2,1) both}
@keyframes climate-airflow{0%{opacity:0;transform:translateX(-18%)}32%{opacity:.72}100%{opacity:.3;transform:translateX(8%)}}

@media(max-width:760px){
  #prueftechnik .process{padding-top:16px}
  #prueftechnik .process::before,#prueftechnik .process::after{display:none}
  #prueftechnik .process li{padding-top:25px}
  #prueftechnik .process li::before{top:6px;left:18px;width:9px;height:9px}
}
@media(prefers-reduced-motion:reduce){
  #prueftechnik.process-path-active .process::after,#klima.climate-flow-active .climate-main::before{animation:none!important;opacity:.3;transform:none}
}

/* Prüftechnik: klare Lesbarkeit am Detail-Link und ein zurückhaltender Lichtlauf für die Orientierung. */
#prueftechnik .testing-lead .text-action.light{color:#fff7d8!important;border-bottom:2px solid #dca923!important;font-weight:700;text-shadow:0 1px 0 rgba(0,0,0,.24)}
#prueftechnik .testing-lead .text-action.light span{color:#fff0ad!important}
#prueftechnik .secondary-detail-cta{color:#ede6d9!important;border-bottom:1px solid rgba(237,230,217,.6)!important;font-weight:700;text-shadow:none}
#prueftechnik .secondary-detail-cta span{color:#fff0ad!important}
#prueftechnik .orientation{position:relative;isolation:isolate;overflow:hidden;border-color:rgba(220,169,35,.72)}
#prueftechnik .orientation::before,#prueftechnik .orientation::after{content:'';position:absolute;left:clamp(25px,4vw,50px);right:clamp(25px,4vw,50px);top:18px;height:2px;border-radius:999px;pointer-events:none}
#prueftechnik .orientation::before{background:rgba(245,239,227,.30)}
#prueftechnik .orientation::after{right:auto;width:calc(100% - clamp(50px,8vw,100px));background:linear-gradient(90deg,#dca923,#fff0ad 48%,#dca923);box-shadow:0 0 14px rgba(220,169,35,.62);transform:scaleX(0);transform-origin:left}
#prueftechnik .orientation>*{position:relative;z-index:1}
#prueftechnik.process-path-active .orientation::after{animation:orientation-current 2.8s cubic-bezier(.18,.72,.2,1) .3s both}
@keyframes orientation-current{to{transform:scaleX(1)}}
@media(max-width:760px){#prueftechnik .orientation{padding-top:42px}#prueftechnik .orientation::before,#prueftechnik .orientation::after{left:25px;right:25px;top:19px}#prueftechnik .orientation::after{width:calc(100% - 50px)}}
@media(prefers-reduced-motion:reduce){#prueftechnik.process-path-active .orientation::after{animation:none;transform:scaleX(1)}}

/* Kontaktangaben: zwei Rufnummern, E-Mail und Anschrift klar gegliedert. */
.contact-details{display:grid;gap:10px;margin:22px 0 0;font-style:normal;max-width:31rem}
.contact-details a{display:flex;align-items:baseline;gap:12px;color:inherit;text-decoration:none;border-bottom:1px solid rgba(245,239,227,.2);padding-bottom:8px}
.contact-details a:hover,.contact-details a:focus-visible{color:#fff0ad}
.contact-details span{min-width:4.6rem;color:#dca923;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.contact-details strong{font-size:clamp(.98rem,1.45vw,1.15rem);font-weight:600;overflow-wrap:anywhere}
.contact-details .contact-address{padding-top:2px;color:rgba(245,239,227,.78);font-size:.88rem;letter-spacing:0;text-transform:none}

/* Persönlicher Abschnitt ohne Foto: bewusst ruhig und auf die Aussage konzentriert. */
.about-text-only{grid-template-columns:minmax(0,760px)!important;justify-content:start}
.about.section.about-text-only{padding:clamp(42px,5vw,74px) clamp(24px,7vw,120px)!important;min-height:0!important}
@media(max-width:760px){.about.section.about-text-only{padding:48px 22px!important}}

/* Persönlicher Country-Touch: freigestelltes Portrait lehnt sich an die untere Kartenlinie. */
.about.section.about-contact-card{grid-template-columns:minmax(0,760px)!important;position:relative;align-items:start;gap:0;min-height:390px;padding:clamp(46px,5.5vw,82px) clamp(24px,7vw,120px)!important}
.about.section.about-contact-card h2{font-size:clamp(3.2rem,4.8vw,5.6rem)!important}
.about-contact-card .about-copy{position:relative;z-index:1;max-width:760px}
.about-contact-card .about-info-card{position:absolute;z-index:1;top:50%;left:clamp(43%,49vw,51%);width:min(28vw,490px);margin:0;padding:0;background:transparent;border:0;box-shadow:none;transform:translateY(-50%)}
.about-contact-card .about-info-card .master-note{margin:0 0 1.35rem!important}
.about-profile-name{margin:0 0 .75rem;font-size:clamp(1.18rem,1.55vw,1.45rem);font-weight:700;line-height:1.15}
.about-profile-name span{display:block;margin-top:.32rem;color:#7f5e09;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.about-profile-claim{margin:0 0 1rem;font-size:clamp(1.08rem,1.35vw,1.28rem);font-weight:600;line-height:1.25}
.about-profile-copy{max-width:26rem;margin:0;font-size:.92rem;line-height:1.45}
.about-portrait-lean{position:absolute;z-index:2;right:clamp(26px,6vw,118px);bottom:-18px;width:clamp(190px,17vw,300px);margin:0;pointer-events:none}
.about-portrait-lean img{display:block;width:100%;height:auto;filter:drop-shadow(0 13px 12px rgba(33,7,43,.18))}
@media(max-width:900px){.about-contact-card .about-info-card{left:47%;width:min(34vw,420px)}}
@media(max-width:760px){.about.section.about-contact-card{grid-template-columns:1fr!important;min-height:0;padding:48px 22px 224px!important;gap:0}.about.section.about-contact-card h2{font-size:clamp(3rem,13vw,4.65rem)!important}.about-contact-card .about-info-card{position:relative;top:auto;left:auto;width:100%;margin-top:22px;padding:0;transform:none}.about-portrait-lean{right:18px;bottom:-24px;width:min(53vw,250px)}}

/* Persönlicher Bereich im selben Kartenrhythmus wie die übrigen Kapitel. */
#ueber.about.section{margin:12px clamp(10px,2vw,28px)!important;padding:clamp(46px,5.5vw,82px) clamp(24px,7vw,120px)!important;border-radius:28px!important;background:#351339!important;color:#ede6d9!important;box-shadow:none!important;overflow:visible!important;z-index:5!important}
#ueber.about.section :is(p,h2,strong,li,span){color:#ede6d9}
#ueber.about.section .section-kicker,#ueber.about.section em,#ueber.about.section .master-note,#ueber.about.section .about-profile-name span{color:#dca923!important}
#ueber.about.section .about-profile-claim{color:#fff7d8!important}
#anfrage.contact{position:relative;z-index:1}
@media(max-width:760px){#ueber.about.section{margin:10px!important;padding:48px 22px 224px!important;border-radius:20px!important}}

/* Mobil: Text bleibt frei lesbar; das Portrait liegt weiterhin sichtbar auf der unteren Kartenlinie. */
@media(max-width:760px){
  #ueber.about.section{padding-bottom:304px!important}
  .about-portrait-lean{bottom:-13px!important}
}

/* Rechtstexte: bewusst sachlich und gut lesbar, unabhängig von der Marken-Typografie der Startseite. */
body:not(.western-brand)>main.section{max-width:920px;margin:0 auto;padding:clamp(44px,7vw,84px) clamp(22px,5vw,56px)!important;font-family:Arial,Helvetica,sans-serif!important;color:#1c1c1e!important}
body:not(.western-brand)>main.section :is(h1,h2,h3,p,a){font-family:Arial,Helvetica,sans-serif!important;letter-spacing:normal!important}
body:not(.western-brand)>main.section h1{font-size:clamp(2rem,4vw,2.8rem)!important;line-height:1.15!important;margin:0 0 2rem!important}
body:not(.western-brand)>main.section h2{font-size:clamp(1.2rem,2vw,1.45rem)!important;line-height:1.3!important;margin:2rem 0 .65rem!important}
body:not(.western-brand)>main.section p{max-width:48rem;line-height:1.65!important}
body:not(.western-brand)>main.section .section-kicker{font-size:.76rem!important;color:#351339!important}

/* Zweiter, bewusst kleiner Kontaktweg im ersten Bildschirm. */
.hero-direct-contact{margin:17px 0 0!important;font-size:.9rem!important;color:rgba(237,230,217,.78)!important}.hero-direct-contact span{color:#dca923;font-weight:700;letter-spacing:.04em}.hero-direct-contact a{margin-left:7px;color:#fff7d8;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(237,230,217,.52)}.hero-direct-contact a:hover,.hero-direct-contact a:focus-visible{color:#dca923;border-bottom-color:#dca923}

/* Anfragearten: unaufdringliche Erklärung direkt am jeweiligen Auswahlfeld. */
.form-tabs{align-items:flex-start}
.request-kind-option{position:relative;display:inline-flex;align-items:flex-start}
.form-tabs .request-kind-option>button:first-child{padding-right:31px}
.form-tabs .request-kind-info{position:absolute;z-index:4;top:7px;right:7px;display:grid;place-items:center;width:18px;min-width:18px;height:18px;min-height:18px;padding:0;border:1px solid rgba(237,230,217,.66);border-radius:50%;background:#351339;color:#fff7d8;font-family:Arial,Helvetica,sans-serif!important;font-size:.72rem!important;font-weight:700;line-height:1;cursor:help}
.form-tabs .request-kind-option:has(>button.active) .request-kind-info{border-color:#351339;background:#fff7d8;color:#351339}
.request-kind-info:hover,.request-kind-info:focus-visible{outline:2px solid #d4af37;outline-offset:2px}
.request-kind-tooltip{position:absolute;z-index:8;bottom:calc(100% + 10px);right:0;width:min(285px,calc(100vw - 52px));padding:12px 14px;border:1px solid rgba(220,169,35,.76);border-radius:8px;background:#241027;color:#fff7d8;font:400 .82rem/1.45 Arial,Helvetica,sans-serif!important;letter-spacing:normal!important;box-shadow:0 14px 28px rgba(0,0,0,.3);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease}
.request-kind-info:hover+.request-kind-tooltip,.request-kind-info:focus-visible+.request-kind-tooltip,.request-kind-option.help-open .request-kind-tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}
@media(max-width:760px){.request-kind-tooltip{position:fixed;right:16px;left:16px;bottom:18px;width:auto;font-size:.88rem!important}.request-kind-info:hover+.request-kind-tooltip{opacity:0;pointer-events:none;transform:translateY(4px)}.request-kind-option.help-open .request-kind-tooltip,.request-kind-tooltip.mobile-open{z-index:100!important;opacity:1;pointer-events:auto;transform:translateY(0)}}

/* Klimatechnik: bewusst reine Textsektion, bis ein Bild rechtssicher belegt ist. */
#klima.climate{display:block}
#klima .climate-copy{max-width:860px;margin:0 auto}
#klima .climate-status-copy{margin:-.2rem 0 1.5rem;color:#6b4b09;font:700 .78rem/1.2 Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase}
#anfrage .contact-form-link{display:inline-flex;gap:8px;align-items:center;margin-top:2px;color:#fff7d8;text-decoration:none;border-bottom:1px solid rgba(237,230,217,.55);font-weight:700}
#anfrage .contact-form-link span{color:#dca923;font-size:1.1em}
#anfrage .contact-form-link:hover,#anfrage .contact-form-link:focus-visible{color:#dca923;border-bottom-color:#dca923}
#anfrage .contact-form-label{margin:26px 0 5px;color:#dca923;font:700 .72rem/1.2 Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase}
#contact-form .contact-form-heading{margin:0 0 22px;color:#dca923;font:700 .8rem/1.2 Arial,Helvetica,sans-serif;letter-spacing:.16em;text-transform:uppercase}

/* Über mich: Desktop-Überschrift erhält einen festen Sicherheitsraum zur rechten Textspalte. */
@media(min-width:901px){
  #ueber.about-contact-card .about-copy{max-width:min(42vw,620px);transform:translateX(clamp(-18px,-1.1vw,0px))}
  #ueber.about-contact-card .about-info-card{left:clamp(47%,50vw,52%);width:min(25vw,430px)}
}
@media(min-width:761px) and (max-width:900px){
  #ueber.about-contact-card .about-copy{max-width:43%;transform:translateX(-10px)}
  #ueber.about-contact-card .about-info-card{left:52%;width:40%}
}
