:root{color-scheme:light;--paper:#fafbfe;--ink:#182132;--muted:#586378;--blue:#204ae7;--line:#dce1ed;--panel:#172a65;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:2rem}
*{box-sizing:border-box}body{margin:0}a{color:inherit}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}h1,h2,h3,p{margin:0}a,button{-webkit-tap-highlight-color:transparent}.wrap{width:min(1200px,calc(100% - 112px));margin-inline:auto}.skip-link{position:absolute;z-index:10;top:-5rem;left:1rem;background:var(--ink);color:white;padding:1rem}.skip-link:focus{top:1rem}.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:28px;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:650;font-size:1rem}.monogram{display:grid;place-items:center;background:var(--blue);color:white;width:40px;height:40px;border-radius:11px;font-weight:750;font-size:1rem;letter-spacing:-.04em}nav{display:flex;gap:32px;flex-wrap:wrap}nav a{font-size:.9375rem;text-decoration:none;color:var(--muted);padding-block:8px}nav a:hover{color:var(--blue)}.hero{display:grid;grid-template-columns:1fr .86fr;gap:9%;padding-block:86px 94px;align-items:center}.eyebrow,.section-label,.project-category{font-size:.875rem;line-height:1.5;font-weight:550}.eyebrow{color:var(--muted);margin-bottom:30px}.hero h1{font-size:clamp(4.8rem,8.2vw,7.25rem);font-weight:650;line-height:1.01;letter-spacing:-.067em}.hero h1 span{color:var(--blue)}.hero-description{font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.55;margin:28px 0 30px;color:var(--muted);letter-spacing:-.015em}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);border:1px solid var(--blue);padding:16px 22px;min-height:52px;color:white;border-radius:5px;text-decoration:none;font-size:.9375rem;font-weight:600;transition:background .18s,transform .18s}.button:hover{background:#123acb;transform:translateY(-2px)}.hello-panel{display:flex;flex-direction:column;justify-content:space-between;background:var(--panel);color:white;min-height:440px;aspect-ratio:1 / 1.1;padding:30px;border-radius:8px;transform:rotate(2deg);box-shadow:12px 15px 0 #e8edfb}.panel-top,.panel-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem}.panel-top{font-size:.75rem;letter-spacing:.07em;color:#cad5fb;border-bottom:1px solid #506394;padding-bottom:22px}.panel-top span:last-child{font-size:1rem;font-weight:650}.hello-word{font-size:clamp(3.5rem,5.5vw,5rem);line-height:1.09;letter-spacing:-.055em;font-weight:550;margin:34px 0}.period{color:#91aaff}.panel-bottom{font-size:.875rem;line-height:1.5;color:#cad5fb}.code-mark{font-family:monospace;font-size:2.5rem;color:#8ba5ff;letter-spacing:-.12em}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding-block:60px 80px;border-top:1px solid var(--line)}.section-label{color:var(--blue);margin-bottom:22px}h2{font-size:clamp(1.8rem,2.7vw,2.4rem);line-height:1.17;letter-spacing:-.04em;font-weight:600}.about-copy p{font-size:1.2rem;line-height:1.65;letter-spacing:-.015em}.about-copy .secondary{margin-top:18px;color:var(--muted);font-size:1rem;letter-spacing:0}.text-link{display:inline-flex;gap:16px;flex-wrap:wrap;margin-top:26px;font-size:.9375rem;font-weight:600;text-underline-offset:5px;text-decoration-color:#a1b0dc}.text-link:hover{color:var(--blue)}.handle{color:var(--muted);font-weight:400}.projects{background:#edf1f9;padding-block:70px 80px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:36px}.collection-label{font-size:.875rem;color:var(--muted);padding-bottom:4px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project{display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-height:312px;padding:30px;background:var(--paper);border:1px solid transparent;border-radius:6px;text-decoration:none;transition:border-color .18s,transform .18s}.project:hover{border-color:#9faee0;transform:translateY(-3px)}.project-top{display:flex;justify-content:space-between;align-items:center;gap:1rem}.project-number{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}.tag{font-size:.8125rem;line-height:1.4;border:1px solid var(--line);border-radius:4px;padding:5px 10px;color:var(--muted)}.project-category{font-size:.8125rem;color:var(--blue);margin-bottom:10px}h3{font-size:1.5rem;font-weight:600;line-height:1.25;letter-spacing:-.025em}.project-description{font-size:1rem;line-height:1.6;color:var(--muted);margin-top:12px;max-width:30ch}.project-link{font-size:.875rem;font-weight:600;text-decoration:underline;text-decoration-color:#a1b0dc;text-underline-offset:5px}.closing{padding-block:80px}.closing-row{display:flex;justify-content:space-between;align-items:center;gap:28px}.closing h2{font-size:clamp(2.2rem,4.2vw,3.5rem);line-height:1.12}.button-outline{background:transparent;color:var(--blue)}.button-outline:hover{background:#e7edff}.site-footer{padding-block:26px 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.8125rem;color:var(--muted)}.site-footer a{text-underline-offset:4px}
@media(min-width:1600px){.hero h1{font-size:7.25rem}}
@media(max-width:900px){.wrap{width:calc(100% - 64px)}.hero{gap:6%;padding-block:65px 76px}.hero h1{font-size:5.5rem}.hello-panel{padding:24px;min-height:400px}.hello-word{font-size:4rem}.about{gap:7%}.project{padding:25px}.collection-label{display:none}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.site-header{padding-block:20px;gap:12px}.identity{font-size:.9375rem;gap:8px}.monogram{width:34px;height:34px;border-radius:9px;font-size:.875rem}nav{gap:16px}nav a{font-size:.875rem}.hero{grid-template-columns:1fr;gap:42px;padding-block:48px 58px}.eyebrow{margin-bottom:24px;font-size:.8125rem}.hero h1{font-size:clamp(4.8rem,18vw,6.5rem)}.hero-description{font-size:1.25rem;margin-top:24px}.hello-panel{aspect-ratio:auto;min-height:320px;margin:0 6px 0 0;padding:26px;transform:rotate(1deg);box-shadow:7px 9px 0 #e8edfb}.hello-word{font-size:4.4rem;line-height:1.04;margin:24px 0}.panel-top{padding-bottom:16px}.about{grid-template-columns:1fr;gap:28px;padding-block:42px 52px}.section-label{margin-bottom:16px}.about-copy p{font-size:1.125rem}.projects{padding-block:48px}.section-heading{margin-bottom:28px}.project-grid{grid-template-columns:1fr;gap:16px}.project{min-height:285px;padding:26px;gap:26px}.project-description{max-width:none}.closing{padding-block:52px}.closing-row{align-items:flex-start;flex-direction:column}.site-footer{font-size:.75rem;gap:15px}.site-footer span:nth-child(2){display:none}}
@media(max-width:360px){.identity>span:last-child{display:none}nav{gap:20px}.hero h1{font-size:4.7rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;transform:none!important}}
nav a[aria-current="page"]{color:var(--blue);font-weight:650}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.hero-actions .text-link{margin:0}.latest{padding-block:70px 0}.latest .section-heading{margin-bottom:26px}.post-row{display:grid;grid-template-columns:160px 1fr auto;gap:32px;text-decoration:none;padding:32px 0;border-top:1px solid var(--line);align-items:start}.post-row:last-child{border-bottom:1px solid var(--line)}.post-row h2,.post-row h3{font-size:1.5rem;line-height:1.3;letter-spacing:-.03em}.post-row:hover h2,.post-row:hover h3{color:var(--blue)}.post-row p{color:var(--muted);font-size:1rem;line-height:1.6;margin-top:10px;max-width:52ch}.post-meta{display:flex;flex-wrap:wrap;gap:10px 16px;color:var(--muted);font-size:.8125rem;line-height:1.6}.post-row .post-meta{flex-direction:column;gap:8px}.post-meta span{color:var(--blue)}.post-read{font-size:.875rem;font-weight:600;white-space:nowrap;padding-top:5px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#a1b0dc}.site-footer>div{display:flex;gap:22px;flex-wrap:wrap}.blog-intro{padding-block:76px 64px}.blog-intro .eyebrow{margin-bottom:26px}.blog-intro h1{font-size:clamp(3.6rem,7vw,6rem);font-weight:600;line-height:1.04;letter-spacing:-.055em}.blog-intro h1 span{color:var(--blue)}.blog-intro>p:not(.eyebrow){font-size:1.25rem;color:var(--muted);line-height:1.6;margin-top:28px;max-width:40ch}.blog-intro .button{margin-top:28px}.blog-list{min-height:280px;padding-bottom:90px}.empty-state{padding-block:30px;color:var(--muted)}.article{max-width:800px;padding-block:48px 80px}.back-link{font-size:.9375rem;text-underline-offset:5px;color:var(--muted)}.article-header{padding-block:44px 36px;border-bottom:1px solid var(--line);margin-bottom:36px}.article h1{font-size:clamp(2.6rem,5.2vw,4rem);font-weight:600;line-height:1.1;letter-spacing:-.045em;margin-top:20px}.article-summary{font-size:1.3rem;line-height:1.6;color:var(--muted);margin-top:22px}.article-author{font-size:.875rem;margin-top:28px}.prose{font-size:1.125rem;line-height:1.85;overflow-wrap:break-word}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin:0 0 1.5rem}.prose h2{font-size:1.75rem;margin:2.7rem 0 1.1rem;line-height:1.3}.prose h3{font-size:1.375rem;margin:2rem 0 1rem}.prose h4,.prose h5,.prose h6{font-size:1.125rem;margin:2rem 0 1rem}.prose a{color:var(--blue);text-underline-offset:3px}.prose code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.875em;background:#edf1f9;border-radius:4px;padding:.15em .35em}.prose pre{overflow-x:auto;background:#182132;color:#f2f5ff;padding:22px;border-radius:6px;line-height:1.6}.prose pre code{background:transparent;padding:0;color:inherit}.prose blockquote{margin-left:0;padding:8px 0 8px 24px;border-left:3px solid var(--blue);color:var(--muted)}.prose blockquote p:last-child{margin-bottom:0}.prose img{max-width:100%;height:auto;border-radius:5px}.prose table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}.prose th,.prose td{text-align:left;padding:10px 16px;border:1px solid var(--line)}.article-footer{margin-top:55px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.highlight .c,.highlight .c1,.highlight .cm{color:#a7b2cb}.highlight .k,.highlight .kd,.highlight .kn{color:#b8b3ff}.highlight .s,.highlight .s1,.highlight .s2{color:#b3eac6}.highlight .m,.highlight .mi{color:#e6c093}
@media(max-width:900px){.site-header{gap:15px}nav{gap:24px}.post-row{grid-template-columns:130px 1fr;gap:22px}.post-read{display:none}}
@media(max-width:650px){nav{gap:15px}.identity>span:last-child{display:none}.site-header .monogram{width:38px;height:38px}.hero-actions{gap:22px}.latest{padding-top:48px}.post-row{grid-template-columns:1fr;gap:14px;padding-block:26px}.post-row .post-meta{flex-direction:row;gap:14px}.blog-intro{padding-block:50px 42px}.blog-intro h1{font-size:3.6rem}.blog-intro>p:not(.eyebrow){font-size:1.125rem}.blog-list{padding-bottom:55px;min-height:240px}.article{padding-block:32px 55px}.article-header{padding-block:34px 28px;margin-bottom:28px}.article-summary{font-size:1.125rem}.prose{font-size:1.0625rem}.site-footer>div{gap:18px}.section-heading{align-items:center}.section-heading .text-link{margin:0}.latest .section-heading{gap:18px}.latest h2{font-size:1.8rem}}

.social-links{display:flex;gap:24px;flex-wrap:wrap}.closing-links{display:flex;gap:14px;flex-wrap:wrap}.closing-row{flex-wrap:wrap}
