@font-face{font-family:Alexandria;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/57696fb0c8dcfe1f-s.p.29a202atpp3ye.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Alexandria;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e7ef6f2b114b8258-s.1n_3r3e4zcd1n.woff2)format("woff2");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:Alexandria;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/aa864abbb6263c2e-s.0is27-kd6m8rq.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alexandria;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8f2ca9bed5019488-s.p.1rne3a59172go.woff2)format("woff2");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:Alexandria Fallback;src:local(Arial);ascent-override:86.13%;descent-override:22.33%;line-gap-override:0.0%;size-adjust:112.38%}.alexandria_41ff0d59-module__dlh8nG__className{font-family:Alexandria,Alexandria Fallback;font-style:normal}.alexandria_41ff0d59-module__dlh8nG__variable{--font-display:"Alexandria", "Alexandria Fallback"}
@font-face{font-family:Readex Pro;font-style:normal;font-weight:160 700;font-display:swap;src:url(../media/52acd2ded95ac6cd-s.1ybfybs3k8tn2.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Readex Pro;font-style:normal;font-weight:160 700;font-display:swap;src:url(../media/4ce61fe437b63f55-s.238a-out_b_td.woff2)format("woff2");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:Readex Pro;font-style:normal;font-weight:160 700;font-display:swap;src:url(../media/ecc51711236713ee-s.0r85y2mk2089i.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Readex Pro;font-style:normal;font-weight:160 700;font-display:swap;src:url(../media/890431f0a0104557-s.3pc31ksexexjr.woff2)format("woff2");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:Readex Pro Fallback;src:local(Arial);ascent-override:92.3%;descent-override:23.07%;line-gap-override:0.0%;size-adjust:108.34%}.readex_pro_e135c2d2-module__yNep2q__className{font-family:Readex Pro,Readex Pro Fallback;font-style:normal}.readex_pro_e135c2d2-module__yNep2q__variable{--font-body:"Readex Pro", "Readex Pro Fallback"}
@font-face{font-family:Martian Mono;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/2b232b7efa22db1c-s.2zkj-p18lgxwi.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/3bee448361125987-s.2ffn2c0h-1t7r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Martian Mono;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/564b25e5ad617bd2-s.1ns0a980vcn85.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Martian Mono;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/ee9d8ff0751135e3-s.12ukhzf-lem3a.woff2)format("woff2");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:Martian Mono;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/2b232b7efa22db1c-s.2zkj-p18lgxwi.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/3bee448361125987-s.2ffn2c0h-1t7r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Martian Mono;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/564b25e5ad617bd2-s.1ns0a980vcn85.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Martian Mono;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/ee9d8ff0751135e3-s.12ukhzf-lem3a.woff2)format("woff2");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:Martian Mono Fallback;src:local(Arial);ascent-override:63.69%;descent-override:12.74%;line-gap-override:0.0%;size-adjust:157.02%}.martian_mono_c3d78304-module__XPIQhq__className{font-family:Martian Mono,Martian Mono Fallback;font-style:normal}.martian_mono_c3d78304-module__XPIQhq__variable{--font-mono:"Martian Mono", "Martian Mono Fallback"}
:root{--ground:#f4f8f8;--ground-2:#e8f0f1;--paper:#fff;--midnight:#0b1220;--midnight-2:#111b2e;--ink:#0b1418;--ink-2:#46555b;--line:#c9d8da;--on-dark:#eaf6f7;--on-dark-2:#8fa3b5;--line-on-dark:#eaf6f724;--turq:#12d6c5;--aqua:#3cc8f0;--teal-ink:#057069;--verb-aqua:#0b7fbd;--icon-rest:#7c8e94;--display:var(--font-display), "Alexandria", system-ui, sans-serif;--body:var(--font-body), "Readex Pro", system-ui, sans-serif;--mono:var(--font-mono), "Martian Mono", ui-monospace, monospace;--track-display:-.034em;--lead-display:1.02;--lead-body:1.62;--m:8px;--frame:1360px;--gutter:clamp(16px, 4vw, 48px);--section:clamp(80px, 9vw, 136px);--ease-out:cubic-bezier(.16, 1, .3, 1);--header-h:76px}[dir=rtl]{--track-display:0;--lead-display:1.3;--lead-body:1.9}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 8px);-webkit-text-size-adjust:100%;scrollbar-color:var(--ink) var(--ground)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:var(--lead-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;caret-color:var(--teal-ink);margin:0}[dir=rtl] *{letter-spacing:0!important;text-transform:none!important;font-style:normal!important}::selection{background:var(--turq);color:var(--ink)}img,svg,video{max-width:100%;display:block}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;font-weight:700}p{text-wrap:pretty;margin:0}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1.5px}:focus-visible{outline:3px solid var(--teal-ink);outline-offset:3px}.process :focus-visible,.contact .section-head :focus-visible,.site-footer :focus-visible{outline-color:var(--turq)}.frame{width:100%;max-width:var(--frame);padding-inline:var(--gutter);margin-inline:auto}.skip{inset-inline-start:var(--gutter);clip-path:inset(50%);white-space:nowrap;background:var(--ink);color:var(--ground);z-index:20;padding:10px 16px;position:absolute;top:10px}.skip:focus{clip-path:none}.panel{border-top:1px solid var(--ink);padding-block:var(--section);position:relative}.hero,.work,.writing,.detail{background-image:linear-gradient(90deg,#0b14180e 1px,#0000 1px),linear-gradient(#0b14180e 1px,#0000 1px);background-size:calc(var(--m) * 8) calc(var(--m) * 8);background-position:top}@media (min-width:1024px) and (min-height:700px){.hero,.process,.work{min-height:calc(100svh - var(--header-h));align-content:center;display:grid}}main{position:relative}@media (min-width:1280px){main:before{content:"";top:0;bottom:0;z-index:3;pointer-events:none;background:linear-gradient(var(--teal-ink), var(--teal-ink)) center / 1.5px 100% no-repeat, repeating-linear-gradient(to bottom, var(--teal-ink) 0 1.5px, transparent 1.5px calc(var(--m) * 8)) center / 11px 100% no-repeat;opacity:.7;width:11px;position:absolute;inset-inline-start:max(18px, calc((100vw - var(--frame)) / 2 + var(--gutter) / 2 - 5px))}}.site-header{z-index:10;background:var(--ground);border-bottom:1px solid var(--ink);position:sticky;top:0}.header-row{min-height:var(--header-h);align-items:center;gap:clamp(16px,3vw,44px);display:flex}.brand{color:var(--ink);align-items:center;gap:12px;margin-inline-end:auto;text-decoration:none;display:inline-flex}.brand-mark{width:auto;height:32px}[dir=rtl] .brand-mark{height:26px}.wordmark{font-family:var(--display);letter-spacing:-.025em;font-size:1.4rem;line-height:1}.wordmark-a{font-weight:700}.wordmark-b{font-weight:400}[dir=rtl] .wordmark-b{margin-inline-start:.28em}.site-nav{font-family:var(--display);gap:clamp(18px,2.4vw,36px);font-size:1rem;font-weight:500;display:flex}.site-nav a{background:linear-gradient(var(--turq), var(--turq)) no-repeat left bottom / 0 3px;transition:background-size .35s var(--ease-out);padding-block:8px;text-decoration:none}[dir=rtl] .site-nav a{background-position:100% 100%}.site-nav a:hover{background-size:100% 3px}.lang-tile{border:2px solid var(--ink);min-height:44px;font-family:var(--display);align-items:center;padding:0 16px;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.lang-tile:hover{background:var(--ink);color:var(--ground)}.btn{min-height:60px;font-family:var(--display);cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .25s var(--ease-out), transform .2s var(--ease-out);border:2px solid #0000;border-radius:0;justify-content:center;align-items:center;padding:0 30px;font-size:1.06rem;font-weight:600;line-height:1.1;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:progress;opacity:.7}.btn-ink{background:var(--ink);color:var(--ground)}.btn-ink:hover{background:var(--midnight);box-shadow:inset 0 -5px 0 var(--turq)}.btn-outline{border-color:var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--ground)}.text-link{font-family:var(--display);color:var(--ink);border-bottom:2px solid;align-items:center;gap:12px;padding-block:6px;font-weight:600;text-decoration:none;display:inline-flex}.text-link:after{content:"";background:var(--teal-ink);clip-path:polygon(0 38%,62% 38%,62% 0,100% 50%,62% 100%,62% 62%,0 62%);width:18px;height:12px;transition:transform .3s var(--ease-out)}[dir=rtl] .text-link:after{transform:scaleX(-1)}.text-link:hover:after{transform:translate(5px)}[dir=rtl] .text-link:hover:after{transform:scaleX(-1)translate(5px)}.text-link.back:after{transform:scaleX(-1)}.text-link.back:hover:after{transform:scaleX(-1)translate(5px)}[dir=rtl] .text-link.back:after{transform:none}[dir=rtl] .text-link.back:hover:after{transform:translate(-5px)}.section-head{gap:18px;max-width:58rem;margin-bottom:clamp(40px,5vw,72px);padding-top:30px;display:grid;position:relative}.section-head:before{content:"";top:0;width:calc(var(--m) * 16 + 2px);border-top:2px solid var(--ink);background:repeating-linear-gradient(to right, var(--ink) 0 2px, transparent 2px calc(var(--m) * 8));height:8px;position:absolute;inset-inline-start:0}.section-head h2{letter-spacing:var(--track-display);font-size:clamp(2.3rem,1.3rem + 3.1vw,4.4rem);line-height:1.02}[dir=rtl] .section-head h2{line-height:1.3}.section-head p{color:var(--ink-2);max-width:46rem;font-size:1.18rem}.section-head.on-dark h2{color:var(--on-dark)}.section-head.on-dark p{color:var(--on-dark-2)}.section-head.on-dark:before{border-top-color:var(--turq);background:repeating-linear-gradient(to right, var(--turq) 0 2px, transparent 2px calc(var(--m) * 8))}.hero{border-top:0;padding-block:clamp(40px,6vw,88px)}.hero-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:40px clamp(16px,2.4vw,40px);display:grid}.hero-copy{grid-column:1/-1;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:clamp(28px,3vw,44px) clamp(16px,2.4vw,40px);display:grid}.hero h1{font-size:clamp(2.6rem,.9rem + 5.4vw,6rem);line-height:var(--lead-display);letter-spacing:var(--track-display);text-wrap:balance;grid-column:1/-1}[dir=rtl] .hero h1{font-size:clamp(2.4rem,.8rem + 4.6vw,5.2rem)}.hero-actions{flex-wrap:wrap;grid-column:1/-1;gap:12px;display:flex}.verb{color:var(--verb)}.verb-1{--verb:var(--aqua)}.verb-2{--verb:var(--turq)}.verb-3{--verb:#3b52d4}.hero-sub{color:var(--ink);grid-column:1/-1;margin-block:calc(clamp(28px,3vw,44px)/-2.5) 0;font-size:clamp(1.15rem,.95rem + .55vw,1.45rem);line-height:1.5}.hero-line{display:block}.hero-place{color:var(--verb-aqua);border-bottom:2px solid #0000;align-items:center;gap:.2em;font-weight:700;text-decoration:none;display:inline-flex}.hero-place:hover{border-bottom-color:currentColor}.hero-place svg{fill:currentColor;width:1.05em;height:1.05em}.swap{vertical-align:bottom;white-space:nowrap;color:var(--ink);margin-bottom:-4px;padding-bottom:4px;font-weight:700;display:inline-grid;overflow:clip}.swap>*{grid-area:1/1;justify-self:start}.swap-size{visibility:hidden}.swap-word{background:linear-gradient(var(--turq), var(--turq)) left bottom / 100% 3px no-repeat;padding-bottom:1px}.swap-in{animation:swap-in .55s var(--ease-out) both}.swap-out{animation:swap-out .55s var(--ease-out) both}@keyframes swap-in{0%{opacity:0;transform:translateY(-105%)}}@keyframes swap-out{to{opacity:0;transform:translateY(105%)}}@media (prefers-reduced-motion:reduce){.swap-in,.swap-out{animation-name:swap-fade;animation-duration:.3s}.swap-out{animation-direction:reverse}@keyframes swap-fade{0%{opacity:0}}}.hero{padding-block-end:calc(clamp(40px,6vw,88px) + 72px)}.hero-next{z-index:2;inset-inline-start:50%;border:2px solid var(--ink);background:var(--paper);width:56px;height:56px;color:var(--ink);transition:background-color .2s var(--ease-out), color .2s var(--ease-out);place-items:center;display:grid;position:absolute;bottom:clamp(16px,2.4vw,32px);translate:-50%}[dir=rtl] .hero-next{translate:50%}.hero-next svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:square;width:18px;height:30px;animation:hero-next 1.8s var(--ease-out) infinite}.hero-next:hover{background:var(--ink);color:var(--turq)}@keyframes hero-next{0%,to{opacity:.55;transform:translateY(-4px)}45%{opacity:1;transform:translateY(5px)}}@media (prefers-reduced-motion:reduce){.hero-next svg{animation:none}}.hero{isolation:isolate}.hero>.frame{z-index:1;pointer-events:none;position:relative}.hero-copy>*{pointer-events:auto}.hero h1{pointer-events:none}.techfield{z-index:0;position:absolute;inset:0;overflow:hidden}.techfield-grid{grid-auto-rows:64px;display:grid;position:absolute;top:0}.techfield-grid i{position:relative}.techfield-grid i:before{content:"";background-color:var(--icon-rest);-webkit-mask:var(--u) center / contain no-repeat;-webkit-mask:var(--u) center / contain no-repeat;mask:var(--u) center / contain no-repeat;opacity:.16;transition:opacity .9s var(--ease-out), background-color .9s var(--ease-out);position:absolute;inset:7px 6px 6px 7px}.techfield-grid i:hover:before{background-color:var(--b);opacity:.75;transition-duration:.16s}.process{background-color:var(--midnight);color:var(--on-dark);border-top-color:var(--midnight);background-image:linear-gradient(90deg,#eaf6f70b 1px,#0000 1px),linear-gradient(#eaf6f70b 1px,#0000 1px);background-size:calc(var(--m) * 8) calc(var(--m) * 8)}.film{grid-template-columns:minmax(0,8.6fr) minmax(0,3.4fr);align-items:stretch;gap:clamp(20px,2.6vw,40px);display:grid}.film-frame{outline:1px solid var(--line-on-dark);position:relative}.film-video{aspect-ratio:16/9;background:var(--midnight-2);object-fit:cover;width:100%;height:auto}.film-corner{pointer-events:none;width:34px;height:34px;position:absolute}.film-corner-a{top:-8px;background:linear-gradient(var(--turq), var(--turq)) left top / 100% 3px no-repeat, linear-gradient(var(--turq), var(--turq)) left top / 3px 100% no-repeat;inset-inline-start:-8px}.film-corner-b{bottom:-8px;background:linear-gradient(var(--turq), var(--turq)) right bottom / 100% 3px no-repeat, linear-gradient(var(--turq), var(--turq)) right bottom / 3px 100% no-repeat;inset-inline-end:-8px}[dir=rtl] .film-corner-a{background-position:100% 0,100% 0}[dir=rtl] .film-corner-b{background-position:0 100%,0 100%}.film-toggle{inset-inline-end:16px;border:2px solid var(--turq);cursor:pointer;background:#0b1220d1;place-items:center;width:52px;height:52px;transition:background-color .2s;display:grid;position:absolute;bottom:16px}.film-toggle svg{width:20px;height:20px;fill:var(--turq)}.film-toggle:hover{background:var(--turq)}.film-toggle:hover svg{fill:var(--midnight)}.film-stages{grid-template-rows:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.film-stages li{border-top:1px solid var(--line-on-dark);align-content:center;gap:6px;padding-block:14px;display:grid;position:relative}.film-stages li:last-child{border-bottom:1px solid var(--line-on-dark)}.stage-bar{top:-2px;background:var(--turq);transform-origin:0;height:3px;transition:transform .7s var(--ease-out);position:absolute;inset-inline:0;transform:scaleX(0)}[dir=rtl] .stage-bar{transform-origin:100%}.is-active .stage-bar{transform:scaleX(1)}.stage-name{font-family:var(--display);color:var(--on-dark-2);font-size:clamp(1.5rem,1.1rem + 1.1vw,2.3rem);font-weight:700;line-height:1.1;transition:color .4s}.is-active .stage-name{color:var(--turq)}.stage-io{color:var(--on-dark-2);font-size:.95rem;transition:color .4s}.is-active .stage-io{color:var(--aqua)}.showcase-bar{border-bottom:1px solid var(--ink);flex-wrap:wrap;align-items:center;gap:14px 28px;margin-bottom:clamp(24px,3vw,40px);padding-bottom:18px;display:flex}.showcase-tabs{margin:0;flex-wrap:wrap;gap:4px 26px;margin-inline-end:auto;padding:0;list-style:none;display:flex}.showcase-tabs button{font:inherit;font-family:var(--display);color:var(--ink-2);cursor:pointer;transition:color .2s, box-shadow .3s var(--ease-out);background:0 0;border:0;padding:8px 0;font-size:1.12rem;font-weight:600;box-shadow:inset 0 -4px #0000}.showcase-tabs button:hover{color:var(--ink)}.showcase-tabs button.is-active{color:var(--ink);box-shadow:inset 0 -4px 0 var(--turq)}.showcase-count{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:.9rem}.showcase-arrows{gap:8px;display:flex}.sq-btn{background:var(--paper);border:2px solid var(--ink);cursor:pointer;width:56px;height:56px;color:var(--ink);place-items:center;transition:background-color .2s,color .2s;display:grid}.sq-btn svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:square;width:24px;height:24px}[dir=rtl] .sq-btn svg{transform:scaleX(-1)}.sq-btn:hover{background:var(--ink);color:var(--ground)}.showcase-body{grid-template-columns:minmax(0,4.2fr) minmax(0,7.8fr);align-items:start;gap:clamp(24px,3.4vw,56px);display:grid}.project{justify-items:start;gap:16px;display:grid}.project h3{letter-spacing:-.025em;font-size:clamp(2rem,1.4rem + 1.8vw,3.1rem);line-height:1.05}.project-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:.97rem;display:flex}.project-story{max-width:34rem;font-size:1.12rem}.project-dims{gap:16px;width:min(100%,26rem);margin:4px 0 6px;display:grid}.showcase-media{padding-bottom:8px}@media (min-width:1181px){.showcase-media{top:calc(var(--header-h) + 24px);position:sticky}}.showcase-devices{position:relative}.device-browser{background:var(--paper);border:2px solid var(--ink);margin:0;margin-inline-end:clamp(48px,9%,120px)}.device-bar{border-bottom:2px solid var(--ink);align-items:center;gap:8px;height:38px;padding-inline:14px;display:flex}.device-bar span{border:2px solid var(--ink);width:11px;height:11px}.device-bar span:first-child{background:var(--turq);border-color:var(--turq)}.device-bar em{font-style:normal;font-family:var(--mono);color:var(--ink-2);margin-inline:auto;font-size:.78rem}.device-screen{background:var(--ground-2);overflow:hidden}.device-browser .device-screen{aspect-ratio:16/10}.device-screen video,.device-screen img{object-fit:cover;object-position:top center;width:100%;height:100%}.device-phone{inset-inline-end:0;background:var(--ink);border:2px solid var(--ink);width:clamp(120px,21%,210px);margin:0;padding:7px;position:absolute;bottom:-28px;box-shadow:0 24px 40px -22px #0b14188c}.device-phone .device-screen{aspect-ratio:9/19.5}.showcase-thumbs{margin-top:44px;flex-wrap:wrap;align-items:center;gap:8px;margin-inline-end:clamp(48px,9%,120px);display:flex}.showcase-thumbs button{border:2px solid var(--line);background:var(--paper);cursor:pointer;width:96px;height:60px;padding:0;transition:border-color .2s;position:relative;overflow:hidden}.showcase-thumbs button img{object-fit:cover;object-position:top;width:100%;height:100%}.showcase-thumbs button:hover{border-color:var(--ink-2)}.showcase-thumbs button.is-active{border-color:var(--ink);box-shadow:inset 0 -4px 0 var(--turq)}.thumb-play{width:22px;height:22px;fill:var(--paper);filter:drop-shadow(0 1px 3px #0b141899);margin:auto;position:absolute;inset:0}.showcase-thumbs .thumb-toggle{border-color:var(--ink);place-items:center;width:60px;display:grid}.thumb-toggle svg{width:20px;height:20px;fill:var(--ink)}.showcase-pending{color:var(--ink-2);font-size:.95rem}::view-transition-old(work-media){animation:.32s var(--ease-out) both vt-out}::view-transition-old(work-info){animation:.32s var(--ease-out) both vt-out}::view-transition-new(work-media){animation:.5s var(--ease-out) both vt-in}::view-transition-new(work-info){animation:.5s var(--ease-out) both vt-in}@keyframes vt-out{to{opacity:0;transform:translate(-24px)}}@keyframes vt-in{0%{opacity:0;transform:translate(32px)}}[dir=rtl]::view-transition-old(work-media){animation-name:vt-out-rtl}[dir=rtl]::view-transition-old(work-info){animation-name:vt-out-rtl}[dir=rtl]::view-transition-new(work-media){animation-name:vt-in-rtl}[dir=rtl]::view-transition-new(work-info){animation-name:vt-in-rtl}@keyframes vt-out-rtl{to{opacity:0;transform:translate(24px)}}@keyframes vt-in-rtl{0%{opacity:0;transform:translate(-32px)}}.plan{gap:8px;margin:4px 0 6px;display:grid}.plan figcaption{color:var(--ink-2);font-size:.9rem}.plan-parts{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.plan-parts li{font-family:var(--display);border:2px solid var(--teal-ink);color:var(--teal-ink);background:var(--paper);align-items:center;gap:7px;padding:6px 10px;font-size:.85rem;font-weight:500;line-height:1.2;display:inline-flex}.plan-parts svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:square;flex:none;width:16px;height:16px}.dim{gap:4px;display:grid}.dim dd{font-family:var(--mono);font-variant-numeric:tabular-nums;order:-1;align-items:center;gap:12px;margin:0;font-size:1.1rem;font-weight:500;display:flex}[dir=rtl] .dim dd{justify-content:flex-end}.dim dd:after{content:"";border-inline:2px solid var(--ink);background:linear-gradient(var(--ink), var(--ink)) center / 100% 1.5px no-repeat;flex:1;height:11px}[dir=rtl] .dim dd:after{order:-1}.dim dt{color:var(--ink-2);font-size:.9rem}.stamp{font-family:var(--display);color:var(--teal-ink);white-space:nowrap;border:2px solid;align-items:center;gap:8px;padding:7px 10px;font-size:.82rem;font-weight:600;line-height:1;display:inline-flex}.stamp:before{content:"";background:currentColor;width:8px;height:8px}.stamp-in-progress{color:var(--ink-2)}.stamp-in-progress:before{background:0 0;border:2px solid}.client-logo{background:var(--ink);width:150px;height:38px;-webkit-mask:var(--logo) no-repeat left center / contain;-webkit-mask:var(--logo) no-repeat left center / contain;mask:var(--logo) no-repeat left center / contain;display:block}[dir=rtl] .client-logo{-webkit-mask-position:100%;mask-position:100%}.client-logo-lg{width:180px;height:52px}.logo-name{font-family:var(--display);font-size:1.4rem;font-weight:700}.entries{border-bottom:1px solid var(--ink);margin:0;padding:0;list-style:none}.entry{border-top:1px solid var(--ink);grid-template-columns:minmax(0,3.4fr) minmax(0,5.6fr) minmax(0,3fr);align-items:start;gap:clamp(20px,3vw,48px);padding-block:clamp(28px,3.4vw,44px);display:grid;position:relative}.entry:before{content:"";inset-inline:0;background:repeating-linear-gradient(to right, var(--ink) 0 1px, transparent 1px calc(var(--m) * 8));opacity:.6;height:6px;position:absolute;top:0}.entry-plate{outline:1px solid var(--line);outline-offset:-1px;background:var(--paper);display:block}.entry-plate img{aspect-ratio:1200/630;object-fit:cover;mix-blend-mode:multiply;width:100%;height:auto}.entry-text{gap:12px;display:grid}.entry-title{letter-spacing:-.015em;font-size:clamp(1.35rem,1rem + 1vw,1.85rem);line-height:1.2}.entry-title a{text-decoration:none}.entry-title a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--turq);text-decoration-color:var(--turq);text-decoration-thickness:3px}.entry-summary{color:var(--ink-2);max-width:40rem}.entry-byline{color:var(--ink-2);gap:4px;font-size:.9rem;display:grid}.entry-author{font-family:var(--display);color:var(--ink);font-weight:600}.contact{background:var(--midnight);border-top-color:var(--midnight);position:relative}.anchor{position:absolute;top:0}.contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(24px,4vw,64px);display:grid}.contact .section-head{margin-bottom:0}.contact-direct{margin-top:18px}.contact-direct a,.form-error a{color:var(--turq);text-underline-offset:4px;font-weight:600}.form-error a{color:inherit}.footer-address{font-style:normal}.footer-address a{color:var(--on-dark-2);gap:2px;font-size:.92rem;line-height:1.5;text-decoration:none;display:grid}.footer-address a:hover{color:var(--on-dark)}.footer-email{color:var(--turq);font-weight:600;text-decoration:none}.footer-email:hover{text-underline-offset:4px;text-decoration:underline}.contact-form,.form-sent{background:var(--ground);border-top:4px solid var(--turq);gap:22px;padding:clamp(24px,3.4vw,44px);display:grid;position:relative}.form-sent p{font-family:var(--display);font-size:1.35rem;line-height:1.4}.form-sent p:focus{outline:none}.field-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.field-label{padding:0;font-size:.95rem;font-weight:500}.field-optional{color:var(--ink-2);font-weight:400}.field-hint{color:var(--ink-2);font-size:.86rem}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1.5px solid var(--ink-2);border-radius:0;min-height:52px;padding:12px 14px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px;padding-inline-end:40px}[dir=rtl] .field select{background-position:14px,20px}.field textarea{resize:vertical;min-height:132px}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--teal-ink);outline:none}.segmented{border:1.5px solid var(--ink);grid-template-columns:1fr 1fr;margin-top:2px;display:grid}.segmented label{cursor:pointer;position:relative}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented span{min-height:50px;font-family:var(--display);justify-content:center;align-items:center;padding:0 12px;font-weight:500;transition:background-color .2s,color .2s;display:flex}.segmented label+label span{border-inline-start:1.5px solid var(--ink)}.segmented input:checked+span{background:var(--ink);color:var(--ground)}.segmented input:focus-visible+span{outline:3px solid var(--teal-ink);outline-offset:-5px}.form-foot{flex-wrap:wrap;align-items:center;gap:14px 22px;display:flex}.form-privacy{color:var(--ink-2);font-size:.88rem}.form-error{color:#7a1712;background:#fff1f0;border:1.5px solid #b3261e;padding:12px 14px;font-size:.95rem}.form-error:focus{outline:3px solid #b3261e}.hp{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.site-footer{background:var(--midnight-2);color:var(--on-dark);padding-block:64px 40px}.footer-grid{grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);align-items:start;gap:32px;display:grid}.footer-brand{justify-items:start;gap:14px;display:grid}.footer-mark{width:auto;height:44px;color:var(--turq)}.footer-brand .wordmark{color:var(--turq)}.footer-brand p{color:var(--on-dark-2)}.footer-nav{font-family:var(--display);gap:10px;font-weight:500;display:grid}.footer-nav a,.footer-lang a{text-decoration:none}.footer-nav a:hover,.footer-lang a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--turq);text-decoration-color:var(--turq)}.footer-lang{gap:8px;display:grid}.footer-lang span{color:var(--on-dark-2);font-size:.9rem}.footer-rights{border-top:1px solid var(--line-on-dark);color:var(--on-dark-2);grid-column:1/-1;margin-top:16px;padding-top:28px;font-size:.88rem}.detail{padding-block:clamp(48px, 7vw, 96px) var(--section)}.detail-head{border-bottom:2px solid var(--ink);gap:18px;max-width:52rem;margin-bottom:48px;padding-bottom:40px;display:grid}.detail-head h1{letter-spacing:var(--track-display);font-size:clamp(2.3rem,1.3rem + 3.2vw,4.2rem);line-height:1.04}[dir=rtl] .detail-head h1{line-height:1.3}.detail-summary{max-width:44rem;font-size:1.15rem}.detail-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:.95rem;display:flex}.detail-note{background:var(--ground-2);padding:12px 14px;font-size:.95rem}.back{justify-self:start}.detail-grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(24px,4vw,64px);display:grid}.detail-aside{top:calc(var(--header-h) + 24px);align-self:start;gap:24px;display:grid;position:sticky}.detail-aside .project-dims{width:100%}.post-cover{outline:1px solid var(--line);outline-offset:-1px;width:100%;max-width:44rem;height:auto;margin-bottom:40px}.prose{max-width:44rem;font-size:1.08rem}.prose>*+*{margin-top:1.1em}.prose h2{letter-spacing:-.02em;margin-top:2.2em;font-size:clamp(1.6rem,1.2rem + 1.1vw,2.2rem);line-height:1.16}.prose h3{margin-top:1.8em;font-size:1.32rem;line-height:1.25}.prose ul,.prose ol{padding-inline-start:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--teal-ink)}.prose li:has(>input[type=checkbox]){margin-inline-start:-1.3em;list-style:none}.prose input[type=checkbox]{accent-color:var(--teal-ink);margin-inline-end:.5em}.prose a{color:var(--teal-ink);text-decoration-thickness:1.5px}.prose strong{font-weight:600}.prose code{font-family:var(--mono);background:var(--ground-2);padding:.12em .36em;font-size:.84em}.prose pre{background:var(--midnight);color:#d9eef0;padding:18px 20px;font-size:.86rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:start;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.prose th{border-bottom:2px solid var(--ink);font-weight:600}.prose blockquote{border-inline-start:1px solid var(--ink);color:var(--ink-2);margin-inline:0;padding-inline-start:18px}.mermaid-frame{background:var(--paper);outline:1px solid var(--line);outline-offset:-1px;padding:18px;overflow-x:auto}.mermaid-frame svg{max-width:100%;height:auto;margin-inline:auto}.mermaid-frame svg rect,.mermaid-frame svg polygon{rx:0;ry:0}.mermaid-frame svg *{filter:none!important}.mermaid-frame pre{border:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1180px){.film{grid-template-columns:minmax(0,1fr)}.film-stages{grid-template-rows:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px}.film-stages li:last-child{border-bottom:0}.showcase-body{grid-template-columns:minmax(0,1fr)}.showcase-media{order:-1}.entry{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}.entry-byline{grid-column:2}}@media (max-width:860px){:root{--header-h:112px}.header-row{flex-wrap:wrap;gap:0 16px;padding-top:10px}.site-nav{scrollbar-width:none;order:3;gap:22px;width:100%;padding-bottom:6px;overflow-x:auto}.film-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid,.detail-grid{grid-template-columns:minmax(0,1fr)}.detail-aside{position:static}.entry{grid-template-columns:minmax(0,1fr)}.entry-byline{grid-column:1}.field-row{grid-template-columns:minmax(0,1fr)}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-brand{grid-column:1/-1}.showcase-thumbs{margin-inline-end:0}.device-browser{margin-inline-end:14%}.device-phone{bottom:-32px;width:30%;inset-inline-end:0}.showcase-thumbs{margin-top:48px}}@media (max-width:560px){.film-stages{grid-template-columns:minmax(0,1fr)}.showcase-thumbs button{width:72px;height:46px}.showcase-thumbs .thumb-toggle{width:46px}}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.detail-media{gap:14px;margin-bottom:clamp(40px,5vw,72px);display:grid}.detail-media .device-browser{margin-inline-end:0}.detail-shots{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.detail-shots li{outline:1px solid var(--line);outline-offset:-1px;background:var(--paper);aspect-ratio:16/10;overflow:hidden}.detail-shots li.is-phone{aspect-ratio:auto;grid-row:span 2}.detail-shots img{object-fit:cover;object-position:top;width:100%;height:100%}
