:root{--bg:#0e1214;--panel:#171d20;--steel:#a9b5b9;--text:#f4f6f6;--accent:#d79b31;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f5f5;color:#182024;font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}.hero{min-height:760px;color:var(--text);background:radial-gradient(circle at 80% 30%,#46565b 0,transparent 34%),linear-gradient(125deg,#0b0f11,#263236);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),transparent 70%);pointer-events:none}nav,.heroText,.section,footer{max-width:var(--max);margin:auto}nav{height:86px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;border-bottom:1px solid #ffffff26}.brand{font-size:26px;font-weight:900;letter-spacing:1px}.brand span{color:var(--accent)}.links{display:flex;gap:28px;text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:.08em}.links a:hover{color:var(--accent)}#menu{display:none;background:none;border:0;color:white;font-size:28px}.heroText{position:relative;z-index:1;padding:145px 0 120px}.eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.18em}.hero h1{font-size:68px;line-height:1.02;max-width:900px;margin:16px 0 25px;text-transform:uppercase}.heroText>p:not(.eyebrow){font-size:20px;max-width:660px;color:#d5dcde}.actions{display:flex;gap:12px;margin-top:38px}.actions a{padding:14px 28px;font-weight:800;text-transform:uppercase;font-size:13px}.primary{background:var(--accent);color:#111}.secondary{border:1px solid #ffffff66}.section{padding:90px 20px}.section h2{font-size:42px;line-height:1.1;margin:8px 0 38px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards article{background:white;padding:30px;border:1px solid #dce1e2;min-height:210px}.cards b{color:var(--accent);font-size:13px}.cards h3{font-size:22px;margin:24px 0 8px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split>div>p:last-child{font-size:20px}.photoPlaceholder{height:380px;background:linear-gradient(135deg,#2a3539,#0d1113);display:grid;place-content:center;text-align:center;color:white}.photoPlaceholder span{font-size:48px;font-weight:900}.photoPlaceholder small{color:#aab4b7}.dark{max-width:none;background:var(--bg);color:white;padding-left:max(20px,calc((100% - var(--max))/2));padding-right:max(20px,calc((100% - var(--max))/2))}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.gallery div{height:240px;background:linear-gradient(145deg,#364348,#151b1e);display:grid;place-content:center;font-weight:900;letter-spacing:.15em;color:#c9d0d2}.contact{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact>div{border-top:3px solid var(--accent);padding-top:18px}.map{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;align-items:center}.map iframe{border:0;width:100%;height:420px}footer{padding:35px 20px;display:flex;justify-content:space-between;border-top:1px solid #ccd2d4;font-size:14px}@media(max-width:800px){nav{height:auto;min-height:72px;padding:18px 20px;align-items:flex-start}#menu{display:block}.links{display:none;position:absolute;top:70px;left:0;right:0;background:#11181b;padding:20px;flex-direction:column}.links.open{display:flex}.hero{min-height:650px}.heroText{padding:120px 20px 80px}.hero h1{font-size:42px}.cards{grid-template-columns:1fr}.split,.map{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.section h2{font-size:34px}footer{flex-direction:column;gap:8px}}

/* Photographic vehicle with a 12 second collision loop. */
.heroText{padding-bottom:285px}.truck-scene{position:absolute;bottom:35px;right:max(0px,calc((100vw - 1180px)/2));width:min(900px,85vw);z-index:1;pointer-events:none;overflow:hidden}.truck-scene svg{display:block;width:100%;height:auto}.real-truck{animation:truck-crash 16s linear infinite;transform-origin:850px 320px}.crash-barrier{animation:barrier-hit 16s linear infinite;transform-origin:862px 326px}.crash-dust{animation:impact-dust 16s linear infinite;transform-origin:840px 290px}.crash-sparks{animation:impact-sparks 16s linear infinite}.motion-toggle{position:absolute;bottom:12px;left:max(20px,calc((100vw - 1180px)/2));z-index:2;background:#152128;color:#d7e1e5;border:1px solid #677781;border-radius:4px;padding:9px 12px;font:12px Arial,sans-serif;cursor:pointer}.motion-toggle:focus-visible{outline:3px solid #f7bd54;outline-offset:4px}.motion-paused .truck-scene *{animation-play-state:paused!important}
@keyframes truck-crash{0%{transform:translateX(-900px);opacity:0}5%{opacity:1}60%{transform:translateX(0);opacity:1}61%{transform:translateX(5px) skewX(-2deg)}63%{transform:translateX(-6px) skewX(1deg)}66%,85%{transform:translateX(0);opacity:1}94%,100%{transform:translateX(0);opacity:0}}
@keyframes barrier-hit{0%,60%{transform:rotate(0);opacity:1}63%,85%{transform:rotate(15deg);opacity:1}94%{transform:rotate(15deg);opacity:0}95%,100%{transform:rotate(0);opacity:0}}
@keyframes impact-dust{0%,59.9%{opacity:0;transform:scale(.4)}62%{opacity:1;transform:scale(.8)}75%{opacity:.6;transform:scale(1.8)}85%,100%{opacity:0;transform:scale(2.2)}}
@keyframes impact-sparks{0%,59.9%{opacity:0}60%,62%{opacity:1}65%,100%{opacity:0}}
@media(max-width:800px){.heroText{padding-top:80px;padding-bottom:210px}.truck-scene{width:100%;right:0;bottom:45px}.motion-toggle{bottom:10px}.hero h1{font-size:clamp(30px,7vw,42px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.truck-scene *{animation:none!important}.crash-dust,.crash-sparks{opacity:0}.motion-toggle{display:none}}

.trailer-logo{opacity:0;animation:logo-after-impact 16s linear infinite}@keyframes logo-after-impact{0%,65%{opacity:0}72%,100%{opacity:1}}@media(prefers-reduced-motion:reduce){.trailer-logo{opacity:1}}



.rim-spin{animation:physical-wheel-roll 16s linear infinite;transform-origin:0px 0px;transform-box:view-box}.intact-truck{animation:intact-at-start 16s steps(1,end) infinite}.damaged-truck{opacity:0;animation:damage-on-impact 16s steps(1,end) infinite}@keyframes physical-wheel-roll{0%{transform:rotate(0deg)}60%,100%{transform:rotate(1842deg)}}@keyframes intact-at-start{0%{opacity:1}60%,100%{opacity:0}}@keyframes damage-on-impact{0%{opacity:0}60%,100%{opacity:1}}@media(prefers-reduced-motion:reduce){.intact-truck{opacity:1}.damaged-truck{opacity:0}}

@media(prefers-reduced-motion:reduce){.intact-truck{opacity:0}.damaged-truck{opacity:1}.trailer-logo{opacity:1}}

/* V8: crash, damaged blank trailer, smoke, repaired trailer and logo. */
@keyframes truck-crash{0%{transform:translateX(-900px);opacity:0}4%{opacity:1}45%{transform:translateX(0);opacity:1}46%{transform:translateX(5px) skewX(-2deg)}48%{transform:translateX(-6px) skewX(1deg)}51%,91%{transform:translateX(0);opacity:1}97%,100%{transform:translateX(0);opacity:0}}
@keyframes physical-wheel-roll{0%{transform:rotate(0deg)}45%,100%{transform:rotate(1842deg)}}
@keyframes intact-at-start{0%{opacity:1}45%{opacity:0}66%,100%{opacity:1}}
@keyframes damage-on-impact{0%{opacity:0}45%{opacity:1}66%,100%{opacity:0}}
@keyframes logo-after-impact{0%,73%{opacity:0}81%,100%{opacity:1}}
@keyframes barrier-hit{0%,45%{transform:rotate(0);opacity:1}48%,91%{transform:rotate(15deg);opacity:1}97%,100%{transform:rotate(15deg);opacity:0}}
@keyframes impact-dust{0%,44.9%{opacity:0;transform:scale(.4)}47%{opacity:1;transform:scale(.8)}55%{opacity:.6;transform:scale(1.8)}61%,100%{opacity:0;transform:scale(2.2)}}
@keyframes impact-sparks{0%,44.9%{opacity:0}45%,47%{opacity:1}49%,100%{opacity:0}}
.repair-smoke{opacity:0;animation:repair-cloud 16s linear infinite;transform-origin:400px 220px}@keyframes repair-cloud{0%,55%{opacity:0;transform:scale(.7)}61%,68%{opacity:1;transform:scale(1.1)}76%{opacity:.35;transform:translateY(-15px) scale(1.25)}81%,100%{opacity:0;transform:translateY(-30px) scale(1.4)}}
@media(prefers-reduced-motion:reduce){.intact-truck{opacity:1}.damaged-truck{opacity:0}.trailer-logo{opacity:1}.repair-smoke{opacity:0}}

.sound-toggle{position:absolute;bottom:12px;left:max(195px,calc((100vw - 1180px)/2 + 175px));z-index:2;background:#152128;color:#d7e1e5;border:1px solid #677781;border-radius:4px;padding:9px 12px;font:12px Arial,sans-serif;cursor:pointer}.sound-toggle:focus-visible{outline:3px solid #f7bd54;outline-offset:4px}.sound-toggle[aria-pressed="true"]{border-color:#d6ad62;color:#ffd985}@media(max-width:800px){.sound-toggle{bottom:10px;left:195px}}@media(prefers-reduced-motion:reduce){.sound-toggle{display:none}}

/* V11: dense cloud drops to uncover the restored trailer and branding. */
@keyframes repair-cloud{0%,53%{opacity:0;transform:translateY(35px) scale(.8)}60%{opacity:1;transform:translateY(0) scale(1)}62%,69%{opacity:1;transform:translateY(0) scale(1.08)}75%{opacity:.85;transform:translateY(60px) scale(1.1)}81%{opacity:.25;transform:translateY(145px) scale(1.15)}85%,100%{opacity:0;transform:translateY(210px) scale(1.2)}}
@keyframes logo-after-impact{0%,67%{opacity:0}73%,100%{opacity:1}}

/* V12: continuous short smoke transition, without a hold. */
@keyframes repair-cloud{0%,50%{opacity:0;transform:translateY(30px) scale(.8)}54%{opacity:.8;transform:translateY(5px) scale(1.03)}56%{opacity:1;transform:translateY(0) scale(1.08)}58%{opacity:.92;transform:translateY(35px) scale(1.1)}62%{opacity:.45;transform:translateY(100px) scale(1.15)}66%,100%{opacity:0;transform:translateY(200px) scale(1.2)}}
@keyframes intact-at-start{0%{opacity:1}45%{opacity:0}56%,100%{opacity:1}}
@keyframes damage-on-impact{0%{opacity:0}45%{opacity:1}56%,100%{opacity:0}}
@keyframes logo-after-impact{0%,55%{opacity:0}60%,100%{opacity:1}}
/* Complete company site. */
body{font-family:Arial,Helvetica,sans-serif;background:#f3f3f0}section[id]{scroll-margin-top:30px}.heroText{padding-left:20px;padding-right:20px}.heroText>p:not(.eyebrow){max-width:610px}.hero h1{font-size:clamp(36px,5.3vw,66px)}nav{padding-left:20px;padding-right:20px}.primary,.secondary{display:inline-block;border-radius:3px;transition:background .2s,color .2s}.primary:hover{background:#efb84b}.secondary:hover{background:#ffffff12}a:focus-visible,button:focus-visible{outline:3px solid #d79b31;outline-offset:4px}button{font:inherit;cursor:pointer}.skip-link{position:absolute;top:-80px;left:20px;z-index:20;background:#fff;color:#111;padding:12px}.skip-link:focus{top:10px}.trust-strip{max-width:1180px;margin:auto;padding:30px 20px;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #d7dcda;gap:30px}.trust-strip div{display:flex;flex-direction:column}.trust-strip strong{font-size:18px}.trust-strip span,.trust-strip a{font-size:14px;color:#56646a}.section{padding-top:80px;padding-bottom:80px}.section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end;margin-bottom:36px}.section-heading h2{margin-bottom:0;max-width:650px;font-size:clamp(32px,3.5vw,44px);letter-spacing:-.035em}.section-heading>p{margin:0;color:#59676c;max-width:450px}.cards{gap:18px}.cards article{border-radius:4px;padding:26px 28px;border-top:3px solid #d79b31;min-height:230px}.cards .service-number{color:#a97928;font-size:12px;font-weight:700;letter-spacing:.1em}.cards h3{margin-top:20px;line-height:1.2}.cards p{color:#5a686f;margin-bottom:0}.section-note{color:#667278;margin-top:28px}.section-note a{font-weight:700;color:#745017}.workshop{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}.workshop h2{letter-spacing:-.035em;margin-bottom:25px}.workshop-copy>p:not(.eyebrow){color:#526168}.workshop-photo{margin:0;position:relative}.workshop-photo>img{display:block;width:100%;height:auto;border-radius:4px}.workshop-photo figcaption{background:#18242b;color:#dbe2e5;padding:12px 18px;font-size:12px}.owner{display:flex;gap:18px;align-items:center;margin-top:30px;border-top:1px solid #d4dcdd;padding-top:24px}.owner img{width:85px;height:85px;object-fit:cover;border-radius:50%}.owner div{display:flex;flex-direction:column}.owner span{font-size:12px;color:#69767c}.dark .section-heading>p{color:#aab9bf}.gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.gallery-filters button{background:transparent;border:1px solid #45545c;color:#d4dfe4;border-radius:3px;padding:9px 18px;font-size:13px}.gallery-filters button[aria-pressed=true]{background:#d79b31;color:#0d151a;border-color:#d79b31}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery-item{display:flex;flex-direction:column;background:#18242b;border-radius:4px;overflow:hidden}.gallery-item[hidden]{display:none}.gallery-item img{width:100%;height:280px;object-fit:cover;display:block;transition:transform .25s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item span{font-size:12px;line-height:1.5;padding:14px;color:#c8d5dc}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-panel,.hours-panel{border-top:3px solid #d79b31;padding:28px;background:#fff;border-radius:3px}.contact-grid h3{font-size:24px;margin-top:0}.small-label{font-size:11px;letter-spacing:.08em;color:#68777e;margin-top:25px}.phone-number{display:block;font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.02em;line-height:1.5}.email{display:inline-block;margin-top:20px;color:#79571e;border-bottom:1px solid #bfa976}.hours-panel dl{margin:24px 0}.hours-panel dl div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #dde2e3;padding:15px 0}.hours-panel dd{margin:0;font-weight:700;white-space:nowrap}.hours-panel>p{color:#627178;font-size:14px}.contact-cta{padding:13px 22px;font-size:13px;font-weight:700;color:#142027;margin-top:20px}.directions{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center}.directions h2{letter-spacing:-.03em}.map-frame{height:370px;border:1px solid #ccd6d8;background:#e7eceb;border-radius:4px;overflow:hidden}.map-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:repeating-linear-gradient(40deg,transparent,transparent 50px,#dae2df 51px,#dae2df 53px)}.map-pin{font-size:64px;line-height:1;color:#a37027}.map-placeholder>span:not(.map-pin){font-size:14px;color:#5e6d72}.map-placeholder button{margin-top:20px;padding:10px 18px;background:#17242a;color:white;border:0}.map-frame iframe{width:100%;height:100%;border:0}.lightbox{border:0;background:#0d151a;color:white;padding:30px 60px 20px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);border-radius:5px}.lightbox::backdrop{background:#000b}.lightbox figure{margin:0;text-align:center}.lightbox img{display:block;max-height:70dvh;max-width:min(80vw,1000px);width:auto;height:auto;margin:auto;object-fit:contain}.lightbox figcaption{font-size:13px;color:#d7e0e4;padding:15px 0;max-width:700px}.lightbox-close{position:absolute;top:4px;right:8px;background:none;border:0;color:white;font-size:34px;width:40px;height:40px}.lightbox-controls{display:flex;justify-content:center;align-items:center;gap:25px}.lightbox-controls button{background:#25363f;color:white;border:1px solid #4a5f6a;border-radius:3px;padding:5px 16px}.lightbox-controls span{font-size:12px;color:#b9c8cf}body.modal-open{overflow:hidden}footer{align-items:center;gap:18px;color:#596b73}footer .brand{font-size:20px;color:#17242a}footer a:not(.brand){font-weight:700}footer span:last-child{font-size:12px}@media(max-width:1000px){.links{gap:18px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.workshop{gap:30px}.section-heading{gap:30px}}@media(max-width:800px){.section{padding-top:55px;padding-bottom:55px}.trust-strip{grid-template-columns:1fr;gap:16px;padding-top:24px;padding-bottom:24px}.trust-strip div{flex-direction:row;justify-content:space-between;gap:15px}.trust-strip strong{font-size:14px}.section-heading,.workshop,.contact-grid,.directions{grid-template-columns:1fr;gap:25px}.section-heading>p{max-width:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards article{min-height:0;padding:22px}.cards h3{font-size:19px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item img{height:260px}.contact-panel,.hours-panel{padding:24px}.map-frame{height:330px}.lightbox{padding:40px 16px 18px}.lightbox img{max-width:calc(100vw - 64px)}footer{align-items:flex-start}.heroText{padding-bottom:235px}.hero h1{font-size:clamp(32px,7vw,42px)}}@media(max-width:480px){.cards{grid-template-columns:1fr}.gallery-item img{height:210px}.gallery-item span{padding:10px;font-size:11px}.hours-panel dl div{flex-direction:column;gap:4px}.trust-strip div{flex-direction:column;gap:0}.heroText{padding-top:70px;padding-bottom:180px}.heroText>p:not(.eyebrow){font-size:17px}.actions a{padding:12px 20px}.eyebrow{font-size:10px}.section-heading h2{font-size:32px}.gallery-filters button{padding:8px 12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.gallery-item img{transition:none}}

footer{flex-wrap:wrap}footer a.footer-author{color:#596b73;font-size:13px;font-weight:400;transition:color .2s,text-decoration-color .2s;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}footer a.footer-author:hover,footer a.footer-author:focus-visible{color:#9c6512;text-decoration-color:currentColor}

footer .footer-credit{font-size:13px;color:#596b73}

.actions{flex-wrap:wrap;align-items:stretch}.actions .call-button{display:flex;flex-direction:column;justify-content:center;gap:3px}.call-button span{font-size:14px;text-transform:none;font-weight:700;letter-spacing:.01em}.actions .secondary{display:flex;align-items:center}.person-phone{margin-top:16px}.person-phone>span{display:block;font-size:13px;color:#67777f;font-weight:700}

/* V17: smaller truck, with space below the call buttons. */
.truck-scene{width:min(660px,65vw);bottom:40px;right:max(20px,calc((100vw - 1180px)/2 + 20px))}.heroText{padding-bottom:260px}.hero .actions{position:relative;z-index:2}@media(max-width:800px){.truck-scene{width:min(520px,85vw);right:20px;bottom:46px}.heroText{padding-bottom:245px}}@media(max-width:480px){.truck-scene{width:88vw;right:6vw;bottom:48px}.heroText{padding-bottom:185px}}

/* V18: initial single pass, explicit button enables the audio loop. */
.truck-scene *{animation-iteration-count:1;animation-fill-mode:both}.playback-loop .truck-scene *{animation-iteration-count:infinite}

/* V19: retain the repaired vehicle after the initial single playback. */
.hero:not(.playback-loop) .real-truck{animation-name:truck-single-pass}
@keyframes truck-single-pass{0%{transform:translateX(-900px);opacity:0}4%{opacity:1}45%{transform:translateX(0);opacity:1}46%{transform:translateX(5px) skewX(-2deg)}48%{transform:translateX(-6px) skewX(1deg)}51%,100%{transform:translateX(0);opacity:1}}

/* Language selector: independent pages, Polish is always the root default. */
nav{display:grid;grid-template-columns:auto 1fr auto;gap:20px}.links{justify-content:center;gap:20px}.language-switch{display:flex;gap:4px;align-items:center}.language-switch a{font-size:11px;padding:6px 8px;border:1px solid #6d7c824d;border-radius:3px;color:#d8e0e3}.language-switch a[aria-current="page"]{background:#d79b31;color:#11191d;border-color:#d79b31}.language-switch a:hover{border-color:#d79b31;color:#f4be59}.language-switch a[aria-current="page"]:hover{color:#11191d}@media(max-width:1100px){nav{grid-template-columns:1fr auto auto;height:auto;min-height:76px;padding-top:16px;padding-bottom:16px;align-items:center}#menu{display:block}.links{display:none;position:absolute;top:76px;left:0;right:0;background:#11181b;padding:20px;flex-direction:column;gap:20px}.links.open{display:flex}}@media(max-width:480px){nav{grid-template-columns:1fr auto;gap:10px}.language-switch{grid-column:1/-1;justify-self:end}.language-switch a{padding:5px 10px}.links{top:118px}.brand{font-size:24px}}html[lang="de"] .hero h1{font-size:clamp(32px,4.7vw,60px)}@media(max-width:800px){html[lang="de"] .hero h1{font-size:clamp(30px,7vw,42px)}}
