:root{--bg:#0b0c10;--bg-section:#13141c;--bg-card:#1b1d28;--bg-raised:#262a38;--line:#2a2e3b;--line-strong:#3c4252;--text:#ecebe7;--text-muted:#989da8;--text-faint:#5f6470;--accent:#6e73d0;--accent-hover:#8e93e6;--menu-edge-rim:var(--accent-hover);--edge-width:1.5px;--edge-reach:360px;--violet:#a96fd8;--cyan:#4fbeda;--amber:#e0a253;--jade:#5cbf92;--green:#6e946f;--bg-project-01:#07140c;--bg-project-02:#151007;--bg-project-03:#110c18;--bg-project-04:#081216;--font-display:"Archivo", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--text-micro:clamp(.625rem, .6rem + .12vw, .7rem);--text-caption:clamp(.75rem, .72rem + .18vw, .85rem);--text-body:clamp(.9375rem, .9rem + .22vw, 1.05rem);--text-lead:clamp(1.05rem, .95rem + .55vw, 1.4rem);--text-h3:clamp(1.35rem, 1.1rem + 1.3vw, 2.1rem);--text-h2:clamp(1.9rem, 1.35rem + 2.8vw, 3.4rem);--text-h1:clamp(2.6rem, 1.4rem + 6.2vw, 6.5rem);--text-project-title:clamp(3.5rem, 9vw, 10rem);--text-project-title-compact:clamp(2.25rem, 6vw, 3.25rem);--tracking-tight:-.02em;--tracking-eyebrow:.18em;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:2rem;--space-5:4rem;--space-6:8rem;--container:75rem;--gutter:clamp(1.25rem, 4vw, 4rem);--dots-bleed:9%;--menu-bleed:9%;--sheet-bleed:9vh;--still-max-h:72vh;--phone-bezel:3.5cqw;--crop-overscan-x:1.01;--crop-overscan-y:1.01;--play-size:3.25rem;--tab-height:2.75rem;--tab-width:7rem;--lightbox-dim:#050609db;--lightbox-hint-opacity:.4;--meta-label-w:6.5rem;--caption-dim:#05060999;--caption-pad-y:.3em;--caption-pad-x:.55em;--intro-vignette-color:#28267033;--intro-vignette-depth:.18;--intro-mark-size:150px;--intro-name-rise:clamp(5rem, 10vw, 8.5rem);--intro-mark-size-phone:70px;--intro-mark-lift-phone:3.5rem;--intro-title-rise-phone:-1.5rem;--intro-name-rise-phone:5.5rem;--radius-sm:2px;--radius-md:6px;--radius-lg:14px;--bar-track:10px;--bar-thumb:18px;--bar-hit:34px;--bar-inset:2.1rem;--watermark-inset:.3rem;--watermark-inset-x:1rem;--footer-h:1.6rem;--footer-overhang:30px;--bar-label-gap:.7rem;--tick-w:3px;--tick-h:18px;--tick-hit:26px;--back-w:7.5rem;--bar-mark-size:56px;--bar-mark-rest-size:64px;--lane-start:calc(var(--back-w) + var(--space-3) + var(--gutter));--menu-button-inset:1.5rem;--menu-button-icon-size:2.6rem;--hero-collapsed-h:100px;--strip-title-drop:10px;--strip-title-dim:#0506098c;--strip-title-pad-y:.2em;--strip-title-pad-x:.3em;--menu-skew:-11deg;--menu-grow:1.45;--menu-photo-dim:.55;--menu-photo-dim-hover:.12;--menu-photo-blur:28px;--text-menu-label:clamp(1rem, 2.1vw, 1.9rem);--bar-reserve:6rem;--rail-idle-opacity:.15;--rail-active-opacity:.5;--tick-idle-opacity:.65;--tick-active-opacity:1;--thumb-idle-opacity:.45;--thumb-active-opacity:.75;--bar-track-color:#4a5060;--bar-thumb-color:#b6bcc8;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.16s;--dur-med:.32s;--dur-intro-arrive:.45s}@media (width>=768px) and (width<=899px){:root{--menu-button-inset:2.25rem;--menu-button-icon-size:3.6rem}}*,:before,:after{box-sizing:border-box}html{scrollbar-width:none;-ms-overflow-style:none;-webkit-text-size-adjust:100%}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font-body);font-size:var(--text-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}img,svg,video{max-width:100%;display:block}h1,h2,h3{overflow-wrap:break-word;font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-tight);margin:0;font-weight:700;font-stretch:105%;line-height:.94}p{margin:0}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--accent-hover);outline-offset:3px}.eyebrow{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--text-faint);font-weight:600}.stage{position:fixed;inset:0;overflow:hidden}.panel{--pad-top:var(--space-5);--pad-bottom:var(--bar-reserve);padding-top:var(--pad-top);padding-bottom:var(--pad-bottom);grid-template-columns:minmax(0,1fr);align-content:center;display:grid;position:absolute;inset:0}.scroll-track{pointer-events:none;width:1px;height:calc(var(--stage-units,1) * 100svh)}.is-static .stage{position:static;overflow:visible}.is-static .panel{border-bottom:1px solid var(--line);min-height:100svh;position:relative;inset:auto;opacity:1!important;visibility:visible!important}.is-static .scroll-track{display:none}.panel--menu{align-content:stretch;padding:0}.panel--scroll{align-content:start}.panel__scroll{will-change:transform}@media (width<=899px){.panel{--pad-top:calc(var(--menu-button-icon-size) + var(--menu-button-inset) + var(--space-4));--pad-bottom:var(--space-4);padding-right:0}}@media (width<=767px){.panel{--pad-bottom:calc(var(--footer-h) + var(--space-3))}}.watermark.is-over-intro{z-index:101}@media (width<=767px){.is-closing-to-menu .watermark{opacity:0}}.watermark{right:var(--watermark-inset-x);bottom:var(--watermark-inset);z-index:45;font-size:var(--text-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-faint);pointer-events:none;transition:opacity var(--dur-med) var(--ease-out);font-weight:500;position:fixed}.watermark__link{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;pointer-events:auto;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:.25rem 0}.watermark__link:focus-visible{color:var(--text);outline:1px solid var(--accent-hover);outline-offset:3px}@media (hover:hover){.watermark__link:hover{color:var(--text)}}.watermark.is-hidden .watermark__link,.is-closing-to-menu .watermark__link{pointer-events:none}@media (width<=767px){.watermark{left:0;right:0;bottom:calc(-1 * var(--footer-overhang));padding-bottom:var(--footer-overhang);height:calc(var(--footer-h) + var(--footer-overhang));border-top:1px solid var(--line);background:var(--bg-section);place-items:center;font-weight:400;line-height:1;display:grid}.watermark.is-hidden{opacity:0}}.dot-field-container{width:100%;height:100%;position:relative}.particle-text{touch-action:none;isolation:isolate;width:100%;height:100%;min-height:240px;display:block;position:relative;overflow:hidden}.particle-text__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.particle-text__sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scrollbar{z-index:40;opacity:1;transition:opacity 1.2s var(--ease-out) .9s;position:fixed}.scrollbar.is-hidden{opacity:0;pointer-events:none;transition:opacity .42s var(--ease-out) 0s}.scrollbar__track:before{opacity:var(--rail-idle-opacity);transition:opacity var(--dur-med) var(--ease-out)}.scrollbar__tick{opacity:var(--tick-idle-opacity);transition:opacity var(--dur-med) var(--ease-out)}.scrollbar__thumb{opacity:var(--thumb-idle-opacity);transition:opacity var(--dur-med) var(--ease-out), color var(--dur-fast) var(--ease-out)}.scrollbar.is-awake .scrollbar__track:before,.scrollbar:hover .scrollbar__track:before,.scrollbar:focus-within .scrollbar__track:before{opacity:var(--rail-active-opacity)}.scrollbar.is-awake .scrollbar__tick,.scrollbar:hover .scrollbar__tick,.scrollbar:focus-within .scrollbar__tick{opacity:var(--tick-active-opacity)}.scrollbar.is-awake .scrollbar__thumb,.scrollbar:hover .scrollbar__thumb,.scrollbar:focus-within .scrollbar__thumb{opacity:var(--thumb-active-opacity)}.scrollbar.is-horizontal,.scrollbar__mark{--mark-lane-w:calc(100vw - var(--lane-start) - var(--gutter));--mark-first-snap-x:calc(var(--lane-start) + var(--first-snap,0) * (var(--mark-lane-w) - var(--thumb-len)) + var(--thumb-len) / 2);--rail-fade-start:calc(var(--mark-first-snap-x) * .75);--rail-fade-end:calc(var(--mark-first-snap-x) - var(--thumb-len) / 2 - .5rem)}.scrollbar.is-horizontal{left:0;right:0;bottom:var(--bar-inset);height:var(--bar-hit)}.scrollbar__lane{position:absolute;inset:0}.scrollbar.is-horizontal .scrollbar__lane{left:var(--lane-start);right:var(--gutter)}.scrollbar__label{margin-bottom:var(--bar-label-gap);font-size:var(--text-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;align-items:end;font-weight:500;line-height:1.2;display:inline-grid;position:absolute;bottom:100%}.scrollbar.is-horizontal .scrollbar__label{left:var(--lane-start);justify-items:start}.scrollbar__label-layer{grid-area:1/1;align-self:end}.scrollbar__track{cursor:pointer;width:100%;height:100%;position:relative}.scrollbar__track:before{content:"";background:var(--bar-track-color);position:absolute}.scrollbar.is-horizontal .scrollbar__track:before{height:var(--bar-track);margin-top:calc(var(--bar-track) / -2);-webkit-mask-image:linear-gradient(to right, transparent var(--rail-fade-start), #000 var(--rail-fade-end));mask-image:linear-gradient(to right, transparent var(--rail-fade-start), #000 var(--rail-fade-end));top:50%;left:0;right:0}.scrollbar__tick{width:var(--tick-hit);height:var(--tick-hit);margin:calc(var(--tick-hit) / -2) 0 0 calc(var(--tick-hit) / -2);cursor:pointer;background:0 0;border:0;padding:0;position:absolute}.scrollbar.is-horizontal .scrollbar__tick{top:50%}.scrollbar__tick:before{content:"";width:var(--tick-w);height:var(--tick-h);margin:calc(var(--tick-h) / -2) 0 0 calc(var(--tick-w) / -2);background:var(--tick-color,var(--accent));transition:width var(--dur-fast) var(--ease-out), margin-left var(--dur-fast) var(--ease-out), height var(--dur-fast) var(--ease-out), margin-top var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);position:absolute;top:50%;left:50%}.scrollbar__tick:hover:before,.scrollbar__tick:focus-visible:before{width:calc(var(--tick-w) + 4px);margin-left:calc((var(--tick-w) + 4px) / -2);height:calc(var(--tick-h) + 6px);margin-top:calc((var(--tick-h) + 6px) / -2);background:var(--tick-color,var(--accent-hover))}.scrollbar__tick:after{content:attr(data-name);font-family:var(--font-body);font-size:var(--text-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--tick-color,var(--accent));white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out);font-weight:600;position:absolute}.scrollbar.is-horizontal .scrollbar__tick:after{margin-bottom:2px;bottom:100%;left:50%;transform:translate(-50%)}.scrollbar__tick:hover:after,.scrollbar__tick:focus-visible:after{opacity:1}.scrollbar__tick.is-current:before{height:calc(var(--tick-h) + 6px);margin-top:calc((var(--tick-h) + 6px) / -2)}.scrollbar__thumb{color:var(--thumb-color,var(--accent));touch-action:none;position:absolute}.scrollbar.is-horizontal .scrollbar__thumb{height:var(--bar-thumb);margin-top:calc(var(--bar-thumb) / -2);min-width:3rem;top:50%;left:0}.scrollbar__thumb:hover,.scrollbar__thumb.is-active,.scrollbar:focus-within .scrollbar__thumb{color:color-mix(in srgb, var(--thumb-color,var(--accent)) 76%, white)}.scrollbar__thumb-shape{pointer-events:none;width:100%;height:100%;overflow:visible}.scrollbar__thumb-shape polygon{fill:var(--bg);fill-opacity:.3;stroke:currentColor;stroke-width:3px;stroke-linejoin:miter}.scrollbar__thumb-shape rect{fill:currentColor}.scrollbar__control{pointer-events:none;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.scrollbar,.scrollbar.is-awake,.scrollbar:hover,.scrollbar:focus-within{opacity:1;transition:none;transform:none}}.menu-button{right:var(--menu-button-inset);top:var(--menu-button-inset);z-index:40;cursor:pointer;opacity:1;transition:opacity .42s var(--ease-out), background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;border:0;place-content:center;padding:0;display:grid;position:fixed}.menu-button.is-hidden{opacity:0;pointer-events:none;transition:opacity .275s var(--ease-out)}.scrollbar__mark{--mark-rest-x:calc(var(--rail-fade-end) / 2 - var(--gutter));--mark-hover-x:calc(var(--mark-rest-x) - (var(--space-3) + var(--mark-label-w,0px)) / 2);left:var(--gutter);bottom:calc(var(--bar-inset) + var(--bar-hit) / 2);z-index:41;width:calc(var(--mark-rest-x) + max(var(--bar-mark-rest-size) / 2, (var(--bar-mark-size) + var(--space-3) + var(--mark-label-w,0px)) / 2) + var(--space-3));height:var(--bar-mark-rest-size);cursor:pointer;opacity:1;transition:opacity 1.2s var(--ease-out) .9s;background:0 0;border:0;padding:0;position:fixed;transform:translateY(50%)}.scrollbar__mark.is-hidden{opacity:0;pointer-events:none;transition:opacity .275s var(--ease-out)}.scrollbar__mark .menu-mark__icon{z-index:1;width:var(--bar-mark-rest-size);height:var(--bar-mark-rest-size);translate:calc(var(--mark-rest-x) - 50%) -50%;filter:drop-shadow(0 0 2px #ffffff80)drop-shadow(0 0 12px #ffffff40);transition:width var(--dur-med) var(--ease-out), height var(--dur-med) var(--ease-out), translate var(--dur-med) var(--ease-out), scale var(--dur-med) var(--ease-out);position:absolute;top:50%;left:0}.menu-mark__icon{width:var(--menu-button-icon-size);height:var(--menu-button-icon-size);filter:drop-shadow(0 0 2px #ffffff80);scale:1;transform:rotate(var(--spin,0deg));transform-origin:50%;transition:scale var(--dur-med) var(--ease-out);display:block;overflow:visible}.menu-mark__icon>*{fill:var(--text-muted);transition:fill var(--dur-fast) var(--ease-out)}.menu-button:focus-visible .menu-mark__icon>*,.scrollbar__mark:focus-visible .menu-mark__icon>*{fill:var(--accent)}.menu-button:focus-visible .menu-mark__icon,.scrollbar__mark:focus-visible .menu-mark__icon{animation:mark-turn .7s var(--ease-out);scale:1.18}@keyframes mark-turn{0%{rotate:0deg}to{rotate:360deg}}@media (hover:hover){.menu-button:hover .menu-mark__icon>*,.scrollbar__mark:hover .menu-mark__icon>*{fill:var(--accent)}.menu-button:hover .menu-mark__icon,.scrollbar__mark:hover .menu-mark__icon{animation:mark-turn .7s var(--ease-out);scale:1.18}.menu-button:hover .menu-mark__label{color:var(--accent)}}.menu-button.is-turning .menu-mark__icon,.menu-button.is-hidden .menu-mark__icon,.scrollbar__mark.is-turning .menu-mark__icon,.scrollbar__mark.is-hidden .menu-mark__icon{animation:none;scale:1}.menu-mark__label{font-size:var(--text-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;white-space:nowrap;pointer-events:none;font-weight:700;line-height:1;position:absolute}.scrollbar__mark .menu-mark__label{z-index:0;color:var(--accent);font-size:var(--text-body);text-underline-offset:.2em;text-shadow:0 2px 10px color-mix(in srgb, var(--bg) 85%, transparent);opacity:0;transform:translate(calc(var(--mark-rest-x) - 50%), -50%);transition:transform var(--dur-med) var(--ease-out), opacity var(--dur-med) var(--ease-out);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;top:50%;left:0}.scrollbar__mark:hover .menu-mark__label,.scrollbar__mark:focus-visible .menu-mark__label{opacity:1;transform:translate(calc(var(--mark-hover-x) + var(--bar-mark-size) / 2 + var(--space-3)), -50%)}.scrollbar__mark:hover .menu-mark__icon,.scrollbar__mark:focus-visible .menu-mark__icon{width:var(--bar-mark-size);height:var(--bar-mark-size);translate:calc(var(--mark-hover-x) - 50%) -50%;scale:1}.scrollbar__mark.is-turning .menu-mark__icon,.scrollbar__mark.is-hidden .menu-mark__icon{width:var(--bar-mark-size);height:var(--bar-mark-size);translate:calc(var(--mark-hover-x) - 50%) -50%;transition:none}.scrollbar__mark.is-turning .menu-mark__label,.scrollbar__mark.is-hidden .menu-mark__label{opacity:1;transform:translate(calc(var(--mark-hover-x) + var(--bar-mark-size) / 2 + var(--space-3)), -50%);transition:none}.scrollbar__mark.is-hidden:not(.is-turning) .menu-mark__icon{width:var(--bar-mark-rest-size);height:var(--bar-mark-rest-size);translate:calc(var(--mark-rest-x) - 50%) -50%}.scrollbar__mark.is-hidden:not(.is-turning) .menu-mark__label{opacity:0;transform:translate(calc(var(--mark-rest-x) - 50%), -50%)}.menu-button .menu-mark__label{color:var(--text-muted);transition:color var(--dur-fast) var(--ease-out);margin-top:5px;top:100%;left:50%;transform:translate(-50%)}.menu-button:focus-visible .menu-mark__label{color:var(--accent)}@media (prefers-reduced-motion:reduce){.menu-mark__icon,.scrollbar__mark .menu-mark__label{transition:none}.menu-button:hover .menu-mark__icon,.menu-button:focus-visible .menu-mark__icon,.scrollbar__mark:hover .menu-mark__icon,.scrollbar__mark:focus-visible .menu-mark__icon{animation:none;scale:1}}.lightbox{z-index:200;position:fixed;inset:0}.lightbox__dim{background:var(--lightbox-dim);cursor:zoom-out;border:0;width:100%;padding:0;position:absolute;inset:0}.is-lifted{visibility:hidden}.lightbox.is-closing{pointer-events:none}.lightbox__frame{background:var(--bg-card);box-shadow:0 0 0 var(--edge-width) color-mix(in srgb, var(--project-color,var(--accent-hover)) 55%, transparent);outline:none;margin:0;position:fixed}.lightbox__image{object-fit:cover;width:100%;height:100%;display:block}.lightbox__below{gap:var(--space-2);margin-top:var(--space-2);pointer-events:none;display:grid;position:absolute;top:100%;left:0;right:0}.lightbox__caption{color:var(--text);font-size:var(--text-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;white-space:nowrap;justify-self:start}.lightbox__hint{color:var(--text);opacity:var(--lightbox-hint-opacity);font-size:var(--text-caption);white-space:nowrap;justify-self:center;margin:0}.intro{z-index:100;background:var(--bg);cursor:pointer;outline:none;position:fixed;inset:0}.intro.is-leaving{cursor:default;pointer-events:none;background:0 0}.intro.is-arriving{animation:intro-arrive var(--dur-intro-arrive) var(--ease-out) both}@keyframes intro-arrive{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.intro.is-arriving{animation:none}}.intro__live{position:absolute;inset:0}.intro.is-leaving .intro__live{visibility:hidden}.intro__half{width:100%;height:100%;display:block;position:absolute;inset:0}.intro__dots{z-index:0;pointer-events:none;position:absolute;inset:0}.intro__vignette{--vignette-depth:calc(var(--intro-vignette-depth) * 100vmin);z-index:0;background:linear-gradient(to right, var(--intro-vignette-color), transparent var(--vignette-depth)), linear-gradient(to left, var(--intro-vignette-color), transparent var(--vignette-depth)), linear-gradient(to bottom, var(--intro-vignette-color), transparent var(--vignette-depth)), linear-gradient(to top, var(--intro-vignette-color), transparent var(--vignette-depth));pointer-events:none;position:absolute;inset:0}.intro__title,.intro__name{z-index:1;font-family:var(--font-display);pointer-events:none;position:absolute;inset:0}.intro__name{translate:0 calc(-1 * var(--intro-name-rise))}.intro__mark{z-index:1;width:var(--intro-mark-size);height:var(--intro-mark-size);margin:calc(var(--intro-mark-size) / -2) 0 0 calc(var(--intro-mark-size) / -2);filter:drop-shadow(0 0 2px #ffffff80);cursor:pointer;transition:filter var(--dur-med) var(--ease-out);position:absolute;top:66.667%;left:50%;overflow:visible}.intro__mark>*{fill:var(--text-muted);transition:fill var(--dur-fast) var(--ease-out)}@media (width>=768px) and (prefers-reduced-motion:no-preference){.intro__mark{animation:3s ease-in-out infinite intro-mark-pulse}.intro__mark>*{animation:3s ease-in-out infinite intro-mark-pulse-fill}}@keyframes intro-mark-pulse{0%,70%,to{filter:drop-shadow(0 0 2px #ffffff80)drop-shadow(0 0 #fff0)}35%{filter:drop-shadow(0 0 2px #ffffff80)drop-shadow(0 0 12px #ffffff40)}}@keyframes intro-mark-pulse-fill{0%,70%,to{fill:var(--text-muted)}35%{fill:var(--accent)}}.intro__prompt{z-index:1;font-size:var(--text-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .6s var(--ease-out);margin:0;font-weight:600;position:absolute;top:88%;left:50%;translate:-50% -50%}.intro__prompt.is-shown{opacity:.3}.intro__fix{z-index:2;font:inherit;font-size:var(--text-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text);background:color-mix(in srgb, var(--bg) 70%, transparent);border:1px solid var(--accent-hover);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-out), background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:0;padding:.5rem 1.25rem;font-weight:600;position:absolute;top:50%;left:50%;translate:-50% -50%}.intro__fix.is-shown{opacity:.5;pointer-events:auto}.intro__fix.is-shown:focus-visible{opacity:1;outline:2px solid var(--accent-hover);outline-offset:3px}@media (hover:hover){.intro__fix.is-shown:hover{opacity:1;color:var(--bg);background:var(--accent-hover)}}.intro__fix-hint{left:50%;top:calc(50% + var(--intro-title-rise-phone) * -1);z-index:2;font-size:var(--text-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-out);margin:0;font-weight:600;position:absolute;translate:-50% -50%}.intro__fix-hint.is-shown{opacity:.35}@media (width<=767px){.intro{--intro-mark-size:var(--intro-mark-size-phone);touch-action:none;cursor:default}.intro__mark{top:calc(88% - var(--intro-mark-lift-phone))}.intro__title{translate:0 calc(-1 * var(--intro-title-rise-phone))}.intro__name{translate:0 calc(-1 * var(--intro-name-rise-phone))}}.menu{--mx:-9999px;--my:-9999px;transition:--menu-shine .4s var(--ease-out);position:absolute;inset:0}@property --menu-shine{syntax:"<number>";inherits:true;initial-value:0}.menu.is-lit{--menu-shine:1}.menu__slice{inset:calc(-1 * var(--menu-bleed));font:inherit;color:var(--text-muted);cursor:pointer;transition:clip-path var(--dur-med) var(--ease-out), color var(--dur-med) var(--ease-out);background:0 0;border:0;padding:0;position:absolute}.menu__slice:before{content:"";border:1px solid var(--line-strong);pointer-events:none;position:absolute;inset:0}.menu__slice:hover,.menu__slice:focus-visible{color:var(--slice-color);z-index:1}.menu__media{filter:grayscale()brightness(.6);transition:filter var(--dur-med) var(--ease-out);pointer-events:none;position:absolute;inset:0}.menu__slice:hover .menu__media,.menu__slice:focus-visible .menu__media{filter:none}.menu__photo{width:auto;max-width:none;height:calc(100% * var(--photo-zoom,1));transition:left var(--dur-med) var(--ease-out), top var(--dur-med) var(--ease-out);position:absolute;top:50%;translate:-50% -50%}.menu__photo.is-blurred{filter:blur(var(--menu-photo-blur));scale:1.15}.menu__slice.has-photo .menu__media,.menu__slice.has-photo:hover .menu__media,.menu__slice.has-photo:focus-visible .menu__media{filter:grayscale()contrast(1.05)}.menu__tint{background:var(--slice-color);mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:0}.menu__slice:after{content:"";background:color-mix(in srgb, var(--accent) 14%, var(--bg));opacity:.85;transition:opacity var(--dur-med) var(--ease-out);pointer-events:none;position:absolute;inset:0}.menu__slice:hover:after,.menu__slice:focus-visible:after{opacity:0}.menu__slice.has-photo:after{opacity:var(--menu-photo-dim)}.menu__slice.has-photo:hover:after,.menu__slice.has-photo:focus-visible:after{opacity:var(--menu-photo-dim-hover)}.menu__edge{z-index:1;background:radial-gradient(var(--edge-reach) circle at var(--mx) var(--my), rgb(255 255 255/var(--menu-shine)) 0%, rgb(255 255 255/calc(var(--menu-shine) * .35)) 35%, transparent 100%), color-mix(in srgb, var(--menu-edge-rim) 55%, transparent);transition:clip-path var(--dur-med) var(--ease-out);pointer-events:none;position:absolute;inset:0}.menu__label{z-index:2;font-family:var(--font-display);font-size:var(--text-menu-label);letter-spacing:var(--tracking-tight);text-transform:uppercase;text-align:center;white-space:nowrap;transition:left var(--dur-med) var(--ease-out), top var(--dur-med) var(--ease-out);pointer-events:none;font-weight:700;line-height:1.05;position:absolute;top:50%;transform:translate(-50%,-50%)}@media (width<=899px){.menu__label{font-size:var(--text-h3);color:var(--slice-color);top:auto;left:50%}.menu__slice:hover,.menu__slice:focus-visible{color:var(--text-muted)}.menu__slice:hover .menu__media,.menu__slice:focus-visible .menu__media{filter:grayscale()brightness(.6)}.menu__slice:hover:after,.menu__slice:focus-visible:after{opacity:.85}.menu__photo{width:calc(100% * var(--photo-zoom,1));height:auto;left:50%;translate:-50% -50%}.menu__slice.has-photo:hover:after,.menu__slice.has-photo:focus-visible:after{opacity:var(--menu-photo-dim)}}.project__media{z-index:3;width:33.3333vw;position:absolute;inset:0 auto 0 0}.project__figure{background:linear-gradient(155deg, color-mix(in srgb, var(--accent) 34%, var(--bg-card)), var(--bg-card) 64%);width:100%;height:100%;position:relative}@media (width<=899px){.project__figure .project__zoom{pointer-events:none;cursor:auto}}.project__backdrop>.dot-field-container{inset:calc(-1 * var(--dots-bleed));width:auto;height:auto;position:absolute}.project__overtitle{top:var(--space-4);right:var(--space-3);writing-mode:vertical-rl;rotate:180deg;translate:var(--title-away,0px) 0;white-space:nowrap;font-family:var(--font-display);font-size:min(var(--text-project-title), var(--title-fit,100vw));letter-spacing:var(--tracking-tight);text-transform:uppercase;opacity:.5;margin:0;font-weight:700;line-height:.94;position:absolute}.project__still:after,.project__figure:after{content:"";z-index:1;padding:var(--edge-width);background:radial-gradient(var(--edge-reach) circle at var(--mx,-9999px) var(--my,-9999px), rgb(255 255 255/var(--edge-shine)) 0%, rgb(255 255 255/calc(var(--edge-shine) * .35)) 35%, transparent 100%), color-mix(in srgb, var(--project-color,var(--accent-hover)) 55%, transparent);-webkit-mask-composite:xor;pointer-events:none;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.project__figure:after{padding:0 var(--edge-width) 0 0}@media (width<=899px){.project__figure:after{padding:0 0 var(--edge-width) 0}}@property --edge-shine{syntax:"<number>";inherits:true;initial-value:0}:root{transition:--edge-shine .4s var(--ease-out)}:root.is-pointer-in{--edge-shine:1}.project__figure span{left:var(--space-3);bottom:var(--space-3);color:var(--text-faint);font-size:var(--text-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;position:absolute}.project__backdrop{z-index:1;background:var(--sheet-bg,var(--bg));pointer-events:none;position:absolute;inset:0;overflow:visible}.project__sheet{z-index:2;inset:calc(-1 * var(--sheet-bleed)) 0 calc(-1 * var(--sheet-bleed)) 33.3333vw;padding-top:calc(var(--pad-top) + var(--sheet-bleed));padding-bottom:calc(var(--pad-bottom) + var(--sheet-bleed));padding-inline:var(--gutter);will-change:transform;position:absolute;overflow:hidden}.project__content{gap:var(--space-3);grid-template-columns:minmax(0,1fr);max-width:60ch;display:grid}.project__body{color:var(--text-muted);margin:0}.project__part{gap:var(--space-1);display:grid}.project__subheading{margin:var(--space-2) 0 0;color:var(--text);font-size:var(--text-body);font-weight:600}.project__heading{margin:var(--space-4) 0 0;font-family:var(--font-display);font-size:var(--text-h3);letter-spacing:var(--tracking-tight);text-transform:uppercase;color:var(--project-color,var(--text));font-weight:700;line-height:1.05}.project__meta{margin:0}.project__meta-row{column-gap:var(--space-5);padding-block:var(--space-2);flex-wrap:wrap;margin:0;display:flex}@media (width<=767px){.project__meta-row{column-gap:var(--space-3)}}.project__meta-item{white-space:nowrap;align-content:start;gap:.2rem;display:grid}.project__meta-row--wide{grid-template-columns:var(--meta-label-w) minmax(0, 1fr);align-items:baseline;gap:var(--space-3);display:grid}.project__meta dt{color:var(--text-faint);font-size:var(--text-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:600}.project__meta dd{color:var(--text);font-family:var(--font-display);font-size:var(--text-body);letter-spacing:var(--tracking-tight);text-transform:uppercase;margin:0;font-weight:700;line-height:1.3}.project__rule{height:var(--edge-width);background:radial-gradient(var(--edge-reach) circle at var(--mx,-9999px) var(--my,-9999px), rgb(255 255 255/var(--edge-shine)) 0%, rgb(255 255 255/calc(var(--edge-shine) * .35)) 35%, transparent 100%), color-mix(in srgb, var(--project-color,var(--accent-hover)) 55%, transparent)}.project__meta-accent{color:var(--project-color,var(--accent-hover))}.project__meta-swatch{vertical-align:.08em;background:var(--project-color,var(--accent-hover));clip-path:polygon(0% 100%,100% 100%,50% 0%);width:.62em;height:.54em;margin-right:.45em;display:inline-block}.project__meta-lines{color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-caption);letter-spacing:normal;text-transform:none;font-weight:400}.project__meta-tags{gap:var(--space-1) var(--space-2);font-family:var(--font-body);letter-spacing:normal;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.project__meta-tags li{border:1px solid var(--line-strong);color:var(--text-muted);font-size:var(--text-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;padding:.3em .7em;font-weight:500;line-height:1.4}.project__image{object-fit:cover;width:100%;height:100%;display:block}.project__zoom{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block;position:absolute;inset:0}.project__zoom:focus-visible{outline:2px solid var(--project-color,var(--accent-hover));outline-offset:-2px}.project__block{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.project__row{gap:var(--space-3);width:min(100%, calc(var(--row-ratio) * var(--still-max-h) + var(--row-gaps) * var(--space-3)));margin-block:var(--space-2);display:flex}.project__still{background:var(--bg-card);border-radius:0;min-width:0;margin:0;position:relative}.project__caption{z-index:2;left:var(--space-3);bottom:var(--space-3);padding:var(--caption-pad-y) var(--caption-pad-x);background:var(--caption-dim);color:var(--text);font-size:var(--text-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;pointer-events:none;margin:0;line-height:1.3;position:absolute}.project__screen .project__caption{white-space:nowrap;font-size:min(var(--text-micro), 4cqw);letter-spacing:.08em;bottom:6cqw;left:7cqw}.project__switch{grid-template-columns:minmax(0, calc(var(--row-ratio) * var(--still-max-h))) auto;justify-content:start;align-items:center;gap:var(--space-3);margin-block:var(--space-2);display:grid}.project__switch .project__row{width:100%;margin-block:0}.project__tabs{gap:var(--space-2);width:var(--tab-width);display:grid}@media (width<=767px){.project__switch--wide{grid-template-columns:minmax(0,1fr)}.project__switch--wide .project__tabs{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;width:100%}}.project__tab{min-height:var(--tab-height);padding:var(--space-2) var(--space-1);border:var(--edge-width) solid var(--line-strong);color:var(--text-muted);font:inherit;font-size:var(--text-caption);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border-radius:0;font-weight:500}.project__tab:hover{color:var(--text)}.project__tab.is-active{border-color:color-mix(in srgb, var(--project-color,var(--accent-hover)) 70%, transparent);background:color-mix(in srgb, var(--project-color,var(--accent-hover)) 12%, transparent);color:var(--text)}.project__tab:focus-visible{outline:2px solid var(--project-color,var(--accent-hover));outline-offset:2px}.project__still--phone{background:var(--bg);border-radius:15.37%/7.35%;container-type:inline-size}.project__still--phone:after{border-radius:inherit}.project__screen{inset:var(--phone-bezel);border-radius:calc(15.37cqw - var(--phone-bezel));background:var(--bg-card);position:absolute;overflow:hidden}.project__video{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block;position:absolute;inset:0}.project__video video{transition:filter var(--dur-med) var(--ease-out)}.project__video.is-cropped{overflow:hidden;container-type:size}.project__video.is-cropped video{width:calc(100cqw * var(--crop-w) * var(--crop-overscan-x));height:calc(100cqh * var(--crop-h) * var(--crop-overscan-y));object-fit:fill;max-width:none;translate:calc(var(--crop-cx) * -100%) calc(var(--crop-cy) * -100%);position:absolute;top:50%;left:50%}.project__video.is-paused video{filter:grayscale()brightness(.55)}.project__video:focus-visible{outline:2px solid var(--project-color,var(--accent-hover));outline-offset:-2px}.project__play{width:var(--play-size);aspect-ratio:1;border:var(--edge-width) solid color-mix(in srgb, var(--project-color,var(--accent-hover)) 55%, transparent);opacity:0;transition:opacity var(--dur-med) var(--ease-out), scale var(--dur-med) var(--ease-bounce);background:#0b0c108c;border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%;scale:.6}.project__play:before{content:"";background:var(--text);clip-path:polygon(0 0,100% 50%,0 100%);position:absolute;inset:30% 26% 30% 36%}.project__video.is-paused .project__play{opacity:1;scale:1}@media (width<=899px){.project__media{width:auto;height:max(var(--hero-collapsed-h), calc(34vh - var(--hero-travel,0) * 1px));inset:0 0 auto}.project__backdrop{inset:0}.project__sheet{inset:calc(-1 * var(--sheet-bleed)) 0;padding-top:var(--sheet-bleed)}.project__scroll{padding-top:calc(34vh + var(--space-4))}.project__overtitle{display:none}.project__striptitle{z-index:2;left:calc(var(--gutter) - var(--strip-title-pad-x));bottom:calc(var(--hero-collapsed-h) - var(--menu-button-inset) - var(--menu-button-icon-size) / 2 - .47em - var(--strip-title-drop) - var(--strip-title-pad-y));padding:var(--strip-title-pad-y) var(--strip-title-pad-x);background:var(--strip-title-dim);white-space:nowrap;font-family:var(--font-display);font-size:var(--text-project-title-compact);letter-spacing:var(--tracking-tight);text-transform:uppercase;pointer-events:none;margin:0;font-weight:700;line-height:.94;position:absolute}}@media (width>=900px){.project__striptitle{display:none}}.is-static .project__sheet{z-index:2;margin-left:33.3333vw;padding-top:0;padding-bottom:0;position:relative;inset:auto;overflow:visible}@media (width<=899px){.is-static .project__sheet{margin-left:0}}.about__figure .project__image{object-position:50% 25%}.about__title{font-family:var(--font-display);font-size:var(--text-h2);letter-spacing:var(--tracking-tight);text-transform:uppercase;color:var(--text);margin:0;font-weight:700;line-height:1.05}.about__name{color:var(--project-color,var(--accent-hover));white-space:nowrap}.about__body{gap:var(--space-3);margin-top:var(--space-2);color:var(--text-muted);grid-template-columns:minmax(0,1fr);display:grid}.about__body p{margin:0}.about__body strong{color:var(--text);font-weight:600}.about__actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.about__button{min-height:var(--tab-height);border:var(--edge-width) solid var(--line-strong);color:var(--text);font-size:var(--text-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:.6em;padding:0 1.1em;font-weight:600;text-decoration:none;display:inline-flex}.about__button:hover,.about__button:focus-visible{border-color:var(--project-color,var(--accent-hover));color:var(--project-color,var(--accent-hover))}.about__button--primary{border-color:var(--project-color,var(--accent-hover));background:var(--project-color,var(--accent-hover));color:var(--bg)}.about__button--primary:hover,.about__button--primary:focus-visible{color:var(--project-color,var(--accent-hover));background:0 0}.about__button:focus-visible{outline:2px solid var(--project-color,var(--accent-hover));outline-offset:2px}.about__button.is-unset{opacity:.4;cursor:not-allowed}.about__button.is-unset:hover{border-color:var(--line-strong);color:var(--text)}.about__icon{flex:none;width:1.25em;height:1.25em}.about__button--plain{letter-spacing:normal;text-transform:none}.about__hint{margin:var(--space-3) 0 0;color:var(--text-faint);font-size:var(--text-micro);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}@media (width<=767px){.about__actions{flex-direction:column}.about__button{justify-content:center}}
