@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_f880305f-module__AJLRcW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_f880305f-module__AJLRcW__variable{--font-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.3zvkfbs08rnj_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3strvg7o-g5v2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1wwzpfhzaj2r0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.2rlzm4mj5kw8e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_115e7596-module__CKpAPW__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_115e7596-module__CKpAPW__variable{--font-display:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_cbb339f3-module__Cm0rrG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_cbb339f3-module__Cm0rrG__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f3f0e8;--paper-raised:#f8f5ed;--ink:#111;--ink-soft:#3f3d38;--ink-muted:#68655e;--accent:#1455d9;--accent-dark:#0f43ae;--rule:#cbc6ba;--rule-strong:#918c82;--visual-field:#e9e5db;--navy:#082d63;--navy-panel:#073674;--navy-deep:#061f47;--navy-line:#b0d3ff47;--navy-line-strong:#b0d3ff80;--navy-text:#eaf2ff;--navy-text-soft:#bfd5ee;--navy-text-muted:#9fcaff;--navy-accent:#7fbfff;--frame:min(100% - 128px, 1312px);--section-space:clamp(4.75rem, 7vw, 7rem);--header-height:76px;--ease-out:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);overflow-x:clip}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans), Arial, sans-serif;margin:0;font-size:17px;line-height:1.55}a{color:inherit;text-underline-offset:.28em;text-decoration-thickness:1px}a:hover{color:var(--accent)}::selection{color:var(--paper);background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}svg{max-width:100%;display:block}h1,h2,h3,h4,h5{text-wrap:balance}p{text-wrap:pretty}[id]{scroll-margin-top:calc(var(--header-height) + 24px)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:60;background:var(--ink);color:var(--paper);padding:12px 18px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header,.site-footer,.section-frame{width:var(--frame);margin-inline:auto}.site-header>*,.hero>*,.project>*,.approach-grid>*{min-width:0}.site-header{z-index:30;height:var(--header-height);font:500 12px/1 var(--font-mono), monospace;letter-spacing:.04em;text-transform:uppercase;grid-template-columns:repeat(12,1fr);align-items:center;gap:24px;display:grid;position:sticky;top:0}.site-header:before{content:"";z-index:-1;background:var(--paper);border-bottom:1px solid var(--ink);position:absolute;inset:0 calc(50% - 50vw)}.scroll-progress{z-index:1;background:var(--accent);transform-origin:0;width:100vw;height:2px;position:absolute;bottom:-1px;left:calc(50% - 50vw);transform:scaleX(0)}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.scroll-progress{animation:linear both scroll-progress;animation-timeline:scroll(root)}}}.wordmark{min-width:44px;min-height:44px;font-family:var(--font-sans);letter-spacing:-.04em;grid-column:1/3;align-items:center;font-size:17px;font-weight:650;text-decoration:none;display:inline-flex}.wordmark span{color:var(--accent);margin-inline:2px}.desktop-navigation{grid-column:4/10;gap:clamp(22px,3vw,48px);display:flex}.site-header nav a,.header-actions a{justify-content:center;align-items:center;min-width:44px;min-height:44px;text-decoration:none;display:inline-flex}.header-actions{white-space:nowrap;grid-column:10/13;justify-content:flex-end;gap:clamp(16px,2vw,28px);display:flex}.header-contact{color:var(--accent)}.mobile-navigation{display:none}.button{border:1px solid var(--ink);min-height:50px;font:500 14px/1 var(--font-mono), monospace;letter-spacing:.04em;white-space:nowrap;transition:background .18s var(--ease-out), color .18s var(--ease-out), border-color .18s var(--ease-out), transform .11s var(--ease-out);justify-content:center;align-items:center;gap:10px;padding-inline:24px;text-decoration:none;display:inline-flex}.button-primary{color:var(--paper);background:var(--ink)}.button-primary:hover,.button-primary:focus-visible{color:var(--paper);background:var(--accent);border-color:var(--accent)}.button-secondary{color:var(--ink);background:0 0}.button-secondary:hover,.button-secondary:focus-visible{color:var(--paper);background:var(--ink)}.button:active{transform:translateY(1px)}.portfolio-main{isolation:isolate;position:relative}.section-frame{border-bottom:1px solid var(--ink);padding-block:var(--section-space);position:relative}.hero{min-height:calc(100svh - var(--header-height));grid-template-columns:repeat(12,1fr);align-content:center;column-gap:24px;padding-top:clamp(48px,5vw,84px);display:grid}.hero-copy{grid-column:1/8;align-self:center}.eyebrow{color:var(--ink-muted);font:500 12px/1.4 var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin:0}.hero h1{font:400 clamp(2.9rem, 4.1vw, 3.9rem)/1.02 var(--font-display), Georgia, serif;letter-spacing:-.035em;margin:clamp(22px,2.6vw,34px) 0 0}.hero h1 em,.section-heading h2 em{color:var(--accent);font-weight:400}.hero-deck{max-width:46ch;color:var(--ink-soft);margin:clamp(20px,2.2vw,30px) 0 0;font-size:19px;line-height:1.5}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:clamp(26px,3vw,40px);display:flex}.hero-visual{grid-column:8/13;align-self:center}.hero-diagram{margin:0}.hero-diagram svg{width:100%;height:auto}.hero-diagram figcaption{border-top:1px solid var(--ink);color:var(--ink-muted);font:500 11px/1.35 var(--font-mono), monospace;letter-spacing:.05em;justify-content:space-between;gap:24px;margin-top:14px;padding-top:12px;display:flex}.hero-diagram figcaption span:last-child{text-align:right;white-space:nowrap}.hero-diagram-mobile{display:none}.section-heading{grid-template-columns:repeat(12,1fr);gap:8px 24px;margin-bottom:clamp(44px,5vw,72px);display:grid}.section-index{color:var(--ink-muted);font:500 12px/1.9 var(--font-mono), monospace;letter-spacing:.06em;grid-area:1/1/auto/2;margin:0}.section-heading h2{font:400 clamp(2.4rem, 3.6vw, 3.4rem)/1.04 var(--font-display), Georgia, serif;letter-spacing:-.028em;grid-area:1/2/auto/9;margin:0}.section-deck{max-width:58ch;color:var(--ink-soft);grid-area:2/2/auto/8;margin:14px 0 0;font-size:18px}.project-jump-index{border-block:1px solid var(--ink);margin:0 0 clamp(52px,6vw,84px);padding-block:4px}.project-jump-index ol{font:500 12px/1.4 var(--font-mono), monospace;letter-spacing:.04em;grid-template-columns:repeat(4,1fr);gap:0 24px;margin:0;padding:0;list-style:none;display:grid}.project-jump-index a{align-items:center;gap:12px;min-height:46px;text-decoration:none;display:flex}.project-jump-index a span,.project-jump-index a:hover,.project-jump-index a:focus-visible{color:var(--accent)}.project-list{gap:clamp(72px,8vw,116px);display:grid}.project{border-top:1px solid var(--ink);grid-template-columns:repeat(12,1fr);gap:24px;padding-top:24px;display:grid}.project-portfolio{--accent:#245fbe}.project-markets{--accent:#285a46}.project-poker{--accent:#ac4b21}.project-audio{--accent:#1455d9}.project-header{grid-column:1/8}.project-index{color:var(--accent);font:500 12px/1.4 var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin:0 0 26px}.project h3{max-width:16ch;font:400 clamp(2.5rem, 3.9vw, 3.7rem)/1.02 var(--font-display), Georgia, serif;letter-spacing:-.03em;margin:0}.project-summary{max-width:52ch;color:var(--ink-soft);margin:26px 0 0;font-size:17px;line-height:1.55}.project-data{border-top:1px solid var(--ink);font:500 12px/1.45 var(--font-mono), monospace;grid-column:9/13;align-self:start;margin:0}.project-data>div{border-bottom:1px solid var(--rule);grid-template-columns:92px 1fr;gap:12px;padding-block:11px;display:grid}.project-data dt{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em}.project-data dd{margin:0}.project-data>div:first-child dt{color:var(--accent)}.project-data-wide{grid-template-columns:1fr!important}.project-data-wide dd{color:var(--ink-soft);margin-top:4px;line-height:1.5}.project-figure{background:var(--visual-field);border:1px solid var(--rule-strong);grid-column:1/13;margin:clamp(34px,3.5vw,52px) 0 0;position:relative;overflow:hidden}.project-svg{aspect-ratio:840/520;width:100%;padding:clamp(12px,2vw,24px)}.project-screenshot,.project-figure picture img{width:100%;height:auto;display:block}.portfolio-staging-screenshot{background:#0d1117}.project-figure figcaption{border-top:1px solid var(--ink);font:500 11px/1.35 var(--font-mono), monospace;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;gap:24px;margin:0 18px;padding:12px 0;display:flex}.project-figure figcaption span:last-child{color:var(--ink-muted);text-align:right}.results{grid-column:1/13;margin-top:clamp(30px,3vw,44px)}.results h4{max-width:24ch;font:400 clamp(1.6rem, 2.1vw, 2.05rem)/1.15 var(--font-display), Georgia, serif;letter-spacing:-.02em;margin:0 0 26px}.results ol{grid-template-columns:repeat(4,1fr);gap:24px;margin:0;padding:0;list-style:none;display:grid}.results li{border-top:1px solid var(--ink);padding-top:16px}.result-label{color:var(--ink-muted);font:500 11px/1.4 var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin:0}.result-figures{font:500 15px/1.1 var(--font-mono), monospace;letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:8px;margin:14px 0 0;display:flex}.result-before,.result-arrow{color:var(--ink-muted)}.result-figures strong{color:var(--accent);font-size:27px;font-weight:500}.result-change{color:var(--ink-muted);font:500 11px/1.4 var(--font-mono), monospace;letter-spacing:.05em;margin:8px 0 0}.result-detail{color:var(--ink-soft);margin:14px 0 0;font-size:13px;line-height:1.55}.project-gallery{border-block:1px solid var(--ink);background:var(--paper-raised);grid-column:1/13;margin-top:clamp(26px,2.5vw,38px)}.project-gallery summary,.project-details summary{cursor:pointer;min-height:58px;color:var(--ink-soft);font:500 12px/1.4 var(--font-mono), monospace;letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:24px;padding-inline:20px;list-style:none;display:flex}.project-gallery summary::-webkit-details-marker{display:none}.project-details summary::-webkit-details-marker{display:none}.project-gallery summary::marker{content:""}.project-details summary::marker{content:""}.project-gallery summary:hover,.project-gallery summary:focus-visible,.project-details summary:hover,.project-details summary:focus-visible{color:var(--accent)}.project-gallery-heading{align-items:baseline;gap:16px;display:flex}.project-gallery-heading strong{color:var(--ink);font-size:15px;font-weight:600}.project-gallery summary small{color:var(--ink-muted);font-size:11px}.project-gallery-action,.disclosure-icon{width:30px;height:30px;transition:transform .18s var(--ease-out), background .18s var(--ease-out), color .18s var(--ease-out);border:1px solid;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.project-gallery[open] .project-gallery-action,.project-details[open] .disclosure-icon{transform:rotate(45deg)}.project-gallery summary:hover .project-gallery-action,.project-details summary:hover .disclosure-icon{color:var(--paper);background:var(--accent)}.project-gallery-grid{background:var(--rule);grid-template-columns:1fr 1fr;gap:1px;padding-top:1px;display:grid}.project-gallery-grid figure{background:var(--paper-raised);margin:0;padding:12px}.project-gallery-grid a{display:block}.project-gallery-grid img{border:1px solid var(--rule-strong);width:100%;height:auto;display:block}.project-gallery-grid figcaption{color:var(--ink-muted);font:500 11px/1.4 var(--font-mono), monospace;letter-spacing:.05em;text-transform:uppercase;padding-top:10px}.project-details{border-bottom:1px solid var(--ink);grid-column:1/13;align-self:start}.project-details summary{padding-inline:0}.project-details-content{padding-bottom:20px}.project-marginalia{background:var(--rule);grid-template-columns:repeat(4,1fr);gap:1px;margin:0;padding:1px;list-style:none;display:grid}.project-marginalia li{background:var(--paper-raised);padding:16px}.project-marginalia span{color:var(--accent);font:500 11px/1.2 var(--font-mono), monospace;letter-spacing:.05em}.project-marginalia p{color:var(--ink-soft);margin:8px 0 0;font-size:13px;line-height:1.5}.project-technical-visual{border:1px solid var(--rule-strong);background:var(--visual-field);margin-top:18px}.pitch-architecture-mobile,.portfolio-architecture-mobile{display:none}.project-links{flex-wrap:wrap;grid-column:1/13;gap:24px;display:flex}.project-link{border-bottom:1px solid var(--ink);justify-content:space-between;gap:20px;min-width:260px;padding-block:18px;font-size:15px;text-decoration:none;display:flex}.project-link:hover,.project-link:focus-visible{color:var(--accent);border-color:var(--accent)}.link-arrow{transition:transform .18s var(--ease-out);display:inline-block}a:hover .link-arrow,a:focus-visible .link-arrow{transform:translate(4px,-4px)}.project-future{border:1px solid var(--ink);background:var(--paper-raised);grid-column:1/13;grid-template-columns:repeat(12,1fr);gap:24px;margin-top:clamp(30px,3vw,44px);padding:clamp(28px,3vw,44px);display:grid}.project-future h4{max-width:16ch;font:400 clamp(1.8rem, 2.5vw, 2.5rem)/1.08 var(--font-display), Georgia, serif;letter-spacing:-.025em;grid-column:1/5;margin:0}.project-future ol{border-top:1px solid var(--rule);grid-column:6/13;margin:0;padding:0;list-style:none}.project-future li{border-bottom:1px solid var(--rule);grid-template-columns:40px 1fr;gap:16px;padding-block:18px;display:grid}.project-future li>span{color:var(--accent);font:500 11px/1.6 var(--font-mono), monospace}.project-future h5{margin:0;font-size:16px;font-weight:600}.project-future li p{color:var(--ink-soft);margin:6px 0 0;font-size:13px;line-height:1.55}.experience-list{margin:0;padding:0;list-style:none}.experience-list li{border-block:1px solid var(--ink);grid-template-columns:repeat(12,1fr);gap:24px;padding-block:26px 30px;display:grid}.experience-role{grid-column:1/6}.experience-role h3{font:400 clamp(1.7rem, 2.4vw, 2.3rem)/1.1 var(--font-display), Georgia, serif;letter-spacing:-.02em;margin:0}.experience-role>p{color:var(--ink-soft);margin:8px 0 0;font-size:16px}.experience-list time{color:var(--ink-muted);font:500 11px/1.4 var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin-top:12px;display:block}.experience-impact{max-width:62ch;color:var(--ink-soft);grid-column:6/13;margin:0;font-size:16px}.racing-feature{color:var(--navy-text);background:var(--navy);grid-template-columns:repeat(12,1fr);gap:24px;margin-top:clamp(56px,6vw,92px);padding:clamp(32px,4vw,60px);display:grid;overflow:hidden}.racing-feature-copy{grid-column:1/6;align-self:start}.racing-feature-copy .eyebrow{color:var(--navy-accent)}.racing-feature h3{max-width:17ch;font:400 clamp(2.1rem, 3.1vw, 3rem)/1.04 var(--font-display), Georgia, serif;letter-spacing:-.03em;margin:30px 0 24px}.racing-feature-copy>p:not(.eyebrow){color:var(--navy-text-soft);margin:0 0 16px;font-size:16px;line-height:1.6}.racing-feature-visual{border:1px solid var(--navy-line-strong);background:var(--navy-panel);grid-column:6/13;margin:0}.racing-blueprint{width:100%;height:auto;display:block}.racing-blueprint-mobile{display:none}.racing-feature-visual figcaption{border-top:1px solid var(--navy-line);color:var(--navy-text-muted);font:500 11px/1.4 var(--font-mono), monospace;letter-spacing:.05em;text-transform:uppercase;padding:12px 14px}.racing-lessons{background:var(--navy-line);grid-column:1/9;grid-template-columns:repeat(3,1fr);gap:1px;margin:28px 0 0;padding:1px;list-style:none;display:grid}.racing-lessons li{background:var(--navy);padding:20px}.racing-lessons strong{font-size:14px;display:block}.racing-lessons p{color:var(--navy-text-soft);margin:8px 0 0;font-size:13px;line-height:1.55}.racing-feature blockquote{border-left:2px solid var(--navy-accent);color:var(--navy-text);font:400 17px/1.5 var(--font-display), Georgia, serif;grid-column:9/13;align-self:end;margin:28px 0 0;padding-left:20px}.education-list{grid-template-columns:1fr 1fr;gap:0 24px;margin:0;padding:0;list-style:none;display:grid}.education-list li{border-top:1px solid var(--ink);align-content:start;padding:22px 0 26px;display:grid}.education-list h3{margin:0;font-size:19px;font-weight:600}.education-institution{color:var(--ink-soft);margin:6px 0 0;font-size:15px}.education-list time{color:var(--ink-muted);font:500 11px/1.4 var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin-top:12px}.education-detail{max-width:46ch;color:var(--ink-muted);margin:14px 0 0;font-size:14px;line-height:1.55}.education-modules{grid-template-columns:repeat(4,1fr);gap:24px;margin-top:clamp(38px,4vw,58px);display:grid}.education-modules section{border-top:1px solid var(--rule);padding-top:14px}.education-modules h3{color:var(--ink);font:500 11px/1.4 var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px}.education-modules ul{margin:0;padding:0;list-style:none}.education-modules li{color:var(--ink-soft);padding-block:6px;font-size:14px;line-height:1.4}.education-modules li+li{border-top:1px solid color-mix(in srgb, var(--rule) 55%, transparent)}.profile-grid{background:var(--rule);grid-template-columns:repeat(3,1fr);gap:1px;padding:1px;display:grid}.profile-group{background:var(--paper);padding:26px 24px 30px}.profile-group h3{font:400 26px/1.1 var(--font-display), Georgia, serif;margin:0 0 20px}.profile-group ul{margin:0;padding:0;list-style:none}.profile-group li{border-top:1px solid color-mix(in srgb, var(--rule) 62%, transparent);grid-template-columns:16px 1fr;align-items:start;gap:12px;padding-block:11px;display:grid}.profile-group li>span{line-height:1.3;display:grid}.profile-group li strong{font-size:14px;font-weight:600}.profile-group li small{color:var(--ink-muted);font:400 11px/1.4 var(--font-mono), monospace;margin-top:3px}.brand-icon{width:16px;height:16px;color:var(--ink);margin-top:2px;display:block}.brand-icon-empty{visibility:hidden}.now-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.now-list li{border-bottom:1px solid var(--rule)}.now-list a,.now-list>li>div{grid-template-columns:168px minmax(0,1fr) 40px;align-items:baseline;gap:8px 24px;padding-block:24px;text-decoration:none;display:grid}.now-list a:hover,.now-list a:focus-visible{color:var(--accent)}.now-type{color:var(--accent);font:500 11px/1.6 var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;grid-row:1}.now-list h3{grid-area:1/2;margin:0;font-size:19px;font-weight:600}.now-list p{max-width:68ch;color:var(--ink-muted);grid-area:2/2;margin:6px 0 0;font-size:14px}.now-list .link-arrow{grid-area:1/3;justify-self:end}.approach-grid{grid-template-columns:repeat(12,1fr);gap:24px;display:grid}.approach-copy{grid-column:1/7}.approach-copy>p{max-width:54ch;color:var(--ink-soft);margin:0 0 44px;font-size:19px}.approach-copy ol{border-top:1px solid var(--ink);counter-reset:approach;margin:0;padding:0;list-style:none}.approach-copy li{border-bottom:1px solid var(--rule);counter-increment:approach;grid-template-columns:44px 1fr;gap:4px 12px;padding-block:18px;display:grid}.approach-copy li:before{content:counter(approach, decimal-leading-zero);color:var(--accent);font:500 11px/1.6 var(--font-mono), monospace;grid-row:1/3}.approach-copy li strong{font-size:16px}.approach-copy li p{color:var(--ink-muted);margin:0;font-size:14px}.approach-visual{grid-column:7/13;align-self:center}.systems-loop{margin:0}.systems-loop svg{width:100%;height:auto}.systems-loop figcaption{border-top:1px solid var(--ink);color:var(--ink-muted);font:500 11px/1.35 var(--font-mono), monospace;letter-spacing:.05em;text-transform:uppercase;padding-top:12px}.contact-actions{flex-wrap:wrap;align-items:center;gap:20px 32px;display:flex}.contact-address{font:500 13px/1.5 var(--font-mono), monospace;gap:4px;margin:0;display:grid}.contact-address a{min-height:44px;color:var(--ink);align-items:center;display:inline-flex}.contact-address span{color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.contact-links{grid-template-columns:repeat(3,1fr);gap:24px;margin:clamp(46px,5vw,68px) 0 0;padding:0;list-style:none;display:grid}.contact-links a{border-top:1px solid var(--ink);align-items:center;gap:10px;min-height:60px;padding-block:18px;font-size:16px;text-decoration:none;display:flex}.contact-links .link-arrow{margin-left:auto}.contact-links a:hover,.contact-links a:focus-visible{color:var(--accent);border-color:var(--accent)}.site-footer{min-height:110px;font:500 11px var(--font-mono), monospace;letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:24px;display:flex}.site-footer p{margin:0}.site-footer a{align-items:center;gap:8px;min-height:44px;text-decoration:none;display:inline-flex}.resume-page{width:min(100% - 64px,980px);margin-inline:auto;padding-block:48px 96px}.resume-header{border-bottom:2px solid var(--ink);grid-template-columns:1fr auto;gap:40px;padding-bottom:36px;display:grid}.resume-kicker{color:var(--ink-muted);font:500 11px/1.4 var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin:0}.resume-header h1{font:400 clamp(3rem, 6vw, 4.6rem)/.94 var(--font-display), Georgia, serif;letter-spacing:-.04em;margin:16px 0 10px}.resume-header>div>p{max-width:62ch;color:var(--ink-soft);margin:0}.resume-contact{font:500 12px/1.5 var(--font-mono), monospace;flex-wrap:wrap;gap:8px 20px;display:flex;margin-top:18px!important}.resume-contact a{color:var(--ink)}.resume-actions{align-content:start;justify-items:end;gap:12px;display:grid}.resume-actions nav{font:500 12px/1.4 var(--font-mono), monospace;text-transform:uppercase;flex-wrap:wrap;justify-content:flex-end;gap:6px 18px;display:flex}.resume-actions nav a{align-items:center;min-height:40px;text-decoration:none;display:inline-flex}.resume-section{border-bottom:1px solid var(--ink);grid-template-columns:150px 1fr;gap:36px;padding-block:32px;display:grid}.resume-section>h2{color:var(--ink-muted);font:500 11px/1.4 var(--font-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin:0}.resume-projects{grid-template-columns:1fr 1fr;gap:30px 24px;display:grid}.resume-projects article,.resume-entry{border-top:1px solid var(--rule-strong);padding-top:12px}.resume-section>.resume-entry{grid-column:2}.resume-row{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.resume-row h3{margin:0;font-size:17px}.resume-row span,.resume-row time{color:var(--ink-muted);font:500 11px/1.4 var(--font-mono), monospace;letter-spacing:.04em;text-transform:uppercase;flex:none}.resume-status{color:var(--ink-muted);font:500 11px/1.4 var(--font-mono), monospace;letter-spacing:.04em;text-transform:uppercase;margin:6px 0 12px}.resume-projects article>p:not(.resume-status){margin:0 0 10px;font-size:13px;line-height:1.55}.resume-projects .resume-evidence{color:var(--ink-muted)}.resume-projects a{font:500 11px/1.4 var(--font-mono), monospace;text-transform:uppercase}.resume-entry>p{margin:0 0 10px;font-size:14px;line-height:1.55}.resume-entry+.resume-entry{margin-top:22px}.resume-entry>p:last-child{margin-bottom:0;font-size:14px}.resume-capabilities{grid-template-columns:1fr 1fr;gap:18px 24px;display:grid}.resume-capabilities div{border-top:1px solid var(--rule);padding-top:10px}.resume-capabilities h3{margin:0 0 6px;font-size:14px}.resume-capabilities ul{margin:0;padding:0;list-style:none}.resume-capabilities li{color:var(--ink-muted);padding-block:3px;font-size:12px;line-height:1.5}.figure-kicker,.axis-labels,.figure-legend,.loop-labels{font:500 11px var(--font-mono), monospace;letter-spacing:.05em;fill:var(--ink)}.accent-text{fill:var(--accent)!important}.figure-grid line{stroke:var(--rule);stroke-width:.75px}.chart-scale line{stroke:var(--rule);stroke-width:1px}.chart-scale .chart-baseline{stroke:var(--ink);stroke-width:1.5px}.chart-scale text{font:500 11px var(--font-mono), monospace;fill:var(--ink-muted);font-variant-numeric:tabular-nums}.chart-axis-title{letter-spacing:.06em}.chart-bar-before{fill:var(--rule-strong)}.chart-bar-after{fill:var(--accent)}.chart-values,.chart-values text{font:500 18px var(--font-mono), monospace;fill:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.chart-categories,.chart-categories text{font:500 11px var(--font-mono), monospace;fill:var(--ink-muted);letter-spacing:.07em}.chart-delta text{font:500 11px var(--font-mono), monospace;fill:var(--ink);letter-spacing:.05em}.chart-delta-line,.chart-delta-caps{fill:none;stroke:var(--ink);stroke-width:1px}.chart-delta-plate{fill:var(--paper)}.chart-note{font:500 10px var(--font-mono), monospace;fill:var(--ink-muted);letter-spacing:.06em}.chart-secondary,.chart-primary,.poker-orbit,.spectral-line,.pipeline-arrow{fill:none;vector-effect:non-scaling-stroke}.chart-secondary{stroke:var(--rule-strong);stroke-width:1.5px}.chart-primary{stroke:var(--accent);stroke-width:2.5px}.chart-markers{font:500 10px var(--font-mono), monospace;fill:var(--ink)}.chart-markers circle{fill:var(--accent)}.chart-markers line{stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 4}.mini-bars rect{fill:var(--rule-strong);opacity:.5}.research-pipeline{font:500 10px var(--font-mono), monospace;fill:var(--ink)}.research-pipeline path{fill:none;stroke:var(--ink);stroke-width:1px;vector-effect:non-scaling-stroke}.figure-legend circle{fill:var(--accent)}.figure-legend .muted-dot{fill:var(--rule-strong)}.poker-table{fill:var(--paper-raised);stroke:var(--rule-strong)}.poker-orbit{stroke:var(--rule);stroke-width:1px}.community-cards rect{fill:var(--paper);stroke:var(--ink)}.community-cards text,.pot-label,.poker-seats,.equity-rail,.action-rail,.architecture-note{font:500 10px var(--font-mono), monospace;fill:var(--ink)}.poker-seats circle{fill:var(--visual-field);stroke:var(--ink)}.poker-seats .active-seat{fill:var(--accent);stroke:var(--accent)}.poker-seats g:nth-child(3)>text:first-of-type{fill:var(--paper)}.equity-rail rect{fill:var(--rule)}.equity-rail .equity-fill{fill:var(--accent)}.architecture-note line{stroke:var(--ink)}.waveform line{stroke:var(--ink);stroke-width:2px}.wave-axis{stroke:var(--rule-strong)}.spectral-line{stroke:var(--paper);stroke-width:1px;opacity:.52}.pipeline-arrow{stroke:var(--ink);stroke-width:1px}.architecture-flow,.skip-connections,.conditioning-rail{font:500 10px var(--font-mono), monospace;fill:var(--ink);letter-spacing:.02em}.architecture-flow path,.skip-connections path,.conditioning-rail path{fill:none;vector-effect:non-scaling-stroke}.architecture-flow path{stroke:var(--ink);stroke-width:1.25px}.architecture-flow rect{fill:var(--paper-raised);stroke:var(--ink);vector-effect:non-scaling-stroke}.architecture-flow .bottleneck-block{fill:color-mix(in srgb, var(--accent) 13%, var(--paper-raised));stroke:var(--accent)}.architecture-flow .block-number{fill:var(--accent);font-size:10px}.skip-connections path{stroke:var(--accent);stroke-width:1.35px}.skip-connections circle,.skip-connections text{fill:var(--accent)}.conditioning-rail path{stroke:var(--rule-strong);stroke-width:1px;stroke-dasharray:3 4}.conditioning-rail circle{fill:var(--paper);stroke:var(--ink)}.mobile-architecture-flow,.mobile-gated-skip,.mobile-conditioning{font:500 11px var(--font-mono), monospace;fill:var(--ink);letter-spacing:.03em}.mobile-architecture-flow path,.mobile-gated-skip path,.mobile-conditioning path{fill:none;stroke:var(--ink);stroke-width:1.25px;vector-effect:non-scaling-stroke}.mobile-architecture-flow marker path{fill:var(--ink);stroke:none}.mobile-architecture-flow rect{fill:var(--paper-raised);stroke:var(--ink);vector-effect:non-scaling-stroke}.mobile-architecture-flow text{text-anchor:middle}.mobile-architecture-flow .mobile-attention rect{fill:color-mix(in srgb, var(--accent) 13%, var(--paper-raised));stroke:var(--accent)}.mobile-gated-skip path,.mobile-gated-skip circle{stroke:var(--accent)}.mobile-gated-skip circle{fill:var(--accent)}.mobile-gated-skip text{fill:var(--accent);font-size:11px}.mobile-conditioning path{stroke:var(--rule-strong);stroke-dasharray:3 4}.mobile-conditioning text{font-size:11px}.portfolio-service-flow,.portfolio-contracts,.portfolio-data-plane,.portfolio-platform,.portfolio-legend,.portfolio-mobile-flow,.portfolio-mobile-data{font:500 10px var(--font-mono), monospace;fill:var(--ink);letter-spacing:.03em}.portfolio-service-flow rect,.portfolio-data-plane rect,.portfolio-mobile-flow rect,.portfolio-mobile-data rect{fill:var(--paper-raised);stroke:var(--ink);vector-effect:non-scaling-stroke}.portfolio-mobile-flow text,.portfolio-mobile-data text{text-anchor:middle}.portfolio-mobile-data>text:first-child{text-anchor:start;fill:var(--ink-muted);letter-spacing:.06em}.portfolio-service-flow .service-sub,.portfolio-contracts,.portfolio-mobile-flow .service-sub{fill:var(--accent);font-size:10px}.portfolio-data-plane rect,.portfolio-mobile-data rect{stroke:var(--rule-strong)}.portfolio-data-plane path{fill:none;stroke:var(--rule-strong);stroke-width:1.2px;vector-effect:non-scaling-stroke}.portfolio-data-plane text:nth-of-type(2n),.portfolio-platform{fill:var(--ink-muted);font-size:10px}.edge-http{fill:none;stroke:var(--ink);stroke-width:1.2px;vector-effect:non-scaling-stroke}.edge-grpc{fill:none;stroke:var(--accent);stroke-width:1.4px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.portfolio-legend text{fill:var(--ink-muted);letter-spacing:.05em}.racing-grid line{stroke:#a4cfff17;stroke-width:1px}.racing-kicker,.racing-wheel,.racing-controller,.racing-signals,.racing-constraints,.racing-mobile-flow{font:500 10px var(--font-mono), monospace;letter-spacing:.04em;fill:#d9eaff}.racing-kicker{fill:var(--navy-accent);letter-spacing:.06em}.racing-wheel path,.racing-wheel circle,.racing-wheel rect,.racing-controller rect{fill:none;stroke:#acd4ff;stroke-width:1.25px;vector-effect:non-scaling-stroke}.racing-wheel>path:first-child{fill:#051b3966;stroke-width:2px}.racing-wheel rect{fill:#031835db}.racing-controller rect{fill:var(--navy-deep)}.racing-screen-value{fill:#65afff;font-size:18px}.racing-controller text:last-child{fill:var(--navy-accent);font-size:10px}.racing-signals path{fill:none;stroke:#75b8ff;stroke-width:1.2px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.racing-signals .racing-label-plate{fill:var(--navy-panel);stroke:#acd4ffb8;stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:none}.racing-arrowhead{fill:#75b8ff;stroke:none}.racing-signals text:nth-of-type(2n){fill:var(--navy-accent);font-size:10px}.racing-constraints{fill:#94c8ff;font-size:10px}.racing-constraints path{fill:none;stroke:#b0d3ffb3;stroke-width:1px}.racing-mobile-flow text{text-anchor:middle}.racing-mobile-flow rect{fill:#03183580;stroke:#acd4ff;stroke-width:1.1px;vector-effect:non-scaling-stroke}.racing-mobile-flow .racing-mobile-core{fill:var(--navy-deep)}.racing-mobile-flow .racing-mobile-screen{fill:#051b398c}.racing-mobile-flow path{fill:none;stroke:#75b8ff;stroke-width:1.2px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.racing-mobile-sub{fill:var(--navy-accent);font-size:9.5px}.racing-mobile-constraints text{text-anchor:start}.loop-paths path{fill:none;stroke:var(--ink);stroke-width:1.2px;vector-effect:non-scaling-stroke}.loop-paths .accent-path{stroke:var(--accent);stroke-width:2.2px}.loop-nodes circle{fill:var(--paper);stroke:var(--ink)}.crosshair{stroke:var(--rule);stroke-dasharray:3 6}@keyframes draw{to{stroke-dashoffset:0}}@keyframes scroll-progress{to{transform:scaleX(1)}}@keyframes bar-grow-y{0%{transform:scaleY(0)}}@keyframes bar-grow-x{0%{transform:scaleX(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}}@keyframes plate-enter{0%{opacity:.15;clip-path:inset(0 0 100%);transform:translateY(18px)}to{opacity:1;clip-path:inset(0);transform:none}}@media (prefers-reduced-motion:no-preference){.chart-bars rect{transform-box:fill-box}.hero-diagram-desktop .chart-bars rect{transform-origin:50% 100%;animation:bar-grow-y .7s var(--ease-out) backwards}.hero-diagram-mobile .chart-bars rect{transform-origin:0;animation:bar-grow-x .7s var(--ease-out) backwards}.chart-bar-before{animation-delay:.22s}.chart-bar-after{animation-delay:.56s}.chart-values,.chart-values text{animation:fade-up .42s var(--ease-out) .76s backwards}.chart-delta{animation:fade-up .46s var(--ease-out) 1.12s backwards}.chart-delta-line{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .62s var(--ease-out) 1.12s forwards}.loop-paths path[pathLength]{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1s var(--ease-out) .2s forwards}@supports (animation-timeline:view()){.plate-reveal{animation:linear both plate-enter;animation-timeline:view();animation-range:entry 4% cover 30%}.result-figures strong{animation:linear both fade-up;animation-timeline:view();animation-range:entry 10% cover 26%}}}@media (max-width:1100px){:root{--frame:min(100% - 64px, 960px)}.site-header,.hero,.section-heading,.project,.experience-list li,.approach-grid{gap:16px}.hero-copy{grid-column:1/8}.hero-visual{grid-column:8/13}.hero h1{font-size:clamp(2.6rem,4.4vw,3.3rem)}.project-header{grid-column:1/8}.project-data{grid-column:8/13}.results ol,.project-marginalia,.education-modules{grid-template-columns:1fr 1fr}}@media (max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-bottom:8px}.hero-copy,.hero-visual{grid-column:1}.hero-visual{margin-top:52px}.hero-diagram-desktop{display:none}.hero-diagram-mobile{display:block}.hero-diagram{max-width:540px}}@media (max-width:800px){:root{--frame:calc(100% - 64px);--section-space:5.25rem}.site-header{grid-template-columns:repeat(8,1fr)}.wordmark{grid-column:1/3}.desktop-navigation{grid-column:3/7;justify-content:center;gap:20px}.header-actions{grid-column:7/9}.hero{grid-template-columns:repeat(8,1fr);min-height:auto;padding-bottom:12px}.hero-copy{grid-column:1/9}.hero h1{font-size:clamp(2.5rem,6.6vw,3.2rem)}.hero h1 em{white-space:nowrap}.hero-visual{grid-column:1/9;margin-top:56px}.section-heading{grid-template-columns:repeat(8,1fr)}.section-heading h2,.section-deck{grid-column:2/9}.project-jump-index ol{grid-template-columns:1fr 1fr}.project{grid-template-columns:repeat(8,1fr)}.project-header{grid-column:1/9}.project-data{grid-column:1/9;margin-top:30px}.project-figure,.project-details,.project-gallery,.project-links,.project-future,.results{grid-column:1/9}.project-future{grid-template-columns:1fr}.project-future h4,.project-future ol{grid-column:1}.project-future ol{margin-top:28px}.experience-list li{grid-template-columns:repeat(8,1fr)}.experience-role{grid-column:1/9}.experience-impact{grid-column:1/9;margin-top:16px}.racing-feature{grid-template-columns:repeat(8,1fr)}.racing-feature-copy{grid-column:1/9}.racing-feature-visual{grid-column:1/9;margin-top:30px}.racing-lessons{grid-column:1/9;grid-template-columns:1fr}.racing-feature blockquote{grid-column:1/9}.education-list{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr 1fr}.now-list a,.now-list>li>div{grid-template-columns:140px minmax(0,1fr) 32px}.approach-grid{grid-template-columns:repeat(8,1fr)}.approach-copy{grid-column:1/9}.approach-visual{grid-column:1/9;margin-top:56px}.contact-links{grid-template-columns:1fr;gap:0}}@media (max-width:600px){:root{--frame:calc(100% - 40px);--section-space:4.25rem;--header-height:66px}body{font-size:16px}.site-header{grid-template-columns:auto minmax(0,1fr) auto;gap:14px}.wordmark{grid-column:1}.desktop-navigation{display:none}.mobile-navigation{grid-column:2;justify-self:center;display:block}.mobile-navigation summary{cursor:pointer;justify-content:center;align-items:center;gap:9px;min-height:48px;padding-inline:12px;list-style:none;display:flex}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation summary::marker{content:""}.mobile-navigation-icon{color:var(--accent);transition:transform .18s var(--ease-out);font-size:17px;line-height:1}.mobile-navigation[open] .mobile-navigation-icon{transform:rotate(45deg)}.mobile-navigation nav{top:calc(var(--header-height) + 1px);z-index:12;border:1px solid var(--ink);background:var(--paper);padding:4px 16px 12px;display:grid;position:absolute;left:calc(50% - 50vw + 20px);right:20px;box-shadow:0 22px 34px #11111124}.mobile-navigation nav a{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;min-height:52px;display:flex}.mobile-navigation nav a:last-child{border-bottom:0}.header-actions{grid-column:3;gap:14px;font-size:11px}.header-actions a.header-contact{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:44px}.hero-copy,.hero-visual{grid-column:1}.hero h1{font-size:clamp(2.5rem,10.5vw,3rem)}.hero-deck{font-size:17px}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-visual{margin-top:46px}.hero-diagram figcaption{display:none}.section-heading{grid-template-columns:1fr;gap:6px;margin-bottom:40px}.section-index,.section-heading h2,.section-deck{grid-column:1}.section-index{grid-row:auto}.section-heading h2{grid-row:auto;font-size:clamp(2.1rem,8.5vw,2.5rem)}.section-deck{grid-row:auto;font-size:17px}.project-jump-index{margin-bottom:46px}.project-jump-index ol{grid-template-columns:1fr}.project-jump-index li+li{border-top:1px solid var(--rule)}.project{grid-template-columns:1fr;gap:0}.project-header,.project-data,.project-figure,.project-details,.project-gallery,.project-links,.project-future,.results{grid-column:1}.project h3{max-width:none;font-size:2.2rem}.project-summary{margin-top:20px;font-size:16px}.project-data{margin-top:26px}.project-data>div{grid-template-columns:84px 1fr;gap:10px}.project-figure{margin-top:26px}.project-svg{width:100%;height:auto}.project-svg text{font-size:14px}.project-figure figcaption{flex-direction:column;gap:4px;margin-inline:14px}.project-figure figcaption span:last-child{text-align:left}.results{margin-top:26px}.results ol{grid-template-columns:1fr;gap:0}.results li{padding-block:18px}.results li+li{border-top:1px solid var(--rule)}.results li:first-child{border-top-color:var(--ink)}.project-gallery summary{padding-inline:14px}.project-gallery-heading{gap:3px;display:grid}.project-gallery-grid,.project-marginalia{grid-template-columns:1fr}.project-links{gap:0;display:grid}.project-link{min-width:0}.project-future{padding:26px 20px}.project-future h4{max-width:none;font-size:1.85rem}.pitch-architecture-complete,.portfolio-architecture-complete,.racing-blueprint-complete{display:none}.pitch-architecture-mobile,.portfolio-architecture-mobile,.racing-blueprint-mobile{display:block}.portfolio-architecture-mobile{aspect-ratio:340/520}.pitch-architecture-mobile{aspect-ratio:394/460}.project-details .pitch-architecture-mobile,.project-details .portfolio-architecture-mobile{padding:10px}.experience-list li{grid-template-columns:1fr;gap:0}.racing-feature{margin-inline:calc(-50vw + 50%);padding:30px 20px;display:block}.racing-feature h3{max-width:none;font-size:2.1rem}.racing-lessons{margin-top:24px}.racing-feature blockquote{margin-top:28px}.education-modules{grid-template-columns:1fr 1fr;gap:20px}.education-modules section{padding-block:14px 0}.profile-group li{padding-block:9px}.profile-grid{grid-template-columns:1fr}.profile-group{padding:22px 18px 26px}.now-list a,.now-list>li>div{grid-template-columns:minmax(0,1fr) 32px;gap:4px 12px;padding-block:20px}.now-type{grid-column:1}.now-list h3{grid-area:2/1;font-size:17px}.now-list p{grid-area:3/1;margin-top:7px;font-size:13px}.now-list .link-arrow{grid-row:2}.contact-actions{display:grid}.contact-actions .button{width:100%}.site-footer{min-height:96px}.resume-page{width:calc(100% - 40px);padding-block:32px 64px}.resume-header{display:block}.resume-actions{justify-items:start;margin-top:24px}.resume-actions nav{justify-content:flex-start}.resume-section{display:block}.resume-section>h2{margin-bottom:20px}.resume-projects,.resume-capabilities{grid-template-columns:1fr}.resume-row{align-items:start}}@media (max-width:380px){:root{--frame:calc(100% - 32px)}.site-header{gap:10px}.hero h1{font-size:clamp(2.2rem,10vw,2.6rem)}}@media print{:root{--frame:100%}html{overflow-x:visible}body{background:#fff;font-size:11pt}.site-header,.site-footer,.skip-link,.resume-actions{display:none!important}.resume-page{width:100%;padding:0}.resume-section{break-inside:avoid;padding-block:14pt}.resume-projects article,.resume-entry{break-inside:avoid}.resume-header h1{font-size:28pt}a{text-decoration:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.chart-primary,.chart-secondary,.poker-orbit,.pipeline-arrow,.loop-paths path,.chart-delta-line{stroke-dashoffset:0}.chart-bars rect{transform:none!important}.scroll-progress{display:none}}
