@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}ul[class],ol[class]{padding:0;list-style:none}img{max-width:100%;height:auto;display:block}a{color:inherit}}@layer tokens{:root{--ground:#010a10;--band:#05121a;--surface:#0c1f2a;--raised:#122c3a;--hairline:#ffffff0f;--hairline-lit:#ffffff29;--text:#dedede;--text-dim:#93a7b2;--accent:#13fdfd;--accent-mid:#139bfd;--metric:#fdc448;--blue:#0071ff;--signature:linear-gradient(312deg, #13fdfd 0%, #139bfd 100%);--glow:0 0 0 1px #13fdfd24, 0 10px 44px -14px #13fdfd6b;--font-display:"Clash Display", ui-sans-serif, system-ui, sans-serif;--font-body:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Consolas, monospace;--font-decision:var(--font-body);--step-h1:clamp(2.5rem, 1.4rem + 5vw, 4rem);--step-h2:clamp(1.75rem, 1.35rem + 1.8vw, 2.5rem);--step-h3:clamp(1.2rem, 1.08rem + .6vw, 1.5rem);--step-h4:clamp(1.05rem, .98rem + .4vw, 1.25rem);--step-body:1.0625rem;--step-small:.9rem;--step-micro:.75rem;--rail:16rem;--measure:82rem;--gutter:clamp(1.25rem, 4vw, 3rem);--radius:5px;--ease:cubic-bezier(.22, .68, .36, 1)}}@layer base{html{color-scheme:dark;-webkit-text-size-adjust:100%}body{background-color:var(--ground);color:var(--text);font-family:var(--font-body);font-size:var(--step-body);letter-spacing:.002em;text-rendering:optimizelegibility;min-height:100vh;line-height:1.7}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;word-spacing:.16em;text-wrap:balance;font-weight:600;line-height:1.08}h1{font-size:var(--step-h1)}h2{font-size:var(--step-h2)}h3{font-size:var(--step-h3)}p{text-wrap:pretty}a{text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:.2em;transition:color .15s var(--ease), text-decoration-color .15s var(--ease)}a:hover{color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb, var(--blue) 45%, transparent);border-radius:2px}::selection{background:color-mix(in srgb, var(--accent-mid) 40%, transparent);color:#fff}.icon{flex:none;block-size:1em;inline-size:1em;display:block}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.skip-link{z-index:30;background:var(--raised);border:1px solid var(--hairline-lit);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--step-small);transition:top .15s var(--ease);padding:.6rem 1rem;text-decoration:none;position:absolute;top:-4rem;left:.5rem}.skip-link:focus{top:.5rem}}@layer layout{.main{display:block}@media (width>=64rem){.main{padding-inline-start:var(--rail)}}.band{background:var(--ground);border-block-start:1px solid var(--hairline);position:relative}.band--alt{background:var(--band)}.band__inner{z-index:1;max-width:var(--measure);padding-inline:var(--gutter);margin-inline:auto;padding-block:clamp(2.25rem,4.5vw,3.5rem);position:relative}.band__head{text-align:center;justify-items:center;gap:.5rem;margin-block-end:2rem;display:grid}.band__head h2{margin:0}.band__eyebrow{font-family:var(--font-mono);font-size:var(--step-micro);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);padding-block-end:.35rem;position:relative}.band__eyebrow:after{content:"";background:var(--signature);width:2.5rem;height:1px;position:absolute;inset-block-end:0;inset-inline-start:50%;translate:-50%}@supports (background-clip:text){.band__head h2{background:var(--signature);color:#0000;-webkit-background-clip:text;background-clip:text}}@media (forced-colors:active){.band__head h2{color:canvastext}}.band__inner--tight{padding-block:clamp(1.5rem,3vw,2.25rem)}.band--foot{background:var(--ground)}.foot{font-family:var(--font-mono);font-size:var(--step-micro);color:var(--text-dim);flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}}@layer components{.rail{background:var(--ground);padding:1.5rem var(--gutter);border-block-end:1px solid var(--hairline);flex-wrap:wrap;align-items:baseline;gap:.75rem 1.5rem;display:flex}@media (width>=64rem){.rail{width:var(--rail);border-block-end:none;border-inline-end:1px solid var(--hairline);overscroll-behavior:contain;z-index:10;flex-direction:column;align-items:stretch;gap:1.75rem;padding:2.5rem 1.5rem;display:flex;position:fixed;inset-block:0;inset-inline-start:0;overflow-y:auto}}.rail__name{word-spacing:.16em;font-family:var(--font-display);letter-spacing:-.02em;font-size:1.2rem;line-height:1.15;text-decoration:none}.rail__title{font-family:var(--font-mono);font-size:var(--step-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-block-start:.35rem}.rail__index{display:none}.rail__foot{font-family:var(--font-mono);font-size:var(--step-micro);color:var(--text-dim)}@media (width>=64rem){.rail__foot{margin-block-start:auto}.rail__index{font-size:var(--step-small);flex-direction:column;gap:.1rem;display:flex}}.rail__index a{border-inline-start:1px solid var(--hairline);color:var(--text-dim);transition:color .15s var(--ease), border-color .15s var(--ease);align-items:center;gap:.6rem;padding:.35rem 0 .35rem .85rem;text-decoration:none;display:flex}.rail__index .icon{opacity:.75;transition:opacity .15s var(--ease);font-size:1.15rem}.rail__index a:hover .icon,.rail__index a:focus-visible .icon{opacity:1;color:var(--accent)}.rail__index a:hover,.rail__index a:focus-visible{color:var(--text);border-inline-start-color:var(--accent)}.switcher{font-size:var(--step-small)}@media (width>=64rem){.switcher{border-block-start:1px solid var(--hairline);margin-block-start:auto;padding-block-start:1.25rem}}.switcher summary{cursor:pointer;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--step-micro);letter-spacing:.08em;text-transform:uppercase;padding-block:.35rem;list-style:none}.switcher summary::-webkit-details-marker{display:none}.switcher summary:after{content:" +";color:var(--accent)}.switcher[open] summary:after{content:" −"}.switcher ul{flex-direction:column;gap:.1rem;margin-block-start:.5rem;display:flex}.switcher ul a{color:var(--text-dim);transition:color .15s var(--ease);padding:.3rem 0;text-decoration:none;display:block}.switcher ul a:hover,.switcher ul a:focus-visible{color:var(--accent)}.switcher ul .audience{font-family:var(--font-mono);font-size:var(--step-micro);color:color-mix(in srgb, var(--text-dim) 70%, transparent);display:block}.band--hero{border-block-start:none;overflow:hidden}.band--hero:before{content:"";pointer-events:none;background:radial-gradient(58rem 30rem at 8% -18%,#13fdfd1c,#0000 62%),radial-gradient(44rem 26rem at 92% 6%,#0071ff29,#0000 64%);position:absolute;inset:0}.band--hero .band__inner{padding-block:clamp(3.5rem,9vw,7rem)}.hero{position:relative}.hero__ghost{z-index:0;pointer-events:none;user-select:none;position:absolute;inset-block-start:-.34em;inset-inline:-.055em 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 46%,#0000004d 80%,#0000 99%);mask-image:linear-gradient(90deg,#000 46%,#0000004d 80%,#0000 99%)}.hero__ghost:before{content:attr(data-ghost);font-family:var(--font-display);letter-spacing:-.05em;word-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:#0000;-webkit-text-stroke:1.5px #139bfd73;font-size:clamp(4rem,12vw,10rem);font-weight:600;line-height:.85;display:block}@supports not ((-webkit-text-stroke:1px red) or (text-stroke:1px red)){.hero__ghost:before{color:#139bfd24}}.hero__body{z-index:1;padding-block-start:clamp(2.5rem,7vw,5rem);position:relative}.hero h1{margin-block-end:.6rem}.hero h1 .word{white-space:pre}.hero__title{font-family:var(--font-mono);font-size:var(--step-small);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-block-end:1.5rem}.hero__summary{max-width:42rem;font-size:1.1rem;line-height:1.6}.standing{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;max-width:42rem;margin-block-start:2rem;display:grid}@media (width<=32rem){.standing{grid-template-columns:minmax(0,1fr)}}.standing li{font-family:var(--font-mono);font-size:var(--step-micro);color:var(--text-dim);align-items:center;gap:.7rem;padding:.8rem .9rem;line-height:1.4;display:flex}.standing .icon{color:var(--accent);font-size:1.3rem}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);position:relative;overflow:hidden}.work-grid .work .stack{margin-block-start:auto}.card:before{content:"";background:var(--signature);opacity:.4;height:1px;transition:opacity .26s var(--ease);position:absolute;inset-block-start:0;inset-inline:0}.card:hover,.card:focus-within{border-color:var(--hairline-lit);box-shadow:var(--glow)}.card:hover:before,.card:focus-within:before{opacity:1}.work-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:1rem;display:grid}.work-grid .work{flex-direction:column;display:flex}.work-grid .work__body{flex:1}.work-grid .stack{margin-block-start:auto}@media (width>=58rem){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work--wide{grid-column:1/-1}}.work{--mx:50%;--my:0%;padding:clamp(1.1rem,2.4vw,1.6rem);scroll-margin-top:6.5rem}.work__head h3{margin:0}.work__parts>*+*{margin-block-start:1.1rem}@media (width>=58rem){.work--wide .work__parts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:2rem;display:grid}.work--wide .work__parts>*+*{margin-block-start:0}}.work__meta{flex-wrap:wrap;align-items:baseline;gap:.4rem .6rem;margin-block-start:.45rem;display:flex}.work__descriptor{color:var(--text-dim);font-size:var(--step-small)}.work__label,.work__status{font-family:var(--font-mono);font-size:var(--step-micro);letter-spacing:.05em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--metric) 38%, transparent);color:var(--metric);border-radius:var(--radius);white-space:nowrap;padding:.15rem .45rem}.work__label--coursework{border-style:dashed}.metrics{grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));gap:.4rem;margin-block:1.25rem;display:grid}.metric{background:var(--raised);border:1px solid var(--hairline);border-radius:var(--radius);padding:.65rem .7rem}.metric__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--metric);font-size:1.35rem;line-height:1.05;display:block}.metric__unit{margin-inline-start:.2em;font-size:.68em}.metric__label{font-family:var(--font-mono);letter-spacing:.03em;color:var(--text-dim);margin-block-start:.35rem;font-size:.68rem;line-height:1.35;display:block}.part+.part{margin-block-start:1.1rem}.part__label{font-family:var(--font-mono);font-size:var(--step-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-block-end:.4rem;font-weight:400}.part--decision .part__label{color:var(--accent)}.part--decision{border-inline-start:2px solid #0000;border-image:var(--signature) 1;padding-inline-start:1rem}.decision{font-family:var(--font-decision);font-weight:600;font-size:var(--step-h4);letter-spacing:-.005em;line-height:1.4}.constraint{color:var(--text-dim);font-size:var(--step-small)}.evidence{flex-direction:column;display:flex}.evidence li{border-block-start:1px solid var(--hairline);font-size:var(--step-small);padding-block:.5rem;line-height:1.6}.evidence li:first-child{border-block-start:none;padding-block-start:0}.stack{border-block-start:1px solid var(--hairline);flex-wrap:wrap;gap:.35rem;margin-block-start:1.35rem;padding-block-start:1rem;display:flex}.chip{font-family:var(--font-mono);font-size:var(--step-micro);color:var(--text-dim);border:1px solid var(--hairline);border-radius:var(--radius);padding:.15rem .45rem}.shots{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.5rem;margin-block-start:1rem;display:grid}.shot--empty{border:1px dashed var(--hairline-lit);border-radius:var(--radius);background:var(--ground);flex-direction:column;justify-content:flex-end;gap:.25rem;min-height:5.5rem;padding:.9rem;display:flex}.shot__note{font-family:var(--font-mono);font-size:var(--step-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.shot__file{font-family:var(--font-mono);font-size:var(--step-micro);color:color-mix(in srgb, var(--text-dim) 75%, transparent);word-break:break-all}.caps{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));align-items:start;gap:.75rem;display:grid}.caps__group{padding:1rem 1.05rem 1.15rem}.caps__group h3{font-family:var(--font-mono);font-size:var(--step-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-block-end:.75rem;font-weight:400}.caps__items{flex-wrap:wrap;gap:.3rem;display:flex}.caps__items a,.caps__items span.cap{font-family:var(--font-mono);font-size:var(--step-micro);border:1px solid var(--hairline);border-radius:var(--radius);color:var(--text);background:var(--raised);padding:.2rem .45rem;text-decoration:none;display:inline-block}.caps__items a{border-color:color-mix(in srgb, var(--accent) 26%, transparent);transition:border-color .15s var(--ease), color .15s var(--ease), box-shadow .2s var(--ease)}.caps__items a:hover,.caps__items a:focus-visible{color:var(--accent);border-color:var(--accent);box-shadow:0 0 18px -4px #13fdfd8c}.caps__items span.cap{color:var(--text-dim)}.qualifier{color:var(--metric);font-style:normal}.history{align-items:stretch;gap:.75rem;display:grid}@media (width>=58rem){.history{grid-template-columns:repeat(2,minmax(0,1fr))}.job--current{grid-column:1/-1}}.job{padding:1rem 1.15rem;scroll-margin-top:6.5rem}@media (width>=46rem){.job{grid-template-columns:6.5rem minmax(0,1fr);align-items:baseline;column-gap:1.25rem;display:grid}}.history__shot{flex-direction:column;justify-content:flex-end;display:flex}.job__dates{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-micro);letter-spacing:.05em;color:var(--metric)}.job__title{word-spacing:.16em;font-family:var(--font-display);font-size:1.1rem;font-weight:600;line-height:1.2}.job__place{font-size:var(--step-small);color:var(--text-dim);margin-block-start:.15rem}.job__bullets{flex-direction:column;gap:.45rem;margin-block-start:.6rem;display:flex}.job__bullets li{font-size:var(--step-small);padding-inline-start:.95rem;line-height:1.6;position:relative}.job__bullets li:before{content:"";inset-inline-start:0;background:var(--accent-mid);width:5px;height:1px;position:absolute;top:.62em}.job__line{font-size:var(--step-small);color:var(--text-dim);margin-block-start:.3rem}.job--line{padding-block:.9rem}.creds{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}@media (width>=46rem){.creds{grid-template-columns:repeat(2,minmax(0,1fr))}.creds li:last-child{grid-column:span 2}}@media (width>=62rem){.creds{grid-template-columns:repeat(3,minmax(0,1fr))}.creds li:last-child{grid-column:span 2}}.creds li{padding:1rem 1.1rem}.creds__name{font-weight:600;line-height:1.35;display:block}.creds__detail{font-size:var(--step-small);color:var(--text-dim);margin-block-start:.3rem;display:block}.creds__year{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-micro);color:var(--text-dim);margin-block-start:.4rem;display:block}.contact{align-items:start;gap:1.25rem;display:grid}@media (width>=46rem){.contact{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem}}.contact__lines{flex-direction:column;gap:.5rem;display:flex}.contact__lines a{font-family:var(--font-mono);font-size:var(--step-small);color:var(--text);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);transition:border-color .15s var(--ease), color .15s var(--ease);padding:.5rem .75rem;text-decoration:none}.contact__lines a:hover,.contact__lines a:focus-visible{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.footer{font-family:var(--font-mono);font-size:var(--step-micro);color:var(--text-dim);border-block-start:1px solid var(--hairline);flex-wrap:wrap;gap:.5rem 1.5rem;margin-block-start:2.5rem;padding-block:1.5rem;display:flex}.stats{gap:1rem;display:grid}@media (width>=58rem){.stats{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:stretch}}.stats__panel{background:var(--signature);color:var(--ground);border-radius:var(--radius);flex-direction:column;justify-content:space-between;gap:1.5rem;padding:clamp(1.5rem,3vw,2.25rem);display:flex}.stats__line{font-family:var(--font-display);letter-spacing:-.02em;word-spacing:.16em;text-wrap:balance;font-size:clamp(1.75rem,1.2rem + 2.2vw,2.75rem);font-weight:600;line-height:1.05}.stats__sub{font-size:var(--step-small);opacity:.85;max-width:34ch;line-height:1.5}.stats__tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.stats__tile{flex-direction:column;justify-content:center;gap:.25rem;padding:1.1rem 1.2rem;display:flex}.stats__tile .metric__value{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.25rem)}.stats__source{font-family:var(--font-mono);font-size:var(--step-micro);color:color-mix(in srgb, var(--text-dim) 78%, transparent);margin-block-start:.3rem}@media (width>=46rem){.caps{grid-template-columns:repeat(2,minmax(0,1fr))}.caps__group:last-child{grid-column:span 2}}@media (width>=62rem){.caps{grid-template-columns:repeat(3,minmax(0,1fr))}.caps__group:last-child{grid-column:span 3}}@media (width>=80rem){.caps{grid-template-columns:repeat(4,minmax(0,1fr))}.caps__group:last-child{grid-column:span 2}}.strip{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.lead{scroll-margin-top:6.5rem;position:relative}.lead .metrics{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.work__body--lead{gap:1rem;display:grid}@media (width>=64rem){.work__body--lead{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}}.work__parts--cards{gap:.75rem;display:grid}@media (width>=40rem){.work__parts--cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}}@media (width>=64rem){.work__body--lead .work__parts--cards{grid-template-columns:minmax(0,1fr)}}.work__parts--cards>.part{margin:0;padding:1.1rem 1.15rem}.work__parts--cards>.part+.part{margin-block-start:0}.work__parts--cards .part--decision{border-inline-start:1px solid var(--hairline);border-image:}.work__parts--cards .decision{font-size:1.05rem;line-height:1.45}.shots--beside{grid-template-columns:minmax(0,1fr)}.card .decision{font-size:1rem;line-height:1.5}@media (width>=58rem){.work--wide .work__parts{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.5rem;display:grid}.work--wide .work__parts>*+*{margin-block-start:0}.work--wide .shots{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}}.history__caption{font-size:var(--step-small);color:var(--text-dim);margin-block-start:.9rem;line-height:1.55}.views{gap:.5rem;display:grid}.views__item{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);transition:border-color .18s var(--ease), box-shadow .22s var(--ease)}.views__item>a,.views__item--current{align-items:baseline;gap:.2rem 1.5rem;padding:1.05rem 1.35rem;text-decoration:none;display:grid}@media (width>=46rem){.views__item>a,.views__item--current{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}}.views__title{font-family:var(--font-display);letter-spacing:-.015em;word-spacing:.16em;font-size:1.15rem;font-weight:600}.views__audience{font-size:var(--step-small);color:var(--text-dim)}.views__path{font-family:var(--font-mono);font-size:var(--step-micro);color:var(--text-dim)}.views__item:not(.views__item--current):hover,.views__item:focus-within{border-color:var(--accent);box-shadow:var(--glow)}.views__item--current{background:var(--blue);border-color:var(--blue);color:var(--ground)}.views__item--current .views__audience,.views__item--current .views__path{color:color-mix(in srgb, var(--ground) 75%, transparent)}.contact__open{font-family:var(--font-display);letter-spacing:-.02em;word-spacing:.16em;margin-block-end:.9rem;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.1rem);font-weight:600;line-height:1.15}.shot--empty{justify-content:flex-end;min-height:9rem}.shots--beside .shot--empty{min-height:11rem}.shot--empty .shot__note,.shot--empty .shot__file,.shot--empty .shot__alt{display:block}.shot--empty .shot__alt{font-size:var(--step-micro);color:color-mix(in srgb, var(--text-dim) 62%, transparent);margin-block-start:.3rem;line-height:1.45}.shot img{border-radius:var(--radius);border:1px solid var(--hairline)}.viewbar{z-index:8;padding-inline:var(--gutter);background:color-mix(in srgb, var(--ground) 88%, transparent);border-block-end:1px solid var(--hairline);align-items:center;gap:1rem;padding-block:.6rem;display:flex;position:sticky;inset-block-start:0}@supports (backdrop-filter:blur(6px)){.viewbar{backdrop-filter:blur(10px)saturate(1.2)}}.viewbar__list{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.15rem;display:flex;overflow-x:auto}.viewbar__list::-webkit-scrollbar{display:none}.viewbar__link{border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--step-micro);letter-spacing:.04em;white-space:nowrap;color:var(--text-dim);transition:color .15s var(--ease), background-color .15s var(--ease);align-items:center;gap:.4rem;padding:.4rem .7rem;text-decoration:none;display:flex}a.viewbar__link:hover,a.viewbar__link:focus-visible{color:var(--text);background:var(--surface)}.viewbar__link--current{color:var(--accent);position:relative}.viewbar__link .icon{opacity:.8;font-size:1.05rem}.viewbar__link--current .icon{opacity:1}.viewbar__link--current:after{content:"";background:var(--signature);border-radius:2px;height:2px;position:absolute;inset-block-end:.15rem;inset-inline:.7rem}.shot__trigger{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--ground);cursor:zoom-in;inline-size:100%;color:var(--text);font:inherit;transition:border-color .18s var(--ease), box-shadow .22s var(--ease);padding:0;display:block;position:relative;overflow:hidden}.shot__trigger img{aspect-ratio:16/9;object-fit:cover;object-position:top center;block-size:auto;inline-size:100%;display:block}.shot__trigger:hover,.shot__trigger:focus-visible{border-color:var(--accent);box-shadow:var(--glow)}.shot__zoom{border-radius:var(--radius);background:color-mix(in srgb, var(--ground) 82%, transparent);border:1px solid var(--hairline-lit);block-size:2rem;inline-size:2rem;color:var(--accent);opacity:0;transition:opacity .18s var(--ease);place-items:center;font-size:1.15rem;display:grid;position:absolute;inset-block-end:.5rem;inset-inline-end:.5rem}.shot__trigger:hover .shot__zoom,.shot__trigger:focus-visible .shot__zoom{opacity:1}@media (hover:none){.shot__zoom{opacity:1}}.lightbox{max-block-size:94dvh;max-inline-size:min(96vw,84rem);color:var(--text);background:0 0;border:none;padding:0;overflow:visible}.lightbox::backdrop{background:color-mix(in srgb, var(--ground) 88%, transparent);backdrop-filter:blur(4px)}.lightbox__frame{background:var(--surface);border:1px solid var(--hairline-lit);border-radius:var(--radius);position:relative;overflow:hidden}.lightbox__image{object-fit:contain;background:var(--ground);block-size:auto;max-block-size:calc(94dvh - 5rem);inline-size:100%;display:block}.lightbox__bar{border-block-start:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;padding:.85rem 1.1rem;display:flex}.lightbox__caption{font-size:var(--step-small);max-width:76ch;line-height:1.5}.lightbox__count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-micro);color:var(--text-dim);white-space:nowrap}.lightbox__close,.lightbox__nav{border:1px solid var(--hairline-lit);border-radius:var(--radius);background:color-mix(in srgb, var(--ground) 78%, transparent);block-size:2.5rem;inline-size:2.5rem;color:var(--text);cursor:pointer;transition:color .15s var(--ease), border-color .15s var(--ease), opacity .15s var(--ease);place-items:center;padding:0;font-size:1.4rem;display:grid;position:absolute}.lightbox__close:hover,.lightbox__nav:not(:disabled):hover{color:var(--accent);border-color:var(--accent)}.lightbox__close{inset-block-start:.6rem;inset-inline-end:.6rem}.lightbox__nav{inset-block-start:calc(50% - 3rem)}.lightbox__nav--prev{inset-inline-start:.6rem}.lightbox__nav--next{inset-inline-end:.6rem}.lightbox__nav:disabled{opacity:.3;cursor:default}.shots--collapsed{grid-template-columns:minmax(0,1fr)}.shots--collapsed li:not(:first-child){display:none}.shot__count{border-radius:var(--radius);background:color-mix(in srgb, var(--ground) 82%, transparent);border:1px solid var(--hairline-lit);font-family:var(--font-mono);font-size:var(--step-micro);color:var(--text-dim);padding:.25rem .5rem;display:none;position:absolute;inset-block-start:.5rem;inset-inline-start:.5rem}.shots--collapsed .shot__count{display:block}.shots--collapsed .shot__trigger img{aspect-ratio:16/10}.viewbar__contact{border-inline-start:1px solid var(--hairline);flex:none;align-items:center;gap:.15rem;margin-inline-start:auto;padding-inline-start:.75rem;display:flex}.viewbar__contact .viewbar__link{color:var(--text)}.viewbar__address{text-transform:none;letter-spacing:.01em}.viewbar__contact .viewbar__link:hover,.viewbar__contact .viewbar__link:focus-visible{color:var(--accent);background:var(--surface)}@media (width<=60rem){.viewbar__contact .viewbar__address{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}}@layer motion{@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.hero h1 .word{animation:rise .62s var(--ease) backwards;display:inline-block}.hero h1 .word:nth-child(2){animation-delay:70ms}.hero h1 .word:nth-child(3){animation-delay:.14s}.hero h1 .word:nth-child(n+4){animation-delay:.21s}.hero__title,.hero__summary,.standing{animation:rise .62s var(--ease) .26s backwards}[data-observe=pending]{transform:translateY(16px)}[data-observe=pending].card:before{opacity:0}[data-observe=in]{transition:transform .56s var(--ease);transform:none}@media (hover:hover) and (pointer:fine){.card{transition:border-color .2s var(--ease), box-shadow .25s var(--ease), transform .2s var(--ease)}.work:hover{transform:translateY(-3px)}}}@keyframes rise{0%{transform:translateY(.4em)}to{transform:none}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.work:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s var(--ease);background:radial-gradient(18rem 18rem at var(--mx) var(--my), #13fdfd12 0%, #13fdfd00 62%);position:absolute;inset:0}.work:hover:after{opacity:1}}}@font-face{font-family:Clash Display;src:url(/fonts/clash-display-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/plex-sans-var.woff2)format("woff2-variations");font-weight:400 600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plex-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}
