@font-face{font-family:Nimbus Narrow;src:url(/fonts/NimbusSansNarrow-Bold.otf) format("opentype");font-weight:700;font-display:swap}@font-face{font-family:Nimbus Sans;src:url(/fonts/NimbusSans-Regular.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Nimbus Mono;src:url(/fonts/NimbusMono-Regular.otf) format("opentype");font-weight:400;font-display:swap}:root{color-scheme:dark;--black: #050505;--graphite: #0a0a0a;--bone: #e8e4d8;--muted: #8c8c86;--rule: rgba(232, 228, 216, .22);--blue: #2d5fff;--orange: #ff6a00;--display: "Nimbus Narrow", "Arial Narrow", sans-serif;--body: "Nimbus Sans", Arial, sans-serif;--mono: "Nimbus Mono", "Courier New", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;min-width:320px;min-height:100vh;background:var(--black);color:var(--bone);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--blue);color:#fff}a{color:inherit}button{font:inherit}.grid-frame{position:relative;border-bottom:1px solid var(--rule);border-inline:1px solid var(--rule);margin-inline:clamp(20px,5vw,76px)}.site-header{position:absolute;z-index:20;inset:0 clamp(30px,7vw,110px) auto;height:94px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand,.menu-trigger{pointer-events:auto}.brand{text-decoration:none;display:grid;gap:3px}.brand strong{font-family:var(--display);font-size:26px;letter-spacing:.02em}.brand span{font-family:var(--mono);font-size:10px;letter-spacing:.12em}.menu-trigger,.icon-button{border:0;color:var(--bone);background:transparent;display:flex;align-items:center;gap:12px;cursor:pointer}.menu-trigger span{font:11px var(--mono);letter-spacing:.16em}.menu-trigger:hover,.menu-trigger:focus-visible,.icon-button:hover,.icon-button:focus-visible{color:var(--orange)}.scroll-rail{position:fixed;z-index:15;right:16px;top:16vh;height:68vh;width:2px;background:#ffffff1f}.scroll-rail span{display:block;width:100%;background:var(--blue);transition:height .08s linear}.menu-backdrop{position:fixed;z-index:48;top:0;right:0;bottom:0;left:0;border:0;background:#000000bd;opacity:0;pointer-events:none;transition:opacity .3s ease}.menu-backdrop.is-open{opacity:1;pointer-events:auto}.menu-drawer{position:fixed;z-index:50;inset:0 auto 0 0;width:min(520px,88vw);padding:34px clamp(24px,6vw,70px) 48px;background:#0b0b0b;border-right:1px solid var(--rule);transform:translate(-102%);transition:transform .42s cubic-bezier(.2,.75,.2,1);display:flex;flex-direction:column}.menu-drawer.is-open{transform:translate(0)}.menu-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:12vh}.menu-drawer nav{display:grid}.menu-drawer nav a{text-decoration:none;min-height:88px;border-top:1px solid var(--rule);display:grid;grid-template-columns:48px 1fr auto;align-items:center;font:42px var(--display);transition:color .2s,padding .2s}.menu-drawer nav a:hover,.menu-drawer nav a:focus-visible{color:var(--blue);padding-left:8px}.menu-drawer nav a span{color:var(--orange);font:11px var(--mono)}.resume-link{margin-top:auto;display:flex;align-items:center;gap:12px;text-decoration:none;font:13px var(--mono);color:var(--muted)}.resume-link:hover,.resume-link:focus-visible{color:var(--orange)}.eyebrow{font:11px/1 var(--mono);letter-spacing:.12em}.orange{color:var(--orange)}.blue{color:var(--blue)}.hero{min-height:900px;height:100vh;display:grid;grid-template-columns:58% 42%;overflow:hidden}.hero:before,.about:before,.work:before,.case-study:before,.contact:before{content:"";position:absolute;inset:0 auto 0 31%;width:1px;background:var(--rule);pointer-events:none}.case-marker{position:absolute;z-index:3;left:-48px;top:28%;display:grid;font:9px var(--mono);color:var(--muted)}.case-marker b{color:var(--orange);font-weight:400}.hero-copy{z-index:2;align-self:center;padding:112px 20px 80px clamp(28px,4vw,72px)}.hero-copy h1{margin:28px 0 22px;font-family:var(--display);font-size:clamp(66px,7.15vw,122px);line-height:.82;letter-spacing:-.045em}.hero-copy h1 span{color:var(--blue)}.hero-support{margin:0;max-width:500px;padding-top:18px;border-top:1px solid var(--rule);font:14px var(--mono);color:#c2c0b8}.scroll-cue{display:inline-flex;align-items:center;gap:10px;margin-top:54px;text-decoration:none;font:11px var(--mono);color:var(--muted)}.scroll-cue:hover,.scroll-cue:focus-visible{color:var(--orange)}.hero-visual{position:relative;margin:0;overflow:hidden;border-left:1px solid var(--rule)}.hero-visual img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(.72)}.hero-crosshair{position:absolute;z-index:3;left:34%;top:42%;color:var(--orange)}.hero-visual figcaption{position:absolute;z-index:3;right:18px;top:30%;writing-mode:vertical-rl;color:var(--blue);font:10px var(--mono);letter-spacing:.14em}.about{min-height:440px;display:grid;grid-template-columns:31% 69%}.section-intro{padding:46px clamp(24px,3.5vw,58px)}.section-intro h2{font:38px/1.02 var(--display);margin:24px 0}.section-intro p{font-size:15px;line-height:1.45;color:#c6c4bb}.stats{display:grid;grid-template-columns:repeat(3,1fr)}.stat{position:relative;min-width:0;padding:24px 24px 38px;border-left:1px solid var(--rule);display:flex;flex-direction:column;justify-content:center;overflow:hidden}.stat-note{position:absolute;transform:rotate(-90deg);transform-origin:left top;left:12px;bottom:24px;font:8px var(--mono);color:#555;white-space:nowrap}.stat strong{font:clamp(104px,11vw,190px)/.8 var(--display);letter-spacing:-.05em}.stat b{margin-top:16px;color:var(--orange);font:26px var(--display)}.work{padding:36px 0 0}.work-heading{display:flex;justify-content:space-between;align-items:end;padding:0 clamp(24px,3vw,50px) 28px}.work-heading p{margin:6px 0 0;font:10px var(--mono);color:var(--muted)}.project-count{color:var(--orange);font:16px var(--mono)}.project-stage{position:relative;min-height:520px;overflow:hidden;border-top:1px solid var(--rule);background:var(--black)}.project-stage>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.55);transition:opacity .25s ease}.project-stage-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:#050505ad}.project-list{position:relative;z-index:2;width:min(940px,78%);margin-left:8%;padding:54px 0}.project-list button{width:100%;min-height:126px;border:0;border-bottom:1px solid var(--rule);color:#64645f;background:transparent;text-align:left;display:grid;grid-template-columns:66px minmax(240px,.9fr) minmax(220px,1fr) auto;align-items:center;cursor:pointer;transition:color .25s,padding .25s}.project-list button:hover,.project-list button:focus-visible{color:var(--bone);padding-left:8px;outline:1px solid var(--blue);outline-offset:-1px}.project-list button.active{color:var(--bone)}.project-number{font:15px var(--mono);color:var(--orange)}.project-list strong{font:clamp(48px,5vw,76px)/.85 var(--display)}.project-meta{font:12px/1.5 var(--mono)}.project-meta b{display:block;color:var(--orange);font-weight:400}.case-study{display:grid;grid-template-columns:31% 69%;align-items:stretch}.case-sidebar{align-self:stretch;padding:56px clamp(24px,3.5vw,56px);border-right:1px solid var(--rule)}.case-sidebar>h2{margin:12px 0 0;font:clamp(58px,6vw,96px)/.9 var(--display)}.case-sidebar>p{color:var(--orange);font:11px var(--mono)}.case-sidebar nav{position:sticky;top:40px;margin-top:70px;padding-bottom:150px;display:grid}.case-sidebar nav a{position:relative;padding:16px 0 16px 24px;color:#70706b;text-decoration:none;font:12px var(--mono);border-left:1px solid var(--rule);display:flex;align-items:center;gap:14px}.case-sidebar nav a svg{margin-left:-31px;fill:var(--black)}.case-sidebar nav a:hover,.case-sidebar nav a:focus-visible{color:var(--orange)}.case-sidebar nav a:first-child{color:var(--orange)}.case-sidebar>small{color:var(--blue);font:8px var(--mono)}.case-content{min-width:0}.case-opening{position:relative;min-height:420px;padding:clamp(46px,6vw,92px) clamp(28px,6vw,96px);border-bottom:1px solid var(--rule);overflow:hidden}.case-opening:after{content:attr(data-number);position:absolute;right:-.03em;bottom:-.22em;color:#ffffff06;font:340px/.8 var(--display);pointer-events:none}.case-kicker{display:flex;justify-content:space-between;gap:24px;color:var(--orange);font:10px var(--mono);letter-spacing:.12em}.case-kicker b{color:var(--blue);font-weight:400;text-align:right}.case-opening h2{max-width:920px;margin:74px 0 32px;font:clamp(42px,4.7vw,76px)/.98 var(--display);letter-spacing:-.02em}.case-opening>p{margin:0;padding-top:20px;border-top:1px solid var(--rule);color:var(--muted);font:11px var(--mono);text-transform:uppercase}.case-story{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--rule)}.case-story article{min-height:260px;padding:42px clamp(26px,4vw,66px)}.case-story article+article{border-left:1px solid var(--rule)}.case-story span{color:var(--blue);font:10px var(--mono);letter-spacing:.12em}.case-story p{max-width:620px;margin:32px 0 0;color:#c1bfb7;font-size:16px;line-height:1.55}.evidence-gallery{padding:clamp(34px,5vw,76px)}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:28px;border-bottom:1px solid var(--rule)}.gallery-heading h3{margin:12px 0 0;font:clamp(48px,5vw,78px)/.9 var(--display)}.gallery-heading p{margin:0;color:var(--muted);font:9px var(--mono);text-align:right}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:1px;background:var(--rule)}.gallery-item{position:relative;display:grid;padding:0;border:0;background:var(--black);color:var(--bone);cursor:zoom-in;overflow:hidden;text-align:left;scroll-margin-top:24px}.gallery-item-featured{grid-column:1 / -1}.gallery-item img{width:100%;aspect-ratio:1.718 / 1;object-fit:cover;display:block;transition:transform .4s ease,opacity .3s ease}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.015);opacity:.8}.gallery-item:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;z-index:2}.gallery-item>span{min-height:52px;padding:10px 14px;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;font:10px var(--mono);text-transform:uppercase;border-top:1px solid var(--rule)}.gallery-item>span b{color:var(--orange);font-weight:400}.gallery-item>span svg{color:var(--blue)}.next-case{padding:44px clamp(28px,6vw,96px) 72px;border-top:1px solid var(--rule)}.next-case button{width:100%;margin-top:26px;padding:24px 0;border:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:transparent;color:var(--muted);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;text-align:left;cursor:pointer;font:11px var(--mono)}.next-case button strong{color:var(--bone);font:clamp(42px,5vw,74px)/.9 var(--display)}.next-case button svg{color:var(--orange)}.next-case button:hover strong,.next-case button:focus-visible strong{color:var(--blue)}.portfolio-close{padding:clamp(24px,4vw,60px);background:#f0ede4}.portfolio-close img{display:block;width:100%;height:auto}.lightbox{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:clamp(10px,3vw,42px)}.lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#000000f0;cursor:zoom-out}.lightbox-frame{position:relative;z-index:2;width:min(1400px,96vw);max-height:96vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#080808;border:1px solid var(--rule);box-shadow:0 24px 80px #000000b3}.lightbox-topline{min-height:54px;padding-left:16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.lightbox-topline p{margin:0;color:var(--muted);font:9px var(--mono);text-transform:uppercase}.lightbox-topline p span{color:var(--orange);margin-right:18px}.lightbox-topline button{align-self:stretch;width:54px;border:0;border-left:1px solid var(--rule);background:transparent;color:var(--bone);cursor:pointer}.lightbox-frame>img{display:block;width:100%;min-height:0;max-height:calc(96vh - 112px);object-fit:contain;background:#111}.lightbox-controls{min-height:54px;display:flex;justify-content:space-between;border-top:1px solid var(--rule)}.lightbox-controls button{padding:0 18px;border:0;background:transparent;color:var(--bone);display:flex;align-items:center;gap:10px;cursor:pointer;font:10px var(--mono);text-transform:uppercase}.lightbox button:hover,.lightbox button:focus-visible{color:var(--orange)}.chapter{min-height:255px;display:grid;grid-template-columns:68px minmax(280px,.8fr) minmax(260px,1fr);border-bottom:1px solid var(--rule)}.chapter-number{color:var(--blue);font:17px var(--mono);padding:36px 16px;border-right:1px solid var(--rule)}.chapter-copy{padding:34px clamp(24px,3vw,50px)}.chapter-heading{display:flex;align-items:center;gap:12px;color:var(--orange)}.chapter-heading h3{margin:0;font:24px var(--display);color:var(--bone)}.chapter-copy p{margin:22px 0 0;max-width:560px;color:#b7b5ae;font-size:15px;line-height:1.52}.chapter-image{position:relative;margin:0;min-height:255px;overflow:hidden;border-left:1px solid var(--rule)}.chapter-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.72) contrast(1.12);transition:transform .6s ease}.chapter:hover .chapter-image img{transform:scale(1.03)}.chapter-image figcaption{position:absolute;right:12px;bottom:10px;color:var(--orange);font:8px var(--mono);background:#000000b3;padding:5px 7px}.chapter-impact{grid-template-columns:68px 1fr}.outcomes{list-style:none;padding:0;margin:32px 0 0;display:flex;gap:clamp(18px,3vw,48px);flex-wrap:wrap}.outcomes li{color:var(--blue);display:flex;align-items:center;gap:8px;font:12px var(--mono)}.contact{min-height:360px;display:grid;grid-template-columns:54% 46%;align-items:center;padding:50px clamp(28px,4vw,72px) 68px;overflow:hidden}.contact:before{inset:0 auto 0 54%}.contact-statement p{margin:0;font:clamp(42px,4.6vw,78px)/.92 var(--display)}.contact-statement h2{margin:12px 0 0;color:var(--blue);font:clamp(56px,6.4vw,110px)/.82 var(--display)}.contact-links{padding-left:clamp(24px,4vw,70px);display:grid}.contact-links a{min-height:62px;text-decoration:none;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:36px 90px 1fr;align-items:center;color:#aaa8a1}.contact-links a:hover,.contact-links a:focus-visible{color:var(--orange)}.contact-links span{font:12px var(--mono)}.contact-links b{font-weight:400;font-size:14px}.footer-note{position:absolute;left:0;right:0;bottom:0;height:36px;padding:0 18px;border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;color:var(--blue);font:8px var(--mono)}.reveal,.reveal.is-visible{opacity:1;transform:none}@media(max-width:1040px){.grid-frame{margin-inline:18px}.hero{grid-template-columns:1fr;min-height:820px;height:auto}.hero-copy{min-height:820px;display:flex;flex-direction:column;justify-content:center}.hero-visual{position:absolute;top:0;right:0;bottom:0;left:36%;z-index:0;opacity:.46}.hero-copy h1{font-size:clamp(62px,10vw,102px)}.hero:before,.about:before,.work:before,.case-study:before,.contact:before{display:none}.about{grid-template-columns:1fr}.stats{border-top:1px solid var(--rule)}.case-study{grid-template-columns:260px 1fr}.case-sidebar{padding-inline:28px}.case-opening{min-height:360px}.case-opening h2{margin-top:52px}.chapter{grid-template-columns:56px 1fr}.chapter-image{grid-column:2;min-height:210px}.chapter-impact{grid-template-columns:56px 1fr}.contact{grid-template-columns:1fr;gap:48px}.contact-links{padding-left:0}}@media(max-width:720px){.site-header{inset-inline:32px;height:78px}.brand strong{font-size:20px}.brand span,.menu-trigger span,.scroll-rail{display:none}.grid-frame{margin-inline:10px}.hero{min-height:760px}.hero-copy{min-height:760px;padding:100px 20px 60px}.hero-copy h1{font-size:clamp(50px,15vw,78px);line-height:.86}.hero-visual{left:22%}.case-marker{display:none}.stats{grid-template-columns:1fr}.stat{min-height:220px;border-left:0;border-top:1px solid var(--rule);align-items:center}.stat strong{font-size:130px}.work-heading{align-items:start}.project-stage{min-height:590px}.project-list{width:auto;margin:0;padding:40px 18px}.project-list button{min-height:150px;grid-template-columns:36px 1fr auto}.project-list strong{font-size:52px}.project-meta{grid-column:2;padding-bottom:16px}.project-list button>svg{grid-row:1 / span 2;grid-column:3}.case-study{grid-template-columns:1fr}.case-sidebar{border-right:0;border-bottom:1px solid var(--rule)}.case-sidebar nav{position:static;margin-top:36px;padding-bottom:28px}.case-opening{min-height:0;padding:46px 20px}.case-opening h2{margin:46px 0 28px;font-size:42px}.case-kicker{display:grid}.case-kicker b{text-align:left}.case-story{grid-template-columns:1fr}.case-story article{min-height:0;padding:34px 20px}.case-story article+article{border-left:0;border-top:1px solid var(--rule)}.evidence-gallery{padding:36px 10px}.gallery-heading{display:grid}.gallery-heading p{text-align:left}.gallery-grid{grid-template-columns:1fr}.gallery-item-featured{grid-column:auto}.next-case{padding:38px 20px 54px}.next-case button{grid-template-columns:1fr auto}.next-case button>span{display:none}.next-case button strong{font-size:42px}.portfolio-close{padding:10px}.lightbox{padding:8px}.lightbox-topline p{max-width:calc(100vw - 100px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox-controls button{padding-inline:12px}.chapter{grid-template-columns:46px 1fr}.chapter-number{padding-inline:11px}.chapter-copy{padding:28px 20px}.chapter-image{grid-column:1 / -1;min-height:210px;border-left:0;border-top:1px solid var(--rule)}.chapter-impact{grid-template-columns:46px 1fr}.outcomes{flex-direction:column}.contact{padding:50px 22px 72px}.contact-statement p{font-size:42px}.contact-statement h2{font-size:64px}.contact-links a{grid-template-columns:34px 76px 1fr}.contact-links b{font-size:12px}}@media(max-height:820px)and (min-width:721px){.menu-topline{margin-bottom:3vh}.menu-drawer nav{overflow-y:auto}.menu-drawer nav a{min-height:58px;font-size:30px}.resume-link{padding-top:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
