@font-face{font-family:Barlow;src:url('assets/fonts/barlow-condensed-600.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url('assets/fonts/barlow-condensed-700.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-400.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-500.woff') format('woff');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-600.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-700.woff') format('woff');font-weight:700;font-display:swap}
:root{--gold:#e1b76c;--paper:#efeee8;--ink:#111516;--muted:#b1b9b8;--display:Barlow,'Arial Narrow',sans-serif;--body:Manrope,Arial,sans-serif}
body{font-family:var(--body);background:#111516}button{font-family:inherit}
h1,h2,h3{text-wrap:balance}p{font-size:16px;line-height:1.7}
.button,.motion-demo,.stage-explore{border-radius:2px;font-weight:600;letter-spacing:.01em;transition:background .2s,color .2s,transform .2s}
.button:hover,.stage-explore:hover,.motion-demo:hover{transform:translateY(-2px)}
.eyebrow,.kicker{font:500 12px/1.5 var(--body);letter-spacing:.18em}
header{height:80px;padding:12px 4%;background:#111616f5;border-bottom:1px solid #d3d5c925;box-shadow:none}
header .brand img{width:49px;height:49px}header .brand>span{display:block}
header .brand strong{font:600 23px/.95 var(--display);letter-spacing:.1em}header .brand small{font:500 10px/1.1 var(--body);letter-spacing:.2em;margin-top:7px;color:#c2c7bf}
header .nav-links{gap:26px}header .nav-links a{font-size:14px}header .nav-links a:last-child{border:1px solid #b4bdac62;padding:10px 17px}
header .lang{border:0;border-left:1px solid #b4bdac4a;margin-left:0;padding-left:20px;font-size:13px}
/* Gallery: a lit workshop with one clear, continuous collection rail. */
.conveyor-viewport{background-color:#b5c2c5;background-blend-mode:multiply;box-shadow:none}
.conveyor-viewport::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#0a161958,transparent 32%,transparent 62%,#081112db),linear-gradient(90deg,#07111533,transparent 28%,transparent 72%,#07111533)}
.scene-intro{position:absolute;z-index:30;left:4%;top:18px;pointer-events:none;max-width:28%}
.scene-intro p{font-size:12px;letter-spacing:.18em;line-height:1.4;color:#e4c28d;margin:0 0 10px}
.scene-intro h1{font:600 clamp(36px,3.8vw,68px)/.89 var(--display);letter-spacing:-.02em;margin:0;color:#f5f0e4;text-transform:uppercase;text-shadow:0 3px 20px #0007;text-wrap:initial}
.scene-signature{position:absolute;z-index:30;right:4%;top:27px;max-width:220px;text-align:right;font:500 15px/1.5 var(--body);color:#ede9de;pointer-events:none;text-shadow:0 2px 15px #000}
.scene-signature span{display:block;margin-top:10px;font-size:12px;color:#d0b786;letter-spacing:.13em;text-transform:uppercase}
.conveyor-controls{left:0;bottom:0;top:auto;width:100%;max-width:none;padding:0 4%;border:0;border-top:1px solid #c7ccc34a;background:#101719f5;border-radius:0;box-shadow:none;backdrop-filter:blur(12px)}
.conveyor-controls-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.conveyor-controls .collection-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;border:0}
.conveyor-controls .collection-tab{grid-template-columns:24px 1fr;gap:10px;padding:20px 0;align-items:start;border:0;border-top:2px solid transparent;background:none;box-shadow:none;min-height:100px}
.conveyor-controls .collection-tab strong{font:600 clamp(19px,1.8vw,28px)/1 var(--display);text-transform:uppercase;letter-spacing:.025em;color:#c0c8c6;transition:color .2s}
.conveyor-controls .collection-tab .tab-number{font:500 12px/1.3 var(--body);color:#909d9b;padding-top:2px}
.conveyor-controls .collection-tab small{display:block;margin-top:8px;font-size:12px;color:#9ba9a7;line-height:1.4}
.conveyor-controls .collection-tab[aria-pressed=true]{padding-left:0;border-top-color:var(--gold);box-shadow:none}
.conveyor-controls .collection-tab[aria-pressed=true] strong,.conveyor-controls .collection-tab:hover strong{color:#fff9e9}
.conveyor-controls .collection-tab[aria-pressed=true] .tab-number{color:var(--gold)}
.conveyor-details{bottom:117px;width:60%;max-width:820px;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;text-shadow:0 2px 15px #000;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 18px;text-align:left;align-items:center}
.conveyor-details .stage-bottom{gap:10px;align-items:center;justify-content:center;grid-column:1;grid-row:1}
.conveyor-details h3{font:600 clamp(24px,2.35vw,36px)/1 var(--display);letter-spacing:.025em;margin:0;text-transform:uppercase}
.conveyor-details #stage-description{display:block;font-size:13px;margin:7px 0 0;color:#d4dad5;line-height:1.4}
.conveyor-details .stage-controls{display:flex;gap:3px}.conveyor-details .stage-controls button{min-width:30px;min-height:36px;width:30px;height:36px;border-color:#d1d9cf50;font-size:19px;padding:0}
.stage-explore{min-height:44px;padding:10px 20px;margin:0;background:#eee9de;border-color:#eee9de;color:#151b1b;font-size:13px;box-shadow:0 6px 24px #0003;grid-column:2;grid-row:1}
.conveyor-details .conveyor-album-note{font-size:12px;margin:9px 0 0;color:#aebbb6;grid-column:1/-1;text-align:center}
.conveyor-status{bottom:auto;top:18px;font-size:12px;letter-spacing:.04em;background:#101719b5;border:1px solid #d8dfd12b;padding:6px 12px;color:#d8dfd6}
/* The brand statement reconnects the robotic gallery with the craft. */
.hero{height:90svh;min-height:690px;max-height:1000px;align-items:center}
.hero::before{background:linear-gradient(90deg,#09100ff2 0%,#09100fd9 35%,#09100f21 85%),linear-gradient(0deg,#111516,transparent 30%)}
.hero-photo{object-position:65% center;filter:saturate(.65);transform:scale(1.02) translate3d(var(--px,0),var(--py,0),0)}
.hero-main{padding:100px 6% 140px}.hero .eyebrow{font-size:12px;max-width:none;color:#d4b276}
.hero h2{font:600 clamp(76px,10.5vw,170px)/.85 var(--display);letter-spacing:-.025em;text-transform:uppercase;margin:36px 0 30px;max-width:1100px;text-wrap:initial}
.hero h2 em{display:block;font:inherit;font-style:normal;color:transparent;-webkit-text-stroke:1px #dddacf;margin-top:10px;letter-spacing:inherit}
.hero-lead{font-size:18px;line-height:1.65;max-width:490px;color:#d1d8d3;margin-bottom:30px}
.hero-actions{gap:10px;max-width:none}.hero-actions .button{padding:13px 22px;min-height:50px;font-size:14px}
.hero-caption{right:6%;bottom:105px;max-width:none;text-align:right;font:500 12px/1.6 var(--body);letter-spacing:.08em;color:#c9cfc6;border:0}
.hero-footer{left:6%;right:6%;bottom:0;padding:23px 0;border-color:#c4cbbb3b;flex-wrap:nowrap}.hero-footer strong{font:500 14px/1.5 var(--body);color:#d5c39c}.hero-footer .mono{font:500 12px/1.5 var(--body);letter-spacing:.1em}
.intro{padding-top:70px;padding-bottom:80px;background:#111516;border-bottom:1px solid #c4cbbb30;grid-template-columns:.6fr 1.4fr;gap:7%}
.intro .note{font-size:14px;line-height:1.8;color:#9ca8a4;max-width:240px}
.intro h2{font:600 clamp(40px,4.8vw,74px)/1 var(--display);letter-spacing:-.01em;text-transform:uppercase;max-width:850px;margin:0 0 24px}.intro h2 em{font:inherit;font-style:normal;color:#b8c2b8}
.intro p{max-width:680px;color:#a8b4ae;margin:0;font-size:16px}
/* Silver service section, large type, and image-led details. */
.section.work{background:#e4e6e5;color:#172020;padding-top:95px;padding-bottom:110px}
.work .kicker{color:#59645d}.work .section-title{align-items:end;gap:40px;margin-bottom:48px}.work .section-title h2{font:600 clamp(60px,7.5vw,115px)/.95 var(--display);letter-spacing:-.025em;text-transform:uppercase;margin:18px 0 0}
.work .section-title p{max-width:320px;font-size:16px;color:#59645d}.work-layout{grid-template-columns:.85fr 1.15fr;gap:5%;align-items:stretch}
.work-tabs{border-top:1px solid #7d8d8266}.work-tab{padding:27px 0;border-color:#7d8d8266;gap:18px;grid-template-columns:24px 1fr 20px}
.work-tab .num{font:500 12px var(--body);color:#6d7a70}.work-tab .name{font:600 clamp(27px,3vw,42px)/1.1 var(--display);letter-spacing:.015em;text-transform:uppercase;color:#59695e}
.work-tab .plus{font-size:24px;color:#6d7a70}.work-tab[aria-selected=true]{padding-left:0;background:none}.work-tab[aria-selected=true] .name{color:#111d18}.work-tab[aria-selected=true]::before{display:none}
.work-tab:focus-visible{outline-color:#806024}.work-panel{position:relative;isolation:isolate;overflow:hidden;min-height:490px;padding:30px;color:#f0f1e8;background:#172126;border:0;display:flex;flex-direction:column;justify-content:space-between}
.service-visual{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.55)}
.work-panel::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0b191966,transparent 25%,#0b1919eb 76%);z-index:-1}
.work-panel .panel-top{font:500 12px var(--body);letter-spacing:.12em;border:0;color:#e0e7db}.work-panel .panel-num{display:none}
.work-panel h3{font:600 clamp(36px,3.5vw,54px)/1 var(--display);text-transform:uppercase;letter-spacing:0;margin:0 0 15px;max-width:480px}.work-panel p{font-size:15px;color:#d0dbd2;max-width:500px;line-height:1.65}
.work-panel .tags{gap:7px}.work-panel .tags span{font-size:12px;border-color:#afc0ad59;color:#d9e3d7;background:#071b1433;padding:5px 10px}
.service-credit{margin:14px 0 0!important;font:400 12px var(--body)!important;color:#a9b8af!important}
/* A large process statement gives the page pauses, not repeated card stacks. */
.craft{background:#1b2328;padding-top:110px;padding-bottom:110px;grid-template-columns:1fr 1fr;gap:8%;border:0}
.craft-statement{background:none;border:0;border-top:1px solid #d1dec23d;padding:22px 0;min-width:0}.craft-statement .kicker{color:#a2bba8}
.craft-statement strong{font:600 clamp(70px,8vw,125px)/.84 var(--display);text-transform:uppercase;letter-spacing:-.015em;display:block;margin:35px 0}
.craft-statement strong em{font:inherit;font-style:normal;color:#dabb82}.craft-statement p{max-width:450px;font-size:16px;color:#a9beb0;line-height:1.7}
.craft .reveal{min-width:0}.craft h2{font:600 clamp(42px,4.3vw,68px)/1.02 var(--display);text-transform:uppercase;letter-spacing:0;margin:24px 0 30px}
.craft h2 em{font:inherit;font-style:normal;color:#c2cdbf}.process-row{padding:20px 0;border-color:#b6c9b832;grid-template-columns:28px 1fr;gap:20px}.process-row b{color:#cbae77;font:500 12px var(--body)}.process-row h3{font:600 18px var(--body)}.process-row p{font-size:15px;color:#a9beb0}
/* The future has a visible place; the photograph is labelled conceptual. */
.vision{grid-template-columns:1fr 1fr;gap:6%;background:#11181d;border-top:0;padding-top:110px;padding-bottom:110px;align-items:center}
.vision h2{font:600 clamp(52px,5.7vw,88px)/.95 var(--display);text-transform:uppercase;letter-spacing:-.015em;margin:25px 0}.vision h2 em{font:inherit;font-style:normal;color:#d4b779}
.vision .vision-status{font:500 12px var(--body);border-color:#60766a;color:#b1c7b7;padding:7px 11px;margin-bottom:22px}
.vision .vision-intro{font-size:17px;max-width:540px;color:#b7c3bc}.vision-step{grid-template-columns:25px 1fr;padding:16px 0;gap:15px}.vision-step h3{font:600 16px var(--body)}.vision-step p{font-size:14px}.vision .vision-disclaimer{font-size:12px;color:#95a79c;line-height:1.6}
.vision .robot-stage{min-height:620px;padding:0;display:flex;align-self:stretch;position:relative;justify-content:flex-end;background:#17232b;overflow:hidden}
.vision-visual{position:absolute;inset:0;margin:0}.vision-visual img{width:100%;height:100%;object-fit:cover;object-position:75% center;filter:saturate(.6)}
.vision .robot-stage::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#0e1716ed);pointer-events:none}
.vision .robot-stage-caption{position:relative;z-index:1;margin:0;padding:25px;flex-direction:row;align-items:center;border:0;gap:18px}.vision .robot-stage-caption>span{font-size:12px;line-height:1.5;letter-spacing:.08em;color:#d5d9cd;max-width:220px}.vision .motion-demo{font-size:13px;min-width:132px;padding:13px}
/* A clear, high-contrast finish with the real contact action. */
.contact{background:#d5b57b;color:#151d18;padding:85px 6% 65px;overflow:hidden}
.contact .kicker{color:#5b523d}.contact h2{font:600 clamp(68px,10.5vw,168px)/.88 var(--display);letter-spacing:-.025em;text-transform:uppercase;margin:38px 0 52px;max-width:none;text-wrap:initial}
.contact h2 em{font:inherit;font-style:normal;color:#f6edd7}
.contact-bottom{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:40px;padding-top:30px;border-top:1px solid #26352766}.contact-bottom p{font-size:16px;color:#3e4637;max-width:520px;margin:0}
.contact-link{font:600 16px var(--body);padding:19px 30px;background:#16211b;color:#faf3df;border:0;white-space:nowrap;min-height:56px}.contact-link::after{display:none}
.contact-details{margin-top:30px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.contact-details a{font-size:16px;color:#17281b;overflow-wrap:anywhere}.copy-mail{font:500 13px var(--body);border-color:#434c38;color:#334430}.copy-status{font-size:14px;color:#334430}
body>footer{background:#11181d;color:#b7c2b9;padding:32px 6% 48px!important;gap:24px;align-items:center;border-top:0}.brand-footer-word{display:block;width:100%;font:600 clamp(80px,17vw,260px)/.8 var(--display);letter-spacing:-.02em;color:#a7b2a026;margin:25px 0 30px;text-align:center;white-space:nowrap}
footer .brand strong{font:600 23px/1 var(--display);letter-spacing:.08em}footer .brand small{font:500 11px/1.5 var(--body);letter-spacing:.15em}footer .mail{font-size:14px}footer p{font-size:12px;margin:0}.motion-toggle{font-family:var(--body);font-size:12px}
.image-dialog .viewer-bar h2{font:600 clamp(23px,2.5vw,38px)/1 var(--display);text-transform:uppercase;letter-spacing:.015em}.image-dialog .viewer-bar{background:#101919eb;border-color:#c5d2bf42}.image-dialog .viewer-foot{background:#101919eb;border-color:#c5d2bf42}.image-dialog .viewer-foot p{font-size:13px}
.work-archive{background:#131b20;border-color:#b6c6b06b}.archive-heading h2{font:600 clamp(32px,4vw,54px)/1 var(--display);text-transform:uppercase}.archive-heading p{color:#d3b679}.archive-view-tabs button[aria-pressed=true]{background:#c5d2b818;border-color:#c9b17b}
@media(min-width:900px) and (max-height:760px){.scene-intro h1{font-size:40px}.scene-intro{top:16px}.scene-intro p{margin-bottom:7px;font-size:12px}.scene-signature{top:18px;font-size:13px}.conveyor-controls .collection-tab{min-height:82px;padding:15px 0}.conveyor-controls .collection-tab small{display:none}.conveyor-details{bottom:93px}.conveyor-details h3{font-size:27px}.conveyor-details .conveyor-album-note{display:none}.conveyor-status{display:none}}
@media(min-width:900px) and (max-width:1100px){header .nav-links{gap:15px}header .nav-links a{font-size:13px}.scene-signature{max-width:180px;font-size:13px}.scene-intro{max-width:25%}.conveyor-controls .collection-tab strong{font-size:21px}.conveyor-controls .collection-tab small{font-size:12px}.conveyor-controls .collection-selector{gap:12px}.conveyor-details{width:50%}.work-panel{padding:23px}.hero h2{font-size:10.5vw}}
@media(max-width:899px){
 header{height:72px;padding:10px 5%}header .brand img{width:39px;height:39px}header .brand strong{font:600 20px/.95 var(--display);letter-spacing:.08em}header .brand small{font-size:9px;letter-spacing:.16em;margin-top:6px}header nav{gap:6px}header .lang{padding:8px 10px;min-width:38px;border:0;font-size:13px}.menu-toggle{min-height:42px;padding:8px 12px;font-size:13px}
 header .nav-links a{font-size:16px;padding:18px 0}header .nav-links a:last-child{border:0;padding:18px 0}main#main{padding-top:72px}
 .scene-intro,.scene-signature,.conveyor-viewport::before{display:none}.portfolio{padding-top:5px;background:#121a20}.portfolio>.section-title{padding-top:35px;padding-bottom:25px;margin:0}
 .portfolio .section-title h2{font:600 clamp(55px,10vw,82px)/.9 var(--display);letter-spacing:-.01em;text-transform:uppercase;margin:16px 0 0}.portfolio .section-title h2 em{font:inherit;font-style:normal;color:#c5b384}.portfolio .section-title p{font-size:15px;color:#afbeb3;margin-top:20px}
 .conveyor-static .conveyor-viewport{padding:14px 6% 40px;background:#121a20}.conveyor-static .conveyor-track{gap:26px}.conveyor-frame>span{font:600 20px/1.15 var(--display);letter-spacing:.015em;text-transform:uppercase;padding:10px;background:#11251bdf}
 .hero{height:auto;min-height:670px;max-height:none}.hero-main{padding:100px 6% 140px}.hero-photo{object-position:69% center}.hero::before{background:linear-gradient(90deg,#09110fea,#09110f8c 80%),linear-gradient(0deg,#111516,transparent 50%)}
 .hero h2{font-size:clamp(42px,11.9vw,100px);line-height:.93;letter-spacing:-.01em;margin:32px 0 28px}.hero h2 em{margin-top:5px}.hero-lead{font-size:16px;max-width:440px}.hero-actions .button{font-size:13px;padding:12px 16px}.hero-caption{bottom:92px;font-size:12px;left:6%;right:auto;text-align:left}.hero-footer{padding:18px 0;gap:10px;flex-wrap:wrap}.hero-footer strong{font-size:12px}.hero-footer .mono{font-size:12px}
 .intro{grid-template-columns:1fr;gap:26px;padding-top:50px;padding-bottom:55px}.intro .note{font-size:13px;max-width:none;margin:12px 0 0}.intro h2{font-size:clamp(39px,7.5vw,64px)}.intro p{font-size:15px}
 .section.work{padding-top:55px;padding-bottom:60px}.work .section-title{display:block;margin-bottom:32px}.work .section-title h2{font-size:clamp(55px,10vw,85px)}.work .section-title p{font-size:15px;max-width:520px;margin-top:20px}.work-layout{grid-template-columns:minmax(0,1fr);gap:28px}.work-tab{padding:18px 0;gap:12px}.work-tab .name{font-size:28px}.work-panel{min-height:450px;padding:23px}.work-panel h3{font-size:40px}.work-panel p{font-size:15px}
 .craft{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:58px;padding-bottom:58px}.craft-statement strong{font-size:clamp(70px,14vw,110px);margin:26px 0}.craft-statement p{font-size:15px}.craft h2{font-size:clamp(40px,8vw,64px)}.process-row h3{font-size:17px}
 .vision{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:60px;padding-bottom:60px}.vision h2{font-size:clamp(48px,10vw,78px)}.vision .vision-intro{font-size:16px}.vision .robot-stage{min-height:450px}.vision .robot-stage-caption{padding:20px;gap:12px}.vision .robot-stage-caption>span{font-size:12px}.vision .motion-demo{font-size:12px;min-width:120px}
 .contact{padding:56px 6% 42px}.contact h2{font-size:clamp(49px,10.5vw,88px);margin:28px 0 36px;line-height:.97}.contact-bottom{flex-direction:column;align-items:flex-start;gap:24px;padding-top:24px}.contact-bottom p{font-size:15px}.contact-link{padding:16px 22px;font-size:15px;white-space:normal}.contact-details a{font-size:14px}.contact-details{gap:12px}
 body>footer{padding:26px 6% 40px!important;align-items:flex-start}.brand-footer-word{font-size:16vw;margin:15px 0 15px}.image-dialog .viewer-bar h2{font-size:26px}.image-dialog .viewer-foot p{font-size:13px}.archive-heading h2{font-size:30px}.archive-heading{gap:12px}
}
@media(prefers-reduced-motion:reduce){.button:hover,.stage-explore:hover,.motion-demo:hover{transform:none}.hero-photo{transform:none}}
.conveyor-static .scene-intro{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);display:block;pointer-events:none}
.conveyor-static .scene-signature{display:none}
.conveyor-static .conveyor-frame>span{opacity:1}

/* Weld-pool sparks track their source images and never receive input. */
#welding-sparks{position:fixed;inset:0;width:100%;height:100%;z-index:45;pointer-events:none;user-select:none;contain:strict}
#welding-sparks[hidden],html[data-motion=off] #welding-sparks{display:none}
@media(prefers-reduced-motion:reduce){#welding-sparks{display:none!important}}
