@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.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{--c-black:#0a0a0b;--c-ink:#111113;--c-graphite:#1c1c1f;--c-iron:#2b2b2f;--c-gray-500:#8d8c87;--c-gray-400:#a3a29d;--c-gray-300:#c9c8c2;--c-gray-100:#e3e2dc;--c-paper:#efeee9;--c-white:#fafaf7;--c-red:#e8322c;--c-red-ink:#c4231d;--c-red-soft:#ff5a52;--bg:var(--c-black);--fg:var(--c-white);--fg-muted:var(--c-gray-400);--line:#ffffff1f;--accent-text:var(--c-red-soft);--font-sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs-mono:.75rem;--fs-small:.875rem;--fs-body:clamp(1rem, .96rem + .2vw, 1.125rem);--fs-lead:clamp(1.25rem, 1.05rem + .9vw, 1.875rem);--fs-h3:clamp(1.5rem, 1.2rem + 1.3vw, 2.5rem);--fs-h2:clamp(2.75rem, 1.6rem + 5.2vw, 7.5rem);--fs-display:clamp(4rem, 1rem + 15vw, 17.5rem);--tracking-display:-.06em;--tracking-tight:-.035em;--tracking-mono:.08em;--gutter:clamp(1.25rem, .6rem + 3vw, 3.5rem);--section-y:clamp(6rem, 4rem + 9vw, 14rem);--max-w:1680px;--header-h:4.5rem;--radius:4px;--radius-lg:14px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.18s;--dur:.42s;--tap:44px}.surface-dark{--bg:var(--c-black);--fg:var(--c-white);--fg-muted:var(--c-gray-400);--line:#ffffff1f;--accent-text:var(--c-red-soft);background:var(--bg);color:var(--fg)}.surface-ink{--bg:var(--c-ink);--fg:var(--c-white);--fg-muted:var(--c-gray-400);--line:#ffffff1f;--accent-text:var(--c-red-soft);background:var(--bg);color:var(--fg)}.surface-paper{--bg:var(--c-paper);--fg:var(--c-black);--fg-muted:#5c5b57;--line:#0a0a0b24;--accent-text:var(--c-red-ink);background:var(--bg);color:var(--fg)}.surface-light{--bg:var(--c-white);--fg:var(--c-black);--fg-muted:#5c5b57;--line:#0a0a0b1f;--accent-text:var(--c-red-ink);background:var(--bg);color:var(--fg)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--header-h);background:var(--c-black)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100svh;font-family:var(--font-sans);font-size:var(--fs-body);font-optical-sizing:auto;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.6;overflow-x:clip}body.is-locked{overflow:hidden}img,picture,svg,video{max-width:100%;display:block}img{height:auto}h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}::selection{background:var(--c-red);color:var(--c-white)}:focus-visible{outline:2px solid var(--c-red);outline-offset:3px;border-radius:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:200;background:var(--c-red);color:var(--c-white);border-radius:var(--radius);transition:transform var(--dur-fast) var(--ease-out);padding:.75rem 1.1rem;font-weight:600;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.container{width:100%;max-width:var(--max-w);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y);position:relative}.mono{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;line-height:1.4}.muted{color:var(--fg-muted)}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--fg-muted);align-items:center;gap:.75rem;display:inline-flex}.eyebrow__index{color:var(--accent-text)}.eyebrow:after{content:"";opacity:.5;background:currentColor;width:2.5rem;height:1px}.h2{font-size:var(--fs-h2);letter-spacing:var(--tracking-display);text-wrap:balance;font-weight:600;line-height:.92}.lead{font-size:var(--fs-lead);letter-spacing:-.02em;text-wrap:pretty;line-height:1.3}.red-dot{color:var(--c-red)}.line-mask{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.line-mask>span{display:block}.btn{--btn-bg:var(--fg);--btn-fg:var(--bg);min-height:var(--tap);background:var(--btn-bg);color:var(--btn-fg);letter-spacing:-.01em;isolation:isolate;white-space:nowrap;transition:color var(--dur) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.85rem 1.4rem;font-size:.95rem;font-weight:550;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--c-red);border-radius:inherit;transition:transform var(--dur) var(--ease-out);position:absolute;inset:0;transform:translateY(101%)}.btn:hover:before,.btn:focus-visible:before{transform:translateY(0)}.btn:hover,.btn:focus-visible{color:var(--c-white)}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}.btn__icon{width:1.05em;height:1.05em;transition:transform var(--dur) var(--ease-out)}.btn:hover .btn__icon--diag,.btn:focus-visible .btn__icon--diag{transform:translate(2px,-2px)}.btn:hover .btn__icon--right,.btn:focus-visible .btn__icon--right{transform:translate(3px)}.btn:hover .btn__icon--down,.btn:focus-visible .btn__icon--down{transform:translateY(3px)}.link-line{transition:background-size var(--dur) var(--ease-out), color var(--dur-fast);background:linear-gradient(currentColor,currentColor) 0 100%/0% 1px no-repeat;align-items:center;gap:.4em;padding-block:.15em;display:inline-flex;position:relative}.link-line:hover,.link-line:focus-visible{background-size:100% 1px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-boot{background:var(--c-paper);min-height:100svh}.lang{box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;padding:3px;display:inline-flex}.lang__btn{min-width:2.5rem;height:2.25rem;font-family:var(--font-mono);letter-spacing:.06em;color:var(--fg-muted);transition:color var(--dur-fast);border-radius:999px;place-items:center;padding-inline:.55rem;font-size:.72rem;display:grid;position:relative}.lang__btn:hover{color:var(--fg)}.lang__btn.is-active{color:var(--bg)}.lang__pill{border-radius:inherit;background:var(--fg);position:absolute;inset:0}.lang__label{position:relative}.lang--lg .lang__btn{min-width:3.5rem;height:var(--tap);font-size:.85rem}.social{gap:.5rem;display:flex}.social--icons .social__link{width:var(--tap);height:var(--tap);box-shadow:inset 0 0 0 1px var(--line);transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out), box-shadow var(--dur);border-radius:50%;place-items:center;display:grid}.social--icons .social__link:hover,.social--icons .social__link:focus-visible{background:var(--c-red);color:var(--c-white);box-shadow:inset 0 0 0 1px var(--c-red)}.social--list{flex-direction:column;gap:.2rem}.social--list .social__link{min-height:2.25rem;transition:color var(--dur-fast);align-items:center;gap:.65rem;display:inline-flex}.social--list .social__link:hover,.social--list .social__link:focus-visible{color:var(--accent-text)}.mmenu{z-index:90;padding:calc(var(--header-h) + 2.5rem) var(--gutter) max(2rem, env(safe-area-inset-bottom));overscroll-behavior:contain;flex-direction:column;justify-content:space-between;gap:2rem;display:flex;position:fixed;inset:0;overflow-y:auto}.mmenu__nav ol{flex-direction:column;gap:.15rem;display:flex}.mmenu__link{letter-spacing:var(--tracking-display);transition:color var(--dur-fast);align-items:baseline;gap:.9rem;padding-block:.15rem;font-size:clamp(2.6rem,11vw,4.5rem);font-weight:600;line-height:1.02;display:flex}.mmenu__link:hover,.mmenu__link:focus-visible{color:var(--c-red)}.mmenu__index{color:var(--accent-text);transform:translateY(-.9em)}.mmenu__foot{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:1.25rem;padding-top:1.5rem;display:flex}.mmenu__email{font-size:1.05rem}.header{--bg:var(--c-black);--fg:var(--c-white);--fg-muted:var(--c-gray-400);--line:#ffffff29;z-index:100;padding:.75rem var(--gutter);color:var(--fg);transition:transform .52s var(--ease-out);pointer-events:none;position:fixed;inset:0 0 auto}.header.is-hidden{transform:translateY(-110%)}.header__inner{pointer-events:auto;max-width:calc(var(--max-w) - 2 * var(--gutter));height:3.5rem;transition:background .42s var(--ease-out), box-shadow .42s var(--ease-out), backdrop-filter .42s;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;margin-inline:auto;padding:0 .4rem 0 .9rem;display:flex}.header.is-scrolled .header__inner,.header.is-open .header__inner{-webkit-backdrop-filter:blur(14px)saturate(140%);background:#0e0e10b8;box-shadow:inset 0 0 0 1px #ffffff14}.header__brand{min-height:var(--tap);letter-spacing:-.02em;align-items:center;gap:.7rem;font-weight:600;display:inline-flex}.header__mark{width:2.3rem;height:2.3rem;box-shadow:inset 0 0 0 1px var(--line);letter-spacing:-.03em;white-space:nowrap;transition:background var(--dur) var(--ease-out), color var(--dur);border-radius:50%;justify-content:center;align-items:center;font-size:.74rem;line-height:1;display:inline-flex}.header__brand:hover .header__mark{background:var(--fg);color:var(--bg)}.header__name{font-size:.95rem}.header__nav{display:none}.header__nav ul{gap:.25rem;display:flex}.header__link{min-height:var(--tap);color:var(--fg-muted);transition:color var(--dur-fast);align-items:center;padding-inline:.9rem;font-size:.9rem;display:inline-flex;position:relative}.header__link:hover,.header__link[aria-current]{color:var(--fg)}.header__indicator{background:var(--c-red);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:6px;left:50%}.header__actions{align-items:center;gap:.5rem;display:flex}.header__lang{display:none}.header__cta{min-height:2.6rem;padding:.55rem 1.15rem;font-size:.875rem;display:none}.header__burger{min-height:var(--tap);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:.7rem;padding:0 .6rem 0 1rem;display:inline-flex}.header__burger-label{text-align:right;min-width:2.6em}.header__burger-lines{background:var(--fg);border-radius:50%;width:2rem;height:2rem;position:relative}.header__burger-lines i{background:var(--bg);width:12px;height:1.5px;transition:transform .42s var(--ease-out), top .42s var(--ease-out);margin-left:-6px;position:absolute;left:50%}.header__burger-lines i:first-child{top:calc(50% - 3px)}.header__burger-lines i:last-child{top:calc(50% + 2px)}.header.is-open .header__burger-lines i:first-child{top:calc(50% - .75px);transform:rotate(45deg)}.header.is-open .header__burger-lines i:last-child{top:calc(50% - .75px);transform:rotate(-45deg)}@media (min-width:600px){.header__lang{display:block}}@media (min-width:1024px){.header{padding-top:1rem}.header__nav{display:block}.header__cta{display:inline-flex}.header__burger{display:none}}.footer{padding-top:clamp(4rem,3rem + 4vw,7rem);padding-bottom:max(1.5rem, env(safe-area-inset-bottom));border-top:1px solid var(--line)}.footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 2rem;display:grid}.footer__col--lead,.footer__col:last-child{grid-column:1/-1}.footer__statement{font-size:var(--fs-lead);letter-spacing:-.02em;margin-bottom:.4rem;line-height:1.2}.footer__label{margin-bottom:.9rem;font-weight:400}.footer__col ul{flex-direction:column;gap:.2rem;display:flex}.footer__link{word-break:break-word;min-height:2.25rem}.footer__wordmark{letter-spacing:var(--tracking-display);white-space:nowrap;color:#0000;-webkit-text-stroke:1px #ffffff38;-webkit-user-select:none;user-select:none;margin-top:clamp(3rem,2rem + 5vw,7rem);font-size:clamp(3rem,.5rem + 12.4vw,14.5rem);font-weight:600;line-height:.82}.footer__wordmark .red-dot{color:var(--c-red);-webkit-text-stroke:0}.footer__bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.25rem;display:flex}.footer__top{min-height:var(--tap);transition:color var(--dur-fast);align-items:center;gap:.5rem;display:inline-flex}.footer__top:hover{color:var(--accent-text)}@media (min-width:900px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1.4fr}.footer__col--lead,.footer__col:last-child{grid-column:auto}}.hero{position:relative;overflow:clip}.hero__inner{min-height:100svh;padding-top:calc(var(--header-h) + 1.5rem);flex-direction:column;padding-bottom:2rem;display:flex}.hero__meta{color:var(--fg-muted);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-bottom:1.25rem;display:flex}.hero__where{gap:1.25rem;display:inline-flex}.hero__time{color:var(--fg);font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;display:inline-flex}.hero__pulse{background:var(--c-red);width:6px;height:6px;animation:hero-pulse 2.4s var(--ease-in-out) infinite;border-radius:50%}@keyframes hero-pulse{0%,to{opacity:1}50%{opacity:.25}}.hero__photo{will-change:transform;margin-top:1.5rem;position:relative}.hero__photo-frame{aspect-ratio:4/5;border-radius:var(--radius);background:#0d0d0e;width:100%;max-height:62svh;position:relative;overflow:hidden}.hero__photo-frame:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0a0a0bd9);height:45%;position:absolute;inset:auto 0 0}.hero__photo-img,.hero__photo-img picture,.hero__photo-img img{width:100%;height:100%}.hero__photo-img img{object-fit:cover;object-position:50% 18%;filter:grayscale(.12)contrast(1.04)}.hero__name-wrap{z-index:2;will-change:transform;margin-top:-.62em;font-size:clamp(4.5rem,1rem + 19vw,9rem);position:relative}.hero__name{letter-spacing:var(--tracking-display);font-size:1em;font-weight:620;line-height:.84}.hero__name-last{padding-left:.38em}.hero__copy{max-width:34rem;margin-top:2rem}.hero__tagline{font-size:var(--fs-lead);letter-spacing:-.025em;text-wrap:balance;line-height:1.2}.hero__intro{max-width:28rem;font-size:var(--fs-small);margin-top:.9rem;line-height:1.6}.hero__ctas{flex-wrap:wrap;gap:.6rem;margin-top:1.75rem;display:flex}.hero__scroll{color:var(--fg-muted);transition:color var(--dur-fast);align-items:center;gap:.75rem;display:none}.hero__scroll:hover{color:var(--fg)}.hero__scroll-track{background:var(--line);width:1px;height:3.5rem;position:relative;overflow:hidden}.hero__scroll-track i{background:var(--c-red);animation:hero-scroll 2.2s var(--ease-in-out) infinite;position:absolute;inset:0}@keyframes hero-scroll{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}@media (max-width:1023px){.hero__scroll{min-height:var(--tap);flex-direction:row;align-self:flex-start;margin-top:2.5rem;display:inline-flex}.hero__scroll-track{width:3rem;height:1px}.hero__scroll-track i{animation-name:hero-scroll-x}@keyframes hero-scroll-x{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}}@media (min-width:600px) and (max-width:1023px){.hero__photo-frame{aspect-ratio:4/4.2}}@media (min-width:1024px){.hero__inner{padding-top:calc(var(--header-h) + 2.25rem);grid-template-rows:auto 1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:1.5rem;padding-bottom:2.5rem;display:grid}.hero__meta{grid-area:1/1/auto/-1}.hero__photo{grid-area:2/7/4/11;align-self:stretch;min-height:0;margin-top:2rem}.hero__photo-frame{aspect-ratio:auto;height:100%;min-height:26rem;max-height:none}.hero__copy{grid-area:2/1/auto/6;align-self:center;margin-top:2rem}.hero__name-wrap{pointer-events:none;grid-area:3/1/auto/-1;margin-top:0;font-size:clamp(8rem,15.6vw,17rem)}.hero__name-last{padding-left:.62em}.hero__scroll{writing-mode:vertical-rl;flex-direction:column;grid-area:2/12;place-self:center end;padding-block:1rem;display:inline-flex}.hero__scroll svg{writing-mode:horizontal-tb}}@media (min-width:1024px) and (max-height:760px){.hero__name-wrap{font-size:clamp(7rem,12.5vw,13rem)}}.browser{--frame:#161618;background:var(--frame);border-radius:10px;width:100%;padding:0 4px 4px;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,0 40px 80px -30px #0000008c}.browser__bar{align-items:center;gap:1rem;height:30px;padding-inline:10px;display:flex}.browser__dots{gap:6px;display:flex}.browser__dots i{background:#3a3a3e;border-radius:50%;width:9px;height:9px}.browser__dots i:first-child{background:var(--c-red)}.browser__url{color:#8d8c87;max-width:340px;font-family:var(--font-mono);text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#222225;border-radius:6px;flex:1;margin-inline:auto;padding:3px 10px;font-size:10.5px;overflow:hidden;transform:translate(-28px)}.browser__screen{aspect-ratio:16/10;background:#222;border-radius:6px;overflow:hidden}.browser__screen img{object-fit:cover;object-position:top center;width:100%;height:100%}@media (max-width:599px){.browser{border-radius:7px;padding:0 3px 3px}.browser__bar{height:20px;padding-inline:7px}.browser__dots i{width:6px;height:6px}.browser__url{display:none}}.phone{aspect-ratio:1170/2532;background:#121214;border-radius:15%/7%;width:100%;padding:3.2%;position:relative;box-shadow:inset 0 0 0 1px #ffffff14,0 30px 70px -20px #0009}.phone__screen{background:#222;border-radius:12%/5.6%;width:100%;height:100%;overflow:hidden}.phone__screen picture,.phone__screen img{object-fit:cover;object-position:top;width:100%;height:100%}.pf+.pf{margin-top:clamp(5rem,3rem + 8vw,12rem)}.pf__top{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.pf__index{color:var(--fg);white-space:nowrap}.pf__category{text-align:right}.pf__grid{gap:2rem;display:grid}.pf__stage{aspect-ratio:4/3.6;border-radius:var(--radius);background:radial-gradient(120% 90% at 20% 0%, color-mix(in oklab, var(--accent) 70%, white 12%), transparent 70%), var(--accent);isolation:isolate;display:block;position:relative;overflow:hidden}.pf__stage.has-cursor{cursor:none}.pf__stage-grain{z-index:-1;opacity:.35;background-image:radial-gradient(#ffffff14 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0}.pf__browser{width:84%;transition:transform .9s var(--ease-out);will-change:transform;position:absolute;top:9%;left:6%}.pf__phone{will-change:transform;width:27%;position:absolute;bottom:-12%;right:6%}.pf__stage:hover .pf__browser>figure{transform:scale(1.015)}.pf__browser>figure{transition:transform .9s var(--ease-out)}.pf__cursor{z-index:5;background:var(--c-red);width:6.5rem;height:6.5rem;color:var(--c-white);text-align:center;pointer-events:none;border-radius:50%;place-items:center;margin:-3.25rem 0 0 -3.25rem;padding:.75rem;font-size:.82rem;font-weight:550;line-height:1.1;display:grid;position:absolute;top:0;left:0}.pf__title{letter-spacing:var(--tracking-display);font-size:clamp(3rem,1.4rem + 7vw,7.5rem);font-weight:600;line-height:.9}.pf__title-link{transition:color var(--dur) var(--ease-out);display:inline-block}.pf__title-link:hover{color:var(--accent-text)}.pf__summary{max-width:34rem;font-size:var(--fs-lead);letter-spacing:-.02em;text-wrap:pretty;margin-top:1.25rem;line-height:1.3}.pf__meta{border-top:1px solid var(--line);gap:1rem;margin-top:2rem;padding-top:1.5rem;display:grid}.pf__meta>div{grid-template-columns:8.5rem minmax(0,1fr);align-items:baseline;gap:1rem;display:grid}.pf__meta dd{font-size:var(--fs-small)}.pf__tech{flex-wrap:wrap;gap:.4rem;display:flex}.pf__tech li{box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;padding:.2rem .65rem;font-size:.8rem}.pf__actions{flex-wrap:wrap;gap:.6rem;margin-top:2rem;display:flex}@media (max-width:479px){.pf__meta>div{grid-template-columns:1fr;gap:.35rem}.pf__phone{width:30%;bottom:-16%}.pf__browser{width:88%;top:7%;left:5%}}@media (min-width:600px) and (max-width:1023px){.pf__stage{aspect-ratio:16/11}.pf__phone{width:22%}}@media (min-width:1024px){.pf__grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:1.5rem}.pf__stage-wrap{grid-column:1/9}.pf__info{grid-column:9/-1;padding-left:1rem}.pf--reversed .pf__stage-wrap{grid-area:1/5/auto/-1}.pf--reversed .pf__info{grid-area:1/1/auto/5;padding-left:0;padding-right:1rem}.pf__stage{aspect-ratio:16/11.5}.pf__phone{width:21%;right:5%}.pf__title{font-size:clamp(3.5rem,.5rem + 5.4vw,7rem)}.pf__meta>div{grid-template-columns:1fr;gap:.3rem}}@media (min-width:1024px) and (max-width:1279px){.pf__stage-wrap{grid-column:1/8}.pf__info{grid-column:8/-1}.pf--reversed .pf__stage-wrap{grid-column:6/-1}.pf--reversed .pf__info{grid-column:1/6}.pf__summary{font-size:1.2rem}}.shead{flex-direction:column;gap:1.75rem;margin-bottom:clamp(3rem,2rem + 4vw,6.5rem);display:flex}.shead__row{align-items:end;gap:1.5rem;display:grid}.shead__aside{max-width:30rem;color:var(--fg-muted)}@media (min-width:1024px){.shead__row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:3rem}.shead__aside{justify-self:end;padding-bottom:.6rem}}.projects__count{font-family:var(--font-mono);letter-spacing:0;vertical-align:top;color:var(--accent-text);margin-left:.15em;font-size:.16em;font-weight:400;position:relative;top:.6em}.projects__skeleton{aspect-ratio:16/10;border-radius:var(--radius);background:linear-gradient(100deg, var(--c-gray-100) 30%, var(--c-paper) 50%, var(--c-gray-100) 70%) 0 0 / 300% 100%;animation:1.6s linear infinite skeleton}@keyframes skeleton{to{background-position:-150% 0}}.about__grid{gap:3rem;display:grid}.about__photo{aspect-ratio:4/5;border-radius:var(--radius);background:var(--c-black);position:relative;overflow:hidden}.about__photo-img{position:absolute;inset:-10% 0}.about__photo-img picture,.about__photo-img img{width:100%;height:100%}.about__photo-img img{object-fit:cover;object-position:50% 30%;filter:grayscale()contrast(1.08);transition:filter 1.2s var(--ease-out)}.about__photo:hover .about__photo-img img{filter:grayscale(0)contrast(1.02)}.about__caption{justify-content:space-between;gap:1rem;margin-top:.9rem;display:flex}.about__title{max-width:12ch;margin-top:1.75rem}.about__text{gap:1.1rem;max-width:40rem;margin-top:2.5rem;display:grid}.about__text p:not(.lead){color:var(--fg-muted)}.about__quote{border-top:1px solid var(--line);max-width:40rem;margin-top:3rem;padding-top:1.5rem}.about__quote blockquote{letter-spacing:var(--tracking-tight);text-wrap:balance;margin:.9rem 0 0;font-size:clamp(1.6rem,1.1rem + 2vw,2.75rem);font-weight:500;line-height:1.12}.about__qmark{color:var(--c-red);margin-right:.05em}.about__facts{max-width:40rem;margin-top:3rem;display:grid}.about__facts>div{border-top:1px solid var(--line);gap:.35rem;padding-block:1.1rem;display:grid}.about__facts>div:last-child{border-bottom:1px solid var(--line)}.about__facts dd{flex-direction:column;gap:.2rem;display:flex}.about__facts strong{font-weight:550}.about__badge{background:var(--c-black);color:var(--c-white);vertical-align:middle;border-radius:999px;margin-left:.4rem;padding:.12rem .5rem;font-size:.65rem;display:inline-block}@media (min-width:600px){.about__facts>div{grid-template-columns:10rem minmax(0,1fr);gap:1.5rem}}@media (min-width:1024px){.about__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem}.about__media{top:calc(var(--header-h) + 2rem);grid-column:1/5;align-self:start;position:sticky}.about__content{grid-column:6/-1}}.xp{padding-left:1.75rem;position:relative}.xp__list{margin:0}.xp__rail{background:var(--line);width:1px;position:absolute;top:.5rem;bottom:.5rem;left:0}.xp__rail-fill{background:var(--c-red);transform-origin:top;position:absolute;inset:0}.xp__item{border-top:1px solid var(--line);gap:.9rem;padding-block:2.25rem;display:grid;position:relative}.xp__item:last-child{border-bottom:1px solid var(--line)}.xp__node{background:var(--bg);width:9px;height:9px;box-shadow:inset 0 0 0 1.5px var(--c-red);border-radius:50%;position:absolute;top:2.65rem;left:calc(-1.75rem - 4px)}.xp__when{color:var(--fg-muted);flex-wrap:wrap;gap:.4rem 1.25rem;display:flex}.xp__index{color:var(--accent-text)}.xp__periods{flex-wrap:wrap;gap:.3rem 1rem;display:flex}.xp__name{letter-spacing:var(--tracking-display);text-wrap:balance;font-size:clamp(2rem,1.2rem + 3.4vw,4.25rem);font-weight:600;line-height:.98}.xp__area{font-weight:500}.xp__desc{max-width:34rem;font-size:var(--fs-small);margin-top:.4rem}.xp__link{min-height:var(--tap);color:var(--fg);margin-top:1rem}.xp__link:hover{color:var(--accent-text)}@media (min-width:1024px){.xp{padding-left:0}.xp__rail{left:calc(25% - .75rem)}.xp__item{grid-template-columns:25% minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:2rem;padding-block:3rem}.xp__node{top:3.45rem;left:calc(25% - .75rem - 4px)}.xp__when{flex-direction:column;padding-right:2rem}.xp__periods{flex-direction:column}}.stack__band{border-block:1px solid var(--line);padding-block:1.1rem;overflow:hidden}.stack__marquee{width:max-content;animation:38s linear infinite marquee;display:flex}.stack__marquee ul{flex-shrink:0;display:flex}.stack__marquee li{letter-spacing:var(--tracking-tight);white-space:nowrap;align-items:center;gap:1.75rem;padding-right:1.75rem;font-size:clamp(1.5rem,1rem + 2vw,2.75rem);font-weight:550;display:flex}.stack__marquee .red-dot{font-size:.5em}@keyframes marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.stack__marquee{animation:none}}.stack__groups{gap:3rem;display:grid}.stack__label{border-bottom:1px solid var(--line);color:var(--fg-muted);gap:.6rem;margin-bottom:.5rem;padding-bottom:1rem;font-weight:400;display:flex}.stack__list{flex-direction:column;display:flex}.stack__item{letter-spacing:var(--tracking-tight);border-bottom:1px solid var(--line);transition:color var(--dur) var(--ease-out), padding-left var(--dur) var(--ease-out);padding-block:.55rem;font-size:clamp(1.6rem,1.1rem + 1.9vw,2.9rem);font-weight:560;line-height:1.1;position:relative}.stack__item:before{content:"";background:var(--c-red);width:.4rem;height:.4rem;transition:transform var(--dur) var(--ease-out);border-radius:50%;margin-top:-.2rem;position:absolute;top:50%;left:0;transform:scale(0)}@media (hover:hover){.stack__item:hover{padding-left:1.1rem}.stack__item:hover:before{transform:scale(1)}}@media (min-width:1024px){.stack__groups{grid-template-columns:1.3fr 1fr 1.3fr;gap:2rem}}.cform,.cform__row{gap:1.75rem;display:grid}.cform__field{border:0;gap:.6rem;min-width:0;margin:0;padding:0;display:grid;position:relative}.cform__field label,.cform__field legend{color:var(--fg-muted);padding:0}.cform input[type=text],.cform input[type=email],.cform textarea{border:0;border-bottom:1px solid var(--line);letter-spacing:-.01em;width:100%;min-height:3.1rem;transition:border-color var(--dur-fast);appearance:none;background:0 0;border-radius:0;padding:.6rem 0;font-size:1.125rem}.cform textarea{resize:vertical;min-height:8rem;line-height:1.5}.cform input::placeholder,.cform textarea::placeholder{color:#ffffff52}.cform input:hover,.cform textarea:hover{border-bottom-color:#ffffff52}.cform input:focus,.cform textarea:focus{border-bottom-color:var(--fg);outline:none}.cform input:focus-visible,.cform textarea:focus-visible{box-shadow:0 1px 0 0 var(--fg)}.cform__field.has-error input,.cform__field.has-error textarea{border-bottom-color:var(--c-red)}.cform__err{color:var(--accent-text);font-size:.85rem}.cform__count{font-size:.68rem;position:absolute;top:0;right:0}.cform__chips{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.cform__chip{cursor:pointer;position:relative}.cform__chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.cform__chip span{min-height:var(--tap);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg-muted);transition:background var(--dur) var(--ease-out), color var(--dur), box-shadow var(--dur);border-radius:999px;align-items:center;padding:.55rem 1.05rem;font-size:.9rem;display:inline-flex}.cform__chip:hover span{color:var(--fg);box-shadow:inset 0 0 0 1px #fff6}.cform__chip input:checked+span{background:var(--fg);color:var(--bg);box-shadow:none}.cform__chip input:focus-visible+span{outline:2px solid var(--c-red);outline-offset:3px}.cform__types.has-error .cform__chip span{box-shadow:inset 0 0 0 1px #e8322c99}.cform__hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.cform__submit-row{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;display:flex}.cform__submit{min-height:3.4rem;padding-inline:1.8rem}.cform__submit:disabled{cursor:progress;opacity:.8}.cform__spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cform__privacy{font-size:.68rem}.cform__live{min-height:1.5rem}.cform__status{border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.4rem;padding:.9rem 1.1rem;font-size:.95rem;display:flex}.cform__status.is-ok{color:var(--fg);background:#ffffff0f}.cform__status.is-ok svg{color:var(--c-red-soft)}.cform__status.is-error{color:var(--fg);background:#e8322c1f}@media (min-width:640px){.cform__row{grid-template-columns:1fr 1fr}}.contact{overflow:clip}.contact__title{letter-spacing:var(--tracking-display);margin-top:2rem;font-size:clamp(3rem,.6rem + 10.2vw,12.5rem);font-weight:620;line-height:.9}.contact__title-2{color:var(--c-gray-500)}.contact__grid{border-top:1px solid var(--line);gap:3.5rem;margin-top:clamp(3rem,2rem + 5vw,7rem);padding-top:2.5rem;display:grid}.contact__intro{max-width:26rem}.contact__direct,.contact__social{margin-top:2.5rem}.contact__direct>p,.contact__social>p{margin-bottom:.75rem}.contact__email-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.contact__email{letter-spacing:-.02em;word-break:break-all;transition:color var(--dur-fast);align-items:center;gap:.35rem;font-size:clamp(1.15rem,.9rem + 1.1vw,1.75rem);display:inline-flex}.contact__email svg{width:1em;height:1em;transition:transform var(--dur) var(--ease-out);flex-shrink:0}.contact__email:hover{color:var(--c-red-soft)}.contact__email:hover svg{transform:translate(3px,-3px)}.contact__copy{width:var(--tap);height:var(--tap);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg-muted);transition:color var(--dur-fast), box-shadow var(--dur-fast);border-radius:50%;place-items:center;display:grid}.contact__copy:hover{color:var(--fg);box-shadow:inset 0 0 0 1px #fff6}@media (min-width:1024px){.contact__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem}.contact__aside{grid-column:1/5}.contact__form{grid-column:6/-1}}.pd-loading{min-height:100svh}.pd-hero{--fg:var(--c-white);--fg-muted:#ffffffb8;--line:#ffffff38;padding-top:calc(var(--header-h) + 3rem);background:radial-gradient(100% 120% at 85% 0%, color-mix(in oklab, var(--accent) 80%, white 14%), transparent 65%), var(--accent);color:var(--fg);padding-bottom:clamp(9rem,6rem + 14vw,22rem);position:relative}.pd-hero.is-light{--fg:var(--c-black);--fg-muted:#0a0a0bb3;--line:#0a0a0b33}.pd-hero__back{min-height:var(--tap);color:var(--fg-muted);transition:color var(--dur-fast), gap var(--dur) var(--ease-out);align-items:center;gap:.5rem;display:inline-flex}.pd-hero__back:hover{color:var(--fg);gap:.8rem}.pd-hero__kicker{border-bottom:1px solid var(--line);color:var(--fg-muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin-top:2.5rem;padding-bottom:1rem;display:flex}.pd-hero__title{letter-spacing:var(--tracking-display);margin-top:1.5rem;font-size:clamp(3.75rem,.5rem + 15vw,15rem);font-weight:620;line-height:.88}.pd-hero__bottom{gap:2rem;margin-top:2.5rem;display:grid}.pd-hero__summary{max-width:36rem;font-size:var(--fs-lead);letter-spacing:-.02em;line-height:1.3}.pd-hero__meta{gap:1rem;display:grid}.pd-hero__meta dt{color:var(--fg-muted);margin-bottom:.25rem}.pd-hero__meta dd{font-size:var(--fs-small)}@media (min-width:1024px){.pd-hero__bottom{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;gap:4rem}}.pd-showcase{z-index:2;background:linear-gradient(to bottom, transparent 55%, var(--c-paper) 55%);margin-top:calc(-1*clamp(7rem,4.5rem + 12vw,19rem));position:relative}.pd-body__grid{gap:3.5rem;display:grid}.pd-body__desc{letter-spacing:-.025em;text-wrap:pretty;margin-top:1.5rem;font-size:clamp(1.35rem,1.05rem + 1.25vw,2.1rem);line-height:1.28}.pd-list{margin-top:1.25rem}.pd-list li{border-top:1px solid var(--line);gap:1rem;padding-block:.85rem;display:flex}.pd-list li:last-child{border-bottom:1px solid var(--line)}.pd-list:not(.pd-list--numbered) li:before{content:"";background:var(--c-red);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:.65em}.pd-list__n{min-width:1.8rem;color:var(--accent-text);flex-shrink:0;padding-top:.25em}@media (min-width:1024px){.pd-body__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:5rem 1.5rem}.pd-body__intro{grid-column:1/10}.pd-body__col:nth-of-type(2){grid-column:1/7}.pd-body__col:nth-of-type(3){grid-column:8/-1}}.pd-views{padding-block:var(--section-y)}.pd-views__stage{align-items:center;gap:3rem;display:grid}.pd-views__phone{width:min(68%,340px);margin-inline:auto}.pd-views__note{justify-items:start;gap:1rem;display:grid}.pd-gallery{gap:1.5rem;margin-top:4rem;display:grid}.pd-gallery__item img{border-radius:var(--radius);width:100%}@media (min-width:768px){.pd-views__stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem}.pd-views__phone{width:min(70%,380px)}.pd-gallery{grid-template-columns:1fr 1fr}}.pd-next__link{gap:1rem;padding-block:clamp(4rem,3rem + 6vw,9rem);display:grid}.pd-next__title{letter-spacing:var(--tracking-display);transition:color var(--dur) var(--ease-out);justify-content:space-between;align-items:center;gap:1rem;font-size:clamp(3rem,1rem + 9vw,10rem);font-weight:620;line-height:.9;display:flex}.pd-next__arrow{stroke-width:1.5px;width:.5em;height:.5em;transition:transform var(--dur) var(--ease-out);flex-shrink:0}.pd-next__link:hover .pd-next__title{color:var(--c-red)}.pd-next__link:hover .pd-next__arrow{transform:translate(.15em)}
