.not-found-page{text-align:center;background:var(--terminal-bg);width:100%;color:var(--grey-500);flex-direction:column;justify-content:center;align-items:center;gap:24px;padding-top:48px;padding-bottom:96px;display:flex}.not-found-page h1{letter-spacing:0;overflow-wrap:anywhere;max-width:100%;margin:0;font-size:12px;line-height:1.6}.not-found-code{font-family:var(--font-display);font-variant-numeric:slashed-zero;letter-spacing:-.04em;color:#0000;-webkit-text-stroke:1px var(--grey-500);font-size:clamp(100px,20vw,240px);font-weight:700;line-height:1;display:block}.not-found-page p{margin:0}.not-found-page .action-button{border-color:var(--grey-500);border-radius:6px;min-width:160px;min-height:44px}.not-found-page .action-button:hover{color:var(--fg);border-color:var(--fg)}.not-found-page .scramble-text,.not-found-page .scramble-visual{white-space:normal}.terminal-caret{animation:1s step-end infinite terminal-caret}@keyframes terminal-caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.terminal-caret{animation:none}}@media (prefers-reduced-motion:no-preference){.portfolio .story-work-collection .project-link .project-tile{transform:perspective(850px) rotateX(var(--tile-tilt-x,0deg)) rotateY(var(--tile-tilt-y,0deg));transform-origin:50%;transition:transform .18s ease-out}.portfolio .story-work-collection .project-link:active .project-tile{transform:perspective(850px) rotateX(var(--tile-tilt-x,0deg)) rotateY(var(--tile-tilt-y,0deg)) scale(.98)}}.index-id-short{display:none}@media (width<=639px){.portfolio .work-index{table-layout:fixed;width:100%}.portfolio .work-index th,.work-index td{white-space:nowrap;padding-inline:8px}.portfolio .work-index th:first-child,.work-index td:first-child{width:64px}.portfolio .work-index th:last-child,.work-index td:last-child{text-align:right;width:52px}.portfolio .work-index th:nth-child(3),.work-index td:nth-child(3){display:none}.portfolio .work-index tbody th{text-overflow:ellipsis;width:auto;min-width:0;overflow:hidden}.portfolio .work-index tbody th a{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.portfolio .work-index .index-id-full{display:none}.portfolio .work-index .index-id-short{display:inline}}.featured-work{gap:40px;margin-bottom:48px;display:grid}.featured-work>article{min-width:0;container-type:inline-size}.featured-work .project-tile{aspect-ratio:16/10}.featured-work .tile-bottom{gap:12px;padding-top:20px}.featured-project-summary{color:var(--grey-300);white-space:pre-line;margin:8px 0 0;font-size:16px;line-height:1.7}.featured-project-outcome{color:var(--fg);white-space:pre-line;margin:8px 0 0;font-size:14px;line-height:1.7}.featured-project-link{color:var(--fg);text-underline-offset:5px;margin-top:12px;font-size:12px;text-decoration:underline;display:inline-block}@media (width>=1101px){.featured-work{gap:64px;margin-bottom:80px}.featured-work .project-link{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:48px;display:grid}.featured-work .tile-bottom{text-align:left;align-items:flex-start;padding:24px 0}.featured-work .tile-bottom>.single-line-title{text-align:left;width:100%}.featured-work .tile-bottom>span:nth-child(2){text-transform:none;font-size:28px}.featured-work .project-tile{border-radius:min(112px,12cqw)}}@media (width<=600px){.featured-work .project-tile{aspect-ratio:1/1.08}}.specimen-gallery{--fg:var(--gallery-ink);--grey-500:var(--gallery-grey);--grey-300:var(--gallery-silver);isolation:isolate;color:var(--gallery-ink);background:var(--gallery-bg);font-family:var(--font-body);font-size:12px;position:relative}.specimen-gallery,.vitrine-window{transition:background-color .8s,color .8s,border-color .8s}.specimen-gallery a:focus-visible,.specimen-gallery button:focus-visible{outline:2px solid var(--gallery-light);outline-offset:6px}.gallery-dither{z-index:105;pointer-events:none;background-color:var(--gallery-bg);background-image:radial-gradient(circle at 3px 3px,var(--gallery-line) 1px,transparent 1.2px),radial-gradient(circle at 9px 9px,var(--gallery-line) .65px,transparent .85px),radial-gradient(circle at 3px 9px,var(--gallery-line) .4px,transparent .6px);background-size:var(--gallery-grid) var(--gallery-grid);opacity:0;transition:opacity .3s;position:fixed;inset:0}.gallery-dither.is-active{opacity:.24;transition-duration:.15s}.orbit-gallery{touch-action:pan-y;width:100vw;height:100dvh;min-height:600px;margin-left:calc(50% - 50vw);overflow:hidden}.orbit-stage{cursor:default;position:absolute;inset:0}.orbit-stage[data-interactive=true]{cursor:pointer}.orbit-stage>canvas{width:100%;height:100%;display:block}.orbit-readout{z-index:2;color:var(--gallery-silver);letter-spacing:.04em;pointer-events:none;font-size:12px;position:absolute;top:32px;left:clamp(24px,4vw,80px);right:24px}.orbit-links{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.orbit-links:focus-within{clip:auto;z-index:3;white-space:normal;width:auto;height:auto;margin:0;bottom:24px;left:24px;right:24px;overflow:visible}.orbit-links:focus-within li{display:none}.orbit-links:focus-within li:focus-within{display:block}.orbit-links a{min-height:44px;color:var(--gallery-ink);background:var(--gallery-plate);border:1px solid var(--gallery-line);align-items:center;padding:12px 16px;display:inline-flex}.vitrine-gallery{background:var(--gallery-plate);min-height:800px;padding:64px 48px 48px}.vitrine-layout{grid-template-columns:minmax(0,1fr) 180px;align-items:start;gap:32px;display:grid}.vitrine-window{border:var(--gallery-stroke) solid var(--gallery-ink);border-radius:var(--gallery-radius);background:var(--gallery-bg);isolation:isolate;justify-self:center;width:min(100%,520px);height:min(70vh,720px);min-height:420px;display:block;position:relative;overflow:hidden}.vitrine-camera{animation:14s ease-in-out infinite alternate specimen-observe;position:absolute;inset:-8px}.vitrine-artifact{-o-object-fit:cover;object-fit:cover;filter:grayscale();width:100%;height:100%;transition:filter .8s;position:absolute;inset:0}.vitrine-window.tone-accent .vitrine-artifact{filter:grayscale(0)}.vitrine-video{position:absolute;inset:0}.vitrine-video video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.vitrine-empty{text-align:center;color:var(--gallery-grey);place-items:center;padding:32px;display:grid;position:absolute;inset:0}.vitrine-light{background:linear-gradient(90deg,transparent 25%,var(--window-light,var(--gallery-light)) 50%,transparent 75%);mix-blend-mode:screen;pointer-events:none;transition:transform .8s,opacity .8s;position:absolute;inset:-60%}.vitrine-caption{z-index:2;text-align:center;color:var(--gallery-silver);font-size:12px;position:absolute;bottom:24px;left:32px;right:32px}.vitrine-index{margin:48px 0 0;padding:0;list-style:none}.vitrine-index li{border-bottom:1px solid var(--gallery-line)}.vitrine-index li:first-child{border-top:1px solid var(--gallery-line)}.vitrine-index a{color:var(--gallery-grey);grid-template-columns:80px minmax(0,1fr) minmax(120px,.7fr) 60px;align-items:center;gap:20px;padding:18px 0;font-size:12px;display:grid;position:relative}.vitrine-index a[aria-current=true]{color:var(--gallery-ink)}.vitrine-index a[aria-current=true]:after{content:"";background:var(--specimen-accent,var(--gallery-silver));height:1px;position:absolute;bottom:-1px;left:0;right:0}.vitrine-index a>:last-child{text-align:right}.vitrine-dial{border:0;min-width:0;margin:0;padding:0}.vitrine-dial legend{color:var(--gallery-grey);margin-bottom:20px;font-size:12px}.vitrine-quadrant{border-top:1px solid var(--gallery-silver);border-right:1px solid var(--gallery-silver);border-bottom:1px solid var(--gallery-line);border-left:1px solid var(--gallery-line);border-radius:0 100% 0 0;width:156px;height:156px;margin-bottom:16px;position:relative}.vitrine-quadrant:after{content:"";transform-origin:0;background:var(--gallery-line);width:155px;height:1px;position:absolute;bottom:0;left:0;transform:rotate(-45deg)}.vitrine-dial label{cursor:pointer;min-height:44px;color:var(--gallery-grey);align-items:center;gap:8px;font-size:12px;display:flex}.vitrine-dial label:has(input:checked){color:var(--gallery-ink)}.vitrine-dial input{accent-color:var(--gallery-ink)}@keyframes specimen-observe{0%{transform:translate(-6px,-6px)scale(1)}to{transform:translate(6px,6px)scale(1.04)}}@media (width<=1000px){.vitrine-gallery{padding:40px 24px}.vitrine-layout{grid-template-columns:minmax(0,1fr) 140px}.vitrine-quadrant{width:120px;height:120px}.vitrine-quadrant:after{width:119px}.vitrine-index a{grid-template-columns:64px minmax(0,1fr) 120px 48px;gap:12px}}@media (prefers-reduced-motion:reduce){.gallery-dither{display:none}.specimen-gallery,.specimen-gallery *{transition:none!important;animation:none!important}}.hero-specialty{text-align:center;width:100%;color:var(--grey-300);opacity:var(--hero-title-opacity,1);pointer-events:none;font-size:14px;line-height:1.6}.hero-specialty p{margin:0}.hero-specialty p+p{margin-top:4px;font-size:12px}.hero-specialty>div{animation:.5s .2s both hero-specialty-enter}.home-hero>.hero-specialty{margin-top:20px}.story-opening-wordmark>.hero-specialty{opacity:max(0,calc(1 - var(--story-progress,0) * 6));padding-top:20px;position:absolute;top:100%;left:0}html[data-booting] .hero-specialty>div{opacity:0;animation:none}html[data-boot-handoff] .hero-specialty>div{animation:.5s .65s both hero-specialty-enter}@keyframes hero-specialty-enter{0%{opacity:0}to{opacity:1}}@media (width<=767px){.story-opening-wordmark>.hero-specialty{padding-top:12px}.hero-specialty{font-size:12px}.hero-specialty p+p{max-width:32ch;margin-inline:auto}}@media (prefers-reduced-motion:reduce){.hero-specialty,.story-opening-wordmark>.hero-specialty{opacity:1}.hero-specialty>div,html[data-booting] .hero-specialty>div,html[data-boot-handoff] .hero-specialty>div{opacity:1;animation:none}}.home-main>.home-hero{min-height:calc(100vh - var(--home-header-height,0px));min-height:calc(100dvh - var(--home-header-height,0px));justify-content:flex-end;padding-top:clamp(24px,6vh,96px);padding-bottom:clamp(24px,4vh,48px)}.home-hero .wordmark-script{fill:none;stroke:var(--wordmark-overlay);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:110 70;pointer-events:none;animation:24s linear infinite wordmark-script-trace}@keyframes wordmark-script-trace{to{stroke-dashoffset:-720px}}@media (width<=760px){.home-hero .hero-positioning{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;font-size:12px}.home-hero .hero-positioning p{white-space:nowrap;max-width:none}}@media (prefers-reduced-motion:reduce){.home-hero .wordmark-script{fill:var(--wordmark-overlay);stroke:none;animation:none}}.work-mode-toggle{gap:3px;display:inline-flex}.work-mode-toggle button{color:var(--grey-500);letter-spacing:.04em;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:inline-flex}.work-mode-toggle button[aria-pressed=true]{color:var(--fg);text-underline-offset:6px;text-decoration:underline}.work-mode-toggle button:hover:not([aria-pressed=true]){color:var(--fg)}.work-index-wrap{overflow-x:auto}.work-index{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.work-index thead{color:var(--grey-500);letter-spacing:.04em;font-size:12px}.work-index th{font-weight:400}.work-index th,.work-index td{border-bottom:1px solid var(--line);padding:22px 16px}.work-index th:first-child,.work-index td:first-child{padding-left:0}.work-index th:last-child,.work-index td:last-child{text-align:right;white-space:nowrap;padding-right:0}.work-index thead th{padding-top:12px;padding-bottom:16px}.work-index tbody tr{cursor:pointer}.work-index tbody tr:is(:hover,:focus-within){background:var(--fg);color:var(--bg)}.work-index tbody th{width:45%}.work-index tbody th a{align-items:center;gap:20px;padding:4px 0;display:inline-flex}.index-id{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:12px}.index-draft{margin-left:12px;font-size:12px}.index-preview{z-index:80;pointer-events:none;border:1px solid var(--grey-500);background:var(--terminal-bg);width:320px;max-width:calc(100vw - 32px);color:var(--terminal-ink);box-shadow:8px 8px 0 var(--line);position:fixed}.index-preview-bar{border-bottom:1px solid var(--grey-500);justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;font-size:12px;display:flex}.index-window-marks{align-items:center;gap:7px;display:flex}.index-window-marks i{border:1px solid;width:8px;height:8px;display:block}.index-window-marks i:first-child{border-width:0 0 1px;height:1px}.index-window-marks i:last-child{background:currentColor}.index-preview-artwork{text-align:center;place-items:center;height:208px;font-size:32px;display:grid;position:relative;overflow:hidden}.index-preview-image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.index-preview-caption{border-top:1px solid var(--grey-500);justify-content:space-between;gap:12px;padding:12px;font-size:12px;display:flex}.index-preview-caption>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=760px){.work-index{font-size:12px}.work-index th,.work-index td{padding:18px 10px}.work-index tbody th{min-width:160px}.work-index td:nth-child(3){min-width:130px}.home-main .work-toolbar{flex-direction:row;align-items:center}}@media (width<=767px){.home-main .work-toolbar{flex-flow:row;align-items:center;gap:8px}.home-main .work-toolbar .eyebrow{white-space:nowrap;flex:1;min-width:0;overflow:hidden}.home-main .work-mode-toggle{flex-shrink:0}.home-main .work-mode-toggle button{white-space:nowrap;gap:4px;padding-inline:6px}}@media (hover:none),(pointer:coarse){.index-preview{display:none}}.home-main.work-story-main #work{width:100%;max-width:none;margin:0;padding:0 32px 96px}.work-story{--story-motion-ease:cubic-bezier(.8,0,.2,1)}.work-story>.home-hero{min-height:calc(100dvh - var(--portfolio-header-height))}.story-opening{height:calc(200dvh - var(--portfolio-header-height));margin:0 -32px}.story-opening-sticky{top:var(--portfolio-header-height);height:calc(100dvh - var(--portfolio-header-height));isolation:isolate;position:sticky}.story-opening .story-orbit{background:0 0;width:100%;height:100%;min-height:0;margin:0}.story-opening-wordmark{z-index:2;pointer-events:none;width:min(38%,720px);opacity:calc(1 - var(--story-progress,0) * 4);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.story-opening-wordmark .wordmark-script{fill:none;stroke:var(--wordmark-overlay);stroke-width:2.4px}.story-scroll-cue{z-index:3;letter-spacing:.08em;opacity:calc(1 - var(--story-progress,0) * 3);font-size:12px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.story-opening .orbit-readout{text-align:center;inset:auto 10% 12px}.story-featured{height:calc(100dvh + var(--story-steps) * 36dvh - var(--portfolio-header-height));position:relative}.story-featured-sticky{top:var(--portfolio-header-height);height:calc(100dvh - var(--portfolio-header-height));flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:32px 0;display:flex;position:sticky}.story-window-layout{width:min(56vw,1000px);position:relative}.story-window-layout .vitrine-window{background:0 0;border:0;border-radius:0;width:100%;height:min(54dvh,640px);min-height:0}.story-window-layout .vitrine-camera{animation:none;inset:0}.story-window-layout .vitrine-caption{display:none}.story-light-bar{flex-direction:column;justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex;position:absolute;top:0;bottom:0;left:calc(100% + 32px)}.story-light-bar input{writing-mode:vertical-lr;appearance:auto;width:28px;min-height:80px;accent-color:var(--fg);cursor:ns-resize;direction:rtl;flex:1}.story-light-bar button{text-underline-offset:4px;min-height:44px;text-decoration:underline}.story-featured-copy{text-align:center;max-width:880px}.story-featured-copy h2{margin:12px 0;font-size:clamp(24px,2.1vw,48px);line-height:1.2}.story-featured-copy p{color:var(--grey-300);margin:0 0 16px;font-size:14px}.story-featured-copy a{text-underline-offset:5px;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;display:inline-flex}.story-featured-stack{grid-template-columns:minmax(0,1fr);gap:64px;margin:48px 0 80px;display:grid}.story-featured-stack .tile-bottom{text-align:left;align-items:flex-start}.story-featured-stack .project-tile{aspect-ratio:16/10;border:0;border-radius:0}.story-featured-stack .featured-project-summary{max-width:65ch;margin:20px 0;font-size:14px;line-height:1.7}.story-full-grid{padding-top:48px}@media (width<=1100px){.portfolio .home-main.work-story-main #work{padding-left:24px;padding-right:24px}.story-opening{margin-left:-24px;margin-right:-24px}}@media (width<=767px){.portfolio .home-main.work-story-main #work{padding-left:16px;padding-right:16px}.story-full-grid{padding-top:0}:is(.portfolio:has(.work-story-main) .header-info,.portfolio:has(.work-story-main) .header-work,.portfolio:has(.work-story-main) .header-role){visibility:visible}}@media (prefers-reduced-motion:reduce){.work-story *,.work-story :before,.work-story :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.work-story .wordmark-script{fill:none;stroke:var(--wordmark-overlay);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:110 70;stroke-dashoffset:var(--story-script-offset,0);animation:none}.work-story .story-opening-wordmark{top:calc(50% + var(--story-progress,0) * 40%);opacity:1}.work-story .story-opening-wordmark .wordmark-heavy{opacity:max(0,calc(1 - var(--story-progress,0) * 4))}.story-work-collection{width:min(100%,1440px);margin-inline:auto;padding-top:clamp(48px,5vw,96px)}.work-story .story-work-collection>.home-hero{width:min(100%,1440px);min-height:0;padding:48px 0}.story-work-collection .work-toolbar{padding-top:32px}.project-grid.story-balanced-grid{grid-template-columns:repeat(var(--story-columns),minmax(0,1fr))}.project-grid.story-balanced-grid>article,.project-grid.story-balanced-grid>article:nth-child(n){grid-column:auto}.project-grid.story-balanced-grid>article:nth-child(n) .project-tile{aspect-ratio:1/1.08;height:auto}.story-window-layout .story-light-bar{gap:16px;width:clamp(96px,7vw,160px);top:50%;bottom:auto;transform:translateY(-50%)}.story-time-sector{fill:currentColor;opacity:.06}.story-time-chart{width:100%;position:relative}.story-time-chart svg{width:100%;height:auto;display:block;overflow:visible}.story-time-chart svg line{stroke:currentColor;stroke-width:2px;opacity:.14}.story-time-chart svg line.is-lit{opacity:.8}.story-time-chart svg .story-time-hand{opacity:1;stroke-width:1px}.story-time-arc{stroke:currentColor;fill:none;stroke-width:1px;opacity:.35}.story-time-chart input{writing-mode:vertical-lr;opacity:0;cursor:ns-resize;direction:ltr;width:100%;height:100%;min-height:0;margin:0;position:absolute;inset:0}.story-time-chart:focus-within{outline:2px solid var(--fg);outline-offset:6px}.story-light-bar output{font-variant-numeric:tabular-nums}@media (width>=768px) and (width<=1399px){.project-grid.story-balanced-grid{grid-template-columns:repeat(var(--story-tablet-columns),minmax(0,1fr))}}@media (width>=768px) and (width<=1100px),(width>=768px) and (width<=1366px) and (pointer:coarse){.work-story .story-opening-wordmark{width:min(56%,720px)}}@media (width<=767px){.project-grid.story-balanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-work-collection{padding-top:48px}}@media (width<=480px){.project-grid.story-balanced-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.work-story .wordmark-script{stroke:none;fill:var(--wordmark-overlay)}}@media (width>=768px){.portfolio .story-work-collection .project-grid.story-balanced-grid>article:nth-child(n){grid-column:auto;min-width:0}.portfolio .story-work-collection .project-grid.story-balanced-grid>article:nth-child(n) .project-tile{aspect-ratio:1/1.08;width:100%;height:auto}}.story-featured .story-window-layout .vitrine-window{border-radius:clamp(32px,4vw,86px);overflow:hidden}.story-featured .vitrine-window .vitrine-artifact,.story-featured .vitrine-window .vitrine-video{filter:grayscale();transition:filter .4s}.story-featured .vitrine-window:is(:hover,:focus-visible) .vitrine-artifact,.story-featured .vitrine-window:is(:hover,:focus-visible) .vitrine-video{filter:grayscale(0)}.story-time-chart .story-time-divider{opacity:.35;stroke-width:1px}.work-toolbar .eyebrow{font-variant-numeric:tabular-nums;min-width:7ch}.story-featured .story-window-layout .vitrine-window{aspect-ratio:16/9;background:var(--gallery-plate);height:auto}.story-case-media{position:absolute;inset:0}.story-featured .case-study-window .vitrine-camera{animation:none;inset:0}.story-case-media .story-case-poster,.story-case-media .story-case-video{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;width:100%;max-width:none;height:100%;max-height:none;position:absolute;inset:0}.story-case-media .story-case-video{-o-object-fit:cover;object-fit:cover}.story-case-video{opacity:0;transition:opacity .3s}.story-case-video.is-playing{opacity:1}.story-case-site-frame{pointer-events:none;opacity:0;border:0;width:100%;height:100%;position:absolute;inset:0}.story-case-site-frame.is-ready{opacity:1}.home-main .project-grid .tile-media{transition:filter .3s}@media (hover:hover) and (pointer:fine){.home-main .project-grid:has(>article:hover)>article:not(:hover):not(:focus-within) .tile-media{filter:grayscale()}}.home-main .project-grid:has(>article:focus-within)>article:not(:focus-within):not(:hover) .tile-media{filter:grayscale()}@media (prefers-reduced-motion:reduce){.story-case-video,.home-main .project-grid .tile-media{transition:none}}.story-section-dots{z-index:35;align-items:center;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.story-section-dots[hidden]{display:none}.vitrine-window{cursor:pointer}html.gallery-transitioning,html.gallery-transitioning *{cursor:progress!important}.story-section-dots button{width:44px;height:44px;color:var(--grey-500);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.story-section-dots button span{border:1px solid;border-radius:50%;width:7px;height:7px;transition:background-color .18s,transform .18s;display:block}.story-section-dots button[aria-current=step],.story-section-dots button:hover{color:var(--fg)}.story-section-dots button[aria-current=step] span{background:currentColor;transform:scale(1.2)}.story-opening .orbit-readout{z-index:4;margin:0;bottom:80px}.work-story .story-opening-wordmark{top:min(calc(50% + var(--story-progress,0) * 40%),calc(100% - 160px))}.story-media-status{color:var(--grey-300);letter-spacing:.04em;pointer-events:none;place-items:center;padding:24px;font-size:12px;display:grid;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.story-section-dots button span{transition:none}}@media (width<=767px){.portfolio .home-main.work-story-main #work{padding-inline:16px}.home-main.work-story-main #work>.home-hero{min-height:0;padding:32px 0}.work-story .story-opening{height:calc(200svh - var(--portfolio-header-height));margin-inline:-16px}.work-story .story-opening-sticky{height:calc(100svh - var(--portfolio-header-height))}.work-story .story-opening-wordmark{width:76%}.work-story .story-opening .orbit-stage{touch-action:pan-y pinch-zoom}.work-story .story-opening .orbit-readout{font-size:12px;line-height:1.5;left:16px;right:16px}.work-story .story-featured{height:calc(100svh + var(--story-steps) * 70svh - var(--portfolio-header-height))}.work-story .story-featured-sticky{height:calc(100svh - var(--portfolio-header-height));gap:24px;padding:24px 0 72px}.work-story .story-window-layout{flex-shrink:0;width:100%;max-width:560px}.work-story .story-window-layout .story-light-bar{display:none}.story-featured .story-window-layout .vitrine-window{aspect-ratio:16/9;border-radius:24px;width:100%;height:auto;min-height:0}.work-story .story-featured-copy{width:100%;max-width:560px}.work-story .story-featured-copy .eyebrow{font-size:12px;line-height:1.5;display:block}.work-story .story-featured-copy h2{overflow-wrap:anywhere;margin:12px 0;font-size:clamp(24px,6vw,32px)}.work-story .story-featured-copy p{margin-bottom:12px;font-size:14px}.work-story .story-featured-actions{flex-wrap:wrap;gap:16px}.work-story .story-featured-actions a{min-height:44px;padding:4px 0;font-size:12px}.work-story .story-work-collection{scroll-margin-top:var(--portfolio-header-height);padding-top:32px}.work-story .story-work-collection>.home-hero{padding:24px 0}.work-story .story-work-collection .project-grid{gap:28px 12px}.work-story .story-section-dots{bottom:max(12px,env(safe-area-inset-bottom));background:0 0;border:0;border-radius:0;padding:0}.work-story .story-section-dots button span{width:6px;height:6px}.work-story .story-section-dots button[aria-current=step] span{transform:none}.home-main .project-grid .project-tile{transition:transform .14s}.home-main .project-grid .project-tile:after{content:"";z-index:2;opacity:0;pointer-events:none;background:radial-gradient(circle at var(--touch-x,50%) var(--touch-y,50%),var(--fg),transparent 65%);position:absolute;inset:0}.home-main .project-grid .project-link:active .project-tile{transform:scale(.98)}.home-main .project-grid .project-link:active .project-tile:after{opacity:.22}.home-main .project-grid:has(.project-link:active)>article:not(:has(.project-link:active)) .tile-media{filter:grayscale()}}@media (width<=767px) and (height<=500px){.work-story .story-featured-sticky{gap:10px;padding:8px 0 48px}.work-story .story-window-layout{width:min(100%,52svh)}.work-story .story-featured-copy h2{margin:4px 0;font-size:18px}.work-story .story-featured-copy p{margin-bottom:0;font-size:12px}}@media (prefers-reduced-motion:reduce){.home-main .project-grid .project-tile{transition:none}}.orbit-readout-sides{display:none}@media (width<=767px){.work-story .story-opening-wordmark{z-index:5;top:clamp(28px,7%,64px)}.work-story .story-opening-wordmark .wordmark-heavy{opacity:1}.work-story .story-opening .orbit-readout{color:var(--gallery-ink);letter-spacing:0;bottom:60px}.work-story .orbit-readout-inline{display:none}.work-story .orbit-readout-sides{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.work-story .orbit-readout-sides>div{text-align:left;flex-direction:column;gap:4px;min-width:0;display:flex}.work-story .orbit-readout-sides>div:last-child{text-align:right}.work-story .orbit-readout-sides span{white-space:normal;overflow-wrap:anywhere;line-height:1.5}.portfolio .work-story .story-featured-copy{min-width:0;padding-inline:4px}.portfolio .work-story .story-featured-copy h2{white-space:normal;text-wrap:balance;overflow-wrap:anywhere;max-width:100%;font-size:clamp(20px,5.4vw,26px);line-height:1.25}.portfolio .work-story .story-featured-copy .eyebrow{white-space:normal;overflow-wrap:anywhere}.portfolio .work-story .story-featured-copy p{font-size:13px}.portfolio .work-story .work-toolbar{flex-flow:row;align-items:center;gap:8px}.portfolio .work-story .work-toolbar .eyebrow{white-space:nowrap;min-width:0;margin:0;line-height:1.75}.portfolio .work-story .work-mode-toggle{align-self:center}.home-main .project-grid .project-link{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:pan-y pinch-zoom}}@media (width<=767px) and (height<=500px){.portfolio .work-story .story-featured-copy h2{font-size:18px}}:root,.dark{--boot-background:#000;--boot-foreground:#fff}.story-boot{z-index:1000;background:var(--boot-background);color:var(--boot-foreground);cursor:pointer;position:fixed;inset:0}.story-boot-labels{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;font-size:12px;line-height:1.4;position:absolute;inset:50% 0 auto}.story-boot-label{white-space:pre;position:absolute;top:0;overflow:hidden;transform:translateY(-50%)}.story-boot-label>span{animation:.4s ease-out both boot-label-reveal;animation-delay:var(--label-delay);display:block}.story-boot-left{left:calc(35vw - var(--boot-progress) * 25vw);text-align:left;--label-delay:0s}.story-boot-counter{text-align:center;font-variant-numeric:tabular-nums;--label-delay:60ms;left:50%;transform:translate(-50%,-50%)}.story-boot-right{right:calc(35vw - var(--boot-progress) * 25vw);text-align:right;--label-delay:.12s}.story-boot.is-resolving .story-boot-label>span{animation:.35s ease-in both boot-label-exit;animation-delay:var(--label-delay)}.story-boot.is-resolving{animation:.47s linear both boot-overlay-exit}@keyframes boot-label-reveal{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes boot-label-exit{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes boot-overlay-exit{0%,75%{opacity:1}to{opacity:0}}@keyframes boot-hero-enter{0%{transform:translateY(105%)}to{transform:translateY(0)}}@keyframes boot-page-enter{0%{opacity:0}to{opacity:1}}@keyframes boot-ring-enter{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}html:is([data-booting],[data-boot-handoff]) :is(.home-hero,.story-opening-wordmark) .layered-wordmark{overflow:hidden}html[data-booting] :is(.home-hero,.story-opening-wordmark) .wordmark-lettering{transform:translateY(105%)}html[data-booting] :is(.site-header,.hero-positioning,.story-opening .orbit-stage,.story-opening .orbit-readout,.story-scroll-cue){opacity:0}html[data-boot-handoff] :is(.home-hero,.story-opening-wordmark) .wordmark-lettering{animation:.65s cubic-bezier(.2,.7,.2,1) both boot-hero-enter}html[data-boot-handoff] .story-opening .orbit-stage{animation:.65s ease-out both boot-ring-enter}html[data-boot-handoff] .hero-positioning{animation:.4s .25s both boot-page-enter}html[data-boot-handoff] :is(.site-header,.story-opening .orbit-readout){animation:.4s .35s both boot-page-enter}html[data-boot-handoff] .story-scroll-cue{animation:.4s .45s backwards boot-page-enter}@media (width<=767px){.story-boot-left{left:calc(30vw - var(--boot-progress) * 24vw);transform:translate(calc((var(--boot-progress) - 1) * 50%),-50%)}.story-boot-right{right:calc(30vw - var(--boot-progress) * 24vw);transform:translate(calc((1 - var(--boot-progress)) * 50%),-50%)}}@media (width<=359px){.story-boot-left{left:calc(25vw - var(--boot-progress) * 19vw)}.story-boot-right{right:calc(25vw - var(--boot-progress) * 19vw)}}.story-boot-replay{z-index:1001;border:1px solid var(--line);background:var(--bg);min-height:44px;color:var(--fg);font-family:var(--font-body);cursor:pointer;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:inline-flex;position:fixed;bottom:24px;right:24px}.story-boot-replay:hover{border-color:var(--fg)}@media (width<=767px){.story-boot-replay{bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){.story-boot{display:none}html[data-boot-handoff] :is(.wordmark-lettering,.orbit-stage,.hero-positioning,.site-header,.orbit-readout,.story-scroll-cue){animation:none}}.mobile-menu{display:none}@media (width<=1100px),(width<=1366px) and (pointer:coarse){.site-header .command-strip{background:0 0;justify-content:space-between;gap:16px;padding:12px 20px;font-size:14px;display:flex}.site-header .command-strip>:is(.header-info,.header-role,.header-coordinates,.header-work){display:none}.command-strip>.mobile-menu{display:block}.site-header .header-time{gap:8px;margin-left:auto}.site-header .time-reset{min-height:44px}.mobile-menu-toggle{width:44px;height:44px;color:var(--fg);background:0 0;border:0;place-items:center;padding:0;display:grid}.mobile-menu-toggle svg{stroke-width:1.5px;width:24px;height:24px}.mobile-menu-panel[role=dialog]{z-index:200;overscroll-behavior:contain;width:100%;max-width:none;height:100dvh;max-height:none;padding:max(72px,calc(env(safe-area-inset-top) + 56px)) 24px max(24px,env(safe-area-inset-bottom));background:var(--bg);color:var(--fg);box-shadow:none;border:0;border-radius:0;flex-direction:column;gap:0;display:flex;position:fixed;inset:0;overflow-y:auto;transform:none}.mobile-menu-links{flex-direction:column;flex:1 0 auto;justify-content:center;width:100%;display:flex}.mobile-menu-links>:is(a,button){border:0;border-bottom:1px solid var(--line);width:100%;min-height:60px;color:inherit;text-align:left;letter-spacing:-.04em;background:0 0;justify-content:space-between;align-items:center;padding:18px 0;font-size:clamp(30px,7vw,52px);line-height:1.15;display:flex}.mobile-menu-panel>button{left:max(20px,env(safe-area-inset-left));right:auto;top:max(12px,env(safe-area-inset-top));width:44px;height:44px;color:var(--fg);opacity:1;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute}.mobile-menu-panel>button svg{width:24px;height:24px}.mobile-menu-meta{color:var(--grey-300);gap:10px;padding-top:32px;font-size:12px;display:grid}.mobile-menu-meta .header-role{visibility:visible;justify-self:start;font-size:14px;display:grid}.mobile-menu-socials{align-items:center;gap:12px;margin-top:12px;display:flex}.mobile-menu-socials a{border:1px solid var(--line);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.mobile-menu-socials svg{width:18px;height:18px}.mobile-menu-socials span{margin-left:auto}}.footer-mobile-label{display:none}.site-footer .footer-icon{flex-shrink:0;width:1em;height:1em;display:block}.site-footer .footer-top :is(.footer-resume,.footer-contact,.footer-linkedin){gap:6px}@media (width<=1100px){.portfolio .site-footer .footer-top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"credit email back""resume contact linkedin";align-items:center;gap:6px 8px;margin-bottom:24px;display:grid}.site-footer .footer-top>*{text-align:right;white-space:nowrap;min-width:0}.site-footer .footer-email{grid-area:email;justify-self:center}.site-footer .footer-resume{text-align:left;grid-area:resume;justify-self:start}.site-footer .footer-linkedin{grid-area:linkedin;justify-self:end}.site-footer .footer-contact{grid-area:contact;justify-self:center}.site-footer .footer-credit{text-align:left;grid-area:credit;justify-self:start}.site-footer .footer-back{grid-area:back;justify-self:end}.site-footer .footer-desktop-label{display:none}.site-footer .footer-mobile-label{display:inline}.portfolio .site-footer .footer-top :is(.footer-resume,.footer-contact,.footer-linkedin){color:color-mix(in srgb,var(--footer-ink) 65%,var(--surface));gap:6px}.portfolio .site-footer .layered-wordmark{width:100%;min-width:0}.site-footer .wordmark-lettering{width:100%;height:clamp(32px,11vw,84px);overflow:visible}.portfolio .page-shell{padding-left:24px;padding-right:24px}.portfolio .project-spread{grid-template-columns:minmax(0,1fr);gap:56px;padding-top:40px}.portfolio .project-overview{padding-top:0}.portfolio .project-overview h1{margin-top:20px;margin-bottom:32px;font-size:clamp(36px,7vw,72px);line-height:1.12}.portfolio .project-introduction{margin-top:40px}.portfolio .case-summary{font-size:16px;line-height:1.8}.portfolio .project-actions{gap:16px;margin-top:32px}.portfolio .action-button,.portfolio .filter-pill{min-height:44px}.portfolio .spec-table>div{gap:20px;padding:16px 0}.portfolio .project-visuals .case-body{gap:40px;margin-top:40px}.portfolio .project-grid{gap:32px 20px}.portfolio .hero-positioning{gap:20px;line-height:1.7}.portfolio .footer-top,.portfolio .footer-utilities{gap:24px;line-height:1.7}.portfolio .site-footer{padding:32px 24px 20px}}@media (width>=761px) and (width<=1100px){.portfolio .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio .project-grid>article{grid-column:auto}.portfolio .project-grid>article:nth-child(odd):last-child{grid-column:1/-1}.portfolio .project-grid>article .project-tile{aspect-ratio:1/1.08;height:auto}.portfolio .project-grid>article:nth-child(odd):last-child .project-tile{aspect-ratio:2/1.08}.portfolio .about-layout{gap:48px}.portfolio .about-details{gap:24px}}@media (width<=600px){.portfolio .page-shell,.portfolio .home-hero{padding-left:20px;padding-right:20px}.portfolio .spec-table>div{grid-template-columns:92px minmax(0,1fr);gap:16px}.portfolio .project-actions{grid-template-columns:minmax(0,1fr);display:grid}.portfolio .website-shop-row{grid-template-columns:minmax(0,1fr);gap:28px}.portfolio .website-shop-logo{justify-self:center;width:60%}.portfolio .website-shop-row .website-browser-address{display:block}.portfolio .project-visuals .website-showcase{gap:32px}.portfolio .form-grid{grid-template-columns:minmax(0,1fr)}.portfolio .about-details dl>div{flex-wrap:wrap;gap:8px 20px}.portfolio .copy-group{overflow-wrap:anywhere}}.portfolio .single-line-title{white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal;width:100%;min-width:0;max-width:100%;display:block;overflow:hidden}.single-line-title-text{white-space:nowrap;width:max-content;display:block}.tile-bottom .single-line-title-text{margin-inline:auto}.portfolio h2,.portfolio h3{white-space:nowrap}.website-browser-toolbar .website-browser-external{margin-left:auto}@media (width>=1101px){.portfolio .bathe-project-title{word-spacing:-.3em}}.project-page .project-visuals .project-hero.project-media-frame,.project-page .gallery-asset-framed .project-artwork,.project-page .project-video{border:2px solid var(--project-ink);border-radius:28px;overflow:hidden}.project-page .project-hero>.project-artwork,.project-page .project-hero>.project-video{border:0;border-radius:0}.project-page .project-visuals .project-hero{background:var(--bg)}.project-page .project-visuals .project-hero:not(.project-media-frame),.project-page .gallery-asset:not(.gallery-asset-framed) .project-artwork,.project-page .original-sequence-stage{border:0;border-radius:0}.project-page iframe.project-video[src*=\/853261407]{aspect-ratio:4/3}.project-tile .tile-media-pj{-o-object-fit:contain;object-fit:contain;width:64%;height:64%;inset:18%}.original-sequence-status:empty{display:none}:root,.dark{--motion-background:#000}.original-sequence-black,.zumba-motion-studies{background:var(--motion-background)}.zumba-motion-studies{gap:32px;display:grid}.zumba-motion-trio,.zumba-motion-pair{align-items:center;gap:16px;display:grid}.zumba-motion-trio{grid-template-columns:repeat(3,minmax(0,1fr))}.zumba-motion-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.project-page .zumba-motion-pair .original-sequence-stage{border-radius:28px;overflow:hidden}.project-page-nike .nike-motion-studies{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:24px;display:grid}.project-page-nike .nike-motion-studies .original-sequence-stage{border:0;border-radius:0;max-height:none}.project-page-nike .nike-motion-studies .original-sequence-controls,.project-page-nike .nike-motion-studies .original-sequence-status{display:none}@media (width<=600px){.project-page .project-visuals .project-hero.project-media-frame,.project-page .gallery-asset-framed .project-artwork,.project-page .project-video,.project-page .zumba-motion-pair .original-sequence-stage{border-radius:20px}.project-page-nike .nike-motion-studies{gap:10px}}@media (hover:hover) and (pointer:fine){body,body *{cursor:var(--cursor-default,auto)!important}body :is(a,button,summary,[role=button],.original-sequence-stage,input[type=range]),body :is(a,button,summary,[role=button],.original-sequence-stage) *,body .orbit-stage[data-interactive=true],body .orbit-stage[data-interactive=true] *{cursor:var(--cursor-active,pointer)!important}body input:not([type=range]),body textarea{cursor:text!important}}.portfolio>main{min-height:calc(100vh - var(--portfolio-header-height,0px));min-height:calc(100dvh - var(--portfolio-header-height,0px))}.site-header :is(a,button),.footer-top :is(a,button),.work-mode-toggle button,.admin-tabs button{min-height:44px}.site-header .header-info,.site-header .header-work,.footer-top :is(a,button){align-items:center;display:inline-flex}.site-header .time-dial{place-items:center;width:44px;height:44px;display:grid}.site-header .time-dial svg{width:18px;height:18px}.work-index tbody th a{min-height:44px}.project-link:focus-visible{outline-offset:6px}.route-loading{min-height:calc(100dvh - var(--portfolio-header-height,0px));color:var(--grey-300);place-items:center;font-size:14px;display:grid}@media (prefers-reduced-motion:reduce){.portfolio *,.portfolio :before,.portfolio :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){.project-link:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid highlight}}.is-scrolled .header-info,.is-scrolled .header-time{background:0 0}.work-page-utilities{display:none}@media (width>=1101px){.work-page-utilities{z-index:34;pointer-events:none;color:var(--grey-300);justify-content:space-between;align-items:center;font-size:12px;line-height:1.2;display:flex;position:fixed;inset:auto 32px 24px}.work-page-utilities button{pointer-events:auto;min-height:44px;color:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;display:inline-flex}.work-page-utilities button:hover{color:var(--fg)}}.work-page-utilities[hidden]{display:none}.story-featured-actions{justify-content:center;align-items:center;gap:24px;min-height:44px;display:flex}.story-featured-copy .story-featured-actions .story-live-link{margin:0;display:inline-flex}.story-featured-copy .story-live-link{text-underline-offset:4px;width:fit-content;margin:12px auto 0;font-size:12px;text-decoration:underline;display:block}.selected-work-liquid-trail{z-index:20;pointer-events:none;position:fixed;overflow:hidden}@media (prefers-reduced-motion:reduce){.selected-work-liquid-trail{display:none}}@font-face{font-family:Portfolio Wide;src:url(https://media.base44.com/files/public/builder-assets/wix-fonts/benzin-700-normal.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Portfolio Script;src:url(https://base44.app/api/apps/6ad65363aaf0c866a5edce29/files/mp/public/6ad65363aaf0c866a5edce29/ec05be46e_LeagueScriptThin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[90dvh\]{max-height:90dvh}.max-h-\[92dvh\]{max-height:92dvh}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0}.w-1{width:.25rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-5{min-width:1.25rem}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.max-w-max{max-width:max-content}.max-w-md{max-width:28rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x:1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#262626\]{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1))}.border-\[\#4e4c4c\]{--tw-border-opacity:1;border-color:rgb(78 76 76/var(--tw-border-opacity,1))}.border-\[--color-border\]{border-color:var(--color-border)}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-slate-800{--tw-border-opacity:1;border-top-color:rgb(30 41 59/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:var(--line)}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted{background-color:var(--muted)}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-project-link{background-color:hsl(var(--project-link))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-slate-50{--tw-gradient-to:#f8fafc var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-primary{fill:hsl(var(--primary))}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-\[\#8a8a8a\]{--tw-text-opacity:1;color:rgb(138 138 138/var(--tw-text-opacity,1))}.text-\[\#b3b3b3\]{--tw-text-opacity:1;color:rgb(179 179 179/var(--tw-text-opacity,1))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-project-link-foreground{color:hsl(var(--project-link-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-white{accent-color:#fff}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.running{animation-play-state:running}.paused{animation-play-state:paused}:root{--bg:#000;--fg:#fff;--ink:#313030;--grey-500:#8a8a8a;--grey-300:#b3b3b3;--muted:#4e4c4c;--line:#262626;--surface:#d9d9d9;--accent:#2a6cc2;--background:0 0% 0%;--foreground:0 0% 100%;--card:0 0% 0%;--card-foreground:0 0% 100%;--popover:0 0% 0%;--popover-foreground:0 0% 100%;--primary:0 0% 100%;--primary-foreground:0 0% 0%;--secondary:0 0% 15%;--secondary-foreground:0 0% 100%;--muted-foreground:0 0% 70%;--accent-foreground:0 0% 100%;--destructive:0 0% 85%;--destructive-foreground:0 0% 0%;--border:0 0% 15%;--input:0 0% 30%;--ring:214 64% 46%;--radius:0px;--font-body:"Feature Mono", "Commit Mono", ui-monospace, monospace;--font-heading:var(--font-body);--font-display:"Portfolio Wide", Arial, sans-serif;--font-mono:var(--font-body);--font-script:"Portfolio Script", "Snell Roundhand", cursive;--wordmark-overlay:#8a8a8a}.dark{--font-display:"Portfolio Wide", Arial, sans-serif;--font-script:"Portfolio Script", "Snell Roundhand", cursive;--wordmark-overlay:#8a8a8a}*{box-sizing:border-box;border-color:var(--line)}html,body,#root{min-height:100%;color:var(--fg);margin:0}html{background:var(--bg);isolation:isolate}html:before{content:"";z-index:-1;pointer-events:none;background-color:inherit;position:fixed;inset:0}body,#root,.portfolio,.home-main,.home-hero{background:0 0}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--surface);color:#000}.site-header{z-index:40;pointer-events:none;position:sticky;top:0}.command-strip>*{pointer-events:auto}.header-time{white-space:nowrap;align-items:center;gap:12px;display:flex}.is-scrolled .header-scroll-away{visibility:hidden;pointer-events:none}.is-scrolled .header-info{background:var(--bg)}.site-header .header-time,.site-header .nyc-clock{background:0 0}.command-strip{width:100%;color:var(--grey-500);background:0 0;border:0;grid-template-columns:auto 1fr 1fr auto auto;align-items:center;gap:40px;padding:24px 32px;font-size:28px;line-height:1.2;display:grid}@media (width>=1101px){.command-strip{justify-content:space-between;display:flex}}.command-strip>:last-child{justify-self:end}.command-strip p{margin:0}.command-strip a,.header-role,.nyc-clock{white-space:nowrap}.command-strip a:hover{color:var(--fg)}.command-strip .nyc-clock{font-variant-numeric:tabular-nums;align-items:center;line-height:1;display:inline-flex}@media (width>=1101px){.command-strip .nyc-clock{-moz-column-gap:.4em;column-gap:.4em}}.header-role{flex-shrink:0;display:grid}.header-role-title{opacity:0;grid-area:1/1;animation:28s ease-in-out infinite title-fade}.header-role-title:nth-of-type(3){animation-delay:7s}.header-role-title:nth-of-type(4){animation-delay:14s}.header-role-title:nth-of-type(5){animation-delay:21s}@keyframes title-fade{0%{opacity:0}4.5%,18%{opacity:1}24%,to{opacity:0}}@media (width>=1101px) and (width<=1500px){.command-strip{gap:20px;font-size:20px}}@media (prefers-reduced-motion:reduce){.header-role-title{animation:none;display:none}.header-role-title:nth-of-type(2){opacity:1;display:block}}.layered-wordmark{width:100%;margin:0;line-height:1}.wordmark-lettering{width:100%;height:auto;display:block;overflow:visible}.wordmark-heavy{font-family:var(--font-display);fill:currentColor;font-size:100px;font-weight:700}.wordmark-script{font-family:var(--font-script);fill:var(--wordmark-overlay);font-size:100px;font-weight:400}.home-hero{flex-direction:column;justify-content:flex-end;width:100%;max-width:1440px;min-height:min(76vh,1050px);margin:0 auto;padding:96px 16px 40px;display:flex}.hero-positioning{border-top:1px solid var(--line);width:100%;color:var(--grey-300);justify-content:space-between;gap:32px;margin-top:24px;padding-top:24px;font-size:16px;display:flex}.hero-positioning p{max-width:50%;margin:0}.selected-work-title{letter-spacing:-.065em;margin:20px 0 0;font-size:clamp(32px,4.5vw,64px);font-weight:400;line-height:1.12}.page-shell{max-width:1440px;margin:0 auto;padding:0 16px 96px}.work-heading{justify-content:space-between;align-items:flex-end;gap:24px;padding:64px 0 40px;display:flex}.eyebrow{letter-spacing:.045em;color:var(--grey-500);font-size:12px}h1{letter-spacing:-.065em;margin:20px 0 0;font-size:clamp(32px,4.5vw,64px);font-weight:400;line-height:1.12}.title-period{color:var(--grey-500)}.work-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:20px 0 24px;display:flex}.filter-list{flex-wrap:wrap;gap:8px;display:flex}.filter-pill{border:1px solid var(--line);color:var(--grey-300);border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-size:12px;display:inline-flex}.filter-pill.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.filter-pill:hover{border-color:var(--grey-300)}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.project-tile{color:var(--project-ink);aspect-ratio:1/1.08;border:1.5px solid var(--project-ink);isolation:isolate;border-radius:min(86px,27.5cqw);flex-direction:column;padding:32px;display:flex;position:relative;overflow:hidden}.project-grid>article{container-type:inline-size}@media (width>=761px){.project-grid{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:32px}.project-grid>article{grid-column:span 2}.project-grid>article:nth-child(3n+1):last-child{grid-column:span 6}.project-grid>article:nth-child(3n+1):last-child .project-tile{aspect-ratio:auto;height:calc(36cqw - 8.64px)}.project-grid:has(>article:nth-child(3n+2):last-child)>article:nth-last-child(-n+2){grid-column:span 3}.project-grid:has(>article:nth-child(3n+2):last-child)>article:nth-last-child(-n+2) .project-tile{aspect-ratio:auto;height:calc(72cqw - 4.32px)}.project-tile{border-width:3px;border-radius:min(112px,32cqw)}.tile-media-expanded{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.project-tile .tile-title{min-width:0;min-height:0}.project-tile .tile-title>img{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;max-width:100%;max-height:100%}}.project-tile:focus-visible{outline-offset:-7px}.tile-top,.tile-bottom{z-index:1;justify-content:space-between;gap:12px;font-size:12px;display:flex;position:relative}.tile-top{padding:0 10px}.tile-title{letter-spacing:-.055em;text-align:center;overflow-wrap:anywhere;flex:1;justify-content:center;align-items:center;padding:24px 0;font-size:clamp(30px,3.6vw,54px);line-height:1.1;display:flex}.project-link{display:block}.tile-bottom{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:14px 8px 0}.tile-bottom>span:first-child{color:var(--fg);font-size:16px}.tile-bottom>span:nth-child(2){color:var(--grey-500);text-transform:uppercase;font-size:14px}.tile-media{z-index:-2;-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}@media (width>=761px){.tile-media.tile-media-expanded{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.tile-media.tile-media-orion{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;padding:24px}}.site-footer{background:var(--surface);color:var(--footer-ink);border-radius:30px 30px 0 0;padding:32px 24px 16px}.footer-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:48px;font-size:12px;display:flex}.footer-utilities{gap:32px;margin:24px 0 48px;font-size:12px;display:flex}.footer-top button:hover,.footer-utilities button:hover{text-underline-offset:4px;text-decoration:underline}.site-footer .layered-wordmark{--wordmark-overlay:var(--footer-script);color:var(--footer-wordmark)}.site-footer .wordmark-script{stroke:var(--footer-script-outline);stroke-width:1px;paint-order:stroke fill;vector-effect:non-scaling-stroke}@media (width>=1101px){.footer-top{flex-wrap:nowrap;align-items:center;gap:16px;font-size:clamp(12px,.9vw,24px)}.footer-top>*{white-space:nowrap}}.copy-group{flex-wrap:wrap;align-items:center;gap:16px;display:inline-flex}:root,.dark{--footer-ink:#000;--project-ink:#fff;--footer-wordmark:#313030;--footer-script:#fff;--footer-script-outline:#595959;--project-link:207 100% 40%;--project-link-foreground:0 0% 100%}html,body,#root,.portfolio,.site-footer,.command-strip,.header-info,.header-time,.hero-positioning,.wordmark-script{transition:background-color .8s,color .8s,border-color .8s,fill .8s}html[data-project-theme],html[data-project-theme] :is(body,#root,.portfolio,.site-footer,.command-strip,.header-info,.header-time,.hero-positioning,.wordmark-script){transition-duration:0s}.header-coordinates{white-space:nowrap;font-variant-numeric:tabular-nums}.time-dial{width:18px;height:18px;color:inherit;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;position:relative;top:-1px}.time-dial:active{cursor:grabbing}.time-dial svg{width:100%;height:100%;display:block}.dial-hand{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;pointer-events:none}.dial-hit{stroke:#0000;stroke-width:12px;fill:none;pointer-events:stroke}.time-reset{text-align:left;background:0 0;border:0;align-items:center;gap:.5em;padding:0;display:inline-flex}.time-reset:hover{color:var(--fg)}.time-return{font-size:16px}@media (prefers-reduced-motion:reduce){html,body,#root,.portfolio,.site-footer,.command-strip,.hero-positioning,.wordmark-script{transition:none}}.skip-link{z-index:100;color:#000;background:#fff;padding:12px;font-size:14px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:16px}.preview-bar{color:var(--grey-300);border:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:20px;padding:12px 16px;font-size:12px;display:flex}.case-navigation{justify-content:space-between;gap:16px;padding-top:32px;font-size:12px;display:flex}.case-heading{grid-template-columns:1.2fr 1fr;gap:64px;padding:64px 0;display:grid}.case-summary{color:var(--grey-300);white-space:pre-line;max-width:680px;margin-top:24px;font-size:17px;line-height:1.7}.spec-table{align-self:end;font-size:14px}.spec-table>div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:20px;padding:12px 0;display:grid}.spec-table dt{color:var(--grey-500);font-size:12px}.project-hero{border:1.5px solid #fff;border-radius:32px;overflow:hidden}.hero-placeholder{text-align:center;flex-direction:column;justify-content:space-between;align-items:center;gap:32px;min-height:420px;padding:40px;display:flex}.hero-placeholder>span:nth-child(2){letter-spacing:-.06em;font-size:clamp(40px,8vw,100px)}.case-body{flex-direction:column;gap:64px;margin-top:48px;display:flex}.next-project{border-top:1px solid var(--line);flex-direction:column;gap:16px;margin-top:64px;padding:40px 0 0;font-size:clamp(24px,4vw,40px);display:flex}.project-page{max-width:1680px;padding-left:32px;padding-right:32px}@media (width>=1101px){.home-main #work{max-width:1200px}}.project-spread{grid-template-columns:minmax(0,44fr) minmax(0,56fr);align-items:start;gap:48px;padding-top:64px;display:grid}.project-overview{min-width:0;padding-top:0}.project-visuals{min-width:0}.project-overview h1{text-transform:uppercase;overflow-wrap:anywhere;margin-bottom:24px;font-size:clamp(32px,3.8vw,72px)}.project-overview .spec-table dd,.project-overview p{overflow-wrap:anywhere;min-width:0}.project-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;display:flex}.project-actions .action-button{border-radius:18px}.project-actions .project-visit-action{border-color:hsl(var(--project-link))}@media (width>=901px){.project-overview h1{letter-spacing:-.055em;text-wrap:balance;font-size:clamp(48px,4vw,96px);line-height:1.05}}.project-overview .spec-table{margin-bottom:32px}.project-introduction{margin-top:40px}.project-introduction .case-summary{margin-top:16px}.project-visuals .project-hero{background:0 0;border:0;border-radius:0}.project-artwork{-o-object-fit:contain;object-fit:contain;width:100%;height:auto;display:block}.project-video{aspect-ratio:16/9;border:0;width:100%;display:block}.project-visuals .case-body{gap:32px;margin-top:32px}@media (width<=900px){.project-page{padding-left:16px;padding-right:16px}.project-spread{grid-template-columns:1fr;gap:40px;padding-top:32px}.project-overview{padding-top:0;position:static}}.portfolio:has(>.about-page){flex-direction:column;min-height:100dvh;display:flex}.portfolio>.about-page{flex:1 0 auto;width:100%}:is(.portfolio:has(>.about-page)>.site-header,.portfolio:has(>.about-page)>.site-footer){flex-shrink:0}.about-page{max-width:1200px;padding-top:96px}@media (width>=1101px){.portfolio .about-page{max-width:1440px}.portfolio .about-layout{grid-template-columns:minmax(0,432px) minmax(0,1fr)}.portfolio .about-portrait-wrap{padding-bottom:76px}.portfolio .resume-orbit{width:216px;height:216px}.portfolio .about-copy,.portfolio .about-details{font-size:17px}.portfolio .about-copy .action-button{font-size:16px}}.about-layout{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:96px;display:grid}.about-portrait-wrap{padding-bottom:64px;position:relative}.about-portrait{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border:1.5px solid var(--fg);border-radius:50%;width:100%;display:block;overflow:hidden}.resume-orbit{width:180px;height:180px;color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;position:absolute;bottom:0;left:-32px}.resume-orbit svg{width:100%;height:100%;animation:24s linear infinite resume-orbit;display:block;overflow:visible}.resume-orbit text{font-family:var(--font-body);fill:currentColor;font-size:14px}.resume-orbit:hover svg,.resume-orbit:focus-visible svg{animation-play-state:paused}.resume-error{font-size:12px;position:absolute;top:100%}.resume-error button{text-decoration:underline}@keyframes resume-orbit{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.resume-orbit svg{animation:none}}.about-copy{flex-direction:column;align-items:flex-start;gap:20px;padding-top:24px;font-size:14px;display:flex}.about-copy h1{margin:0}.about-copy p{color:var(--grey-300);line-height:1.5}.about-details{font-size:14px}.about-details li,.about-details dl>div{transition:opacity .35s}.about-details:has(li:hover,dl>div:hover) li:not(:hover){opacity:.3}.about-details:has(li:hover,dl>div:hover) dl>div:not(:hover){opacity:.3}@media (width<=900px) and (width>=761px){.about-layout{grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:48px}}.about-details{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1.4fr;gap:48px;margin-top:96px;padding-top:32px;display:grid}.about-details h2{margin-bottom:24px}.about-details li{margin:8px 0}.about-details dl>div{justify-content:space-between;gap:24px;margin-bottom:16px;display:flex}.about-details dd{color:var(--grey-500)}@media (width<=760px){.about-details{grid-template-columns:1fr;gap:40px;margin-top:48px}.about-page{padding-top:48px}.about-layout{grid-template-columns:1fr;gap:40px}.about-portrait-wrap{width:min(100%,320px);margin:0 auto}.resume-orbit{left:-12px}.about-copy{padding-top:0}}.admin-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-bottom:32px;padding:24px 0;display:flex}.admin-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:24px;padding:20px 0;display:grid}.admin-editor{max-width:960px;padding-bottom:32px}.admin-editor details{border-top:1px solid var(--line);padding:24px 0}.admin-editor summary{cursor:pointer;margin-bottom:24px;font-size:14px}@media (width<=760px){.case-heading{grid-template-columns:1fr;gap:32px;padding:40px 0}.hero-placeholder{min-height:300px;padding:24px}.project-hero{border-radius:24px}}.copy-group button{align-items:center;gap:6px;font-size:12px;display:inline-flex}.site-footer a:hover{text-underline-offset:4px;text-decoration:underline}.empty-state{border-top:1px solid var(--line);color:var(--grey-300);padding:64px 0}.action-button{border:1px solid var(--fg);justify-content:center;align-items:center;gap:12px;padding:12px 20px;font-size:13px;display:inline-flex}.action-button.primary{background:var(--fg);color:var(--bg)}.form-field{letter-spacing:.04em;flex-direction:column;gap:8px;font-size:12px;display:flex}.form-field input,.form-field textarea,.form-field select{color:#fff;letter-spacing:0;background:#000;border:1px solid #4e4c4c;border-radius:0;width:100%;padding:12px;font-size:16px}.contact-dialog .form-field input,.contact-dialog .form-field textarea{background:var(--bg);color:var(--fg);border-color:hsl(var(--input))}.contact-dialog .form-feedback{border-color:var(--grey-500)}.form-field textarea{resize:vertical}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.form-full{grid-column:1/-1}.form-feedback{border:1px solid #8a8a8a;padding:12px;font-size:14px}[data-state=open],[data-state=closed],[role=dialog]{transition:none!important;animation:none!important}@media (width<=1100px){.command-strip{grid-template-columns:auto 1fr 1fr auto auto;gap:20px;font-size:14px}.project-tile{padding:24px}.hero-positioning{font-size:14px}}@media (width<=760px){.command-strip{grid-template-columns:auto 1fr auto;gap:16px;padding:24px 16px;font-size:12px}.header-info{grid-area:1/1}.header-role{grid-area:1/2;justify-self:center}.header-work{grid-area:1/3}.header-coordinates{grid-area:2/1/auto/3}.header-time{grid-area:2/3;gap:8px}.home-hero{min-height:55vh;padding:64px 16px}.hero-positioning{flex-direction:column;gap:12px}.hero-positioning p{max-width:100%}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-heading{padding-top:48px}.work-heading>.eyebrow{display:none}.work-toolbar{flex-direction:column;align-items:flex-start}.tile-title{font-size:32px}.footer-top{flex-wrap:wrap;gap:20px}.site-footer{padding:24px 16px 16px}.footer-utilities{flex-wrap:wrap;gap:20px;margin-bottom:32px}.page-shell{padding-bottom:64px}}@media (width<=480px){.command-strip{grid-template-columns:minmax(0,1fr) auto;gap:16px 12px}.header-info{grid-area:1/1}.header-time{grid-area:1/2}.header-role{grid-area:2/1/auto/-1;justify-self:start}.header-coordinates{grid-area:3/1/auto/-1}.header-work{grid-area:2/2;justify-self:end}.project-grid{grid-template-columns:1fr}.project-tile{padding:32px}.tile-title{font-size:48px}.form-grid{grid-template-columns:1fr}.footer-top{align-items:flex-start}}:root,.dark{--terminal-bg:#000;--terminal-ink:#fff;--gallery-bg:#000;--gallery-plate:#121212;--gallery-line:#313030;--gallery-grey:#8a8a8a;--gallery-silver:#b3b3b3;--gallery-light:#d9d9d9;--gallery-ink:#fff;--gallery-radius:86px;--gallery-stroke:1.5px;--gallery-grid:12px;--gallery-ease:cubic-bezier(.7,0,.2,1)}.portfolio{isolation:isolate;position:relative}.scramble-text{vertical-align:baseline;white-space:pre;max-width:100%;display:inline-grid;position:relative}.scramble-source{opacity:0;grid-area:1/1}.scramble-visual{pointer-events:none;white-space:pre;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.time-mode-label{text-align:left;min-width:5ch;display:inline-grid}.pixel-field{z-index:-1;pointer-events:none;width:100%;height:100dvh;position:fixed;inset:0}.terminal-loader{z-index:1000;background:var(--terminal-bg);color:var(--terminal-ink);font-family:var(--font-body);align-items:center;padding:clamp(24px,8vw,128px);font-size:clamp(12px,1.3vw,20px);line-height:1.7;transition:transform .24s cubic-bezier(.7,0,.2,1),opacity .24s;display:flex;position:fixed;inset:0}.terminal-loader p{white-space:pre;min-height:1.7em;margin:0}.terminal-loader.is-leaving{opacity:0;pointer-events:none;transform:translateY(-100%)}.terminal-loader .terminal-caret{animation:.5s step-end infinite terminal-blink}@keyframes terminal-blink{50%{opacity:0}}.project-flight{z-index:90;border:1.5px solid var(--terminal-ink);pointer-events:auto;transform-origin:50%;position:fixed;overflow:hidden}.project-flight-image{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;display:block}.project-expansion{background:var(--terminal-bg);border:0}.project-expansion-artwork{transform-origin:50%;pointer-events:none;position:absolute;top:50%;left:50%}.project-flight-wordmark{width:100%;height:100%;color:var(--project-ink);place-items:center;font-size:clamp(32px,8vw,128px);display:grid}@keyframes project-radius-open{0%{border-radius:86px}to{border-radius:0}}@keyframes project-radius-close{0%{border-radius:0}to{border-radius:0}}@media (prefers-reduced-motion:reduce){.terminal-loader,.pixel-field,.project-flight{display:none!important}html,body,#root,.portfolio,.site-footer,.command-strip,.header-info,.header-time,.hero-positioning,.wordmark-script{transition:none!important}::view-transition-group(*){animation-duration:.001ms!important}::view-transition-old(*){animation-duration:.001ms!important}::view-transition-new(*){animation-duration:.001ms!important}::view-transition-image-pair(*){animation-duration:.001ms!important}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:bg-\[var\(--fg\)\]:hover{background-color:var(--fg)}.hover\:bg-accent:hover{background-color:var(--line)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:text-\[var\(--bg\)\]:hover{color:var(--bg)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:var(--line)}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:bg-\[var\(--fg\)\]:focus-visible{background-color:var(--fg)}.focus-visible\:text-\[var\(--bg\)\]:focus-visible{color:var(--bg)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.active\:bg-\[var\(--fg\)\]:active{background-color:var(--fg)}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-\[var\(--bg\)\]:active{color:var(--bg)}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:var(--muted)}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:var(--line)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--line)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--line)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:hsl(var(--muted-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (width>=640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:max-w-sm{max-width:24rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-10{padding:2.5rem}.sm\:p-12{padding:3rem}.sm\:p-6{padding:1.5rem}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (width>=768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}}@media (width>=1101px){.min-\[1101px\]\:self-end{align-self:flex-end}}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:var(--line)}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline-offset:2px;outline:2px solid #0000}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline-offset:2px;outline:2px solid #0000}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
