@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/plus-jakarta-sans-latin.woff2) format("woff2");font-style:normal;font-weight:400 800;font-display:optional}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:optional}:root{--color-paper: oklch(97% .012 95);--color-paper-2: oklch(94% .016 95);--color-paper-3: oklch(91% .02 95);--color-ink: oklch(20% .012 250);--color-ink-soft: oklch(34% .012 250);--color-accent: oklch(86% .18 95);--color-accent-ink: var(--color-ink);--color-accent-deep: oklch(68% .15 95);--color-accent-2: oklch(66% .18 235);--color-accent-2-deep: oklch(48% .15 235);--color-accent-3: oklch(68% .24 18);--color-success: oklch(58% .15 150);--color-error: oklch(54% .2 25);--color-focus: oklch(48% .18 255);--color-surface: oklch(99% .006 95);--color-surface-cyan: oklch(92% .055 225);--color-surface-coral: oklch(92% .055 25);--color-rule: oklch(74% .02 95);--font-display: "Plus Jakarta Sans", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif;--font-mono: "JetBrains Mono", monospace;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4.5rem;--space-4xl: 7rem;--text-xs: .75rem;--text-sm: .875rem;--text-body: clamp(1rem, .96rem + .2vw, 1.125rem);--text-lg: clamp(1.2rem, 1.08rem + .6vw, 1.55rem);--text-2xl: clamp(1.8rem, 1.4rem + 2vw, 3rem);--text-display: clamp(3.25rem, 1.4rem + 8vw, 8.75rem);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-press: cubic-bezier(.2, .7, .3, 1);--dur-fast: .14s;--dur-base: .22s;--dur-reveal: .56s;--radius-input: .75rem;--radius-card: 1.25rem;--radius-card-lg: 1.75rem;--radius-pill: 999px;--rule-thin: 1px;--rule-strong: 2px;--shadow-contact: 0 4px 0 var(--color-ink);--shadow-soft: 0 18px 45px -28px var(--color-ink-soft);--page-max: 78rem;--page-gutter: clamp(1rem, 4vw, 2rem)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-width:20rem;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:var(--space-4xl)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:1.6;text-rendering:optimizeLegibility}button,input,select,textarea{color:inherit;font:inherit}button,summary,select{-webkit-tap-highlight-color:transparent}a{color:inherit}img,svg{display:block;max-width:100%}.skip-link{position:fixed;z-index:100;inset:var(--space-sm) auto auto var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-input);background:var(--color-ink);color:var(--color-paper);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.shell{width:min(100%,var(--page-max));margin-inline:auto;padding-inline:var(--page-gutter)}.section{padding-block:var(--space-4xl)}.section-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:var(--space-xl);align-items:end;margin-bottom:var(--space-2xl)}.section-heading>p{max-width:30rem;color:var(--color-ink-soft)}h1,h2,h3{min-width:0;margin:0;overflow-wrap:anywhere;font-family:var(--font-display);font-style:normal;line-height:.98;letter-spacing:-.04em}h2{font-size:var(--text-2xl)}p{margin-block:0}.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-lg);width:min(calc(100% - 2 * var(--page-gutter)),var(--page-max));margin:var(--space-md) auto 0;padding:var(--space-sm) var(--space-md);border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-card);background:var(--color-paper);box-shadow:var(--shadow-contact)}.wordmark{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;letter-spacing:-.055em;line-height:1;text-decoration:none;white-space:nowrap}.wordmark>span{color:var(--color-accent-3)}.primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-lg)}.primary-nav a{display:inline-flex;min-height:2.75rem;align-items:center;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap}.primary-nav a:not(.nav-cta){text-decoration-color:transparent;text-decoration-line:underline;text-decoration-thickness:var(--rule-strong);text-underline-offset:.35em;transition:text-decoration-color var(--dur-fast) var(--ease-out)}.primary-nav a:not(.nav-cta):hover{text-decoration-color:var(--color-accent-2)}.nav-cta{padding-inline:var(--space-md);border-radius:var(--radius-pill);background:var(--color-accent);box-shadow:0 3px 0 var(--color-accent-deep);transition:transform var(--dur-fast) var(--ease-press),box-shadow var(--dur-fast) var(--ease-press)}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--color-accent-deep)}.nav-cta:active{transform:translateY(2px);box-shadow:0 1px 0 var(--color-accent-deep)}.nav-toggle{display:none;min-width:2.75rem;min-height:2.75rem;border:0;background:transparent;font-weight:700;line-height:1}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(14rem,.65fr);gap:var(--space-2xl);align-items:end;min-height:min(46rem,calc(100svh - 6rem));padding-block:var(--space-3xl) var(--space-4xl)}.hero h1{max-width:10ch;font-size:var(--text-display);font-weight:700}.hero-copy>p{max-width:38rem;margin-block:var(--space-xl);color:var(--color-ink-soft);font-size:var(--text-lg)}.pigi-mark{position:relative;justify-self:end;align-self:center;width:clamp(9rem,22vw,17rem);aspect-ratio:1.35;border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-accent);box-shadow:0 8px 0 var(--color-accent-deep),var(--shadow-soft);transform:rotate(4deg)}.pigi-mark:before,.pigi-mark:after{position:absolute;top:-12%;width:30%;height:46%;border:var(--rule-strong) solid var(--color-ink);border-radius:var(--radius-card-lg) var(--radius-card-lg) var(--radius-input) var(--radius-input);background:var(--color-accent);content:""}.pigi-mark:before{left:8%;transform:rotate(-18deg)}.pigi-mark:after{right:8%;transform:rotate(18deg)}.pigi-mark span{position:absolute;z-index:1;top:44%;width:12%;aspect-ratio:.72;border-radius:var(--radius-pill);background:var(--color-ink)}.pigi-mark span:first-child{left:29%}.pigi-mark span:last-child{right:29%}.pigi-mark.is-celebrating{animation:mark-celebrate .42s var(--ease-out)}.button{--button-face: var(--color-accent);--button-edge: var(--color-accent-deep);display:inline-flex;width:fit-content;min-height:3rem;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);border:0;border-radius:var(--radius-pill);background:var(--button-face);box-shadow:0 4px 0 var(--button-edge),0 6px 12px -3px var(--color-rule);color:var(--color-accent-ink);font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transform:translateY(0);transition:transform var(--dur-fast) var(--ease-press),box-shadow var(--dur-fast) var(--ease-press),background-color var(--dur-base) var(--ease-out)}.button:hover{box-shadow:0 6px 0 var(--button-edge),0 12px 22px -4px var(--color-rule);transform:translateY(-2px)}.button:active{box-shadow:0 1px 0 var(--button-edge);transform:translateY(3px);transition-duration:70ms}.button:disabled{opacity:.55;box-shadow:0 4px 0 var(--button-edge);cursor:not-allowed;transform:none}.project-form[data-state=loading] .button{cursor:progress}.project-form[data-state=error] .button{--button-face: var(--color-surface-coral);--button-edge: var(--color-error)}.project-form[data-state=success] .button{--button-face: var(--color-success);--button-edge: var(--color-ink)}.bento-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-md)}.tile{grid-column:span 4;min-height:15rem;padding:var(--space-xl);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-soft);transition:transform var(--dur-base) var(--ease-out)}.tile:hover{transform:translateY(-4px)}.tile-large{grid-column:span 7;grid-row:span 2;min-height:31rem;background:var(--color-paper-2);box-shadow:0 7px 0 var(--color-accent);color:var(--color-accent-ink)}.tile-app{grid-column:span 5;background:var(--color-surface-cyan);box-shadow:0 5px 0 var(--color-accent-2);color:var(--color-accent-ink)}.tile-feature{grid-column:span 5;border:var(--rule-strong) solid var(--color-ink)}.tile-performance{grid-column:span 4;background:var(--color-surface-cyan)}.tile-setup{grid-column:span 4;background:var(--color-paper-3)}.tile-care{grid-column:span 4;background:var(--color-surface-coral)}.tile-label{margin-bottom:var(--space-2xl);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tile h3{max-width:16ch;margin-bottom:var(--space-md);font-size:var(--text-2xl)}.tile>p:last-child{max-width:34rem}.process-panel{padding:var(--space-2xl);border-radius:var(--radius-card-lg);background:var(--color-ink);color:var(--color-paper)}.process-panel .section-heading>p{color:var(--color-paper);opacity:.76}.process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);margin:0;padding:0;list-style:none}.process-list li{padding-top:var(--space-lg);border-top:var(--rule-thin) solid var(--color-ink-soft)}.process-list li>span{display:block;margin-bottom:var(--space-xl);color:var(--color-accent);font-family:var(--font-mono)}.process-list strong{display:block;margin-bottom:var(--space-sm);font-size:var(--text-lg)}.process-list p{opacity:.82}.faq-list{border-top:var(--rule-strong) solid var(--color-ink)}.faq-list details{border-bottom:var(--rule-thin) solid var(--color-ink)}.faq-list summary{display:flex;min-height:4rem;align-items:center;justify-content:space-between;gap:var(--space-md);font-size:var(--text-lg);font-weight:700;list-style:none;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{flex:none;font-family:var(--font-mono);content:"+";transform:rotate(0);transform-origin:center;transition:transform var(--dur-base) var(--ease-out)}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details>p{max-width:50rem;padding:0 0 var(--space-lg);color:var(--color-ink-soft)}.contact-section{padding-block:var(--space-4xl);background:var(--color-surface-coral)}.contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-2xl);align-items:start}.contact-copy{position:sticky;top:var(--space-4xl)}.contact-copy h2{margin-bottom:var(--space-lg);font-size:clamp(3.25rem,1.8rem + 5vw,7rem)}.contact-copy>p{max-width:32rem}.contact-copy a{display:inline-block;margin-top:var(--space-xl);font-size:var(--text-sm);font-weight:800;white-space:nowrap}.project-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);padding:var(--space-xl);border-radius:var(--radius-card-lg);background:var(--color-paper);box-shadow:0 8px 0 var(--color-ink)}.field{min-width:0}.field-wide{grid-column:1 / -1}.field label,.consent{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xs);font-weight:700}.field label span{color:var(--color-ink-soft);font-weight:400}.field input,.field select,.field textarea{width:100%;min-height:3rem;padding:var(--space-sm) var(--space-md);border:var(--rule-thin) solid var(--color-ink);border-radius:var(--radius-input);outline:2px solid transparent;background:var(--color-surface);transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.field input:disabled,.field select:disabled,.field textarea:disabled{opacity:.55;background:var(--color-paper-3);cursor:not-allowed}.field input:hover,.field select:hover,.field textarea:hover{background:var(--color-paper-2)}.field textarea{resize:vertical}.project-form[data-state=error] input,.project-form[data-state=error] select,.project-form[data-state=error] textarea{border-color:var(--color-error)}.project-form[data-state=success] input,.project-form[data-state=success] select,.project-form[data-state=success] textarea{border-color:var(--color-success)}.consent{align-items:start}.consent input{flex:none;width:1.25rem;height:1.25rem}.form-actions{position:relative;display:flex;align-items:center;gap:var(--space-lg)}.form-status{min-height:1lh;color:var(--color-ink-soft)}.project-form[data-state=error] .form-status{color:var(--color-error)}.project-form[data-state=success] .form-status{color:var(--color-success);font-weight:700}.success-burst{position:absolute;right:var(--space-md);width:1.5rem;height:1.5rem;background:linear-gradient(90deg,transparent 47%,var(--color-accent-3) 47% 53%,transparent 53%),linear-gradient(0deg,transparent 47%,var(--color-accent-3) 47% 53%,transparent 53%);animation:success-burst .42s var(--ease-out) forwards;pointer-events:none}.site-footer{background:var(--color-ink);color:var(--color-paper)}.footer-marquee{overflow:clip;border-bottom:var(--rule-thin) solid var(--color-ink-soft)}.footer-track{display:flex;width:max-content;gap:var(--space-xl);padding-block:var(--space-lg);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;white-space:nowrap;animation:marquee 32s linear infinite}.footer-marquee:hover .footer-track,.footer-marquee:focus-within .footer-track{animation-play-state:paused}.footer-track span:after{margin-left:var(--space-xl);color:var(--color-accent);content:"/"}.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding-block:var(--space-xl)}.footer-meta a{font-size:var(--text-sm);line-height:1;white-space:nowrap}@keyframes marquee{to{transform:translate(-33.333%)}}@keyframes success-burst{0%{opacity:1;transform:scale(0) rotate(0)}to{opacity:0;transform:scale(1.4) rotate(45deg)}}@keyframes mark-celebrate{50%{transform:rotate(0) scale(1.04)}}.js .site-header:not(.is-motion-ready),.js .pigi-mark:not(.is-motion-ready){opacity:0}.js [data-reveal]{opacity:0}.js .site-header.is-motion-ready,.js .pigi-mark.is-motion-ready,.js [data-reveal].is-visible{opacity:1}@media(max-width:60rem){.hero{grid-template-columns:minmax(0,1fr);min-height:auto}.pigi-mark{justify-self:start;width:11rem}.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile,.tile-large,.tile-app,.tile-feature,.tile-performance,.tile-setup,.tile-care{grid-column:auto;grid-row:auto;min-height:14rem}.tile-large{grid-column:1 / -1;min-height:22rem}.process-list{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:minmax(0,1fr)}.contact-copy{position:static}}@media(max-width:48rem){.section-heading{grid-template-columns:minmax(0,1fr)}}@media(max-width:40rem){.site-header{grid-template-columns:1fr auto}.primary-nav{grid-column:1 / -1;align-items:stretch;flex-direction:column;gap:0}.js .nav-toggle{display:inline-flex;align-items:center;justify-content:center}.js .primary-nav{display:none}.js [data-nav][data-open=true] .primary-nav{display:flex}.primary-nav a{min-height:2.75rem}.section-heading,.project-form{grid-template-columns:minmax(0,1fr)}.section{padding-block:var(--space-3xl)}.hero{padding-block:var(--space-2xl) var(--space-3xl)}.hero h1,.contact-copy h2{font-size:clamp(3rem,16vw,5rem)}.bento-grid,.process-list{grid-template-columns:minmax(0,1fr)}.tile-large{grid-column:auto;min-height:18rem}.field-wide{grid-column:auto}.form-actions,.footer-meta{align-items:stretch;flex-direction:column}.button{width:100%}.footer-meta a,.contact-copy a{font-size:clamp(.72rem,3.6vw,.875rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.js .site-header,.js .pigi-mark,.js [data-reveal]{opacity:1;transform:none}.footer-track{width:auto;flex-wrap:wrap;white-space:normal;animation:none}.tile:hover,.button:hover,.button:active,.nav-cta:hover,.nav-cta:active{transform:none}}
