@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}img,video,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}ul{padding:0;list-style:none}.reason-grid,.step-grid{margin:0;padding:0;list-style:none}[hidden]{display:none!important}}@layer base{:root{--ink:#0e1116;--ink-2:#171b22;--ink-3:#262b35;--on-ink:#f3f2ee;--on-ink-muted:#a3a8b2;--paper:#f6f5f1;--paper-2:#eeede8;--white:#fff;--text:#12151b;--muted:#5d636e;--line:#e2dfd6;--line-strong:#cfcbc0;--coral:#ed6748;--accent:#b93e22;--green:#22865a;--radius:14px;--radius-sm:10px;--max:1240px;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.16, 1, .3, 1);color:var(--text);background:var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth;scroll-padding-top:88px}body{font-size:17px;line-height:1.6}::selection{background:var(--coral);color:var(--ink)}:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{letter-spacing:-.045em;text-wrap:balance;font-weight:600;line-height:1.04}h1{font-size:clamp(44px,6.4vw,92px)}h2{letter-spacing:-.04em;font-size:clamp(32px,4vw,56px)}h3{letter-spacing:-.02em;font-size:22px;line-height:1.25}h1 em,h2 em,h3 em{color:var(--muted);font-style:normal}p{text-wrap:pretty;max-width:66ch}p+p{margin-top:18px}strong{font-weight:600}.wrap{width:min(100% - 80px, var(--max));margin-inline:auto}.muted{color:var(--muted)}.eyebrow{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:500;line-height:1.6}.tiny{font-size:12px}.fine-print{color:var(--muted);font-size:14px;line-height:1.6}.skip{z-index:100;background:var(--ink);color:var(--on-ink);border-radius:var(--radius-sm);padding:12px 18px;position:fixed;top:-100px;left:16px}.skip:focus{top:16px}}@layer components{.button{border-radius:var(--radius-sm);background:var(--text);min-height:48px;color:var(--white);border:1px solid var(--text);transition:background .2s, border-color .2s, color .2s, transform .2s var(--ease);justify-content:center;align-items:center;gap:12px;padding:12px 20px;font-size:16px;font-weight:500;line-height:1.2;display:inline-flex}.button:hover{background:#2a2f39;border-color:#2a2f39}.button:active{transform:translateY(1px)}.button span[aria-hidden]{transition:transform .25s var(--ease)}.button:hover span[aria-hidden]{transform:translate(3px)}.button-outline{color:var(--text);border-color:var(--line-strong);background:0 0}.button-outline:hover{background:var(--white);border-color:var(--text);color:var(--text)}.button-accent{background:var(--coral);border-color:var(--coral);color:var(--ink)}.button-accent:hover{background:#f27f63;border-color:#f27f63}.button-ghost-dark{color:var(--on-ink);border-color:var(--ink-3);background:0 0}.button-ghost-dark:hover{background:var(--ink-2);border-color:#3a404c}.button-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px;display:flex}.text-link{color:var(--text);border-bottom:1px solid var(--line-strong);align-items:center;gap:8px;padding-bottom:2px;font-weight:500;transition:border-color .2s,color .2s;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.small-tag,.concept-tag{height:26px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:11px;display:inline-flex}.status-dot{background:var(--green);border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 3px #22865a2e}.header-bar{z-index:50;-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);background:#f6f5f1db;position:sticky;top:0}.header-bar.on-dark{background:var(--ink);border-bottom-color:var(--ink-3);color:var(--on-ink)}.site-header{align-items:center;gap:32px;height:68px;display:flex}.wordmark{letter-spacing:-.03em;align-items:center;gap:10px;font-size:19px;font-weight:600;display:inline-flex}.wordmark svg{width:26px;height:26px}.wordmark .mark-b{fill:var(--coral)}.site-header nav{gap:28px;margin-left:auto;font-size:15px;display:flex}.site-header nav a{color:inherit;opacity:.78;transition:opacity .2s}.site-header nav a:hover,.site-header nav a[aria-current=page]{opacity:1}.site-header nav a[aria-current=page]{text-underline-offset:6px;text-decoration:underline 1px}.header-contact{min-height:40px;padding:8px 16px;font-size:15px}.on-dark .header-contact{background:var(--coral);border-color:var(--coral);color:var(--ink)}.on-dark .header-contact:hover{background:#f27f63;border-color:#f27f63}.view-switch{border:1px solid var(--line-strong);white-space:nowrap;min-height:40px;color:inherit;border-radius:999px;align-items:center;gap:8px;margin-right:-14px;padding:8px 14px;font-size:14px;transition:background .2s;display:inline-flex}.on-dark .view-switch{border-color:var(--ink-3)}.view-switch:hover{background:#7f7f7f24}.site-header nav a{white-space:nowrap}@media (width<=1240px){.site-header{gap:22px}.site-header nav{gap:20px}.view-switch-more{display:none}.view-switch{margin-right:-8px}}.view-switch svg,.menu-view-switch svg{flex:none}.menu-panel .menu-view-switch{border-top:1px solid var(--line);border-radius:0 0 8px 8px;align-items:center;gap:8px;margin-top:4px;display:flex}.menu{margin-left:auto;display:none;position:relative}.menu summary{cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:8px 12px;font-size:15px;list-style:none}.on-dark .menu summary{border-color:var(--ink-3)}.menu summary::-webkit-details-marker{display:none}.menu-panel{background:var(--white);min-width:220px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 40px #0e111629}.menu-panel a{border-radius:8px;padding:12px 14px;font-size:16px}.menu-panel a:hover{background:var(--paper)}.site-footer{background:var(--ink);color:var(--on-ink);padding-block:88px 40px}.footer-cta-block{border-bottom:1px solid var(--ink-3);grid-template-columns:1.3fr 1fr;align-items:end;gap:48px;padding-bottom:64px;display:grid}.footer-cta-block h2{font-size:clamp(36px,4.6vw,64px)}.footer-cta-block h2 em{color:var(--on-ink-muted)}.footer-cta-block p{color:var(--on-ink-muted);margin-top:18px}.footer-cta-actions{flex-direction:column;justify-self:end;align-items:flex-start;gap:16px;display:flex}.footer-email{font-family:var(--mono);color:var(--on-ink-muted);border-bottom:1px solid var(--ink-3);padding-bottom:2px;font-size:15px}.footer-email:hover{color:var(--on-ink);border-color:var(--on-ink-muted)}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding-block:56px;display:grid}.footer-grid.has-social{grid-template-columns:1.4fr repeat(4,1fr)}.footer-grid p{color:var(--on-ink-muted);max-width:34ch;margin-top:14px;font-size:15px}.footer-grid h3{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-ink-muted);margin-bottom:16px;font-size:12px;font-weight:500}.footer-grid ul{gap:10px;font-size:15px;display:grid}.footer-grid a:hover{color:var(--coral)}.footer-legal{border-top:1px solid var(--ink-3);color:var(--on-ink-muted);justify-content:space-between;gap:24px;padding-top:28px;font-size:13px;display:flex}.section{padding-block:112px}.section-tight{padding-block:48px 96px}.section-dark{background:var(--ink);color:var(--on-ink)}.section-dark h2 em,.section-dark h3 em,.section-dark .eyebrow{color:var(--on-ink-muted)}.section-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px;display:flex}.section-heading .eyebrow{margin-bottom:18px}.section-aside{color:var(--muted);max-width:40ch;font-size:16px;line-height:1.6}.section-dark .section-aside{color:var(--on-ink-muted)}.page-intro{padding-block:96px 64px}.page-intro .eyebrow{margin-bottom:24px;display:inline-block}.page-intro>p:not(.eyebrow){color:var(--muted);max-width:58ch;margin-top:28px;font-size:20px;line-height:1.55}.page-intro .button{margin-top:32px}.prose{max-width:820px}.prose h2{margin:48px 0 16px;font-size:clamp(26px,2.8vw,34px)}.prose p,.prose li{color:#3b4049}.prose a:not(.button){text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--line-strong)}.prose a:not(.button):hover{color:var(--accent)}.page-intro.prose{padding-bottom:112px}.page-intro.prose>p:not(.eyebrow){color:#3b4049;font-size:18px}.process-section{background:var(--ink);color:var(--on-ink);padding-block:112px}.process-section .eyebrow,.process-section .section-aside,.process-section h2 em{color:var(--on-ink-muted)}.process-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.process-grid article{border-radius:var(--radius);background:var(--white);border:1px solid var(--line);flex-direction:column;gap:14px;padding:32px;display:flex}.process-grid article p{color:var(--muted);font-size:16px}.process-grid article .text-link{align-self:flex-start;margin-top:auto}.process-section .process-grid article{background:var(--ink-2);border-color:var(--ink-3)}.process-section .process-grid article p{color:var(--on-ink-muted)}.process-number{font-family:var(--mono);color:var(--coral);letter-spacing:.06em;font-size:13px}.pricing-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:20px;display:grid}.price-card{border-radius:var(--radius);background:var(--white);border:1px solid var(--line);flex-direction:column;padding:32px;display:flex;position:relative}.price-card.featured{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.card-top{justify-content:space-between;align-items:center;gap:12px;min-height:26px;display:flex}.price-card .eyebrow{color:inherit;opacity:.7}.price-card.featured .small-tag{border-color:var(--coral);color:var(--coral)}.price-card h3{letter-spacing:-.03em;min-height:2.5em;margin-top:28px;font-size:24px}.price-card .price-lead{min-height:3.2em;color:var(--muted);margin-top:8px;font-size:15px}.price-card.featured .price-lead{color:var(--on-ink-muted)}.price{letter-spacing:-.05em;font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;margin-top:28px;font-size:56px;font-weight:600;line-height:1;display:flex}.price-from{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:28px;font-size:12px}.price-card.featured .price-from{color:var(--on-ink-muted)}.price-from+.price{margin-top:10px}.currency{align-self:flex-start;margin-top:6px;font-size:26px;font-weight:500}.price-unit{letter-spacing:0;color:var(--muted);margin-left:10px;font-size:14px;font-weight:400}.price-card.featured .price-unit{color:var(--on-ink-muted)}.price-card ul{border-top:1px solid var(--line);gap:12px;margin:28px 0 32px;padding-top:24px;font-size:15px;display:grid}.price-card.featured ul{border-top-color:var(--ink-3)}.price-card li{align-items:flex-start;gap:12px;display:flex}.price-card li:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23ED6748' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/16px no-repeat;flex:none;width:16px;height:16px;margin-top:4px}.price-card .button{width:100%;margin-top:auto}.price-card.featured .button{background:var(--coral);border-color:var(--coral);color:var(--ink)}.price-card.featured .button:hover{background:#f27f63}.pricing-note{border-radius:var(--radius);background:var(--paper-2);color:var(--muted);align-items:flex-start;gap:14px;max-width:none;margin-top:24px;padding:20px 24px;font-size:15px;display:flex}.pricing-note strong{color:var(--text)}.work-grid{grid-template-columns:repeat(2,1fr);gap:28px;display:grid}.work-gallery{padding-bottom:112px}.project-card{flex-direction:column;gap:18px;display:flex}.project-image{border-radius:var(--radius);background:var(--ink);aspect-ratio:16/10;display:block;position:relative;overflow:hidden}.project-art{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-art img,.project-art video{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease), opacity .3s}.project-art video{opacity:0;position:absolute;inset:0}.project-card.is-playing .project-art video{opacity:1}.project-image:hover .project-art img,.project-image:hover .project-art video{transform:scale(1.02)}.project-image.portrait .project-art{padding:6% 0}.project-image.portrait .project-art img,.project-image.portrait .project-art video{aspect-ratio:9/16;object-fit:contain;width:auto;height:100%;position:relative}.project-image.portrait .project-art video{position:absolute;left:50%;transform:translate(-50%)}.project-image.portrait:hover .project-art video{transform:translate(-50%)scale(1.02)}.project-meta{pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.image-label,.project-view{height:32px;color:var(--on-ink);font-family:var(--mono);letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);background:#0e1116c7;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:inline-flex}.project-view{opacity:0;transition:opacity .25s, transform .35s var(--ease);transform:translateY(6px)}.project-image:hover .project-view,.project-image:focus-visible .project-view{opacity:1;transform:none}.project-caption{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-caption h3 a:hover{color:var(--accent)}.project-caption p{color:var(--muted);margin-top:4px;font-size:15px}.project-spec{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.project-spec span{border:1px solid var(--line-strong);height:34px;font-family:var(--mono);letter-spacing:.04em;color:var(--muted);border-radius:999px;align-items:center;padding:0 14px;font-size:12px;display:inline-flex}.case-video{margin-bottom:96px}.case-video video,.kit-demo video{aspect-ratio:16/9;border-radius:var(--radius);background:var(--ink);width:100%}.case-video.vertical video{aspect-ratio:9/16;max-width:440px;margin-inline:auto}.case-copy{grid-template-columns:1fr 1.2fr;gap:72px;padding-bottom:112px;display:grid}.case-copy h2{margin-top:16px;font-size:clamp(30px,3.4vw,46px)}.case-copy p{color:#3b4049}.case-copy .button,.case-copy>div:last-child>.text-link{margin-top:28px}.service-note{max-width:60ch;color:var(--muted);margin:20px 0 28px}.service-detail{grid-template-columns:1fr 1.4fr;align-items:start;gap:72px;display:grid}.service-detail>div>p{color:var(--muted);margin-top:22px}.faq{border-top:1px solid var(--line-strong)}.faq details{border-bottom:1px solid var(--line-strong)}.faq summary{cursor:pointer;letter-spacing:-.01em;justify-content:space-between;gap:24px;padding:24px 0;font-size:19px;font-weight:500;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--mono);color:var(--muted);transition:transform .3s var(--ease);font-weight:400}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{color:var(--muted);padding:0 48px 26px 0}.section-dark .faq,.section-dark .faq details{border-color:var(--ink-3)}.section-dark .faq details p{color:var(--on-ink-muted)}.shop-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:24px;padding-bottom:112px;display:grid}.shop-card{border-radius:var(--radius);background:var(--white);border:1px solid var(--line);flex-direction:column;gap:14px;padding:20px 20px 28px;display:flex}.shop-card video{aspect-ratio:16/9;border-radius:var(--radius-sm);background:var(--ink);width:100%}.shop-card h2{letter-spacing:-.03em;font-size:28px}.shop-card>p:not(.fine-print){color:var(--muted);font-size:16px}.shop-card ul{flex-wrap:wrap;gap:8px;display:flex}.shop-card li{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:13px}.shop-card .button,.shop-card .small-tag{align-self:flex-start}.contact-grid{grid-template-columns:1fr 1.25fr;align-items:start;gap:72px;display:grid}.contact-grid>div:first-child{position:sticky;top:108px}.contact-grid h2{font-size:clamp(32px,3.6vw,48px)}.contact-grid>div:first-child>p:not(.fine-print){color:var(--muted);margin:20px 0 28px}.contact-grid .email-link{font-family:var(--mono);border-bottom:1px solid var(--line-strong);margin-top:28px;font-size:15px;display:inline-block}.contact-grid .fine-print{margin-top:14px}#brief-form{border-radius:var(--radius);background:var(--white);border:1px solid var(--line);gap:20px;padding:36px;display:grid}#brief-form h3{font-size:24px}.field-pair{grid-template-columns:1fr 1fr;gap:20px;display:grid}#brief-form label{gap:8px;font-size:14px;font-weight:500;display:grid}#brief-form input:not([type=checkbox]),#brief-form select,#brief-form textarea{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--paper);width:100%;min-height:46px;padding:11px 14px;font-size:16px;font-weight:400;transition:border-color .2s,background .2s}#brief-form textarea{resize:vertical}#brief-form input:focus,#brief-form select:focus,#brief-form textarea:focus{border-color:var(--text);background:var(--white);outline:none}#brief-form .consent{color:var(--muted);align-items:flex-start;gap:12px;font-weight:400;display:flex}#brief-form .consent input{width:18px;height:18px;accent-color:var(--text);margin-top:4px}#brief-form .consent a{text-decoration:underline}#brief-form>.button{justify-self:start}.brief-output{border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);padding:24px}.brief-output pre{white-space:pre-wrap;font-family:var(--mono);max-height:280px;margin:16px 0;font-size:13px;line-height:1.6;overflow:auto}.js .reveal{opacity:0;transition:opacity .7s var(--ease), transform .9s var(--ease);transform:translateY(18px)}.js .reveal.is-visible{opacity:1;transform:none}}@layer responsive{@media (width<=1080px){.pricing-grid,.process-grid,.shop-grid{grid-template-columns:1fr}.pricing-grid{max-width:560px}.footer-grid,.footer-grid.has-social{grid-template-columns:1fr 1fr}.case-copy,.service-detail,.contact-grid,.footer-cta-block{grid-template-columns:1fr;gap:40px}.footer-cta-actions{justify-self:start}.contact-grid>div:first-child{position:static}}@media (width<=860px){.site-header nav,.site-header .header-contact,.site-header .view-switch{display:none}.menu{display:block}.work-grid{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start;gap:20px}}@media (width<=640px){body{font-size:16px}.wrap{width:min(100% - 40px, var(--max))}.section,.process-section{padding-block:80px}.page-intro{padding-block:64px 48px}.page-intro>p:not(.eyebrow){font-size:18px}.field-pair{grid-template-columns:1fr}#brief-form{padding:24px}.price-card,.process-grid article{padding:26px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-legal{flex-direction:column}.site-footer{padding-block:72px 32px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}}
