@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-full-normal.7BpKI3vF.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-full-normal.YHFkNujK.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-full-normal.CFFu7zhK.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.DHTKMUil.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.B1g8a0vD.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.BpXpdlRW.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.BsaNuasd.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.BVZ5su8S.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.DMe4EKeb.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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-italic.y6hTrs-Y.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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-italic.CRzqOTyj.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-italic.CUp-f2uw.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-italic.D3EGHrWW.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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-italic.B_cmBfNX.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-italic.B-rCj6ir.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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{--paper:#fdf8f2;--paper-2:#f7efe5;--card:#fffdfa;--ink:#2a2420;--ink-soft:#625850;--ink-faint:#958a80;--rule:#ece2d6;--accent:#c2553a;--accent-ink:#fffaf5;--peach:#f8cdb5;--butter:#f6e3a1;--sage:#cfe0cf;--lilac:#ddd3f0;--shadow:0 1px 2px #3c28140a, 0 8px 24px -12px #3c28142e;--shadow-lift:0 2px 4px #3c28140d, 0 18px 36px -16px #3c281447;--display:"Fraunces Variable", "Source Serif 4 Variable", Georgia, serif;--serif:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--sans:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--measure:690px;--wide:1120px;--radius:18px;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--paper:#1a1715;--paper-2:#221e1b;--card:#24201d;--ink:#f1ebe3;--ink-soft:#c2b8ad;--ink-faint:#8f857b;--rule:#342e29;--accent:#f0927a;--accent-ink:#1a1715;--peach:#5a3427;--butter:#4d4224;--sage:#2e3f31;--lilac:#39314d;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #0009;--shadow-lift:0 2px 4px #0000004d, 0 18px 36px -16px #000000b3}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6;overflow-x:hidden}h1,h2,h3{font-family:var(--display);font-variation-settings:"SOFT" 100, "WONK" 0;letter-spacing:-.015em;font-weight:560;line-height:1.15}a{color:inherit;text-decoration-color:var(--rule);text-underline-offset:.2em;text-decoration-thickness:1.5px;transition:color .2s,text-decoration-color .2s}a:hover{color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:var(--peach);color:var(--ink)}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--card);z-index:50;border-radius:8px;padding:6px 12px;top:12px;left:16px}.wrap{max-width:var(--wide);margin:0 auto;padding:0 32px}.column{max-width:var(--measure);margin:0 auto;padding:0 24px}.site-header{z-index:20;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:16px;height:72px;display:flex}.logo{font-family:var(--display);font-variation-settings:"SOFT" 100;letter-spacing:-.02em;align-items:baseline;font-size:1.5rem;font-weight:600;text-decoration:none;display:inline-flex}.logo .dot{background:var(--accent);border-radius:50%;width:9px;height:9px;margin-left:3px;transition:transform .3s;display:inline-block}.logo:hover{color:var(--ink)}.logo:hover .dot{transform:translateY(-6px)}.nav{align-items:center;gap:6px;font-size:.9rem;display:flex}.nav a{color:var(--ink-soft);border-radius:999px;padding:7px 14px;text-decoration:none;transition:background .2s,color .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--ink);background:var(--paper-2)}.nav .lang{border:1.5px solid var(--rule);letter-spacing:.06em;margin-left:6px;padding:5px 11px;font-size:.75rem;font-weight:600}.btn{border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-size:.95rem;font-weight:550;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{color:var(--paper);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.btn-ghost{border:1.5px solid var(--rule);color:var(--ink)}.btn-ghost:hover{color:var(--ink);border-color:var(--ink);transform:translateY(-2px)}.btn .arrow{transition:transform .2s}.btn:hover .arrow{transform:translate(3px)}.chip{background:var(--paper-2);color:var(--ink-soft);border-radius:999px;padding:4px 11px;font-size:.75rem;font-weight:550;display:inline-block}.chip.c0{background:var(--peach);color:var(--ink)}.chip.c1{background:var(--sage);color:var(--ink)}.chip.c2{background:var(--lilac);color:var(--ink)}.chip.c3{background:var(--butter);color:var(--ink)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin:0 0 10px;font-size:.78rem;font-weight:600;display:flex}.eyebrow:before{content:"";background:currentColor;border-radius:2px;width:22px;height:2px}.hero{padding:64px 0 88px}.hero h1{letter-spacing:-.03em;margin:0 0 30px;font-size:clamp(2.6rem,6.4vw,4.6rem);line-height:1.02}.hero h1 .squiggle{white-space:nowrap;position:relative}.hero h1 .squiggle svg{width:104%;height:.32em;color:var(--accent);position:absolute;bottom:-.18em;left:-2%;overflow:visible}.hero h1 .squiggle path{stroke-dasharray:400;stroke-dashoffset:400px;animation:1.1s ease-out .5s forwards draw}.hero .lede{color:var(--ink-soft);max-width:36em;margin:0 0 30px;font-size:1.15rem}.hero .actions{flex-wrap:wrap;gap:12px;display:flex}.section{padding:72px 0}.section.tint{background:var(--paper-2)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:36px;display:flex}.section-head h2{margin:0;font-size:clamp(1.8rem,3.6vw,2.5rem)}.section-head .more{color:var(--ink-soft);font-size:.92rem;font-weight:550;text-decoration:none}.section-head .more:hover{color:var(--accent)}.focus-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.focus{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 26px 26px;transition:transform .25s,box-shadow .25s}.focus:hover{box-shadow:var(--shadow-lift);transform:translateY(-4px)}.focus .icon{width:46px;height:46px;color:var(--ink);border-radius:14px;place-items:center;margin-bottom:18px;display:grid}.focus:nth-child(3n+1) .icon{background:var(--peach)}.focus:nth-child(3n+2) .icon{background:var(--sage)}.focus:nth-child(3n+3) .icon{background:var(--lilac)}.focus h3{margin:0 0 8px;font-size:1.3rem}.focus p{color:var(--ink-soft);margin:0;font-size:.95rem}.cards{grid-template-columns:repeat(2,1fr);gap:22px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-4px)}.card .band{height:8px}.card:nth-child(4n+1) .band{background:var(--peach)}.card:nth-child(4n+2) .band{background:var(--sage)}.card:nth-child(4n+3) .band{background:var(--lilac)}.card:nth-child(4n+4) .band{background:var(--butter)}.card .body{flex-direction:column;flex:1;gap:10px;padding:24px 26px 26px;display:flex}.card h3{margin:0;font-size:1.45rem}.card h3 a{text-decoration:none}.card h3 a:after{content:"";position:absolute;inset:0}.card:hover h3 a{color:var(--accent)}.card p{color:var(--ink-soft);margin:0;font-size:.97rem}.card .foot{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px;display:flex}.empty{background:var(--card);border:1.5px dashed var(--rule);border-radius:var(--radius);text-align:center;color:var(--ink-faint);padding:40px}.empty .em{margin-bottom:6px;font-size:2rem;display:block}.meta{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.82rem;display:flex}.meta .sep:before{content:"•";opacity:.6}.badge{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1.5px solid;border-radius:999px;padding:0 7px;font-size:.68rem;font-weight:600}.projects{grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0;list-style:none;display:grid}.project{border:1.5px solid var(--rule);border-radius:var(--radius);background:var(--card);padding:24px;transition:border-color .2s,transform .25s;position:relative}.project:hover{border-color:var(--ink);transform:translateY(-3px)}.project h3{margin:0 0 8px;font-size:1.2rem}.project h3 a{text-decoration:none}.project h3 a:after{content:"";position:absolute;inset:0}.project p{color:var(--ink-soft);margin:0 0 14px;font-size:.93rem}.project .ext{color:var(--ink-faint);transition:transform .2s,color .2s;position:absolute;top:22px;right:22px}.project:hover .ext{color:var(--accent);transform:translate(2px,-2px)}.contact{margin:24px 0 0}.contact-box{background:var(--ink);color:var(--paper);border-radius:28px;grid-template-columns:1.4fr 1fr;align-items:center;gap:32px;padding:56px;display:grid;position:relative;overflow:hidden}.contact-box h2{margin:0 0 12px;font-size:clamp(2rem,4vw,2.8rem)}.contact-box p{opacity:.8;max-width:32em;margin:0}.contact-box .links{z-index:1;flex-wrap:wrap;justify-content:flex-end;align-self:end;gap:10px;display:flex;position:relative}.contact-box>div{z-index:1;position:relative}.contact-box .btn{background:var(--paper);color:var(--ink)}.contact-box .btn:hover{color:var(--ink);transform:translateY(-2px)}.contact-box .btn.alt{color:var(--paper);border:1.5px solid color-mix(in srgb, var(--paper) 35%, transparent);background:0 0}.contact-box .deco{aspect-ratio:1;background:var(--accent);opacity:.85;border-radius:50%;width:220px;position:absolute;top:-110px;right:-70px}.contact-box .deco2{aspect-ratio:1;border:3px solid var(--butter);opacity:.8;border-radius:50%;width:70px;position:absolute;bottom:-34px;right:38%}.page-head{padding:56px 0 32px}.page-head h1{letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(2.4rem,5.5vw,3.6rem)}.page-head p{color:var(--ink-soft);max-width:36em;margin:0;font-size:1.1rem}.article-head{padding:56px 0 28px}.article-head .chips{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.article-head h1{letter-spacing:-.028em;margin:0 0 16px;font-size:clamp(2.3rem,6vw,3.4rem);line-height:1.08}.dek{font-family:var(--serif);color:var(--ink-soft);margin:0 0 22px;font-size:1.3rem;line-height:1.45}.byline{border-top:1.5px solid var(--rule);border-bottom:1.5px solid var(--rule);align-items:center;gap:12px;padding:16px 0;display:flex}.byline .avatar{background:var(--peach);width:40px;height:40px;font-family:var(--display);border-radius:50%;place-items:center;font-size:.95rem;font-weight:600;display:grid}.byline .who{font-size:.92rem;font-weight:600;line-height:1.3}.prose{font-family:var(--serif);padding:16px 0 40px;font-size:1.22rem;line-height:1.72}.prose>*+*{margin-top:1.35em}.prose>p:first-child:first-letter{font-family:var(--display);font-variation-settings:"SOFT" 100;float:left;color:var(--accent);padding:.06em .1em 0 0;font-size:3.6em;font-weight:600;line-height:.82}.prose p{margin-bottom:0}.prose h2{margin:2em 0 0;font-size:1.75rem}.prose h3{margin:1.8em 0 0;font-size:1.35rem}.prose h2+*,.prose h3+*{margin-top:.6em}.prose blockquote{background:var(--paper-2);border-radius:0 var(--radius) var(--radius) 0;border-left:4px solid var(--accent);color:var(--ink-soft);margin-left:0;margin-right:0;padding:20px 26px;font-style:italic}.prose blockquote p{margin:0}.prose ul,.prose ol{margin-bottom:0;padding-left:1.3em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--accent)}.prose img{border-radius:14px;max-width:100%;height:auto;margin:0 auto;display:block}.prose figcaption{font-family:var(--sans);color:var(--ink-faint);text-align:center;margin-top:8px;font-size:.82rem}.prose hr{text-align:center;border:0;margin:2.4em 0}.prose hr:after{content:"✦ ✦ ✦";letter-spacing:.8em;color:var(--accent);font-size:.8rem}.prose a{text-decoration-color:var(--accent)}.prose code{background:var(--paper-2);border-radius:6px;padding:.1em .4em;font-size:.85em}.prose pre{background:var(--paper-2);border-radius:14px;padding:18px 20px;font-size:.875rem;line-height:1.55;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.93rem}.prose th,.prose td{border-bottom:1.5px solid var(--rule);text-align:left;padding:8px 10px}.article-foot{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.site-footer{margin-top:72px;padding:32px 0 48px}.site-footer .wrap{color:var(--ink-faint);border-top:1.5px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:28px;font-size:.85rem;display:flex}.site-footer nav{gap:18px;display:flex}.site-footer a{color:var(--ink-soft);text-decoration:none}.site-footer a:hover{color:var(--accent)}.muted{color:var(--ink-faint)}.rise{opacity:0;animation:.7s cubic-bezier(.2,.7,.2,1) forwards rise;transform:translateY(16px)}.rise.d1{animation-delay:80ms}.rise.d2{animation-delay:.16s}.rise.d3{animation-delay:.24s}.rise.d4{animation-delay:.32s}@keyframes rise{to{opacity:1;transform:none}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes morph{0%,to{border-radius:58% 42% 46% 54%/50% 56% 44% 50%;transform:rotate(0)}50%{border-radius:44% 56% 58% 42%/56% 44%;transform:rotate(12deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.rise{opacity:1;transform:none}.hero h1 .squiggle path{stroke-dashoffset:0}}@media (width<=900px){.focus-grid,.projects{grid-template-columns:1fr}.contact-box{grid-template-columns:1fr;padding:40px 32px}.contact-box .links{justify-content:flex-start}}@media (width<=640px){.wrap,.column{padding:0 16px}.site-header .wrap{height:62px}.nav{gap:2px;font-size:.85rem}.nav a{padding:6px 10px}.hero{padding:28px 0 56px}.cards{grid-template-columns:1fr}.section{padding:52px 0}.contact-box{border-radius:22px;padding:32px 24px}.prose{font-size:1.12rem}.dek{font-size:1.15rem}}:root{--tok-comment:#9a8f84;--tok-keyword:#b0452c;--tok-string:#4f7a52;--tok-fn:#6a4fa3;--tok-num:#a0661a}@media (prefers-color-scheme:dark){:root{--tok-comment:#8f857b;--tok-keyword:#f0927a;--tok-string:#a8cfa6;--tok-fn:#c3b2ec;--tok-num:#e9c77a}}.prose pre[class*=language-]{border:1.5px solid var(--rule)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--tok-comment);font-style:italic}.token.keyword,.token.selector,.token.important,.token.atrule,.token.tag{color:var(--tok-keyword)}.token.string,.token.char,.token.attr-value,.token.regex,.token.inserted{color:var(--tok-string)}.token.function,.token.class-name,.token.builtin{color:var(--tok-fn)}.token.number,.token.boolean,.token.constant,.token.symbol,.token.deleted{color:var(--tok-num)}.token.punctuation,.token.operator{color:var(--ink-soft)}.token.interpolation{color:var(--ink)}.social{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.social a{border:1.5px solid var(--rule);width:40px;height:40px;color:var(--ink-soft);border-radius:999px;justify-content:center;align-items:center;gap:8px;text-decoration:none;transition:color .2s,border-color .2s,background .2s,transform .2s;display:inline-flex}.social a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.social-contact{justify-content:flex-end}.social-contact a{border-color:color-mix(in srgb, var(--paper) 30%, transparent);width:48px;height:48px;color:var(--paper)}.social-contact a:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.social-contact a.wide{background:var(--paper);width:auto;color:var(--ink);border-color:var(--paper);padding:0 20px;font-size:.95rem;font-weight:550}.social-contact a.wide:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}@media (width<=900px){.social-contact{justify-content:flex-start}}:root{--c-ai:#c2553a;--c-st:#8f6fc0;--c-da:#5f8a62}@media (prefers-color-scheme:dark){:root{--c-ai:#f0927a;--c-st:#c3a8ef;--c-da:#9fcb9c}}.story-grid{grid-template-columns:1.05fr .95fr;gap:48px;display:grid}.hero-copy{flex-direction:column;justify-content:center;min-height:calc(100svh - 72px);padding:32px 0 48px;display:flex}.scroll-hint{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:40px 0 0;font-size:.8rem}.scroll-hint span{margin-left:6px;animation:2.4s ease-in-out infinite bob;display:inline-block}.steps{padding:8vh 0 22vh}.steps-head{margin-bottom:8vh}.steps-head h2{margin:0;font-size:clamp(1.8rem,3.6vw,2.5rem)}.step{border:1.5px solid #0000;max-width:460px;margin-bottom:26vh;transition:opacity .5s,transform .5s,border-color .5s,box-shadow .5s}.step:last-child{margin-bottom:0}.focus.d-ai .icon{background:var(--peach)}.focus.d-strategy .icon{background:var(--lilac)}.focus.d-data .icon{background:var(--sage)}.story-js .step{opacity:.4;transform:translate(-6px)}.story-js .step.is-active{opacity:1;box-shadow:var(--shadow-lift);transform:none}.story-js .step.d-ai.is-active{border-color:var(--peach)}.story-js .step.d-strategy.is-active{border-color:var(--lilac)}.story-js .step.d-data.is-active{border-color:var(--sage)}.story-art{position:relative}.cloud{--size:min(500px, 42vw);top:calc(50svh - var(--size) / 2 + 24px);width:var(--size);height:var(--size);margin-left:auto;animation:1s cubic-bezier(.2,.7,.2,1) .2s both rise;display:block;position:sticky}@media (width<=900px){.story-grid{grid-template-columns:1fr;gap:0}.story-art{z-index:2;background:linear-gradient(var(--paper) 82%, transparent);order:-1;height:250px;position:sticky;top:62px}.cloud{--size:230px;margin:10px auto 0;position:relative;top:0}.hero-copy{min-height:auto;padding:16px 0 32px}.steps{padding:4vh 0 30vh}.steps-head{margin-bottom:6vh}.step{max-width:none;margin-bottom:38vh}}
