:root{--paper:#ecefea;--surface:#fff;--ink:#14171c;--ink-soft:#4b5058;--ink-faint:#7a7f85;--signal:#2f5dff;--line:#c9cdc4;--font-display:"Inter", system-ui, sans-serif;--font-body:"Lexend", system-ui, sans-serif;--gutter:clamp(1.25rem, 4vw, 3rem);--measure:62ch;--frame-bar-height:1.9rem}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:18px;font-weight:300;line-height:1.55}img,video{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p{margin:0}button{font:inherit}::selection{background:var(--signal);color:var(--paper)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.page{overflow-x:hidden}.hero{min-height:100svh;padding:var(--gutter);padding-top:max(var(--gutter), 2rem);grid-template-rows:1fr auto;grid-template-columns:1fr;display:grid;position:relative}.hero__body{align-self:center;max-width:46rem;padding-top:3rem}.hero__title{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(2.1rem,6.5vw,4.4rem);font-weight:600;line-height:1.05}.hero__line-wrap{margin-bottom:-.14em;padding-bottom:.14em;display:block;overflow:hidden}.hero__line{display:block}.hero__intro{max-width:34rem;color:var(--ink);margin-top:1.75rem;font-size:1.05rem;font-weight:300}.hero__note{color:#14171c;max-width:34rem;margin-top:.75rem;font-size:.9rem;font-style:italic;font-weight:300}.hero__scroll{color:var(--ink);border-bottom:1px solid var(--line);place-self:end start;align-items:center;gap:.6rem;padding-bottom:.15rem;font-size:.95rem;font-weight:300;text-decoration:none;display:inline-flex}.hero__scroll svg{animation:1.8s ease-in-out infinite hero-bounce}@keyframes hero-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.gallery{padding:0 0 2rem}.gallery__heading{padding:3rem var(--gutter) 1rem;font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:600}.gallery__list{flex-direction:column;display:flex}.project{padding:5rem var(--gutter);border-top:1px solid var(--line);grid-template-columns:1fr;gap:1.75rem;display:grid}.project__media{position:relative;container-type:inline-size}.project__media-clip{width:100%;height:calc(100cqw / var(--media-aspect-ratio,1.3333) + var(--frame-bar-height));position:relative;overflow:hidden}.project__media-inner{height:116%;position:absolute;inset:-8% 0}.project__media-inner--exact{height:100%;inset:0}.project__media img,.project__media video{object-fit:cover;object-position:top;width:100%;height:100%}.media-block,.media-block--video{width:100%;height:100%}.device-frame{background:var(--surface);border:1px solid var(--line);width:100%;height:100%;position:relative}.device-frame__screen{background:var(--surface);width:100%;height:100%;position:relative;overflow:hidden}.device-frame--screen{border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.device-frame--screen .device-frame__screen{flex:auto;min-height:0}.device-frame--screen .device-frame__bar{height:var(--frame-bar-height);background:var(--paper);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:.4rem;padding:0 .7rem;display:flex}.device-frame__dot{background:var(--ink-faint);opacity:.5;border-radius:50%;width:.42rem;height:.42rem}.project__mobile-frame{width:18%;aspect-ratio:var(--mobile-aspect,9 / 19);z-index:2;position:absolute;bottom:-1.4rem;right:-.6rem;container:mobile-frame/inline-size}.project--reversed .project__mobile-frame{left:-.6rem;right:auto}@media (width<=700px){.project__mobile-frame{width:32%;bottom:-1.6rem;right:0}.project--reversed .project__mobile-frame{left:0}}.device-frame--mobile{border:4.2cqw solid var(--ink);border-radius:15cqw;padding:5px;position:relative;box-shadow:0 8px 18px #14171c2e}.device-frame--mobile .device-frame__screen{border-radius:8cqw}.device-frame--mobile .device-frame__screen img,.device-frame--mobile .device-frame__screen video{transform-origin:50% 0;transform:scale(1.025)}.device-frame--empty .device-frame__screen{background:repeating-linear-gradient(135deg, var(--paper), var(--paper) 8px, var(--surface) 8px, var(--surface) 16px);justify-content:center;align-items:center;display:flex}.device-frame__label{color:var(--ink-faint);text-align:center;padding:.3rem .5rem;font-size:.7rem}.device-frame--screen.device-frame--empty .device-frame__label{font-size:.85rem}.media-block__poster{background-position:50%;background-size:cover;justify-content:flex-start;align-items:flex-end;width:100%;height:100%;display:flex;position:relative}.media-block__play{background:var(--paper);width:3.2rem;height:3.2rem;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.media-block__note{color:var(--paper);background:#14171c99;margin:1rem;padding:.3rem .6rem;font-size:.8rem}.project__text{max-width:var(--measure)}.project__meta{color:var(--ink-soft);font-size:.9rem}.project__title{font-family:var(--font-display);letter-spacing:-.01em;margin-top:.6rem;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:600;line-height:1.2}.project__description{color:var(--ink-soft);max-width:42ch;margin-top:.9rem}.project__role{color:var(--ink-faint);margin-top:1rem;font-size:.9rem}.project__link{color:var(--ink);border-bottom:1px solid var(--line);margin-top:1.25rem;font-size:.9rem;text-decoration:none;display:inline-block}.project__link:hover{color:var(--signal);border-color:var(--signal)}@media (width>=900px){.project{padding:7rem var(--gutter);grid-template-columns:1.3fr .7fr;align-items:center;gap:3.5rem}.project--reversed{grid-template-columns:.7fr 1.3fr}.project--reversed .project__media{order:2}.project--reversed .project__text{order:1}}.footer{padding:4rem var(--gutter) 6rem;border-top:1px solid var(--line);text-align:center}.footer__line{font-family:var(--font-display);font-size:clamp(1.3rem,3vw,1.8rem);font-weight:600}.footer__line a{border-bottom:1px solid var(--ink);text-decoration:none}.footer__line a:hover{color:var(--signal);border-color:var(--signal)}.lang-picker{z-index:50;padding:.6rem var(--gutter);gap:.25rem;display:flex;position:fixed;top:0;right:0}.lang-picker__btn{font:inherit;letter-spacing:.06em;color:var(--ink-soft);background:color-mix(in srgb, var(--paper) 85%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:.3rem .6rem;font-size:.8rem;font-weight:500}.lang-picker__btn:hover{color:var(--ink)}.lang-picker__btn[aria-pressed=true]{color:var(--surface);background:var(--ink);border-color:var(--ink)}.lang-picker__btn:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
