@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.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{--bg:#0b0c0b;--text:#f5f5f2;--muted:#b9bbb5;--subtle:#7d8077;--accent:#d5fb19;--line:#40423b;--container:900px;--wide:1220px;color-scheme:dark;font-optical-sizing:auto;font-synthesis:none;background:var(--bg);color:var(--text);font-family:DM Sans Variable,DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{isolation:isolate;margin:0;font-size:20px;line-height:1.6;position:relative}body:before{content:"";z-index:-1;pointer-events:none;opacity:.16;background:url(/assets/background-grain.png) 0 0/800px;position:fixed;inset:0}h1,h2,h3,p,ul{margin:0}h1,h2,h3{letter-spacing:-.045em;text-wrap:balance;font-weight:700;line-height:1.14}h2{font-size:clamp(32px,3.1vw,46px)}h3{letter-spacing:-.035em;font-size:27px}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a,summary{transition:color .18s,background-color .18s,border-color .18s}a:hover{color:var(--accent)}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{max-width:100%;height:auto}.container{width:min(var(--container), calc(100% - 80px));margin-inline:auto}.wide-container{width:min(var(--wide), calc(100% - 80px));margin-inline:auto}.icon{vertical-align:middle;filter:invert();width:var(--icon-size,24px);height:var(--icon-size,24px);flex-shrink:0;display:inline-block}.site-header{justify-content:space-between;align-items:center;gap:30px;min-height:116px;display:flex}.wordmark{letter-spacing:-.06em;font-size:36px;font-weight:750;line-height:1}.wordmark span{color:var(--accent)}.wordmark .wordmark-suffix{color:var(--text);font-weight:450}.desktop-nav{align-items:center;gap:35px;font-size:16px;display:flex}.desktop-nav>a[aria-current=page]{color:var(--accent)}.desktop-nav .button{padding:15px 22px;font-size:14px}.mobile-nav{display:none}.language-switcher{border:1px solid var(--line);border-radius:7px;align-items:center;gap:2px;padding:3px;display:inline-flex}.language-switcher a{border-radius:4px;justify-content:center;align-items:center;min-width:36px;min-height:38px;padding:6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.language-switcher a[aria-current=true]{color:var(--bg);background:var(--accent)}.mobile-nav nav .language-switcher{align-self:start;margin-block:12px 4px}.mobile-nav nav .language-switcher a{min-width:44px;min-height:44px;padding:8px;font-size:13px}.button{white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:18px;min-height:62px;padding:17px 30px;font-size:18px;font-weight:700;line-height:1.25;display:inline-flex}.button--primary{color:#101207;background:var(--accent)}.button--primary:hover{color:#101207;background:#e2ff50}.button--primary .icon{filter:none}.button--secondary{color:var(--text);background:0 0;border-color:#7d8077;font-weight:500}.button--secondary:hover{border-color:var(--text);color:var(--text);background:#ffffff08}.button-note{color:var(--muted);margin-top:24px;font-size:15px;display:block}.pen-mark{vertical-align:middle;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;color:var(--accent);pointer-events:none;flex-shrink:0;display:inline-block}.pen-mark path{vector-effect:non-scaling-stroke}.accent-rule{width:72px;height:14px;margin-bottom:14px;display:block}.hero-scene{isolation:isolate;position:relative;overflow:clip}.hero{z-index:2;text-align:center;padding-top:105px;padding-bottom:70px;position:relative}.hero>.accent-rule{margin:0 auto 14px}.hero-byline{letter-spacing:.32em;text-transform:uppercase;flex-direction:column;gap:10px;font-size:15px;line-height:1.5;display:flex}.hero-profile{align-self:center;align-items:center;gap:10px;min-height:44px;display:inline-flex}.hero h1{letter-spacing:-.055em;margin-top:48px;font-size:clamp(52px,6.5vw,96px);line-height:1.01}.hero h1>span{display:block}.hero-title-line{max-width:100%;display:inline-block;position:relative}.hero-underline{stroke-width:2.6px;width:94%;height:28px;position:absolute;top:calc(100% - 2px);left:3%}.hero-description{text-wrap:pretty;max-width:830px;margin:36px auto 0;font-size:22px;line-height:1.6}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;margin-top:40px;display:flex}.experience{text-align:center;padding-top:55px;padding-bottom:42px}.experience>.accent-rule{margin:0 auto 27px}.experience-facts{justify-content:center;gap:0;display:flex}.experience-facts>div{padding:0 56px}.experience-facts>div+div{border-left:1px solid var(--line)}.experience-facts strong{letter-spacing:-.04em;font-size:29px;line-height:1.2;display:block}.experience-facts span{letter-spacing:.1em;text-transform:uppercase;margin-top:9px;font-size:12px;display:block}.proof{margin-top:65px}.proof p{margin-bottom:26px;font-size:18px}.proof ul{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;padding:0;list-style:none;display:flex}.proof li{line-height:0}.proof img{object-fit:cover;border-radius:17px;width:68px;height:68px}.proof li:first-child img,.proof li:last-child img{object-fit:contain;background:#fff;padding:7px}.section{margin-top:150px}.section-heading{justify-content:space-between;align-items:end;gap:28px;margin-bottom:44px;display:flex}.section-heading .accent-rule{margin-bottom:13px}.text-link{white-space:nowrap;align-items:center;gap:14px;margin-bottom:4px;font-size:15px;display:inline-flex}.text-link:hover .icon{transform:translate(4px)}.row-arrow{transition:transform .2s}.project-row{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,1fr) 32px;align-items:center;gap:38px;padding:43px 0;display:grid}.project-row:first-child{padding-top:20px}.project-icon{aspect-ratio:1;border:1px solid var(--line);background:#ffffff06;border-radius:16px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.project-icon img{object-fit:cover;background:var(--bg);width:100%;height:100%;position:absolute;inset:0}.project-icon img[hidden]{display:none}.project-number{color:var(--muted);font-size:27px;font-weight:600;line-height:1}.project-status{color:var(--muted);margin-bottom:9px;font-size:15px;display:block}.project-status--active{color:var(--accent)}.project-info h3{margin-bottom:8px;font-size:38px;line-height:1.2}.project-info p{color:var(--text);font-size:19px;line-height:1.5}.project-row:hover .row-arrow,.post-row:hover .row-arrow{transform:translate(7px)}.project-row:hover h3,.post-row:hover h3{color:var(--accent)}.post-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:36px;padding:33px 0;display:flex}.post-row:first-child{padding-top:15px}.post-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:13px;font-size:16px;line-height:1.5;display:flex}.post-row h3{font-size:30px;line-height:1.25}.draft-label{border:1px solid var(--line);border-radius:4px;padding:1px 8px;font-size:12px}.case-study-list{margin-top:30px}.case-study-row>div{min-width:0}.case-study-row .draft-label{margin-bottom:12px;display:inline-block}.case-study-summary{max-width:740px;color:var(--muted);margin-top:14px;font-size:clamp(17px,1.6vw,23px);line-height:1.65}.section-intro{margin-top:20px;font-size:21px}.services{flex-direction:column;margin:50px 0 0;padding:0;list-style:none;display:flex}.service{border-bottom:1px solid var(--line);align-items:start;gap:43px;padding:34px 0;display:flex}.service:first-child{padding-top:0}.service:last-child{border-bottom:0;padding-bottom:0}.service-marker{flex-direction:column;flex:0 0 60px;align-items:center;gap:15px;display:flex}.service-number{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.08em;font-size:14px;line-height:1}.service-marker>.pen-icon{stroke-width:2.1px;width:60px;height:60px}.service-content{min-width:0}.service h3{letter-spacing:-.025em;margin-bottom:8px;font-size:25px}.service p{color:var(--text);font-size:20px}.service .service-outcome{color:var(--muted);margin-top:18px;font-size:17px}.service-outcome>span{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:650;line-height:1.5;display:block}.contact-section{text-align:center;margin-top:180px;padding-bottom:110px}.contact-spark{width:48px;height:48px;margin:0 auto 30px;display:block;transform:rotate(-9deg)}.contact-section h2{letter-spacing:-.055em;font-size:clamp(38px,4.5vw,60px)}.contact-section>p{margin-top:25px;font-size:20px}.contact-section .button{margin-top:40px}.contact-action{max-width:100%;display:inline-block;position:relative}.contact-arrow{stroke-width:2.2px;width:110px;height:100px;position:absolute;top:10px;left:calc(100% - 30px);transform:rotate(58deg)}.email-alternative{color:var(--muted);margin-top:16px;font-size:15px;display:block}.site-footer{justify-content:space-between;align-items:center;gap:38px;padding:36px 0 62px;font-size:13px;line-height:1.6;display:flex}.site-footer>div{flex-direction:column;display:flex}.site-footer>div:last-child{color:var(--muted)}.site-footer .footer-links{flex-direction:row;align-items:center;gap:35px}.footer-links>span,.footer-links>a{align-items:center;gap:9px;display:flex}.footer-links>a{border-left:1px solid var(--line);padding-left:30px}.skip-link{z-index:10;background:var(--accent);color:var(--bg);clip-path:inset(50%);padding:12px 18px;position:fixed;top:15px;left:15px;transform:translateY(-160%)}.skip-link:focus-visible{clip-path:none;transform:translateY(0)}.preview-note{border-top:1px solid var(--line);text-align:center;color:var(--muted);padding:12px 20px;font-size:12px}.quiet-copy{color:var(--muted);max-width:700px;font-size:20px;line-height:1.8}.quiet-copy a{text-underline-offset:4px;text-decoration:underline}.page-intro{margin-bottom:65px;padding-top:95px}.page-intro h1{margin-bottom:28px;font-size:clamp(45px,5.5vw,78px)}.page-intro>p{color:var(--muted);max-width:760px;font-size:22px}.back-link{color:var(--muted);align-items:center;gap:12px;margin-bottom:34px;font-size:16px;display:inline-flex}.article-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:25px;font-size:16px;display:flex}.project-intro-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.project-back-link{border:1px solid var(--line);min-height:44px;color:var(--text);border-radius:8px;gap:8px;margin-bottom:0;padding:9px 12px;font-size:14px;line-height:1.5}.project-back-link:hover{color:var(--text);border-color:var(--muted);background:#ffffff08}.project-status-chip{white-space:nowrap;border:1px solid;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;margin-left:auto;padding:6px 12px;font-size:14px;font-weight:550;line-height:1.5;display:inline-flex}.project-status-chip:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.project-status-chip--active{color:var(--accent);background:#d5fb1914;border-color:#d5fb1940}.project-status-chip--completed{color:#8ed4ff;background:#8ed4ff14;border-color:#8ed4ff40}.project-status-chip--paused{color:#ffcb7a;background:#ffcb7a14;border-color:#ffcb7a40}.project-intro h1{margin-bottom:12px}.project-identity{flex-direction:column;align-items:flex-start;gap:28px;display:flex}.project-title{overflow-wrap:anywhere;min-width:0}.project-detail-icon{border-radius:28px;flex:none;width:120px}.project-cover{border-radius:16px;width:100%;height:auto;display:block}.project-intro--with-cover .project-identity{margin-top:-60px;padding-inline:24px;position:relative}.project-intro--with-cover .project-detail-icon{box-shadow:0 0 0 6px var(--bg)}.project-intro--with-cover>.project-summary{padding-inline:24px}.project-title>.project-category{color:var(--text);font-size:16px;line-height:1.5}.project-intro>.project-summary{margin-top:24px}.article-cover{border-radius:10px;width:100%;margin:45px 0;display:block}.prose{max-width:740px;font-size:21px;line-height:1.85}.prose p{margin-bottom:26px}.prose h2{margin:65px 0 25px;font-size:36px}.prose h3{margin:45px 0 18px;font-size:28px}.prose a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.prose ul,.prose ol{margin:0 0 28px;padding-left:26px}.prose li{margin:10px 0}.prose blockquote{border-left:2px solid var(--accent);color:var(--muted);margin:40px 0;padding-left:28px}.prose figure{margin:40px 0}.prose figure img{border-radius:8px;width:100%}.prose figcaption{color:var(--muted);margin-top:12px;font-size:15px}.prose pre{background:#171914;border-radius:8px;padding:22px;font-size:16px;overflow-x:auto}.prose code{overflow-wrap:anywhere}.related-project{color:var(--muted);margin:45px 0;font-size:17px}.related-project a{color:var(--text);text-underline-offset:5px;text-decoration:underline}.archive-section{margin-top:90px}.archive-section h2{margin-bottom:35px}.not-found{text-align:center;min-height:55vh;padding:120px 0 70px}.not-found h1{margin-bottom:20px;font-size:70px}.not-found .button{margin-top:32px}@media (width>=1001px){.wordmark{font-size:42px}.desktop-nav{font-size:18px}.desktop-nav .button{min-height:58px;padding:15px 26px;font-size:18px}.hero{padding-top:80px}.hero-byline{letter-spacing:.28em;font-size:18px}.hero-description{font-size:26px}.button{gap:22px;min-height:74px;padding:20px 34px;font-size:22px}.button-note{font-size:20px}.experience-facts strong{font-size:36px}.experience-facts span{font-size:18px}.proof p{font-size:26px}h2{font-size:56px}.text-link{font-size:20px}.project-row{grid-template-columns:90px minmax(0,1fr) 32px;gap:45px}.project-icon{border-radius:22px}.project-number{font-size:36px}.project-status{font-size:21px}.project-info h3{font-size:42px}.project-info p{font-size:24px}.post-meta{font-size:22px}.post-row h3{font-size:37px}.section-intro{font-size:26px}.service{gap:64px}.service-marker{flex-basis:84px}.service-marker>.pen-icon{width:84px;height:84px}.service-number{font-size:16px}.service h3{font-size:28px}.service p{font-size:24px}.service .service-outcome{font-size:20px}.service-outcome>span{font-size:13px}.contact-section h2{font-size:72px}.contact-section>p{font-size:26px}.site-footer{font-size:18px}}@media (width<=1000px){.desktop-nav{gap:24px;font-size:14px}.wordmark{font-size:30px}.hero-description{font-size:19px}.proof ul{gap:12px}.proof img{border-radius:14px;width:54px;height:54px}.site-footer{flex-wrap:wrap}.site-footer>div:last-child{width:100%}}@media (width<=900px){.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;align-items:center;gap:9px;min-height:44px;font-size:14px;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{z-index:4;border:1px solid var(--line);background:#13150f;border-radius:8px;flex-direction:column;width:240px;padding:15px 22px;display:flex;position:absolute;top:58px;right:0}.mobile-nav nav a{padding:12px 0;font-size:17px}}@media (width<=720px){body{font-size:17px}.container,.wide-container{width:calc(100% - 48px)}.site-header{min-height:88px}.wordmark{font-size:29px}.hero{padding-top:70px;padding-bottom:30px}.hero-byline{letter-spacing:.22em;gap:8px;font-size:11px}.hero h1{margin-top:35px;font-size:clamp(38px,8.5vw,61px);line-height:1.08}.hero-underline{stroke-width:2px;height:18px}.hero-description{margin-top:28px;font-size:18px;line-height:1.65}.hero-actions{flex-direction:column-reverse;gap:14px;margin-top:35px}.button{gap:15px;min-height:55px;padding:16px 23px;font-size:16px}.hero-actions .button{width:min(100%,310px)}.button-note{margin-top:18px;font-size:13px}.experience{padding-top:62px;padding-bottom:0}.experience-facts>div{padding:0 19px}.experience-facts strong{font-size:22px}.experience-facts span{letter-spacing:.06em;font-size:9px}.proof{margin-top:48px}.proof p{margin-bottom:24px;font-size:16px}.proof ul{gap:13px;max-width:350px;margin-inline:auto}.proof img{border-radius:14px;width:52px;height:52px}.section{margin-top:100px}.section-heading{flex-direction:column;align-items:start;gap:21px;margin-bottom:30px}.text-link{font-size:14px}h2{font-size:32px}.project-row{grid-template-columns:56px minmax(0,1fr) 22px;gap:16px;padding:32px 0}.project-icon{border-radius:14px}.project-number{font-size:18px}.project-status{font-size:13px}.project-info h3{font-size:30px}.project-info p{font-size:16px}.row-arrow{width:22px;height:22px}.post-row{gap:23px;padding:28px 0}.post-row h3{font-size:24px}.post-meta{margin-bottom:9px;font-size:14px}.section-intro{margin-top:23px;font-size:18px}.services{margin-top:36px}.service{gap:20px;padding:28px 0}.service-marker{flex-basis:38px;gap:12px}.service-number{font-size:12px}.service-marker>.pen-icon{stroke-width:1.7px;width:38px;height:38px}.service h3{font-size:21px}.service p{font-size:17px}.service .service-outcome{margin-top:14px;font-size:15px}.service-outcome>span{font-size:11px}.contact-section{margin-top:110px;padding-bottom:65px}.contact-section h2{font-size:38px}.contact-spark{width:38px;height:38px;margin-bottom:25px}.contact-action{display:block}.contact-arrow{stroke-width:1.8px;width:66px;height:62px;top:-7px;left:auto;right:6px;transform:rotate(58deg)}.contact-section>p{margin-top:24px;font-size:18px}.desktop-break{display:none}.site-footer{flex-direction:column;align-items:start;gap:26px;padding-bottom:45px;font-size:12px}.site-footer .footer-links{gap:20px}.footer-links>a{padding-left:20px}.page-intro{margin-bottom:44px;padding-top:70px}.page-intro>p{font-size:19px}.project-identity{gap:20px}.project-detail-icon{border-radius:20px;width:80px}.project-cover{border-radius:12px}.project-intro--with-cover .project-identity{margin-top:-40px;padding-inline:16px}.project-intro--with-cover .project-detail-icon{box-shadow:0 0 0 4px var(--bg)}.project-intro--with-cover>.project-summary{padding-inline:16px}.prose{font-size:18px}.prose h2{font-size:28px}.quiet-copy{font-size:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}
