:root{--navy:#0e1a2e;--navy-2:#13223a;--navy-3:#1b2b45;--navy-line:#2a3d5c;--navy-rule:#22324d;--paper:#f3f6fa;--card:#ffffff;--card-line:#dfe5ee;--field-line:#c9d3e0;--ink:#0f172a;--muted:#4b5563;--on-navy:#f3f6fa;--on-navy-muted:#c3cddd;--on-navy-faint:#9fb0c8;--brass:#c9a46a;--brass-ink:#7a5a26;--head:"Sora",Inter,system-ui,sans-serif;--body:Inter,system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3{font-family:var(--head);font-weight:500;margin:0}p{margin:0}.wrap{max-width:1240px;margin:0 auto;padding:0 32px}@media (max-width:640px){.wrap{padding:0 20px}}.skip{position:absolute;left:-999px;top:8px;background:var(--brass);color:var(--navy);padding:10px 14px;border-radius:6px;z-index:10}.skip:focus{left:8px}:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.header{background:var(--navy);color:var(--on-navy);border-bottom:1px solid var(--navy-rule);position:relative;z-index:5}.headerInner{flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-top:18px;padding-bottom:18px}.brand,.headerInner{display:flex;align-items:center}.brand{gap:12px;text-decoration:none;font-family:var(--head);font-weight:600;font-size:20px}.nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;font-family:var(--mono);font-size:13px;letter-spacing:1px;text-transform:uppercase}.nav a{text-decoration:none}.nav a:not(.btn):hover,.nav a[aria-current=page]{color:var(--brass)}.menuButton{display:none;background:none;border:1px solid var(--navy-line);color:var(--on-navy);font-family:var(--mono);font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:10px 14px;border-radius:6px;min-height:44px;cursor:pointer}@media (max-width:820px){.menuButton{display:block}.nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 4px}.nav.isOpen{display:flex}.nav a:not(.btn){padding:14px 0;border-top:1px solid var(--navy-rule)}.nav .btn{margin-top:12px;text-align:center}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:6px;font-family:var(--body);font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;text-decoration:none;border:1px solid transparent;cursor:pointer}.btnBrass{background:var(--brass);color:var(--navy)!important}.btnBrass:hover{background:#d6b47f}.btnGhost{border-color:#3a4d6b;color:var(--on-navy);font-weight:500}.btnGhost:hover{border-color:var(--brass)}.btnNavy{background:var(--navy);color:var(--on-navy)}.btnNavy:hover{background:var(--navy-3)}.btnRow{display:flex;flex-wrap:wrap;gap:12px}.label{font-family:var(--mono);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--brass-ink)}.dark .label{color:var(--brass)}.dark{background:var(--navy);color:var(--on-navy)}.dark .body,.dark .lede{color:var(--on-navy-muted)}.section{padding-top:80px;padding-bottom:80px}@media (max-width:640px){.section{padding-top:56px;padding-bottom:56px}}.sectionHead{display:flex;flex-direction:column;gap:8px;margin-bottom:32px}.h2{font-size:clamp(2rem,4vw,2.5rem);line-height:1.1;letter-spacing:-.8px}.lede{font-size:17px;max-width:620px}.body,.lede{line-height:1.6;color:var(--muted)}.body{font-size:15px}.hero{padding-top:64px;padding-bottom:72px;display:flex;flex-direction:column;gap:40px}.heroTop{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:flex-end;justify-content:space-between}.heroCopy{flex:1 1 620px;flex-direction:column}.heroCopy,.heroSide{min-width:0;display:flex;gap:20px}.heroSide{flex:1 1 340px;flex-direction:column}.h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.05;letter-spacing:-1.5px}.ba{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:16px;gap:16px}.baItem{margin:0;gap:10px}.baItem,.photo{display:flex;flex-direction:column}.photo{position:relative;border-radius:10px;background:var(--navy-3);border:1px solid var(--navy-line);overflow:hidden;justify-content:space-between;padding:18px;min-height:340px;color:#a9b8cc;font-size:13px}.photo.light{background:#d3dce8;border-color:var(--card-line);color:var(--muted);min-height:220px}.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tag{position:relative;z-index:1;align-self:flex-start;font-family:var(--mono);font-size:12px;letter-spacing:2px;background:var(--navy);color:var(--on-navy-muted);padding:6px 10px;border-radius:4px}.tag.brass{background:var(--brass);color:var(--navy)}.after{border-color:var(--brass)}.caption{font-family:var(--mono);font-size:12px;color:var(--on-navy-faint)}.patch{display:flex;flex-direction:column;align-items:flex-start}.patch span:first-child{width:2px;height:48px;background:var(--brass);margin-left:5px}.patch span:last-child{width:12px;height:12px;border-radius:50%;border:2px solid var(--brass)}.grid4{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px}.grid3,.grid4{display:grid;gap:16px}.grid3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px}.card{background:var(--card);border:1px solid var(--card-line);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:14px;text-decoration:none}a.card:hover{border-color:var(--brass)}.cardTop{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:1.5px;color:var(--muted)}.led{width:8px;height:8px;border-radius:50%;background:var(--brass)}.cardTitle{font-size:21px;line-height:1.2}.more{margin-top:auto;font-family:var(--mono);font-size:12px;letter-spacing:1.5px;color:var(--brass-ink);text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px}.chip{border:1px solid var(--field-line);border-radius:6px;padding:9px 14px;font-size:14px}.chipsLabel{font-family:var(--mono);font-size:12px;letter-spacing:2px;color:var(--muted);margin-right:6px}.rack{list-style:none;margin:0;padding:0;flex-direction:column;gap:10px}.rack,.unit{display:flex}.unit{background:var(--navy-2);border:1px solid var(--navy-line);border-radius:6px;padding:20px 24px;flex-wrap:wrap;gap:12px 28px;align-items:center}.screw{width:10px;height:10px;border-radius:50%;background:#3a4d6b;flex:none}.unitNo{font-family:var(--mono);font-size:13px;color:var(--brass);width:40px}.unitTitle{font-size:20px;width:220px}.unit .body{flex:1 1 320px;color:var(--on-navy-muted)}@media (max-width:640px){.screw{display:none}.unitTitle{width:auto}}.work{margin:0;background:var(--card);border:1px solid var(--card-line);border-radius:10px;overflow:hidden}.work .photo{border:0;border-radius:0}.work figcaption{padding:16px 18px;display:flex;flex-direction:column;gap:6px}.workName{font-weight:600;font-size:16px}.workMeta{font-family:var(--mono);font-size:12px;color:var(--muted)}.pageHero{padding-top:56px;padding-bottom:64px;display:flex;flex-direction:column;gap:18px}.split{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}.split>*{flex:1 1 420px;min-width:0}.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;background:var(--card);border:1px solid var(--card-line);border-radius:10px}.checks li{padding:16px 20px;border-top:1px solid var(--card-line);display:flex;gap:14px;font-size:15px;line-height:1.5}.checks li:first-child{border-top:0}.checks li:before{content:"";flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--brass)}.crumbs{font-family:var(--mono);font-size:12px;letter-spacing:1.5px;color:var(--on-navy-faint)}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--brass)}.contact{display:flex;flex-wrap:wrap;gap:48px}.contactCopy{flex:1 1 360px;display:flex;flex-direction:column}.contactCopy,.form{min-width:0;gap:16px}.form{flex:1 1 480px;background:var(--paper);color:var(--ink);border-radius:10px;padding:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid var(--field-line);border-radius:6px;padding:13px;font-size:16px;font-family:inherit;background:#fff;color:var(--ink)}.formFoot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}.formNote{font-size:14px;color:var(--muted)}.formNote.ok{color:#166534}.formNote.err{color:#b42318}.hp{position:absolute;left:-5000px}.footer{background:var(--navy);border-top:1px solid var(--navy-rule);color:var(--on-navy-faint);font-family:var(--mono);font-size:12px;letter-spacing:1px;text-transform:uppercase}.footerInner{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding-top:24px;padding-bottom:36px}.footer a{text-decoration:none;text-transform:none}.footer a:hover{color:var(--brass)}.servicesBlock{padding-top:28px;padding-bottom:80px}a.work{display:flex;flex-direction:column;text-decoration:none}a.work:hover{border-color:var(--brass)}.workCap{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.photo.gear{min-height:220px;border-radius:0;border:0}.split .photo.light{min-height:320px}.header{background:#ffffff;color:var(--ink);border-bottom:1px solid var(--card-line)}.nav a:not(.btn):hover,.nav a[aria-current=page]{color:var(--brass-ink)}.menuButton{border-color:var(--field-line);color:var(--ink)}@media (max-width:820px){.nav a:not(.btn){border-top-color:var(--card-line)}}.lightHero{background:#ffffff;color:var(--ink);border-bottom:1px solid var(--card-line)}.lightHero .lede{color:var(--muted)}.lightHero .btnGhost{border-color:var(--field-line);color:var(--ink)}.lightHero .btnGhost:hover{border-color:var(--brass-ink)}.lightHero .caption,.lightHero .crumbs{color:var(--muted)}.lightHero .crumbs a:hover{color:var(--brass-ink)}.lightHero .photo{background:#e6ebf2;border-color:var(--card-line)}.lightHero .photo.after{border-color:var(--brass)}.btnBrass:hover{background:#b8925a}.h1{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.15;letter-spacing:-.5px}.h1,.h2{font-weight:400}.h2{font-size:clamp(1.6rem,2.6vw,2.1rem);letter-spacing:-.3px}.cardTitle{font-weight:500;font-size:19px}.unitTitle{font-weight:500;font-size:18px}.nav{font-family:var(--body);font-size:15px;letter-spacing:0;text-transform:none;font-weight:500}.heroCopy{flex:1 1 560px}