:root{--paper:#fff;--paper-2:#f5f3ee;--cream:#f4f1ea;--ink:#0e1116;--ink-2:#2a2e36;--ink-3:#5b6068;--violet:#5b3bff;--solar:#ff6a1f;--line:#0e11161a;--line-2:#0e11162e;--maxw:1280px;--pad:clamp(20px, 4vw, 56px);--radius:18px;--radius-lg:28px;--blog-thumb-h:200px;--font-sans:var(--font-inter), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-jetbrains), ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-inter), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit}.mono{font-family:var(--font-mono);letter-spacing:.02em}.eyebrow{letter-spacing:.005em;color:var(--ink-2);align-items:center;gap:9px;font-size:13px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--solar);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.eyebrow.on-dark{color:#ffffffd1}.eyebrow.on-dark:before{background:var(--solar)}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:300;line-height:1.05}p{text-wrap:pretty;margin:0}.container{max-width:var(--maxw);padding:0 var(--pad);margin:0 auto}section{padding:clamp(64px,7vw,112px) 0;position:relative}.section-head{letter-spacing:-.02em;max-width:18ch;margin-top:16px;font-size:clamp(28px,3.6vw,48px);font-weight:300}.section-sub{color:var(--ink-3);max-width:56ch;margin-top:14px;font-size:15px}.btn{cursor:pointer;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:15px;font-weight:500;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn--primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn--primary:hover{background:#1a1f27;transform:translateY(-1px)}.btn--light{color:#0a0a0b;background:#fff;border-color:#fff}.btn--light:hover{background:#f5f3ee;transform:translateY(-1px)}.btn--ghost{color:#fff;-webkit-backdrop-filter:blur(14px)saturate(150%);backdrop-filter:blur(14px)saturate(150%);background:linear-gradient(135deg,#ffffff29,#ffffff0d),#ffffff0a;border-color:#ffffff3d;box-shadow:inset 0 1px #ffffff29}.btn--ghost:hover{background:linear-gradient(135deg,#ffffff3d,#ffffff1a),#ffffff0f;border-color:#ffffff61;transform:translateY(-1px)}.btn--ghost-dark{color:var(--ink);border-color:var(--line-2);background:0 0}.btn--ghost-dark:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-1px)}.btn .dot{background:var(--solar);border-radius:50%;width:6px;height:6px}.nav{z-index:50;padding-top:18px;padding-bottom:18px;padding-left:max(var(--pad), calc((100% - var(--maxw)) / 2 + var(--pad)));padding-right:max(var(--pad), calc((100% - var(--maxw)) / 2 + var(--pad)));justify-content:space-between;align-items:center;transition:background .25s,-webkit-backdrop-filter .25s,backdrop-filter .25s,box-shadow .25s,padding .25s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:saturate(180%)blur(14px);box-shadow:0 1px 0 var(--line);background:#fffffff0;padding-top:12px;padding-bottom:12px}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:20px;font-weight:700;display:inline-flex}.brand .brand-dot{background:var(--solar);border-radius:50%;width:8px;height:8px;margin-top:8px}.brand .wm-o{color:var(--violet)}.nav-center{align-items:center;gap:4px;display:flex}.nav-link{color:var(--ink-2);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;transition:background .2s,color .2s}.nav-link:hover{background:#0e11160f}.nav-actions{align-items:center;gap:10px;display:flex}.lang{position:relative}.lang-trigger{letter-spacing:.04em;color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:7px 4px;font-size:12px;font-weight:600;transition:color .2s,opacity .2s;display:inline-flex}.lang-trigger:hover{opacity:.7}.lang-trigger svg{opacity:.7;transition:transform .2s cubic-bezier(.23,1,.32,1)}.lang-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.lang-menu{background:var(--paper);border:1px solid var(--line);transform-origin:100% 0;z-index:60;gap:2px;min-width:72px;margin:0;padding:4px;list-style:none;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 34px -14px #0e11164d}.lang-menu button{text-align:left;letter-spacing:.04em;width:100%;color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:7px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.lang-menu button:hover{background:#0e11160f}.lang-menu button.active{background:var(--ink);color:#fff}@media (prefers-reduced-motion:no-preference){.lang-menu{animation:.16s cubic-bezier(.23,1,.32,1) lang-menu-in}}@keyframes lang-menu-in{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.cta{border:1px solid var(--line-2);height:36px;color:var(--ink);border-radius:0;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:500;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.cta:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-1px)}.cta .dot{background:var(--solar);border-radius:50%;width:6px;height:6px}.nav-toggle{border:1px solid var(--line-2);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:none}.nav-toggle span{background:currentColor;width:16px;height:1.5px;display:block;position:relative}.nav-toggle span:before,.nav-toggle span:after{content:"";background:currentColor;width:16px;height:1.5px;position:absolute;left:0}.nav-toggle span:before{top:-5px}.nav-toggle span:after{top:5px}body.hero-in-view .nav:not(.scrolled){color:#fff}body.hero-in-view .nav:not(.scrolled) .nav-link{color:#ffffffc7}body.hero-in-view .nav:not(.scrolled) .nav-link:hover{background:#ffffff14}body.hero-in-view .nav:not(.scrolled) .cta{color:#fff;-webkit-backdrop-filter:blur(14px)saturate(150%);backdrop-filter:blur(14px)saturate(150%);background:linear-gradient(135deg,#ffffff29,#ffffff0d),#ffffff0a;border-color:#ffffff42;box-shadow:inset 0 1px #ffffff29}body.hero-in-view .nav:not(.scrolled) .cta:hover{color:var(--ink);background:#fff;border-color:#fff}body.hero-in-view .nav:not(.scrolled) .lang-trigger{color:#ffffffd1}body.hero-in-view .nav:not(.scrolled) .nav-toggle{border-color:#ffffff47}.hero{color:#fff;background:#0a0a0b;align-items:center;min-height:100svh;padding:0;display:flex;position:relative;overflow:hidden}.hero__dots{z-index:0;pointer-events:none;position:absolute;inset:0}.dot-field-container{width:100%;height:100%;position:absolute;inset:0}.hero-copy{z-index:3;max-width:var(--maxw);width:100%;padding:120px var(--pad) 96px;margin:0 auto;position:relative}.hero-kicker{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:#fff9;align-items:center;gap:10px;margin-bottom:22px;font-size:12px;display:inline-flex}.hero-kicker:before{content:"";background:#ffffff80;width:24px;height:1px}.hero h1{letter-spacing:-.035em;font-size:clamp(40px,6.4vw,96px);font-weight:300;line-height:1.02}.hero h1 .ln{display:block}.hero h1 .dot{color:var(--solar)}.hero-sub{color:#ffffffa6;max-width:560px;margin-top:24px;font-size:clamp(15px,1.2vw,18px)}.hero-meta{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.scroll-cue{z-index:3;font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:#ffffffb3;flex-direction:column;align-items:center;gap:10px;font-size:11px;display:inline-flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.scroll-cue:after{content:"";background:linear-gradient(#ffffffb3,#0000);width:1px;height:28px;transition:height .25s}.scroll-cue:hover:after{height:36px}.latest-post-wrap{right:var(--pad);z-index:3;width:min(368px, calc(100vw - var(--pad) * 2));position:absolute;bottom:clamp(28px,6vh,64px)}.latest-post{-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);color:#fff;background:linear-gradient(135deg,#ffffff47,#ffffff1a),#ffffff12;border:1px solid #ffffff42;border-radius:18px;align-items:center;gap:14px;width:100%;padding:13px;text-decoration:none;transition:transform .18s cubic-bezier(.23,1,.32,1),box-shadow .18s cubic-bezier(.23,1,.32,1),border-color .18s;display:flex;box-shadow:inset 0 1px #ffffff47,0 24px 56px -20px #0009}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.latest-post{background:#3e3e46f5}}@media (prefers-reduced-transparency:reduce){.latest-post{-webkit-backdrop-filter:none;backdrop-filter:none;background:#3e3e46f5}}.latest-post:hover{border-color:#fff6;transform:translateY(-3px);box-shadow:inset 0 1px #ffffff52,0 30px 64px -20px #000000ad}.latest-post:active{transform:translateY(-1px)scale(.99)}.latest-post:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.latest-post__thumb{border-radius:12px;flex:none;width:88px;height:88px}.latest-post__body{flex-direction:column;justify-content:center;gap:8px;min-width:0;display:flex}.latest-post__label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#ffffffbf;font-size:11px}.latest-post__title{letter-spacing:-.01em;color:#fff;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:400;line-height:1.3;display:-webkit-box;overflow:hidden}.latest-post__cta{color:var(--solar);align-items:center;gap:6px;margin-top:2px;font-size:13px;font-weight:500;transition:gap .18s cubic-bezier(.23,1,.32,1);display:inline-flex}.latest-post:hover .latest-post__cta{gap:10px}@media (prefers-reduced-motion:no-preference){.latest-post-wrap{animation:.5s cubic-bezier(.23,1,.32,1) .35s backwards latest-post-in}}@keyframes latest-post-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.latest-post:hover,.latest-post:active,.latest-post:hover .latest-post__arrow{transform:none}}.latest-post-lines{gap:8px;margin-top:12px;padding-left:2px;display:flex}.latest-post-line{appearance:none;cursor:pointer;background:0 0;border:0;width:26px;padding:6px 0;transition:width .3s cubic-bezier(.23,1,.32,1)}.latest-post-line:before{content:"";background:#ffffff52;border-radius:1px;height:2px;transition:background .25s;display:block}.latest-post-line:hover:before{background:#ffffff8c}.latest-post-line.is-active{width:40px}.latest-post-line.is-active:before{background:#fffffff2}.latest-post-line:focus-visible{outline:2px solid var(--violet);outline-offset:2px}@media (max-width:900px){.hero{flex-direction:column;justify-content:center}.hero-copy{padding-bottom:0}.latest-post-wrap{margin:44px var(--pad) 96px;align-self:flex-start;position:static}}.svc-list{border-top:1px solid var(--line-2);margin-top:clamp(40px,5vw,64px)}.svc-row{border-bottom:1px solid var(--line-2);grid-template-columns:2.75rem minmax(0,1fr) minmax(0,20rem);align-items:start;gap:0 clamp(28px,4vw,72px);padding:clamp(20px,2.4vw,32px) 0;display:grid}.svc-num{font-family:var(--font-mono);letter-spacing:.18em;color:var(--ink-3);padding-top:.25em;font-size:12px}.svc-title{letter-spacing:-.02em;color:var(--ink);text-wrap:balance;font-size:clamp(26px,3vw,36px);font-weight:300;line-height:1.06}.svc-points{gap:11px;margin:0;padding:.12em 0 0;list-style:none;display:grid}.svc-points li{color:var(--ink-3);padding-left:18px;font-size:14px;line-height:1.45;position:relative}.svc-points li:before{content:"";background:var(--ink-3);opacity:.5;border-radius:50%;width:5px;height:5px;position:absolute;top:.55em;left:0}.tags{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--line-2);color:var(--ink-2);border-radius:8px;padding:5px 10px;font-size:11px}.about{background:var(--ink);padding:clamp(80px,11vw,160px) 0}.about-inner{flex-direction:column;align-items:center;gap:clamp(26px,4vw,46px);display:flex}.about-statement{text-align:center;letter-spacing:-.02em;max-width:64rem;color:var(--cream);text-wrap:balance;margin:0 auto;font-size:clamp(26px,3.4vw,42px);font-weight:300;line-height:1.24}.cta-strip{background:var(--ink);color:var(--cream)}.cta-inner{grid-template-columns:1.4fr 1fr;align-items:end;gap:40px;display:grid}.cta-strip h2{letter-spacing:-.02em;margin-top:18px;font-size:clamp(28px,3.4vw,48px);font-weight:300}.cta-strip p{color:#f4f1eab3;max-width:46ch;margin-top:18px}.cta-actions{flex-direction:column;gap:12px;display:flex}.val-list{border-top:1px solid var(--line-2);margin-top:clamp(40px,5vw,64px)}.val-row{border-bottom:1px solid var(--line-2);grid-template-columns:2.75rem minmax(0,1fr) minmax(0,26rem);align-items:start;gap:0 clamp(28px,4vw,72px);padding:clamp(20px,2.4vw,32px) 0;display:grid}.val-num{font-family:var(--font-mono);letter-spacing:.18em;color:var(--ink-3);padding-top:.25em;font-size:12px}.val-title{letter-spacing:-.02em;color:var(--ink);text-wrap:balance;font-size:clamp(26px,3vw,36px);font-weight:300;line-height:1.06}.val-desc{color:var(--ink-3);max-width:46ch;padding-top:.1em;font-size:15px;line-height:1.5}.work-head,.blog-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;display:flex}.head-link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.head-link:hover{color:var(--violet)}.work-carousel,.blog-carousel{position:relative}.work-track{--work-gap:clamp(12px, 1.5vw, 24px);align-items:flex-start;gap:var(--work-gap);scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain;scroll-snap-type:x proximity;margin-top:clamp(28px,3vw,44px);padding-bottom:6px;display:flex;overflow-x:auto}.work-track.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.work-track::-webkit-scrollbar{display:none}.project{flex:0 0 calc((100% - 3 * var(--work-gap)) / 4);scroll-snap-align:start;cursor:pointer}.project__media{aspect-ratio:3/4;background:#1a1d24;position:relative;overflow:hidden}.thumb-ph{position:absolute;inset:0}.ph--violet{background:radial-gradient(circle at 30% 25%,#5b3bff8c,#0000 55%),radial-gradient(circle at 80% 80%,#ff6a1f59,#0000 55%),linear-gradient(160deg,#15131f,#0e1116)}.ph--solar{background:radial-gradient(circle at 25% 30%,#ff6a1f8c,#0000 55%),radial-gradient(circle at 80% 75%,#5b3bff59,#0000 55%),linear-gradient(160deg,#1c130d,#0e1116)}.project .meta{margin-top:18px}.project .meta h3{letter-spacing:-.01em;color:var(--ink);font-size:19px;font-weight:300}.work-arrow,.blog-arrow{border:1px solid var(--line-2);background:var(--paper);width:44px;height:44px;color:var(--ink);cursor:pointer;z-index:4;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s,opacity .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 10px 24px -10px #0e11162e}.work-arrow:hover,.blog-arrow:hover{background:var(--ink);color:#fff}.work-arrow:disabled,.blog-arrow:disabled{opacity:.35;cursor:default}.work-arrow--prev{left:-22px}.work-arrow--next{right:-22px}.blog-arrow--prev{left:-22px}.blog-arrow--next{right:-22px}.blog-track{scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:calc(25% - 15px);grid-auto-flow:column;gap:20px;display:grid;overflow-x:auto}.blog-track::-webkit-scrollbar{display:none}.blog-card{scroll-snap-align:start;border:1px solid var(--line);background:var(--paper);flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.blog-card:hover{border-color:var(--line-2);transform:translateY(-4px);box-shadow:0 18px 40px -10px #0e11161f}.blog-thumb{height:var(--blog-thumb-h);position:relative;overflow:hidden}.blog-thumb .thumb-ph{transition:transform .4s}.blog-card:hover .blog-thumb .thumb-ph{transform:scale(1.04)}.blog-thumb .badge{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2;background:#0e111680;padding:6px 10px;font-size:10px;position:absolute;top:16px;left:16px}.blog-card-body{flex-direction:column;flex:1;gap:10px;padding:22px;display:flex}.blog-card-date{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.blog-card h3{letter-spacing:-.015em;font-size:18px;font-weight:300}.blog-card .excerpt{color:var(--ink-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.blog-card .read{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--violet);align-items:center;gap:8px;margin-top:auto;font-size:12px;display:inline-flex}#contact{background:var(--ink);color:var(--paper)}.contact-grid{grid-template-columns:1fr 1.1fr;align-items:center;gap:48px;margin-top:40px;display:grid}#contact h2{margin-top:16px;font-size:clamp(28px,3.4vw,48px);font-weight:300}.contact-info p.intro{color:#f4f1eab3;max-width:40ch;margin-top:18px}.contact-rows{gap:20px;margin-top:32px;display:grid}.contact-row{flex-direction:column;align-items:flex-start;display:flex}.contact-row .clbl{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#f4f1ea8c;font-size:11px}.contact-row .cval{color:#fff;margin-top:6px;font-size:18px;font-weight:500}.contact-row a.cval:hover{color:var(--solar)}form.contact{background:#ffffff08;border:1px solid #ffffff1f;border-radius:0;gap:18px;padding:32px;display:grid}form.contact .row{grid-template-columns:1fr 1fr;gap:18px;display:grid}form.contact .field{gap:8px;display:grid}form.contact label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#ffffffa6;font-size:11px}form.contact input,form.contact textarea,form.contact select{color:#fff;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:0;padding:14px 16px;font-family:inherit;font-size:15px}form.contact textarea{resize:vertical;min-height:120px}form.contact input::placeholder,form.contact textarea::placeholder{color:#ffffff59}form.contact input:focus,form.contact textarea:focus,form.contact select:focus{background:#ffffff12;border-color:#fff;outline:none;box-shadow:0 0 0 4px #ffffff14}form.contact select option{color:#111}form.contact button{color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:0;padding:16px 22px;font-size:15px;font-weight:500;transition:background .2s,color .2s,transform .2s}form.contact button:hover{background:var(--solar);color:#fff;transform:translateY(-1px)}.honey{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-msg{border-radius:0;padding:12px 16px;font-size:14px}.form-msg.success{color:#fff;background:#5b3bff2e;border:1px solid #5b3bff66}.form-msg.error{color:#fff;background:#ff565629;border:1px solid #ff565666}.site-footer{background:var(--ink);color:var(--cream);padding:64px 0 32px}.footer-inner{max-width:var(--maxw);padding:0 var(--pad);grid-template-columns:1.3fr repeat(3,1fr);gap:40px;margin:0 auto;display:grid}.footer-brand .brand{color:#fff}.footer-brand .tagline{color:#f4f1ea99;max-width:28ch;margin-top:14px;font-size:14px}.footer-col h4{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#f4f1ea80;margin:0 0 16px;font-size:12px;font-weight:500}.footer-col ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.footer-col a{color:#f4f1ead9;font-size:15px}.footer-col a:hover{color:var(--paper)}.socials{gap:10px;display:flex}.socials a{width:40px;height:40px;font-family:var(--font-mono);letter-spacing:.04em;color:#f4f1ead9;border:1px solid #f4f1ea2e;border-radius:10px;justify-content:center;align-items:center;font-size:12px;transition:transform .2s,background .2s,border-color .2s;display:flex}.socials a:hover{background:#f4f1ea14;border-color:#f4f1ea66;transform:translateY(-2px)}.footer-bottom{max-width:var(--maxw);padding:24px var(--pad) 0;font-family:var(--font-mono);letter-spacing:.06em;color:#f4f1ea80;border-top:1px solid #f4f1ea1f;justify-content:space-between;align-items:center;gap:16px;margin:48px auto 0;font-size:13px;display:flex}.subpage{padding-top:96px;padding-bottom:clamp(64px,7vw,112px)}.page-header{border-bottom:1px solid var(--line);padding:clamp(48px,7vw,96px) 0 clamp(28px,4vw,48px)}.page-header h1{letter-spacing:-.025em;margin-top:16px;font-size:clamp(34px,5vw,64px);font-weight:300}.page-header p{color:var(--ink-3);max-width:56ch;margin-top:16px}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin:36px 0 8px;display:flex}.filters .filter-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-right:6px;font-size:11px}.chip{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:0;padding:9px 14px;font-size:12px;transition:background .2s,color .2s,border-color .2s}.chip:hover{border-color:var(--ink)}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.chip .count{opacity:.55;margin-left:6px}.archive-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0 8px;display:grid}.archive-grid.gallery{grid-template-columns:repeat(3,1fr)}.archive-empty{color:var(--ink-3);padding:64px 0;font-size:15px}.gallery-card{aspect-ratio:4/5;cursor:pointer;background:#1a1d24;position:relative;overflow:hidden}.gallery-card .industry-badge{z-index:2;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e111673;padding:6px 10px;font-size:10px;position:absolute;top:16px;left:16px}.gallery-card .meta{opacity:0;background:linear-gradient(#0000 30%,#0e1116d9 100%);flex-direction:column;justify-content:flex-end;gap:8px;padding:24px;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-card:hover .meta{opacity:1}.gallery-card:hover .thumb-ph{transform:scale(1.04)}.gallery-card .meta h3{color:#fff;font-size:20px}.gallery-card .meta .tags .tag{color:#ffffffd9;border-color:#ffffff4d}@keyframes nopler-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-item{animation:.35s both nopler-fade-in}.post{max-width:820px}.back-link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;font-size:12px;display:inline-flex}.back-link:hover{color:var(--violet)}.post-header{border-bottom:0;padding:24px 0 8px}.post-date{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-top:18px;font-size:12px}.post-cover{border-radius:var(--radius);height:clamp(220px,34vw,380px);margin:8px 0 32px;overflow:hidden}.post-body{max-width:680px}.post-body .lead{color:var(--ink-2);margin-bottom:1.2em;font-size:clamp(18px,1.6vw,21px);line-height:1.5}.post-body p{color:var(--ink-2);margin-bottom:1.1em;font-size:17px;line-height:1.75}@media (hover:none){.project .meta,.gallery-card .meta{opacity:1}}@media (max-width:1080px){.project{flex-basis:calc((100% - 2 * var(--work-gap)) / 3)}.blog-track{grid-auto-columns:calc(33.3333% - 13.3333px)}.archive-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.project{flex-basis:calc((100% - var(--work-gap)) / 2)}}@media (max-width:520px){.project{flex-basis:82%}}@media (max-width:880px){.nav-center{opacity:0;pointer-events:none;background:#0e1116;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;align-items:stretch;gap:4px;padding:12px;transition:opacity .2s,transform .2s;position:fixed;inset:64px 16px auto;transform:scale(.95)translateY(-8px);box-shadow:0 24px 60px #00000073}.nav-center.open{opacity:1;pointer-events:auto;transform:none}.nav-center .nav-link{color:#ffffffdb;padding:12px 14px}.nav-center .nav-link:hover{background:#ffffff14}body.hero-in-view .nav:not(.scrolled) .nav-center .nav-link{color:#ffffffdb}.nav-toggle{display:flex}.cta-inner{grid-template-columns:1fr;align-items:start}.contact-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.work-arrow--prev,.blog-arrow--prev{left:8px}.work-arrow--next,.blog-arrow--next{right:8px}}@media (max-width:820px){.svc-row{grid-template-columns:1fr;align-items:start;gap:14px;padding:32px 0}.svc-num{padding-top:0}.svc-title{font-size:clamp(24px,6.5vw,30px)}.svc-points{gap:9px}.val-row{grid-template-columns:1fr;align-items:start;gap:12px;padding:32px 0}.val-num{padding-top:0}.val-title{font-size:clamp(24px,6.5vw,30px)}}@media (max-width:720px){.blog-track{grid-auto-columns:calc(50% - 10px)}.work-head,.blog-head{flex-direction:column;align-items:flex-start}form.contact .row{grid-template-columns:1fr}}@media (max-width:520px){.footer-inner{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start}.blog-track{grid-auto-columns:86%}.archive-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.nora-hero{color:#fff;background:#0a0a0b;align-items:center;min-height:100svh;padding:clamp(104px,12vw,150px) 0 clamp(56px,7vw,96px);display:flex;position:relative;overflow:hidden}.nora-hero__dots{z-index:0;pointer-events:none;position:absolute;inset:0}.nora-hero__inner{width:100%;position:static}.nora-hero__copy{z-index:2;max-width:min(600px,46vw);position:relative}.nora-hero .hero-kicker{margin-bottom:22px}.nora-hero h1{letter-spacing:-.03em;margin:0;font-size:clamp(34px,4vw,56px);font-weight:300;line-height:1.06}.nora-hero h1 .ln{text-wrap:balance;display:block}.nora-hero h1 .dot{color:var(--solar)}.nora-hero__sub{color:#ffffffa6;max-width:60ch;margin-top:24px;font-size:clamp(15px,1.2vw,18px);line-height:1.55}.nora-hero .hero-meta{align-items:center;margin-top:30px}.nora-hero__link{color:#ffffffd1;align-items:center;gap:6px;padding:14px 4px;font-size:15px;font-weight:500;transition:color .2s;display:inline-flex;position:relative}.nora-hero__link:after{content:"→";transition:transform .2s cubic-bezier(.23,1,.32,1)}.nora-hero__link:hover{color:#fff}.nora-hero__link:hover:after{transform:translate(3px)}.nora-hero__proof{font-family:var(--font-mono);letter-spacing:.04em;color:#fff9;align-items:center;gap:9px;margin-top:22px;font-size:12px;display:inline-flex}.nora-hero__proof-dot{background:var(--solar);border-radius:50%;flex:none;width:7px;height:7px}@media (prefers-reduced-motion:no-preference){.nora-hero__proof-dot{animation:2.4s ease-in-out infinite nora-pulse}}@keyframes nora-pulse{0%,to{box-shadow:0 0 #ff6a1f80}50%{box-shadow:0 0 0 5px #ff6a1f00}}.nora-hero__shot{z-index:1;border:1px solid #ffffff24;border-radius:14px;width:min(1360px,92vw,180svh - 468px);position:absolute;top:50%;left:54%;overflow:hidden;transform:translateY(-50%);box-shadow:0 34px 90px -34px #000000a6}.nora-hero__shot img{width:100%;height:auto;display:block}@media (max-width:900px){.nora-hero{min-height:0}.nora-hero__copy{max-width:none}.nora-hero__shot{width:100%;margin-top:40px;position:static;transform:none}}.nora-about__inner{grid-template-columns:minmax(0,1fr) minmax(0,32rem);align-items:start;gap:clamp(28px,5vw,80px);display:grid}.nora-about__head .section-head{max-width:16ch;margin-top:16px}.nora-about__body{flex-direction:column;gap:18px;max-width:56ch;display:flex}.nora-about__body p{color:var(--ink-3);font-size:clamp(15px,1.2vw,17px);line-height:1.6}.nora-core__head{text-align:center;max-width:720px;margin:0 auto}.nora-core__head .section-head{max-width:20ch;margin:0 auto}.nora-core__sub{max-width:56ch;color:var(--ink-3);margin:16px auto 0;font-size:15px;line-height:1.6}.nora-core__stage{grid-template-columns:minmax(230px,3fr) minmax(0,6fr) minmax(230px,3fr);grid-template-areas:"left scene right";align-items:center;gap:clamp(24px,3vw,48px);min-height:470px;margin-top:clamp(40px,5vw,72px);display:grid;position:relative}.nora-core__labels--left{grid-area:left}.nora-core__labels--right{grid-area:right}.nora-core__callout{pointer-events:none;opacity:0;z-index:3;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.nora-core__callout line{stroke:#0e111680;stroke-width:1px}.nora-core__callout circle{fill:#0e11168c}.nora-core__labels{z-index:2;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex;position:relative}.nora-core__labels button{cursor:pointer;text-align:left;letter-spacing:-.005em;width:100%;color:var(--ink-3);background:0 0;border:0;padding:8px 0 8px 18px;font-family:inherit;font-size:14.5px;font-weight:500;line-height:1.35;transition:color .2s;display:block;position:relative}.nora-core__labels button:before{content:"";background:var(--solar);opacity:0;border-radius:50%;width:7px;height:7px;transition:opacity .2s,transform .2s;position:absolute;top:14px;left:0;transform:scale(.6)}.nora-core__labels button:hover{color:var(--ink-2)}.nora-core__labels li.is-active button{color:var(--ink)}.nora-core__labels li.is-active button:before{opacity:1;transform:scale(1)}.nora-core__labels button:focus-visible{outline:2px solid var(--violet);outline-offset:2px;border-radius:6px}.nora-core__itembody{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.23,1,.32,1);display:grid}.nora-core__itembody>p{color:var(--ink-3);opacity:0;max-width:34ch;margin:0;padding-left:18px;font-size:13.5px;line-height:1.55;transition:opacity .22s;overflow:hidden}.nora-core__labels li.is-active .nora-core__itembody{grid-template-rows:1fr}.nora-core__labels li.is-active .nora-core__itembody>p{opacity:1;padding-top:4px;transition-delay:80ms}@media (prefers-reduced-motion:reduce){.nora-core__itembody,.nora-core__itembody>p{transition:none}}.nora-core__scene{perspective:1600px;grid-area:scene;justify-content:center;align-items:center;padding-top:48px;display:flex;transform:translateY(clamp(60px,7vw,100px))}.nora-core__stack{transform-style:preserve-3d;aspect-ratio:4/3;width:min(330px,78%);position:relative;transform:rotateX(56deg)rotate(-42deg)}.nora-core__layer{border:1px solid var(--line-2);background:#ffffffeb;border-radius:22px;justify-content:center;align-items:center;transition:background .35s,border-color .35s;display:flex;position:absolute;inset:0}.nora-core__layer-icon{color:#0e111638;transition:color .35s}.nora-core__layer.is-active{background:#eeebff;border-color:#5b3bff80}.nora-core__layer.is-active .nora-core__layer-icon{color:var(--violet)}@media (max-width:1180px){.nora-core__stage{grid-template-columns:1fr 1fr;grid-template-areas:"scene scene""left right";gap:clamp(16px,3vw,36px);min-height:0}.nora-core__scene{grid-area:scene;min-height:400px;padding-top:112px;transform:none}}@media (max-width:640px){.nora-core__stage{grid-template-columns:1fr;grid-template-areas:"scene""left""right";gap:20px}.nora-core__scene{min-height:380px;padding-top:150px}.nora-core__stack{width:min(240px,64%)}}.nora-flow__head{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);align-items:start;gap:20px clamp(32px,6vw,96px);display:grid}.nora-flow__head .eyebrow{padding-top:6px}.nora-flow__intro{text-align:right;justify-self:end}.nora-flow__intro .section-head{margin-left:auto}.nora-flow__sub{color:var(--ink-3);max-width:52ch;margin-top:16px;margin-left:auto;font-size:15px;line-height:1.6}.nora-flow__board{margin-top:clamp(44px,6vw,72px);position:relative}.nora-flow__path{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.nora-flow__dots{stroke:var(--solar)}.nora-steps{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.nora-step{padding:clamp(22px,2.4vw,36px);position:relative}.nora-step__num{background:var(--solar);color:#fff;width:36px;height:36px;font-family:var(--font-mono);letter-spacing:.04em;border-radius:9px;justify-content:center;align-items:center;font-size:12.5px;font-weight:500;display:inline-flex}.nora-step__title{letter-spacing:-.01em;margin:18px 0 8px;font-size:17px;font-weight:500}.nora-step__desc{color:var(--ink-3);max-width:36ch;font-size:14.5px;line-height:1.6}.nora-faq__cols{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 clamp(32px,4.5vw,72px);margin-top:clamp(36px,4vw,56px);display:grid}.nora-faq__list{border-top:1px solid var(--line-2);margin:0;padding:0;list-style:none}.nora-faq__item{border-bottom:1px solid var(--line-2)}.nora-faq__q{cursor:pointer;text-align:left;letter-spacing:-.01em;width:100%;color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:24px;padding:clamp(18px,2vw,24px) 0;font-size:clamp(16px,1.5vw,19px);font-weight:400;transition:color .2s;display:flex}.nora-faq__chev{color:var(--ink-3);flex:none;transition:transform .3s cubic-bezier(.23,1,.32,1),color .2s;display:inline-flex}.nora-faq__q:hover .nora-faq__chev{color:var(--ink)}.nora-faq__item[data-open=true] .nora-faq__chev{color:var(--ink);transform:rotate(180deg)}.nora-faq__answer{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.23,1,.32,1);display:grid}.nora-faq__item[data-open=true] .nora-faq__answer{grid-template-rows:1fr}.nora-faq__answer>p{color:var(--ink-3);max-width:70ch;margin:0;padding-bottom:0;font-size:15px;line-height:1.6;transition:padding-bottom .32s;overflow:hidden}.nora-faq__item[data-open=true] .nora-faq__answer>p{padding-bottom:clamp(18px,2vw,24px)}@media (prefers-reduced-motion:reduce){.nora-faq__answer,.nora-faq__chev,.nora-faq__answer>p{transition:none}}@media (max-width:820px){.nora-faq__cols{grid-template-columns:1fr;gap:0}.nora-faq__list+.nora-faq__list{border-top:0}}@media (max-width:980px){.nora-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px) and (min-width:521px){.nora-step:nth-child(2n){padding-right:52px}}@media (max-width:820px){.nora-flow__head{grid-template-columns:1fr;gap:14px}.nora-flow__head .eyebrow{padding-top:0}.nora-flow__intro{text-align:left;justify-self:start}.nora-flow__intro .section-head,.nora-flow__sub{margin-left:0}.nora-about__inner{grid-template-columns:1fr;gap:clamp(20px,4vw,32px)}}@media (max-width:520px){.nora-steps{grid-template-columns:1fr}}.nora-problem__split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(36px,5.5vw,88px);display:grid}.nora-problem__copy .section-head{margin-top:16px}.nora-problem__points{margin-top:clamp(28px,3.5vw,44px)}.nora-problem__point+.nora-problem__point{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.nora-problem__pain{color:var(--ink);letter-spacing:-.005em;max-width:52ch;font-size:16px;font-weight:500;line-height:1.5}.nora-problem__panel{padding:0 clamp(4px,.8vw,16px)}.nora-toasts{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.nora-toast{background:var(--paper);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:0 10px 24px -14px #0e111629,0 2px 6px -2px #0e11160d}.nora-toast--fade1{opacity:.55;transform:scale(.93)}.nora-toast--fade2{opacity:.32;transform:scale(.86)}.nora-toast--strong{box-shadow:0 18px 36px -16px #0e111638,0 3px 8px -3px #0e111612}.nora-toast__flag{border-radius:50%;flex:none;width:26px;height:26px;position:relative;overflow:hidden}.nora-toast__flag:after{content:"";border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 1.5px #0e111624}.nora-toast__flag svg{width:100%;height:100%;display:block}.nora-toast__body{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.nora-toast__route{color:var(--ink);letter-spacing:-.005em;font-size:13.5px;font-weight:500;line-height:1.35}.nora-toast__meta{color:var(--ink-3);font-size:11px}.nora-toast__pill{letter-spacing:.01em;white-space:nowrap;border-radius:999px;flex:none;padding:4px 10px;font-size:11.5px;font-weight:500}.nora-toast__pill--new{color:var(--ink-2);background:#0e11160f}.nora-toast__pill--offers{color:#4b2ee6;background:#5b3bff1a}.nora-toast__pill--proposed{color:#15803d;background:#16a34a1a}.nora-toast__pill--accepted{color:#166534;background:#16a34a21;box-shadow:inset 0 0 0 1px #16a34a59}.nora-early{background:var(--ink);color:var(--cream)}.nora-early .section-head{max-width:20ch;margin-top:16px}.nora-early__body{color:#f4f1eab8;max-width:60ch;margin-top:20px;font-size:clamp(16px,1.3vw,18px);line-height:1.6}.nora-early__split{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start;gap:clamp(40px,6vw,96px);display:grid}.nora-early__integrations{margin-top:clamp(36px,4.5vw,56px)}.nora-early__integrations-label{color:#ffffffeb;font-size:14.5px;font-weight:500}.nora-early__integrations-label span{color:#f4f1ea8c}.nora-early__logos{flex-wrap:wrap;align-items:center;gap:22px;margin:18px 0 0;padding:0;list-style:none;display:flex}.nora-early__logo{justify-content:center;align-items:center;display:flex}.nora-early__logo img{object-fit:contain;width:28px;height:28px;display:block}.nora-early__side{padding-top:6px}.nora-early__point{border-top:1px solid #ffffff24;padding:20px 0}.nora-early__point h3{letter-spacing:-.01em;color:#fff;font-size:18px;font-weight:400}.nora-early__point p{color:#f4f1eaa8;margin-top:8px;font-size:14px;line-height:1.55}.nora-early__cta{margin-top:20px}@media (max-width:820px){.nora-problem__split,.nora-early__split{grid-template-columns:1fr}.nora-early__split{gap:40px}.nora-problem__panel{padding:18px 0}.nora-toast__route{font-size:12.5px}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.nora [data-reveal]{animation:linear both nora-reveal;animation-timeline:view();animation-range:entry 4% cover 20%}@keyframes nora-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}}.thumb-img{object-fit:cover;width:100%;height:100%;transition:transform .4s;position:absolute;inset:0}.blog-card:hover .thumb-img,.gallery-card:hover .thumb-img{transform:scale(1.04)}.post-cover{position:relative}.latest-post__thumb{position:relative;overflow:hidden}.case-study .cs-wrap{max-width:960px}.cs-hero{border-bottom:0;padding-top:8px}.cs-hero__sub{color:var(--ink-2);max-width:720px;margin-top:14px;font-size:clamp(18px,2vw,24px);line-height:1.4}.cs-meta{border-top:1px solid var(--line);flex-wrap:wrap;gap:28px 48px;margin:28px 0 0;padding-top:24px;display:flex}.cs-meta__item{flex-direction:column;gap:4px;display:flex}.cs-meta__item dt{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.cs-meta__item dd{color:var(--ink);margin:0;font-size:15px}.cs-meta__item dd a{color:var(--violet)}.cs-cover{border-radius:var(--radius);aspect-ratio:16/9;background:var(--paper-2);margin:36px 0 8px;position:relative;overflow:hidden}.cs-cover .thumb-img,.cs-cover .thumb-ph{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cs-body{margin-top:8px}.cs-block{margin:56px 0}.cs-block:first-child{margin-top:40px}.cs-section{max-width:720px;padding:0}.cs-section__head{letter-spacing:-.01em;margin-bottom:16px;font-size:clamp(22px,2.4vw,30px);font-weight:300}.cs-prose{color:var(--ink-2);font-size:17px;line-height:1.65}.cs-prose p{margin:0 0 1em}.cs-prose h2,.cs-prose h3{color:var(--ink);margin:1.4em 0 .5em}.cs-prose a{color:var(--violet);text-decoration:underline}.cs-prose ul,.cs-prose ol{margin:0 0 1em;padding-left:1.3em}.cs-prose li{margin-bottom:.4em}.cs-image{margin-left:0;margin-right:0}.cs-image--inset{max-width:720px}.cs-img{border-radius:var(--radius);width:100%;height:auto;display:block}.cs-img-fill{aspect-ratio:16/10;border-radius:var(--radius);width:100%;display:block;position:relative;overflow:hidden}.cs-caption{font-family:var(--font-mono);color:var(--ink-3);margin-top:10px;font-size:12px}.cs-gallery{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.cs-gallery__item{margin:0}@media (max-width:640px){.cs-gallery{grid-template-columns:1fr}}.cs-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:28px;padding:32px 0;display:grid}.cs-metric{flex-direction:column;gap:6px;display:flex}.cs-metric__value{letter-spacing:-.02em;color:var(--ink);font-size:clamp(32px,4vw,44px);font-weight:600}.cs-metric__label{color:var(--ink-3);font-size:14px}.cs-palette{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:18px;display:grid}.cs-swatch{flex-direction:column;gap:8px;display:flex}.cs-swatch__chip{border:1px solid var(--line);border-radius:12px;height:96px;display:block}.cs-swatch__name{color:var(--ink);font-size:14px;font-weight:600}.cs-swatch__hex{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;font-size:12px}.cs-type{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px 32px;display:grid}.cs-type__item{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:22px 0;display:flex}.cs-type__name{color:var(--ink);font-size:clamp(22px,2.2vw,30px)}.cs-type__role{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--violet);font-size:11px}.cs-type__note{color:var(--ink-3);font-size:14px}.cs-quote{text-align:center;max-width:760px;margin:56px auto}.cs-quote blockquote{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:clamp(22px,2.6vw,30px);font-weight:500;line-height:1.4}.cs-quote figcaption{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:18px;font-size:12px}.cs-next{border-top:1px solid var(--line);margin-top:72px;padding-top:32px;display:block}.cs-next__label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:12px}.cs-next__card{align-items:center;gap:20px;margin-top:16px;display:flex}.cs-next__thumb{background:var(--paper-2);border-radius:12px;flex:none;width:96px;height:72px;position:relative;overflow:hidden}.cs-next__thumb .thumb-img,.cs-next__thumb .thumb-ph{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cs-next__meta{flex-direction:column;gap:4px;min-width:0;display:flex}.cs-next__title{letter-spacing:-.01em;color:var(--ink);font-size:clamp(20px,2.2vw,28px);font-weight:300}.cs-next__tags{font-family:var(--font-mono);color:var(--ink-3);font-size:12px}.cs-next__arrow{color:var(--violet);margin-left:auto;transition:transform .2s}.cs-next:hover .cs-next__arrow{transform:translate(4px)}.gallery-card:focus-visible,.project:focus-visible,.blog-card:focus-visible,.cs-next:focus-visible,.back-link:focus-visible,.work-arrow:focus-visible,.blog-arrow:focus-visible{outline:2px solid var(--violet);outline-offset:2px}@media (max-width:520px){.cs-next__card{flex-direction:column;align-items:flex-start;gap:16px}.cs-next__thumb{width:80px;height:60px}.cs-next__arrow{margin-left:0}}.contact form button[disabled]{opacity:.6;cursor:not-allowed}.legal-page{padding:clamp(120px, 16vh, 180px) var(--pad) clamp(72px, 12vh, 120px)}.legal-inner{max-width:70ch;margin:0 auto}.legal-page h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(2rem,4vw,2.75rem);line-height:1.1}.legal-updated{font-family:var(--font-mono);color:var(--ink-3);margin:0 0 32px;font-size:.8rem}.legal-intro{color:var(--ink-2);margin:0 0 40px;font-size:1.125rem;line-height:1.6}.legal-section{margin:0 0 32px}.legal-section h2{letter-spacing:-.01em;margin:0 0 12px;font-size:1.25rem}.legal-section p{color:var(--ink-2);margin:0 0 12px;line-height:1.65}.legal-section ul{color:var(--ink-2);margin:0 0 12px;padding-left:1.25rem;line-height:1.65}.legal-section li{margin:0 0 4px}.form-consent{color:var(--ink-3);margin:14px 0 0;font-size:.78rem;line-height:1.5}.form-consent a{color:var(--ink-2);text-underline-offset:2px;text-decoration:underline}.form-consent a:hover{color:var(--solar)}.footer-bottom-right{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.footer-bottom a{color:inherit;opacity:.85;text-decoration:none}.footer-bottom a:hover{opacity:1;text-underline-offset:2px;text-decoration:underline}.notfound{padding:clamp(140px, 22vh, 240px) var(--pad) clamp(96px, 16vh, 160px);text-align:center}.notfound-inner{max-width:52ch;margin:0 auto}.notfound-code{letter-spacing:-.04em;color:var(--solar);font-size:clamp(72px,14vw,140px);font-weight:800;line-height:1}.notfound h1{letter-spacing:-.02em;margin:16px 0 8px;font-size:clamp(1.4rem,4vw,2rem)}.notfound p{color:var(--ink-3);margin:0 0 28px;line-height:1.55}.notfound-link{background:var(--ink);color:var(--paper);border-radius:999px;padding:12px 22px;font-weight:600;text-decoration:none;display:inline-block}.notfound-link:hover{background:var(--solar)}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_98ad3912-module__9GIQTa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_98ad3912-module__9GIQTa__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.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:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.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:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.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:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.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:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.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:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.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_d7e67a17-module__8hAMHa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_d7e67a17-module__8hAMHa__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
