@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-v13-latin_latin-ext-regular.woff2) format("woff2")}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-v13-latin_latin-ext-600.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-v13-latin_latin-ext-600.woff2) format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-v13-latin_latin-ext-700.woff2) format("woff2")}:root{--steel-950: #101419;--steel-900: #151a21;--steel-800: #1c232c;--steel-700: #27303b;--paper: #f4f1ea;--paper-shade: #e9e4d8;--ink: #1b2129;--ink-muted: #59616d;--text: #eef0ee;--text-muted: #9ba5af;--weld: #e86f24;--weld-glow: #ffb35c;--brass: #c4a35a;--line: color-mix(in srgb, var(--text-muted) 22%, transparent);--line-on-paper: color-mix(in srgb, var(--ink-muted) 28%, transparent);--font-display: "Barlow Condensed", "Arial Narrow", sans-serif;--font-body: "Barlow", "Segoe UI", sans-serif;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem;--space-5: 4rem;--space-6: 6rem;--max-width: 72rem;--header-height: 4.5rem}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-height:100vh;font-family:var(--font-body);font-size:1.0625rem;color:var(--text);background:var(--steel-900);line-height:1.65}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--font-display);line-height:1.08;letter-spacing:.01em;text-wrap:balance;margin:0 0 var(--space-2)}h2{font-size:clamp(1.9rem,4vw,2.6rem);text-transform:uppercase}h3{font-size:1.4rem}p{margin:0 0 var(--space-2)}a{color:var(--weld-glow)}.container{width:min(100% - 2.5rem,var(--max-width));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:var(--space-2);background:var(--weld);color:var(--steel-950);padding:var(--space-1) var(--space-2);z-index:100;font-weight:600}.skip-link:focus{left:var(--space-2)}.btn{display:inline-block;padding:.85rem 1.6rem;background:var(--weld);color:var(--steel-950);text-decoration:none;font-weight:600;font-family:var(--font-display);font-size:1.15rem;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent;transition:background .2s ease,box-shadow .2s ease}.btn:hover,.btn:focus-visible{background:var(--weld-glow);box-shadow:0 0 24px color-mix(in srgb,var(--weld) 45%,transparent)}.btn--ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn--ghost:hover,.btn--ghost:focus-visible{background:color-mix(in srgb,var(--text) 8%,transparent);box-shadow:none;border-color:var(--text-muted)}.btn--small{padding:.5rem 1rem;font-size:1rem}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--steel-950) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header__inner{width:min(100% - 2.5rem,var(--max-width));margin-inline:auto;min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;padding-block:.6rem}.header__brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text)}.header__brand-mark{width:.85rem;height:2.2rem;background:linear-gradient(180deg,var(--weld-glow),var(--weld));clip-path:polygon(0 0,100% 12%,100% 100%,0 88%)}.header__brand-text strong{display:block;font-family:var(--font-display);font-size:1.35rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.1}.header__brand-text small{display:block;color:var(--text-muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.header__toggle{display:none;background:none;border:1px solid var(--line);padding:.6rem;cursor:pointer}.header__toggle span,.header__toggle span:before,.header__toggle span:after{display:block;width:1.4rem;height:2px;background:var(--text);position:relative;content:""}.header__toggle span:before{position:absolute;top:-6px}.header__toggle span:after{position:absolute;top:6px}.header__nav{display:flex;align-items:center;gap:var(--space-3)}.header__nav a:not(.btn){color:var(--text-muted);text-decoration:none;font-weight:600;font-size:.98rem;padding-block:.4rem;border-bottom:2px solid transparent}.header__nav a:not(.btn):hover,.header__nav a:not(.btn):focus-visible{color:var(--text)}.header__nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--weld)}@media(max-width:52rem){.header__toggle{display:block}.header__nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding-block:var(--space-2) var(--space-3)}.site-header.is-open .header__nav{display:flex}}.site-footer{background:var(--steel-950);border-top:1px solid var(--line);margin-top:var(--space-6)}.footer__inner{width:min(100% - 2.5rem,var(--max-width));margin-inline:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-4);padding-block:var(--space-5) var(--space-3)}.footer__heading{font-size:1.05rem;text-transform:uppercase;letter-spacing:.1em;color:var(--brass);margin-bottom:var(--space-2)}.site-footer address,.site-footer p{font-style:normal;color:var(--text-muted);font-size:.98rem}.site-footer a{color:var(--text-muted)}.site-footer a:hover,.site-footer a:focus-visible{color:var(--text)}.footer__legal{width:min(100% - 2.5rem,var(--max-width));margin-inline:auto;padding-block:var(--space-2) var(--space-3);border-top:1px solid var(--line);color:var(--text-muted);font-size:.88rem}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}[data-reveal].is-revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}.hero{position:relative;overflow:hidden;display:grid;align-items:center;background:radial-gradient(ellipse 90% 60% at 70% 10%,#242e3a 0%,transparent 60%),var(--steel-900)}.hero--full{min-height:calc(100vh - var(--header-height))}.hero--page{min-height:46vh}.hero:before{content:"";position:absolute;top:-60px;right:-60px;bottom:-60px;left:-60px;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.45;animation:grid-drift 60s linear infinite;pointer-events:none}@keyframes grid-drift{to{transform:translate3d(56px,56px,0)}}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hero__content{position:relative;z-index:2;width:min(100% - 2.5rem,var(--max-width));margin-inline:auto;padding-block:var(--space-6) var(--space-5)}.hero__eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.28em;color:var(--brass);font-size:.95rem;margin-bottom:var(--space-2)}.hero__content h1{font-size:clamp(2.6rem,7vw,4.8rem);font-weight:700;text-transform:uppercase;max-width:18ch}.hero__lead{max-width:38rem;color:var(--text-muted);font-size:1.2rem;margin-bottom:var(--space-3)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hero__content>*{opacity:0;transform:translateY(26px);animation:hero-rise .8s cubic-bezier(.2,.7,.2,1) forwards}.hero__content>*:nth-child(1){animation-delay:.15s}.hero__content>*:nth-child(2){animation-delay:.3s}.hero__content>*:nth-child(3){animation-delay:.45s}.hero__content>*:nth-child(4){animation-delay:.6s}.hero__content>*:nth-child(5){animation-delay:.75s}@keyframes hero-rise{to{opacity:1;transform:none}}.hero-truss{position:absolute;inset:auto 0 0 0;width:100%;height:62%;opacity:.5}.hero-truss path{fill:none;stroke:var(--text-muted);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-line 2.6s ease-out forwards}.hero-truss path:nth-child(2){animation-delay:.4s}.hero-truss path:nth-child(3){animation-delay:.8s}.hero-truss path:nth-child(4){animation-delay:1.2s}@keyframes draw-line{to{stroke-dashoffset:0}}.hero-weld{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hero-weld path{fill:none;stroke:var(--weld);stroke-width:3.5;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--weld)) drop-shadow(0 0 18px color-mix(in srgb,var(--weld) 60%,transparent))}.hero-weld circle{fill:var(--weld-glow);filter:drop-shadow(0 0 10px var(--weld-glow)) drop-shadow(0 0 26px var(--weld))}.hero.is-welded .hero-weld circle{animation:tip-pulse 2.4s ease-in-out infinite}@keyframes tip-pulse{50%{opacity:.55}}.hero-spark{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--weld-glow);box-shadow:0 0 8px var(--weld-glow);animation:spark-fly .7s ease-out forwards;pointer-events:none}@keyframes spark-fly{to{transform:translate(var(--dx),var(--dy));opacity:0}}.hero-dims{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.6}.hero-dims line,.hero-dims path{stroke:var(--brass);stroke-width:1.2;fill:none;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-line 1.8s ease-out forwards}.hero-dims *:nth-child(2){animation-delay:.3s}.hero-dims *:nth-child(3){animation-delay:.6s}.hero-dims *:nth-child(4){animation-delay:.9s}.hero-dims *:nth-child(5){animation-delay:1.2s}.hero-mosaic{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;opacity:.28;filter:grayscale(1) sepia(.35) hue-rotate(-18deg) saturate(1.6)}.hero__bg:has(.hero-mosaic):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#101419e6,#10141980 55%,#10141933)}.hero-mosaic img{width:100%;height:100%;object-fit:cover;opacity:0;animation:mosaic-in .9s ease-out forwards}.hero-mosaic img:nth-child(odd){animation-delay:.25s}.hero-mosaic img:nth-child(3n){animation-delay:.5s}.hero-mosaic img:nth-child(4n){animation-delay:.75s}@keyframes mosaic-in{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}.hero-pin{position:absolute;right:clamp(1rem,12vw,10rem);bottom:18%;width:64px;height:64px}.hero-pin .pin-body{position:absolute;top:0;right:0;bottom:0;left:0;animation:pin-drop .9s cubic-bezier(.2,.9,.3,1.3) .5s both}.hero-pin .pin-body svg{width:100%;height:100%;fill:var(--weld);filter:drop-shadow(0 6px 14px color-mix(in srgb,var(--weld) 50%,transparent))}.hero-pin .pin-ring{position:absolute;left:50%;bottom:-6px;width:40px;height:14px;transform:translate(-50%);border:2px solid var(--weld);border-radius:50%;opacity:0;animation:ring-pulse 2.2s ease-out 1.4s infinite}@keyframes pin-drop{0%{transform:translateY(-120px);opacity:0}to{transform:none;opacity:1}}@keyframes ring-pulse{0%{opacity:.8;transform:translate(-50%) scale(.5)}to{opacity:0;transform:translate(-50%) scale(1.6)}}.hero-timeline-line{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.55}.hero-timeline-line path{fill:none;stroke:var(--brass);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-line 2.4s ease-out .3s forwards}.hero-timeline-line circle{fill:var(--weld);opacity:0;animation:mosaic-in .5s ease-out forwards}.hero-timeline-line circle:nth-of-type(1){animation-delay:1s}.hero-timeline-line circle:nth-of-type(2){animation-delay:1.5s}.hero-timeline-line circle:nth-of-type(3){animation-delay:2s}.hero-timeline-line circle:nth-of-type(4){animation-delay:2.5s}@media(prefers-reduced-motion:reduce){.hero:before,.hero__content>*,.hero-truss path,.hero-dims line,.hero-dims path,.hero-mosaic img,.hero-pin .pin-body,.hero-pin .pin-ring,.hero-timeline-line path,.hero-timeline-line circle{animation:none;opacity:1;transform:none;stroke-dashoffset:0}}.section{padding-block:var(--space-6)}.section--paper{background:var(--paper);color:var(--ink)}.section--paper h2,.section--paper h3{color:var(--ink)}.section--paper p{color:var(--ink-muted)}.section--paper a{color:var(--weld)}.section__kicker{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.24em;font-size:.9rem;color:var(--brass);margin-bottom:var(--space-1)}.section--paper .section__kicker{color:var(--weld)}.section__intro{max-width:44rem;font-size:1.15rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1px;background:var(--line);border-block:1px solid var(--line)}.stats__item{background:var(--steel-950);padding:var(--space-4) var(--space-3);text-align:center}.stats__value{display:block;font-family:var(--font-display);font-size:2.6rem;font-weight:700;color:var(--weld-glow);line-height:1}.stats__label{display:block;margin-top:var(--space-1);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:var(--space-3);margin-top:var(--space-4)}.card{background:var(--steel-800);border:1px solid var(--line);border-top:3px solid var(--weld);padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.section--paper .card{background:#fff;border-color:var(--line-on-paper)}.card__icon{width:3rem;height:3rem;color:var(--weld)}.card__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.card h3{text-transform:uppercase;margin:0}.card p{color:var(--text-muted);margin:0;flex-grow:1}.section--paper .card p{color:var(--ink-muted)}.card__link{font-weight:600;text-decoration:none;color:var(--weld-glow);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em}.section--paper .card__link{color:var(--weld)}.card__link:after{content:" →"}.service{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-5);border-top:1px solid var(--line-on-paper);scroll-margin-top:calc(var(--header-height) + 1rem)}.service:first-of-type{border-top:0}.service__list{margin:0;padding:0;list-style:none}.service__list li{position:relative;padding-left:1.8rem;margin-bottom:var(--space-1);color:var(--ink-muted)}.service__list li:before{content:"";position:absolute;left:0;top:.52em;width:.9rem;height:.5rem;border-left:2px solid var(--weld);border-bottom:2px solid var(--weld);transform:rotate(-45deg)}.service__aside-title{font-size:1rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink)}@media(max-width:52rem){.service{grid-template-columns:1fr}}.timeline{list-style:none;margin:var(--space-4) 0 0;padding:0;border-left:2px solid var(--line-on-paper)}.timeline li{position:relative;padding:0 0 var(--space-4) var(--space-4)}.timeline li:before{content:"";position:absolute;left:-8px;top:.4rem;width:14px;height:14px;border-radius:50%;background:var(--weld);box-shadow:0 0 0 4px color-mix(in srgb,var(--weld) 22%,transparent)}.timeline__year{font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--ink);display:block}.locations{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--space-3);margin-top:var(--space-4)}.location{border:1px solid var(--line);padding:var(--space-3);background:var(--steel-800)}.location h3{margin-bottom:var(--space-1)}.location p{color:var(--text-muted);margin:0;font-size:.98rem}.project{padding-block:var(--space-4);border-top:1px solid var(--line-on-paper)}.project:first-of-type{border-top:0}.project h3{text-transform:uppercase}.project__gallery{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.project__gallery a{display:block;width:9.5rem;aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--line-on-paper)}.project__gallery img{width:100%;height:100%;object-fit:cover;filter:grayscale(.9) sepia(.3) hue-rotate(-16deg) saturate(1.5) contrast(1.05);transition:filter .3s ease,transform .3s ease}.project__gallery a:hover img,.project__gallery a:focus-visible img{filter:none;transform:scale(1.05)}.photo-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-1);margin-top:var(--space-4)}.photo-strip img{width:100%;aspect-ratio:4 / 3;object-fit:cover;filter:grayscale(.9) sepia(.3) hue-rotate(-16deg) saturate(1.5)}.lightbox{border:1px solid var(--line);background:var(--steel-950);color:var(--text);padding:var(--space-2);max-width:min(92vw,44rem)}.lightbox::backdrop{background:#080a0dd9}.lightbox__figure{margin:0}.lightbox__figure img{width:100%;max-height:70vh;object-fit:contain;image-rendering:auto}.lightbox__figure figcaption{padding-top:var(--space-1);color:var(--text-muted);font-size:.95rem}.lightbox__controls{display:flex;justify-content:flex-end;gap:var(--space-1);margin-top:var(--space-1)}.lightbox__controls button{background:var(--steel-800);color:var(--text);border:1px solid var(--line);font-size:1.3rem;line-height:1;padding:.4rem .9rem;cursor:pointer}.lightbox__controls button:hover,.lightbox__controls button:focus-visible{background:var(--steel-700)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--space-3);margin-top:var(--space-4)}.contact-card{background:#fff;border:1px solid var(--line-on-paper);border-top:3px solid var(--weld);padding:var(--space-3)}.contact-card address{font-style:normal;color:var(--ink-muted)}.contact-card img{width:6rem;border-radius:50%;aspect-ratio:1;object-fit:cover;margin-bottom:var(--space-2)}.contact-card .role{text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;color:var(--ink-muted);margin-bottom:.2rem}.map-embed{margin-top:var(--space-4);border:1px solid var(--line-on-paper)}.map-embed iframe{display:block;width:100%;height:22rem;border:0}.cta-banner{background:radial-gradient(ellipse 70% 120% at 85% 50%,color-mix(in srgb,var(--weld) 28%,transparent) 0%,transparent 65%),var(--steel-950);border-block:1px solid var(--line);padding-block:var(--space-5);text-align:center}.cta-banner h2{max-width:26ch;margin-inline:auto}.cta-banner p{color:var(--text-muted);max-width:40rem;margin-inline:auto}.cta-banner .btn{margin-top:var(--space-2)}
