/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}}:root{--ink:#171714;--paper:#f2f0e9;--paper-deep:#e8e5db;--acid:#d6ff38;--orange:#ff6846;--blue:#3559e8;--line:#17171433}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;text-rendering:optimizelegibility;margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:.8rem 1rem;transition:transform .16s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:5.75rem;padding:0 3.5vw;display:flex;position:relative}.brand{align-items:center;gap:.8rem;font-weight:650;text-decoration:none;display:inline-flex}.brand>span:first-child{background:var(--ink);width:2.35rem;height:2.35rem;color:var(--paper);letter-spacing:-.04em;border-radius:50%;place-items:center;font-size:.74rem;display:grid}.site-header nav{align-items:center;gap:clamp(1rem,2.4vw,2.6rem);display:flex}.site-header nav a{font-size:.82rem;font-weight:560;text-decoration:none}.site-header nav a:not(.nav-contact){position:relative}.site-header nav a:not(.nav-contact):after{content:"";background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:-.35rem;left:0;right:0;transform:scaleX(0)}.site-header nav a:not(.nav-contact):hover:after,.site-header nav a:not(.nav-contact):focus-visible:after{transform:scaleX(1)}.nav-contact{border:1px solid var(--ink);border-radius:999px;padding:.7rem 1.05rem}.nav-contact:hover,.nav-contact:focus-visible{background:var(--ink);color:#fff}.hero{flex-direction:column;justify-content:space-between;min-height:calc(100svh - 5.75rem);padding:clamp(4rem,8vw,8rem) 3.5vw 3rem;display:flex}.hero__eyebrow{font:500 .72rem/1.4 var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:.75rem;display:flex}.status-dot{background:#41a34c;border-radius:50%;width:.58rem;height:.58rem;box-shadow:0 0 0 5px #41a34c1f}.hero h1{letter-spacing:-.075em;max-width:10.5ch;margin:4rem 0;font-size:clamp(3.6rem,8.7vw,9rem);font-weight:530;line-height:.88}.hero h1 em,.about-section h2 em,.contact-section h2 em{font-family:Georgia,Times New Roman,serif;font-weight:400}.hero__footer{justify-content:space-between;align-items:end;gap:2rem;display:flex}.hero__footer p{letter-spacing:-.025em;max-width:41rem;margin:0;font-size:clamp(1rem,1.6vw,1.42rem);line-height:1.5}.round-link{border:1px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:4rem;height:4rem;font-size:1.45rem;text-decoration:none;transition:transform .18s,background .18s;display:grid}.round-link:hover,.round-link:focus-visible{background:var(--acid);transform:rotate(-12deg)}.work-section{border-top:1px solid var(--line);padding:7rem 3.5vw}.section-heading{grid-template-columns:minmax(10rem,1fr) 2.1fr;align-items:start;gap:2rem;margin-bottom:4rem;display:grid}.section-heading>p,.section-label{font:500 .7rem/1.4 var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em;margin:0}.section-heading h2{letter-spacing:-.06em;max-width:13ch;margin:0;font-size:clamp(2.4rem,5.1vw,5.25rem);font-weight:540;line-height:.96}.masonry-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:3.3rem;gap:clamp(.75rem,1.2vw,1.2rem);display:grid}.project-card{isolation:isolate;border:1px solid #17171426;border-radius:1.45rem;flex-direction:column;justify-content:space-between;padding:clamp(1.25rem,2vw,2rem);transition:transform .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.project-card:hover,.project-card:focus-within{transform:translateY(-.35rem);box-shadow:0 1rem 2.2rem #17171421}.project-card__link{z-index:4;cursor:pointer;background:0 0;border:0;width:100%;position:absolute;inset:0}.project-card__link:focus-visible{outline-offset:-7px;border-radius:1.3rem}.project-card__arrow{width:2.8rem;height:2.8rem;color:var(--ink);opacity:0;background:#f2f0e9d6;border:1px solid;border-radius:50%;place-items:center;font-size:1rem;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:3.4rem;right:clamp(1.25rem,2vw,2rem);transform:translate(-.4rem,.4rem)}.project-card:hover .project-card__arrow,.project-card:focus-within .project-card__arrow{opacity:1;transform:translate(0)}.project-card__topline{font:500 .64rem/1.3 var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:1rem;display:flex}.project-card__content{z-index:2;position:relative}.project-card h3{letter-spacing:-.055em;margin:0 0 .65rem;font-size:clamp(1.7rem,3vw,3rem);font-weight:580;line-height:.95}.project-card p{max-width:35rem;margin:0 0 1.25rem;font-size:.88rem;line-height:1.5}.project-card ul{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.project-card li{font:500 .61rem/1 var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.04em;border:1px solid;border-radius:999px;padding:.42rem .66rem}.project--highway{background:var(--acid);grid-area:span 11/span 8}.project--elc{background:#efb3c4;grid-area:span 8/span 4}.project--na{color:#fff;background:#212056;grid-area:span 9/9/auto/span 4}.project--alerts{background:var(--orange);grid-area:span 9/span 5}.project--flexipop{background:#f1cc47;grid-area:span 7/span 3}.project--systems{background:#b8c8ff;grid-area:span 9/span 4}.visual{z-index:-1;pointer-events:none;position:absolute}.visual--highway{inset:12% -12% 26% 28%;transform:rotate(-8deg)}.road{border:2px solid var(--ink);transform-origin:0;border-radius:999px;width:150%;height:1.35rem;display:block;position:absolute}.road:after{content:"";border-top:1px dashed var(--ink);opacity:.45;width:100%;position:absolute;top:50%;left:0}.road--one{top:18%;transform:rotate(28deg)}.road--two{top:44%;transform:rotate(-12deg)}.road--three{top:70%;transform:rotate(8deg)}.road-label{background:var(--blue);color:#fff;border:3px solid #fff;border-radius:1.4rem 1.4rem 2rem 2rem;place-items:center;width:4rem;height:4rem;font-weight:800;display:grid;position:absolute;top:37%;left:44%}.visual--blocks{width:65%;height:46%;top:16%;right:9%}.block{border:2px solid var(--ink);box-shadow:.45rem .45rem 0 var(--ink);display:block;position:absolute}.block--sun{background:#ffd54b;border-radius:50%;inset:0 0 45% 34%}.block--copy{background:var(--paper);inset:18% 46% 20% 0}.block--photo{background:var(--blue);inset:42% 4% 0 43%}.block--button{background:#fff;border-radius:999px;width:40%;height:12%;bottom:5%;right:35%}.visual--orbit{height:45%;top:13%;left:0;right:0}.orbit-ring{border:1px solid #ffffff8c;border-radius:50%;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-ring--one{width:15rem;height:15rem}.orbit-ring--two{width:9rem;height:9rem}.orbit-dot{background:var(--acid);border-radius:50%;width:.75rem;height:.75rem;display:block;position:absolute}.orbit-dot--one{top:12%;left:50%}.orbit-dot--two{bottom:22%;right:16%}.orbit-center{text-align:center;font:italic 1.1rem/1.05 Georgia,serif;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.visual--alerts{height:40%;top:16%;left:7%;right:7%}.alert-row{border:1px solid var(--ink);height:2.8rem;box-shadow:.32rem .32rem 0 var(--ink);background:#f2f0e9d1;border-radius:.7rem;position:absolute;left:0;right:0}.alert-row i{background:var(--orange);border-radius:50%;width:.75rem;height:.75rem;margin:.95rem;display:block}.alert-row--one{top:0}.alert-row--two{top:3.5rem;left:8%}.alert-row--three{top:7rem;left:16%}.alert-time{background:var(--ink);color:#fff;font:600 .72rem var(--font-geist-mono), monospace;border-radius:.4rem;padding:.5rem .65rem;position:absolute;bottom:-7rem;right:1rem}.visual--tiles{grid-template-columns:repeat(2,4.5rem);gap:.45rem;display:grid;top:18%;right:10%;transform:rotate(5deg)}.visual--tiles span{aspect-ratio:1;border:2px solid var(--ink);background:var(--paper);box-shadow:.25rem .25rem 0 var(--ink);border-radius:.55rem}.visual--tiles span:nth-child(2),.visual--tiles span:nth-child(3){background:var(--blue)}.visual--system{width:78%;height:42%;top:13%;right:8%}.system-window{border:2px solid var(--ink);width:80%;height:80%;box-shadow:.35rem .35rem 0 var(--ink);background:#fff;border-radius:.8rem;display:block;position:absolute}.system-window--back{background:var(--acid);top:0;right:0}.system-window--front{padding:1.2rem;bottom:0;left:0}.system-window--front i{background:var(--ink);opacity:.22;height:.38rem;margin-bottom:.6rem;display:block}.system-window--front i:nth-child(2){width:70%}.system-window--front i:nth-child(3){background:var(--blue);opacity:1;width:42%}.about-section{border-top:1px solid var(--line);padding:9rem 3.5vw}.about-grid{grid-template-columns:1.15fr .85fr;gap:8vw;margin-top:5rem;display:grid}.about-section h2{letter-spacing:-.065em;margin:0;font-size:clamp(3rem,6.2vw,6.4rem);font-weight:520;line-height:.94}.about-copy{align-self:end}.about-copy p{margin:0 0 1.4rem;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.6}.expertise-section{background:var(--ink);color:var(--paper);padding:8rem 3.5vw}.section-heading--light{border-bottom:1px solid #ffffff40;padding-bottom:4rem}.expertise-grid{grid-template-columns:repeat(3,1fr);display:grid}.expertise-grid article{border-right:1px solid #fff3;min-height:24rem;padding:2rem}.expertise-grid article:first-child{padding-left:0}.expertise-grid article:last-child{border-right:0}.expertise-grid span{font:500 .68rem var(--font-geist-mono), monospace;color:var(--acid)}.expertise-grid h3{letter-spacing:-.05em;margin:8rem 0 1.2rem;font-size:clamp(1.7rem,2.8vw,2.8rem);font-weight:520}.expertise-grid p{color:#f2f0e9ad;max-width:28rem;margin:0;line-height:1.6}.contact-section{text-align:center;padding:9rem 3.5vw}.contact-section>p{font:500 .72rem var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em}.contact-section h2{letter-spacing:-.075em;margin:3rem auto;font-size:clamp(3.5rem,9vw,9rem);font-weight:520;line-height:.85}.contact-section>a{background:var(--acid);border-radius:999px;align-items:center;gap:1rem;padding:1rem 1.5rem;font-weight:650;text-decoration:none;display:inline-flex}.contact-section>a:hover,.contact-section>a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}footer{border-top:1px solid var(--line);font:500 .66rem var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;gap:1.5rem;padding:1.5rem 3.5vw;display:flex}footer p{margin:0}footer a{text-underline-offset:.25rem}.page-transition{z-index:1000;background:var(--blue);color:#fff;will-change:transform;flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,4vw,4rem);display:flex;position:fixed;inset:0}.page-transition--enter{animation:.76s cubic-bezier(.77,0,.18,1) both transition-enter}.page-transition__mark{border:1px solid #fff;border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;font-weight:700;display:grid}.page-transition__copy{flex-direction:column;gap:.6rem;display:flex}.page-transition__copy span{font:500 .7rem var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.1em;opacity:.7}.page-transition__copy strong{letter-spacing:-.075em;max-width:8ch;font-size:clamp(3.2rem,9vw,9rem);font-weight:520;line-height:.85}.page-transition__progress{background:#ffffff47;height:2px;overflow:hidden}.page-transition__progress span{background:var(--acid);transform-origin:0;width:100%;height:100%;animation:.78s .18s both transition-progress;display:block}.page-reveal{transform:translate(0)}.page-reveal--exit{transition:transform .68s cubic-bezier(.77,0,.18,1);transform:translate(-100%)}@keyframes transition-enter{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes transition-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.case-study{min-height:100vh}.case-header{border-bottom-color:#17171433}.case-header__back{border:1px solid;border-radius:999px;align-items:center;gap:.6rem;padding:.7rem 1rem;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.case-header__back:hover,.case-header__back:focus-visible{background:var(--ink);color:#fff}.case-hero{isolation:isolate;min-height:52rem;padding:4rem 3.5vw;position:relative;overflow:hidden}.case-hero__meta{font:500 .68rem var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:2rem;display:flex}.case-hero__meta p{margin:0}.case-hero h1{letter-spacing:-.08em;max-width:11ch;margin:7rem 0 2.5rem;font-size:clamp(4.5rem,11vw,11rem);font-weight:540;line-height:.82}.case-hero h1:focus,.case-hero h1:focus-visible{outline:none}.case-hero__intro{z-index:2;letter-spacing:-.03em;max-width:40rem;margin:0;font-size:clamp(1.2rem,2vw,1.75rem);line-height:1.45;position:relative}.case-visual{z-index:-1;position:absolute;inset:0 0 0 48%}.case-visual .visual{z-index:0;transform:scale(1.35)}.case-study--highway .case-hero{background:var(--acid)}.case-study--blocks .case-hero{background:#efb3c4}.case-study--orbit .case-hero{color:#fff;background:#212056}.case-study--alerts .case-hero{background:var(--orange)}.case-study--tiles .case-hero{background:#f1cc47}.case-study--system .case-hero{background:#b8c8ff}.case-details{border-bottom:1px solid var(--line);grid-template-columns:1.3fr .6fr 1fr;gap:3rem;padding:2.5rem 3.5vw;display:grid}.case-details p{max-width:28rem;margin:0;line-height:1.5}.case-kicker{font:500 .64rem var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.09em;opacity:.55;margin-bottom:.7rem!important}.case-narrative{grid-template-columns:1fr 2.1fr;gap:2rem;padding:8rem 3.5vw;display:grid}.case-narrative__content{max-width:54rem}.case-narrative__content section{border-bottom:1px solid var(--line);grid-template-columns:.55fr 1fr;gap:2rem;margin:0 0 4rem;padding:0 0 4rem;display:grid}.case-narrative h2{letter-spacing:-.055em;margin:0;font-size:clamp(1.7rem,3vw,2.8rem);font-weight:540;line-height:1}.case-narrative p{margin:0;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.7}.case-next{background:var(--ink);color:var(--paper);padding:7rem 3.5vw}.case-next p{font:500 .67rem var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.09em;color:var(--acid);margin:0 0 2rem}.case-next a{letter-spacing:-.07em;justify-content:space-between;gap:2rem;font-size:clamp(3rem,7.5vw,7.5rem);font-weight:520;line-height:.9;text-decoration:none;display:flex}.case-next a:hover,.case-next a:focus-visible{color:var(--acid)}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}@media (width<=900px){.brand__text,.site-header nav a:not(.nav-contact){display:none}.hero{min-height:43rem}.masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.project-card{grid-row:auto;min-height:34rem;margin-top:0;grid-column:span 1!important}.project--highway,.project--alerts{grid-column:span 2!important}.about-grid{grid-template-columns:1fr}.about-copy{max-width:40rem}.expertise-grid{grid-template-columns:1fr}.expertise-grid article{border-bottom:1px solid #fff3;border-right:0;min-height:auto;padding:2.5rem 0}.expertise-grid h3{margin-top:4rem}.case-visual{left:38%}.case-narrative{grid-template-columns:1fr}}@media (width<=620px){.site-header,.hero,.work-section,.about-section,.expertise-section,.contact-section{padding-left:1.2rem;padding-right:1.2rem}.site-header{min-height:4.75rem}.hero{min-height:calc(100svh - 4.75rem);padding-top:3.5rem}.hero h1{margin:3rem 0;font-size:clamp(3.2rem,16vw,5.4rem)}.hero__footer{align-items:start}.round-link{width:3.25rem;height:3.25rem}.section-heading{grid-template-columns:1fr}.masonry-grid{flex-direction:column;display:flex}.project-card{min-height:31rem}.project--highway,.project--alerts{min-height:36rem}.work-section,.about-section{padding-top:5.5rem;padding-bottom:5.5rem}.about-grid{margin-top:3.5rem}.expertise-section{padding-top:5.5rem;padding-bottom:5.5rem}footer{flex-direction:column;align-items:start;padding:1.5rem 1.2rem}.project-card__arrow{opacity:1;transform:none}.case-hero{min-height:46rem;padding:3rem 1.2rem}.case-hero h1{margin-top:5rem;font-size:clamp(4rem,20vw,7rem)}.case-hero__intro{max-width:90%}.case-visual{opacity:.56;inset:0 -35% 0 25%}.case-details{grid-template-columns:1fr;padding:2.5rem 1.2rem}.case-narrative{padding:5.5rem 1.2rem}.case-narrative__content section{grid-template-columns:1fr}.case-next{padding:5rem 1.2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.page-transition--enter,.page-transition__progress span{animation:none}}
