:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0b09;--text:#eaebee;--muted:#8b9099;--border:#1e2026;--panel:#131418;--field:#211f1b;--field-focus:#2c2924;--accent:#eaebee;--accent-contrast:#0c0b09;--radius:10px;--container:640px;--nav-h:7.5rem;--font-body:"Synonym", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading:"Chillax", var(--font-body);--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f3f4;--text:#14161a;--muted:#6b7075;--border:#e2e3e5;--panel:#fff;--field:#e7e8ea;--field-focus:#dcdde0;--accent:#14161a;--accent-contrast:#f2f3f4}*{box-sizing:border-box}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(theme-icon){animation:.35s both icon-out}::view-transition-new(theme-icon){animation:.45s 80ms both icon-in}@keyframes icon-out{to{opacity:0;transform:rotate(-120deg)scale(.4)}}@keyframes icon-in{0%{opacity:0;transform:rotate(120deg)scale(.4)}}::view-transition-old(brand-logo){animation:.3s both logo-out}::view-transition-new(brand-logo){animation:.5s .35s both logo-in}@keyframes logo-out{to{opacity:0;transform:scale(.94)}}@keyframes logo-in{0%{opacity:0;transform:scale(.94)}}html{scroll-behavior:smooth;overflow-anchor:none}html,body{margin:0;padding:0;overflow-x:clip}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.6}h1,h2,h3,.hero,.brand{font-family:var(--font-heading)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:4px}code{font-family:var(--font-mono);color:var(--muted);font-size:.875em}.muted{color:var(--muted)}.skip-link{background:var(--accent);color:var(--accent-contrast);z-index:20;border-radius:8px;padding:.5rem .9rem;transition:top .15s;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:10;background:color-mix(in srgb, var(--bg) 60%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .2s;position:sticky;top:0}.site-header.is-solid{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;padding:1.6rem 2.5rem .9rem;display:flex}.brand{letter-spacing:-.01em;font-weight:600;display:inline-flex}.brand__logo{filter:brightness(0)invert();view-transition-name:brand-logo;width:auto;height:80px}:root[data-theme=light] .brand__logo{filter:brightness(0)}:root[data-theme=light] .brand{color:#181818}.site-header .btn{padding:.6rem 1.3rem;font-size:1.05rem;transition:background-color .2s,color .2s,border-color .2s}:root[data-theme=light] .site-header .btn{color:#fff;background:#181818;border-color:#181818}.site-header__actions{align-items:center;gap:.7rem;display:flex}.theme-toggle{border-radius:var(--radius);background:var(--field);width:3.5rem;color:inherit;cursor:pointer;opacity:.7;border:none;flex:none;align-self:stretch;place-items:center;transition:opacity .15s,transform .2s,background-color .15s,color .15s;display:grid}.theme-toggle:hover{opacity:1;background:var(--accent);color:var(--accent-contrast)}.theme-toggle svg{view-transition-name:theme-icon;width:18px;height:18px}@media (max-width:640px){.site-header__inner{gap:.6rem;padding:1rem 1.25rem .75rem}.brand__logo{height:48px}.site-header__actions{gap:.5rem}.site-header .btn{padding:.5rem .9rem;font-size:.9rem}}.site-nav{flex-wrap:wrap;gap:1.1rem;font-size:.9rem;display:flex}.site-nav a{color:var(--muted);transition:color .15s}.site-nav a:hover{color:var(--text)}.site-footer{border-top:1px solid var(--border);margin-top:clamp(5rem,12vh,8rem)}.site-footer__grid{grid-template-columns:1fr auto;gap:clamp(3rem,9vw,7rem) 2rem;padding:clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,4rem);display:grid}.site-footer__contact{flex-wrap:wrap;grid-area:1/1;gap:1.5rem 3.5rem;display:flex}.site-footer__contact-item{flex-direction:column;gap:.35rem;display:flex}.site-footer__contact-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:500}.site-footer__contact a{color:var(--text);width:fit-content;font-size:clamp(1.25rem,2.2vw,1.6rem);transition:color .15s}.site-footer__contact a:hover{color:var(--muted)}.site-footer__nav{flex-wrap:wrap;grid-area:1/2;justify-content:flex-end;place-self:start end;gap:.5rem 1.75rem;font-size:1.15rem;display:flex}.site-footer__nav a{color:var(--muted);transition:color .15s}.site-footer__nav a:hover{color:var(--text)}.site-footer__copy{color:var(--muted);grid-area:2/1;align-self:end;font-size:1rem}.site-footer__socials{flex-wrap:wrap;grid-area:2/2;justify-content:flex-end;place-self:end;gap:.4rem 1.5rem;display:flex}.social{color:var(--muted);align-items:center;gap:.35rem;font-size:1.15rem;transition:color .15s;display:inline-flex}.social:hover{color:var(--text)}.social__arrow{width:1em;height:1em;transition:transform .15s}.social:hover .social__arrow{transform:translate(1px,-1px)}@media (max-width:640px){.site-footer__grid{grid-template-columns:1fr}.site-footer__nav{grid-area:2/1;justify-content:flex-start;justify-self:start}.site-footer__socials{grid-area:3/1;justify-content:flex-start;justify-self:start}.site-footer__copy{grid-row:4}}.page{max-width:1440px;margin:0 auto;padding:clamp(3rem,9vh,6rem) 2.5rem 4rem}#services,#clients,#approach{scroll-margin-top:calc(var(--nav-h) + 1rem)}.page--hero{padding-top:clamp(3rem,6vh,5rem);padding-bottom:clamp(6rem,16vh,11rem)}.hero-services{--avail:calc(100svh - var(--nav-h));--row-max:7.3rem;--row:clamp(3.5rem, calc(var(--avail) * .48 / var(--n,5)), var(--row-max));--fit-gap:clamp(1rem, calc(var(--avail) * .035), 3rem);--hero-lines:4;--hero-room:calc(var(--avail) - var(--n,5) * var(--row) - 3 * var(--fit-gap));min-height:var(--avail);flex-direction:column;display:flex}.hero-services>.page{width:100%}.hero-services .page--hero{padding-block:var(--fit-gap)}.hero-services .hero{font-size:clamp(2.3rem, min(8.5vw, calc(var(--hero-room) / (var(--hero-lines) * 1.05))), 6.5rem)}.hero-services>#services{padding-block:0 var(--fit-gap);margin-top:auto}@media (max-width:900px){.hero-services{--row-max:5rem;--row:clamp(3.25rem, calc(var(--avail) * .5 / var(--n,5)), var(--row-max))}.hero-services .page--hero{margin-block:auto}.hero-services>#services{margin-top:0}}@media (max-width:640px){:root{--nav-h:4.75rem}.hero-services{--hero-lines:6}.hero-services .hero{font-size:clamp(2.3rem, min(11vw, calc(var(--hero-room) / (var(--hero-lines) * 1.05))), 6.5rem)}.hero-services>#services{padding-inline:1.25rem}}.intro{flex-direction:column;gap:.9rem;display:flex}.kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:500}.intro h1,.hero{letter-spacing:-.03em;text-wrap:balance;overflow-wrap:break-word;max-width:18ch;margin:0;font-size:clamp(2.3rem,8.5vw,6.5rem);font-weight:500;line-height:1.05}.lead{max-width:52ch;color:var(--muted);text-wrap:pretty;margin:0;font-size:1.05rem}.lead code{color:var(--text)}.services{margin-top:0}.service{padding:calc(var(--row,7.3rem) * .27) 2rem;border-radius:8px;grid-template-columns:2.5rem minmax(280px,max-content) 1fr 1.5rem;align-items:start;column-gap:2.5rem;transition:background-color .2s;display:grid;position:relative}.service.is-open{background:var(--field)}.service+.service:before{content:"";background:var(--border);height:1px;transition:opacity .2s;position:absolute;inset:-1px 0 auto}.service.is-open:before,.service.is-open+.service:before{opacity:0}.service__head{grid-area:1/1/auto/-1;grid-template-columns:subgrid;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:grid}.service__num{width:max(1.6rem, calc(var(--row,7.3rem) * .342));height:max(1.6rem, calc(var(--row,7.3rem) * .342));background:var(--marker);color:#14140f;font-family:var(--font-heading);font-size:max(.8rem, calc(var(--row,7.3rem) * .164));border-radius:6px;place-items:center;font-weight:600;line-height:1.3;display:grid}.service__title{font-size:calc(var(--row,7.3rem) * .376);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.2}.service__chevron{grid-column:4;width:1.5rem;height:1.5rem;transition:transform .25s}.service.is-open .service__chevron{transform:rotate(180deg)}.service__body{grid-area:1/3;overflow:hidden}.service__desc{margin:0;font-size:1.3rem;line-height:1.6}.service__list{grid-template-columns:repeat(2,1fr);gap:2rem 2.5rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.subservice{border-top:1px solid var(--border);padding-top:1rem}.subservice__title{font-family:var(--font-heading);margin:0 0 .4rem;font-size:1.2rem;font-weight:600;line-height:1.3}.subservice__desc{color:var(--muted);margin:0;font-size:1rem;line-height:1.6}@media (max-width:900px){.service{padding:calc(var(--row,5rem) * .3) 1rem;display:block}.service__head{gap:1rem;width:100%;display:flex}.service__num{width:calc(var(--row,5rem) * .4);height:calc(var(--row,5rem) * .4);font-size:calc(var(--row,5rem) * .24);flex:none}.service__title{font-size:calc(var(--row,5rem) * .32);letter-spacing:-.01em;flex:1;line-height:1}.service__chevron{flex:none;width:1.25rem;height:1.25rem}.service__details{padding-top:1.5rem}.service__desc{font-size:1rem}.service__list{grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem}}.clients{margin-top:clamp(4rem,10vh,7rem)}.clients__heading{font-family:var(--font-heading);letter-spacing:-.02em;margin:0;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:600}.clients__subtitle{max-width:46ch;color:var(--muted);margin:.6rem 0 2rem;font-size:1.15rem;line-height:1.5}.clients__grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.clients__link{display:block}.clients__card{aspect-ratio:1;background:var(--field);border-radius:10px;place-items:center;padding:2rem 1.5rem;transition:box-shadow .15s;display:grid}.clients__link:hover .clients__card{box-shadow:0 4px 16px #00000014}.clients__logo{object-fit:contain;filter:brightness(0)invert();width:auto;max-width:100%;max-height:60px}:root[data-theme=light] .clients__logo{filter:brightness(0)}@media (max-width:640px){.clients__grid{grid-template-columns:repeat(2,1fr)}}.approach{--floor:1.15rem;--radius:24px;--pad:clamp(2rem, 4.5vw, 4.5rem);width:100%;margin-top:clamp(4rem,10vh,7rem);padding:0 clamp(1rem,3vw,2rem) clamp(2rem,6vw,5rem)}.approach:before{content:"";top:var(--nav-h);z-index:2;height:calc(100svh - var(--nav-h) - var(--floor));margin-bottom:calc(-100svh + var(--nav-h) + var(--floor));border-radius:var(--radius);box-shadow:0 0 0 4rem var(--bg);pointer-events:none;display:block;position:sticky}.approach__label{top:calc(var(--nav-h) + var(--pad));z-index:4;height:0;margin-top:var(--pad);margin-bottom:var(--pad);margin-right:var(--pad);line-height:1;font-family:var(--font-heading);letter-spacing:-.01em;color:var(--text);flex:none;align-self:flex-end;font-size:1.6rem;font-weight:600;position:sticky;overflow:visible}.approach__grid{flex-direction:column;display:flex}.approach__block{min-height:calc(100svh - var(--nav-h));padding:var(--pad);--block-bg:color-mix(in srgb, var(--c) 20%, #0c0b09);--block-fg:color-mix(in srgb, var(--c) 55%, #efefe8);background:var(--block-bg);color:var(--block-fg);flex-direction:column;gap:2rem;display:flex}:root[data-theme=light] .approach__block{--block-bg:color-mix(in srgb, var(--c) 22%, #fff);--block-fg:color-mix(in srgb, var(--c) 68%, #14161a)}.approach__block:first-of-type{border-radius:var(--radius) var(--radius) 0 0;margin-top:calc(-2 * var(--pad))}.approach__block:last-of-type{border-radius:0 0 var(--radius) var(--radius)}.approach__title{max-width:12ch;font-family:var(--font-heading);letter-spacing:-.02em;text-wrap:balance;margin-block:auto;font-size:clamp(3rem,8vw,6rem);font-weight:600;line-height:1}.approach__text{opacity:.82;max-width:52ch;margin:0;font-size:clamp(1.25rem,2vw,1.9rem);line-height:1.45}@media (max-width:640px){.approach:before{display:none}.approach__label{letter-spacing:-.02em;align-self:flex-start;height:auto;margin:0 0 1.5rem 1.5rem;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.6;position:static}.approach__block{gap:1rem;min-height:0;padding:2.5rem 1.75rem 1.75rem}.approach__block:first-of-type{margin-top:0}.approach__title{max-width:none;margin-block:.75rem;font-size:1.9rem}.approach__text{font-size:1.05rem}}.contact-section{background:var(--bg);scroll-margin-top:5rem}.contact{margin-top:0}.contact .kicker{text-transform:none;letter-spacing:0;color:var(--muted);margin-bottom:1.25rem;font-size:1.05rem}.contact__text{font-family:var(--font-heading);letter-spacing:-.01em;margin:0;font-size:clamp(1.6rem,3.2vw,3rem);font-weight:500;line-height:1.7}.contact__line{display:block}@media (min-width:640px){.contact__line{white-space:nowrap}}.contact__nb{white-space:nowrap}.contact__field{font:inherit;color:var(--text);background:var(--field);vertical-align:baseline;border:none;border-radius:6px;width:11ch;padding:.08em .45em;line-height:1.25}.contact__field--wide{width:13ch}.contact__select{cursor:pointer;width:auto}.contact__field:focus{background:var(--field-focus);outline:none}.contact__submit.btn{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);border-radius:var(--radius);margin-top:2.5rem;padding:.75rem 1.6rem;font-size:1.15rem}.contact__submit:hover{opacity:.88}.contact__submit:disabled{opacity:.6;cursor:default}.contact__error{color:#c0392b;margin:1rem 0 0;font-size:.95rem}.actions{flex-wrap:wrap;gap:.6rem;margin-top:.6rem;display:flex}.btn{border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast);border:1px solid var(--accent);touch-action:manipulation;align-items:center;padding:.6rem 1.1rem;font-size:.9rem;font-weight:550;transition:opacity .15s,background-color .15s,color .15s;display:inline-flex}.btn:hover{opacity:.85}.btn--ghost{color:var(--text);border-color:var(--border);background:0 0}.btn--ghost:hover{opacity:1;background:var(--panel);border-color:var(--muted)}.pages{margin-top:clamp(3rem,8vh,5rem)}.pages h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem;font-size:.8rem;font-weight:500}.muted a{color:var(--text);text-underline-offset:2px;text-decoration:underline}.list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.list__link{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem .25rem;transition:padding-left .15s,background-color .15s;display:flex}.list__link:hover{background:var(--panel);padding-left:.6rem}.list__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.list__slug{flex-shrink:0}.draft-banner{border:1px solid color-mix(in srgb, #d97706 40%, var(--border));border-radius:var(--radius);background:#d977061f;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:.6rem 1rem;font-size:.85rem;display:flex}.draft-banner a{text-underline-offset:2px;font-weight:550;text-decoration:underline}.article__header{flex-direction:column;gap:.9rem;margin-bottom:2.5rem;display:flex}.back{color:var(--muted);font-size:.85rem;transition:color .15s}.back:hover{color:var(--text)}.article__header h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(1.9rem,5vw,2.6rem);font-weight:640;line-height:1.1}.prose{font-size:1.05rem;line-height:1.75}.prose>*+*{margin-top:1.25rem}.prose h2{letter-spacing:-.02em;margin:2.5rem 0 0;scroll-margin-top:5rem;font-size:1.5rem}.prose h3{margin:2rem 0 0;scroll-margin-top:5rem;font-size:1.2rem}.prose a{text-underline-offset:2px;text-decoration:underline}.prose ul,.prose ol{padding-left:1.25rem}.prose li+li{margin-top:.4rem}.prose blockquote{border-left:2px solid var(--border);color:var(--muted);margin:0;padding-left:1rem;font-style:italic}.prose img{border-radius:var(--radius);max-width:100%;height:auto}.prose code{background:var(--panel);border-radius:6px;padding:.1em .4em}.prose pre{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow-x:auto}.prose pre code{background:0 0;padding:0}@media (max-width:640px){.page{padding-block:2rem}.clients{margin-top:.5rem}.approach{margin-top:1.5rem;padding-bottom:1.5rem}.site-footer{margin-top:2rem}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hp-field{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.site-footer__legal{flex-direction:column;grid-area:2/1;align-self:end;gap:.4rem;display:flex}.site-footer__legal .site-footer__copy{grid-area:auto;align-self:auto}.site-footer__legal-nav{gap:1rem;font-size:.9rem;display:flex}.site-footer__legal-nav a{color:var(--muted);text-decoration:none}.site-footer__legal-nav a:hover{color:var(--text)}@media (max-width:640px){.site-footer__legal{grid-row:4}}.consent{z-index:60;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:1rem;max-width:640px;margin:0 auto;padding:1rem 1.25rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem;box-shadow:0 10px 30px #00000040}.consent__text{color:var(--muted);flex:260px;margin:0;font-size:.95rem}.consent__text a{color:var(--text)}.consent__actions{flex-shrink:0;gap:.5rem;display:flex}