@font-face{font-family:Manrope;src:url(/fonts/manrope/manrope.woff2)format("woff2");font-style:normal;font-weight:200 800;font-display:optional}@font-face{font-family:"Source Sans 3";src:url(/fonts/sourcesans3/sourcesans3.woff2)format("woff2");font-style:normal;font-weight:200 900;font-display:optional}:root{color-scheme:light dark;--paper:light-dark(#f8f5ef,#191919);--ink:light-dark(#252723,#fafafa);--muted:light-dark(#62635b,#d0d0d0);--accent:light-dark(#b13a13,#ff7033);--line:light-dark(#d7d4ca,#404040);--panel:light-dark(#edeae2,#242424);--soft:light-dark(#f0eee7,#202020);--display:"Manrope", sans-serif;--body:"Source Sans 3", sans-serif;--header-height:6rem;font-family:var(--body);color:var(--ink);background:var(--paper);font-synthesis:none}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1.5rem)}body{isolation:isolate;overflow-wrap:anywhere;margin:0;font-size:1.125rem;line-height:1.6;position:relative}[hidden]{display:none!important}a{color:inherit;text-underline-offset:.3em;text-decoration-thickness:1px}.link-with-arrow{align-items:baseline;text-decoration:none;display:inline-flex}.link-label{text-underline-offset:.3em;min-width:0;text-decoration:underline 1px}.nav .link-label{text-decoration:none}a .link-arrow{flex-shrink:0;padding-inline-start:.3rem;text-decoration:none;display:inline-block}button,select{font:inherit}a,select{-webkit-tap-highlight-color:transparent}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{color:var(--paper);background:var(--accent)}img,svg{max-width:100%;display:block}img{height:auto}figure{margin:0}p{margin:0 0 1.25rem}h1,h2,h3{margin:0;font-weight:600}h1,h2,.project-heading{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;line-height:1.08}h1{font-size:4.25rem}h2{font-size:3.125rem}em{font-weight:inherit;font-style:normal}h1 em,h2 em{color:var(--accent)}.shell{width:min(100% - 6rem,64rem);margin-inline:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--paper);z-index:50;padding:.75rem 1rem;position:absolute;top:.75rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:30;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{align-items:center;gap:2rem;min-height:5.5rem;display:flex}.brand{background:0 0;border-radius:2px;flex-shrink:0;width:15rem;max-width:100%;padding:.5rem .625rem;display:block}.brand img{width:100%}.nav{flex-wrap:wrap;align-items:center;gap:2rem;margin-left:auto;display:flex}.nav a{padding-block:.75rem;font-size:1rem;font-weight:600;text-decoration:none}.theme-control-pending{visibility:hidden}.theme-control{border:1px solid var(--line);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.theme-control:hover{color:var(--accent);border-color:var(--accent)}.hero{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:4rem;padding-block:2.5rem;display:grid}.hero-intro{color:var(--muted);font-size:1.125rem;line-height:1.7}.hero-line{display:inline-block}#hero-title{margin-bottom:1.5rem;font-size:clamp(2.875rem,5vw,4rem)}.hero-context{max-width:42rem;color:var(--muted);font-size:1.125rem}.proof-strip{border-block:1px solid var(--line);grid-template-columns:minmax(0,.9fr) minmax(0,1.7fr);align-items:center;gap:2.25rem;padding-block:2rem;display:grid}.proof-tenure{text-align:center;margin:0}.proof-number{color:var(--accent);font:500 6.75rem/.95 var(--display);letter-spacing:-.065em;display:block}.proof-years{font:500 1.625rem/1.2 var(--display);margin-top:.5625rem;display:block}.proof-caption{color:var(--muted);margin-top:.75rem;font-size:1.125rem;line-height:1.4;display:block}.proof-clients{border-left:1px solid var(--line);padding-left:2.25rem}.proof-clients-label{color:var(--muted);margin-bottom:1rem;font-size:1rem}.client-logos{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:1.25rem 2rem;margin:0;padding:0;list-style:none;display:grid}.proof-links{margin-top:1.5rem}.client-logo .experience-logo{max-height:3.25rem}@media (width<=35rem){.proof-strip{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-block:1.625rem}.proof-tenure{text-align:left;grid-template-columns:auto 1fr;justify-self:center;align-items:center;gap:.25rem 1.125rem;display:grid}.proof-number{grid-row:span 2;font-size:4.75rem}.proof-years{align-self:end;margin:0}.proof-caption{align-self:start;margin:0}.proof-clients{border-left:0;border-top:1px solid var(--line);padding:1.375rem 0 0}.client-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}.section-heading.consulting-heading{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:4rem;display:grid}@media (width<=69.99rem){.section-heading.consulting-heading{gap:2rem}}@media (width<=48rem){.section-heading.consulting-heading{grid-template-columns:minmax(0,1fr)}}.hero-actions{flex-wrap:wrap;align-items:center;gap:.875rem;margin-top:2rem;display:flex}.hero-action{border:1px solid #0000;border-radius:.625rem;justify-content:center;align-items:center;gap:.75rem;max-width:100%;min-height:3.25rem;padding:.75rem 1.25rem;font-size:1.125rem;font-weight:600;line-height:1.4;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.hero-action svg{flex:0 0 1.25rem}.hero-action-primary{color:#fff;background:light-dark(#b13a13,#c9431a);border-color:light-dark(#b13a13,#c9431a);box-shadow:0 2px 3px #0000000d}.hero-action-primary:hover{color:#fff;background:light-dark(#922e0d,#b03812);border-color:light-dark(#922e0d,#b03812)}.hero-action-secondary{color:var(--ink);border-color:var(--line);background:0 0}.hero-action-secondary:hover{color:var(--ink);background:var(--panel);border-color:var(--muted)}@media (width<=28rem){.hero-action{width:100%}}.text-link{color:var(--accent);align-items:center;gap:1.5rem;max-width:100%;min-height:2.75rem;font-size:.875rem;font-weight:600;display:inline-flex}.explore-link{gap:.3rem;font-size:1.125rem;text-decoration:none}.project-copy .explore-link{gap:.3rem}.explore-link span:not(.link-arrow){text-underline-offset:.25em;text-decoration:underline 1px}.explore-link .link-arrow{padding-inline-start:0}.explore-link svg{flex:0 0 1.25rem;width:1.25rem;height:1.25rem}.quiet-link{padding-block:.5rem;font-size:1.125rem;display:inline-flex}.small-copy{color:var(--muted);font-size:.8125rem}.section-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem;display:flex}.section-heading>p{color:var(--muted);margin:0;font-size:1rem}.expertise-section .section-heading>p{font-size:1.25rem;line-height:1.5}.work-section>.section-heading{display:block}.work-section>.section-heading>p{max-width:42rem;margin-top:.875rem;font-size:1.125rem}.work-section{border-top:1px solid var(--line);padding-top:3rem;padding-bottom:3rem}.project{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:3rem;padding-block:0 2.5rem;display:grid}.project+.project{border-top:1px solid var(--line);padding-top:2.5rem;padding-bottom:0}.project-copy{max-width:52rem}.project-copy>p{color:var(--muted);font-size:.9375rem}.tabularia-logo{width:19rem;height:auto;color:var(--ink);margin-bottom:1.5rem}.project-copy .project-heading{color:var(--ink);margin-bottom:1.25rem;font-size:2.375rem}.project-copy .project-detail{font-size:.8125rem}.paysegue-logo{width:16rem;max-width:100%;margin-bottom:1.5rem}.dark-asset{display:none}:root[data-theme=dark] .dark-asset{display:block}:root[data-theme=dark] .light-asset{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dark-asset{display:block}:root:not([data-theme=light]) .light-asset{display:none}}.expertise-section{background:var(--soft);border-block:1px solid var(--line);padding-block:3rem}.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 4rem;display:grid}.service{border-top:1px solid var(--line);padding-top:1.5rem}.service h3{font-family:var(--display);letter-spacing:-.025em;text-wrap:balance;margin:0 0 1rem;font-size:1.5625rem;font-weight:500;line-height:1.22}.service p{color:var(--muted);margin:0;font-size:.875rem}.service p+p{margin-top:.75rem}.expertise-invitation{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.25rem 1.25rem;margin-top:2.25rem;padding-top:1.5rem;display:flex}.expertise-invitation p{font:500 1.375rem/1.35 var(--display);letter-spacing:-.025em;margin:0}.expertise-invitation a{color:var(--accent);white-space:nowrap;padding-block:.625rem}.expertise-invitation .link-arrow{padding-inline-start:.3rem}.about-section{padding-block:2.5rem}.about-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 2rem;margin-bottom:1.5rem;display:flex}.about-copy{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:3rem;display:grid}.about-intro p{color:var(--ink);margin:0;font-size:1.375rem;line-height:1.55}.about-details p{color:var(--muted);margin:0 0 1rem;font-size:1.125rem}.about-details p:last-child{margin-bottom:0}.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center;width:100%}.experience-section{padding-block:4rem 3rem}.experience-item{border-top:1px solid var(--line);grid-template-columns:.55fr 1.2fr 1.65fr;gap:2rem;padding-block:1.75rem;display:grid}.experience-item:last-child{border-bottom:1px solid var(--line)}.experience-item p{margin:0}.experience-years{color:var(--accent);font-size:.8125rem}.experience-item h3{font-family:var(--display);margin-bottom:.5rem;font-size:1.5rem;line-height:1.3}.experience-role{color:var(--muted);font-size:.75rem}.experience-description{color:var(--muted);font-size:.8125rem}.contact-section{background:var(--panel);border-block:1px solid var(--line);padding-block:3rem}.contact-inner,.service-offer{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:5rem;display:grid}.contact-inner{align-items:center}@media (width<=65rem){.contact-inner,.service-offer{gap:2rem}}@media (width<=50rem){.contact-inner,.service-offer{grid-template-columns:minmax(0,1fr);gap:1.5rem}}.contact-inner h2{font-size:4rem}.contact-section .contact-inner{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:1.5rem}.contact-section .contact-copy{max-width:36rem}.contact-section .contact-copy>p{margin-inline:auto}.contact-copy>p:first-child{color:var(--muted);max-width:30rem}.contact-email{font-family:var(--display);letter-spacing:-.03em;overflow-wrap:anywhere;gap:0;max-width:100%;padding-block:.5rem;font-size:1.75rem;display:inline-flex}.contact-linkedin{align-items:center;gap:0;display:inline-flex}.contact-linkedin img{flex:0 0 1.5rem;width:1.5rem;height:1.5rem;margin-inline-end:.5rem}.contact-copy .small-copy{margin-top:.75rem;margin-bottom:0}.site-footer{border-top:1px solid var(--line);background:var(--panel);color:var(--ink);padding-block:2.5rem;font-size:1.25rem}.site-footer-inner{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.site-footer p{margin:0}.footer-nav{flex-wrap:wrap;gap:.5rem 1.5rem;margin-left:2rem;margin-right:auto;font-size:1rem;display:flex}.footer-nav a{color:var(--muted);text-decoration:none}.footer-nav a:hover{color:var(--accent)}@media (width<=47.99rem){.footer-nav{margin-left:0}}@media (width>=90rem){h1{font-size:4.5rem}.hero{padding-block:2.5rem}}@media (width<=69.99rem){.shell{width:calc(100% - 4rem)}h1{font-size:4rem}.hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2rem}.header-inner{gap:1.5rem}.brand{width:12rem}.nav{gap:1.25rem}.project{gap:2rem}.project-copy .project-heading{font-size:2rem}.about-copy,.services{gap:2rem}.contact-email{font-size:1.375rem}}@media (width<=47.99rem){.shell{width:calc(100% - 2.5rem)}.header-inner{flex-wrap:wrap;gap:.5rem 1rem;padding-block:1rem .25rem}.brand{width:12rem}.theme-control{border:0;margin-left:auto;padding:0}.nav{border-top:1px solid var(--line);order:3;justify-content:space-between;gap:.75rem;width:100%;margin:0}.nav a{font-size:1rem}.hero{grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-block:3rem}h1{font-size:2.875rem}h2{font-size:2.5rem}.hero-intro{font-size:1rem}.hero-actions{gap:.75rem;margin-top:1.5rem}.section-heading{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:2rem}.section-heading>p{font-size:1rem}.expertise-section .section-heading>p{font-size:1.125rem}.section-heading>p br{display:none}.work-section{padding-top:2.5rem;padding-bottom:3rem}.project{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-block:1rem 2.5rem}.project+.project{padding-top:2.5rem}.project-copy .project-heading{font-size:2.25rem}.project-copy>p{font-size:1rem}.project-copy .project-detail{font-size:.875rem}.expertise-section{padding-block:3rem}.services{grid-template-columns:minmax(0,1fr);gap:1.5rem}.service{padding-top:1rem}.service h3{margin-top:.75rem}.service p{font-size:1rem}.expertise-invitation{flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:2rem}.about-section{padding-block:2rem}.about-copy{grid-template-columns:minmax(0,1fr);gap:1rem}.about-intro p{font-size:1.25rem}.portrait{max-width:25rem}.portrait img{aspect-ratio:5/4;object-position:center 40%}.experience-section{padding-bottom:3rem}.experience-item{grid-template-columns:minmax(0,1fr);gap:.75rem;padding-block:1.5rem}.experience-description{font-size:.9375rem}.experience-role{font-size:.8125rem}.contact-section{padding-block:3rem}.contact-inner h2{font-size:3.5rem}.contact-email{font-size:1.5rem}.site-footer-inner{flex-direction:column;gap:.75rem}.desktop-break{display:none}}@media (width<=22rem){h1{font-size:2.875rem}.brand{width:10.5rem}.contact-email{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{:root{color-scheme:light}.nav,.theme-control,.hero-actions,.skip-link,.site-footer a{display:none}.shell{width:100%}.hero,.about-section,.expertise-section,.contact-section{padding-block:2rem}.project,.experience-item{break-inside:avoid}}.hero-portrait img{border:1px solid var(--line);aspect-ratio:5/4;object-position:center 40%;border-radius:1.5rem}.about-heading h2{font-size:2.75rem}.experience-role+.experience-role{margin-top:.65rem}.testimonials-section{background:var(--soft);border-block:1px solid var(--line);padding-block:3rem}.testimonials{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.testimonial{border-top:2px solid var(--accent);flex-direction:column;padding-top:1.5rem;display:flex}.testimonial blockquote{margin:0 0 1rem;font-size:1.125rem;line-height:1.6}.testimonial figcaption{margin-top:auto;font-size:.9375rem}.testimonial-person{color:var(--ink);align-items:center;gap:1rem;text-decoration:none;display:flex}.testimonial-avatar{background:var(--panel);border-radius:50%;flex:0 0 4.5rem;place-items:center;width:4.5rem;height:4.5rem;display:grid;position:relative;overflow:hidden}.testimonial-avatar img{max-width:none;height:auto;position:absolute}.testimonial-identity{min-width:0}.testimonial-context{color:var(--muted);margin-top:.25rem;font-size:1rem;display:block}.header-tall{position:static}@media (width<=47.99rem){:root{--header-height:4.5rem}.hero-portrait{width:100%;max-width:23rem}.hero-portrait img{aspect-ratio:5/4;object-position:center 40%}.testimonials{grid-template-columns:minmax(0,1fr);gap:2rem}.testimonials-section{padding-block:3rem}.about-heading h2{font-size:2.25rem}}@media (height<=30rem){.site-header{position:static}}@media print{.site-header{position:static}}.hero-intro{font-size:1.25rem}.project-copy>p,.project-copy .project-detail,.service p,.experience-description,.contact-copy>p{font-size:1.125rem}.experience-role,.experience-years,.small-copy,.testimonial figcaption{font-size:1rem}.project-copy>:last-child{margin-bottom:0}.section-heading{margin-bottom:2rem}.service h3{margin-top:0}@media (width<=47.99rem){.hero{gap:1.5rem;padding-block:2rem}.hero-intro{font-size:1.125rem}}.experience-item{grid-template-columns:14rem minmax(0,1fr) minmax(0,1.4fr);align-items:start}.experience-brand{align-self:center;min-width:0}.experience-logo{aspect-ratio:2;object-fit:contain;width:100%}.experience-brand-enlarged{overflow:hidden}.experience-brand-enlarged .experience-logo{transform:scale(1.25)}.experience-position .experience-years{margin-bottom:.75rem}:root[data-theme=dark] .experience-logo{filter:brightness(1.8)}:root[data-theme=dark] .experience-logo-mono{filter:invert()}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .experience-logo{filter:brightness(1.8)}:root:not([data-theme=light]) .experience-logo-mono{filter:invert()}}@media (width<=69.99rem){.experience-item{grid-template-columns:11rem minmax(0,1fr)}.experience-brand{grid-row:span 2}.experience-description{grid-column:2}}@media (width<=47.99rem){.experience-item{grid-template-columns:8rem minmax(0,1fr);gap:1rem}.experience-brand{grid-row:auto}.experience-brand:empty{display:none}.experience-brand:empty+.experience-position,.experience-description{grid-column:1/-1}.experience-description p{text-align:justify;hyphens:auto}.experience-position h3{font-size:1.25rem}}:root .experience-logo.experience-logo-original{filter:none}.experience-projects{grid-column:2/-1;min-width:0}.experience-projects>summary{-webkit-user-select:none;user-select:none;color:var(--accent);cursor:pointer;padding-block:.75rem;font-size:1.125rem;font-weight:600}.experience-project-details{max-width:50rem;font-size:1.125rem}.experience-project-details p,.experience-project-details h4{margin-top:1rem}.experience-gallery{min-width:0;margin-top:1rem}.experience-screenshot-link{border:1px solid var(--line);border-radius:.75rem;display:block;position:relative;overflow:hidden}.experience-screenshot img{aspect-ratio:4/3;object-fit:contain;width:100%;height:auto}.experience-screenshot-lead img{aspect-ratio:auto}.experience-image-zoom{color:#fff;background:#101918;border:1px solid #ffffff40;border-radius:.3rem;padding:.3rem .6rem;font-size:.875rem;position:absolute;bottom:.5rem;right:.5rem}.experience-screenshot figcaption{color:var(--muted);gap:.25rem;margin-top:.75rem;font-size:1.125rem;line-height:1.5;display:grid}.experience-screenshot figcaption strong{color:var(--text)}.experience-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:.5rem;display:grid}.experience-screenshot-lead+.experience-gallery-grid{margin-top:1.5rem}.experience-gallery-attribution{color:var(--muted);margin-bottom:1rem;font-size:1.125rem}.experience-gallery-portraits{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,46rem)}.experience-gallery-portraits .experience-screenshot{max-width:22.5rem}.experience-gallery-portraits img{aspect-ratio:auto}.experience-gallery-compact .experience-gallery-grid,.experience-gallery-grid-paired{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-gallery-compact .experience-screenshot-link{background:var(--panel)}@media (width<=69.99rem){.experience-projects{grid-column:1/-1}}@media (width<=47.99rem){.experience-gallery-grid,.experience-gallery-compact .experience-gallery-grid,.experience-gallery-grid-paired{grid-template-columns:1fr;gap:1.5rem}}.website-work{border-top:1px solid var(--line);margin-top:0;padding-block:2.5rem 3rem}.website-work>h2{font-family:var(--display);letter-spacing:-.01em;margin-bottom:1.5rem;font-size:2rem;line-height:1.2}.website-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;display:grid}.website-card{flex-direction:column;min-width:0;display:flex}.website-preview{border:1px solid var(--line);border-radius:.75rem;display:block;overflow:hidden;box-shadow:0 .5rem 1.25rem -.75rem #00000030}.website-preview img{aspect-ratio:36/25;object-fit:cover;object-position:top;width:100%}.website-card h3{font-family:var(--display);letter-spacing:-.01em;margin:1.25rem 0 .5rem;font-size:1.5rem;font-weight:600;line-height:1.3}.website-card p{color:var(--muted);margin-bottom:.5rem;font-size:1.125rem}.website-card>.explore-link{align-self:flex-start;margin-top:auto}@media (width<=69.99rem){.website-grid{gap:1.25rem}}@media (width<=47.99rem){.website-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.website-work{margin-top:2rem;padding-top:2rem}.website-work>h2{font-size:1.75rem}}:root{--texture-noise-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--texture-noise-opacity:.2}:root[data-theme=dark]{--texture-noise-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--texture-noise-opacity:.045}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--texture-noise-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--texture-noise-opacity:.045}}body:before,.expertise-section:before,.testimonials-section:before,.contact-section:before{content:"";z-index:-1;pointer-events:none;background-image:var(--texture-noise-image);opacity:var(--texture-noise-opacity);background-position:50%;background-size:320px 320px;position:absolute;inset:0}body:before{position:fixed}.expertise-section,.testimonials-section,.contact-section{isolation:isolate;position:relative}.tech-section{padding-block:2.5rem 3rem}.tech-section .section-heading{margin-bottom:1.5rem}.tech-group{border-top:1px solid var(--line);grid-template-columns:11rem minmax(0,1fr);gap:1.5rem;padding-block:1.25rem;display:grid}.tech-group h3{font-family:var(--display);padding-top:.5rem;font-size:1rem;line-height:1.5}.tech-list{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem 1.25rem;margin:0;padding:0;list-style:none;display:grid}.tech-list li{align-items:center;gap:.65rem;font-size:1rem;line-height:1.3;display:flex}.tech-icon{background:#f8f5ef;border:1px solid #d7d4ca;border-radius:.6rem;flex:0 0 2.75rem;place-items:center;width:2.75rem;height:2.75rem;display:grid}.tech-icon img{object-fit:contain;width:2rem;height:2rem}.tech-context{border-top:1px solid var(--line);color:var(--muted);margin:0;padding-top:1.25rem}.experience-company-link{text-decoration-color:var(--line)}.experience-company-link .link-arrow{color:var(--accent);font-size:.8em}.experience-position .experience-website-note{color:var(--muted);margin-bottom:.5rem;font-size:1rem}@media (width<=47.99rem){.tech-group{grid-template-columns:minmax(0,1fr);gap:1rem}.tech-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .75rem}.tech-list li{gap:.5rem;font-size:1rem}.tech-icon{flex-basis:2.25rem;width:2.25rem;height:2.25rem}.tech-icon img{width:1.65rem;height:1.65rem}}@media (forced-colors:active){body:before,.expertise-section:before,.testimonials-section:before,.contact-section:before{display:none}}.product-gallery{grid-template-columns:minmax(0,1fr);align-content:start;justify-self:end;gap:1.5rem;width:min(100%,22rem);min-width:0;display:grid}.product-gallery .experience-screenshot img{aspect-ratio:auto}.work-section .product-gallery .experience-screenshot img{aspect-ratio:16/10;object-fit:cover;object-position:top center}.work-section .product-gallery-tall .experience-screenshot img{aspect-ratio:auto}.product-gallery .experience-screenshot-link{border:1px solid #000}.product-gallery .experience-screenshot figcaption{font-size:1rem}.project-subheading{font-family:var(--display);margin-block:1.75rem .75rem;font-size:1.375rem;font-weight:500}@media (width<=63.99rem){.project{grid-template-columns:minmax(0,1fr)}.product-gallery{justify-self:start}}.project-copy .project-build-time{color:var(--ink);font-weight:600}.technical-disclosure{border-block:1px solid var(--line);padding-block:1rem}.technical-disclosure>summary{cursor:pointer;color:var(--ink);font-size:1.125rem;font-weight:600}.technical-disclosure>summary:focus-visible{outline:2px solid var(--accent);outline-offset:.375rem}.technical-disclosure[open]>summary{margin-bottom:1.5rem}.technical-services{margin-bottom:2rem}.product-technical-detail{margin-bottom:1.5rem}.product-technical-detail>p{color:var(--muted);font-size:.9375rem}.ownership-context{padding-block:1rem 3rem}.ownership-context>*{max-width:52rem}.ownership-context h2,.engineering-judgment h3{font-family:var(--display);margin-bottom:.75rem;font-size:1.5625rem;font-weight:500}.ownership-context h2:not(:first-child),.engineering-judgment h3:not(:first-child){margin-top:1.75rem}.ownership-context p,.engineering-judgment p{color:var(--muted);font-size:1.125rem}.engineering-judgment{max-width:52rem;margin-block:1.5rem}.project-highlights{margin:0 0 1.5rem;padding:0;list-style:none}.project-highlights li{color:var(--ink);padding-left:1.5rem;position:relative}.project-highlights li+li{margin-top:.5rem}.project-highlights li:before{content:"";background:var(--accent);width:.5rem;height:2px;position:absolute;top:.7em;left:0}.project-links{flex-wrap:wrap;align-items:baseline;gap:.5rem 2rem;display:flex}.work-section .project{grid-template-columns:minmax(0,1fr) minmax(0,26.5rem)}.work-section .product-gallery{width:min(100%,26.5rem)}.subpage-intro{padding-block:2rem 1rem}.subpage-intro h1{margin-top:1.5rem;font-size:clamp(2.5rem,6vw,4rem)}.subpage-back{color:var(--muted);font-size:1rem;font-weight:600}.subpage-back .link-arrow{padding-inline:0 .3rem}.subpage-lede{max-width:42rem;color:var(--muted);margin-top:1rem;font-size:1.25rem}.case-study{padding-block:1.5rem 3rem}.subpage-contact{background:var(--panel);border-top:1px solid var(--line);padding-block:3rem}.subpage-contact-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem 3rem;display:flex}.subpage-contact h2{max-width:32rem;font-size:clamp(1.75rem,3.5vw,2.5rem)}.subpage-contact .hero-actions{margin:0}.menu-control{border:1px solid var(--line);min-height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:0 1rem;font-size:1rem;font-weight:600;display:none}.menu-control:hover{color:var(--accent);border-color:var(--accent)}@media (width<=47.99rem){.menu-ready .header-inner{gap:.5rem .75rem;padding-block:.75rem}.menu-ready .brand{width:10.5rem;padding-inline:0}.menu-ready .menu-control:not([hidden]){margin-left:auto;display:block}.menu-ready .theme-control{margin-left:0}.menu-ready .nav{display:none}.menu-ready.menu-open .nav{flex-direction:column;align-items:stretch;gap:0;padding-bottom:.5rem;display:flex}.menu-ready.menu-open .nav a{border-bottom:1px solid var(--line);padding-block:.875rem;font-size:1.125rem}.menu-ready.menu-open .nav a:last-child{border-bottom:0}}.service-heading{align-items:center;gap:.875rem;margin-bottom:1rem;display:flex}.service-heading h3{margin:0}.service-icon{border:1px solid var(--line);width:2.75rem;height:2.75rem;color:var(--accent);background:var(--paper);border-radius:.75rem;flex-shrink:0;place-items:center;display:grid}@media (width<=63.99rem){.work-section .project{grid-template-columns:minmax(0,1fr)}}.subpage-intro+.experience-section{padding-top:1rem}
