@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171715;--surface:#1f1e1b;--raised:#282723;--text:#f1ede4;--muted:#a5a194;--line:#34322d;--accent:#e58b5e;--ease:cubic-bezier(.22, .8, .24, 1);--header:72px;--radius:28px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans Variable,system-ui,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f3ec;--surface:#ebe7dc;--raised:#e1dccf;--text:#1e1d19;--muted:#5d5a51;--line:#d5cfc1;--accent:#a3441a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px)}body{background:var(--bg);color:var(--text);margin:0;font-size:16px;overflow-x:clip}body:after{content:"";z-index:100;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}button,input,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}input:focus-visible,textarea:focus-visible{outline:none;border-color:var(--text)!important}button:disabled{cursor:wait;opacity:.65}svg{flex-shrink:0}p,h1,h2,h3,figure{margin:0}p{text-wrap:pretty;line-height:1.65}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--bg)}em{color:var(--accent);font-style:normal}.wrap{width:min(1320px,100% - 96px);margin-inline:auto}.section{padding-block:clamp(88px,12vw,168px)}.eyebrow{color:var(--muted);align-items:center;gap:12px;font-size:14px;display:flex}.eyebrow:before{content:"";background:var(--accent);width:24px;height:1px}h2{letter-spacing:-.045em;text-wrap:balance;margin-top:20px;font-size:clamp(32px,3.8vw,54px);font-weight:500;line-height:1}.header{z-index:40;height:var(--header);background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);position:fixed;inset:0 0 auto}.header-inner{align-items:center;gap:40px;height:100%;display:flex}.scroll-progress{background:var(--accent);transform-origin:0;height:2px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.wordmark{letter-spacing:-.06em;white-space:nowrap;font-size:24px;font-weight:700}.wordmark span,.footer-mark span{color:var(--accent)}.navigation{align-items:center;gap:6px;margin-left:auto;font-size:14px;display:flex}.navigation>a:not(.nav-contact){color:var(--muted);border-radius:99px;padding:10px 14px;transition:color .2s,background .2s}.navigation>a:not(.nav-contact):hover,.navigation>a[aria-current]{color:var(--text);background:var(--surface)}.nav-contact{background:var(--text);color:var(--bg);transition:transform .25s var(--ease);border-radius:99px;align-items:center;gap:10px;margin-left:14px;padding:11px 18px;font-weight:600;display:inline-flex}.nav-contact svg{width:15px}.nav-contact:hover{transform:translateY(-2px)}.header-controls{order:3;align-items:center;gap:8px;display:flex}.theme-toggle{border:1px solid var(--line);width:44px;height:44px;transition:background .2s, transform .4s var(--ease);background:0 0;border-radius:50%;place-items:center;display:grid}.theme-toggle:hover{background:var(--surface);transform:rotate(25deg)}.menu-toggle{display:none}.button{min-height:54px;transition:transform .3s var(--ease), background .2s;border:0;border-radius:99px;justify-content:center;align-items:center;gap:14px;padding:16px 26px;font-size:15px;font-weight:600;display:inline-flex}.button svg{width:18px;transition:transform .3s var(--ease)}.primary{background:var(--text);color:var(--bg)}.button:hover{transform:translateY(-2px)}.button:hover svg{transform:translate(3px)}.button:active{transform:translateY(0)scale(.98)}.text-link{transition:background-size .35s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;align-items:center;gap:10px;padding-block:6px;font-size:15px;font-weight:500;line-height:1.5;display:inline-flex}.text-link svg{width:15px}.text-link:hover{background-size:100% 1px}.hero{min-height:100svh;padding-top:calc(var(--header) + clamp(36px, 7vh, 88px));flex-direction:column;justify-content:space-between;gap:clamp(48px,8vh,96px);display:flex;overflow:hidden}.hero-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:14px;display:flex}.local-time{font-variant-numeric:tabular-nums}.hero-meta>span{align-items:center;display:inline-flex}.status-dot{background:#4fbf72;border-radius:50%;width:8px;height:8px;margin-right:10px;animation:2.4s ease-out infinite pulse;box-shadow:0 0 #4fbf7266}h1{letter-spacing:-.055em;margin:clamp(28px,5vh,56px) 0 clamp(32px,6vh,64px);font-size:clamp(34px,7vw,88px);font-weight:500;line-height:.96}h1 .line{animation:rise .7s var(--ease) both;display:block}h1 .line:nth-child(2){animation-delay:50ms}h1 .line:nth-child(3){animation-delay:.1s}.hero-main{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;display:grid}.hero-portrait{aspect-ratio:4/5;object-fit:cover;background:var(--surface);width:clamp(170px,19vw,280px);height:auto;animation:rise .7s .1s var(--ease) both;transition:rotate .5s var(--ease);border-radius:24px;margin-top:24px;rotate:2.5deg;box-shadow:0 24px 50px #0005}.hero-portrait:hover{rotate:0deg}.hero-foot{animation:rise .7s .15s var(--ease) both;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px 64px;display:flex}.hero-description{color:var(--muted);max-width:540px;font-size:clamp(16px,1.3vw,19px)}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px 28px;display:flex}.hero-reel{padding-bottom:clamp(24px,5vh,48px);animation:.8s .2s both fade;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.hero-reel-track{flex-shrink:0;gap:20px;padding-right:20px;animation:70s linear infinite marquee;display:flex}.hero-reel:hover .hero-reel-track{animation-play-state:paused}.hero-reel-image{background:var(--surface);border-radius:18px;width:auto;height:clamp(150px,24vw,330px)}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px 48px;margin-bottom:clamp(40px,6vw,72px);display:flex}.section-heading>p{color:var(--muted);max-width:320px;padding-bottom:6px;font-size:16px}.work-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.filters{flex-wrap:wrap;gap:6px;display:flex}.filters button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:99px;min-height:44px;padding:10px 18px;font-size:14px;transition:color .2s,background .2s,border-color .2s}.filters button:hover{color:var(--text);border-color:var(--muted)}.filters button.active{border-color:var(--text);color:var(--bg);background:var(--text)}.filters button span{opacity:.75;font-variant-numeric:tabular-nums;margin-left:8px;font-size:12px}.project-count{color:var(--muted);font-size:14px}.project-list{gap:28px;display:grid}.project{--tone:#c9a46a;background:radial-gradient(420px circle at var(--mx,-999px) var(--my,-999px), color-mix(in srgb, var(--tone) 16%, transparent), transparent 70%), var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}.tone-aqua{--tone:#2fb2aa}.tone-lavender{--tone:#9c8fd0}.tone-blue{--tone:#4a83c4}.project-image{background:color-mix(in srgb, var(--tone) 22%, var(--surface));text-align:left;border:0;width:100%;padding:clamp(20px,3vw,40px) 0 clamp(20px,3vw,40px) clamp(20px,3vw,40px);display:block;position:relative;overflow:hidden}.project-image img{width:auto;max-width:none;height:clamp(190px,24vw,340px);transition:transform .9s var(--ease);border-radius:14px}.project-image:hover img,.project-image:focus-visible img{transform:translate(-4%)}.project-open{background:var(--bg);color:var(--text);opacity:0;transition:opacity .3s, transform .4s var(--ease);border-radius:99px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;display:inline-flex;position:absolute;bottom:18px;right:18px;transform:translateY(8px)}.project-open svg{width:14px}.project-image:hover .project-open,.project-image:focus-visible .project-open{opacity:1;transform:none}.project-body{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px 48px;padding:clamp(22px,3vw,40px);display:grid}.project-title{align-items:center;gap:18px;display:flex}.project-icon{background:#fff;border-radius:16px;flex-shrink:0;width:60px;height:60px}.project-title h3{letter-spacing:-.04em;font-size:clamp(22px,2vw,28px);font-weight:500;line-height:1.1}.project-title-button{text-align:left;background:0 0;border:0;padding:0}.project-title-button:hover{color:var(--accent)}.project-detail{color:var(--muted);margin-top:4px;font-size:14px;display:block}.project-body>p{color:var(--muted);font-size:16px}.project-links{flex-wrap:wrap;grid-column:2;justify-content:space-between;align-items:center;gap:8px 20px;display:flex}.project-stat{font-variant-numeric:tabular-nums;font-size:14px}.project-store{align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:500;display:inline-flex}.project-store svg{width:13px}.project-store:hover{color:var(--accent)}.work-github{margin-top:40px}.proof{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:32px;padding-block:clamp(40px,6vw,72px);display:grid}.proof-item strong{letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:clamp(38px,4.4vw,64px);font-weight:500;line-height:1;display:block}.proof-item span{color:var(--muted);max-width:200px;margin-top:12px;font-size:15px;line-height:1.5;display:block}.about-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(40px,8vw,120px);display:grid}.portrait-frame{border-radius:var(--radius);background:var(--surface);overflow:hidden}.about-portrait{aspect-ratio:4/5;object-fit:cover;object-position:center 30%;width:100%;height:auto}.about-art figcaption{color:var(--muted);margin-top:14px;font-size:15px}.about-copy h2{margin-bottom:36px;font-size:clamp(36px,4.4vw,64px)}.about-description>p{color:var(--muted);max-width:560px;font-size:clamp(17px,1.35vw,20px)}.about-description>p+p{margin-top:18px}.about-description>.text-link{margin-top:28px}.process-list{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:32px;padding-top:36px;display:grid;position:relative}.process-rail{background:var(--accent);transform-origin:0;height:2px;position:absolute;top:-1px;left:0;right:0}.process-number{border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:44px;height:44px;font-size:14px;display:grid}.process-step h3{letter-spacing:-.035em;margin:22px 0 10px;font-size:clamp(20px,1.6vw,23px);font-weight:500}.process-step p{color:var(--muted);font-size:17px}.process-cta{background:var(--surface);border-radius:99px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:56px;padding:24px 28px;display:flex}.process-cta>span{font-size:16px}.service{border-top:1px solid var(--line);grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:20px 32px;padding:clamp(28px,3.5vw,44px) 0;display:grid}.service:last-child{border-bottom:1px solid var(--line)}.service-number{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.service h3{letter-spacing:-.045em;transition:transform .5s var(--ease), color .3s;font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1.05}.service:hover h3{color:var(--accent);transform:translate(10px)}.service>div>p{color:var(--muted);max-width:480px;font-size:18px}.service>div>span{margin-top:14px;font-size:15px;display:block}.toolkit{margin-top:clamp(48px,7vw,88px);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.toolkit-track{width:max-content;animation:40s linear infinite marquee;display:flex}.toolkit-track span{letter-spacing:-.04em;color:var(--muted);white-space:nowrap;font-size:clamp(30px,3.6vw,52px);font-weight:500;line-height:1.2}.toolkit-track span:after{content:"·";color:var(--accent);margin-inline:.4em}.faq-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:48px clamp(40px,7vw,112px);display:grid}.faq-grid .section-heading{top:calc(var(--header) + 32px);margin:0;position:sticky}.faq-grid h2{font-size:clamp(30px,3.2vw,46px)}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{letter-spacing:-.02em;cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:44px;padding:26px 0;font-size:clamp(17px,1.3vw,19px);font-weight:500;list-style:none;transition:color .2s;display:flex}.faq-item summary:hover{color:var(--accent)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{border:1px solid var(--line);width:36px;height:36px;transition:transform .35s var(--ease);border-radius:50%;flex-shrink:0;place-items:center;font-size:20px;font-weight:300;display:grid}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item>p{color:var(--muted);max-width:620px;padding-bottom:28px;font-size:16px}.faq-item[open]>p{animation:rise .5s var(--ease) both}.contact{background:var(--surface);border-radius:clamp(28px,4vw,56px)}.contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:clamp(40px,7vw,112px);display:grid}.contact h2{font-size:clamp(34px,4vw,56px)}.contact-copy>p:not(.eyebrow){color:var(--muted);max-width:380px;margin-top:24px;font-size:17px}.contact-channels{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;margin-top:28px;display:flex}.contact-channels a{border-bottom:1px solid var(--line);overflow-wrap:anywhere;width:100%;min-height:60px;transition:color .2s, padding .3s var(--ease);align-items:center;gap:12px;font-size:17px;font-weight:500;display:flex}.contact-channels a:hover{color:var(--accent);padding-left:8px}.contact-copy>.text-link{margin-top:24px}.contact-form{border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);min-width:0;padding:clamp(22px,3vw,40px)}.contact-form label{flex-direction:column;gap:6px;min-width:0;margin-bottom:24px;font-size:14px;font-weight:500;display:flex}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;width:100%;min-width:0;padding:12px 0;font-size:16px;font-weight:400;line-height:1.6;transition:border-color .2s}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:1}.form-row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.form-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.form-bottom>span{color:var(--muted);font-size:14px}.form-feedback{margin-top:18px;font-size:15px;line-height:1.6}.form-feedback:empty{display:none}.form-feedback a{align-items:center;gap:5px;text-decoration:underline;display:inline-flex}.form-feedback a svg{width:13px}.chip-group-field{border:0;min-width:0;margin:0 0 24px;padding:0}.chip-group-field legend{margin-bottom:12px;padding:0;font-size:14px;font-weight:500}.chip-group{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);min-height:44px;transition:color .2s, border-color .2s, background .2s, transform .2s var(--ease);background:0 0;border-radius:99px;padding:10px 16px;font-size:14px}.chip:hover{color:var(--text);border-color:var(--muted)}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{border-color:var(--text);color:var(--bg);background:var(--text)}.chip-row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.success-next{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px;padding-top:20px;display:flex}.success-next>span{width:100%;color:var(--muted);font-size:14px}.footer{flex-wrap:wrap;align-items:center;gap:12px 32px;padding-block:0 32px;display:flex}.footer-mark{letter-spacing:-.07em;white-space:nowrap;width:100%;padding:clamp(40px,8vw,96px) 0 clamp(24px,4vw,48px);font-size:min(16vw,240px);font-weight:700;line-height:.82;display:block}.footer>span{color:var(--muted);font-size:14px}.footer-socials{flex-wrap:wrap;align-items:center;gap:4px 22px;margin-left:auto;display:flex}.footer-socials>a{align-items:center;gap:4px;min-height:44px;font-size:14px;display:flex}.footer-socials>a:hover{color:var(--accent)}.back-top{border:1px solid var(--line);width:44px;height:44px;transition:transform .3s var(--ease);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.back-top:hover{transform:translateY(-3px)}.skip-link{background:var(--text);color:var(--bg);z-index:70;border-radius:99px;padding:14px 18px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.dialog-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:55;background:#000a;animation:.3s both fade;position:fixed;inset:0}[data-theme=light] .dialog-backdrop{background:#2a261f66}.dialog{z-index:60;overscroll-behavior:contain;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);width:min(860px,100% - 40px);height:fit-content;max-height:calc(100dvh - 48px);animation:pop .45s var(--ease) both;margin:auto;padding:clamp(22px,3vw,40px);position:fixed;inset:0;overflow-y:auto;box-shadow:0 30px 80px #0007}.dialog:focus{outline:none}.dialog-top{justify-content:space-between;align-items:center;gap:15px;display:flex}.dialog-close{border:1px solid var(--line);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:22px;line-height:1;transition:background .2s;display:grid}.dialog-close:hover{background:var(--surface)}.case-hero{--tone:#c9a46a;background:color-mix(in srgb, var(--tone) 22%, var(--surface));border-radius:20px;margin:22px 0 28px;padding:clamp(16px,2.5vw,28px) 0 clamp(16px,2.5vw,28px) clamp(16px,2.5vw,28px);overflow:hidden}.case-hero.aqua{--tone:#2fb2aa}.case-hero.lavender{--tone:#9c8fd0}.case-hero.blue{--tone:#4a83c4}.case-hero img{border-radius:12px;width:auto;max-width:none;height:clamp(160px,24vw,260px)}.dialog h2{margin:0 0 12px;font-size:clamp(28px,3vw,40px)}.case-lede{color:var(--muted);max-width:600px;font-size:17px}.case-grid{grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px;display:grid}.case-label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.case-grid p{color:var(--muted);font-size:15px}.case-meta{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding-top:20px;display:flex}.case-stack{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.case-stack li{border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:6px 14px;font-size:13px}.case-proof{flex-wrap:wrap;gap:16px;font-size:14px;font-weight:500;display:flex}.dialog-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:28px;display:flex}.sticky-cta{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);transition:transform .4s var(--ease), opacity .3s;border-radius:99px;align-items:center;gap:8px;padding:8px;display:none;position:fixed;box-shadow:0 12px 30px #0004}.sticky-cta .button{flex:1;justify-content:space-between;min-width:0;min-height:48px}.sticky-wa{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.wa-pill{z-index:30;background:var(--text);color:var(--bg);animation:rise .6s 1.2s var(--ease) both;border-radius:99px;align-items:center;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #0004}.wa-pill>a{align-items:center;gap:9px;min-height:48px;padding:14px 6px 14px 20px;font-size:14px;font-weight:600;display:inline-flex}.wa-pill-close{opacity:.65;background:0 0;border:0;border-radius:0 99px 99px 0;align-self:stretch;width:44px;font-size:16px}.wa-pill-close:hover{opacity:1}@keyframes rise{0%{opacity:0;transform:translateY(32px)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(24px)scale(.98)}}@keyframes marquee{to{transform:translate(-100%)}}@keyframes pulse{70%,to{box-shadow:0 0 0 8px #4fbf7200}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes sink{to{transform:translateY(-6vh)scale(.96)}}@keyframes drift{0%{transform:scale(1.15)translateY(-5%)}to{transform:scale(1.15)translateY(5%)}}@keyframes slide{to{transform:translate(-12%)}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){animation:theme-wipe .7s var(--ease)}@keyframes theme-wipe{0%{clip-path:circle(0 at var(--vt-x) var(--vt-y))}to{clip-path:circle(150vmax at var(--vt-x) var(--vt-y))}}@supports (animation-timeline:view()){.scroll-progress{animation:linear both grow;animation-timeline:scroll(root)}.hero-inner{animation:linear both sink;animation-timeline:scroll(root);animation-range:0 85svh}.hero-reel{animation:linear both slide;animation-timeline:scroll(root);animation-range:0 100svh}.reveal{animation:linear both rise;animation-timeline:view();animation-range:entry entry 70%}.project{animation:linear both rise;animation-timeline:view();animation-range:entry entry 45%}.project-image img{animation:linear both slide;animation-timeline:view();animation-range:cover}.project-image:hover img{animation-play-state:paused}.about-portrait{animation:linear both drift;animation-timeline:view()}.process-rail{animation:linear both grow;animation-timeline:view();animation-range:entry 20% cover 55%}}@media (width>=1700px){.wrap{width:min(1520px,100% - 160px)}}@media (width<=1100px){.wrap{width:calc(100% - 64px)}.navigation>a.nav-secondary{display:none}.process-list{grid-template-columns:repeat(2,1fr);gap:40px 32px}.service{grid-template-columns:40px minmax(0,1fr) minmax(0,1fr)}}@media (width<=800px){:root{--header:64px;--radius:22px}.wrap{width:calc(100% - 40px)}.header-controls{margin-left:auto}.menu-toggle{background:var(--text);min-height:44px;color:var(--bg);border:0;border-radius:99px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:14px;font-weight:600;display:flex}.menu-toggle>span{font-size:18px;line-height:1}.navigation{display:none}.navigation.open{left:12px;right:12px;top:calc(var(--header) + 8px);background:var(--bg);border:1px solid var(--line);animation:pop .35s var(--ease) both;border-radius:24px;flex-direction:column;align-items:stretch;gap:2px;padding:12px;font-size:20px;display:flex;position:fixed;box-shadow:0 24px 50px #0005}.navigation.open>a.nav-secondary{display:block}.navigation.open>a:not(.nav-contact){color:var(--text);padding:14px 16px}.navigation .nav-contact{justify-content:space-between;margin:8px 0 0;padding:16px}.section-heading{display:block}.section-heading>p{margin-top:20px}.project-body{grid-template-columns:1fr}.project-links{grid-column:auto}.project-open{opacity:1;transform:none}.proof{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-grid,.faq-grid{grid-template-columns:1fr}.about-art{max-width:460px}.faq-grid .section-heading{position:static}.service{grid-template-columns:32px minmax(0,1fr)}.service>div{grid-column:2}.case-grid{grid-template-columns:1fr;gap:20px}.dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.sticky-cta{display:flex}.sticky-cta.hidden{opacity:0;pointer-events:none;visibility:hidden;transform:translateY(140%)}.wa-pill{display:none}body{padding-bottom:84px}.footer-socials{order:3;width:100%;margin:0}.back-top{margin-left:auto}}@media (width<=600px){.hero-main{grid-template-columns:1fr;gap:0}.hero-main h1{margin-bottom:28px}.hero-portrait{border-radius:18px;width:150px;margin-bottom:32px}.project-count{display:none}.hero-meta{flex-direction:column}.hero-actions{width:100%}.hero-actions .button{flex:1}.project-icon{border-radius:13px;width:48px;height:48px}.process-list{grid-template-columns:1fr}.process-cta{border-radius:22px}.form-row,.chip-row{grid-template-columns:1fr;gap:0}.dialog-actions .button,.success-next .button{justify-content:space-between;width:100%}}@media (width<=360px){.wrap{width:calc(100% - 28px)}.proof{grid-template-columns:1fr}.filters button{padding-inline:12px}.project-count{display:none}.wordmark{font-size:21px}.menu-toggle{padding:0 14px}}@media (hover:none) and (pointer:coarse){body:after{display:none}.header{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}.sticky-cta{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.dialog-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.hero-reel,.project-image img,.about-portrait{animation:none}.hero-reel,.toolkit{-webkit-mask-image:none;mask-image:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
