:root{--black: #000000;--white: #ffffff;--blue: #3ab0ff;--yellow: #f3da0b;--ink: #101418;--muted: #5f6870;--line: #dce3e8;--panel: #f5f7f8;--blue-dark: #0f2533;--max: 1280px;--max-wide: 1480px;--space-section: clamp(4.75rem, 6vw, 5.5rem);--space-heading: 2rem;--space-card: 1.5rem;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);line-height:1.58}img{max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:1000;padding:.65rem .9rem;background:var(--white);color:var(--black);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:20;background:var(--black);border-bottom:3px solid var(--blue)}.header-inner,.footer-inner,.section-inner,.hero-inner{width:min(calc(100% - 3rem),var(--max));margin-inline:auto}.section-inner-wide{width:min(calc(100% - 3rem),var(--max-wide));max-width:none}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.logo-link{display:inline-flex;align-items:center;flex:0 0 auto}.site-logo{display:block;width:225px;height:auto}.nav-toggle{display:none}.site-header nav ul{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem 1.6rem;margin:0;padding:0;list-style:none}.site-header nav a{display:inline-block;padding:.6rem 0;border-bottom:2px solid transparent;color:#dce4e8;font-size:.78rem;font-weight:700;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}.site-header nav a:hover,.site-header nav a:focus-visible,.site-header nav a.is-active{border-bottom-color:var(--blue);color:var(--white)}.hero{position:relative;min-height:560px;display:grid;align-items:center;color:var(--white);background:linear-gradient(90deg,#000000e0,#000000b8 52%,#00000080),url(/images/projects/machining-workholding.webp) center 58% / cover no-repeat}.hero:after{content:"";position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,var(--blue) 0 78%,var(--yellow) 78% 100%)}.hero-inner{padding-block:6rem}.hero-logo{display:block;width:min(480px,80vw);margin-bottom:1.75rem}.hero h1{max-width:800px;margin:0 0 1rem;font-size:clamp(2.15rem,4.5vw,4.6rem);line-height:1.02;letter-spacing:-.035em}.hero p{max-width:760px;margin:0 0 2rem;color:#d9e1e5;font-size:clamp(1rem,1.7vw,1.22rem);line-height:1.55}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.75rem 1.15rem;border:2px solid var(--blue);background:var(--blue);color:var(--black);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;cursor:pointer}.button:hover,.button:focus-visible{background:var(--white);border-color:var(--white)}.button-dark{border-color:var(--blue)}.section{padding:var(--space-section) 0;border-bottom:1px solid var(--line)}.section-heading{margin-bottom:var(--space-heading)}.section-heading-inline,.process-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem}.section-heading-inline>p,.process-heading>p{max-width:560px;margin:0 0 .25rem;color:var(--muted);line-height:1.5}.eyebrow{margin:0 0 .55rem;color:#267ca8;font-size:.75rem;font-weight:800;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}.eyebrow-light{color:#d6efff}.section h2{margin:0;font-size:clamp(2rem,4vw,3.7rem);line-height:1.07;letter-spacing:-.035em}.section h3{line-height:1.25;letter-spacing:-.01em}.about{background:linear-gradient(#3ab0ff14 1px,transparent 1px),linear-gradient(90deg,#3ab0ff14 1px,transparent 1px),var(--panel);background-size:56px 56px}.about-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2rem,5vw,5rem);align-items:stretch}.about-copy{align-self:center;max-width:620px}.about-copy h3{margin:0 0 1rem;font-size:clamp(1.35rem,2vw,1.8rem)}.about-copy p{margin:0 0 1rem;color:#3f474d;line-height:1.62}.text-link{display:inline-block;margin-top:.75rem;border-bottom:2px solid var(--blue);font-size:.82rem;font-weight:800;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.about-photo{min-height:360px;margin:0;border-left:5px solid var(--blue);background:#e8ecef}.about-photo img{display:block;width:100%;height:100%;min-height:360px;object-fit:cover}.process{background:linear-gradient(110deg,#167eae,#3ab0ff);color:var(--white)}.process-heading{margin-bottom:var(--space-heading)}.process-heading h2{max-width:680px}.process-heading>p{color:#e5f5ff}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgb(255 255 255 / .45);background:var(--white)}.process-step{min-height:200px;display:grid;grid-template-rows:auto minmax(2.5rem,auto) 1fr;align-content:start;padding:var(--space-card);color:var(--ink);border-right:1px solid var(--line)}.process-step:last-child{border-right:0}.process-step>span,.service-number{display:block;margin-bottom:1.1rem;color:#267ca8;font-size:.72rem;font-weight:800;letter-spacing:.12em}.process-step h3{margin:0 0 .6rem;font-size:1rem}.process-step p{margin:0;color:#555f66;font-size:.9rem;line-height:1.55}.services{background:var(--white)}.service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #2a2f33;border-bottom:4px solid var(--blue)}.service-card{position:relative;min-height:280px;padding:1.65rem 1.35rem;background:#151718;color:var(--white);border-right:1px solid #34393c}.service-card:last-child{border-right:0}.service-card-accent:after{content:"";position:absolute;right:0;bottom:-4px;left:0;height:4px;background:var(--yellow)}.service-number{color:#7c8b93}.service-icon{width:34px;height:34px;margin-bottom:1.5rem;fill:var(--blue)}.service-card h3{margin:0 0 .8rem;font-size:1.1rem}.service-card p{margin:0;color:#b9c1c5;font-size:.9rem;line-height:1.55}.capabilities{background:var(--panel)}.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #bfc9cf}.capability-grid article{padding:1.5rem 1.35rem;border-right:1px solid #cfd7dc}.capability-grid article:last-child{border-right:0}.capability-grid h3{margin:0 0 .55rem;font-size:1rem}.capability-grid p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.projects{overflow:hidden;background:var(--white)}.projects-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-color:var(--blue) #e5ebef}.projects-position{display:none}.project-slide{position:relative;min-width:0;height:clamp(240px,24vw,360px);padding:0;overflow:hidden;border:0;background:#e8ecee;cursor:zoom-in}.projects .section-heading-inline>p{max-width:420px}.project-slide img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.project-slide:hover img,.project-slide:focus-visible img{transform:scale(1.015)}.project-slide:focus-visible{outline:4px solid var(--yellow);outline-offset:-4px}.industries{background:var(--white)}.industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.industry-grid article{min-height:140px;padding:1.35rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.industry-grid article:nth-child(2){border-top:3px solid var(--yellow)}.industry-grid h3{margin:0 0 .55rem;font-size:1rem}.industry-grid p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.contact{padding:0;background:var(--white)}.contact-shell{width:100%;max-width:none;display:grid;grid-template-columns:minmax(360px,.95fr) minmax(0,1.65fr)}.contact-intro{padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,5rem);background:linear-gradient(135deg,#0b2534,#1682b4);color:var(--white);border-top:6px solid var(--yellow)}.contact-intro h2{max-width:560px;font-size:clamp(2.4rem,4.5vw,4.75rem)}.contact-intro>p:not(.eyebrow){max-width:540px;margin:1.4rem 0 2rem;color:#e1f2fb;line-height:1.58}.contact-intro dl{display:grid;gap:1rem;margin:0}.contact-intro dl div{border-top:1px solid rgb(255 255 255 / .35);padding-top:.75rem}.contact-intro dt{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.contact-intro dd{margin:.2rem 0 0;color:#e9f6fc}.contact-form{align-self:stretch;padding:clamp(3rem,6vw,6rem) clamp(2rem,6vw,6rem);background:var(--white)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.25rem}.field-grid label{display:grid;gap:.4rem}.field-grid label>span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.field-wide{grid-column:1 / -1}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #c8d1d6;border-radius:0;background:var(--white);color:var(--ink)}.contact-form input,.contact-form select{min-height:44px;padding:.65rem .75rem}.contact-form textarea{min-height:150px;padding:.75rem;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgb(58 176 255 / .25);border-color:var(--blue)}.file-upload-label{padding-top:.35rem}.file-upload-label small{color:var(--muted);font-size:.78rem;line-height:1.5}.button-submit{margin-top:1.3rem}.button-submit:disabled{cursor:wait;opacity:.65}.form-privacy-note{margin:.9rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.form-privacy-note a{color:inherit;font-weight:700}.form-status{margin-bottom:1.25rem;padding:.85rem 1rem;border-left:4px solid var(--blue);background:#eef7fb;color:var(--ink)}.form-status[data-kind=error],.field-error:not(:empty){color:#a32222}.field-error:empty{display:none}.field-error{font-size:.78rem;line-height:1.4}.turnstile-wrap{min-height:65px}.enquiry-success{align-self:stretch;padding:clamp(3rem,6vw,6rem) clamp(2rem,6vw,6rem);background:var(--white)}.site-footer{background:var(--black);color:#aab3b8;border-top:4px solid var(--blue)}.footer-inner{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer-logo{display:block;width:210px;height:auto}.footer-inner p{margin:0;font-size:.82rem;text-align:right}.footer-link{color:var(--white);font-size:.82rem;font-weight:700}.privacy-hero{padding:clamp(4.75rem,8vw,7rem) 0;color:var(--white);background:linear-gradient(90deg,#000000e6,#000000bf 58%,#0009),url(/images/projects/machining-workholding.webp) center / cover no-repeat}.privacy-hero h1{max-width:12ch;margin:0;font-size:clamp(2.5rem,6vw,4.7rem);line-height:1.04;letter-spacing:-.04em;text-transform:uppercase}.privacy-hero p:last-child{max-width:48rem;margin:1.25rem 0 0;color:#dce4e8}.privacy-content{padding:var(--space-section) 0}.privacy-content-inner{display:grid;gap:2.5rem}.privacy-section{max-width:52rem;padding-top:1.6rem;border-top:1px solid var(--line)}.privacy-section h2{margin:0 0 .75rem;font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.2;letter-spacing:-.025em}.privacy-section p,.privacy-section li{color:var(--muted)}.privacy-section p{margin:0}.privacy-section p+p,.privacy-section ul+p{margin-top:1rem}.privacy-section ul{margin:.9rem 0 0;padding-left:1.25rem}.privacy-section a{color:var(--blue-dark);font-weight:700}.lightbox-open{overflow:hidden}.project-lightbox{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:4rem clamp(1rem,4vw,4rem);background:#000000e6}.project-lightbox[hidden]{display:none}.lightbox-figure{margin:0}.lightbox-image{display:block;width:100%;max-height:78vh;object-fit:contain}.lightbox-figure figcaption{margin-top:.8rem;color:var(--white);text-align:center}.lightbox-close,.lightbox-prev,.lightbox-next{border:1px solid #66727a;background:var(--black);color:var(--white);cursor:pointer}.lightbox-prev,.lightbox-next{width:44px;height:44px;font-size:1.2rem}.lightbox-close{position:absolute;top:1.25rem;right:1.25rem;min-height:38px;padding:.5rem .75rem}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover,.lightbox-close:focus-visible,.lightbox-prev:focus-visible,.lightbox-next:focus-visible{border-color:var(--blue)}@media(max-width:1120px){.service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.service-card{grid-column:span 2}.service-card:nth-child(n+4){grid-column:span 3}.service-card:nth-child(3){border-right:0}.service-card:nth-child(n+4){border-top:1px solid #34393c}.service-card:nth-child(5){border-right:0}.process-grid,.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-step:nth-child(2),.capability-grid article:nth-child(2){border-right:0}.process-step:nth-child(-n+2),.capability-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:900px){:root{--space-section: 4.5rem}.header-inner{min-height:76px}.site-logo{width:190px}.site-header nav ul{gap:.25rem .9rem}.site-header nav a{font-size:.7rem}.projects-strip{width:100vw;margin-left:calc(50% - 50vw);display:flex;gap:.75rem;overflow-x:auto;padding:0 calc((100vw - min(76vw,520px))/2) .75rem;scroll-padding-inline:calc((100vw - min(76vw,520px))/2);scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-x pinch-zoom}.projects-strip::-webkit-scrollbar{display:none}.project-slide{flex:0 0 min(76vw,520px);height:auto;aspect-ratio:4 / 3;opacity:.7;scroll-snap-align:center;scroll-snap-stop:always;transform:perspective(900px) scale(.91);transition:opacity .18s ease,transform .18s ease}.project-slide.is-before{transform:perspective(900px) rotateY(9deg) scale(.91);transform-origin:right center}.project-slide.is-after{transform:perspective(900px) rotateY(-9deg) scale(.91);transform-origin:left center}.project-slide.is-active{z-index:1;opacity:1;transform:perspective(900px) rotateY(0) scale(1)}.projects-position{display:block;width:max-content;margin:.8rem 0 0 auto;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.12em}.section-heading-inline,.process-heading{align-items:start;flex-direction:column;gap:1rem}.section-heading-inline>p,.process-heading>p{max-width:620px}.about-grid,.contact-shell{grid-template-columns:1fr}.about-photo{min-height:0;aspect-ratio:4 / 3}.about-photo img{min-height:0}.industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){:root{--space-section: 3.5rem;--space-heading: 1.65rem}html{scroll-padding-top:72px}.header-inner{position:relative;min-height:68px;gap:1rem}.site-logo{width:180px}.nav-toggle{width:44px;height:44px;display:grid;flex:0 0 auto;place-content:center;gap:5px;padding:0;border:1px solid #556068;background:var(--black);color:var(--white);cursor:pointer}.nav-toggle span{width:20px;height:2px;display:block;background:currentColor}.nav-toggle:hover,.nav-toggle:focus-visible,.nav-toggle[aria-expanded=true]{border-color:var(--blue)}.nav-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.site-header nav{position:absolute;top:100%;left:50%;width:100vw;padding:.55rem 1.5rem .75rem;border-bottom:3px solid var(--blue);background:var(--black);transform:translate(-50%)}.site-header nav[hidden]{display:none}.site-header nav ul{max-width:var(--max);margin-inline:auto;flex-direction:column;justify-content:flex-start;gap:0}.site-header nav a{width:100%;padding:.65rem 0}.hero{min-height:470px}.hero-inner{padding-block:3.75rem}.hero-logo{width:min(270px,76vw);margin-bottom:1.35rem}.hero h1{max-width:330px;font-size:2rem;line-height:1.04}.hero p{margin-bottom:1.6rem;font-size:.98rem}.section h2{font-size:clamp(1.85rem,8vw,2.25rem);line-height:1.08}.process-grid,.service-grid,.capability-grid,.industry-grid,.field-grid{grid-template-columns:1fr}.process-step,.service-card,.capability-grid article{border-right:0;border-bottom:1px solid var(--line)}.process-step{min-height:170px;padding:1.3rem}.service-grid .service-card{min-height:190px;grid-column:auto;padding:1.35rem}.service-number,.process-step>span{margin-bottom:.8rem}.service-icon{width:30px;height:30px;margin-bottom:1rem}.capability-grid article,.industry-grid article{min-height:0;padding:1.2rem}.contact{padding:0}.contact-intro,.contact-form{padding:2.75rem 1.5rem}.footer-inner{align-items:flex-start;flex-direction:column;padding:2rem 0;gap:1rem}.contact-intro h2{font-size:2.4rem}.service-card:nth-child(3){border-right:0}.field-wide{grid-column:auto}.footer-inner{padding-block:2rem;align-items:flex-start;flex-direction:column}.footer-inner p{text-align:left}.project-lightbox{grid-template-columns:42px minmax(0,1fr) 42px;padding-inline:.6rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-slide img{transition:none}.project-slide,.project-slide.is-before,.project-slide.is-after,.project-slide.is-active{transition:none;transform:none}}
