@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-ext-wght-normal-okcGN4Nq.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-cyrillic-wght-normal-BS41q_Tv.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-ext-wght-normal-DQgQPNk4.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-greek-wght-normal-sS1B39LI.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-vietnamese-wght-normal-TKKdAiBA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-ext-wght-normal-B4u9PlvR.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Tight Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-tight-latin-wght-normal-DX-nOvPD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #f4f1e8;--paper-bright: #faf8f2;--ink: #252529;--muted: #626167;--line: rgba(37, 37, 41, .2);--accent: #354c7d;--gutter: clamp(1.25rem, 3.55vw, 3.5rem);--display: "Inter Tight Variable", "Arial Narrow", Arial, sans-serif;--sans: "Inter Variable", Inter, Arial, sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;min-width:0;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,video:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:active,.primary-link:active{transform:translateY(1px)}section[id]{scroll-margin-top:1.5rem}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:20;padding:.8rem 1rem;color:var(--paper-bright);background:var(--accent)}.skip-link:focus{top:1rem}.site-header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;height:5rem;padding-inline:var(--gutter)}.site-header a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none}.wordmark{font-size:.75rem;font-weight:600;letter-spacing:-.02em}.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2.6vw,3rem)}.site-header nav a{gap:.3rem;font-size:.875rem}.site-header nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.4rem}.hero{position:relative;display:grid;grid-template-columns:49% 51%;min-height:36rem;border-bottom:1px solid var(--line);background:url(/assets/hero-paper-bg.png) center / cover}.hero-copy{position:relative;z-index:1;min-width:0;padding:clamp(2.5rem,4vw,4.5rem) 1.5rem 3.5rem var(--gutter)}.hero h1{margin:0 0 2rem;font-size:clamp(5rem,9.3vw,9rem);font-weight:650;font-variation-settings:"wght" 650;letter-spacing:-.075em;line-height:.87}.hero h1 span{display:block}.hero-statement{margin:0;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.25;letter-spacing:-.035em}.hero-support{margin:1rem 0 1.75rem;color:var(--muted);font-size:1rem;line-height:1.6}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:48px;padding:.8rem 0;border-bottom:1px solid currentColor;color:var(--accent);font-size:1rem;font-weight:550;text-decoration:none}.primary-link svg{flex-shrink:0}.primary-link:hover{border-bottom-width:2px;padding-bottom:calc(.8rem - 1px)}.hero-media{position:absolute;top:0;right:0;bottom:0;left:49%;display:flex;justify-content:center;align-items:end;min-width:0;overflow:hidden;pointer-events:none}.hero-media img{display:block;width:auto;max-width:100%;height:100%;object-fit:contain;object-position:center bottom;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.work-section{padding:3.5rem var(--gutter) 5rem}.section-heading{margin-bottom:2rem}.section-heading h2{margin:0;font-size:1.1rem;font-weight:550;letter-spacing:-.025em}.project-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:2rem 2.5rem;align-items:start}.project-card{min-width:0;padding:0;text-align:left;border:0;background:transparent;cursor:pointer}.project-inparalelo{grid-row:auto}.project-media{display:block;aspect-ratio:2.6;overflow:hidden;background:#d8d6cf}.project-inparalelo .project-media{aspect-ratio:1.21}.project-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.project-inparalelo .project-media img{object-position:45% 50%}.project-sepa .project-media img{object-position:50% 42%}.project-fivem .project-media img{object-position:50% 48%}@media(hover:hover){.project-card:hover .project-media img{transform:scale(1.025)}}.project-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem 1rem;padding-top:1rem}.project-caption>svg{margin-top:.1rem}.project-title{font-family:var(--display);font-size:clamp(1.3rem,2.1vw,2rem);font-weight:600;letter-spacing:-.04em;line-height:1.1}.project-inparalelo .project-title{font-size:clamp(2rem,3.1vw,3rem)}.project-type,.project-summary,.project-proof{grid-column:1 / -1;font-size:.9rem;line-height:1.5}.project-type,.project-summary{color:var(--muted)}.project-summary{max-width:36ch;margin-block:.25rem}.project-proof{color:var(--accent);font-weight:500}.project-franx .project-media{aspect-ratio:1.65;background:#ede134}.project-franx .project-caption{gap:.55rem 1rem}.project-franx .project-title{grid-column:1 / -1;font-size:clamp(2.75rem,4vw,4rem)}.project-franx .project-summary{margin:.35rem 0;max-width:46ch;color:var(--ink);font-size:clamp(1.05rem,1.3vw,1.25rem);line-height:1.45;letter-spacing:-.025em}.project-action{display:inline-flex;grid-column:1 / -1;align-items:center;justify-self:start;gap:1.5rem;margin-top:1rem;padding-bottom:.65rem;border-bottom:1px solid currentColor;color:var(--accent);font-size:.94rem;font-weight:550}.franx-cover{display:flex;flex-direction:column;height:100%;gap:clamp(1rem,2vw,2rem);padding:clamp(1.25rem,3vw,3rem);padding-bottom:0;color:#202421}.franx-cover-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem}.franx-wordmark{font-family:var(--sans);font-size:clamp(2.5rem,5vw,5rem);font-weight:750;line-height:.95;letter-spacing:-.065em}.franx-cover-label{max-width:12ch;padding-bottom:.1rem;font-size:clamp(.75rem,1.2vw,1rem);line-height:1.3;text-align:right}.franx-window{display:block;flex:1;min-height:0;overflow:hidden;border:1px solid rgba(32,36,33,.2);border-bottom:0;border-radius:.35rem .35rem 0 0;background:#f7f8f4}.project-franx .franx-window img{height:auto;object-fit:contain}@media(hover:hover){.project-franx:hover .project-media img{transform:none}.project-franx:hover .project-action{color:var(--ink)}}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);padding:5.5rem var(--gutter);border-block:1px solid var(--line)}.about-intro h2{margin:0 0 1.5rem;font-family:var(--display);font-size:clamp(2.8rem,4.5vw,5rem);font-weight:590;letter-spacing:-.055em;line-height:1}.about-intro p{max-width:44ch;margin:0;color:var(--muted);font-size:1rem;line-height:1.65}.capability-list{align-self:center}.capability-list article{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1rem;padding-block:1.1rem}.capability-list article+article{border-top:1px solid var(--line)}.capability-list h3{margin:0;font-size:1.1rem;font-weight:550;letter-spacing:-.025em}.capability-list p{margin:0;color:var(--muted);font-size:1rem;line-height:1.55}.experience-section{padding:4.5rem var(--gutter) 5rem}.experience-list{border-top:1px solid var(--line)}.experience-row{display:grid;grid-template-columns:1fr 1.35fr 1.4fr 1fr 1.25rem;align-items:center;gap:1rem;padding-block:1.7rem;border-bottom:1px solid var(--line);font-size:.94rem;line-height:1.5;text-decoration:none}.experience-row strong{font-weight:550}.experience-period,.experience-location{color:var(--muted);font-size:.875rem}a.experience-row:hover{color:var(--accent)}.closing-section{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:3rem;padding:5.5rem var(--gutter) 6rem;border-top:1px solid var(--line)}.closing-section h2{margin:0;font-family:var(--display);font-size:clamp(3rem,5.5vw,6rem);font-weight:590;line-height:1;letter-spacing:-.06em}.closing-section p{margin:1.25rem 0 0;color:var(--muted);font-size:1rem;line-height:1.5}.closing-links{display:flex;flex-direction:column;align-items:flex-start;gap:1.4rem}.closing-links .primary-link{min-width:min(100%,20rem)}.text-link{display:inline-flex;align-items:center;gap:1rem;min-height:44px;font-size:.94rem;text-decoration:underline;text-underline-offset:.3rem}.text-link svg{flex-shrink:0}.text-link:hover{color:var(--accent)}footer{display:flex;justify-content:space-between;gap:1rem;padding:1.5rem var(--gutter);border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}.project-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(.5rem,2.5vw,2rem);border:0;background:transparent;color:var(--ink);overflow:hidden}.project-dialog[open]{display:grid;place-items:center}.project-dialog::backdrop{background:#131316a6}.dialog-shell{display:flex;flex-direction:column;width:min(74rem,100%);max-height:100%;min-height:0;background:var(--paper-bright);border:1px solid var(--line)}.dialog-toolbar{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:1rem;min-height:4rem;padding:.5rem 1rem .5rem 2rem;border-bottom:1px solid var(--line)}.dialog-toolbar>span{font-size:.875rem;color:var(--muted)}.dialog-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}.dialog-close:hover{background:var(--paper)}.dialog-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(1.5rem,3vw,2.75rem);scrollbar-gutter:stable}.dialog-intro{max-width:65ch;padding-bottom:2rem}.dialog-intro h2{margin:0 0 1rem;font-family:var(--display);font-size:clamp(2.25rem,4.5vw,4.5rem);font-weight:620;letter-spacing:-.055em;line-height:1;overflow-wrap:anywhere}.dialog-lead{margin:0;font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.5}.dialog-result{margin:1rem 0 0;color:var(--accent);font-size:.94rem;font-weight:550}.dialog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start}.dialog-media{display:flex;flex-direction:column;gap:1rem;min-width:0;margin:0}.dialog-media img{display:block;width:100%;height:auto;max-height:30rem;object-fit:contain;background:#d8d6cf}.dialog-media video{display:block;width:100%;max-height:25rem;background:var(--ink)}.dialog-media figcaption{color:var(--muted);font-size:.875rem;line-height:1.5}.media-toggle{display:inline-flex;justify-content:center;align-items:center;gap:.75rem;align-self:flex-start;min-height:44px;padding:.65rem .9rem;color:var(--accent);border:1px solid var(--accent);background:transparent;cursor:pointer}.media-toggle:hover{background:var(--paper)}.dialog-copy{display:grid;gap:1.75rem}.dialog-copy h3{margin:0 0 .55rem;font-size:1rem;font-weight:600}.dialog-copy p{margin:0;color:var(--muted);font-size:1rem;line-height:1.65}.dialog-copy .text-link{margin-top:.25rem}.dialog-followup{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;margin-top:2rem}.case-details{display:grid;gap:2.75rem;margin-top:3.5rem;padding-top:2.75rem;border-top:1px solid var(--line)}.case-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2.5rem}.case-section h3{max-width:22ch;margin:0;font-family:var(--display);font-size:clamp(1.4rem,2vw,1.8rem);font-weight:590;letter-spacing:-.035em;line-height:1.2}.case-section p{max-width:64ch;margin:0;color:var(--muted);font-size:1rem;line-height:1.7}.case-section p+p{margin-top:1rem}body:has(.project-dialog[open]){overflow:hidden}@media(max-width:1100px){.dialog-layout-balanced{grid-template-columns:1fr;gap:2rem}.dialog-layout-balanced .dialog-copy,.dialog-followup p{max-width:68ch}.dialog-followup{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:1000px){.hero{grid-template-columns:52% 48%;min-height:34rem}.hero-media{left:52%}.hero h1{font-size:clamp(4.6rem,9vw,6rem)}.hero-copy{padding-top:3.5rem}.project-grid{gap:2rem}.project-inparalelo .project-media{aspect-ratio:1.05}.project-media{aspect-ratio:2.3}.about-section{gap:3rem}.capability-list article{grid-template-columns:1fr;gap:.5rem}.experience-row{grid-template-columns:1fr 1.4fr 1.4fr 1fr 1.25rem;gap:.75rem}}@media(max-width:767px){.site-header{height:4.5rem}.site-header nav{gap:.8rem}.site-header nav a{font-size:.875rem;min-width:44px;justify-content:center}.wordmark{font-size:.7rem}.hero{display:grid;grid-template-columns:1fr;min-height:0;background-size:auto 100%}.hero-copy{padding:1.75rem var(--gutter) 2rem}.hero h1{margin:0 0 1.5rem;font-size:clamp(4rem,18vw,7.5rem);letter-spacing:-.07em;line-height:.89}.hero-statement{max-width:26ch;font-size:1.45rem;line-height:1.25}.desktop-break{display:none}.hero-support{margin:.8rem 0 1.15rem;font-size:.94rem}.hero-media{position:relative;inset:auto;width:100%;height:clamp(18rem,82vw,26rem);overflow:hidden}.work-section{padding-block:2.5rem 3.5rem}.section-heading{margin-bottom:1.5rem}.project-grid{grid-template-columns:1fr;gap:2.5rem}.project-franx .project-media{aspect-ratio:1.3}.project-franx .project-caption{padding:1.25rem 0 0;gap:.5rem}.project-franx .project-title{font-size:3rem}.project-franx .project-summary{font-size:1.2rem;max-width:34ch;margin:.5rem 0}.project-action{margin-top:.5rem}.franx-cover{gap:1.25rem;padding:1.5rem 1.5rem 0}.franx-wordmark{font-size:3rem}.franx-cover-label{font-size:.8rem}.project-inparalelo{grid-row:auto}.project-media,.project-inparalelo .project-media{aspect-ratio:1.6}.project-caption{padding-top:.9rem;gap:.45rem 1rem}.project-title,.project-inparalelo .project-title{font-size:1.75rem}.project-type,.project-summary,.project-proof{font-size:.94rem}.project-summary{max-width:40ch}.about-section{grid-template-columns:1fr;gap:2rem;padding-block:3.5rem}.about-intro h2{font-size:3rem}.capability-list article{grid-template-columns:5rem minmax(0,1fr);gap:1rem}.experience-section{padding-block:3.5rem}.experience-row{grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem;padding-block:1.4rem}.experience-period{grid-column:1;margin-bottom:.25rem}.experience-row strong,.experience-row>span:not(.experience-period){grid-column:1}.experience-row svg{grid-column:2;grid-row:1 / span 4}.closing-section{grid-template-columns:1fr;gap:2rem;padding-block:3.5rem}.closing-section h2{font-size:clamp(3rem,10vw,4rem)}.closing-links{gap:1rem}.closing-links .primary-link{min-width:min(100%,20rem)}.text-link{font-size:.875rem}footer{font-size:.8rem}.dialog-toolbar{min-height:3.75rem;padding:.4rem .65rem .4rem 1.25rem}.dialog-toolbar>span{font-size:.8rem;max-width:24ch;line-height:1.4}.dialog-scroll{padding:1.5rem 1.25rem 2rem}.dialog-intro{padding-bottom:1.5rem}.dialog-intro h2{font-size:2.5rem}.dialog-layout{grid-template-columns:1fr;gap:2rem}.dialog-media img{max-height:22rem}.dialog-copy{gap:1.5rem}.dialog-followup{grid-template-columns:1fr}.case-details{gap:2rem;margin-top:2.5rem;padding-top:2rem}.case-section{grid-template-columns:1fr;gap:1rem}}@media(max-width:380px){.site-header nav{gap:.35rem}.site-header nav a:last-child{min-width:44px}.site-header nav a:last-child span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.hero h1{font-size:18vw}.capability-list article{grid-template-columns:1fr;gap:.5rem}.primary-link{gap:.75rem;font-size:.94rem}}@media(prefers-reduced-motion:no-preference){.hero-copy{animation:hero-enter .4s cubic-bezier(.2,.8,.2,1) both}@keyframes hero-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.project-card:hover .project-media img{transform:none}}
