@font-face{font-family:Roboto;font-style:normal;font-weight:500 900;font-display:swap;src:url(/fonts/roboto-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:500 900;font-display:swap;src:url(/fonts/roboto-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Archivo;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/archivo-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Archivo;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/archivo-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/archivo-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}:root{--gc-magenta: #c1167c;--gc-bright: #ff3fb8;--gc-ink: #0b1114;--gc-paper: #eff2f0;--gc-body: #3a4440;--gc-slate: #5a6560;--gc-line: #d2d9d5;--bg: #ffffff;--bg-panel: var(--gc-paper);--bg-deep: var(--gc-ink);--bg-control: var(--bg-panel);--ink: var(--gc-ink);--ink-body: var(--gc-body);--ink-secondary: var(--gc-slate);--ink-on-deep: #ffffff;--ink-secondary-on-deep: var(--gc-line);--line: var(--gc-line);--line-strong: var(--gc-slate);--line-on-deep: rgb(210 217 213 / .25);--accent: var(--gc-magenta);--accent-hover: #9d0f63;--accent-tint: rgb(193 22 124 / .28);--accent-on-deep: var(--gc-bright);--font-display: "Roboto", "Helvetica Neue", Arial, sans-serif;--font-body: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--font-data: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--tracking-display: -.045em;--tracking-data: .06em;--container: 72rem;--gutter: 1.25rem;--radius: 4px;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem;--space-5: 4rem;--space-6: 6rem;--ease-out: cubic-bezier(.16, 1, .3, 1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;scrollbar-color:var(--ink-secondary) var(--bg);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;caret-color:var(--accent);-webkit-font-smoothing:antialiased}::selection{background:var(--ink);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}h1,h2,h3,p,dl,dd,ul,figure{margin:0}p{text-wrap:pretty}a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:var(--line-strong);transition:text-decoration-color .12s ease-out}a:hover{text-decoration-color:var(--accent)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.prose{max-width:64ch;color:var(--ink)}.prose p+p{margin-block-start:var(--space-2)}.prose__section{margin-block-start:var(--space-4)}.prose__heading{font-weight:700;font-size:1.125rem;letter-spacing:-.01em;margin-block-end:var(--space-2)}.site{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1}.skip-link{position:absolute;top:var(--space-1);left:var(--space-1);padding:.5em 1em;background:var(--ink);color:var(--bg);border-radius:var(--radius);text-decoration:none;transform:translateY(-200%);z-index:10}.skip-link:focus-visible{transform:none}.lockup{display:block;height:3.75em;width:auto}.logo{display:block;flex:none}.site-header{border-block-end:1px solid var(--line)}.site-header__inner{display:flex;align-items:center;gap:var(--space-3) var(--space-4);min-height:4.5rem}.brand{display:inline-flex;align-items:center;font-size:1rem;text-decoration:none;margin-inline-end:auto}.site-nav{display:flex;gap:var(--space-3)}.site-nav a{text-decoration:none;font-weight:500;color:var(--ink);padding-block:.25rem;border-block-end:2px solid transparent;transition:border-color .12s ease-out}.site-nav a:hover{border-block-end-color:var(--accent)}.hero{padding-block:var(--space-6) var(--space-6)}.hero__inner{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:center;gap:var(--space-5)}.hero__title{font-family:var(--font-display);font-weight:900;font-size:clamp(2.25rem,4.6vw,3.5rem);line-height:1.02;letter-spacing:var(--tracking-display);text-wrap:balance;max-width:26ch}.hero__subline{margin-block-start:var(--space-3);max-width:58ch;font-size:1.25rem;line-height:1.55;color:var(--ink-secondary)}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-block-start:var(--space-4)}.hero__mark{display:flex;justify-content:center}.hero__mark .logo{width:min(80%,20rem);height:auto}.hero__copy,.hero__mark{animation:rise .5s var(--ease-out) both}.hero__mark{animation-delay:80ms}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.button{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.4rem;border:0;border-radius:var(--radius);background:var(--accent);color:#fff;font:inherit;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .12s ease-out,transform .12s ease-out}.button:hover{background:var(--accent-hover)}.button:active{transform:translateY(1px)}.button:disabled{background:var(--ink-secondary);cursor:progress}.text-link{font-weight:500}.section{padding-block:var(--space-6);border-block-start:1px solid var(--line)}.section__title{font-family:var(--font-display);font-weight:900;font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.1;letter-spacing:var(--tracking-display);margin-block-end:var(--space-4)}.service-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.service-group__title,.technologies__title{font-weight:700;font-size:1.125rem;letter-spacing:-.01em;padding-block-end:var(--space-2);margin-block-end:var(--space-2);border-block-end:1px solid var(--line-strong)}.service-list{display:grid}.service{padding-block:var(--space-2);border-block-end:1px solid var(--line)}.service:last-child{border-block-end:0}.service__name{font-weight:600}.service__description{margin-block-start:.25rem;color:var(--ink-secondary)}.about{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--space-5);align-items:start}.about__text{max-width:62ch;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.about__text p+p{margin-block-start:var(--space-2)}.facts{display:grid;gap:0;font-variant-numeric:tabular-nums}.field{display:grid;gap:.15rem;padding-block:.75rem;border-block-end:1px solid var(--line)}.field:first-child{border-block-start:1px solid var(--line-strong)}.field__label{font-family:var(--font-data);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:var(--tracking-data);color:var(--ink-secondary)}.field__value{overflow-wrap:anywhere}.field__value--pending{color:var(--ink-secondary);font-style:italic}.facts--table{margin-block-start:var(--space-4);max-width:48rem}.facts--table .field{grid-template-columns:minmax(12rem,16rem) 1fr;gap:var(--space-2);align-items:baseline}.technologies{margin-block-start:var(--space-5)}.technologies .facts--table{margin-block-start:0;max-width:none}.technologies .field:first-child{border-block-start:0}.contact-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--space-5);align-items:start}.contact-layout__intro{max-width:36ch}.contact-layout__intro p+p{margin-block-start:var(--space-2);color:var(--ink-secondary)}.contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.contact__field{display:grid;gap:.4rem}.contact__field--wide{grid-column:1 / -1}.contact label{font-size:.9375rem;font-weight:500}.contact input,.contact textarea{width:100%;padding:.7rem .85rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-control);color:var(--ink);font:inherit;line-height:1.4;transition:border-color .12s ease-out,box-shadow .12s ease-out}.contact textarea{resize:vertical;min-height:9rem}.contact input:focus-visible,.contact textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.contact [aria-invalid=true]{border-color:var(--accent)}.contact__error{font-size:.9375rem;color:var(--accent)}.contact__trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.contact__actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.contact__status{flex:1 1 20ch;min-height:1.6em;font-size:.9375rem}.contact__privacy{grid-column:1 / -1;font-size:.9375rem;color:var(--ink-secondary)}.site-footer{background:var(--bg-deep);color:var(--ink-secondary-on-deep);padding-block:var(--space-5) var(--space-4);font-size:.9375rem;color-scheme:dark}.site-footer a{text-decoration-color:var(--line-on-deep)}.site-footer a:hover{text-decoration-color:var(--accent-on-deep)}.site-footer :focus-visible{outline-color:var(--accent-on-deep)}.site-footer ::selection{background:var(--ink-on-deep);color:var(--bg-deep)}.site-footer__brand{font-size:1rem;padding-block-end:var(--space-4);margin-block-end:var(--space-3);border-block-end:1px solid var(--line-on-deep)}.site-footer__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.site-footer__copyright{margin-inline-end:auto}.site-footer__nav{display:flex;flex-wrap:wrap;gap:var(--space-3)}@media(max-width:56rem){.hero__inner,.about,.contact-layout{grid-template-columns:1fr}.hero{padding-block:var(--space-5)}.hero__inner{gap:var(--space-4)}.hero__mark{order:-1;justify-content:flex-start}.hero__mark .logo{width:7rem}.service-groups{grid-template-columns:1fr;gap:var(--space-4)}.section{padding-block:var(--space-5)}}@media(max-width:40rem){.hero__mark{display:none}.site-header__inner{flex-wrap:wrap;padding-block:var(--space-2);row-gap:var(--space-2)}.brand{flex:1 0 100%;margin-inline-end:0}.site-nav{gap:var(--space-2)}.contact{grid-template-columns:1fr}.about__text{text-align:start}.facts--table .field{grid-template-columns:1fr;gap:.15rem}.site-footer__copyright{flex:1 0 100%;margin-inline-end:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__copy,.hero__mark{animation:none}.button,.site-nav a,a,.contact input,.contact textarea{transition:none}}
