@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-regular.ttf) format("truetype")}:root{--color-ink: #242424;--color-paper: #efe7d6;--color-soft: #e6dbc4;--color-line: #d5d5d1;--button-ink: #14110d;--button-shadow: #c4391f;--font-body: Arial, Helvetica, sans-serif;--font-heading: Arial, Helvetica, sans-serif;--page-width: 1200px;--page-gutter: clamp(24px, 4vw, 48px);--reading-width: 72ch;--text-title: clamp(2.25rem, 4.5vw, 3.5rem);--text-heading: clamp(1.75rem, 2.8vw, 2.25rem);--text-subheading: clamp(1.375rem, 2vw, 1.5rem);--text-body: clamp(1rem, .95rem + .25vw, 1.125rem);--text-lead: clamp(1.125rem, 1.6vw, 1.375rem);--text-meta: .875rem;--text-button: .9375rem;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 3rem;--section-space: clamp(2.5rem, 5vw, 4rem);--section-gap: clamp(1.5rem, 3vw, 2rem)}*{box-sizing:border-box}::selection{background:#c4391f;color:var(--color-paper)}html{color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body)}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;font-size:var(--text-body);line-height:1.6;position:relative;isolation:isolate;background:radial-gradient(900px 600px at 18% 4%,rgba(196,57,31,.05),transparent 55%),radial-gradient(900px 700px at 92% 100%,rgba(20,17,13,.05),transparent 55%),var(--color-paper)}main{flex:1 0 auto}body>.container{width:100%}.site-header,.site-footer{flex-shrink:0}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.55;mix-blend-mode:multiply;background:url(/images/paper-grain.svg) repeat}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.2em}button{font:inherit;color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-heading);font-weight:600;line-height:1.2;overflow-wrap:break-word}h1{font-size:var(--text-title);letter-spacing:-.035em}h2{font-size:var(--text-heading);letter-spacing:-.025em}h3{font-size:var(--text-subheading);letter-spacing:-.015em}p{margin-top:var(--space-3)}:focus-visible{outline:3px solid #286c94;outline-offset:6px}.container{max-width:var(--page-width);padding-inline:var(--page-gutter);margin-inline:auto}.reading-container{max-width:min(var(--page-width),calc(var(--reading-width) + 2 * var(--page-gutter)))}.skip-link{position:fixed;top:10px;left:10px;z-index:100;padding:12px 20px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{padding-block:var(--space-2);position:relative;isolation:isolate;background:#242424;color:var(--color-paper)}.header-inner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.site-header:before,.site-footer:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;mix-blend-mode:multiply;background:url(/images/paper-grain.svg) repeat}.site-header :focus-visible{outline-color:var(--color-paper)}.brand img{width:48px;filter:grayscale(1) invert(1);mix-blend-mode:screen}.site-header nav{display:flex;align-items:center;gap:var(--space-4)}.site-header nav a{text-decoration:none;font-size:1rem;font-weight:700;padding-block:var(--space-1);transition:color .2s ease}.site-header nav a:hover{color:#c4391f;text-decoration:none}.menu-toggle{display:none}.home-intro{text-align:center;padding-block:var(--section-space) var(--section-gap)}.title-divider{height:5px;margin:var(--section-gap) 0 0;border:0;border-top:1px solid rgba(20,17,13,.22);border-bottom:1px solid rgba(20,17,13,.22);background:none}.tagline{max-width:var(--reading-width);margin:0 auto;font-size:var(--text-lead)}.section-divider{margin:0;border:0;height:1px;background:#14110d38}.intro-copy{max-width:60ch;margin:var(--section-gap) auto 0;font-size:var(--text-lead)}.company-introduction{text-align:center;padding-block:var(--section-gap)}.services-section{padding-block:var(--section-space)}.section-label{margin-bottom:var(--section-gap)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.service-grid h2,.service-grid h3{color:#c4391f;font-size:var(--text-subheading);letter-spacing:-.015em}.service-grid p{max-width:33ch}.consultation{background:transparent;color:var(--color-ink);text-align:center;padding-block:var(--section-space)}.button{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:44px;background:var(--button-ink);color:var(--color-paper);padding:.75rem var(--space-3);margin-top:var(--section-gap);border:1px solid var(--button-ink);border-radius:0;font-family:JetBrains Mono,monospace;font-size:var(--text-button);line-height:1.5;letter-spacing:.05em;text-align:center;text-decoration:none;box-shadow:4px 4px 0 var(--button-shadow);transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s cubic-bezier(.2,.8,.2,1)}.button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--button-shadow);text-decoration:none}.button:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--button-shadow)}.site-footer{padding-block:var(--space-4);background:#242424;color:var(--color-paper);position:relative;isolation:isolate}.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"socials brand contact";align-items:center;gap:var(--space-4)}.site-footer :focus-visible{outline-color:var(--color-paper)}.site-footer h2{font-size:var(--text-subheading);margin:0}.footer-brand{grid-area:brand;display:flex;align-items:center;gap:var(--space-2)}.footer-contact{grid-area:contact;justify-self:end;min-width:0;font-size:var(--text-meta)}.footer-socials{grid-area:socials;display:flex;align-items:center;gap:var(--space-1)}.footer-logo{display:block}.footer-social{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}a.footer-social:hover{color:#c4391f}address{font-style:normal;display:flex;flex-direction:column;gap:var(--space-1)}address a{width:fit-content;overflow-wrap:anywhere}.site-footer img{width:48px;filter:grayscale(1) invert(1);mix-blend-mode:screen}.page-heading{padding-block:var(--section-space)}.technical-post{padding-bottom:var(--section-space);overflow-wrap:anywhere}.technical-post>p:first-child{margin-top:0}.technical-post p+p{margin-top:var(--space-3)}.about-row{display:grid;grid-template-columns:1fr 1.7fr;gap:var(--space-5);padding-block:var(--section-space)}.about-row p{margin:0}.certifications{list-style:none;margin:0;padding:0}.certifications li+li{margin-top:var(--space-2)}.contact-section{padding-block:var(--section-space)}.contact-section>div{margin-top:var(--section-gap)}.contact-section address{margin-top:var(--space-3)}.technical-list{padding-block:var(--section-space)}.technical-list ul{list-style:none;margin:0;padding:0}.technical-entry+.technical-entry{margin-top:var(--space-4)}.technical-entry time{display:block;font-size:var(--text-meta);line-height:1.5;color:#828282;margin-bottom:var(--space-1)}.technical-entry h2{font-size:var(--text-subheading);line-height:1.4;font-weight:600;letter-spacing:-.015em}.technical-entry a{display:block;color:#c4391f;text-decoration:none;overflow-wrap:anywhere}.technical-entry a:hover{text-decoration:underline}.project-detail{padding-block:var(--section-space)}.project-back{display:inline-block;margin-bottom:var(--space-3);font-size:var(--text-meta)}.project-date{display:block;margin-top:var(--space-2);font-size:var(--text-meta);color:#828282}.project-facts{margin:var(--section-gap) 0 var(--section-space);padding-block:var(--section-gap);border-block:1px solid rgba(20,17,13,.22)}.project-facts>div{display:flex;flex-wrap:wrap;column-gap:var(--space-1);margin-block:var(--space-1)}.project-facts dt{font-weight:700}.project-facts dd{margin:0;flex:1 1 260px}.project-divider{margin-block:var(--section-space)}.contact-divider{margin-top:var(--section-gap)}.project-detail ul{padding-left:1.3em;margin-block:var(--space-3) 0}.project-detail li+li{margin-top:var(--space-2)}.project-detail li ul{margin-block:var(--space-2)}@media(max-width:760px){.site-header{padding-block:.75rem}.header-inner{flex-wrap:wrap;gap:0}.brand img{width:34.56px}.menu-toggle{display:flex;align-items:center;gap:14px;background:transparent;border:0;padding:10px 0 10px 15px;cursor:pointer}.menu-icon{width:25px;height:12px;border-top:1px solid;border-bottom:1px solid}.site-header nav{display:none;width:100%;padding-top:var(--space-3);align-items:stretch;gap:0}.site-header nav.is-open{display:flex;flex-direction:column}.site-header nav a{padding-block:var(--space-2);font-size:var(--text-body)}.service-grid,.about-row{grid-template-columns:1fr;gap:var(--space-3)}.service-grid{gap:var(--space-4)}.footer-inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "contact" "socials";justify-items:center;gap:var(--space-3)}.footer-contact{justify-self:center;align-items:center;text-align:center}.site-footer img{width:34.56px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}
