.brand-logo {
  width: 78px;
  height: 78px;
  object-fit: cover;
  border-radius: 6px;
  filter: contrast(1.08);
}

.scroll-progress { position:fixed; z-index:100; left:0; right:0; top:0; height:3px; background:rgba(255,255,255,.05); pointer-events:none; }
.scroll-progress i { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left center; background:linear-gradient(90deg,#ff5a1f,#ffd1af); box-shadow:0 0 12px #ff5a1f; }

.site-header { height: 120px; }
.site-header .brand-logo { width: 104px; height: 104px; }
footer .brand-logo { width: 88px; height: 88px; }

.service-grid.four-services {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.service-grid.four-services .service-card {
  padding: 25px;
}

.footer-links {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 11px;
  color: #9ba2a4;
}

.vat-number { display:inline-block; margin-top:7px; color:#a9afb1; letter-spacing:1px; }

.footer-links a:hover,
.contact-lines a:hover {
  color: #ff5a1f;
}

.social-rail {
  position: fixed;
  right: 18px;
  top: 50%;
  z-index: 50;
  display: grid;
  gap: 8px;
  transform: translateY(-50%);
}

.social-rail a {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #171b1d;
  color: #fff;
  border: 1px solid #485053;
  box-shadow: 0 10px 30px rgba(0,0,0,.3);
  transition: width .25s, background .25s, transform .25s;
  overflow: hidden;
}

.social-rail a:hover { width: 145px; background: #ff5a1f; transform: translateX(-4px); }
.social-rail svg,.contact-social svg { width: 25px; height: 25px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; }
.social-rail svg path,.contact-social svg path { fill: currentColor; stroke: none; }
.social-rail .social-dot,.contact-social .social-dot { fill: currentColor; stroke: none; }
.social-rail span { width: 0; opacity: 0; margin-left: 0; font-size: 11px; font-weight: 700; text-transform: uppercase; transition: .25s; }
.social-rail a:hover span { width: 72px; opacity: 1; margin-left: 10px; }

.contact-social { display: flex; align-items: center; gap: 13px; }
.contact-social small { margin-bottom: 5px; }

.hero-visual { isolation:isolate; background:radial-gradient(circle at 50% 48%,#41494b 0,#1b2022 42%,#0d1011 76%); }
.hero-logo-stage { position:absolute; inset:7% 5% 11%; display:grid; place-items:center; overflow:hidden; }
.hero-logo-stage:before { content:""; position:absolute; inset:6%; border:1px solid rgba(255,255,255,.09); clip-path:polygon(8% 0,100% 0,100% 86%,92% 100%,0 100%,0 14%); }
.logo-stack { position:relative; z-index:2; width:min(92%,620px); line-height:0; }
.hero-brand-logo { position:relative; z-index:2; width:100%; height:auto; object-fit:contain; filter:contrast(1.22) brightness(1.05) drop-shadow(0 22px 30px rgba(0,0,0,.7)); animation:logo-breathe 3.2s infinite alternate ease-in-out; }
.logo-aura { position:absolute; z-index:1; width:70%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(255,91,31,.22),rgba(255,91,31,.04) 42%,transparent 70%); animation:aura-pulse 1.35s infinite alternate ease-in-out; }
.electric-weld { position:absolute; z-index:8; left:82%; top:45.2%; width:1px; height:1px; }
.arc-flash { position:absolute; left:-6px; top:-6px; width:12px; height:12px; border-radius:50%; background:#f9feff; box-shadow:0 0 5px 3px #fff,0 0 12px 7px #58b8ff,0 0 25px 13px rgba(25,117,255,.48); animation:arc-flash .085s infinite alternate; }
.weld-pool { position:absolute; left:-7px; top:-2px; width:14px; height:5px; border-radius:50%; background:radial-gradient(ellipse,#fff 0%,#fff2b5 25%,#ff8a28 57%,#e83b00 82%,transparent 100%); box-shadow:0 0 4px 2px #fff,0 0 8px 4px #ff7a24,0 0 15px 7px rgba(255,72,0,.5); animation:pool-pulse .35s infinite alternate ease-in-out; }
.logo-stack:after { content:""; position:absolute; z-index:6; left:67%; top:30%; width:30%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 50% 50%,rgba(245,253,255,.8),rgba(68,169,255,.25) 18%,rgba(22,103,222,.09) 40%,transparent 68%); mix-blend-mode:screen; animation:arc-lighting .085s infinite alternate; pointer-events:none; }
.logo-stack:before { content:""; position:absolute; z-index:5; left:55%; top:16%; width:39%; height:40%; background:radial-gradient(circle at 70% 70%,rgba(239,251,255,.32),rgba(84,174,255,.08) 36%,transparent 68%); mix-blend-mode:screen; animation:metal-reflection .12s infinite alternate; pointer-events:none; }
.weld-spatter { position:absolute; left:0; top:0; width:1px; height:1px; }
.weld-spatter i { --sx:14px; --sy:-18px; position:absolute; left:-1px; top:-1px; width:2px; height:2px; border-radius:50%; background:#fff7cf; box-shadow:0 0 3px 1px #ff7b19; opacity:0; animation:spatter .68s infinite cubic-bezier(.1,.65,.35,1); }
.weld-spatter i:nth-child(1){--sx:16px;--sy:-21px;animation-delay:.02s}.weld-spatter i:nth-child(2){--sx:24px;--sy:-10px;animation-delay:.11s}.weld-spatter i:nth-child(3){--sx:9px;--sy:-27px;animation-delay:.2s}.weld-spatter i:nth-child(4){--sx:-12px;--sy:-22px;animation-delay:.29s}.weld-spatter i:nth-child(5){--sx:-20px;--sy:-9px;animation-delay:.38s}.weld-spatter i:nth-child(6){--sx:27px;--sy:3px;animation-delay:.47s}.weld-spatter i:nth-child(7){--sx:-24px;--sy:2px;animation-delay:.56s}.weld-spatter i:nth-child(8){--sx:8px;--sy:-14px;animation-delay:.63s}
.weld-smoke { position:absolute; left:-10px; top:-13px; width:20px; height:18px; border-radius:50%; background:radial-gradient(ellipse,rgba(180,211,220,.18),transparent 67%); filter:blur(4px); animation:weld-smoke 1.8s infinite ease-out; }
@keyframes arc-flash { from{transform:scale(.72);opacity:.72} to{transform:scale(1.18);opacity:1} }
@keyframes pool-pulse { from{transform:scaleX(.75);filter:brightness(.9)} to{transform:scaleX(1.18);filter:brightness(1.45)} }
@keyframes arc-lighting { from{opacity:.45} to{opacity:1} }
@keyframes metal-reflection { from{opacity:.35;filter:brightness(.9)} to{opacity:.95;filter:brightness(1.35)} }
@keyframes spatter { 0%{opacity:1;transform:translate(0,0) scale(1.25)} 65%{opacity:.85} 100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.25)} }
@keyframes weld-smoke { 0%{opacity:0;transform:translate(0,0) scale(.5)} 35%{opacity:.55} 100%{opacity:0;transform:translate(-8px,-34px) scale(1.7)} }
@keyframes logo-breathe { from{transform:scale(.985)} to{transform:scale(1.015)} }
@keyframes aura-pulse { from{transform:scale(.86);opacity:.55} to{transform:scale(1.08);opacity:1} }

.hero h1 em { display: inline-block; animation: hot-metal 2.4s infinite alternate ease-in-out; }
@keyframes hot-metal { from { text-shadow: 0 0 0 rgba(255,90,31,0); } to { text-shadow: 0 0 30px rgba(255,90,31,.55); } }

.service-card:before { content: ""; position: absolute; left: 0; top: 0; width: 0; height: 3px; background: #ff5a1f; transition: width .35s; }
.service-card:hover:before { width: 100%; }
.project { transition: transform .35s, box-shadow .35s; }
.project:hover { transform: translateY(-8px) scale(1.01); box-shadow: 0 24px 50px rgba(0,0,0,.35); }
.project-art { transition: transform .7s, filter .7s; }
.project:hover .project-art { transform: scale(1.06); filter: brightness(1.25); }

.reveal { transition-delay:var(--reveal-delay,0ms); }
.reveal-left { transform:translate(-55px,22px) rotate(-1deg); }
.reveal-right { transform:translate(55px,22px) rotate(1deg); }
.reveal-left.visible,.reveal-right.visible { transform:translate(0,0) rotate(0); }
.section-heading.reveal h2,.process>h2.reveal { clip-path:inset(0 100% 0 0); transition:clip-path .9s .12s cubic-bezier(.2,.8,.2,1); }
.section-heading.reveal.visible h2,.process>h2.reveal.visible { clip-path:inset(0 0 0 0); }
.about-visual { transform:translateY(calc(var(--scroll-progress,0) * -18px)); }
.hero-grid { transform:translateY(calc(var(--scroll-y,0px) * .08)); }
.technical-lines { transform:translateY(calc(var(--scroll-progress,0) * -55px)); }
.ambient-smoke { transform:translateY(calc(var(--scroll-progress,0) * -36px)); }
.service-icon { transition:transform .45s cubic-bezier(.2,.8,.2,1),text-shadow .45s; }
.service-card:hover .service-icon { transform:translateY(-8px) rotate(-6deg) scale(1.12); text-shadow:0 0 18px rgba(255,90,31,.5); }
.steps>div { transition:background .3s,transform .35s,border-color .35s; }
.steps>div:hover { transform:translateY(-8px); background:rgba(255,90,31,.045); border-color:#ff5a1f; }
.step-icon { display:block; width:58px; height:58px; margin:24px 0 18px; fill:none; stroke:#555f62; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:stroke .35s,transform .45s,filter .35s; }
.steps>div:hover .step-icon { stroke:#ff5a1f; transform:translateY(-5px) scale(1.08); filter:drop-shadow(0 0 7px rgba(255,90,31,.35)); }
.steps>div:nth-child(3) .step-icon circle { fill:#ff5a1f; stroke:#fff; animation:mini-arc .18s infinite alternate; }
@keyframes mini-arc { from{filter:drop-shadow(0 0 2px #ff5a1f)} to{filter:drop-shadow(0 0 8px #ff5a1f)} }

.project-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s, filter .8s;
}

.project:hover .project-video { transform: scale(1.055); filter: contrast(1.08) brightness(1.1); }
.video-shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(9,12,13,.92) 0%, rgba(9,12,13,.15) 62%, rgba(9,12,13,.05) 100%); z-index: 1; pointer-events: none; }

.hero,.projects,.contact { isolation:isolate; overflow:hidden; }
.hero-content,.hero-visual,.projects .section-heading,.project-grid,.contact-copy,.contact-form { position:relative; z-index:2; }
.ambient-particles,.ambient-smoke,.technical-lines { position:absolute!important; inset:0; z-index:1!important; pointer-events:none; overflow:hidden; }
.ambient-particles i { position:absolute; left:var(--left); bottom:-12px; width:var(--size); height:var(--size); border-radius:50%; background:#ffb160; box-shadow:0 0 5px 1px rgba(255,90,31,.65); opacity:0; animation:slow-ember var(--duration) var(--delay) infinite linear; }
@keyframes slow-ember { 0%{opacity:0;transform:translate(0,0) scale(.3)} 12%{opacity:.55} 68%{opacity:.25} 100%{opacity:0;transform:translate(var(--drift),-75vh) scale(.85)} }

.ambient-smoke i { position:absolute; width:44vw; height:28vw; border-radius:50%; background:radial-gradient(ellipse,rgba(157,177,183,.11),rgba(95,116,122,.045) 42%,transparent 70%); filter:blur(28px); opacity:.25; animation:smoke-drift 16s infinite alternate ease-in-out; }
.ambient-smoke i:nth-child(1){left:-18%;bottom:-12%}.ambient-smoke i:nth-child(2){right:-14%;top:4%;animation-delay:-7s;animation-duration:20s}.ambient-smoke i:nth-child(3){left:30%;top:25%;animation-delay:-12s;animation-duration:24s}
@keyframes smoke-drift { from{transform:translate(-3%,-2%) scale(.88);opacity:.16} to{transform:translate(12%,-14%) scale(1.22);opacity:.36} }

.hero:after,.projects:after,.contact:after { content:""; position:absolute; z-index:1; inset:-30%; pointer-events:none; background:radial-gradient(circle at 20% 42%,rgba(19,113,255,.1),transparent 19%),radial-gradient(circle at 76% 66%,rgba(255,83,20,.09),transparent 18%); animation:arc-reflections 9s infinite alternate ease-in-out; }
@keyframes arc-reflections { 0%{transform:translate(-4%,2%) scale(.94);opacity:.45} 42%{opacity:.8} 100%{transform:translate(5%,-3%) scale(1.08);opacity:.55} }

.technical-lines { opacity:.11; background-image:linear-gradient(rgba(110,191,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(110,191,255,.25) 1px,transparent 1px); background-size:64px 64px; animation:blueprint-slide 24s infinite linear; mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent); }
.technical-lines i { position:absolute; border:1px solid #84c9ff; width:180px; height:110px; transform:rotate(-8deg); }
.technical-lines i:before,.technical-lines i:after { content:""; position:absolute; background:#84c9ff; }
.technical-lines i:before{left:50%;top:-25px;width:1px;height:160px}.technical-lines i:after{left:-35px;top:50%;width:250px;height:1px}
.technical-lines i:nth-child(1){left:8%;top:18%}.technical-lines i:nth-child(2){right:7%;top:50%;transform:rotate(12deg) scale(.75)}.technical-lines i:nth-child(3){left:44%;bottom:5%;transform:rotate(3deg) scale(.52)}
@keyframes blueprint-slide { to{background-position:64px 64px} }

.services,.process { background-image:linear-gradient(rgba(17,21,23,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(17,21,23,.026) 1px,transparent 1px); background-size:72px 72px; animation:light-grid 30s infinite linear; }
@keyframes light-grid { to{background-position:72px 72px} }

.steel-parts { background: radial-gradient(circle at 50% 42%, #687174, #252b2d 58%, #111516); }
.steel-parts i { position: absolute; width: 100px; height: 135px; top: 24%; background: linear-gradient(105deg,#b2b9ba 0%,#596164 43%,#d1d5d5 50%,#555d60 72%); border: 2px solid #c0c5c6; clip-path: polygon(0 0,100% 0,100% 100%,0 100%); box-shadow: 10px 18px 22px rgba(0,0,0,.42); }
.steel-parts i:before { content:""; position:absolute; width:32px; height:32px; border-radius:50%; background:#191e20; border:5px solid #8b9395; left:29px; top:22px; box-shadow: inset 3px 3px 8px #050606; }
.steel-parts i:after { content:""; position:absolute; width:68%; height:7px; background:linear-gradient(#e8a354,#5b3926,#c17635); left:16%; bottom:18px; box-shadow:0 0 6px rgba(255,106,0,.45); }
.steel-parts i:nth-child(1){left:12%;transform:rotate(-12deg)}.steel-parts i:nth-child(2){left:39%;top:18%;transform:scale(1.08)}.steel-parts i:nth-child(3){right:12%;transform:rotate(12deg)}
.steel-parts span { position:absolute; width:32%; height:15px; bottom:21%; background:linear-gradient(#b7bec0,#4e5658); border:1px solid #a6adaf; transform:skewX(-20deg); }
.steel-parts span:nth-of-type(1){left:13%}.steel-parts span:nth-of-type(2){right:13%}

.welded-series { display:flex; align-items:center; justify-content:center; gap:13px; padding:11% 8% 22%; background:radial-gradient(circle at 50% 42%,#626a6c,#202527 62%,#111516); }
.welded-series i { position:relative; width:15%; height:55%; border-left:10px solid #858d8f; border-right:10px solid #858d8f; border-bottom:12px solid #a3aaac; background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(0,0,0,.15)); box-shadow:8px 12px 15px rgba(0,0,0,.38); transform:skewY(-4deg); }
.welded-series i:before,.welded-series i:after { content:""; position:absolute; bottom:-9px; width:22px; height:5px; background:linear-gradient(#f0b06d,#785035); box-shadow:0 0 4px rgba(255,105,25,.35); }
.welded-series i:before{left:-8px}.welded-series i:after{right:-8px}

@media (prefers-reduced-motion: reduce) {
  .hero-brand-logo,.logo-aura,.electric-weld *,.logo-stack:before,.logo-stack:after,.hero h1 em { animation: none !important; }
  .reveal { transition: none; }
  .ambient-particles,.ambient-smoke,.technical-lines,.hero:after,.projects:after,.contact:after,.services,.process { animation:none!important; }
  .reveal-left,.reveal-right,.about-visual,.hero-grid,.technical-lines,.ambient-smoke { transform:none!important; }
  .scroll-progress { display:none; }
}

@media (max-width: 1150px) {
  .service-grid.four-services { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
  .site-header { height: 88px; }
  .brand-logo,.site-header .brand-logo { width: 72px; height: 72px; }
  footer .brand-logo { width: 76px; height: 76px; }
  .service-grid.four-services { grid-template-columns: 1fr; }
  .footer-links { flex-wrap: wrap; justify-content: center; }
  .social-rail { right: 10px; top: auto; bottom: 14px; transform: none; grid-template-columns: 1fr 1fr; }
  .social-rail a,.social-rail a:hover { width: 48px; height: 48px; transform: none; }
  .social-rail span { display: none; }
  .hero-logo-stage { inset:4% 4% 10%; }
  .logo-stack { width:min(88%,520px); }
}
