:root{color-scheme:dark;--bg: #081722;--surface: #0d202c;--text: #f4f2ee;--muted: #b5c2cb;--subtle: #8b9fae;--accent: #9eebef;--line: #294452;--sidebar: 264px}*{box-sizing:border-box}html{scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--text);font-family:instrument sans,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:#d5fcff}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto;display:block}svg.feather{width:22px;height:22px;stroke-width:1.6;flex-shrink:0;vertical-align:middle}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px;border-radius:2px}::selection{background:var(--accent);color:var(--bg)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(40px,4.8vw,68px)}h2{font-size:clamp(30px,3vw,42px)}h3{font-size:28px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:12px 20px;background:var(--accent);color:var(--bg)}.skip-link:focus{top:12px}.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:36px 32px 24px;display:flex;flex-direction:column;overflow-y:auto;z-index:10;background:var(--bg)}.identity{font-size:34px;line-height:1.08;font-weight:700;letter-spacing:-.04em;color:var(--text);text-decoration:none}.identity:hover{color:var(--accent)}.portrait{width:176px;height:238px;object-fit:cover;margin:28px 0 18px;border-radius:10px}.sidebar-intro{font-size:16px;line-height:1.5;color:var(--muted)}#site-nav{display:flex;flex-direction:column;gap:4px;margin-top:32px}#site-nav a{position:relative;display:flex;gap:15px;align-items:center;min-height:44px;padding:10px 0;color:var(--text);text-decoration:none;font-size:16px}#site-nav a.active{color:var(--accent);font-weight:600}#site-nav a.active::before{content:'';position:absolute;height:24px;width:3px;background:var(--accent);left:-17px;border-radius:2px}#site-nav a:hover{color:var(--accent)}#site-nav .resume-nav{color:var(--subtle);margin-top:16px;border-top:1px solid var(--line);padding-top:18px}.sidebar-location{color:var(--subtle);font-size:12px;margin-top:auto;padding-top:24px}.menu-toggle{display:none}.site-body{margin-left:var(--sidebar);padding:56px 48px 0;max-width:1536px}main{max-width:1160px;margin:auto}main:focus{outline:none}.hero{margin-bottom:56px}.hero h1{margin-bottom:22px}.hero-intro{color:var(--muted);font-size:20px;max-width:850px;line-height:1.55}.career-line{margin-top:20px;font:13px/1.8 ibm plex mono,monospace;color:var(--muted)}.project-overview{display:grid;grid-template-columns:44% 56%;align-items:stretch;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden;margin-bottom:26px;min-height:420px}.project-copy{padding:38px 12px 36px 34px;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font:12px/1.6 ibm plex mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.project-copy .eyebrow{margin-bottom:20px}.project-copy h3{font-size:clamp(28px,2.5vw,36px);margin-bottom:16px}.project-copy>p:not(.eyebrow):not(.project-note){color:var(--muted);font-size:19px;line-height:1.55}.project-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:47px;padding:10px 18px;border-radius:6px;background:var(--accent);color:#09202b;font-weight:600;text-decoration:none;border:1px solid var(--accent);line-height:1.4}.button:hover{background:#c4f8fa;border-color:#c4f8fa;color:#09202b}.story-link{font-size:13px}.project-note{font-size:12px;line-height:1.5;color:var(--subtle);padding-top:16px}.project-visual{display:flex;padding:34px 26px 34px 30px;align-items:center;justify-content:center;min-width:0;text-decoration:none}.project-visual img{border:1px solid var(--line);border-radius:8px;width:100%;aspect-ratio:16/10;object-fit:contain;background:#0b1014}.project-visual.gb300-nvsentinel img{aspect-ratio:1;max-height:380px;object-fit:contain;border:0;background:#111;filter:brightness(1.6)}.text-link{display:inline-flex;align-items:center;gap:14px;font-weight:500;text-decoration:none}.text-link:hover{text-decoration:underline}.all-projects{margin-top:8px;padding:12px 0;font-size:19px}.home-section{margin-top:72px;padding-top:48px;border-top:1px solid var(--line)}.home-section h2{margin-bottom:24px}.professional-work>p:not(.eyebrow){color:var(--muted);max-width:65ch;margin-top:18px}.professional-work .eyebrow{margin-bottom:14px}.impact{display:flex;gap:80px;margin:32px 0}.impact dt{font-size:40px;font-weight:600;letter-spacing:-.035em}.impact dd{color:var(--muted);font-size:14px;margin:0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.section-heading>a{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-size:15px;white-space:nowrap}.writing-row{border-bottom:1px solid var(--line);padding:28px 0;display:flex;justify-content:space-between;gap:30px;align-items:center}.writing-row h3{font-size:24px;line-height:1.3;margin:10px 0;letter-spacing:-.025em}.writing-row h3 a{color:var(--text);text-decoration:none}.writing-row h3 a:hover{color:var(--accent);text-decoration:underline}.writing-row p:not(.eyebrow){font-size:16px;color:var(--muted);max-width:65ch}.writing-row>svg{color:var(--accent)}.photography-teaser{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.photography-teaser .eyebrow{margin-bottom:16px}.photography-teaser p:not(.eyebrow){color:var(--muted);margin-bottom:24px}.photography-teaser img{aspect-ratio:4/3;object-fit:cover;border-radius:8px}.page-heading{margin-bottom:48px;max-width:1000px}.page-heading .eyebrow{margin-bottom:18px}.page-heading h1{margin-bottom:24px}.page-heading>p:not(.eyebrow){max-width:65ch;color:var(--muted);font-size:20px}.page-heading .article-meta{font-size:14px!important;font-family:ibm plex mono,monospace}.category-nav{display:flex;flex-wrap:wrap;gap:12px 26px;padding:0 0 26px;border-bottom:1px solid var(--line)}.category-nav a{text-decoration:none;padding:8px 0;font-size:15px}.category-nav a:hover{text-decoration:underline}.project-section{margin-top:48px}.project-section>h2{margin-bottom:28px}.earlier-project{max-width:760px;padding:32px 0;border-bottom:1px solid var(--line)}.earlier-project .eyebrow{margin-bottom:12px}.earlier-project h3{margin-bottom:16px}.earlier-project p:not(.eyebrow){color:var(--muted);margin-bottom:20px}.article-layout{display:grid;grid-template-columns:minmax(0,760px);gap:48px}.prose{max-width:760px;min-width:0;font-size:18px;line-height:1.85;color:#cfdae0;overflow-wrap:break-word}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol{margin:0 0 24px}.prose li{margin-bottom:10px}.prose h2{margin:48px 0 22px;color:var(--text);font-size:30px}.prose h3{margin:36px 0 18px;color:var(--text);font-size:23px;line-height:1.35}.prose h4{color:var(--text)}.prose strong{color:var(--text);font-weight:600}.prose img{border-radius:8px;margin:28px 0;background:#fff}.prose pre{overflow-x:auto;padding:24px;border:1px solid var(--line);border-radius:8px;margin:28px 0;background:#051018!important;line-height:1.6}.prose code{font-family:ibm plex mono,monospace;font-size:.82em}.prose :not(pre)>code{background:#17313f;color:#c3f7fa;padding:2px 5px;border-radius:3px}.prose blockquote{border-left:2px solid var(--accent);padding:4px 0 4px 24px;margin:32px 0;font-size:20px}.prose blockquote p:last-child{margin:0}.prose table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px;margin:28px 0}.prose th,.prose td{text-align:left;padding:12px;border:1px solid var(--line)}.prose th{background:var(--surface);color:var(--text)}.prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}.prose iframe{max-width:100%}.resume-meta{color:var(--subtle);font-size:14px;display:block;margin-bottom:20px}.resume-actions a{display:inline-block;border:1px solid var(--accent);padding:8px 18px;border-radius:5px;text-decoration:none}.article-toc{display:none}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px;margin-bottom:36px}.photo-grid figure{margin:0}.photo-open{border:0;padding:0;background:0 0;width:100%}.photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.photo-grid figcaption{font-size:14px;color:var(--muted);padding-top:12px}.lightbox{max-width:min(1100px,95vw);max-height:94vh;padding:48px 20px 16px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:10px}.lightbox::backdrop{background:rgba(0,0,0,.88)}.lightbox img{max-height:76vh;width:auto;max-width:100%;object-fit:contain;margin:auto}.lightbox p{margin-top:12px;text-align:center}.lightbox-close{position:absolute;right:8px;top:4px;background:0 0;color:var(--text);border:0;padding:10px}.contact-links{max-width:850px}.contact-links>a{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:30px 0;text-decoration:none}.contact-links strong{display:block;color:var(--text);font-weight:500;font-size:clamp(22px,3vw,36px);letter-spacing:-.03em;overflow-wrap:anywhere}.contact-links .eyebrow{margin-bottom:10px;display:block}.footer{max-width:1160px;margin:80px auto 0;padding:28px 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;color:var(--subtle);font-size:13px}.footer div{display:flex;gap:24px;flex-wrap:wrap}.footer a{color:var(--muted);text-decoration:none}.footer a:hover{color:var(--accent)}@media(min-width:1500px){.article-layout:has(.article-toc){grid-template-columns:minmax(0,760px)minmax(180px,1fr)}.article-toc{display:block;align-self:start;position:sticky;top:36px;font-size:13px;max-height:85vh;overflow:auto}.article-toc ul{list-style:none;padding-left:0}.article-toc ul ul{padding-left:12px}.article-toc li{margin:12px 0}.article-toc a{color:var(--muted);text-decoration:none}}@media(max-width:1100px){:root{--sidebar: 205px}.sidebar{padding:28px 24px}.identity{font-size:26px}.portrait{width:144px;height:190px}.site-body{padding:42px 28px 0}.project-copy{padding:28px 6px 28px 24px}.project-visual{padding:24px 20px}.project-copy>p:not(.eyebrow):not(.project-note){font-size:16px}.project-copy h3{font-size:28px}.project-overview{min-height:340px}}@media(max-width:800px){html{scroll-padding-top:100px}.sidebar{position:sticky;width:100%;inset:auto;top:0;padding:18px 24px;display:grid;grid-template-columns:1fr auto;align-items:center;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.identity{font-size:19px;line-height:1.3;letter-spacing:-.03em}.identity br{display:none}.identity br::after{content:' '}.portrait,.sidebar-intro,.sidebar-location{display:none}.menu-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:5px;color:var(--text);background:0 0;padding:8px 10px;min-height:44px;font-size:14px}#site-nav{grid-column:1/-1;margin:12px 0 0;display:none}.sidebar.menu-open #site-nav{display:flex}#site-nav a{padding:10px 16px}#site-nav a.active::before{left:0}#site-nav .resume-nav{margin-top:4px}.site-body{margin-left:0;padding:36px 24px 0}.hero h1{font-size:clamp(38px,7vw,56px)}.hero{margin-bottom:36px}.hero-intro{font-size:18px}.project-copy{padding:28px 10px 28px 24px}.project-copy h3{font-size:30px}.page-heading h1{font-size:42px}.home-section{margin-top:52px;padding-top:36px}.photography-teaser{gap:28px}}@media(max-width:560px){.sidebar{padding:12px 18px}.identity{max-width:175px}.identity br{display:none}.site-body{padding:30px 18px 0}.hero h1{font-size:37px;line-height:1.1}.hero h1 br{display:none}.career-line{font-size:11px}.project-overview{grid-template-columns:1fr;border-radius:12px}.project-copy{padding:26px 24px 12px}.project-copy .eyebrow{margin-bottom:14px}.project-copy h3{font-size:30px}.project-copy>p:not(.eyebrow):not(.project-note){font-size:17px}.project-visual{padding:12px 20px 24px}.project-visual.gb300-nvsentinel img{max-height:300px}.project-actions{margin-top:22px}.page-heading h1{font-size:38px}.page-heading>p:not(.eyebrow){font-size:18px}.page-heading{margin-bottom:30px}.impact{gap:32px}.impact dt{font-size:34px}.impact dd{max-width:140px}.photography-teaser,.photo-grid{grid-template-columns:1fr}.section-heading{gap:12px}.writing-row{gap:16px}.writing-row h3{font-size:23px}.writing-row>svg{width:18px}.prose{font-size:17px}.prose ul,.prose ol{padding-left:22px}.contact-links strong{font-size:24px}.footer{margin-top:60px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}.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}