@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-400-normal-Byf51wtH.woff2) format("woff2"),url(/assets/anton-latin-400-normal-AUNGEG_V.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:League Gothic Local;src:url(/assets/fonts/league-gothic.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:400}:root{color-scheme:dark;--bg: #000000;--display: #ffffff;--secondary: #c8c8c8;--body: #9a9a9a;--label: #6e6e6e;--index: #4a4a4a;--hairline: #1a1a1a;--display-face: "Anton", "League Gothic Local", "Arial Narrow", sans-serif;--sans: "Inter", "Helvetica Neue", Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--page-inline: clamp(1.5rem, 6vw, 6rem);--section-block: clamp(5rem, 12vh, 10rem);--display-size: clamp(2.75rem, 6vw, 5.5rem);--secondary-size: clamp(1.25rem, 2vw, 1.9rem);--body-size: clamp(1.0625rem, 1.12vw, 1.16rem);--label-size: clamp(.78rem, .82vw, .85rem);font-synthesis:none;text-rendering:geometricPrecision}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;background:var(--bg);scroll-behavior:auto}body{margin:0;min-width:320px;overflow-x:clip;color:var(--body);background:var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased}img,picture{display:block}img{max-width:100%;height:auto}a{color:inherit}button{padding:0;border:0;color:inherit;background:transparent;font:inherit}:focus-visible{outline:1px solid var(--secondary);outline-offset:5px}::selection{color:var(--bg);background:var(--secondary)}.glass-filter-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.global-header{position:fixed;z-index:100;top:1.1rem;left:50%;width:max-content;max-width:calc(100vw - 2rem);isolation:isolate;overflow:visible;border:1px solid rgb(255 255 255 / 22%);border-radius:999px;background:#02030485;box-shadow:inset 0 1px #ffffff3d,inset 0 -1px #ffffff14,0 10px 32px #00000047;backdrop-filter:url(#liquid-glass-filter) blur(14px) brightness(.74);-webkit-backdrop-filter:url(#liquid-glass-filter) blur(14px) brightness(.74);transform:translate(-50%)}.nav-pill{position:relative;z-index:1;display:flex;min-height:3.65rem;align-items:center;gap:clamp(.3rem,1.4vw,1.4rem);padding:.4rem .5rem;border-radius:inherit;background:#0000003d}.global-header[data-liquid-glass=live]{border-color:#ffffff24;background:#0003;box-shadow:inset 0 1px #ffffff21;backdrop-filter:none;-webkit-backdrop-filter:none}.global-header[data-liquid-glass=live]>canvas:first-child{pointer-events:none}.nav-brand,.nav-links,.nav-links a{position:relative;z-index:2;display:flex;align-items:center}.nav-brand{min-height:2.75rem;gap:.7rem;padding:0 .5rem 0 .32rem;color:var(--display);text-decoration:none;font-family:var(--mono);font-size:.81rem;font-weight:500;letter-spacing:.02em;white-space:nowrap}.nav-mark{display:grid;width:2.3rem;height:2.3rem;flex:none;place-items:center}.nav-mark img{width:2.05rem;height:2.05rem;object-fit:contain;filter:invert(1);transform:translate(.08rem,-.035rem)}.nav-links{gap:.08rem}.nav-links a{min-height:2.7rem;justify-content:center;padding:0 .72rem;border-radius:999px;color:var(--secondary);text-decoration:none;font-family:var(--mono);font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:color .14s ease-out,opacity .14s ease-out}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current=page]{color:var(--display)}.section{position:relative;display:grid;min-height:max(48rem,100svh);place-items:center;padding:var(--section-block) var(--page-inline);background:var(--bg)}.section-grid,.work-layout,.personal-layout{width:min(100%,91.5rem);margin-inline:auto}.section-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(23rem,.84fr);gap:clamp(3rem,4vw,5rem);align-items:center}.section-grid--hero{grid-template-columns:minmax(24rem,.94fr) minmax(31rem,1.06fr);gap:clamp(2rem,4vw,4rem)}.hero-copy{z-index:2;align-self:center;width:min(100%,44rem);max-width:none;margin-top:0}.display{margin:0;color:var(--display);font-family:var(--display-face);font-size:var(--display-size);font-weight:400;line-height:.99;letter-spacing:-.01em;text-transform:uppercase}.display>.line-mask{display:block}.display--hero{font-size:clamp(4.5rem,6.1vw,6.05rem)}.line-mask{overflow:hidden}.line-mask>span{display:block}.secondary{max-width:38rem;margin:1.35rem 0 0;color:var(--secondary);font-size:var(--secondary-size);font-weight:500;line-height:1.42}.body-copy{margin:0;color:var(--body);font-size:var(--body-size);font-weight:400;line-height:1.68}.hero-lede{max-width:39rem;margin-top:1.55rem;color:var(--secondary);font-size:clamp(1.2rem,1.7vw,1.55rem);font-weight:500;line-height:1.52}.label,.index-text,.contact-links,.project-link{font-family:var(--mono);font-size:var(--label-size);text-transform:uppercase}.label{margin:1.5rem 0 0;color:var(--label);font-weight:500;line-height:1.68;letter-spacing:.08em}.label--name{margin-top:1.55rem;color:var(--secondary)}.object-stage{position:relative;z-index:1;margin:0;pointer-events:none;will-change:transform}.object-stage picture,.object-stage img{width:100%}.object-stage--hero{width:min(100vw,99.125rem);justify-self:start;margin:0 -44rem 0 calc((var(--page-inline) * -1) - 2.75rem)}.section--hero{min-height:100svh;padding-block:0}.object-stage--habit{width:min(44vw,43.3rem);justify-self:end;margin-right:calc(var(--page-inline) * -1)}.object-stage--leftroom{width:min(52vw,51rem);justify-self:end}.object-stage--about{width:min(40vw,40rem);justify-self:end;margin-right:calc(var(--page-inline) * -1)}.section--work{align-items:start;min-height:62rem;padding-block:clamp(5rem,9vh,8rem)}.work-layout{display:grid;grid-template-columns:minmax(32rem,1.08fr) minmax(27rem,.92fr);gap:clamp(3rem,6vw,7rem);align-items:start}.section-label{margin:0 0 2rem}.work-list{display:grid}.work-item{min-width:0}.work-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(7rem,10.5rem);gap:1rem;align-items:baseline;min-height:clamp(5.35rem,6.8vw,7rem)}.work-row h3{min-width:0;margin:0}.work-trigger{max-width:100%;color:var(--display);font-family:var(--display-face);font-size:clamp(2.8rem,4.35vw,4.25rem);font-weight:400;line-height:1.04;letter-spacing:-.01em;text-align:left;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:color .14s ease-out}.index-text{color:var(--index);font-weight:400;line-height:1.48;letter-spacing:.03em}.work-list[data-active] .work-item:not(.is-active) .work-trigger{color:var(--index)}.project-inline{display:none}.work-preview{position:sticky;top:7.25rem;display:grid;height:min(66vh,41rem);min-height:min(66vh,41rem);align-self:start;place-items:center}.work-object{width:min(100%,35rem);margin:0;opacity:1;transition:opacity .16s ease-out}.work-object img{width:100%;max-height:65vh;object-fit:contain}.work-preview-card{position:absolute;inset:clamp(.2rem,.9vw,.8rem);display:grid;align-content:center;isolation:isolate;padding:clamp(1.15rem,1.8vw,1.8rem);border:1px solid rgb(255 255 255 / 16%);border-radius:clamp(1.5rem,2.6vw,2.3rem);background:#0304068f;box-shadow:inset 0 1px #ffffff2b,0 18px 58px #0000004d;backdrop-filter:url(#liquid-glass-filter) blur(16px) brightness(.72);-webkit-backdrop-filter:url(#liquid-glass-filter) blur(16px) brightness(.72);opacity:0;pointer-events:none;transition:opacity .16s ease-out}.work-preview[data-project-glass=live] .work-preview-card{border-color:#ffffff1c;background:#00000038;box-shadow:inset 0 1px #ffffff1f;backdrop-filter:none;-webkit-backdrop-filter:none}.work-preview-card>canvas:first-child{pointer-events:none}.work-preview.has-project .work-object{opacity:0}.work-preview.has-project .work-preview-card{opacity:1;pointer-events:auto}.project-card{width:100%;color:var(--body)}.work-preview-card .project-card{max-height:min(70vh,43rem);overflow:auto;padding:.15rem;scrollbar-color:var(--hairline) transparent}.project-card h4{margin:0;color:var(--display);font-family:var(--display-face);font-size:clamp(2.8rem,4vw,4.5rem);font-weight:400;line-height:1.03;letter-spacing:-.01em;text-transform:uppercase}.project-card>p{max-width:39rem;margin:1rem 0 1.5rem;color:var(--body);font-size:var(--body-size);line-height:1.66}.project-cover{width:min(100%,34rem);margin:0 auto 1.5rem;overflow:hidden;border:1px solid rgb(255 255 255 / 14%);border-radius:1rem;background:#080a0f;box-shadow:0 16px 40px #0000005c}.project-cover img{width:100%;max-height:34vh;aspect-ratio:16 / 9;object-fit:cover}.metadata{display:grid;gap:.65rem;margin:0}.metadata>div{display:grid;grid-template-columns:minmax(6.5rem,.34fr) minmax(0,1fr);gap:1rem;font-family:var(--mono);font-size:.76rem;line-height:1.56;text-transform:uppercase}.metadata dt{color:var(--label);letter-spacing:.08em}.metadata dd{margin:0;color:var(--secondary)}.project-link{display:inline-flex;align-items:center;gap:.45em;margin-top:1.35rem;color:var(--secondary);letter-spacing:.06em;text-decoration-thickness:1px;text-underline-offset:.35em}@media(min-width:769px){.work-preview-card{padding:clamp(1rem,1.3vw,1.25rem)}.work-preview-card .project-cover{height:min(24vh,14.5rem);margin-bottom:1rem}.work-preview-card .project-cover img{height:100%;max-height:none;aspect-ratio:auto}.work-preview-card .project-card>p{margin:.75rem 0 1rem}.work-preview-card .metadata{gap:.45rem}.work-preview-card .project-link{margin-top:1rem}}.skill-list,.proof-list{display:grid;margin-top:2rem}.skill-list{gap:1.2rem}.proof-list{gap:2rem}.skill-list article,.proof-list article{display:grid;gap:.35rem}.skill-list h3,.proof-list h3{margin:0;color:var(--display);font-family:var(--display-face);font-size:clamp(2.05rem,2.45vw,2.5rem);font-weight:400;line-height:1.06;letter-spacing:-.005em;text-transform:uppercase}.skill-list h3 a{display:inline-flex;align-items:center;gap:.22em;text-decoration-color:var(--label);text-decoration-thickness:1px;text-underline-offset:.18em}.skill-list p,.proof-list p{max-width:39rem;margin:0;color:var(--body);font-size:var(--body-size);line-height:1.62}.closing-line{max-width:41rem;margin-top:2.25rem;font-size:clamp(.83rem,.92vw,.94rem);line-height:1.72}.section--contact{align-items:start;min-height:max(54rem,100svh);padding-top:clamp(5rem,8vh,7rem);padding-bottom:2rem}.contact-content{display:grid;width:min(100%,78rem);justify-items:center;text-align:center}.contact-content .display{font-size:clamp(3.25rem,5vw,4.8rem)}.contact-content .body-copy{max-width:49rem;margin-top:1.2rem;color:var(--secondary);font-size:clamp(1.15rem,1.65vw,1.48rem);line-height:1.58}.contact-links{display:grid;gap:.8rem;margin-top:1.5rem;color:var(--secondary);font-size:clamp(.86rem,.92vw,.96rem);letter-spacing:.08em}.contact-links a{display:inline-flex;align-items:center;gap:.45em;text-underline-offset:.32em}.link-icon{display:block;width:1.12em;height:1.12em;flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;text-decoration:none;transform:translateY(-.03em);transition:transform .14s ease-out}a:hover .link-icon,a:focus-visible .link-icon{transform:translate(.1em,-.13em)}.object-stage--contact{width:min(50vw,46rem);margin-top:5rem}.object-stage--contact picture{transform:translate(14%)}.footer-line{margin-top:-.5rem;color:var(--label)}.section--personal{min-height:100svh}.personal-layout{display:grid;grid-template-columns:minmax(31rem,1.12fr) minmax(28rem,.88fr);gap:clamp(3rem,4vw,5rem);align-items:center}.personal-eyebrow{margin:0 0 1.1rem;color:var(--secondary)}.personal-quote{max-width:43.5rem;margin:0;color:var(--secondary);font-family:var(--sans);font-size:clamp(2.2rem,3.6vw,3.75rem);font-weight:600;line-height:1.22;letter-spacing:-.035em}.personal-body{max-width:44rem;margin-top:1.35rem}.personal-index{margin:2rem 0 0;border-top:1px solid var(--hairline)}.personal-index>div{display:grid;grid-template-columns:minmax(6.5rem,.25fr) minmax(0,1fr);gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--hairline);font-family:var(--mono);font-size:.77rem;line-height:1.56}.personal-index dt{color:var(--label);font-weight:500;letter-spacing:.05em;text-transform:uppercase}.personal-index dd{max-width:34rem;margin:0;color:var(--secondary)}.object-stage--aboutme{top:8rem;width:min(53vw,49rem);justify-self:end;margin-right:calc(var(--page-inline) * -1)}#professional-about .section-copy{align-self:start}.js [data-reveal]{visibility:hidden}@media(max-width:1024px){.section-grid{grid-template-columns:minmax(0,1.12fr) minmax(19rem,.88fr);gap:2.5rem}.section-grid--hero{grid-template-columns:minmax(19rem,.85fr) minmax(0,1.15fr)}.work-layout{grid-template-columns:minmax(27rem,1.08fr) minmax(20rem,.92fr);gap:2.5rem}.work-preview{position:relative;top:auto}.work-trigger{font-size:clamp(2.7rem,4.35vw,3.75rem)}.personal-layout{grid-template-columns:minmax(27rem,1fr) minmax(20rem,.9fr);gap:2.5rem}}@media(max-width:768px){:root{--section-block: clamp(3rem, 8vh, 5rem);--page-inline: clamp(1.25rem, 6vw, 2.2rem)}.global-header{top:.75rem;max-width:calc(100vw - 1rem);backdrop-filter:blur(16px) brightness(.74) saturate(.82);-webkit-backdrop-filter:blur(16px) brightness(.74) saturate(.82)}.nav-pill{min-height:3.15rem;gap:.15rem;padding:.28rem .34rem}.nav-brand{min-height:2.5rem;padding-inline:.32rem}.nav-mark{width:2.05rem;height:2.05rem}.nav-mark img{width:1.8rem;height:1.8rem}.nav-name{display:none}.nav-links a{min-height:2.45rem;padding:0 .5rem;font-size:.64rem}.section{min-height:auto}.section-grid,.section-grid--hero,.personal-layout{display:flex;flex-direction:column;gap:2rem}.object-stage{order:-1;align-self:center;justify-self:auto;width:min(100%,42rem);max-height:55vh;margin:0}.object-stage img{max-height:55vh;object-fit:contain}.section--hero{padding-top:6.2rem;padding-bottom:var(--section-block)}.object-stage--hero{width:min(112%,42rem);max-height:43vh;margin-inline:-6%}.object-stage--hero img{max-height:43vh}.hero-copy{width:100%;margin-top:0}.display--hero{font-size:clamp(2.7rem,12.4vw,3.1rem)}.hero-lede{font-size:clamp(1.1rem,4.5vw,1.28rem);line-height:1.55}.work-layout{display:block}.section--work{min-height:auto}.work-row{grid-template-columns:minmax(0,1fr) minmax(5.7rem,7.5rem);min-height:4.65rem}.work-trigger{white-space:normal;font-size:clamp(2.65rem,12.5vw,4rem)}.index-text{font-size:.65rem}.work-preview{display:none}.project-inline{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .18s ease-out,opacity .14s ease-out}.project-inline>.project-card{min-height:0;overflow:hidden;padding:0}.work-item.is-open .project-inline,.no-js .project-inline{grid-template-rows:1fr;opacity:1}.work-item.is-open .project-card,.no-js .project-card{padding:.75rem 0 2.4rem}.project-card h4{font-size:clamp(2.5rem,12vw,3.75rem)}.project-cover{width:min(92%,25rem);margin-inline:0}.metadata>div{grid-template-columns:5.6rem minmax(0,1fr);font-size:.72rem}.skill-list,.proof-list{gap:1.65rem}.skill-list article,.proof-list article{gap:.45rem}.skill-list h3,.proof-list h3{font-size:clamp(2rem,9.8vw,3rem)}.object-stage--leftroom{width:min(100%,46rem)}.object-stage--about{width:min(82%,31rem)}.section--contact{min-height:100svh;padding-top:5rem}.object-stage--contact{order:initial;width:min(82%,31rem);max-height:none;margin-top:1.2rem}.object-stage--contact img{max-height:46vh}.footer-line{margin-top:1rem}.section--personal{padding-top:6.3rem}.object-stage--aboutme{top:0;width:min(108%,47rem);margin-inline:-4%}.personal-quote{font-size:clamp(2rem,8.4vw,3.2rem)}}@media(max-width:480px){.nav-links a{padding-inline:clamp(.32rem,2.3vw,.52rem);font-size:.59rem;letter-spacing:.055em}.display{font-size:clamp(2.3rem,10.25vw,2.65rem)}.display--hero{font-size:clamp(2.7rem,12.4vw,3.1rem)}.work-trigger{font-size:clamp(2.3rem,10.25vw,2.65rem)}.personal-index>div{grid-template-columns:5.7rem minmax(0,1fr);gap:.8rem;font-size:.72rem}.skill-list h3,.proof-list h3{font-size:clamp(1.95rem,8.6vw,2.35rem)}.contact-content .display{font-size:clamp(2.6rem,11.5vw,3.25rem)}}@media(pointer:coarse),(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-reduced-motion:reduce){.js [data-reveal]{visibility:visible}}
