@font-face{font-family:barlow;src:url(../media/barlow_light-s.p.3lst16ddmao46.woff2)format("woff2");font-display:swap;font-weight:300;font-style:normal}@font-face{font-family:barlow;src:url(../media/barlow_regular-s.p.2w-eao_k5pziq.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:barlow;src:url(../media/barlow_semibold-s.p.14sz-5zsn4k6e.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:barlow Fallback;src:local(Arial);ascent-override:103.13%;descent-override:20.63%;line-gap-override:0.0%;size-adjust:96.96%}.barlow_dadd9edd-module__RM6b-a__className{font-family:barlow,barlow Fallback}.barlow_dadd9edd-module__RM6b-a__variable{--font-barlow:"barlow", "barlow Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f6f7f9;--depth:#101415;--depth-hover:#23282f;--ground:#0a1730;--ground-hover:#16223d;--ground-active:#060f22;--current:#262b32;--dilute:#61676f;--feather:#b2b9c2;--mist:#dfe3e9;--paper-lit:#fff;--danger:#a5342c;--fog:#aebfd5;--live:#66a6ff;--copy-deep:#dfe8f7;--signal:#0047ab;--signal-deep:color-mix(in oklab, var(--signal) 70%, var(--ground));--ease:cubic-bezier(.16, 1, .3, 1);--hair:1px solid var(--mist);--hair-deep:1px solid #f6f7f929;--space:clamp(22px, 4.5vw, 76px);--header:84px;--grain-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)'/%3E%3C/svg%3E");--grain-paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.04 0 0 0 0 0.10 0 0 0 0 0.20 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box}.button,.header-link,.panel-after,.services,.limit{background-color:var(--ground);background-image:var(--grain-dark);color:var(--paper)}html{scroll-behavior:smooth;scrollbar-color:var(--feather) var(--paper);scroll-padding-top:24px}body{background-color:var(--paper);background-image:var(--grain-paper);color:var(--depth);font:400 1.0625rem/1.55 var(--font-barlow), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--live);color:var(--depth)}h1,h2,h3,p,ol,ul,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.limit a:focus-visible,.services a:focus-visible,.panel-after a:focus-visible{outline-color:var(--live)}svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:20px;height:20px}.symbols{width:0;height:0;position:absolute;overflow:hidden}.wrap{width:min(1240px, 100% - var(--space) * 2);margin-inline:auto}.skip{z-index:9;background:var(--ground);color:var(--paper);padding:12px 16px;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip:focus{transform:none}@keyframes fit-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -4% 0 0)}}@keyframes rule-x{0%{transform:scaleX(0)}}.header-row>*,.hero-copy>*,.tasks{animation:fit-in .58s var(--ease) backwards}.header-row>:nth-child(2){animation-delay:60ms}.header-row>:nth-child(3){animation-delay:.12s}.hero-copy>:first-child{animation-delay:.1s}.hero-copy>:nth-child(2){animation-delay:.24s}.hero-copy>:nth-child(3){animation-delay:.36s}.tasks{animation-delay:.48s}.header{z-index:2;background:var(--paper);position:relative}.header:after{content:"";background:var(--mist);transform-origin:0;height:1px;animation:rule-x .72s var(--ease) backwards;position:absolute;inset:auto 0 0}.header-row{min-height:var(--header);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;display:flex}.brand{align-items:center;min-height:44px;display:flex}.brand img{display:block}.header nav{color:var(--dilute);gap:34px;margin-inline-start:auto;font-size:1rem;display:flex}.header nav a:is(:hover,:active){color:var(--depth);text-underline-offset:7px;text-decoration:underline;text-decoration-thickness:1px}.header nav a{align-items:center;min-height:44px;display:inline-flex}.hero{min-height:calc(100svh - var(--header));grid-template-rows:1fr auto;display:grid;position:relative;overflow:clip}.hero-figure,.hero-fade{width:100%;height:100%;position:absolute;inset:0}.hero-fade{background:linear-gradient(to bottom, transparent 74%, var(--paper) 99%)}.hero-copy{align-self:center;padding-block:clamp(48px,6vw,92px) clamp(24px,3vw,44px);position:relative}.hero h1{letter-spacing:-.035em;text-wrap:balance;max-width:16ch;font-size:clamp(2.5rem,6.2vw,5.75rem);font-weight:300;line-height:1.03}.hero-copy>p{max-width:56ch;color:var(--dilute);margin-top:clamp(20px,2.4vw,30px);font-size:clamp(1.0625rem,1.25vw,1.25rem)}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:clamp(28px,3.4vw,44px);display:flex}.button,.button-quiet,.header-link{cursor:pointer;border:0;border-radius:3px;align-items:center;gap:18px;min-height:56px;padding-inline:26px;font-size:1rem;font-weight:600;transition:background-color .2s,border-color .2s;display:inline-flex}.button:hover,.header-link:hover{background-color:var(--ground-hover)}.button:active,.header-link:active{background-color:var(--ground-active)}.header-link{gap:10px;min-height:44px;padding-inline:18px;font-size:.9375rem}.button-label{justify-items:start;display:inline-grid}.button-label>span,.button-label:before{grid-area:1/1}.button-label:before{content:attr(data-label);visibility:hidden}.button-sending{cursor:progress;position:relative;overflow:hidden}.button-sending:after{content:"";background:var(--live);width:38%;height:2px;animation:1.1s linear infinite sending;position:absolute;inset:auto 0 0}@keyframes sending{0%{transform:translate(-100%)}to{transform:translate(363%)}}.button-quiet{border:1px solid var(--feather);background:color-mix(in srgb, var(--paper) 72%, transparent);color:var(--depth)}.button-quiet:hover{border-color:var(--depth);background:color-mix(in srgb, var(--mist) 50%, transparent)}.button-quiet,.contact-send .button{justify-content:space-between}.button svg,.button-quiet svg,.header-link svg{transition:translate .25s var(--ease)}.tasks{padding-bottom:0;position:relative}.tasks>p{letter-spacing:.02em;color:var(--dilute);padding-bottom:14px;font-size:.875rem}.task-row{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.task-row:before,.task-row:after{content:"";border-top:var(--hair);position:absolute;inset-inline:calc(50% - 50vw)}.task-row:before{top:0}.task-row:after{bottom:0}.task-row button{text-align:left;color:var(--dilute);cursor:pointer;background:0 0;border:0;align-items:center;gap:13px;padding:20px 22px 20px 0;font-size:1.0625rem;transition:color .2s;display:flex;position:relative}.task-row button+button{border-left:var(--hair);padding-left:22px}.task-row button:hover{color:var(--depth)}.task-row button svg{color:var(--feather);transition:fill .3s,color .3s}.task-row button[aria-pressed=true]{color:var(--depth);font-weight:600}.task-row button[aria-pressed=true] svg{color:var(--signal-deep);fill:var(--signal-deep)}.task-row button:after{content:"";z-index:1;background:var(--signal-deep);transform-origin:0;height:2px;transition:transform .3s var(--ease);position:absolute;inset:auto 0 0;transform:scaleX(0)}.task-row button[aria-pressed=true]:after{transform:scaleX(1)}.task-row button:first-child:after{transform-origin:100%;left:-100vw}.task-row button:last-child:after{right:-100vw}:is(.button,.button-quiet,.header-link):is(:hover,:focus-visible) svg{translate:4px}:is(.button,.button-quiet,.header-link):active{transform:scale(.985)}.pattern-grid{margin-inline:max(var(--space), calc((100% - 1240px) / 2)) 0;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);display:grid}.panel{padding:clamp(32px,3.6vw,54px) clamp(26px,3vw,48px) clamp(38px,4vw,60px)}.panel h2{letter-spacing:-.022em;max-width:24ch;font-size:clamp(1.5rem,2.3vw,2rem);font-weight:300;line-height:1.12}.panel-before{padding-left:0}.panel-before p{max-width:40ch;color:var(--dilute);margin-top:18px}.panel-after ol{counter-reset:step;max-width:46ch;margin-top:22px;padding-left:0;list-style:none}.panel-after li{color:var(--copy-deep);counter-increment:step;padding-left:30px;position:relative}.panel-after li+li{margin-top:12px}.panel-after li:before{content:counter(step);font-variant-numeric:tabular-nums;color:var(--fog);font-size:.8125rem;line-height:1.95;position:absolute;left:0}.pigments{border-top:var(--hair);border-bottom:var(--hair)}.pigments-row{justify-content:space-between;align-items:center;gap:clamp(24px,4vw,56px);padding-block:clamp(26px,3vw,40px);display:flex}.pigments h2{max-width:26ch;font-size:1.0625rem;font-weight:600;line-height:1.35}.pigments ul{letter-spacing:-.03em;flex-wrap:wrap;gap:clamp(24px,3.4vw,48px);padding:0;font-size:clamp(1.5rem,3vw,2.375rem);font-weight:300;list-style:none;display:flex}.pigments p{max-width:30ch;color:var(--dilute);font-size:.875rem}.services{padding-block:clamp(64px,8vw,118px)}.services-lead,.service-row{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:clamp(20px,3.4vw,48px);display:grid}.services-lead{align-items:end;margin-bottom:clamp(38px,4.5vw,62px)}.services h2,.approach h2,.contact h2{letter-spacing:-.032em;text-wrap:balance;font-size:clamp(2rem,4.2vw,3.5rem);font-weight:300;line-height:1.06}.services-lead p{max-width:42ch;color:var(--fog)}.service-row{border-top:var(--hair-deep);align-items:start;padding-block:clamp(24px,2.6vw,34px)}.service-row:last-child{border-bottom:var(--hair-deep)}.service-row h3{letter-spacing:-.02em;font-size:clamp(1.3125rem,1.9vw,1.625rem);font-weight:400}.service-row p{max-width:46ch;color:var(--copy-deep)}.approach{padding-block:clamp(64px,8vw,112px)}.approach-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,96px);display:grid}.approach-lead p{max-width:30ch;color:var(--dilute);margin-top:18px}.approach ol{--step-size:31px;--step-padding:clamp(20px, 2.4vw, 30px);padding:0;list-style:none;position:relative}.step-line{top:calc(var(--step-padding) + var(--step-size) / 2);height:calc(100% + 1px);left:calc((var(--step-size) - 1px) / 2);background:var(--feather);transform-origin:top;width:1px;position:absolute}.approach li{padding-block:var(--step-padding);grid-template-columns:32px minmax(0,1fr);gap:22px;display:grid;position:relative}.approach li+li{border-top:var(--hair)}.step-index{z-index:1;width:var(--step-size);height:var(--step-size);border:1px solid var(--feather);background:var(--paper);font-variant-numeric:tabular-nums;color:var(--dilute);border-radius:50%;place-items:center;font-size:.8125rem;display:grid;position:relative}.approach h3{letter-spacing:-.02em;font-size:clamp(1.25rem,1.8vw,1.5rem);font-weight:400;line-height:1.25}.approach li p{max-width:44ch;color:var(--dilute);margin-top:8px}.limit{isolation:isolate;padding-block:clamp(60px,8vw,104px) clamp(112px,13vw,190px);position:relative}.limit-figure{z-index:-1;opacity:.42;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 26%,#000 46%);mask-image:linear-gradient(#0000 26%,#000 46%)}.limit-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:clamp(28px,5vw,80px);display:grid}.limit h2{letter-spacing:-.03em;font-size:clamp(1.75rem,3.6vw,3rem);font-weight:300;line-height:1.1}.limit p{max-width:44ch;color:var(--copy-deep)}.contact{padding-block:clamp(64px,8vw,112px)}.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(36px,6vw,88px);display:grid}.contact h2{max-width:14ch}.contact-intro>p{max-width:34ch;color:var(--dilute);margin-top:22px;font-size:1.125rem}.contact-alternative{margin-top:clamp(28px,3.4vw,44px)}.contact-alternative p{color:var(--dilute);margin-bottom:10px;font-size:.9375rem}.button img{display:block}.button:has(img){gap:12px}.contact-form{border:var(--hair);background:var(--paper-lit);border-radius:3px;gap:24px;min-width:0;padding:clamp(24px,3vw,40px);display:grid}.contact-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.contact-field{gap:8px;display:grid}.contact-field label{font-size:.9375rem;font-weight:600}.contact-field input,.contact-field textarea{border:1px solid var(--dilute);background:var(--paper);width:100%;min-width:0;color:var(--depth);caret-color:var(--signal);font:inherit;border-radius:3px;padding:12px 14px;line-height:1.5;transition:border-color .2s,background-color .2s;display:block}.contact-field input{min-height:52px}.contact-field textarea{resize:vertical;min-height:158px}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--dilute);opacity:1}.contact-field input:hover,.contact-field textarea:hover{border-color:var(--dilute)}.contact-field input:focus-visible,.contact-field textarea:focus-visible{border-color:var(--signal);background:var(--paper-lit)}:is(.contact-field input:user-invalid,.contact-field textarea:user-invalid){border-color:var(--danger);outline-color:var(--danger)}.contact-send{flex-wrap:wrap;align-items:center;gap:14px 20px;display:flex}.contact-send p{color:var(--dilute);font-size:.9375rem}.contact-note{color:var(--dilute);font-size:.875rem;line-height:1.5}.contact-note a{text-underline-offset:3px;text-decoration:underline}.contact-note a:is(:hover,:active){color:var(--depth)}.contact-honey{display:none}.legal{padding-block:clamp(44px,5.5vw,88px) clamp(64px,8vw,112px)}.legal-wrap{width:min(780px, 100% - var(--space) * 2)}.legal-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--dilute);font-size:.6875rem;font-weight:600}.legal h1{letter-spacing:-.035em;text-wrap:balance;margin-top:14px;font-size:clamp(2.125rem,5vw,3.875rem);font-weight:300;line-height:1.04}.legal-lede{max-width:52ch;color:var(--dilute);margin-top:clamp(18px,2.2vw,26px);font-size:clamp(1.0625rem,1.25vw,1.25rem)}.legal-date{border-bottom:var(--hair);font-variant-numeric:tabular-nums;color:var(--feather);margin-top:clamp(22px,2.8vw,32px);padding-bottom:clamp(22px,2.8vw,32px);font-size:.8125rem}.legal h2{letter-spacing:-.02em;margin-top:clamp(32px,3.8vw,50px);font-size:clamp(1.25rem,1.8vw,1.5625rem);font-weight:400}.legal p,.legal li{max-width:66ch;color:var(--current)}.legal h2+p,.legal p+p,.legal p+ul,.legal ul+p{margin-top:14px}.legal strong{color:var(--depth);font-weight:600}.legal ul{padding-left:0;list-style:none}.legal li{padding-left:22px;position:relative}.legal li+li{margin-top:9px}.legal li:before{content:"";background:var(--depth);width:7px;height:7px;position:absolute;top:.62em;left:1px}.legal-contact{border-top:var(--hair);color:var(--dilute);margin-top:clamp(32px,3.8vw,50px);padding-top:clamp(20px,2.4vw,28px)}.legal a{color:var(--depth);text-decoration:underline;-webkit-text-decoration-color:var(--feather);text-decoration-color:var(--feather);text-underline-offset:4px;text-decoration-thickness:1px}.legal a:hover{-webkit-text-decoration-color:var(--depth);text-decoration-color:var(--depth)}footer{border-top:var(--hair)}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 22px;padding-block:30px;display:flex}.footer-row span,.footer-nav a{font-variant-numeric:tabular-nums;color:var(--dilute);font-size:.8125rem}.footer-nav{gap:22px;display:flex}.footer-nav a{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.footer-nav a:is(:hover,:active){color:var(--depth);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}@media (max-width:1000px){.services-lead,.limit-grid{grid-template-columns:1fr;gap:22px}.service-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)}.services-lead p{max-width:52ch}.approach-grid,.contact-grid{grid-template-columns:1fr;gap:34px}.pattern-grid{grid-template-columns:1fr}.panel-before{padding-inline:0 var(--space);padding-bottom:30px}.panel-after{margin-left:calc(var(--space) * -1)}}@media (max-width:760px){:root{--header:64px}.header nav{display:none}.header .brand img{width:140px;height:auto}.header-row{gap:16px}.header-link{padding-inline:14px}.hero{min-height:calc(100svh - var(--header));grid-template-rows:auto minmax(150px,1fr) auto}.hero-copy{order:1;align-self:start;padding-block:44px 10px}.hero-figure{order:2;height:100%;min-height:150px;position:static}.hero-fade{display:none}.tasks{order:3}.hero h1{max-width:18ch;font-size:clamp(2.125rem,8.6vw,3.25rem)}.hero-actions .button,.hero-actions .button-quiet{width:100%}.task-row{grid-template-columns:1fr}.task-row button{padding:16px 0}.task-row button:after{left:-100vw;right:-100vw}.task-row button+button{border-left:0;border-top:var(--hair);padding-left:0}.pigments-row{gap:16px;display:grid}.pigments ul{gap:24px}.service-row{grid-template-columns:1fr;gap:10px}.approach li{grid-template-columns:26px minmax(0,1fr);gap:16px}.approach ol{--step-size:25px}.step-index{font-size:.75rem}}@media (max-width:480px){.contact-details{grid-template-columns:1fr}.contact-send{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}:is(.button,.button-quiet,.header-link):active{transform:none}:is(.button,.button-quiet,.header-link) svg{transition:none;translate:none!important}.button-sending:after{width:100%}.task-row button:after{opacity:0;transition:opacity .2s;transform:scaleX(1)}.task-row button[aria-pressed=true]:after{opacity:1}*,:before,:after{animation:none!important}}
