:root{--ink:#19191d;--muted:#67676f;--line:#dedee3;--paper:#fff;--accent:#4d3ac5;--lilac:#dcd6ee;--rail:224px;--pad:clamp(30px,4.6vw,76px);--sans:'Helvetica Neue',Helvetica,Arial,sans-serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{background:none}a,button,summary{outline-offset:6px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}img{display:block;max-width:100%}h1,h2,h3,h4,p,figure{margin:0}[hidden]{display:none!important}::selection{background:#dcd3ff;color:#19191d}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:-80px;left:20px;padding:13px 22px;color:white;background:var(--accent)}.skip-link:focus{top:15px}.page-pad{padding-inline:var(--pad)}main{margin-left:var(--rail);max-width:calc(1536px - var(--rail))}.rail{width:var(--rail);height:100dvh;position:fixed;inset:0 auto 0 0;z-index:30;background:#18181b;color:#f5f5f7;display:flex;flex-direction:column;padding:38px 30px 28px}.monogram{font-size:48px;font-weight:700;letter-spacing:-5px;line-height:1}.monogram span{color:#c3b6fb;margin-left:3px}.rail-top{display:flex;align-items:center;justify-content:space-between}.rail-body{display:flex;flex-direction:column;flex:1;padding-top:48px;min-height:0}.rail-profile p{font-size:13px;font-weight:500}.rail-profile>span{display:block;margin-top:9px;color:#aaaab4;font-size:12px;line-height:1.65}.rail-nav{display:flex;flex-direction:column;gap:5px;margin-top:52px}.rail-nav a{display:flex;align-items:center;gap:11px;min-height:42px;font-size:12px;color:#adadb6;transition:color .2s}.rail-nav a:hover,.rail-nav a.active{color:#fff}.nav-tick{height:1px;width:8px;background:#73737c;transition:width .2s,background .2s}.rail-nav a.active .nav-tick{width:22px;background:#c3b6fb}.rail-bottom{margin-top:auto;padding-top:35px}.rail-bottom a{font-size:11px;min-height:36px;display:flex;gap:6px;align-items:center;color:#d3d3d9}.rail-bottom a:hover{color:white}.rail-bottom a span{color:#94949f}.rail-note{font-size:10px;line-height:1.8;margin-top:26px;color:#9999a6}.rail-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#29292f}.rail-progress span{display:block;width:100%;height:3px;background:#c3b6fb;transform:scaleX(0);transform-origin:left}.menu-button{display:none}.topline{height:102px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.topline p{color:var(--muted)}.topline a{display:flex;align-items:center;gap:22px;min-height:44px}.topline a:hover{color:var(--accent)}.masthead{display:grid;grid-template-columns:1.23fr 1fr;gap:36px;align-items:end;padding-top:31px;padding-bottom:58px}h1{font-size:clamp(78px,9.6vw,152px);font-weight:700;line-height:.87;letter-spacing:-.055em;margin-left:-.065em}h1>span:not(.sr-only){display:block}h1>span:last-child{margin-top:9px}.intro-copy{max-width:330px;padding-bottom:4px}.intro-role{font-size:clamp(19px,2vw,27px);line-height:1.2;font-weight:500;letter-spacing:-.035em}.intro-copy>p:not(.intro-role){font-size:14px;margin-top:21px;line-height:1.7;color:#666670}.intro-copy>p a{color:var(--ink);text-decoration:underline;text-decoration-color:#bdbdc7;text-underline-offset:4px}.intro-copy .intro-opportunity{max-width:250px}.plain-link{display:inline-flex;gap:18px;align-items:center;font-size:12px;font-weight:500;min-height:44px;padding:6px 0;text-align:left}.plain-link span{display:inline-block;transition:transform .2s}.plain-link:hover{color:var(--accent)}.plain-link:hover span{transform:translate(3px,-3px)}.intro-copy>.plain-link{margin-top:12px}.intro-bottom{border-top:1px solid var(--line);padding:20px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}.intro-bottom>p{color:#707079}.intro-bottom a{min-height:40px;display:flex;gap:25px;align-items:center}.intro-bottom a:hover{color:var(--accent)}.section-heading{display:flex;justify-content:space-between;align-items:center;padding-block:0 22px;gap:20px}.section-heading h2{font-weight:500;font-size:13px}.section-heading>p,.section-heading>span{font-size:11px;color:var(--muted)}.project{margin-bottom:70px;scroll-margin-top:30px}.project-stage{height:540px;position:relative;overflow:hidden}.stage-label{position:absolute;inset:26px 30px auto;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:3;pointer-events:none}.stage-label>span:first-child{font-size:21px;letter-spacing:-.06em;font-weight:600}.stage-label>span:last-child{font-size:10px;opacity:.75}.wheel-stage{background:var(--lilac)}.wheel-stage-copy{position:absolute;left:38px;top:142px;z-index:2;max-width:32%}.wheel-stage-copy p{font-size:clamp(25px,2.9vw,41px);font-weight:500;line-height:1.04;letter-spacing:-.06em}.wheel-stage-copy>span{display:block;font-size:12px;line-height:1.6;margin-top:23px;color:#605778}.shot{position:absolute;background:#fff;padding:0;border-radius:17px;overflow:hidden;box-shadow:0 16px 25px #36314418;transform:translateY(0);transition:transform .6s cubic-bezier(.2,.75,.25,1),box-shadow .4s;text-align:left;border:1px solid #c0bacd}.shot img{width:100%;height:auto}.shot-tax{width:25%;right:31.4%;top:96px;z-index:2}.shot-settings{width:25%;right:3.8%;top:173px;z-index:1}.shot-enlarge{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:var(--ink);color:white;font-size:18px;opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}.shot:focus-visible .shot-enlarge,.shot:hover .shot-enlarge,.desktop-shot:focus-visible .shot-enlarge,.desktop-shot:hover .shot-enlarge{opacity:1;transform:none}.shot:hover{transform:translateY(-12px);box-shadow:0 22px 30px #36314422}.stage-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;min-height:51px;padding:9px 28px;background:var(--lilac);border-top:1px solid #19191d13;z-index:4;gap:18px;font-size:10px}.stage-footer>span{color:#605778}.stage-footer button{display:flex;align-items:center;gap:20px;font-size:11px;min-height:35px;padding:0}.stage-footer button:hover{color:var(--accent)}.project-overview{display:grid;grid-template-columns:1fr 1.13fr;gap:36px;padding-top:28px;padding-bottom:24px}.project-category{font-size:10px;color:var(--muted);margin-bottom:8px}.project-overview h3{font-size:28px;line-height:1.1;font-weight:500;letter-spacing:-.045em}.project-tech{font-size:11px;color:#6a6a76;margin-top:12px}.project-summary>p{font-size:15px;line-height:1.65;color:#4f4f58;max-width:455px}.project-summary .plain-link{margin-top:5px}.build-notes{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.build-notes summary{display:flex;align-items:center;gap:20px;padding:16px 0;min-height:59px;list-style:none;cursor:pointer;font-size:11px}.build-notes summary::-webkit-details-marker{display:none}.build-notes summary>span:first-child{font-weight:600}.note-preview{margin-left:auto;color:#70707a;font-size:11px}.plus{font-size:21px;line-height:1;transition:transform .2s}.build-notes[open] .plus{transform:rotate(45deg)}.build-notes summary:hover>span:first-child{color:var(--accent)}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:10px 0 28px}.notes-grid h4{font-size:12px;font-weight:600;margin-bottom:9px}.notes-grid p{font-size:12px;line-height:1.75;color:var(--muted)}.notes-grid a{display:inline-block;font-size:11px;margin-top:12px;text-decoration:underline;text-underline-offset:3px}.notes-grid a:hover{color:var(--accent)}.bright-stage{height:475px;background:#e9edf0}.bright-stage .stage-footer{background:#e9edf0}.bright-stage .stage-footer>span{color:#5b636b}.desktop-shot{position:absolute;left:13%;right:13%;top:78px;padding:0;background:none;box-shadow:0 17px 30px #1b253327;border-radius:9px 9px 0 0;transition:transform .55s cubic-bezier(.2,.75,.25,1);overflow:hidden}.desktop-shot img{width:100%;height:auto}.desktop-shot:hover{transform:translateY(-7px)}.property-project{background:#292735;color:#f5f3fc;padding:32px 36px 25px;margin-top:10px}.property-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.property-heading .project-category{color:#b9b4cc;font-size:11px}.large-arrow{font-size:42px;line-height:1;padding:4px 0 5px 15px;transition:transform .2s}.large-arrow:hover{transform:translate(3px,-3px);color:#d1c4ff}.property-project h3{font-size:clamp(41px,5.4vw,78px);line-height:.97;letter-spacing:-.065em;font-weight:500;margin-top:10px}.property-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;margin-top:34px}.property-intro{font-size:20px;line-height:1.35;letter-spacing:-.03em}.property-grid>div>p{font-size:13px;line-height:1.8;color:#c4bfd4}.property-links{display:flex;flex-wrap:wrap;gap:7px 25px;margin-top:13px}.property-links .plain-link{font-size:11px}.property-project a:hover{color:#dacfff}.evidence-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:27px;margin:30px 0 0;border-top:1px solid #514b65;padding-top:22px}.evidence-strip dt{font-size:12px;margin-bottom:6px}.evidence-strip dd{margin:0;font-size:11px;line-height:1.65;color:#c4bfd4}.property-boundary{font-size:10px;color:#aaa3bf;margin-top:25px}.other-work{margin-top:2px;margin-bottom:90px}.other-work header{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:24px}.other-work h3{font-size:18px;font-weight:500;letter-spacing:-.025em}.other-work header p{font-size:10px;color:var(--muted)}.archive-row{display:grid;grid-template-columns:48px 1fr 1.25fr 18px;gap:20px;align-items:center;width:100%;padding:21px 0;border-top:1px solid var(--line);text-align:left;transition:padding .2s,background .2s}.archive-row:last-child{border-bottom:1px solid var(--line)}.archive-row:hover{background:#f8f7fc;padding-inline:10px}.archive-icon{height:48px;display:grid;place-items:center;font-size:21px;font-weight:600;letter-spacing:-.08em;background:#ede9df}.data-icon{background:#e5e9e7;font:18px var(--mono);letter-spacing:-.07em}.archive-thumb{height:48px;overflow:hidden;background:#171923}.archive-thumb img{width:100%;height:auto;transform:translateY(-8px)}.archive-name{display:flex;flex-direction:column;font-size:14px;font-weight:500;line-height:1.3;gap:7px}.archive-name>span{font-size:10px;font-weight:400;color:var(--muted)}.archive-desc{font-size:12px;color:#53535f;line-height:1.5}.archive-desc>small{display:block;font-size:10px;color:#70707a;margin-top:6px}.archive-arrow{font-size:22px;transition:transform .2s}.archive-row:hover .archive-arrow{transform:translate(3px,-3px)}.about{padding-top:48px;padding-bottom:76px;border-top:1px solid var(--line);background:#f7f7f9}.about .section-heading{margin-bottom:31px}.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-bottom:55px}.about-intro>p{font-size:clamp(26px,2.7vw,37px);line-height:1.15;letter-spacing:-.045em;font-weight:500}.about-intro>p em{font-style:normal;color:#817499}.about-intro>div>p{font-size:14px;line-height:1.8;color:#60606c}.about-intro>div>p+p{margin-top:17px}.experience{display:grid;grid-template-columns:.37fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:28px}.section-sublabel{font-size:11px;color:var(--muted)}.job-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.job-heading h3{font-size:15px;font-weight:500;letter-spacing:-.02em}.job-heading>p{font-size:11px;white-space:nowrap;color:var(--muted);padding-top:2px}.job-heading a{display:inline-block;font-size:12px;margin-top:8px;text-decoration:underline;text-decoration-color:#ccc6dc;text-underline-offset:4px}.job-heading a:hover{color:var(--accent)}.job-description{font-size:13px;line-height:1.75;color:var(--muted);margin-top:20px;max-width:540px}.skill-rows{margin-top:20px;margin-bottom:0}.skill-rows>div{display:grid;grid-template-columns:.4fr 1fr;gap:25px;padding:14px 0;border-top:1px solid var(--line)}.skill-rows dt{font-size:11px;font-weight:500}.skill-rows dd{font-size:11px;color:var(--muted);margin:0;line-height:1.75}.credentials{margin-top:46px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.credential-block h3{font-size:11px;font-weight:400;color:var(--muted);padding-bottom:17px;border-bottom:1px solid var(--line)}.credential-block>div{margin-top:22px}.credential-block strong{display:block;font-size:12px;font-weight:500;line-height:1.4}.credential-block span{display:block;color:var(--muted);font-size:11px;margin-top:6px}.credential-block>p{font-size:11px;color:var(--muted);margin-top:23px;max-width:310px}.resume-banner{display:flex;justify-content:space-between;align-items:center;padding:23px 0 0;margin-top:47px;border-top:1px solid var(--line);gap:25px}.resume-banner>span:first-child{font-size:18px;font-weight:500;letter-spacing:-.025em}.resume-banner small{display:block;font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:5px}.resume-banner>span:last-child{font-size:30px;transition:transform .2s}.resume-banner:hover>span:last-child{transform:translate(4px,-4px);color:var(--accent)}.contact{background:#d9d1f0;padding-top:43px;padding-bottom:44px}.contact-top{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}.contact-top>span{font-size:55px;line-height:1}.contact h2{font-size:clamp(62px,7.8vw,112px);font-weight:500;letter-spacing:-.067em;line-height:.93;margin-top:32px}.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-top:46px}.contact-bottom>p{font-size:12px;line-height:1.8;color:#564d6c}.email-link{font-size:clamp(16px,1.65vw,24px);letter-spacing:-.04em;display:inline-block;padding-bottom:4px;border-bottom:1px solid #18181b;overflow-wrap:anywhere}.email-link span{margin-left:10px}.contact-bottom button{display:block;min-height:44px;padding:8px 0 0;font-size:10px;color:#574c72}.contact-bottom button:hover{text-decoration:underline;text-underline-offset:4px}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:26px;color:#6e6e78;font-size:10px}.footer a{min-height:35px;display:flex;align-items:center}.footer a:hover{color:var(--accent)}.gallery{width:min(1160px,94vw);max-height:94dvh;padding:0;border:0;background:#f7f7f9;color:var(--ink);overscroll-behavior:contain}.gallery::backdrop{background:#101018de;backdrop-filter:blur(7px)}.gallery-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 28px;border-bottom:1px solid var(--line)}.gallery-head p{font-size:10px;color:var(--muted);margin-bottom:5px}.gallery-head h2{font-size:23px;font-weight:500;letter-spacing:-.04em}.gallery-head>button{font-size:12px;display:flex;align-items:center;gap:25px;min-height:44px}.gallery-head>button>span{font-size:26px}.gallery-view{display:grid;grid-template-columns:50px 1fr 50px;gap:20px;padding:24px 28px 0;align-items:center}.gallery-view figure{margin:0;min-width:0}.gallery-view img{margin:auto;max-height:62dvh;max-width:100%;width:auto;object-fit:contain;box-shadow:0 2px 18px #18181b12}.gallery-view figcaption{text-align:center;font-size:11px;color:var(--muted);margin:16px 0 0;line-height:1.65}.gallery-arrow{width:46px;height:46px;font-size:23px;border:1px solid var(--line);border-radius:50%}.gallery-arrow:hover{background:#e3def2}.gallery-arrow:disabled{opacity:.25;cursor:default;background:none}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px;font-size:10px;color:var(--muted)}#gallery-dots{display:flex;align-items:center;gap:3px}#gallery-dots button{width:30px;height:30px;display:grid;place-items:center}#gallery-dots button:after{content:'';height:4px;width:13px;background:#c6c3d0;transition:background .2s}#gallery-dots button[aria-pressed=true]:after{background:var(--ink)}#gallery-error{padding:60px 20px;font-size:14px;text-align:center}#gallery-error a{display:block;text-decoration:underline;margin-top:12px}.toast{position:fixed;bottom:24px;left:calc(50% + var(--rail)/2);transform:translateX(-50%);background:#18181b;color:#fff;box-shadow:0 4px 20px #0002;padding:13px 23px;z-index:100;font-size:12px;text-align:center;max-width:calc(100vw - 32px);width:max-content;border:1px solid #666}.noscript-note{padding:16px;max-width:900px;margin:0 auto;font-size:12px}.reveal{animation:reveal .7s ease both}@keyframes reveal{from{opacity:.45;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:1536px){body{max-width:1536px;margin:auto}.rail{left:calc((100vw - 1536px)/2)}body:after{content:'';position:fixed;left:calc((100vw + 1536px)/2);top:0;bottom:0;width:1px;background:var(--line)}}
@media(max-width:1180px){:root{--rail:195px;--pad:35px}.rail{padding:32px 22px 25px}.masthead{gap:30px;grid-template-columns:1.15fr 1fr}.intro-copy>p:not(.intro-role){font-size:13px}.intro-role{font-size:22px}h1{font-size:clamp(80px,9.9vw,115px)}.project-stage{height:455px}.wheel-stage-copy{left:30px;top:126px}.wheel-stage-copy p{font-size:33px}.shot-tax{top:90px;right:31%;width:26%}.shot-settings{top:151px;right:2.5%;width:26%}.wheel-stage-copy>span{font-size:11px}.bright-stage{height:395px}.desktop-shot{left:10%;right:10%;top:75px}.contact-bottom{align-items:start}.contact-bottom>p{font-size:11px}.property-project{padding-inline:28px}.other-work header{display:block}.other-work header p{margin-top:7px}.archive-row{grid-template-columns:43px 1fr 1fr 18px;gap:17px}.archive-icon,.archive-thumb{height:43px}.archive-name{font-size:13px}.archive-desc{font-size:11px}.about-intro{gap:30px}.experience{grid-template-columns:.25fr 1fr}.credentials{gap:30px}}
@media(max-width:900px){:root{--rail:168px;--pad:30px}.rail{padding-inline:19px}.rail-profile p{font-size:11px}.rail-profile>span{font-size:10px}.rail-nav a{font-size:10px;gap:8px}.rail-nav a.active .nav-tick{width:14px}.rail-bottom a{font-size:10px}.rail-note{font-size:9px}.masthead{grid-template-columns:1fr;gap:33px;padding-top:22px;padding-bottom:33px}h1{font-size:100px;letter-spacing:-.055em;line-height:.85}.intro-copy{display:grid;grid-template-columns:1fr 1.1fr;max-width:none;gap:0 24px}.intro-role{font-size:21px}.intro-copy>p:not(.intro-role){margin-top:0;font-size:12px}.intro-copy .intro-opportunity{grid-column:1;margin-top:17px!important;font-size:11px!important}.intro-copy>.plain-link{grid-column:2;grid-row:2;margin-top:13px;font-size:11px}.topline{height:78px;font-size:11px}.intro-bottom{font-size:10px;padding-bottom:24px;gap:20px}.intro-bottom a{gap:10px}.project-stage{height:395px}.stage-label{inset:21px 23px auto}.stage-label>span:first-child{font-size:19px}.stage-label>span:last-child{font-size:9px}.wheel-stage-copy{left:24px;top:108px}.wheel-stage-copy p{font-size:29px}.wheel-stage-copy>span{font-size:10px}.shot-tax{width:28%;right:31%;top:88px}.shot-settings{width:28%;right:1.3%;top:142px}.stage-footer{padding-inline:23px;font-size:9px;min-height:44px}.stage-footer button{font-size:10px;gap:12px}.project-overview{grid-template-columns:.9fr 1.1fr;gap:25px;padding-top:25px}.project-overview h3{font-size:25px}.project-summary>p{font-size:13px}.project-tech{font-size:10px;line-height:1.7;max-width:210px}.note-preview{font-size:10px;max-width:190px;text-align:right}.build-notes summary{font-size:10px;gap:13px}.notes-grid{grid-template-columns:1fr;gap:22px}.bright-stage{height:360px}.desktop-shot{left:8%;right:8%;top:69px}.property-grid{grid-template-columns:1fr;gap:19px}.property-intro{font-size:20px}.property-grid>div>p{font-size:12px}.property-project h3{font-size:56px}.evidence-strip{gap:19px}.evidence-strip dd{font-size:10px}.property-boundary{font-size:9px}.archive-row{grid-template-columns:43px 1fr 18px}.archive-desc{display:none}.archive-name{font-size:14px}.archive-name>span{font-size:10px}.other-work{margin-bottom:60px}.about-intro{grid-template-columns:1fr;gap:26px;padding-bottom:33px}.about-intro>p{font-size:35px}.about-intro>div>p{font-size:13px}.experience{grid-template-columns:1fr;gap:18px}.section-sublabel{font-size:10px}.job-heading h3{font-size:14px}.job-heading>p{font-size:10px}.credentials{grid-template-columns:1fr 1fr;gap:25px}.credential-block strong{font-size:11px}.credential-block span{font-size:10px}.resume-banner>span:first-child{font-size:17px}.resume-banner small{font-size:10px}.contact h2{font-size:80px}.contact-bottom{flex-direction:column;gap:23px}.contact-bottom>p br{display:none}.contact-bottom>p{font-size:12px}.email-link{font-size:24px}.project{margin-bottom:50px}.section-heading h2{font-size:12px}.section-heading>p,.section-heading>span{font-size:10px}}
@media(max-width:800px){:root{--rail:0px;--pad:24px}html{scroll-padding-top:92px}.rail{inset:0 0 auto;width:100%;height:auto;padding:0 24px}.rail-top{height:69px}.monogram{font-size:35px;letter-spacing:-4px}.monogram span{margin-left:2px}.menu-button{display:flex;align-items:center;gap:20px;min-width:74px;min-height:44px;font-size:11px;color:#eee;padding:0;justify-content:flex-end}.menu-button span{font-size:20px}.rail-body{display:none;padding-top:12px;padding-bottom:25px;max-height:calc(100dvh - 69px);overflow-y:auto}.rail.is-open .rail-body{display:flex}.rail-profile{display:none}.rail-nav{margin-top:0;gap:4px}.rail-nav a{font-size:16px;padding:12px 0;gap:14px}.nav-tick{width:10px}.rail-nav a.active .nav-tick{width:25px}.rail-bottom{padding-top:20px;display:flex;gap:20px;flex-wrap:wrap}.rail-bottom a{font-size:11px;min-height:44px}.rail-note{display:none}.rail-progress{height:2px}.rail-progress span{height:2px}main{margin-left:0;margin-top:69px;max-width:100%}.topline{height:65px;font-size:11px}.masthead{padding-top:18px;padding-bottom:25px;gap:29px;grid-template-columns:1fr}h1{font-size:clamp(85px,16vw,109px);line-height:.86;letter-spacing:-.055em}.intro-copy{grid-template-columns:1fr 1.1fr;gap:0 20px}.intro-role{font-size:20px}.intro-copy>p:not(.intro-role){font-size:12px}.intro-copy .intro-opportunity{font-size:10px!important;margin-top:16px!important;line-height:1.7}.intro-copy>.plain-link{font-size:11px;margin-top:14px}.intro-bottom{padding-block:16px 26px}.intro-bottom>p{font-size:9px;max-width:170px}.intro-bottom a{font-size:10px;gap:14px}.section-heading{padding-bottom:18px}.section-heading h2{font-size:12px}.section-heading>p{font-size:9px}.project-stage{height:445px}.wheel-stage-copy{left:25px;top:110px;max-width:37%}.wheel-stage-copy p{font-size:32px}.wheel-stage-copy>span{font-size:10px}.shot-tax{width:29%;right:30.5%;top:92px}.shot-settings{width:29%;right:1%;top:148px}.stage-label{inset:21px 23px auto}.stage-label>span:last-child{font-size:9px}.stage-footer{min-height:46px}.project-overview{gap:20px;grid-template-columns:1fr 1.1fr;padding-top:22px;padding-bottom:20px}.project-overview h3{font-size:25px}.project-tech{font-size:9px;max-width:160px}.project-summary>p{font-size:12px}.project-summary>.plain-link{font-size:11px;gap:14px}.project-category{font-size:9px}.build-notes summary{padding-block:13px;min-height:54px}.note-preview{font-size:9px;max-width:none}.notes-grid{gap:21px}.notes-grid h4{font-size:12px}.notes-grid p{font-size:12px}.project{margin-bottom:42px}.bright-stage{height:385px}.desktop-shot{left:7%;right:7%;top:70px}.property-project{padding:24px 25px}.property-heading .project-category{font-size:10px}.property-project h3{font-size:65px;margin-top:7px}.property-grid{margin-top:25px;gap:19px}.property-intro{font-size:22px}.property-grid>div>p{font-size:13px}.property-links{gap:5px 22px}.property-links .plain-link{font-size:10px}.evidence-strip{margin-top:23px;gap:20px}.property-boundary{font-size:9px}.other-work{margin-top:10px;margin-bottom:55px}.other-work header{margin-bottom:23px}.other-work h3{font-size:20px}.other-work header p{font-size:10px}.archive-row{grid-template-columns:43px 1fr 18px;padding-block:18px}.archive-row:hover{padding-inline:0}.archive-name{font-size:14px}.archive-name>span{font-size:10px}.about{padding-top:36px;padding-bottom:45px}.about .section-heading{margin-bottom:23px}.about-intro>p{font-size:34px}.about-intro>div>p{font-size:13px}.about-intro{gap:22px;padding-bottom:29px}.job-heading{gap:15px}.job-heading h3{font-size:14px}.job-heading a{font-size:12px}.job-heading>p{font-size:10px}.job-description{font-size:12px}.skill-rows>div{grid-template-columns:.4fr 1fr;gap:20px}.skill-rows dt,.skill-rows dd{font-size:10px}.credentials{gap:27px;margin-top:34px}.credential-block strong{font-size:11px}.credential-block span{font-size:10px}.credential-block>p{font-size:10px}.resume-banner{margin-top:32px;padding-top:21px}.resume-banner>span:first-child{font-size:17px}.resume-banner small{font-size:10px;max-width:230px}.contact{padding-top:29px;padding-bottom:30px}.contact-top{font-size:11px}.contact-top>span{font-size:42px}.contact h2{font-size:85px;margin-top:24px}.contact-bottom{margin-top:33px;gap:20px}.contact-bottom>p{font-size:11px;max-width:270px}.email-link{font-size:22px}.contact-bottom button{font-size:10px}.footer{font-size:9px;padding-block:17px}.gallery{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}.gallery-head{padding:16px 20px;height:86px}.gallery-head h2{font-size:23px}.gallery-view{height:calc(100dvh - 164px);padding:20px 12px 0;grid-template-columns:32px 1fr 32px;gap:6px}.gallery-view img{max-height:calc(100dvh - 245px)}.gallery-view figcaption{font-size:10px;margin-top:16px}.gallery-arrow{height:32px;width:32px;font-size:18px}.gallery-bottom{height:78px;padding:14px 20px}.gallery-hint{display:none}.gallery-head>button{font-size:11px;gap:20px}.toast{left:50%;font-size:11px;width:max-content}}
@media(max-width:450px){:root{--pad:20px}.rail{padding-inline:20px}.topline{height:62px}.masthead{padding-top:18px;gap:30px}h1{font-size:89px}.intro-role{font-size:19px}.intro-copy{grid-template-columns:.9fr 1.1fr;gap:0 19px}.intro-copy>p:not(.intro-role){font-size:11px}.intro-copy>.plain-link{font-size:10px}.intro-bottom>p{font-size:8.5px;max-width:150px}.intro-bottom a{font-size:9px;gap:9px}.section-heading>p{font-size:9px}.project-stage{height:458px}.stage-label{inset:18px 20px auto}.stage-label>span:first-child{font-size:20px}.stage-label>span:last-child{font-size:8px}.wheel-stage-copy{left:20px;top:60px;max-width:100%}.wheel-stage-copy p{font-size:24px;letter-spacing:-.045em}.wheel-stage-copy p br{display:none}.wheel-stage-copy p br:after{content:' '}.wheel-stage-copy p{max-width:250px}.wheel-stage-copy>span{display:none}.shot-tax{width:42%;right:50%;top:134px}.shot-settings{width:42%;right:5%;top:189px}.stage-footer{min-height:43px;padding:7px 18px}.stage-footer>span{font-size:8px}.stage-footer button{font-size:9px;gap:9px;min-height:32px}.project-overview{grid-template-columns:1fr;gap:15px;padding-top:22px;padding-bottom:19px}.project-overview h3{font-size:27px}.project-tech{font-size:10px;max-width:none;margin-top:9px}.project-summary>p{font-size:13px}.project-summary>.plain-link{margin-top:7px;font-size:11px}.project-category{font-size:9px}.build-notes summary{gap:13px}.note-preview{max-width:162px;font-size:9px}.bright-stage{height:312px}.desktop-shot{left:6%;right:6%;top:64px}.property-project{padding:23px 23px}.property-project h3{font-size:56px}.property-heading .project-category{font-size:9px}.large-arrow{font-size:34px}.property-intro{font-size:20px}.property-grid>div>p{font-size:12px}.property-links{gap:5px 18px}.property-links .plain-link{gap:11px;font-size:10px}.evidence-strip{gap:18px;grid-template-columns:1fr}.evidence-strip>div{display:grid;grid-template-columns:49px 1fr;gap:15px}.evidence-strip dt{font-size:11px}.evidence-strip dd{font-size:10px}.property-boundary{font-size:9px;line-height:1.7;margin-top:18px}.archive-name{font-size:13px}.archive-name>span{font-size:9px}.other-work h3{font-size:18px}.about-intro>p{font-size:32px}.job-heading{flex-direction:column;gap:8px}.job-heading>p{font-size:10px}.job-description{margin-top:16px}.credentials{grid-template-columns:1fr;gap:33px}.credential-block strong{font-size:12px}.credential-block span{font-size:11px}.credential-block>p{font-size:10px;max-width:250px}.credential-block>div{margin-top:20px}.contact h2{font-size:73px}.email-link{font-size:21px}.contact-top>span{font-size:40px}}
@media(max-width:360px){h1{font-size:77px}.intro-role{font-size:17px}.intro-copy{gap:0 13px}.intro-copy>p:not(.intro-role){font-size:10px}.intro-copy .intro-opportunity{font-size:9px!important}.intro-copy>.plain-link{font-size:9px;gap:11px}.intro-bottom>p{max-width:135px;font-size:8px}.intro-bottom a{font-size:8px}.section-heading>p{font-size:8px}.wheel-stage-copy p{font-size:22px;max-width:240px}.project-stage{height:411px}.shot-tax{top:125px}.shot-settings{top:174px}.bright-stage{height:287px}.project-tech{font-size:9px}.note-preview{max-width:145px;font-size:8px}.property-project h3{font-size:49px}.property-project{padding-inline:20px}.property-intro{font-size:18px}.about-intro>p{font-size:28px}.contact h2{font-size:63px}.email-link{font-size:18px}.resume-banner small{max-width:208px;font-size:9px}}
@media(hover:none){.shot-enlarge{opacity:1;transform:none;width:25px;height:25px;top:7px;right:7px;font-size:14px}.shot:hover,.desktop-shot:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.shot:hover,.desktop-shot:hover{transform:none}}
@media print{.rail,.project-stage,.other-work,.contact,.footer,.intro-bottom,.topline,.plain-link,.resume-banner,.gallery,.toast{display:none!important}main{margin:0;max-width:none}.page-pad{padding:0}.masthead{padding:0 0 20px;grid-template-columns:1fr 1fr}h1{font-size:42pt}.work,.about{padding-top:18px}.project{margin:0 0 22px;break-inside:avoid}.property-project{color:black;background:white;padding:15px 0}.property-project h3{font-size:26pt}.property-grid,.about-intro{grid-template-columns:1fr 1fr}.property-grid p,.property-heading p,.property-boundary,.property-project dd{color:black!important}.property-grid .property-links,.property-heading .large-arrow{display:none}.about{background:white;padding-bottom:0}.intro-copy .intro-opportunity{display:none}.about-intro{padding-bottom:20px}.experience{grid-template-columns:1fr}.credentials{margin-top:20px}.skill-rows>div{padding:8px 0}.section-heading{padding-bottom:15px}.build-notes{display:none}.property-project h3 br{display:none}body{font-size:10pt}}

/* Compact screens use reading-sized copy rather than a miniature desktop grid. */
@media(max-width:450px){
 .intro-copy{grid-template-columns:1fr;gap:0}.intro-role{font-size:22px;line-height:1.2}.intro-role br{display:none}.intro-copy>p:not(.intro-role){font-size:14px;line-height:1.65;margin-top:15px}.intro-copy .intro-opportunity{font-size:12px!important;max-width:310px;margin-top:12px!important}.intro-copy>.plain-link{grid-column:auto;grid-row:auto;font-size:12px;margin-top:8px}.intro-bottom>p{font-size:10px;max-width:180px}.intro-bottom a{font-size:10px}.section-heading>p,.project-category,.project-tech{font-size:10px}.stage-label>span:last-child{font-size:10px;max-width:120px;text-align:right}.stage-footer>span{font-size:10px}.stage-footer button{font-size:10px}.note-preview{font-size:10px;max-width:175px}.build-notes summary{font-size:11px}.archive-name>span{font-size:10px}.footer{font-size:10px}.property-heading .project-category{font-size:10px}.property-boundary{font-size:10px}.credential-block>p{font-size:11px}.skill-rows dt,.skill-rows dd{font-size:11px}.resume-banner small{font-size:11px}.contact-bottom>p{font-size:12px}.contact-bottom button{font-size:11px}
}
@media(max-width:360px){.intro-role{font-size:20px}.intro-bottom>p{max-width:145px;font-size:10px}.intro-bottom a{font-size:10px}.section-heading>p{font-size:9px}.note-preview{max-width:145px;font-size:9px}.stage-label>span:last-child{font-size:9px;max-width:96px}.stage-footer>span,.stage-footer button{font-size:9px}.resume-banner small{font-size:10px}}

@media(min-width:801px) and (max-height:700px){.rail{padding-top:24px;padding-bottom:22px}.rail-body{padding-top:28px;overflow:auto}.rail-nav{margin-top:28px}.rail-bottom{padding-top:20px}.rail-note{margin-top:16px}}
