@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Variable;font-style:italic;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-italic-DS6JCx7O.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:italic;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-italic-Cq9u_6Zz.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:italic;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-italic-BuvkOFDm.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--canvas:#fff;--ink:#151515;--muted:#565656;--rule:#d7d7d2;--surface:#f6f6f2;--accent:#d4e870;--lime:#d0db25;--on-accent:#151515;--error:#b3261e;--success:#1e6b34;--font-display:"Archivo Variable", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--font-body:"Archivo Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--stretch-display:115%;--stretch-body:100%;--weight-display:800;--tracking-display:-.035em;--fs-masthead:clamp(4.5rem, 21vw, 19rem);--fs-hero:clamp(2.75rem, 7vw, 6.5rem);--fs-section:clamp(2rem, 5vw, 4.5rem);--fs-project:clamp(1.5rem, 3vw, 2.5rem);--fs-lead:clamp(1.125rem, 1.6vw, 1.375rem);--fs-note:clamp(.9375rem, 1.1vw, 1.0625rem);--fs-body:1.0625rem;--fs-meta:.8125rem;--lh-hero:.92;--lh-section:1;--lh-body:1.6;--measure:65ch;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--space-8:64px;--section-gap:clamp(80px, 12vw, 180px);--max-width:1440px;--gutter:clamp(20px, 4vw, 72px);--grid-gap:clamp(16px, 2vw, 32px);--columns:1;--radius:2px;--focus-width:2px;--dur:.2s;--ease:cubic-bezier(.2, 0, 0, 1);--header-h:64px}@media (width>=768px){:root{--columns:6}}@media (width>=1024px){:root{--columns:12;--header-h:72px}}@media (prefers-reduced-motion:reduce){:root{--dur:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--space-2))}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--canvas);color:var(--ink);font-family:var(--font-body);font-stretch:var(--stretch-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}h1,h2,h3{font-family:var(--font-display);font-stretch:var(--stretch-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);text-wrap:balance}p{text-wrap:pretty}img,video,svg{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em;transition:text-decoration-color var(--dur) var(--ease), color var(--dur) var(--ease);text-decoration-thickness:1px}button{font:inherit;color:inherit}:focus-visible{outline:var(--focus-width) solid var(--ink);outline-offset:3px}::selection{background:var(--accent);color:var(--on-accent)}.container{width:100%;max-width:var(--max-width);padding-inline:var(--gutter);margin-inline:auto}.grid{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);display:grid}.section{padding-block:var(--section-gap)}.rule{border:0;border-top:1px solid var(--rule);margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.t-hero{font-size:var(--fs-hero);line-height:var(--lh-hero);letter-spacing:-.04em}.kicker{font-size:var(--fs-meta);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:.25em .75em;font-weight:700;display:flex}.kicker>*+:before{content:"—";margin-right:.75em;font-weight:400}.t-section{font-size:var(--fs-section);line-height:var(--lh-section)}.t-project{font-size:var(--fs-project);line-height:1.1}.t-lead{font-size:var(--fs-lead);max-width:38ch;line-height:1.45}.t-meta{font-size:var(--fs-meta);color:var(--muted);line-height:1.4}.t-label{font-size:var(--fs-meta);letter-spacing:.08em;text-transform:uppercase;font-weight:500;line-height:1.2}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1em}.btn{align-items:center;gap:var(--space-1);border:1px solid var(--ink);border-radius:var(--radius);background:var(--accent);min-height:44px;color:var(--on-accent);cursor:pointer;transition:transform var(--dur) var(--ease);padding-inline:20px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--ghost{background:0 0}.link{min-height:44px;text-decoration-line:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);align-items:center;gap:.4em;display:inline-flex}.link:hover{text-decoration-color:currentColor}.arrow{transition:transform var(--dur) var(--ease);display:inline-block}a:hover .arrow{transform:translate(3px)}.tag{border:1px solid var(--rule);border-radius:var(--radius);font-size:var(--fs-meta);padding:2px 8px;line-height:1.5;display:inline-block}.marker{text-underline-offset:.1em;background-image:linear-gradient(transparent 62%, var(--accent) 62%);-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size var(--dur) var(--ease);text-decoration-line:underline;text-decoration-thickness:1px}.marker:hover{background-image:linear-gradient(transparent 15%, var(--accent) 15%)}.rule--double{border:0;border-top:3px double var(--ink);margin:0}.header[data-v-de9f8af9]{z-index:50;background:var(--canvas);border-bottom:1px solid var(--ink);position:sticky;top:0}.header__inner[data-v-de9f8af9]{min-height:var(--header-h);justify-content:space-between;align-items:center;display:flex}.brand[data-v-de9f8af9]{min-height:44px;font-family:var(--font-display);font-stretch:var(--stretch-display);font-weight:var(--weight-display);letter-spacing:-.02em;text-transform:uppercase;align-items:center;font-size:1.125rem;line-height:1;text-decoration:none;display:inline-flex}.toggle[data-v-de9f8af9]{border:1px solid var(--ink);border-radius:var(--radius);background:var(--canvas);cursor:pointer;min-width:44px;min-height:44px;padding-inline:16px;font-weight:600}.toggle[aria-expanded=true][data-v-de9f8af9]{background:var(--accent);color:var(--on-accent)}.nav[data-v-de9f8af9]{background:var(--canvas);border-bottom:1px solid var(--ink);display:none;position:absolute;top:100%;left:0;right:0}.nav--open[data-v-de9f8af9]{display:block}.nav__list[data-v-de9f8af9]{padding:var(--space-1) var(--gutter) var(--space-3)}.nav__link[data-v-de9f8af9]{min-height:56px;font-family:var(--font-display);font-stretch:var(--stretch-display);font-weight:var(--weight-display);letter-spacing:-.02em;text-transform:uppercase;border-bottom:1px solid var(--rule);align-items:center;font-size:1.75rem;text-decoration:none;display:flex}.nav__link--cv[data-v-de9f8af9]{color:var(--ink)}@media (width>=768px){.toggle[data-v-de9f8af9]{display:none}.nav[data-v-de9f8af9]{background:0 0;border:0;display:block;position:static}.nav__list[data-v-de9f8af9]{gap:var(--space-4);padding:0;display:flex}.nav__link[data-v-de9f8af9]{min-height:44px;font-family:var(--font-body);font-stretch:var(--stretch-body);letter-spacing:0;text-transform:none;text-underline-offset:.3em;border:0;font-size:.9375rem;font-weight:600;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:2px}.nav__link[data-v-de9f8af9]:hover{-webkit-text-decoration-color:var(--lime);text-decoration-color:var(--lime)}.nav__link--cv[data-v-de9f8af9]{background:var(--accent);padding-inline:12px;text-decoration:none}}.footer[data-v-e31602ca]{border-top:3px double var(--ink);padding-block:var(--space-6)}.footer__inner[data-v-e31602ca]{gap:var(--space-2);display:grid}.footer__colophon[data-v-e31602ca]{gap:4px;display:grid}.footer__name[data-v-e31602ca]{font-family:var(--font-display);font-stretch:var(--stretch-display);font-weight:var(--weight-display);text-transform:uppercase;font-size:1.125rem;line-height:1}.footer__links[data-v-e31602ca]{column-gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width>=768px){.footer__inner[data-v-e31602ca]{align-items:center;gap:var(--space-4);grid-template-columns:auto 1fr auto}.footer__links[data-v-e31602ca]{justify-content:center}}.skip-link[data-v-0c9bca66]{top:var(--space-1);left:var(--space-1);z-index:100;background:var(--accent);color:var(--on-accent);border:1px solid var(--ink);padding:10px 16px;font-weight:500;text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link[data-v-0c9bca66]:focus{transform:none}main[data-v-0c9bca66]:focus{outline:none}.cover[data-v-d5436a53]{padding-block:var(--space-6);border-bottom:1px solid var(--ink);align-items:center;display:grid;position:relative;overflow:hidden}.intro--motion[data-v-d5436a53]{height:calc(100svh - var(--header-h) + 75svh)}.intro--motion .cover[data-v-d5436a53]{top:var(--header-h);height:calc(100svh - var(--header-h));padding-block:var(--space-3);border-bottom:0;position:sticky}.intro[data-v-d5436a53]:not(.intro--motion){border-bottom:clamp(48px, 10vw, 120px) solid var(--lime)}.cover__curtain[data-v-d5436a53]{z-index:2;background:var(--lime);will-change:transform;pointer-events:none;position:absolute;inset:0}.intro:not(.intro--motion) .cover__curtain[data-v-d5436a53]{display:none}.cover__inner[data-v-d5436a53]{gap:var(--space-3);justify-items:start;display:grid}.cover__side[data-v-d5436a53]{display:contents}.cover__decoration[data-v-d5436a53]{display:none}.cover__areas[data-v-d5436a53]{gap:0 var(--space-2);text-transform:uppercase;letter-spacing:.02em;flex-wrap:wrap;order:3;font-weight:800;display:flex}.cover__photo[data-v-d5436a53]{object-fit:cover;order:2;width:min(100%,360px);max-height:46svh}.cover__text[data-v-d5436a53]{gap:var(--space-2);order:1;display:grid}.cover__title[data-v-d5436a53]{text-transform:uppercase;display:grid}.cover__kicker[data-v-d5436a53]{letter-spacing:-.02em;color:var(--lime);font-size:clamp(1.5rem,3.6vw,3.25rem);font-stretch:100%;line-height:1}.cover__brand[data-v-d5436a53]{letter-spacing:-.045em;margin-left:-.03em;font-size:clamp(4rem,17vw,7rem);line-height:.84}.cover__links[data-v-d5436a53]{gap:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.pill[data-v-d5436a53]{background:var(--accent);min-height:36px;color:var(--on-accent);transition:transform var(--dur) var(--ease);align-items:center;gap:.5em;padding:4px 12px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.pill[data-v-d5436a53]:hover{transform:translateY(-2px)}.pill--mail[data-v-d5436a53]{font-size:clamp(1rem,1.6vw,1.25rem);font-weight:700}@media (width>=900px){.cover__inner[data-v-d5436a53]{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(0,2fr);align-items:end;column-gap:0}.cover__side[data-v-d5436a53]{gap:var(--space-2);padding-right:var(--space-2);align-content:space-between;align-self:stretch;justify-items:end;display:grid}.cover__decoration[data-v-d5436a53]{mix-blend-mode:multiply;justify-self:end;width:min(100%,180px);display:block}.cover__areas[data-v-d5436a53]{text-align:right;order:0;justify-items:end;font-size:clamp(.9375rem,1.3vw,1.25rem);line-height:1.35;display:grid}.cover__photo[data-v-d5436a53]{aspect-ratio:3/4;order:0;width:100%;max-height:min(62svh,560px)}.cover__brand[data-v-d5436a53]{font-size:clamp(5rem,10.4vw,10.5rem)}.cover__text[data-v-d5436a53]{padding-left:var(--space-4);order:0;align-self:center}}.overview[data-v-14d1dd3f]{display:grid}.overview__title[data-v-14d1dd3f]{letter-spacing:-.045em;text-transform:uppercase;text-align:center;white-space:nowrap;font-size:clamp(2.5rem,12.2vw,13.5rem);line-height:.8}.overview__list[data-v-14d1dd3f]{gap:var(--space-4) var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:relative}.overview__item[data-v-14d1dd3f]{gap:var(--space-1);align-content:start;justify-items:center;display:grid}.overview__link[data-v-14d1dd3f]{gap:var(--space-2);justify-items:center;width:100%;text-decoration:none;display:grid}.overview__frame[data-v-14d1dd3f]{justify-content:center;align-items:flex-end;width:100%;height:clamp(140px,22vw,300px);display:flex}.overview__frame img[data-v-14d1dd3f]{object-fit:contain;border:1px solid var(--ink);background:var(--surface);max-width:100%;max-height:100%;transition:transform var(--dur) var(--ease)}.overview__link:hover img[data-v-14d1dd3f]{transform:translateY(-6px)rotate(-1deg)}.overview__name[data-v-14d1dd3f]{font-family:var(--font-display);text-align:center;text-transform:uppercase;text-underline-offset:.25em;transition:text-decoration-color var(--dur) var(--ease);font-size:clamp(.9375rem,1.4vw,1.25rem);font-weight:800;line-height:1.2;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:3px}.overview__link:hover .overview__name[data-v-14d1dd3f],.overview__link:focus-visible .overview__name[data-v-14d1dd3f]{-webkit-text-decoration-color:var(--lime);text-decoration-color:var(--lime)}.overview__tools[data-v-14d1dd3f]{gap:6px;display:flex}.overview__tools li[data-v-14d1dd3f]{border:1px solid var(--ink);font-size:var(--fs-meta);padding:1px 8px;font-weight:600}@media (width>=768px){.overview__list[data-v-14d1dd3f]{gap:var(--grid-gap);margin-top:calc(clamp(2.5rem,12.2vw,13.5rem)/-3.33333);display:flex}.overview__item[data-v-14d1dd3f]{flex:1 1 0;min-width:0}.overview__item:nth-child(2n) .overview__frame[data-v-14d1dd3f]{height:clamp(150px,19vw,260px)}}.video[data-v-bd74b92e]{aspect-ratio:16/9;background:var(--ink);width:100%;max-height:100%}.video__frame[data-v-bd74b92e]{border:0;width:100%;height:100%;display:block}.video__poster[data-v-bd74b92e]{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative}.video__poster img[data-v-bd74b92e]{object-fit:cover;width:100%;height:100%}.video__play[data-v-bd74b92e]{white-space:nowrap;position:absolute;top:clamp(12px,3vw,24px);left:clamp(12px,3vw,24px)}.video__poster:hover .video__play[data-v-bd74b92e]{transform:translateY(-2px)}.zoom[data-v-aacc5a79]{background:var(--canvas);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);border:0;margin:0;padding:0;overflow:hidden}.zoom[open][data-v-aacc5a79]{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.zoom[data-v-aacc5a79]::backdrop{background:#0009}.zoom__bar[data-v-aacc5a79]{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--gutter);border-bottom:1px solid var(--ink);display:flex}.zoom__actions[data-v-aacc5a79]{gap:var(--space-1);display:flex}.zoom__btn[data-v-aacc5a79]{border:1px solid var(--ink);border-radius:var(--radius);background:var(--canvas);cursor:pointer;min-width:44px;min-height:44px;padding-inline:12px;font-size:1.125rem}.zoom__btn[data-v-aacc5a79]:disabled{opacity:.35;cursor:default}.zoom__close[data-v-aacc5a79]{background:var(--accent);font-size:1rem;font-weight:600}.zoom__stage[data-v-aacc5a79]{touch-action:none;cursor:zoom-in;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:relative;overflow:hidden}.zoom__stage.is-zoomed[data-v-aacc5a79]{cursor:grab}.zoom__stage.is-zoomed[data-v-aacc5a79]:active{cursor:grabbing}.zoom__stage.is-dragging img[data-v-aacc5a79]{transition:none}.zoom__stage img[data-v-aacc5a79]{max-width:calc(100vw - 2 * var(--gutter));object-fit:contain;transform-origin:50%;max-height:100%;transition:transform .12s var(--ease);will-change:transform}.zoom__hint[data-v-aacc5a79]{padding:var(--space-1) var(--gutter);text-align:center}.zoom__nav[data-v-aacc5a79]{border:1px solid var(--ink);background:var(--canvas);cursor:pointer;width:48px;height:72px;font-size:2.25rem;line-height:1;position:absolute;top:50%;translate:0 -50%}.zoom__nav--prev[data-v-aacc5a79]{left:var(--space-1)}.zoom__nav--next[data-v-aacc5a79]{right:var(--space-1)}@media (prefers-reduced-motion:reduce){.zoom__stage img[data-v-aacc5a79]{transition:none}}.carousel[data-v-fdc380ac]{--stage-h:clamp(260px, 58svh, 620px);gap:var(--space-2);min-width:0;display:grid}.carousel__track[data-v-fdc380ac]{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;display:flex;overflow-x:auto}.carousel__track[data-v-fdc380ac]::-webkit-scrollbar{display:none}.carousel__slide[data-v-fdc380ac]{height:var(--stage-h);scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 100%;place-items:center;display:grid}.carousel__media[data-v-fdc380ac]{max-width:100%;max-height:var(--stage-h);object-fit:contain;width:auto;height:auto}video.carousel__media[data-v-fdc380ac]{background:var(--ink)}.carousel__youtube[data-v-fdc380ac]{width:min(100%, calc(var(--stage-h) * 16 / 9))}.carousel__zoom[data-v-fdc380ac],.carousel__link[data-v-fdc380ac]{cursor:zoom-in;background:0 0;border:0;place-items:center;max-width:100%;max-height:100%;padding:0;text-decoration:none;display:grid;position:relative}.carousel__link[data-v-fdc380ac]{cursor:pointer}.carousel__badge[data-v-fdc380ac]{bottom:var(--space-2);right:var(--space-2);white-space:nowrap;position:absolute}.carousel__badge--zoom[data-v-fdc380ac]{border:1px solid var(--ink);background:var(--canvas);font-size:var(--fs-meta);opacity:0;transition:opacity var(--dur) var(--ease);padding:4px 10px;font-weight:600}.carousel__zoom:hover .carousel__badge--zoom[data-v-fdc380ac],.carousel__zoom:focus-visible .carousel__badge--zoom[data-v-fdc380ac]{opacity:1}@media (hover:none){.carousel__badge--zoom[data-v-fdc380ac]{opacity:1}}.carousel__controls[data-v-fdc380ac]{justify-content:center;align-items:center;gap:var(--space-3);display:flex}.carousel__arrow[data-v-fdc380ac]{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:56px;padding:0;display:grid}.carousel__arrow svg[data-v-fdc380ac]{fill:none;width:16px;height:36px;stroke:var(--ink);stroke-width:2.5px}.carousel__arrow[data-v-fdc380ac]:disabled{opacity:.2;cursor:default}.carousel__count[data-v-fdc380ac]{text-align:center;font-variant-numeric:tabular-nums;min-width:5ch}.category[data-v-85e95160]{gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--ink);display:grid;position:relative}.category__anchor[data-v-85e95160]{position:absolute;top:0}.category__head[data-v-85e95160]{gap:var(--space-1);justify-items:start;display:grid}.category__title[data-v-85e95160]{letter-spacing:-.01em;text-transform:uppercase;font-size:clamp(1.375rem,2.4vw,2rem);font-stretch:100%;line-height:1.1}.category__intro[data-v-85e95160]{max-width:80ch;font-size:var(--fs-lead);line-height:1.4}.category__tabs[data-v-85e95160]{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.category__tab[data-v-85e95160]{border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--canvas);cursor:pointer;min-height:40px;transition:background var(--dur) var(--ease);padding:6px 14px;font-size:.9375rem}.category__tab[data-v-85e95160]:hover{background:var(--surface)}.category__tab[aria-pressed=true][data-v-85e95160]{background:var(--accent);font-weight:700}.project[data-v-85e95160]{gap:var(--space-4);animation:project-in-85e95160 .3s var(--ease);display:grid}.project__body[data-v-85e95160]{gap:var(--space-2);align-content:start;display:grid}.project__title[data-v-85e95160]{letter-spacing:-.01em;text-transform:uppercase;font-size:clamp(1.375rem,2.2vw,1.875rem);font-stretch:100%;line-height:1.1}.project__subtitle[data-v-85e95160]{font-size:var(--fs-lead);margin-top:calc(-1 * var(--space-1));line-height:1.35}.project__text[data-v-85e95160]{max-width:62ch;padding-top:var(--space-1);gap:1em;display:grid}.project__links[data-v-85e95160]{column-gap:var(--space-3);flex-wrap:wrap;display:flex}.project__links .link[data-v-85e95160]{font-weight:600}.project__tools[data-v-85e95160]{gap:var(--space-1);flex-wrap:wrap;display:flex}.tool[data-v-85e95160]{border:1px solid var(--ink);border-radius:var(--radius);font-size:var(--fs-meta);padding:2px 10px;font-weight:600}@keyframes project-in-85e95160{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.project[data-v-85e95160]{animation:none}}@media (width>=1024px){.project[data-v-85e95160]{column-gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}.project__media[data-v-85e95160]{grid-column:1/span 7}.project__body[data-v-85e95160]{padding-left:var(--space-3);grid-column:8/-1}.project--text .project__body[data-v-85e95160]{grid-column:1/span 8;padding-left:0}}.ad[data-v-2a36060c]{gap:var(--space-2);background:var(--accent);max-width:44rem;color:var(--on-accent);border:3px double var(--ink);padding:clamp(24px,4vw,48px);display:grid}.ad__type[data-v-2a36060c]{font-family:var(--font-display);font-stretch:var(--stretch-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);text-transform:uppercase;font-size:clamp(2.5rem,6vw,4.5rem);line-height:.9}.ad__copy[data-v-2a36060c]{max-width:48ch;font-size:var(--fs-lead);line-height:1.4}.ad__email[data-v-2a36060c]{font-family:var(--font-display);font-stretch:var(--stretch-display);font-weight:700;font-size:var(--fs-project);letter-spacing:-.02em;word-break:break-word;line-height:1.1}.ad .marker[data-v-2a36060c]{background-image:linear-gradient(transparent 62%, var(--canvas) 62%)}.ad .marker[data-v-2a36060c]:hover{background-image:linear-gradient(transparent 15%, var(--canvas) 15%)}.ad__row[data-v-2a36060c]{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.ad .btn--ghost[data-v-2a36060c]:hover{background:var(--canvas)}.ad .link[data-v-2a36060c]{text-decoration-color:currentColor}.about[data-v-3e37b8ee]{z-index:1;gap:var(--space-2);background:var(--canvas);display:grid;position:relative}.about__title[data-v-3e37b8ee]{text-align:center;text-wrap:balance;font-size:clamp(2.25rem,6vw,5rem);line-height:1}.about__ask[data-v-3e37b8ee]{letter-spacing:-.02em;font-weight:700;font-stretch:100%}.about__name[data-v-3e37b8ee]{text-transform:uppercase}.about__subtitle[data-v-3e37b8ee]{font-family:var(--font-display);text-align:center;color:var(--lime);font-size:clamp(1.25rem,2.6vw,2.25rem);font-weight:700;line-height:1.15}.about__facts[data-v-3e37b8ee]{max-width:72rem;margin:var(--space-4) auto 0;letter-spacing:-.01em;text-align:justify;-webkit-hyphens:auto;hyphens:auto;font-size:clamp(1.125rem,1.9vw,1.625rem);line-height:1.5}.about__fact strong[data-v-3e37b8ee],.about__sep[data-v-3e37b8ee]{font-weight:800}.about__cv[data-v-3e37b8ee]{justify-self:end;align-items:center;gap:var(--space-2);min-height:56px;margin-top:var(--space-2);background:var(--accent);color:var(--on-accent);transition:transform var(--dur) var(--ease);padding:8px 24px;font-size:1.5rem;font-weight:800;text-decoration:none;display:inline-flex}.about__cv[data-v-3e37b8ee]:hover{transform:translateY(-2px)}.projects__intro[data-v-3e37b8ee]{max-width:60ch;margin:var(--space-4) auto 0;font-size:var(--fs-lead);text-align:center}.projects[data-v-3e37b8ee]{gap:clamp(64px,8vw,120px);margin-top:clamp(64px,8vw,120px);display:grid}.section__head[data-v-3e37b8ee]{gap:var(--space-1);padding-bottom:var(--space-4);display:grid}.section__head .t-section[data-v-3e37b8ee]{text-transform:uppercase}
