: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;--marquee-duration:40s;--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{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:10px;font-size:12px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--ink-2);width:24px;height:1px;display:inline-block}.eyebrow.on-dark{color:#fff9}.eyebrow.on-dark:before{background:#ffffff73}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600;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:600}.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;background:#ffffff14;border-color:#ffffff38}.btn--ghost:hover{background:#ffffff26;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;border-color:#ffffff47}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:100vh;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:400;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{right:var(--pad);z-index:3;width:min(340px, calc(100vw - var(--pad) * 2));background:var(--paper);border:1px solid var(--line);color:var(--ink);align-items:center;gap:14px;padding:12px;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;position:absolute;bottom:clamp(28px,6vh,64px);box-shadow:0 16px 40px -18px #0000008c}.latest-post:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:0 22px 52px -18px #000000a6}.latest-post:active{transform:translateY(-1px)scale(.985)}.latest-post:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.latest-post__thumb{flex:none;width:48px;height:48px}.latest-post__body{flex-direction:column;gap:4px;min-width:0;display:flex}.latest-post__label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:10px}.latest-post__title{letter-spacing:-.01em;color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.latest-post__arrow{color:var(--ink-3);flex:none;transition:transform .18s cubic-bezier(.23,1,.32,1),color .18s;display:inline-flex}.latest-post:hover .latest-post__arrow{color:var(--ink);transform:translate(3px)}@media (prefers-reduced-motion:no-preference){.latest-post{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}}@media (max-width:900px){.latest-post{display:none}}.logos-section{border-bottom:1px solid var(--line);padding:clamp(14px,1.6vw,22px) 0}.logos-strip{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.logos-track{will-change:transform;width:max-content;animation:nopler-logos-scroll var(--marquee-duration) linear infinite;display:flex}.logos-strip:hover .logos-track,.logos-track.is-paused{animation-play-state:paused}.logos-track__set{align-items:center;display:flex}.logo-mark{align-items:center;padding:0 clamp(22px,3vw,44px);display:inline-flex}.logo-mark img{height:calc(clamp(20px, 2vw, 26px) * var(--logo-scale,1));filter:grayscale()opacity(.5);width:auto;transition:filter .25s;display:block}.logo-mark:hover img{filter:grayscale(0)opacity()}@keyframes nopler-logos-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.services-grid{border-top:1px solid var(--line-2);border-left:1px solid var(--line-2);grid-template-columns:repeat(3,1fr);margin-top:48px;display:grid}.service{border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);flex-direction:column;gap:18px;min-height:280px;padding:36px 32px 32px;transition:background .2s;display:flex}.service:hover{background:#0e111606}.service .num{font-family:var(--font-mono);letter-spacing:.18em;color:var(--ink-3);font-size:12px}.service .icon{background:var(--paper-2);width:44px;height:44px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;display:flex}.service.accent .icon{background:var(--ink);color:#fff}.service h3{letter-spacing:-.015em;font-size:26px}.service p{color:var(--ink-3);font-size:15px}.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-grid{margin-top:48px}.lede{color:var(--ink-2);max-width:30ch;font-size:16px;line-height:1.3}.lede em{color:var(--violet);font-style:italic}.metrics{border-top:1px solid var(--line-2);grid-template-columns:repeat(4,1fr);margin-top:80px;display:grid}.metric{border-right:1px solid var(--line-2);padding:28px 24px 0}.metric:last-child{border-right:0}.metric .num{letter-spacing:-.03em;font-size:clamp(36px,3.8vw,52px);font-weight:500;line-height:1}.metric .unit{color:var(--solar)}.metric .lbl{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-top:12px;font-size:12px;display:block}.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:500}.cta-strip .eyebrow{color:#f4f1ea99}.cta-strip .eyebrow:before{background:#f4f1ea80}.cta-strip p{color:#f4f1eab3;max-width:46ch;margin-top:18px}.cta-actions{flex-direction:column;gap:12px;display:flex}.values{border-top:1px solid var(--line-2);grid-template-columns:repeat(3,1fr);margin-top:48px;display:grid}.value{border-right:1px solid var(--line-2);flex-direction:column;gap:14px;padding:36px 28px;display:flex}.value:last-child{border-right:0}.value .v-num{font-family:var(--font-mono);letter-spacing:.16em;color:var(--ink-3);font-size:12px}.value h3{letter-spacing:-.015em;font-size:22px;font-weight:600}.value p{color:var(--ink-3);font-size:15px}.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{scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:25%;grid-auto-flow:column;display:grid;overflow-x:auto}.work-track::-webkit-scrollbar{display:none}.project{aspect-ratio:4/5;scroll-snap-align:start;cursor:pointer;background:#1a1d24;position:relative;overflow:hidden}.thumb-ph{transition:transform .5s;position:absolute;inset:0}.project:hover .thumb-ph{transform:scale(1.04)}.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{opacity:0;background:linear-gradient(#0000 35%,#0e1116d1 100%);flex-direction:column;justify-content:flex-end;gap:6px;padding:24px;transition:opacity .3s;display:flex;position:absolute;inset:0}.project:hover .meta{opacity:1}.project .meta .cat{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#ffffffbf;font-size:11px}.project .meta h3{color:#fff;font-size:20px;font-weight:600}.project .arrow{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#ffffff1a;border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:absolute;top:20px;right:20px}.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:600}.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 .eyebrow{color:#f4f1ea99}#contact .eyebrow:before{background:#f4f1ea80}#contact h2{margin-top:16px;font-size:clamp(28px,3.4vw,48px);font-weight:500}.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:600}.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}.logo-mark{filter:grayscale()opacity(.6)}}@media (max-width:1080px){.work-track{grid-auto-columns:33.3333%}.blog-track{grid-auto-columns:calc(33.3333% - 13.3333px)}.archive-grid{grid-template-columns:repeat(2,1fr)}}@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}.about-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:first-child,.metric:nth-child(2){border-bottom:1px solid var(--line-2);padding-bottom:28px}.values{grid-template-columns:1fr}.value{border-right:0;border-bottom:1px solid var(--line-2)}.value:last-child{border-bottom:0}.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:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.services-grid{grid-template-columns:1fr}.work-track{grid-auto-columns:50%}.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}.work-track{grid-auto-columns:88%}.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}.logos-track{transform:none}}.nora-hero{color:#fff;background:#0a0a0b;padding:140px 0 clamp(64px,9vw,120px);position:relative;overflow:hidden}.nora-hero__dots{z-index:0;pointer-events:none;position:absolute;inset:0}.nora-hero__inner{z-index:2;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(32px,5vw,72px);display:grid;position:relative}.nora-hero__copy{max-width:560px}.nora-hero h1{letter-spacing:-.035em;margin:0;font-size:clamp(36px,5.2vw,72px);font-weight:400;line-height:1.04}.nora-hero h1 .ln{display:block}.nora-hero h1 .dot{color:var(--solar)}.nora-hero__sub{color:#ffffffa8;max-width:48ch;margin-top:22px;font-size:clamp(15px,1.2vw,18px);line-height:1.5}.nora-panel{aspect-ratio:4/3;background:radial-gradient(circle at 30% 25%,#5b3bff59,#0000 55%),radial-gradient(circle at 80% 80%,#ff6a1f38,#0000 55%),linear-gradient(160deg,#15131f,#0e1116);border:1px solid #ffffff24;justify-content:center;align-items:center;display:flex;position:relative}.nora-panel__label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;font-size:12px}.nora-panel--light{border-color:var(--line);background:radial-gradient(circle at 30% 25%, #5b3bff29, transparent 55%), radial-gradient(circle at 80% 80%, #ff6a1f1a, transparent 55%), linear-gradient(160deg, var(--paper-2), #fff)}.nora-panel--light .nora-panel__label{color:var(--ink-3)}.nora-emmy__inner{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,5vw,64px);display:grid}.nora-emmy__text p{color:var(--ink-3);max-width:52ch;margin-top:18px;line-height:1.6}.nora-feature-grid{border-top:1px solid var(--line-2);border-left:1px solid var(--line-2);grid-template-columns:repeat(3,1fr);margin-top:48px;display:grid}.nora-feature{border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:32px 28px;transition:background .2s}.nora-feature:hover{background:#0e111606}.nora-feature h3{letter-spacing:-.015em;font-size:18px;font-weight:600}.nora-feature p{color:var(--ink-3);margin-top:10px;font-size:14px;line-height:1.6}.nora-steps{grid-template-columns:repeat(4,1fr);margin:48px 0 0;padding:0;list-style:none;display:grid}.nora-step{border-left:1px solid var(--line-2);padding:0 28px}.nora-step:first-child{border-left:0;padding-left:0}.nora-step__num{font-family:var(--font-mono);letter-spacing:.18em;color:var(--solar);font-size:13px}.nora-step h3{letter-spacing:-.01em;margin-top:14px;font-size:17px;font-weight:600}.nora-step p{color:var(--ink-3);margin-top:8px;font-size:14px;line-height:1.55}.nora-cta-band{color:#fff;background:#0a0a0b;padding:clamp(56px,8vw,100px) 0}.nora-cta-band__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.nora-cta-band h2{letter-spacing:-.02em;max-width:18ch;font-size:clamp(26px,3.2vw,44px);font-weight:500}@media (max-width:980px){.nora-hero__inner,.nora-emmy__inner{grid-template-columns:1fr}.nora-hero__copy{max-width:none}.nora-feature-grid{grid-template-columns:repeat(2,1fr)}.nora-steps{grid-template-columns:repeat(2,1fr);row-gap:28px}.nora-step:first-child{border-left:1px solid var(--line-2);padding-left:28px}.nora-step:nth-child(odd){border-left:0;padding-left:0}}@media (max-width:600px){.nora-feature-grid,.nora-steps{grid-template-columns:1fr}.nora-step,.nora-step:first-child{border-left:0;padding-left:0}}.thumb-img{object-fit:cover;width:100%;height:100%;transition:transform .4s;position:absolute;inset:0}.blog-card:hover .thumb-img,.project: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;align-items:baseline;gap:14px;margin-bottom:16px;font-size:clamp(22px,2.4vw,30px);font-weight:600;display:flex}.cs-num{font-family:var(--font-mono);color:var(--violet);letter-spacing:.1em;font-size:13px}.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-process{counter-reset:none;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;margin:56px 0;padding:0;list-style:none;display:grid}.cs-step{border-top:2px solid var(--ink);padding-top:14px}.cs-step__num{font-family:var(--font-mono);color:var(--violet);letter-spacing:.1em;font-size:12px}.cs-step__title{margin:6px 0;font-size:18px;font-weight:600}.cs-step__desc{color:var(--ink-3);font-size:14px;line-height:1.55}.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{gap:24px;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(26px,3vw,38px)}.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:600}.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}.cs-section__head{gap:10px}.cs-num{font-size:12px}}.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"}
