:root{--ink:#141414;--ink-soft:#3d3d3d;--paper:#f6f5f2;--white:#fff;--red:#e30613;--red-dark:#b3050f;--line:#e2e0da;--line-dark:#2a2a2a;--ease:cubic-bezier(.22,1,.36,1);--radius:14px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;overflow-x:hidden}::selection{background:var(--red);color:#fff}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}#machine-design,#product-design,#drafting,#faq-section,#contact{scroll-margin-top:90px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}.cursor-dot{background:var(--red);pointer-events:none;z-index:9999;width:8px;height:8px;transition:width .25s var(--ease),height .25s var(--ease),opacity .3s;mix-blend-mode:multiply;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot.grow{opacity:.18;width:52px;height:52px}@media (hover:none),(pointer:coarse){.cursor-dot{display:none}}.preloader{background:var(--ink);z-index:1000;transition:transform .9s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.preloader.done{transform:translateY(-100%)}.preloader .mark{font-family:var(--display);color:#fff;letter-spacing:.02em;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;overflow:hidden}.preloader .mark span{animation:riseIn .8s var(--ease) both .15s;display:inline-block}.preloader .bar{background:var(--line-dark);border-radius:2px;width:160px;height:2px;overflow:hidden}.preloader .bar i{background:var(--red);width:0;height:100%;animation:load 1.2s var(--ease) forwards .2s;display:block}@keyframes load{to{width:100%}}@keyframes riseIn{0%{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}header{z-index:900;transition:background .35s,box-shadow .35s,transform .45s var(--ease);position:fixed;top:0;left:0;right:0}header.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);background:#f6f5f2e0}header.hidden{transform:translateY(-100%)}.nav{justify-content:space-between;align-items:center;max-width:1240px;margin:0 auto;padding:20px 32px;display:flex}.logo{font-family:var(--display);cursor:pointer;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;display:flex}.logo .dot{background:var(--red);border-radius:50%;width:9px;height:9px;display:inline-block}.nav-links{gap:34px;font-size:.92rem;font-weight:500;display:flex}.nav-links a{padding:4px 0;position:relative}.nav-links a:after{content:"";background:var(--red);transform-origin:100%;width:100%;height:2px;transition:transform .35s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-links a:hover:after,.nav-links a.active:after{transform-origin:0;transform:scaleX(1)}.nav-cta{background:var(--ink);color:#fff;border-radius:100px;padding:11px 22px;font-size:.88rem;font-weight:600;transition:background .3s,transform .3s}.nav-cta:hover{background:var(--red);transform:translateY(-2px)}.burger{cursor:pointer;z-index:960;background:0 0;border:0;width:34px;height:24px;display:none;position:relative}.burger span{background:var(--ink);width:100%;height:2px;transition:all .35s var(--ease);position:absolute;left:0}.burger span:first-child{top:2px}.burger span:nth-child(2){top:11px}.burger span:nth-child(3){top:20px}.burger.open span:first-child{top:11px;transform:rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){top:11px;transform:rotate(-45deg)}.mobile-menu{background:var(--ink);z-index:950;clip-path:circle(0 at calc(100% - 52px) 32px);transition:clip-path .7s var(--ease);flex-direction:column;justify-content:center;gap:8px;padding:0 10vw;display:flex;position:fixed;inset:0}.mobile-menu.open{clip-path:circle(150% at calc(100% - 52px) 32px)}.mobile-menu a{font-family:var(--display);color:#fff;opacity:0;transition:opacity .5s,transform .5s var(--ease),color .3s;padding:8px 0;font-size:clamp(2rem,8vw,3.2rem);font-weight:600;transform:translateY(24px)}.mobile-menu.open a{opacity:1;transform:translateY(0)}.mobile-menu a:hover{color:var(--red)}.mobile-menu.open a:first-child{transition-delay:.15s}.mobile-menu.open a:nth-child(2){transition-delay:.22s}.mobile-menu.open a:nth-child(3){transition-delay:.29s}.mobile-menu.open a:nth-child(4){transition-delay:.36s}.wrap{max-width:1240px;margin:0 auto;padding:0 32px}section{padding:110px 0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:22px;font-size:.78rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--red);width:26px;height:2px}h2.sec-title{font-family:var(--display);letter-spacing:-.02em;max-width:16ch;font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:600;line-height:1.08}.reveal{opacity:0;transition:opacity .8s var(--ease),transform .8s var(--ease);transform:translateY(36px)}.reveal.in{opacity:1;transform:translateY(0)}.reveal.d1{transition-delay:80ms}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.btn{transition:transform .3s var(--ease),background .3s,color .3s,box-shadow .3s;cursor:pointer;font-size:.95rem;font-weight:600;font-family:var(--body);border:0;border-radius:100px;align-items:center;gap:10px;padding:15px 30px;display:inline-flex}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark);transform:translateY(-3px);box-shadow:0 12px 28px -10px #e3061380}.btn-ghost{border:1.5px solid var(--ink);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:#fff;transform:translateY(-3px)}.btn svg{transition:transform .3s var(--ease)}.btn:hover svg{transform:translate(3px,-3px)}.page-anim{animation:pageIn .55s var(--ease)}@keyframes pageIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero{padding:180px 0 100px;position:relative}.hero-inner{grid-template-columns:1.25fr 1fr;align-items:center;gap:64px;width:100%;display:grid;position:relative}.hero .eyebrow{margin-bottom:28px}.hero h1{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(2.5rem,5.6vw,4.6rem);font-weight:700;line-height:1.03}.hero h1 .line{display:block;overflow:hidden}.hero h1 .line span{animation:riseIn 1s var(--ease) forwards;display:inline-block;transform:translateY(110%)}.hero h1 .line:first-child span{animation-delay:1.15s}.hero h1 .line:nth-child(2) span{animation-delay:1.28s}.hero h1 .line:nth-child(3) span{animation-delay:1.41s}.hero h1 em{color:var(--red);white-space:nowrap;font-style:normal}.hero-sub{max-width:48ch;color:var(--ink-soft);opacity:0;animation:fadeUp .9s var(--ease) forwards 1.9s;margin-top:30px;font-size:1.04rem}.hero-ctas{opacity:0;animation:fadeUp .9s var(--ease) forwards 2.05s;flex-wrap:wrap;gap:16px;margin-top:38px;display:flex}.hero-meta{opacity:0;animation:fadeUp .9s var(--ease) forwards 2.2s;flex-wrap:wrap;gap:44px;margin-top:60px;display:flex}.hero-meta .m .num{font-family:var(--display);letter-spacing:-.02em;font-size:1.9rem;font-weight:700}.hero-meta .m .num b{color:var(--red);font-weight:700}.hero-meta .m .lbl{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;margin-top:2px;font-size:.8rem}.hero-photo{opacity:0;animation:fadeUp 1s var(--ease) forwards 1.5s;position:relative}.hero-photo .frame{border-radius:var(--radius);aspect-ratio:4/5;background:#e6e4de;position:relative;overflow:hidden;box-shadow:0 40px 80px -40px #14141459}.hero-photo .frame img{object-fit:cover;width:100%;height:100%}.marquee{background:var(--ink);color:#fff;padding:26px 0;overflow:hidden}.marquee-track{width:max-content;animation:26s linear infinite scroll;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track ul{flex-shrink:0;align-items:center;display:flex}.marquee-track li{font-family:var(--display);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:28px;padding:0 28px;font-size:1.25rem;font-weight:600;display:flex}.marquee-track li:after{content:"";background:var(--red);border-radius:50%;width:8px;height:8px}@keyframes scroll{to{transform:translate(-50%)}}.work-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:64px;display:flex}.work-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}.card{border-radius:var(--radius);background:var(--white);border:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .5s var(--ease);overflow:hidden}.card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -30px #14141447}.card.hide{display:none}.card.pop{animation:popIn .5s var(--ease)}@keyframes popIn{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.card-visual{aspect-ratio:4/2.7;position:relative;overflow:hidden}.card-visual svg{width:100%;height:100%;transition:transform .8s var(--ease);display:block}.card:hover .card-visual svg{transform:scale(1.06)}.card-visual img{object-fit:contain;width:100%;height:100%;transition:transform .8s var(--ease);background:#fff}.card:hover .card-visual img{transform:scale(1.05)}.card.wide .card-visual img{object-fit:cover}.card-visual .tag{color:#fff;letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141414d9;border-radius:100px;padding:7px 14px;font-size:.72rem;font-weight:600;position:absolute;top:16px;left:16px}.card-body{padding:26px 28px 30px}.card-body h3{font-family:var(--display);letter-spacing:-.01em;font-size:1.35rem;font-weight:600}.card-body p{color:var(--ink-soft);margin-top:8px;font-size:.94rem}.card-body .meta{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.card-body .meta span{letter-spacing:.06em;color:var(--ink-soft);border:1px solid var(--line);border-radius:100px;padding:6px 12px;font-size:.74rem;font-weight:600}.card.wide{grid-column:1/-1}.card.wide .card-visual{aspect-ratio:16/6}.work-more{text-align:center;margin-top:56px}.services{background:var(--ink);color:#fff}.services .eyebrow{color:#b9b9b9}.services .sec-title{color:#fff}.svc-list{border-top:1px solid var(--line-dark);margin-top:72px}a.svc{border-bottom:1px solid var(--line-dark);cursor:pointer;transition:background .35s,padding .35s var(--ease);grid-template-columns:80px 1fr 1.1fr 60px;align-items:center;gap:32px;padding:44px 8px;display:grid}a.svc:hover{background:#1b1b1b;padding-left:28px}.svc .idx{font-family:var(--display);color:#8b8b8b;font-size:.95rem;font-weight:500}.svc h3{font-family:var(--display);letter-spacing:-.01em;color:#fff;font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:600;transition:color .3s}a.svc:hover h3{color:var(--red)}.svc p{color:#a8a8a8;font-size:.95rem}.svc .arr{border:1px solid var(--line-dark);width:48px;height:48px;transition:background .35s,border-color .35s,transform .45s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex}a.svc:hover .arr{background:var(--red);border-color:var(--red);transform:rotate(45deg)}.svc .arr svg{stroke:#fff}.svc-more{text-align:center;margin-top:56px}.svc-more .btn-ghost{color:#fff;border-color:#fff}.svc-more .btn-ghost:hover{color:var(--ink);background:#fff}.stats{border-bottom:1px solid var(--line);padding:90px 0}.stats-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:32px;display:grid}.stat .num{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700}.stat .num i{color:var(--red);font-style:normal}.stat .lbl{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;margin-top:6px;font-size:.88rem}.testi{background:var(--white);border-bottom:1px solid var(--line)}.testi-inner{text-align:center;max-width:860px;margin:0 auto;position:relative}.testi .quote-mark{font-family:var(--display);color:var(--red);margin-bottom:34px;font-size:5rem;line-height:0;display:block}.slide{animation:fadeUp .6s var(--ease);display:none}.slide.active{display:block}.slide blockquote{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(1.3rem,2.8vw,1.9rem);font-weight:500;line-height:1.35}.slide .who{color:var(--ink-soft);margin-top:30px;font-size:.92rem}.slide .who b{color:var(--ink);font-weight:600}.testi-nav{justify-content:center;gap:12px;margin-top:44px;display:flex}.testi-nav button{background:var(--line);cursor:pointer;border:0;border-radius:50%;width:10px;height:10px;padding:0;transition:background .3s,transform .3s}.testi-nav button.on{background:var(--red);transform:scale(1.3)}.faq-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:72px;display:grid}.faq-item{border-bottom:1px solid var(--line)}.faq-q{cursor:pointer;text-align:left;width:100%;font-family:var(--display);color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;padding:26px 4px;font-size:1.12rem;font-weight:600;display:flex}.faq-q .pm{border:1.5px solid var(--ink);width:34px;height:34px;transition:background .3s,border-color .3s,transform .45s var(--ease);border-radius:50%;flex:none;position:relative}.faq-q .pm:before,.faq-q .pm:after{content:"";background:var(--ink);transition:background .3s,transform .35s var(--ease);position:absolute;top:50%;left:50%}.faq-q .pm:before{width:12px;height:1.5px;transform:translate(-50%,-50%)}.faq-q .pm:after{width:1.5px;height:12px;transform:translate(-50%,-50%)}.faq-item.open .pm{background:var(--red);border-color:var(--red);transform:rotate(180deg)}.faq-item.open .pm:before,.faq-item.open .pm:after{background:#fff}.faq-item.open .pm:after{transform:translate(-50%,-50%)scaleY(0)}.faq-a{max-height:0;transition:max-height .5s var(--ease);overflow:hidden}.faq-a p{color:var(--ink-soft);padding:0 44px 26px 4px;font-size:.96rem}.page-hero{padding:180px 0 70px;position:relative}.page-hero .wrap{position:relative}.page-hero h1{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(2.5rem,5.6vw,4.6rem);font-weight:700;line-height:1.03}.page-hero h1 em{color:var(--red);font-style:normal}.page-hero p{max-width:58ch;color:var(--ink-soft);margin-top:26px;font-size:1.05rem}.jump{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}.jump a{border:1.5px solid var(--line);color:var(--ink-soft);transition:all .3s var(--ease);cursor:pointer;border-radius:100px;padding:11px 22px;font-size:.86rem;font-weight:600}.jump a:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px)}.filters{flex-wrap:wrap;gap:12px;padding:34px 0 60px;display:flex}.filter{border:1.5px solid var(--line);color:var(--ink-soft);font-family:var(--body);cursor:pointer;transition:all .3s var(--ease);background:0 0;border-radius:100px;padding:11px 22px;font-size:.86rem;font-weight:600}.filter:hover{border-color:var(--ink);color:var(--ink)}.filter.on{background:var(--ink);border-color:var(--ink);color:#fff}.filter .n{color:var(--red);margin-left:6px;font-weight:700}.work-page-section{padding:0 0 110px}.svc-detail{border-top:1px solid var(--line);padding:100px 0}.svc-detail.dark{background:var(--ink);color:#fff;border-top:0}.svc-detail.dark .eyebrow{color:#b9b9b9}.svc-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:72px;display:grid}.svc-detail.flip .svc-grid>.svc-text{order:2}.svc-detail.flip .svc-grid>.svc-example{order:1}.svc-text h2{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(1.9rem,4vw,2.9rem);font-weight:600;line-height:1.08}.svc-text .num{font-family:var(--display);color:var(--red);letter-spacing:.1em;margin-bottom:14px;font-size:.95rem;font-weight:700;display:block}.svc-text>p{color:var(--ink-soft);max-width:52ch;margin-top:20px;font-size:1rem}.svc-detail.dark .svc-text>p{color:#a8a8a8}.includes{border-top:1px solid var(--line);margin-top:34px;display:grid}.svc-detail.dark .includes{border-color:var(--line-dark)}.includes li{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;padding:16px 4px;font-size:.95rem;display:flex}.includes li:before{content:"";background:var(--red);border-radius:50%;flex:none;width:8px;height:8px;margin-top:8px}.svc-detail.dark .includes li{border-color:var(--line-dark);color:#d6d6d6}.svc-ctas{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.svc-detail.dark .btn-ghost{color:#fff;border-color:#fff}.svc-detail.dark .btn-ghost:hover{color:var(--ink);background:#fff}.svc-example{position:sticky;top:110px}.example-box{border-radius:var(--radius);border:1px solid var(--line);background:var(--white);overflow:hidden;box-shadow:0 30px 60px -35px #1414144d}.svc-detail.dark .example-box{border-color:var(--line-dark);background:#1b1b1b}.example-box .head{border-bottom:1px solid var(--line);color:var(--ink-soft);letter-spacing:.06em;justify-content:space-between;align-items:center;padding:14px 20px;font-family:monospace;font-size:.76rem;display:flex}.svc-detail.dark .example-box .head{border-color:var(--line-dark);color:#8b8b8b}.example-box .head b{color:var(--red);font-weight:700}.example-box svg{width:100%;display:block}.example-note{color:var(--ink-soft);align-items:flex-start;gap:10px;margin-top:16px;font-size:.84rem;display:flex}.svc-detail.dark .example-note{color:#8b8b8b}.example-note:before{content:"↳";color:var(--red);font-weight:700}.cta{background:var(--red);color:#fff;text-align:center;position:relative;overflow:hidden}.cta .wrap{position:relative}.cta h2{font-family:var(--display);letter-spacing:-.03em;font-size:clamp(2.4rem,6vw,4.6rem);font-weight:700;line-height:1.04}.cta p{opacity:.92;max-width:46ch;margin:26px auto 0;font-size:1.05rem}.cta .btn{color:var(--ink);background:#fff;margin-top:44px}.cta .btn:hover{background:var(--ink);color:#fff;box-shadow:0 12px 28px -10px #0006}footer{background:var(--ink);color:#9a9a9a;padding:64px 0 40px;font-size:.9rem}.foot-top{border-bottom:1px solid var(--line-dark);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-bottom:40px;display:flex}.foot-top .logo{color:#fff}.foot-links{gap:26px;display:flex}.foot-links a{transition:color .3s}.foot-links a:hover{color:#fff}.foot-bottom{flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;font-size:.82rem;display:flex}@media (max-width:1000px){.hero-inner{grid-template-columns:1fr;gap:56px}.hero-photo{max-width:420px;margin:0 auto}.svc-grid{grid-template-columns:1fr;gap:44px}.svc-detail.flip .svc-grid>.svc-text{order:1}.svc-detail.flip .svc-grid>.svc-example{order:2}.svc-example{position:static}}@media (max-width:900px){.nav-links,.nav .nav-cta{display:none}.burger{display:block}.work-grid{grid-template-columns:1fr}a.svc{grid-template-rows:auto auto;grid-template-columns:48px 1fr;row-gap:10px}.svc p{grid-column:2}.svc .arr{display:none}.stats-grid{grid-template-columns:repeat(2,1fr);gap:44px}.faq-grid{grid-template-columns:1fr;gap:44px}section{padding:80px 0}.page-hero{padding:150px 0 50px}.hero{padding:150px 0 70px}.svc-detail{padding:80px 0}}@media (max-width:480px){.wrap{padding:0 20px}.nav{padding:16px 20px}.hero{padding:125px 0 60px}.page-hero{padding:125px 0 40px}section{padding:64px 0}.card-body{padding:20px 20px 24px}.marquee-track li{gap:20px;padding:0 20px;font-size:1.05rem}.hero-meta{gap:28px}.btn{padding:14px 24px;font-size:.9rem}.svc-detail{padding:64px 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.hero h1 .line span{transform:none}.hero-sub,.hero-ctas,.hero-meta,.hero-photo{opacity:1}.preloader{display:none}.reveal{opacity:1;transform:none}}
@font-face{font-family:grotesk;src:url(../media/space_grotesk_latin_wght_normal-s.p.092gko6h6levo.woff2)format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:grotesk Fallback;src:local(Arial);ascent-override:88.78%;descent-override:26.34%;line-gap-override:0.0%;size-adjust:110.84%}.grotesk_71bc2c6a-module__8yb73W__className{font-family:grotesk,grotesk Fallback}.grotesk_71bc2c6a-module__8yb73W__variable{--display:"grotesk", "grotesk Fallback"}
@font-face{font-family:inter;src:url(../media/inter_latin_wght_normal-s.p.0gsaq8ukbf34m.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_936181e2-module__FZnAdq__className{font-family:inter,inter Fallback}.inter_936181e2-module__FZnAdq__variable{--body:"inter", "inter Fallback"}
