@font-face{font-family:syne;src:url(../media/syne_latin-s.p.3vm0tq4e-zz_5.woff2)format("woff2");font-display:swap;font-weight:700 800;font-style:normal}@font-face{font-family:syne Fallback;src:local(Arial);ascent-override:92.84%;descent-override:27.6%;line-gap-override:0.0%;size-adjust:99.63%}.syne_ab364c36-module__e3y7-a__className{font-family:syne,syne Fallback;font-style:normal}.syne_ab364c36-module__e3y7-a__variable{--font-syne:"syne", "syne Fallback"}
@font-face{font-family:inter;src:url(../media/inter_latin-s.p.2bn3s6zvc0dyp.woff2)format("woff2");font-display:swap;font-weight:400 500;font-style:normal}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_e2ee7e-module__HdOU1W__className{font-family:inter,inter Fallback;font-style:normal}.inter_e2ee7e-module__HdOU1W__variable{--font-inter:"inter", "inter Fallback"}
:root{--color-red:#c41e00;--color-red-deep:#8f1700;--color-yellow:#f5c400;--color-sky:#6bbfdf;--color-ink:#111;--color-white:#fff;--color-muted:#888;--color-border:#f0eded;--font-display:var(--font-syne), sans-serif;--font-body:var(--font-inter), sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--color-white);color:var(--color-ink)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;font-weight:800}:focus-visible{outline:3px solid var(--color-ink);outline-offset:2px}.work-tile-hit:focus-visible{outline:3px solid var(--color-yellow);outline-offset:-3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.shard{animation:.65s cubic-bezier(.2,.7,.3,1) both shard-fly;position:absolute;overflow:hidden}@keyframes shard-fly{0%,50%{opacity:1}to{transform:translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(.35);opacity:0}}@media (max-width:520px){.site-header{grid-template-columns:1fr!important;row-gap:14px!important;padding-top:13px!important;padding-bottom:12px!important}.site-header-links{justify-self:start!important}.site-header-spacer{display:none}}@media (max-width:720px){.work-modal-grid{grid-template-columns:1fr!important}}.cq{container-type:inline-size}.home-hero{grid-template-columns:1fr;align-items:center;gap:clamp(28px,5vw,64px);display:grid}.about-grid{grid-template-columns:1fr;align-items:start;gap:clamp(28px,5vw,64px);display:grid}.services-grid{grid-template-columns:1fr;gap:16px;display:grid}.projects-grid{grid-template-columns:1fr;gap:clamp(28px,4vw,40px) 24px;display:grid}.process-grid{grid-template-columns:1fr;gap:28px;display:grid}@media (min-width:860px){.home-hero{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.about-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.services-grid{grid-template-columns:1fr 1fr}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}.service-tile{color:#111;background:#fff;border:2px solid #111;border-radius:4px;flex-direction:column;padding:clamp(20px,3vw,32px);transition:background-color .15s,color .15s;display:flex}.service-entry{background:#f0eded;border-radius:3px;margin-top:auto;transition:background-color .15s}.service-tile:hover,.service-tile:focus-within{color:#fff;background:#111}.service-tile:hover .service-entry,.service-tile:focus-within .service-entry{background:#ffffff24}.service-tile a:focus-visible{outline-color:#fff}.faq details{border-top:1px solid #111}.faq .faq-item:last-child details{border-bottom:1px solid #111}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:17px;font-weight:600;line-height:1.4;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-display);flex-shrink:0;font-size:24px;font-weight:800;line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{max-width:680px;margin:0 0 20px;font-size:16px;line-height:1.7}.timeline-item{grid-template-columns:minmax(200px,.4fr) minmax(0,1fr);gap:4px 16px;display:grid}@media (max-width:520px){.timeline-item{grid-template-columns:minmax(0,1fr)}}.service-entry{padding:16px}.entry-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.entry-label{letter-spacing:.08em;text-transform:uppercase;min-width:0;font-size:12px;font-weight:600}.entry-nav{font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;font-size:13px;display:inline-flex}.entry-nav button{width:34px;height:34px;color:inherit;cursor:pointer;background:0 0;border:1.5px solid;border-radius:3px;justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.entry-track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;display:flex;overflow-x:auto}.entry-track::-webkit-scrollbar{display:none}.entry-slide{scroll-snap-align:start;flex:0 0 100%}.service-tile:hover .entry-nav button,.service-tile:focus-within .entry-nav button{border-color:#fff}.service-tile .entry-nav button:focus-visible,.service-tile .entry-track:focus-visible{outline-color:#111}.service-tile:hover .entry-nav button:focus-visible,.service-tile:focus-within .entry-nav button:focus-visible,.service-tile:hover .entry-track:focus-visible,.service-tile:focus-within .entry-track:focus-visible{outline-color:#fff}.depth-deco{pointer-events:none;-webkit-user-select:none;user-select:none}@media (max-width:380px){.depth-toggle-label{display:none}}.home-hero{z-index:1;position:relative}.hero-giant{z-index:0;font-family:var(--font-display);color:#0000;-webkit-text-stroke:2px #ffffff42;font-size:clamp(13rem,38vw,30rem);font-weight:800;line-height:.8;position:absolute;top:2%;right:-14vw}.contact-content{z-index:2;position:relative}:root{--skyline-h:clamp(110px, 15vw, 230px)}.skyline{width:100%;height:var(--skyline-h);z-index:1;display:block;position:absolute;bottom:0;left:0;right:0}.smoke{z-index:0;pointer-events:none;width:100%;height:100%;transition:opacity .8s,visibility;position:absolute;inset:0}html:not([data-depth=on]) .smoke{opacity:0;visibility:hidden;transition:opacity .8s,visibility 0s .8s}.depth-particles{z-index:40;pointer-events:none;transition:opacity .5s,visibility;position:absolute;inset:0;overflow:clip}html:not([data-depth=on]) .depth-particles{opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s .5s}.particle{font-family:var(--font-display);letter-spacing:-.04em;white-space:nowrap;color:#000;font-weight:800;line-height:.8;position:absolute}.particle-mark:before{content:"MF"}.particle-outline{color:#0000;-webkit-text-stroke:3px #000}@media (max-width:767px){.particle-extra{display:none}}.contact-gloom{z-index:0;pointer-events:none;background:linear-gradient(#1c020000 32%,#1c020047 68%,#1c02009e 100%);position:absolute;inset:0}.skyline-windows{filter:drop-shadow(0 0 1.6px #ffeb50f2)}.win-flicker{animation:4.5s ease-in-out infinite win-flicker}@keyframes win-flicker{0%,to{opacity:1}46%{opacity:1}50%{opacity:.25}54%{opacity:1}70%{opacity:.6}74%{opacity:1}}.searchlight{z-index:0;pointer-events:none;opacity:0;visibility:hidden;--ox:62%;--tx:79%;--ty:32%;--tw:12.5%;transition:opacity .9s,visibility 0s .9s;position:absolute;inset:0;overflow:clip}html[data-noir=on] .searchlight{opacity:1;visibility:visible;transition:opacity .6s,visibility}.sl-sway{transform-origin:var(--ox) 100%;animation:9s ease-in-out infinite alternate sl-sway;position:absolute;inset:0}.sl-beam{clip-path:polygon(calc(var(--ox) - 0.5%) 100%, calc(var(--ox) + 0.5%) 100%, calc(var(--tx) + var(--tw)) var(--ty), calc(var(--tx) - var(--tw)) var(--ty));transform-origin:var(--ox) 100%;mix-blend-mode:screen;filter:blur(1.2px);background:linear-gradient(#ffffff12,#ffffff1f 45%,#ffffff57);transition:transform 1.2s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0;transform:scaleY(0)}html[data-noir=on] .sl-beam{transform:scaleY(1)}.sl-logo{left:var(--tx);top:var(--ty);font-family:var(--font-display);letter-spacing:-.04em;color:#ffffff8c;text-shadow:0 0 24px #fff9,0 0 70px #ffffff59;filter:blur(1.5px);mix-blend-mode:screen;opacity:0;font-size:clamp(84px,12vw,210px);font-weight:800;line-height:.8;transition:opacity .4s;position:absolute;transform:translate(-50%,-50%)rotate(-6deg)}html[data-noir=on] .sl-logo{opacity:1;transition:opacity 1.2s .8s}@keyframes sl-sway{0%{transform:rotate(-.6deg)}to{transform:rotate(.6deg)}}@media (max-width:767px){.searchlight{--ox:30%;--tx:68%;--ty:47%;--tw:17%}}
