@font-face{font-family:Barlow Condensed;src:url('assets/fonts/BarlowCondensed-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{--ink:#20282c;--black:#171e22;--muted:#586269;--paper:#f6f5f0;--line:#d5d8d5;--yellow:#fad918;--white:#fff;--max:1320px;--gutter:clamp(22px,4.7vw,80px);--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;--body:Manrope,Arial,sans-serif;--ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box;min-width:0}
html{scroll-behavior:smooth;scroll-padding-top:135px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.75 var(--body)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
button{font:inherit;cursor:pointer}
button,a,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #b87c00;outline-offset:6px}
[hidden]{display:none!important}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:700;line-height:.96}
h1,h2{font-family:var(--display);text-transform:uppercase;letter-spacing:-.025em}
h2{font-size:clamp(3.5rem,6.2vw,6rem)}
h3{font-size:1.1rem;line-height:1.25}
p+p{margin-top:18px}
.wrap{width:calc(100% - 2 * var(--gutter));max-width:var(--max);margin-inline:auto}
.section-pad{padding-block:110px}
.eyebrow{display:flex;align-items:center;gap:15px;font-size:.85rem;line-height:1.6;font-weight:700;text-transform:uppercase;letter-spacing:.14em}
.eyebrow>span:first-child:not(.status-dot){color:#657078;font-family:monospace;font-size:.76rem;font-weight:400}
.section-tag{flex:none;margin:0;padding:8px 14px;background:var(--yellow);color:var(--ink);font-size:.74rem;font-weight:800;line-height:1.2;letter-spacing:.14em;text-transform:uppercase}
.section-rule{flex:1;height:1px;margin-inline:24px;background:#c6cccb}
.eyebrow-light{color:#e7ecee}
.eyebrow-light>span:first-child:not(.status-dot){color:var(--yellow)}
.text-muted{color:#727b7e}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--yellow);color:var(--ink);padding:15px 22px}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:30;background:var(--paper)}
.utility{display:flex;justify-content:flex-end;align-items:center;gap:30px;min-height:42px;padding:6px var(--gutter);background:var(--ink);color:#e1e5e6;font-size:.78rem;letter-spacing:.04em}
.utility>span{margin-right:auto;color:#c4cccf;font-weight:600}
.lang-switch{display:flex;align-items:center;gap:2px;padding-right:26px;margin-right:-4px;border-right:1px solid #465057}
.lang-switch a{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;color:#9aa6ab;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-decoration:none;transition:color .2s}
.lang-switch a::after{content:"";position:absolute;left:9px;right:9px;bottom:1px;height:2px;background:var(--yellow);transform:scaleX(0);transition:transform .2s}
.lang-switch a[aria-current]{color:var(--yellow)}
.lang-switch a[aria-current]::after{transform:scaleX(1)}
.lang-switch a:not([aria-current]):hover{color:white}
.lang-cycle{display:none}
.lang-cycle-code::before{content:"DE"}
:lang(it) .lang-cycle-code::before{content:"IT"}
:lang(en) .lang-cycle-code::before{content:"EN"}
.social{display:flex;align-items:center}
.social a{display:inline-flex;align-items:center;justify-content:center;color:inherit;transition:color .2s,background .2s,border-color .2s}
.social-utility{gap:18px}
.social-label{font-size:.78rem;font-weight:600;letter-spacing:.04em;color:#c4cccf}
.social-utility svg{width:24px;height:24px}
.social-utility a{color:#e1e5e6}
.social-footer{gap:12px;margin-top:22px}
.social-footer a{width:48px;height:48px;border:1px solid #5e6a70;border-radius:50%;color:white}
.social-footer svg{width:22px;height:22px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:88px;padding:15px var(--gutter);border-bottom:1px solid var(--line)}
.brand{flex-shrink:0;display:flex;align-items:center;justify-content:center}
.brand img{display:block}
.brand img{width:238px}
.nav-links{display:flex;align-items:center;gap:27px;font-size:.9rem;font-weight:600}
.nav-links a{position:relative;display:inline-flex;align-items:center;gap:22px;min-height:46px;text-decoration:none}
.nav-links a:not(.nav-cta)::after{position:absolute;content:'';height:2px;bottom:5px;left:0;right:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav-links .nav-emergency{margin-left:12px}
.nav-links .nav-cta{gap:14px;padding:12px 20px;background:var(--yellow)}
.nav-links .badge-24{font-size:.7rem;font-weight:800;line-height:1;letter-spacing:.04em;padding:5px 7px;background:var(--ink);color:var(--yellow)}
.nav-links span{font-size:1.2rem;line-height:1}
.nav-toggle{display:none}
.brand-strip{list-style:none;flex:1;min-width:0;display:flex;justify-content:center;align-items:center;gap:clamp(20px,2.4vw,52px);margin:0;padding:0}
.brand-strip li{flex:0 1 auto;min-width:0}
.brand-strip img{display:block;width:auto;height:auto;max-width:min(100%,120px);max-height:38px;filter:contrast(1.5) brightness(.65)}
.brand-strip a{display:block;transition:opacity .2s}
.brand-strip a:hover,.brand-strip a:focus-visible{opacity:.7}
@media(max-width:1350px){.brand-strip{display:none}}
.hero{position:relative;isolation:isolate;min-height:760px;display:flex;background:var(--black);color:white;overflow:hidden}
.hero-media,.hero-poster,.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-media{z-index:-1}
.hero-poster,.hero-video{object-fit:cover;object-position:center center;filter:saturate(1.3) contrast(1.12) brightness(1.05)}
.hero-video{opacity:0;transition:opacity .6s ease;pointer-events:none}
.hero-video.is-ready{opacity:1}
.hero-shade{background:linear-gradient(90deg,rgba(14,23,28,.72) 0%,rgba(14,23,28,.5) 38%,rgba(14,23,28,.08) 75%),linear-gradient(0deg,rgba(14,23,28,.8) 0%,transparent 45%)}
.hero-inner{position:relative;display:flex;flex-direction:column;justify-content:center;padding-block:52px 64px}
h1{font-size:clamp(3.75rem,6.5vw,6.5rem);line-height:.88;max-width:1000px}
h1>span{color:var(--yellow)}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:33px}
.hero-copy{font-size:1.1rem;color:#eff2f2;line-height:1.7}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:15px 22px;border:1px solid transparent;text-decoration:none;font-size:.85rem;font-weight:700;line-height:1.5;transition:background .25s,color .25s,border-color .25s}
.btn>span{display:block;font-family:Arial,sans-serif;font-size:1.5rem;line-height:1;transition:transform .3s var(--ease)}
.btn-yellow{background:var(--yellow);color:var(--ink)}
.btn-dark{background:var(--ink);color:white}
.btn-outline{border-color:#c3cace;color:white;background:#18212678}
.hero-scroll{display:flex;align-items:center;gap:24px;text-decoration:none;font-size:.82rem;font-weight:600;line-height:1.55;letter-spacing:.03em}
.hero-scroll.is-anchored{position:absolute;left:var(--hs-left);top:var(--hs-top)}
.hero-scroll>span:first-child{white-space:nowrap}
.round-arrow{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff70;border-radius:50%;font-size:1.4rem;transition:background .25s,color .25s}
.hero-edge{position:absolute;right:clamp(14px,1.6vw,30px);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:34px;font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,2vw,2.1rem);line-height:1;letter-spacing:.22em;writing-mode:vertical-rl;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.hero-edge::before{content:'';width:2px;height:90px;background:var(--yellow);margin-inline:auto}
.video-toggle{position:absolute;right:var(--gutter);bottom:16px;min-height:32px;padding:5px 11px;color:white;background:#172126e6;border:1px solid #a5b2b9;font-size:.65rem}
.video-toggle span{margin-left:12px}
.video-toggle:not(:focus-visible){width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-strip{background:var(--ink);color:white}
.contact-strip-inner{display:grid;grid-template-columns:1fr 1fr .88fr}
.contact-strip-inner>a{position:relative;padding:26px 35px 28px 0;text-decoration:none;border-right:1px solid #465057;transition:background .3s}
.contact-strip-inner>a:nth-child(2){padding-left:34px}
.contact-label{display:block;color:#b9c3c7;font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.contact-strip .contact-label{font-size:.9rem;letter-spacing:.06em}
.contact-strip strong{font-size:1.19rem;font-weight:500;letter-spacing:0;word-spacing:.12em}
.contact-icon{display:inline-block;width:1em;height:1em;margin-right:.55em;vertical-align:-.12em;color:var(--yellow);transition:transform .3s}
.strip-hours{align-self:center;padding-left:34px}
.strip-hours .contact-label{color:var(--yellow)}
.strip-hours p{font-size:1.19rem;font-weight:300;color:#d5dcdf}
.strip-hours p span{padding-inline:5px;color:#b9c3c7}
.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:46px}
.technical-note{display:flex;align-items:center;gap:20px;text-transform:uppercase;font-size:.74rem;font-weight:700;letter-spacing:.14em;color:var(--muted)}
.cross{font-size:1.2rem;font-weight:400}
.service-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:62px}
.service-intro-copy{max-width:580px;padding-bottom:5px;color:var(--muted);font-size:1.1rem;line-height:1.6}
.service-intro-copy p:first-child{color:var(--ink);font-weight:600}
.service-list{border-top:1px solid var(--ink)}
.service-list details{border-bottom:1px solid #c6cccb}
.service-list summary{display:grid;grid-template-columns:26px 1fr 26px;align-items:center;gap:20px;min-height:88px;padding:22px 5px;list-style:none;cursor:pointer;transition:color .2s}
.service-list .service-title{position:relative;isolation:isolate;align-self:flex-start}
.service-list .service-title::after{content:'';position:absolute;inset:54% -7px 4px;z-index:-1;background:var(--yellow);transform:skewX(-9deg) scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.service-list summary:focus-visible .service-title::after{transform:skewX(-9deg) scaleX(1)}
.service-list summary::-webkit-details-marker{display:none}
.service-list summary .service-title{font-size:clamp(1.1rem,1.8vw,1.6rem);font-weight:600;letter-spacing:-.04em}
.service-heading{display:flex;flex-direction:column;gap:5px;min-width:0}
.service-teaser{font-size:.9rem;font-weight:500;letter-spacing:0;color:var(--muted)}
.service-number{font-family:monospace;font-size:.69rem;color:#6a747a}
.detail-icon{position:relative;width:24px;height:24px}
.detail-icon::before,.detail-icon::after{content:'';position:absolute;top:11px;left:5px;width:14px;height:2px;background:var(--ink);transition:transform .25s}
.detail-icon::after{transform:rotate(90deg)}
[open] .detail-icon::after{transform:rotate(0)}
.service-list details[open]{border-bottom-color:var(--ink)}
.service-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px 70px;padding:0 51px 34px 51px;font-size:1.05rem;color:var(--muted)}
.service-text{max-width:68ch}
.service-text p{margin-bottom:14px}
.service-text strong{color:var(--ink);font-weight:600}
.service-points{list-style:none;margin:0;padding:0;border-top:1px solid #c6cccb;align-self:start}
.service-points li{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #c6cccb;color:var(--ink);font-weight:600}
.service-points li::before{content:"";flex:none;width:7px;height:7px;background:var(--yellow)}
.service-detail>.text-link{grid-column:1/-1;justify-self:start}
.text-link{display:inline-flex;align-items:center;gap:24px;min-height:35px;color:var(--ink);font-size:.9rem;font-weight:700;text-decoration:none;border-bottom:1px solid var(--ink)}
.text-link>span{font-size:1.3rem;transition:transform .25s var(--ease)}
.company{background:#e9ede8}
.company-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:70px;padding-bottom:70px}
.section-top.company-top{padding-bottom:0}
.company-heading.section-pad{padding-top:0}
.company-copy{max-width:580px;font-size:1.1rem;line-height:1.6;color:var(--muted)}
.company-copy strong{color:var(--ink);font-weight:700}
.company-copy .text-link{margin-top:24px}
.company-facts{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--ink);margin-bottom:70px}
.fact{padding:26px 28px 28px 0;border-right:1px solid #c7cec9}
.fact:not(:first-child){padding-left:28px}
.fact:last-child{border-right:0;padding-right:0}
.fact strong{display:block;font-family:var(--display);font-size:clamp(1.6rem,2.6vw,2.4rem);text-transform:uppercase;letter-spacing:-.02em;line-height:1.05;margin-bottom:10px}
.fact span{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.photo-overlay::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(0deg,#0e171cd9,#0e171c00);pointer-events:none}
.photo-overlay{position:relative}
.photo-overlay figcaption{position:absolute;z-index:1;left:var(--gutter);right:var(--gutter);bottom:clamp(24px,4vw,56px);display:flex;flex-direction:column-reverse;align-items:flex-start;gap:14px;color:white}
.photo-overlay figcaption>span:first-child{font-family:var(--display);font-size:clamp(2rem,3.6vw,3.4rem);font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:-.02em}
.photo-overlay figcaption>span:last-child{padding:7px 12px;background:var(--yellow);color:var(--ink);font-size:.74rem;font-weight:800;line-height:1.2;letter-spacing:.14em;text-transform:uppercase}
.responsibility{margin-block:75px 20px}
.team-photo img{display:block;width:100%;aspect-ratio:2;object-fit:cover;object-position:center 85%}
.team-photo-vahrn img{object-position:center 47%}
.team-photo figcaption{left:clamp(24px,3.5vw,48px);right:clamp(24px,3.5vw,48px);bottom:clamp(24px,3.5vw,48px)}
.subsection-title{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1;letter-spacing:-.02em;margin-bottom:44px}
.subsection-title>span{position:relative;isolation:isolate}
.subsection-title>span::after{content:'';position:absolute;inset:54% -7px 2px;z-index:-1;background:var(--yellow);transform:skewX(-9deg)}
.responsibility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.responsibility-grid article{border-top:1px solid var(--ink);padding-top:24px}
.responsibility-grid h4{margin-top:0;font-weight:700;line-height:.96;font-family:var(--display);text-transform:uppercase;font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.02em;margin-bottom:14px}
.responsibility-grid p{font-size:1.05rem;line-height:1.6;color:var(--muted)}
.company-signature{--sig:clamp(5rem,9vw,8.7rem);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:55px;padding-block:48px 60px}
.company-signature>p:first-child{display:flex;align-items:flex-start;gap:20px}
.since span:empty{display:none}
.since{writing-mode:vertical-rl;display:flex;justify-content:space-between;height:calc(var(--sig) * .71);margin-top:calc(var(--sig) * .19);text-transform:uppercase;font-family:var(--display);font-size:calc(var(--sig) * .42);font-weight:700;line-height:1}
.company-signature strong{font-family:var(--display);font-size:var(--sig);line-height:1;letter-spacing:-.02em}
.company-signature>p:nth-child(2){font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.45;color:var(--muted);margin:0}
.iso-badge{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;width:150px}
.iso-badge img{display:block;width:120px;height:auto}
.iso-badge figcaption{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--muted);line-height:1.4}
.breakdown{background:var(--ink);color:white;position:relative;overflow:hidden}
.breakdown::before,.breakdown::after{content:'';position:absolute;left:0;width:100%;height:6px;background:repeating-linear-gradient(120deg,var(--yellow) 0px,var(--yellow) 20px,var(--ink) 20px,var(--ink) 32px)}
.breakdown::before{top:0}
.breakdown::after{bottom:0}
.breakdown-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.breakdown h2{margin-block:0 28px}
.breakdown .section-rule{background:#465057}
.breakdown .technical-note{color:#b9c3c7}
.breakdown .text-muted{color:#8f9a9f}
.breakdown-copy{max-width:520px;font-size:1.1rem;line-height:1.6;color:#c6cfd3}
.emergency-list article{padding:25px 0;border-top:1px solid #5e6a70}
.emergency-list article:last-child{padding-bottom:0}
.emergency-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.emergency-heading h3{font-size:1.15rem;font-weight:700}
.emergency-heading>span{color:#bac4c8;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.emergency-phone{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:14px 0 4px;color:var(--yellow);font-family:var(--display);font-size:clamp(2rem,3.3vw,3rem);text-decoration:none;line-height:1.2;letter-spacing:.01em}
.emergency-list p,.alternate-phone{font-size:.95rem;line-height:1.6;color:#c6cfd3}
.alternate-phone{display:inline-block;margin-top:6px;min-height:28px}
.location-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:65px}
.location-intro>p{font-size:1.1rem;line-height:1.6;color:var(--muted);margin-bottom:6px}
.location{display:grid;grid-template-columns:1fr 1fr 1.1fr 1.2fr;gap:40px;border-top:1px solid var(--ink);padding-block:42px}
.location:last-child{border-bottom:1px solid var(--ink)}
.location-name{display:block;container-type:inline-size}
:lang(it) .location-name h3{font-size:min(clamp(3rem,5.2vw,5rem),19cqi)}
.location-name h3{font-family:var(--display);font-size:clamp(3rem,5.2vw,5rem);text-transform:uppercase;line-height:1;margin-top:20px;letter-spacing:-.025em}
.location-name .eyebrow{font-size:.9rem;color:var(--ink)}
.location-address{font-size:1.05rem;line-height:1.6;color:var(--muted)}
.location-address .hours{margin-block:15px 16px;font-size:.95rem}
.hours-note{display:inline-block;margin-top:4px;font-size:.88rem;font-style:italic}
.location-contact{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.location-contact>a:not(.btn){text-decoration:none;font-size:1rem}
.location-contact>a.location-phone{font-size:clamp(1.3rem,2vw,1.75rem);font-weight:600;letter-spacing:0;word-spacing:.12em;white-space:nowrap}
.location-contact>.btn{margin-top:auto;min-width:100%;font-size:.85rem}
.btn-icon{flex:none;width:1.3rem;height:1.3rem}
.location-map{margin:0;min-height:230px;background:#e3e6e2}
.location-map iframe{display:block;width:100%;height:100%;min-height:230px;border:0}
.location-map{position:relative;overflow:hidden}
.map-static{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 72%}
.map-credit{position:absolute;top:0;right:0;padding:3px 7px;background:#ffffffd9;color:var(--ink);font-size:.68rem;text-decoration:none}
.map-consent{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);display:flex;align-items:center;gap:10px;padding:5px 10px 5px 5px;background:#fffffff0;box-shadow:0 4px 14px #20282c26}
.map-consent p{margin:0;font-size:.72rem;line-height:1.3;color:var(--muted);white-space:nowrap}
.map-consent a{color:var(--ink)}
.map-load{padding:7px 11px;border:0;background:var(--ink);color:white;font:inherit;font-size:.76rem;font-weight:700;line-height:1.3;white-space:nowrap;cursor:pointer}
.map-load:hover,.map-load:focus-visible{background:#39474f}
.careers{background:var(--yellow)}
.careers .text-muted{color:#5b6468}
.career-copy{display:grid;grid-template-columns:1fr auto;grid-template-areas:"eyebrow eyebrow" "title btn" "text btn";column-gap:60px;align-items:end;padding-block:70px}
.career-copy .eyebrow{grid-area:eyebrow}
.career-copy h2{grid-area:title}
.career-copy>p:not(.eyebrow){grid-area:text}
.career-copy .btn{grid-area:btn;align-self:center;justify-self:end}
.career-copy .eyebrow{margin-bottom:32px;font-size:.9rem}
.career-copy h2{font-size:clamp(3rem,5vw,5rem);margin-bottom:26px}
.career-copy>p:not(.eyebrow){max-width:560px;font-size:1.1rem;line-height:1.6}
.career-copy .btn{margin-top:0}
.closing{padding-block:95px 100px}
.closing>div{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:30px}
.closing h2{font-size:clamp(3.5rem,7.3vw,7rem)}
.footer{background:var(--black);color:#c4cdd1}
.footer-main{display:grid;grid-template-columns:1.3fr .8fr 1.1fr;gap:50px;padding-block:60px 48px;font-size:.88rem}
.footer-main img{width:260px;margin-bottom:24px}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:5px}
.footer-links a{text-decoration:none}
.footer-legal{padding-top:5px}
.footer-legal>a{display:inline-block;margin-top:18px;overflow-wrap:anywhere}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 30px;border-top:1px solid #444f55;padding-block:20px;font-size:.78rem}
.footer-bottom>.footer-legal-links{display:flex;gap:28px;letter-spacing:0}
.footer-legal-links a{text-decoration:none}
.footer-bottom>span{letter-spacing:.15em}
.footer-bottom>a{text-decoration:none}
.mobile-contact{display:none}
/* Rechtstexte (impressum.html, datenschutz.html) */
.legal-inner{max-width:860px}
.legal h1{font-size:clamp(2.8rem,6vw,5rem);margin-bottom:36px}
.legal h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.01em;line-height:1.1;margin:44px 0 12px}
.legal p{font-size:1.05rem;line-height:1.7;margin:0 0 14px}
.legal a:not(.btn){text-decoration:underline;text-underline-offset:3px}
.legal-lead{margin-bottom:28px}
.legal-date{margin-top:50px;color:var(--muted);font-size:.9rem}
.todo{background:#ffe66b;color:var(--ink);padding:1px 5px}
.error-page h1{line-height:.95}
.error-actions{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0 30px}
.btn-outline-dark{border-color:var(--ink);color:var(--ink)}
.error-help a{font-weight:700}
/* Desktop-Darstellung auf 90 % (Stefans Wunsch, wie Browser-Zoom 90 %); Handy/Tablet bleiben 100 % */
@media(min-width:1001px){html{zoom:.9}}
@media(hover:hover){
  .nav-links a:not(.nav-cta):hover::after{transform:scaleX(1)}
  .nav-cta:hover,.btn-yellow:hover{background:#ffe76a}
  .btn-dark:hover{background:#39474f}
  .btn-outline:hover{background:white;color:var(--ink)}
  .btn:hover>span,.text-link:hover>span{transform:translate(3px,-3px)}
  .contact-strip a:hover .contact-icon{transform:rotate(-12deg)}
  .hero-scroll:hover .round-arrow{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
  .contact-strip a:hover{background:#ffffff08}
  .social-utility a:hover{color:var(--yellow)}
  .social-footer a:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
  .service-list summary:hover .service-title::after{transform:skewX(-9deg) scaleX(1)}
  .location-contact>a:not(.btn):hover,.footer-links a:hover,.footer-legal-links a:hover{text-decoration:underline}
}
@media(min-width:1700px){.hero{min-height:820px}.hero-inner{padding-block:60px}}
@media(max-width:1150px){
  .nav-links{gap:18px;font-size:.82rem}.nav-links .nav-emergency{margin-left:0}.brand img{width:210px}.nav{gap:20px}
  .service-intro,.company-heading,.breakdown-layout{gap:55px}
  .contact-strip strong,.strip-hours p{font-size:1rem}.contact-strip-inner>a:nth-child(2),.strip-hours{padding-left:22px}
  .location{gap:26px}.career-copy{padding-block:50px}
  .company-facts{margin-bottom:50px}.responsibility{margin-block:55px 10px}
}
@media(max-width:1000px){
  html{scroll-padding-top:94px}.utility{display:none}.nav{min-height:80px}.brand img{width:225px}
  .nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:46px;height:46px;border:1px solid var(--line);background:transparent}
  .nav-toggle>span:not(.sr-only){width:20px;height:2px;background:var(--ink);transition:transform .2s}
  .nav-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}
  .nav-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
  .nav-links{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:12px var(--gutter) 25px;max-height:calc(100dvh - 80px);overflow-y:auto;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #20282c18}
  .nav-links.is-open{display:flex}.nav-links a{min-height:52px;font-size:.9rem;justify-content:space-between;border-bottom:1px solid var(--line)}.nav-links .nav-cta{justify-content:flex-start}.nav-links .nav-cta>span:last-child{margin-left:auto}.nav-links .nav-cta{margin-top:14px}.nav{display:grid;grid-template-columns:46px 1fr 46px;align-items:center}.nav-toggle{grid-column:1;grid-row:1}.brand{grid-column:2;grid-row:1;justify-self:center}.lang-cycle{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);color:var(--ink);font-size:.9rem;font-weight:800;letter-spacing:.06em;text-decoration:none;transition:background .2s,border-color .2s}.lang-cycle:hover,.lang-cycle:focus-visible{background:var(--yellow);border-color:var(--yellow)}
  .hero{min-height:710px}.hero-inner{padding-block:52px 66px}.hero-scroll>span:first-child{display:none}
  .contact-strip-inner{grid-template-columns:1fr 1fr}.contact-strip-inner>a:nth-child(2){border-right:0}.strip-hours{grid-column:1/-1;padding:15px 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #465057}.strip-hours .contact-label{margin-bottom:0}
  .contact-strip strong{font-size:1.25rem}
  .section-pad{padding-block:80px}.service-intro{gap:35px}.service-list summary{gap:13px;grid-template-columns:22px 1fr 24px;min-height:80px}.service-detail{padding-left:40px;padding-right:15px;column-gap:40px}
  .service-intro-copy{font-size:1rem}.company-heading{gap:45px}.company-copy{font-size:1rem}
  .company-signature{gap:30px}.breakdown-layout{gap:40px}.location{grid-template-columns:1fr 1fr}.location-name,.location-map{grid-column:1/-1}.location-name h3{margin-top:5px}.location-contact{justify-content:flex-start}.location-contact>.btn{margin-top:15px;min-width:0}
  .company-facts{grid-template-columns:1fr;border-block:0;border-top:1px solid var(--ink)}.fact{border-right:0;border-top:1px solid #c7cec9;padding:20px 0}.fact:first-child{border-top:0}.fact:not(:first-child){padding-left:0}.fact:last-child{border-bottom:1px solid var(--ink)}
  .responsibility-grid{grid-template-columns:1fr;gap:30px}
  .career-copy h2{font-size:3.5rem}.footer-main{gap:25px}
}
@media(max-width:680px){
  html{scroll-padding-top:86px}body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.nav{min-height:72px}.brand img{width:200px}
  .hero{min-height:660px}.hero-inner{padding-block:47px 55px}h1{font-size:clamp(2.6rem,12vw,4.6rem);line-height:.92;letter-spacing:-.02em}
  .hero-shade{background:linear-gradient(90deg,#0e171cd6 0%,#0e171c8a 100%),linear-gradient(0deg,#0e171ced 0%,transparent 70%)}.hero-poster{object-position:60% center}.hero-edge,.hero-scroll{display:none}.hero-copy{font-size:.95rem;max-width:340px}.hero-copy br{display:none}.hero-bottom{margin-top:29px}
  .hero-video,.video-toggle{display:none!important}
  .contact-strip-inner>a{padding:22px 20px 22px 0}.contact-strip-inner>a:nth-child(2){padding:22px 0 22px 18px}.contact-label{font-size:.6rem;letter-spacing:0}.contact-strip .contact-label{font-size:.7rem}.contact-strip strong{font-size:clamp(.79rem,3.6vw,1.13rem);white-space:nowrap}.contact-icon{display:none}.strip-hours{gap:10px;align-items:center}.strip-hours p{font-size:.85rem}.strip-hours p span{padding-inline:2px}
  h2{font-size:clamp(3.2rem,11vw,4.5rem)}.section-pad{padding-block:63px}.section-top{margin-bottom:32px}.technical-note{display:none}.eyebrow{font-size:.59rem;gap:13px}.section-tag{font-size:.66rem;padding:7px 12px}.section-rule{margin-right:0}.service-intro{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.service-intro-copy{max-width:100%;font-size:1rem}.service-list summary{min-height:80px;padding-block:23px}.service-list summary .service-title{font-size:1.05rem;letter-spacing:-.025em}.service-teaser{font-size:.72rem}.service-detail{grid-template-columns:1fr;font-size:.95rem;padding-left:35px;padding-right:0}
  .company-heading{grid-template-columns:1fr;gap:28px;padding-bottom:37px}.company-copy{font-size:1rem}.company-copy .text-link{margin-top:18px}.company-facts{margin-bottom:37px}.fact strong{font-size:1.5rem}.responsibility{margin-block:37px 10px}.subsection-title{font-size:1.8rem;margin-bottom:30px}.photo-overlay::after{display:none}.photo-overlay figcaption{position:static;padding:18px var(--gutter) 0;gap:10px;color:var(--ink)}.photo-overlay figcaption>span:first-child{font-size:1.6rem}.photo-overlay figcaption>span:last-child{font-size:.66rem}.team-photo figcaption{padding-inline:0}.company-signature{--sig:5.6rem;grid-template-columns:1fr;gap:15px;padding-block:28px 40px}.company-signature>p:first-child{gap:13px}.company-signature>p:nth-child(2){font-size:1rem}.iso-badge{align-items:flex-start;width:auto}.iso-badge img{width:100px}.iso-badge figcaption{text-align:left}
  .breakdown-layout{grid-template-columns:1fr;gap:33px}.breakdown h2{margin-block:0 22px}.breakdown-copy{font-size:1rem}.emergency-list article{padding-block:25px}.emergency-phone{font-size:2.35rem}.emergency-heading h3{font-size:1.05rem}.emergency-heading>span{font-size:.66rem}.emergency-list p,.alternate-phone{font-size:.88rem}
  .location-intro{flex-direction:column;align-items:flex-start;gap:26px;margin-bottom:35px}.location-intro>p{font-size:1rem}.location{grid-template-columns:1fr;gap:25px;padding-block:32px}.location-name h3{font-size:3.8rem;margin-top:12px}.location-address{font-size:1rem}.location-contact{gap:12px}.location-contact>a.location-phone{font-size:1.3rem}.location-contact>.btn{width:100%;margin-top:7px}.location-address .hours{font-size:.9rem}
  .career-copy{display:block;padding-block:44px 50px}.career-copy .eyebrow{margin-bottom:25px;font-size:.8rem}.career-copy h2{font-size:clamp(3.2rem,11vw,4.5rem)}.career-copy>p:not(.eyebrow){max-width:100%;font-size:1rem}.career-copy .btn{margin-top:27px}
  .closing{padding-block:60px}.closing>div{gap:20px;align-items:flex-end}.closing h2{font-size:clamp(2.75rem,9.5vw,3.8rem)}
  .footer-main{grid-template-columns:1fr 1fr;gap:32px 20px;padding-block:40px 30px;font-size:.82rem}.footer-main>div:first-child{grid-column:1/-1}.footer-main img{width:215px;margin-bottom:20px}.footer-legal{overflow-wrap:anywhere}.footer-links{gap:14px}.footer-bottom{font-size:.7rem;gap:12px 20px;padding-block:19px}
  .mobile-contact{position:fixed;inset:auto 0 0;z-index:40;display:grid;grid-template-columns:1fr 1fr;background:var(--ink);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -6px 18px #0e171c33}.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:14px 12px;text-decoration:none;font-size:.8rem;font-weight:700;letter-spacing:.01em}.mobile-contact .mc-contact{background:var(--ink);color:white}.mobile-contact .mc-icon{flex:none;width:19px;height:19px;color:var(--yellow)}.mobile-contact .mc-breakdown{background:var(--yellow);color:var(--ink)}.mobile-contact .badge-24{font-size:.68rem;font-weight:800;line-height:1;letter-spacing:.04em;padding:5px 6px;background:var(--ink);color:var(--yellow)}
}
@media(max-width:680px){.nav{gap:12px}.brand{min-width:0}.brand img{width:min(200px,100%)}}
@media(max-width:680px){.footer-main{grid-template-columns:1fr;justify-items:center;text-align:center;gap:0;padding-block:44px 6px}.footer-main>div,.footer-main>div:first-child{grid-column:auto;width:100%;padding-block:24px;border-top:1px solid #ffffff1a}.footer-main>div:first-child{border-top:0;padding-top:0}.footer-main img{display:block;margin:0 auto 18px}.social-footer{justify-content:center}.footer-links{align-items:center;padding-top:24px;gap:16px}.footer-legal{line-height:1.8}.footer-bottom{flex-direction:column;justify-content:center;text-align:center;gap:14px;padding-block:22px}.footer-bottom>.footer-legal-links{justify-content:center;gap:24px}}
@media(max-width:360px){.mobile-contact a{gap:7px;padding:12px 8px;font-size:.72rem}.mobile-contact .mc-icon{width:16px;height:16px}.mobile-contact .badge-24{font-size:.62rem;padding:4px 5px}.hero{min-height:700px}.hero-inner{padding-block:40px}.emergency-phone{font-size:2.1rem}.location-contact,.location-address{padding-left:0}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-video,.video-toggle{display:none!important}}
@media print{.site-header,.hero,.mobile-contact,.video-toggle,.closing,.team-photo{display:none!important}body{background:white;color:black;padding:0;font-family:Arial,sans-serif}.section-pad{padding:20px 0}.wrap{width:100%}.breakdown,.careers,.footer{background:white;color:black}.breakdown p,.breakdown a{color:black}.location,.emergency-list article{break-inside:avoid}h2{font-size:30px}.service-detail{display:block}a{text-decoration:none}}
