@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');

:root { --black:#050608; --panel:#0a0d11; --panel-2:#0e141b; --blue:#1685ee; --blue-light:#55adff; --white:#f3f5f7; --muted:#929ca7; --line:#29333d; --page:1280px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--white); background:var(--black); font-family:Inter,Arial,sans-serif; line-height:1.6; }
body::before { position:fixed; inset:0; z-index:-1; content:""; opacity:.28; background:radial-gradient(circle at 70% 5%,#18324d 0,transparent 27%),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px); }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3,.brand-copy,.number { font-family:"Barlow Condensed","Arial Narrow",sans-serif; }
p { color:var(--muted); }

.site-header { position:sticky; top:0; z-index:50; display:grid; grid-template-columns:210px 1fr auto; align-items:center; min-height:134px; padding:0 max(24px,calc((100% - var(--page))/2)); border-bottom:1px solid #1d79cf; background:linear-gradient(90deg,rgba(4,6,8,.98),rgba(9,15,21,.96) 55%,rgba(5,7,10,.98)); box-shadow:0 12px 28px rgba(0,0,0,.24); backdrop-filter:blur(15px); }
.brand { position:relative; z-index:1; display:grid; place-items:center; width:164px; height:132px; color:inherit; text-decoration:none; }
.brand::before { position:absolute; inset:10px 0; border-left:1px solid rgba(76,126,165,.42); content:""; background:linear-gradient(180deg,rgba(22,133,238,.1),transparent 70%); }
.brand img { position:relative; width:128px; height:128px; object-fit:contain; filter:drop-shadow(0 8px 15px rgba(0,0,0,.65)); }
.brand-copy { display:flex; flex-direction:column; padding-left:15px; border-left:1px solid #4c5660; }
.brand-copy strong { font-size:31px; font-weight:900; letter-spacing:.06em; line-height:.9; }
.brand-copy strong span { color:var(--blue-light); }
.brand-copy small { margin-top:9px; color:#c2c8ce; font:600 8px/1 Inter,sans-serif; letter-spacing:.23em; }
.site-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; width:100%; border-right:1px solid rgba(22,133,238,.55); border-left:1px solid rgba(22,133,238,.55); transform:translateX(-24px); }
.site-nav button,.menu-toggle { border:0; border-bottom:2px solid transparent; padding:20px 8px 18px; color:#dce3e8; background:transparent; font-size:16px; font-weight:700; letter-spacing:.035em; text-transform:uppercase; transition:color .2s ease,border-color .2s ease; }
.site-nav button:not(:last-child) { border-right:1px solid rgba(22,133,238,.55); }
.site-nav button:hover { border-bottom-color:var(--blue); color:#fff; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:34px; padding-left:10px; }
.phone { position:relative; display:flex; flex-direction:column; align-items:center; padding-bottom:8px; color:var(--white); text-align:center; text-decoration:none; font-family:"Barlow Condensed",sans-serif; font-size:20px; font-weight:700; line-height:1.05; }
.phone::after { position:absolute; right:0; bottom:-10px; left:0; height:2px; content:""; background:var(--blue); transform:scaleX(0); transform-origin:center; transition:transform .2s ease; }
.phone:hover::after,.phone:focus-visible::after { transform:scaleX(1); }
.phone small { display:block; margin-bottom:5px; color:var(--blue-light); font:700 10px/1 Inter,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.quote-button,.primary { border:1px solid var(--blue-light); padding:15px 20px; color:white; background:linear-gradient(135deg,#0753b5,#087be9); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; box-shadow:inset 0 0 16px rgba(94,181,255,.16),0 8px 20px rgba(0,79,171,.24); }
.quote-button { background:#083878; }
.quote-button span,.primary span { margin-left:16px; font-size:17px; }
.menu-toggle { display:none; border:1px solid var(--line); }

main { overflow:hidden; }
.hero { display:grid; grid-template-columns:56% 44%; width:min(var(--page),100%); min-height:680px; margin:auto; border-right:1px solid var(--line); border-left:1px solid var(--line); }
.hero-copy { display:flex; flex-direction:column; justify-content:center; min-height:680px; padding:78px 64px 54px; border-right:1px solid var(--line); background:linear-gradient(125deg,rgba(14,20,27,.96),rgba(6,8,11,.98)); }
.eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:21px; color:var(--blue-light); font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow span { width:29px; height:2px; background:var(--blue); }
.address-copy { width:fit-content; border:0; padding:0; color:var(--blue-light); background:transparent; text-align:left; }
.address-copy .address-copy-label { width:auto; height:auto; background:transparent; }
.address-copy:hover .address-copy-label,.address-copy:focus-visible .address-copy-label { color:#fff; }
.address-copy:focus-visible { outline:1px solid var(--blue-light); outline-offset:6px; }
h1 { max-width:720px; margin-bottom:28px; font-size:clamp(62px,6.3vw,96px); font-weight:800; line-height:.83; letter-spacing:-.035em; text-transform:uppercase; }
h1 em,h2 em { color:transparent; font-style:normal; -webkit-text-stroke:1px #8493a1; }
.hero-intro { max-width:620px; margin-bottom:32px; font-size:17px; }
.hero-actions { display:flex; align-items:center; gap:25px; }
.primary { padding:16px 22px; }
.text-link,.service-grid button { border:0; border-bottom:1px solid #54616d; padding:10px 0; color:#d9dee2; background:transparent; font-size:12px; }
.hero-trust { position:relative; display:grid; grid-template-columns:repeat(3,1fr); margin-top:54px; border-bottom:1px solid #1a222b; background:rgba(6,10,14,.55); }
.hero-trust::before { position:absolute; top:0; right:0; left:-64px; height:1px; content:""; background:var(--line); }
.hero-trust::after { position:absolute; right:0; bottom:-1px; left:-64px; height:1px; content:""; background:#1a222b; }
.hero-trust div { position:relative; min-height:91px; padding:20px 18px 16px; border-right:1px solid var(--line); }
.hero-trust div:last-child { border-right:0; }
.hero-trust div::before { position:absolute; top:-1px; left:18px; width:28px; height:2px; content:""; background:var(--blue); }
.hero-trust strong { display:block; color:#edf3f7; font-family:"Barlow Condensed"; font-size:29px; font-weight:700; line-height:1; }
.hero-trust span { display:block; margin-top:8px; color:#87939e; font-size:9px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.hero-stage { position:relative; overflow:hidden; background:#091017; }
.hero-machine-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; filter:saturate(.78) contrast(1.08); transition:opacity .8s ease; }
.hero-machine-image.is-active { opacity:1; }
.hero-image-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,7,11,.08),rgba(3,7,11,.18) 55%,rgba(3,7,11,.78)); }
.hero-stage-label { position:absolute; right:34px; bottom:51px; left:34px; display:flex; flex-direction:column; gap:3px; }
.hero-stage-label span { color:var(--blue-light); font-size:9px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.hero-stage-label strong { color:#f2f6f8; font-family:"Barlow Condensed"; font-size:30px; font-weight:700; line-height:1; text-transform:uppercase; }
.hero-stage-progress { position:absolute; right:34px; bottom:28px; left:34px; display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.hero-stage-progress span { height:2px; background:rgba(255,255,255,.35); transition:background .25s ease; }
.hero-stage-progress .is-active { background:var(--blue-light); }

@media(min-width:1101px) {
  .hero-stage { z-index:1; overflow:visible; }
  .hero-machine-image { left:-65px; width:calc(100% + 65px); }
  .hero-image-overlay { left:-65px; }
}

.client-strip { display:grid; grid-template-columns:260px 1fr; width:min(var(--page),100%); min-height:102px; margin:auto; padding:0; border:1px solid var(--line); background:#080b0f; }
.client-strip p { display:flex; flex-direction:column; align-items:center; justify-content:center; margin:0; padding:20px 30px; border-right:1px solid var(--line); color:#dde4e9; font-family:"Barlow Condensed"; font-size:22px; font-weight:700; letter-spacing:.04em; line-height:1.05; text-align:center; text-transform:uppercase; }
.client-strip p span { margin-bottom:8px; color:var(--blue-light); font-family:Inter,Arial,sans-serif; font-size:9px; font-weight:700; letter-spacing:.17em; }
.client-strip div { display:grid; grid-template-columns:repeat(5,1fr); }
.client-strip div span { display:flex; align-items:center; justify-content:center; gap:9px; padding:16px 10px; border-right:1px solid var(--line); color:#d8e0e5; font-family:"Barlow Condensed"; font-size:18px; font-weight:700; letter-spacing:.05em; text-align:center; text-transform:uppercase; transition:color .2s ease,background .2s ease; }
.client-strip div span:last-child { border-right:0; }
.client-strip div span:hover { color:#fff; background:#0e1923; }
.client-strip small { color:var(--blue-light); font:700 9px/1 Inter,Arial,sans-serif; letter-spacing:.08em; }

.section { width:min(var(--page),100%); margin:auto; padding:100px 64px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); border-left:1px solid var(--line); }
.section-intro { display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:end; margin-bottom:52px; }
.section-intro .eyebrow { grid-column:1/-1; margin-bottom:-20px; }
h2 { margin-bottom:0; font-size:clamp(44px,5vw,70px); font-weight:700; line-height:.95; letter-spacing:-.025em; text-transform:uppercase; }
.section-intro>p:last-child { max-width:480px; margin:0; }
.services { background:#0b0e12; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-grid article { position:relative; min-height:265px; padding:28px; overflow:hidden; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#090c10; transition:.25s ease; }
.service-grid article:hover { position:relative; z-index:2; border-color:var(--blue); background:#0c131a; transform:translateY(-4px); }
.service-grid .service-feature { grid-row:span 2; min-height:530px; background:linear-gradient(145deg,#0b1823,#080b0f); }
.service-media { position:relative; height:96px; margin:-28px -28px 24px; overflow:hidden; border-bottom:1px solid var(--line); background:#101820; }
.service-media::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(4,8,12,.38),rgba(4,8,12,.05)); }
.service-media img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.08); transition:transform .4s ease,filter .4s ease; }
.service-grid article:hover .service-media img { transform:scale(1.05); filter:saturate(1) contrast(1.08); }
.service-media .number { position:absolute; z-index:1; top:14px; left:28px; color:var(--blue-light); font-size:11px; }
.service-feature .service-media { height:244px; }
.number { color:var(--blue-light); font-size:13px; letter-spacing:.08em; }
.service-grid h3 { margin:0 0 13px; font-size:30px; line-height:1; text-transform:uppercase; }
.service-feature h3 { font-size:40px; }
.service-grid p { font-size:13px; }
.service-grid button { margin-top:20px; color:var(--blue-light); }
.service-grid button span { margin-left:13px; }

.capabilities { display:grid; grid-template-columns:35% 65%; padding:0; background:#070a0d; }
.capability-heading { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:70px 48px; border-right:1px solid var(--line); background:linear-gradient(145deg,#0f1b26,#070a0d); }
.capability-heading h2 { font-size:55px; }
.capability-heading>p:not(.eyebrow) { margin:25px 0; font-size:13px; }
.capability-lists { display:grid; grid-template-columns:repeat(3,1fr); }
.capability-lists article { padding:70px 28px; border-right:1px solid var(--line); }
.capability-lists article:last-child { border:0; }
.capability-lists article>p { color:var(--blue-light); font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.capability-lists h3 { margin:35px 0 25px; font-size:30px; text-transform:uppercase; }
ul { padding:0; list-style:none; }
li { position:relative; margin:0; padding:13px 0 13px 17px; border-top:1px solid #202a33; color:#aeb6bd; font-size:12px; }
li::before { position:absolute; top:20px; left:0; width:5px; height:5px; content:""; background:var(--blue); }

.process { background:#0c1015; }
.section-intro.compact { display:block; }
.section-intro.compact .eyebrow { margin-bottom:20px; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.process-grid li { display:block; min-height:250px; padding:30px 25px; border-right:1px solid var(--line); }
.process-grid li:last-child { border-right:0; }
.process-grid li::before { display:none; }
.process-grid>li>span { color:var(--blue-light); font-family:"Barlow Condensed"; font-size:14px; }
.process-grid h3 { margin:70px 0 10px; font-size:25px; text-transform:uppercase; }
.process-grid p { margin:0; font-size:12px; }

.about { display:grid; grid-template-columns:42% 58%; padding:0; background:#07090c; }
.about-mark { position:relative; display:grid; place-items:center; min-height:600px; overflow:hidden; border-right:1px solid var(--line); background:radial-gradient(circle,#15283a,#080b0e 60%); }
.about-mark::after { position:absolute; inset:9%; border:1px solid rgba(63,127,183,.25); border-radius:50%; content:""; }
.about-mark img { position:absolute; inset:0; z-index:2; width:100%; height:100%; object-fit:cover; object-position:center; filter:brightness(.85) saturate(.9); }
.about-copy { display:flex; flex-direction:column; justify-content:center; padding:80px 70px; }
.about-copy .lead { margin-top:35px; color:#d2d8dd; font-size:19px; }
.about-copy>p { max-width:650px; }
.about-values { display:flex; gap:8px; margin-top:25px; }
.about-values span { border:1px solid var(--line); padding:9px 12px; color:#aab4bc; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }

.contact { display:grid; grid-template-columns:42% 58%; gap:70px; background:linear-gradient(125deg,#0d1d2b,#090c10 45%); }
.contact-copy h2 { margin-bottom:28px; }
address { margin-top:35px; padding-left:18px; border-left:2px solid var(--blue); color:#89949f; font-size:12px; font-style:normal; }
address strong { color:#dce1e5; } address a { color:var(--blue-light); }
form { padding:35px; border:1px solid var(--line); background:rgba(5,7,9,.75); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
label { display:flex; flex-direction:column; gap:7px; margin-bottom:16px; color:#aeb7bf; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
input,textarea { width:100%; border:1px solid #303b45; outline:0; padding:13px; color:white; background:#0b1015; resize:vertical; }
input:focus,textarea:focus { border-color:var(--blue); }
.form-status { min-height:20px; margin:13px 0 0; color:var(--blue-light); font-size:12px; }

.site-footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:25px; padding:38px max(24px,calc((100% - var(--page))/2)); border-top:3px solid var(--blue); background:#030405; }
.footer-brand { display:flex; align-items:center; gap:10px; color:#e4e8eb; text-decoration:none; font-family:"Barlow Condensed"; font-size:22px; font-weight:800; letter-spacing:.08em; }
.footer-brand img { width:124px; height:124px; object-fit:contain; }.footer-brand small { display:block; color:#83909b; font:6px Inter; letter-spacing:.15em; }
.site-footer p { margin:0; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }.site-footer>div { display:flex; flex-direction:column; text-align:right; font-size:11px; }.site-footer a { color:var(--blue-light); }

@media(max-width:1100px){
  .site-header{grid-template-columns:1fr auto;min-height:112px;padding:6px 20px}.brand{height:100px}.brand::before{inset:0;border-left:0}.brand img{width:98px;height:98px}.menu-toggle{display:block}.site-nav{position:absolute;top:100%;right:0;left:0;display:none;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--blue);background:#06080b}.site-nav.open{display:flex}.header-actions{display:none}
  .hero{grid-template-columns:1fr}.hero-stage{min-height:540px}.client-strip{grid-template-columns:1fr;gap:0}.client-strip p{border-right:0;border-bottom:1px solid var(--line)}.capabilities{grid-template-columns:1fr}.capability-heading{border-right:0;border-bottom:1px solid var(--line)}
}
@media(max-width:760px){
  .brand{width:124px;height:94px}.brand img{width:92px;height:92px}.brand-copy strong{font-size:24px}.brand-copy small{font-size:6px}.site-header{min-height:104px}.hero-copy{min-height:0;padding:70px 25px 45px}h1{font-size:56px}.hero-trust{gap:15px}.hero-trust strong{font-size:18px}.hero-stage{min-height:430px}.client-strip{padding:0}.client-strip p{padding:20px 25px}.client-strip div{display:grid;grid-template-columns:1fr 1fr;gap:0}.client-strip div span{min-height:68px;border-bottom:1px solid var(--line)}
  .hero-stage-label{right:25px;bottom:45px;left:25px}.hero-stage-progress{right:25px;bottom:25px;left:25px}
  .section{padding:72px 25px}.section-intro{display:block}.section-intro .eyebrow{margin-bottom:20px}.section-intro h2{margin-bottom:25px}.service-grid{grid-template-columns:1fr}.service-grid .service-feature{grid-row:auto;min-height:auto}.capability-heading{padding:65px 25px}.capability-lists{grid-template-columns:1fr}.capability-lists article{padding:40px 25px;border-right:0;border-bottom:1px solid var(--line)}.process-grid{grid-template-columns:1fr 1fr}.process-grid li{min-height:210px;border-bottom:1px solid var(--line)}.process-grid h3{margin-top:40px}.about{grid-template-columns:1fr}.about-mark{min-height:420px;border-right:0;border-bottom:1px solid var(--line)}.about-copy{padding:65px 25px}.contact{grid-template-columns:1fr;gap:40px}.field-row{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}.site-footer>div{text-align:center}.about-values{flex-wrap:wrap}
}
@media(max-width:430px){.brand-copy{display:none}.hero-actions{align-items:stretch;flex-direction:column}.hero-trust{grid-template-columns:1fr}.hero-trust div{padding-bottom:12px}.process-grid{grid-template-columns:1fr}.machine-part{width:230px}}

