:root{--paper:#eeece7;--ink:#121212;--orange:#c2410c;--bright:#f26b2e;--muted:#3d3b37}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Archivo,system-ui,sans-serif}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}a,button{transition:background-color .2s,color .2s,border-color .2s}img{object-fit:cover;width:100%;height:100%;display:block}.shell{width:min(100%,1440px);margin-inline:auto;padding-inline:clamp(20px,4vw,56px)}.site-header{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ink);background:#eeece7f2;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:72px;display:flex}.brand{letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:12px;font-size:17px;font-weight:800;font-stretch:80%;line-height:1;display:flex}.brand b{font-weight:500}.brand-mark{background:var(--ink);place-items:center;width:28px;height:28px;display:grid}.brand-mark i{background:var(--orange);width:12px;height:12px}.desktop-nav{text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:clamp(16px,2.4vw,36px);font:13px IBM Plex Mono,monospace;display:flex}.desktop-nav>a:not(.button):hover{color:var(--orange)}.button{cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:18px;padding:18px 26px;font:700 16px Archivo,sans-serif;display:flex}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover,.button-orange{background:var(--orange);color:#fff}.button-orange:hover{color:var(--ink);background:#fff}.button-outline{color:#fff;border:1px solid #ffffffb3}.button-outline:hover{color:var(--ink);background:#fff}.menu-toggle{border:1px solid var(--ink);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:48px;height:48px;display:none}.menu-toggle span{background:var(--ink);width:22px;height:2px;transition:all .25s}.menu-toggle[aria-expanded=true]{background:var(--ink)}.menu-toggle[aria-expanded=true] span{background:var(--paper)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(8px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-8px)rotate(-45deg)}.mobile-menu{background:var(--ink);color:var(--paper);padding:32px clamp(20px,4vw,56px) 40px;position:fixed;inset:73px 0 0;overflow:auto}.mobile-menu nav{border-top:1px solid #2e2d2a;margin-bottom:36px}.mobile-menu nav a{text-transform:uppercase;border-bottom:1px solid #2e2d2a;justify-content:space-between;align-items:baseline;padding:22px 0;font-size:clamp(30px,8vw,56px);font-weight:850;font-stretch:75%;line-height:1;display:flex}.mobile-menu small{color:#8e8a82;font:13px IBM Plex Mono,monospace}.hero{color:#fff;background:#121212;align-items:flex-end;min-height:min(92vh,980px);display:flex;position:relative;overflow:hidden}.hero>img,.hero-shade{position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,#0e0e0ee0,#0e0e0e8c 45%,#0e0e0e1a 80%),linear-gradient(#0000 55%,#0e0e0ed9)}.hero-content{padding-top:clamp(120px,14vw,200px);padding-bottom:clamp(40px,5vw,64px);position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.06em;margin:0 0 20px;font:13px IBM Plex Mono,monospace}.eyebrow.light{align-items:center;gap:14px;margin-bottom:clamp(28px,4vw,48px);display:flex}.eyebrow.light i{background:var(--orange);width:40px;height:2px}.eyebrow.muted{color:#a8a49c}.hero h1,.section h2,.projects h2,.contact h2{letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:clamp(48px,10.5vw,168px);font-weight:850;font-stretch:72%;line-height:.86}.hero h1 em{color:var(--bright);font-style:normal}.hero-bottom{border-top:1px solid #ffffff4d;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:clamp(24px,4vw,64px);margin-top:clamp(28px,4vw,48px);padding-top:clamp(24px,3vw,36px);display:grid}.hero-bottom>p{color:#e6e3dd;max-width:540px;margin:0;font-size:clamp(16px,1.5vw,21px);line-height:1.5}.hero-actions{justify-content:flex-end;gap:12px;display:flex}.pillars{border-bottom:1px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.pillars article{border-top:1px solid var(--ink);padding:28px 24px 28px 0}.pillars small,.services small{color:var(--orange);font:12px IBM Plex Mono,monospace}.pillars h3{margin:10px 0;font-size:19px}.pillars p,.services p,.steps p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.section{padding-top:clamp(72px,10vw,140px);padding-bottom:clamp(72px,10vw,140px)}.section-heading{margin-bottom:56px}.section-heading h2,.projects h2,.contact h2{font-size:clamp(40px,6vw,88px);line-height:.92}.section-heading.split{grid-template-columns:repeat(2,1fr);align-items:end;gap:32px;display:grid}.section-heading.split>p{max-width:520px;color:var(--muted);margin:0;font-size:18px;line-height:1.5}.services{border-top:1px solid var(--ink)}.services article{border-bottom:1px solid var(--ink);grid-template-columns:72px minmax(0,1.1fr) minmax(0,1.4fr) 40px;align-items:baseline;gap:24px;padding:32px 0;display:grid}.services article:hover{background:#e4e1da}.services h3{text-transform:uppercase;margin:0;font-size:clamp(21px,2.8vw,40px);font-weight:800;font-stretch:80%;line-height:1}.services article>span{text-align:right;font-size:22px}.about{grid-template-columns:repeat(2,1fr);padding-bottom:clamp(72px,10vw,140px);display:grid}.about-image{min-height:520px}.about-copy{background:var(--ink);color:var(--paper);flex-direction:column;justify-content:space-between;gap:48px;padding:clamp(32px,5vw,72px);display:flex}.about-copy h2{text-transform:uppercase;margin:0;font-size:clamp(32px,4.2vw,60px);font-weight:850;font-stretch:75%;line-height:.95}.about-copy div p{color:#c9c5bd;font-size:17px;line-height:1.6}.about-copy>a{border-top:1px solid #4a4844;justify-content:space-between;padding-top:24px;font-weight:700;display:flex}.about-copy>a:hover{color:var(--bright)}.projects{background:var(--ink);color:var(--paper)}.projects-head{justify-content:space-between;align-items:end;gap:32px;margin-bottom:48px;display:flex}.filters{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.filters button{color:var(--paper);border:1px solid var(--paper);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;padding:10px 16px;font:13px IBM Plex Mono,monospace}.filters button.active,.filters button:hover{background:var(--paper);color:var(--ink)}.project-grid{grid-template-columns:repeat(2,1fr);gap:clamp(28px,3vw,44px);display:grid}.project-card{flex-direction:column;gap:18px;display:flex}.project-card[hidden]{display:none}.project-image{aspect-ratio:4/3;background:#2a2927;position:relative;overflow:hidden}.project-image img{transition:transform .5s}.project-card:hover img{transform:scale(1.025)}.project-image small{background:var(--orange);padding:6px 10px;font:12px IBM Plex Mono,monospace;position:absolute;top:16px;left:16px}.project-title{border-top:1px solid #4a4844;justify-content:space-between;align-items:baseline;gap:16px;padding-top:16px;display:flex}.project-title h3{margin:0;font-size:22px}.project-title span{text-transform:uppercase;color:#a8a49c;font:12px IBM Plex Mono,monospace}.project-card>p{color:#c9c5bd;margin:-8px 0 0;font-size:15px}.steps{border-left:1px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.steps article{border:1px solid var(--ink);border-left:0;flex-direction:column;justify-content:space-between;min-height:320px;padding:32px 28px 40px;display:flex}.steps strong{color:var(--orange);font-size:72px;font-stretch:70%;line-height:.8}.steps h3{text-transform:uppercase;margin:0 0 12px;font-size:22px;font-weight:800}.contact{border-top:1px solid var(--ink)}.contact-grid{grid-template-columns:repeat(2,1fr);gap:clamp(40px,6vw,96px);padding-top:clamp(72px,10vw,140px);padding-bottom:clamp(72px,10vw,140px);display:grid}.contact-copy>p:not(.eyebrow){max-width:460px;color:var(--muted);font-size:18px;line-height:1.5}.contact-copy dl{border-top:1px solid var(--ink);margin-top:32px}.contact-copy dl div{border-bottom:1px solid var(--ink);justify-content:space-between;gap:16px;padding:18px 0;display:flex}.contact-copy dt{text-transform:uppercase;font:13px IBM Plex Mono,monospace}.contact-copy dd{text-align:right;margin:0;font-weight:600}.contact-form{border:1px solid var(--ink);background:#fff;flex-direction:column;gap:20px;padding:clamp(24px,3vw,40px);display:flex}.form-row{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.contact-form label{text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:8px;font:12px IBM Plex Mono,monospace;display:flex}.contact-form input,.contact-form select,.contact-form textarea{border:0;border-bottom:1px solid var(--ink);text-transform:none;background:0 0;border-radius:0;outline:none;padding:10px 0;font:17px Archivo,sans-serif}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--orange)}.contact-form textarea{resize:vertical}.form-success{background:var(--ink);color:var(--paper);place-content:center;align-self:stretch;padding:clamp(32px,4vw,56px)}.form-success:not([hidden]){display:grid}.form-success i{background:var(--orange);width:16px;height:16px}.form-success h3{text-transform:uppercase;margin:16px 0 0;font-size:44px;font-weight:850;font-stretch:75%;line-height:.95}.form-success p{color:#c9c5bd;font-size:17px}footer{color:var(--paper);background:#0e0e0e}.footer-cta{border-bottom:1px solid #2e2d2a;justify-content:space-between;align-items:center;gap:24px;padding:40px 0;display:flex}.footer-cta h2{text-transform:uppercase;margin:0;font-size:clamp(22px,2.6vw,34px)}.footer-main{grid-template-columns:minmax(260px,420px) 1fr;gap:48px;padding:56px 0;display:grid}.light-brand .brand-mark{background:var(--paper)}.footer-main>div:first-child>p{color:#a8a49c;line-height:1.6}.footer-links{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.footer-links>div{color:#d9d6cf;flex-direction:column;gap:12px;font-size:15px;display:flex}.footer-links small{color:#8e8a82;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font:12px IBM Plex Mono,monospace}.footer-links a:hover{color:var(--bright)}.footer-bottom{color:#8e8a82;text-transform:uppercase;letter-spacing:.08em;border-top:1px solid #2e2d2a;justify-content:space-between;gap:24px;padding:24px 0 32px;font:12px IBM Plex Mono,monospace;display:flex}@media (width<=899px){.desktop-nav{display:none}.menu-toggle{display:flex}.hero{min-height:88svh}.hero-bottom,.section-heading.split,.contact-grid{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}.pillars{grid-template-columns:repeat(2,1fr)}.services article{grid-template-columns:48px 1fr;gap:12px 20px}.services article p{grid-column:2}.services article>span{display:none}.about{grid-template-columns:1fr}.about-image{min-height:420px}.projects-head{flex-direction:column;align-items:flex-start}.filters{flex-wrap:nowrap;justify-content:flex-start;width:100%;overflow:auto}.steps{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1fr}.contact-copy dd{overflow-wrap:anywhere}}@media (width<=639px){.hero h1{font-size:clamp(44px,15vw,76px)}.hero-actions{flex-direction:column}.pillars article{padding:20px 8px 22px 0}.pillars h3{font-size:16px}.pillars p{font-size:14px}.section-heading{margin-bottom:40px}.services article{grid-template-columns:1fr;gap:12px}.services article p{grid-column:auto}.about-image{min-height:300px}.project-grid,.steps,.form-row{grid-template-columns:1fr}.steps{border-left:1px solid var(--ink)}.steps article{border-left:0;gap:28px;min-height:0;padding:24px 20px 28px}.steps strong{font-size:52px}.contact-copy dl div{flex-direction:column}.contact-copy dd{text-align:left}.footer-cta,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-links{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hero-content{padding-top:0}}.sitemap-page{min-height:70vh;padding-top:clamp(72px,10vw,140px);padding-bottom:clamp(72px,10vw,140px)}.sitemap-page h1{text-transform:uppercase;margin:0;font-size:clamp(48px,8vw,112px);font-weight:850;font-stretch:72%;line-height:.9}.sitemap-page>p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:18px;line-height:1.6}.sitemap-page ul{border-top:1px solid var(--ink);margin:48px 0 0;padding:0;list-style:none}.sitemap-page li{border-bottom:1px solid var(--ink);padding:24px 0}.sitemap-page li a{text-transform:uppercase;font-size:clamp(22px,3vw,36px);font-weight:800}.sitemap-page li a:hover{color:var(--orange)}.sitemap-page li p{color:var(--muted);margin:8px 0 0;line-height:1.5}@media (width<=899px){.mobile-menu{height:calc(100dvh - 72px);position:absolute;inset:72px 0 auto}}@media (width<=599px){.mobile-menu{height:calc(100dvh - 64px);top:64px}}
