@font-face{font-family:Young Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5baf1b65c11560cb-s.13dxa55x-o74o.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Young Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d0f5953821b08bc1-s.p.0khntj4v-gpmp.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:Young Serif Fallback;src:local(Times New Roman);ascent-override:83.16%;descent-override:29.1%;line-gap-override:0.0%;size-adjust:125.78%}.young_serif_a42d4579-module__vkwI3a__className{font-family:Young Serif,Young Serif Fallback;font-style:normal;font-weight:400}.young_serif_a42d4579-module__vkwI3a__variable{--font-display:"Young Serif", "Young Serif Fallback"}
@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/481eac7be1c268b7-s.0kh2es0tesdch.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/31a9145ccb84606d-s.p.10_fo~wllb4ek.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:Schibsted Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/481eac7be1c268b7-s.0kh2es0tesdch.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/31a9145ccb84606d-s.p.10_fo~wllb4ek.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:Schibsted Grotesk Fallback;src:local(Arial);ascent-override:93.46%;descent-override:24.67%;line-gap-override:0.0%;size-adjust:104.49%}.schibsted_grotesk_fdacbd6f-module__RWbmMq__className{font-family:Schibsted Grotesk,Schibsted Grotesk Fallback;font-style:normal}.schibsted_grotesk_fdacbd6f-module__RWbmMq__variable{--font-body:"Schibsted Grotesk", "Schibsted Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_964e2806-module__h6Ln4a__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_964e2806-module__h6Ln4a__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:11 15 25;--bg2:21 27 42;--fg:238 241 247;--muted:151 160 180;--line:255 255 255;--accent:244 162 31;--link:255 196 102;--glow:124 141 184;--silhouette:9 13 22;--shadow-rgb:0 0 0;--shadow-a:.55;--shadow-x:0px;--shadow-y:8px;--shadow-blur:18px;--sun-x:50%;--sun-y:100%;--night:1;--wrap:1320px;--gutter:clamp(20px, 4vw, 64px);--ease:cubic-bezier(.2, .7, .2, 1);--t-light:.42s;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:rgb(var(--bg));color:rgb(var(--fg));font-family:var(--font-body), system-ui, sans-serif;-webkit-font-smoothing:antialiased;transition:background-color var(--t-light) linear, color var(--t-light) linear;margin:0;font-size:17px;line-height:1.55;overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}:focus-visible{outline:2px solid rgb(var(--accent));outline-offset:3px;border-radius:4px}::selection{background:rgb(var(--accent) / .45)}.mono{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.02em;text-transform:uppercase;font-size:12.5px}.display{font-family:var(--font-display), Georgia, serif;letter-spacing:-.015em;font-weight:400;line-height:1}.eyebrow{color:rgb(var(--muted));margin:0 0 14px}.muted{color:rgb(var(--muted))}.wrap{width:min(var(--wrap), 100% - 2 * var(--gutter));margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lit{box-shadow:var(--shadow-x) var(--shadow-y) var(--shadow-blur) rgb(var(--shadow-rgb) / var(--shadow-a));transition:box-shadow var(--t-light) linear, transform .6s var(--ease);position:relative}.lit:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(120% 90% at var(--sun-x) var(--sun-y), rgb(255 255 255/calc(.22 * (1 - var(--night)))), transparent 60%);mix-blend-mode:soft-light;position:absolute;inset:0}.btn{border:1px solid rgb(var(--line) / .28);background:rgb(var(--bg2) / .55);min-height:46px;color:rgb(var(--fg));font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color var(--t-light) linear, color var(--t-light) linear, border-color var(--t-light) linear, transform .3s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:0 20px;font-size:15px;font-weight:500;display:inline-flex}.btn:hover{border-color:rgb(var(--line) / .6);text-decoration:none;transform:translateY(-1px)}.btn-fill{background:rgb(var(--fg));color:rgb(var(--bg));border-color:rgb(var(--fg))}.btn-fill:hover{background:rgb(var(--fg) / .9)}.btn:disabled{opacity:.6;cursor:wait}.actions{flex-wrap:wrap;gap:12px;margin:28px 0 0;display:flex}.site-header{z-index:20;padding:14px var(--gutter);justify-content:space-between;align-items:center;gap:16px;transition:background-color .25s linear,box-shadow .25s linear;display:flex;position:fixed;inset:0 0 auto;transform:translateZ(0)}.site-header.is-scrolled{background:rgb(var(--bg) / .92);box-shadow:0 1px 0 rgb(var(--line) / .12)}@media (min-width:861px) and (hover:hover){.site-header.is-scrolled{background:rgb(var(--bg) / .82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}.brand{font-family:var(--font-display), Georgia, serif;letter-spacing:-.01em;font-size:22px}.brand:hover{text-decoration:none}.nav{align-items:center;gap:22px;display:flex}.nav a{opacity:.85;font-size:15px;font-weight:500}.nav a:hover{opacity:1}.header-right{align-items:center;gap:14px;display:flex}.clock{color:rgb(var(--muted));white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.clock-dot{background:rgb(var(--accent));width:7px;height:7px;box-shadow:0 0 0 3px rgb(var(--accent) / .25);border-radius:50%}@media (max-width:860px){.site-header{padding:10px var(--gutter) 8px;flex-wrap:wrap;row-gap:4px}.header-right .clock{display:none}.header-right .btn{min-height:38px;padding:0 14px;font-size:14px}.brand{font-size:20px}.nav{scrollbar-width:none;order:3;gap:16px;width:100%;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;font-size:14px}}.hero{isolation:isolate;align-items:end;min-height:100svh;display:grid;position:relative;overflow:hidden}.sky{z-index:0;cursor:ew-resize;touch-action:pan-y;background:linear-gradient(#04060d,#161d33);width:100%;height:100%;position:absolute;inset:0}.sky[data-fallback=true]{background:linear-gradient(rgb(var(--bg)), rgb(var(--bg2)))}.hero:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(to bottom, rgb(var(--bg) / 0), rgb(var(--bg) / .55) 55%, rgb(var(--bg)) 100%);height:42%;transition:background var(--t-light) linear;position:absolute;inset:auto 0 0}.bridge-lamps{opacity:var(--night);transition:opacity var(--t-light) linear}.bridge{z-index:2;pointer-events:none;opacity:.92;width:100%;height:clamp(70px,12vw,150px);position:absolute;inset:auto 0 0}.hero-inner{z-index:3;pointer-events:none;padding:140px 0 clamp(110px,15vw,176px);position:relative}.hero-inner a,.hero-inner button{pointer-events:auto}.hero-title{font-family:var(--font-display), Georgia, serif;letter-spacing:-.03em;text-shadow:0 2px 40px rgb(var(--shadow-rgb) / .25);margin:0;font-size:clamp(64px,12.5vw,176px);font-weight:400;line-height:.92}.hero-sub{max-width:24ch;font-family:var(--font-body), system-ui, sans-serif;letter-spacing:-.01em;text-wrap:balance;margin-top:.35em;font-size:clamp(20px,2.4vw,32px);font-weight:400;line-height:1.25;display:block}.hero-lede{max-width:52ch;color:rgb(var(--fg) / .82);margin:26px 0 0;font-size:clamp(16px,1.3vw,19px)}.hero-hint{color:rgb(var(--fg) / .7);align-items:center;gap:10px;margin:30px 0 0;display:inline-flex}.hero-hint:before{content:"";background:currentColor;width:26px;height:1px}.sky-controls{z-index:4;right:var(--gutter);width:min(360px, 100% - 2 * var(--gutter));justify-items:end;gap:10px;display:grid;position:absolute;bottom:clamp(84px,13vw,165px)}.sky-slider{gap:8px;width:100%;display:grid}.sky-slider-label{color:rgb(var(--fg) / .85);justify-content:space-between;gap:12px;display:flex}.sky-slider-next{color:rgb(var(--fg) / .6)}.sky-slider input[type=range]{appearance:none;cursor:ew-resize;background:0 0;width:100%;height:22px;margin:0}.sky-slider input[type=range]::-webkit-slider-runnable-track{background:rgb(var(--fg) / .45);height:1px}.sky-slider input[type=range]::-moz-range-track{background:rgb(var(--fg) / .45);height:1px}.sky-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:rgb(var(--accent));border:2px solid rgb(var(--bg));width:16px;height:16px;box-shadow:0 0 0 4px rgb(var(--accent) / .25);border-radius:50%;margin-top:-7.5px}.sky-slider input[type=range]::-moz-range-thumb{background:rgb(var(--accent));border:2px solid rgb(var(--bg));border-radius:50%;width:14px;height:14px}.sky-now{color:rgb(var(--link));cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s, transform .25s var(--ease);background:0 0;border:0;padding:0;transform:translateY(4px)}.sky-now.is-visible{opacity:1;pointer-events:auto;transform:none}.sky-now:hover{text-decoration:underline}@media (max-width:860px){.hero-inner{padding-top:150px}.sky-controls{right:auto;left:var(--gutter);justify-items:start;bottom:clamp(70px,12vw,120px)}.hero-inner{padding-bottom:190px}}.section{padding:clamp(72px,10vw,140px) 0}.section-head{border-bottom:1px solid rgb(var(--line) / .16);justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(32px,4vw,56px);padding-bottom:18px;display:flex}.section-title{margin:0;font-size:clamp(34px,4.6vw,64px)}.section-note{color:rgb(var(--muted));text-wrap:pretty;max-width:40ch;margin:0}@media (max-width:720px){.section-head{flex-direction:column;align-items:start}}.now{padding:clamp(40px,5vw,72px) 0 0}.now-list{background:rgb(var(--line) / .14);border-block:1px solid rgb(var(--line) / .14);grid-template-columns:repeat(3,1fr);gap:1px;margin:0;padding:0;list-style:none;display:grid}.now-item{background:rgb(var(--bg));transition:background-color var(--t-light) linear;align-content:start;gap:8px;padding:22px 22px 22px 0;display:grid}.now-item+.now-item{padding-left:22px}.now-item .mono{color:rgb(var(--muted))}.now-item a{font-size:19px;font-weight:500}.now-item p{color:rgb(var(--fg) / .78);margin:0;font-size:15px}@media (max-width:720px){.now-list{grid-template-columns:1fr}.now-item,.now-item+.now-item{padding:18px 0}}.work-grid{grid-template-columns:repeat(12,1fr);gap:clamp(20px,3vw,44px) clamp(18px,2.5vw,36px);display:grid}.work-card{grid-column:span 6;align-content:start;gap:16px;display:grid}.work-card[data-span="7"]{grid-column:span 7}.work-card[data-span="5"]{grid-column:span 5}.work-card[data-span="12"]{grid-column:span 12}.work-card:hover{text-decoration:none}.work-media{border-radius:var(--radius);aspect-ratio:16/10;background:rgb(var(--bg2));overflow:hidden}.work-card[data-span="12"] .work-media{aspect-ratio:21/9}.work-media img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .9s var(--ease)}.work-card:hover .work-media{transform:translateY(-4px)}.work-card:hover .work-media img{transform:scale(1.025)}.work-meta{grid-template-columns:1fr auto;align-items:baseline;gap:4px 20px;display:grid}.work-name{margin:0;font-size:clamp(24px,2.4vw,34px)}.work-cat{color:rgb(var(--muted))}.work-summary{color:rgb(var(--fg) / .78);grid-column:1/-1;max-width:60ch;margin:0}@media (max-width:860px){.work-card,.work-card[data-span="7"],.work-card[data-span="5"]{grid-column:span 12}.work-card[data-span="12"] .work-media{aspect-ratio:16/10}}.builds-grid{grid-template-columns:1fr 1fr;gap:clamp(18px,2.5vw,36px);display:grid}.build-card{border-radius:var(--radius);background:rgb(var(--bg2));transition:background-color var(--t-light) linear, box-shadow var(--t-light) linear, transform .6s var(--ease);grid-template-columns:1fr 1.1fr;gap:24px;padding:26px;display:grid}.build-card:hover{text-decoration:none;transform:translateY(-4px)}.build-media{background:rgb(var(--bg));aspect-ratio:4/5;border-radius:10px;place-items:center;display:grid;overflow:hidden}.build-media img{object-fit:cover;width:100%;height:100%}.build-media[data-fit=contain] img{object-fit:contain;padding:12px}.build-body{align-content:space-between;gap:18px;display:grid}.build-body .mono{color:rgb(var(--muted))}.build-name{margin:8px 0;font-size:clamp(28px,2.6vw,40px)}.build-body p{color:rgb(var(--fg) / .8);margin:0}.build-link{color:rgb(var(--link));font-weight:500}@media (max-width:960px){.builds-grid{grid-template-columns:1fr}}@media (max-width:520px){.build-card{grid-template-columns:1fr}.build-media{aspect-ratio:16/11}}.roles{margin:0;padding:0;list-style:none}.role{border-bottom:1px solid rgb(var(--line) / .14);grid-template-columns:150px 1.1fr 2fr;gap:8px 32px;padding:26px 0;display:grid}.role:first-child{border-top:1px solid rgb(var(--line) / .14)}.role-period{color:rgb(var(--muted));padding-top:6px}.role-org{margin:0;font-size:24px}.role-org a{font-family:var(--font-display), Georgia, serif}.role-title{color:rgb(var(--muted));margin-top:4px;font-size:15px;display:block}.role p{color:rgb(var(--fg) / .8);max-width:62ch;margin:0}@media (max-width:860px){.role{grid-template-columns:1fr;gap:6px}}.posts{margin:0;padding:0;list-style:none}.post{border-bottom:1px solid rgb(var(--line) / .14);grid-template-columns:180px 1fr;gap:8px 32px;padding:26px 0;display:grid}.post:first-child{border-top:1px solid rgb(var(--line) / .14)}.post-meta{color:rgb(var(--muted));align-content:start;gap:4px;padding-top:6px;display:grid}.post h3{text-wrap:balance;max-width:36ch;margin:0 0 8px;font-size:clamp(22px,2.2vw,30px)}.post p{color:rgb(var(--fg) / .8);max-width:66ch;margin:0}@media (max-width:720px){.post{grid-template-columns:1fr}}.contact{padding-bottom:clamp(40px,6vw,80px)}.contact-title{letter-spacing:-.03em;margin:0;font-size:clamp(56px,10vw,150px)}.contact-email{letter-spacing:-.01em;border-bottom:1px solid rgb(var(--line) / .4);margin-top:28px;font-size:clamp(20px,3vw,40px);font-weight:500;display:inline-block}.contact-email:hover{border-color:rgb(var(--accent));text-decoration:none}.contact-row{flex-wrap:wrap;align-items:center;gap:18px;margin-top:18px;display:flex}.copy{border:1px solid rgb(var(--line) / .28);color:rgb(var(--fg));cursor:pointer;background:0 0;border-radius:999px;padding:10px 14px}.copy:hover{border-color:rgb(var(--line) / .6)}.contact-note{color:rgb(var(--muted));max-width:48ch;margin:26px 0 0}.site-footer{border-top:1px solid rgb(var(--line) / .14);color:rgb(var(--muted));flex-wrap:wrap;justify-content:space-between;gap:14px;padding:26px 0 32px;display:flex}.site-footer nav{gap:18px;display:flex}.page{padding-top:clamp(120px,16vw,180px)}@media (max-width:860px){.page{padding-top:160px}}.back{color:rgb(var(--muted));align-items:center;gap:8px;margin-bottom:30px;display:inline-flex}.back:hover{color:rgb(var(--fg))}.page-title{letter-spacing:-.03em;margin:0;font-size:clamp(48px,8vw,120px)}.page-tag{color:rgb(var(--fg) / .8);text-wrap:balance;max-width:30ch;margin:14px 0 0;font-size:clamp(20px,2.4vw,30px)}.meta-grid{border-block:1px solid rgb(var(--line) / .14);grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0;padding:26px 0;display:grid}.meta-grid dt{color:rgb(var(--muted));margin-bottom:8px}.meta-grid dd{color:rgb(var(--fg) / .85);margin:0;font-size:15.5px}.meta-grid dd a{color:rgb(var(--link))}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips span{border:1px solid rgb(var(--line) / .22);border-radius:999px;padding:4px 10px;font-size:13px}@media (max-width:720px){.meta-grid{grid-template-columns:1fr}}.page-media{border-radius:var(--radius);background:rgb(var(--bg2));aspect-ratio:16/9;overflow:hidden}.page-media img{object-fit:cover;object-position:top;width:100%;height:100%}.page-media[data-fit=contain] img{object-fit:contain}.page-media[data-ratio=tall]{aspect-ratio:4/3}.story{grid-template-columns:repeat(3,1fr);gap:36px;padding:clamp(48px,7vw,100px) 0;display:grid}.story h2{margin:0 0 12px;font-size:26px}.story p{color:rgb(var(--fg) / .82);margin:0}.story-lede{max-width:60ch;color:rgb(var(--fg) / .9);margin:0 0 48px;font-size:clamp(19px,1.8vw,24px)}@media (max-width:860px){.story{grid-template-columns:1fr;gap:28px}}.facts{grid-template-columns:repeat(4,1fr);gap:18px;margin:0 0 48px;padding:0;list-style:none;display:grid}.facts li{background:rgb(var(--bg2));border-radius:10px;gap:8px;padding:18px;display:grid}.facts .mono{color:rgb(var(--muted))}.facts strong{font-size:17px;font-weight:500}@media (max-width:720px){.facts{grid-template-columns:1fr 1fr}}.gallery{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:min(240px,60vw);grid-auto-flow:column;gap:16px;padding:4px 0 20px;display:grid;overflow-x:auto}.gallery figure{scroll-snap-align:start;margin:0}.gallery img{aspect-ratio:1287/2796;object-fit:cover;border-radius:18px}.gallery figcaption{color:rgb(var(--muted));margin-top:10px;font-size:13px}.next-link{border-top:1px solid rgb(var(--line) / .14);gap:10px;padding:clamp(48px,7vw,100px) 0 clamp(40px,6vw,80px);display:grid}.next-link .mono{color:rgb(var(--muted))}.next-link a{font-family:var(--font-display), Georgia, serif;letter-spacing:-.02em;font-size:clamp(36px,5vw,72px);line-height:1}.signup{border-top:1px solid rgb(var(--line) / .14);grid-template-columns:1fr 1fr;gap:40px;padding:clamp(40px,6vw,80px) 0;display:grid}.signup h2{margin:0 0 10px;font-size:clamp(30px,4vw,52px)}.signup p{color:rgb(var(--fg) / .8);max-width:44ch;margin:0}@media (max-width:860px){.signup{grid-template-columns:1fr}}.form{gap:16px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form label{color:rgb(var(--muted));gap:6px;font-size:14px;display:grid}.form input[type=text],.form input[type=email],.form select{font:inherit;color:rgb(var(--fg));background:rgb(var(--bg2));border:1px solid rgb(var(--line) / .2);border-radius:10px;padding:12px 14px;font-size:16px}.form input:focus,.form select:focus{outline:2px solid rgb(var(--accent));outline-offset:1px;border-color:#0000}.form-check{align-items:center;gap:10px;color:rgb(var(--fg))!important;display:flex!important}.form-check input{width:18px;height:18px;accent-color:rgb(var(--accent))}.form-hp{opacity:0;position:absolute;left:-9999px}.form-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.form-error{color:rgb(var(--link));margin:0;font-size:14px}.form-done{background:rgb(var(--bg2));border-radius:10px;margin:0;padding:18px 20px}@media (max-width:520px){.form-row{grid-template-columns:1fr}}.article{max-width:720px}.article-head{margin-bottom:40px}.article-title{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(36px,5.2vw,68px);line-height:1.02}.article-meta{color:rgb(var(--muted));flex-wrap:wrap;gap:8px 18px;margin-top:20px;display:flex}.article .lede,.article-body>p:first-of-type{color:rgb(var(--fg) / .92);font-size:20px}.article-body{font-size:18px;line-height:1.65}.article-body h2{letter-spacing:-.015em;margin:44px 0 14px;font-size:28px;line-height:1.15}.article-body p{color:rgb(var(--fg) / .86);margin:0 0 18px}.article-body ul{color:rgb(var(--fg) / .86);margin:0 0 18px;padding-left:22px}.article-body li{margin-bottom:8px}.takeaway{border-left:3px solid rgb(var(--accent));background:rgb(var(--bg2));border-radius:0 12px 12px 0;margin:44px 0 0;padding:22px 24px}.takeaway .mono{color:rgb(var(--muted));margin-bottom:8px;display:block}.takeaway p{margin:0}.article-foot{border-top:1px solid rgb(var(--line) / .14);gap:8px;margin-top:48px;padding-top:24px;display:grid}.article-foot p{color:rgb(var(--fg) / .8);margin:0}.lede{color:rgb(var(--fg) / .85);max-width:56ch;font-size:20px}.notfound{padding:180px 0 120px}[data-reveal]{opacity:0;transition:opacity .7s var(--ease), transform .9s var(--ease);transform:translateY(18px)}[data-reveal].is-in{opacity:1;transform:none}[data-reveal][data-delay="1"]{transition-delay:90ms}[data-reveal][data-delay="2"]{transition-delay:.18s}[data-reveal][data-delay="3"]{transition-delay:.27s}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transition:none;transform:none}.lit,.btn,.work-media,.work-media img,.build-card{transition:none}}.designs .page-tag{max-width:50ch}.brand-section{margin-top:clamp(48px,6vw,88px)}.brand-grid{grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,36px) clamp(18px,2.2vw,30px);margin:0;padding:0;list-style:none;display:grid}.brand-card{display:block}.brand-open{color:inherit;gap:14px;display:grid}.brand-open:hover{text-decoration:none}.brand-media{border-radius:var(--radius);aspect-ratio:16/10;background:rgb(var(--bg2));display:block;position:relative;overflow:hidden}.brand-media img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease)}.brand-open:hover .brand-media img{transform:scale(1.03)}.brand-badge{z-index:2;border-radius:14px;place-items:center;width:56px;height:56px;padding:8px;display:grid;position:absolute;bottom:14px;left:14px;box-shadow:0 6px 18px #0000004d}.brand-badge svg{width:100%;height:100%}.brand-meta{gap:3px;display:grid}.brand-name{font-size:clamp(22px,2vw,28px)}.brand-what{color:rgb(var(--fg) / .78);font-size:15px}.chip-tag{font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;background:rgb(var(--accent) / .25);color:rgb(var(--fg));vertical-align:middle;border-radius:4px;padding:2px 6px;font-size:10px}@media (max-width:1100px){.brand-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.brand-grid{grid-template-columns:1fr}}.case-hero{border-radius:var(--radius);background:rgb(var(--bg2));margin-top:40px;overflow:hidden}.case-hero img{width:100%;height:auto;display:block}.idea{border-bottom:1px solid rgb(var(--line) / .14);grid-template-columns:1fr 1.3fr;gap:clamp(28px,4vw,64px);padding:clamp(56px,8vw,110px) 0;display:grid}.idea-mark{grid-template-columns:1fr 1fr;align-content:start;gap:14px;display:grid}.mark-tile{aspect-ratio:1;border-radius:var(--radius);place-items:center;padding:18%;display:grid}.mark-tile svg{width:100%;height:100%}.idea-text h2{margin:0 0 18px;font-size:clamp(30px,3.4vw,44px)}.idea-brief{color:rgb(var(--fg) / .9);max-width:58ch;margin:0;font-size:clamp(18px,1.5vw,21px);line-height:1.55}.idea-meta{border-top:1px solid rgb(var(--line) / .14);grid-template-columns:repeat(3,1fr);gap:20px;margin:34px 0 0;padding-top:24px;display:grid}.idea-meta dt{color:rgb(var(--muted));margin-bottom:6px}.idea-meta dd{color:rgb(var(--fg) / .85);margin:0;font-size:15px}@media (max-width:860px){.idea,.idea-meta{grid-template-columns:1fr}}.mark-section,.colour-section,.type-section,.apps-section{padding:clamp(48px,7vw,96px) 0 0}.mark-panels{grid-template-columns:1fr 1fr;gap:18px;display:grid}.mark-panel{border-radius:var(--radius);aspect-ratio:16/6;place-items:center;padding:6%;display:grid;overflow:hidden}.mark-panel img{width:100%;height:auto}.mark-panel.construct{aspect-ratio:auto;background:rgb(var(--bg2));grid-column:1/-1;height:clamp(320px,40vw,520px);padding:0;position:relative}.construct-mark{aspect-ratio:1;width:min(70%,420px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.construct-mark svg{width:100%;height:100%}.construct-grid{aspect-ratio:1;fill:none;width:min(70%,420px);stroke:rgb(var(--fg) / .14);stroke-width:.35px;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.construct-grid .construct-clear{stroke:rgb(var(--accent));stroke-width:.7px;stroke-dasharray:2 2}.construct-grid .construct-axis{stroke:rgb(var(--fg) / .35);stroke-width:.5px}.construct-label{position:absolute;bottom:14px;left:18px}@media (max-width:860px){.mark-panels{grid-template-columns:1fr}.mark-panel{aspect-ratio:16/7}}.swatch-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.swatch{aspect-ratio:1;border-radius:12px;align-content:end;gap:4px;padding:16px;display:grid}.swatch-name{text-transform:capitalize;font-size:16px;font-weight:500}.app-grid{grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,44px) clamp(18px,2.2vw,30px);margin:0;padding:0;list-style:none;display:grid}.app-card[data-wide]{grid-column:span 2}.app-card:not([data-wide]){grid-column:span 1}.app-open{width:100%;color:inherit;font:inherit;text-align:left;cursor:zoom-in;background:0 0;border:0;gap:14px;padding:0;display:grid}.app-media{border-radius:var(--radius);background:rgb(var(--bg2));display:block;overflow:hidden}.app-media img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease)}.app-open:hover .app-media img{transform:scale(1.02)}.app-meta{gap:6px;max-width:70ch;display:grid}.app-title{font-size:clamp(22px,2.2vw,30px)}.app-note{color:rgb(var(--fg) / .78);font-size:15.5px;line-height:1.5}@media (max-width:860px){.app-grid{grid-template-columns:1fr}.app-card[data-wide]{grid-column:span 1}}.lightbox{width:96vw;max-width:min(1500px,96vw);max-height:94vh;color:rgb(var(--fg));background:0 0;border:0;padding:0}.lightbox::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bd}.lightbox-inner{background:rgb(var(--bg));border-radius:18px;grid-template-columns:minmax(0,1fr) 300px;gap:24px;max-height:94vh;padding:20px;display:grid;overflow:auto}.lightbox-media{border-radius:10px;justify-content:center;align-items:start;display:flex;overflow:hidden}.lightbox-media img{border-radius:10px;width:auto;max-width:100%;height:auto;max-height:calc(94vh - 40px)}.lightbox-side{align-content:start;gap:12px;padding:8px 4px;display:grid}.lightbox-side h2{margin:0;font-size:30px}.lightbox-side p{color:rgb(var(--fg) / .85);margin:0;font-size:15.5px}.lightbox-nav{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}@media (max-width:860px){.lightbox-inner{grid-template-columns:1fr}.lightbox-media img{max-height:60vh}}.design-strip{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.design-strip a{border-radius:var(--radius);aspect-ratio:16/10;background:rgb(var(--bg2));display:block;position:relative;overflow:hidden}.design-strip img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease)}.design-strip a:hover img{transform:scale(1.03)}.design-strip .strip-name{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;border-radius:8px;padding:6px 10px;font-size:13px;position:absolute;bottom:12px;left:14px}@media (max-width:640px){.design-strip{grid-template-columns:1fr 1fr}}
