:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fafaf8;--ink:#202520;--muted:#626862;--line:#dedfd8;--blue:#234f93;--blue-soft:#e9eef5;--sage:#e4e9df;--cream:#efece5;--night:#1d2c39;--white:#fff;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.75rem;--text-display:clamp(2.75rem, 5.4vw, 5.1rem);--radius:.75rem;--container:78rem;--gutter:1.25rem}*{box-sizing:border-box}html{scroll-padding-top:var(--space-8)}body{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}::selection{color:var(--ink);background:#d6e4f8}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.15}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}a:hover{color:var(--blue)}.container{width:min(calc(100% - var(--gutter) * 2), var(--container));margin-inline:auto}.eyebrow{font-size:var(--text-sm);color:var(--muted);font-weight:400;line-height:1.6}.accent{color:var(--blue)}.skip-link{top:var(--space-4);left:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--ink);color:var(--white);z-index:10;position:absolute;transform:translateY(-200%)}.skip-link:focus{color:var(--white);transform:translateY(0)}.site-header{min-height:var(--space-20);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-3);flex-wrap:wrap;display:flex}.wordmark{font-size:var(--text-base);font-weight:600;line-height:1.4}.navigation{align-items:center;gap:var(--space-3);font-size:.75rem;display:flex}.navigation a{padding-block:var(--space-3)}.nav-resume{border-left:1px solid var(--line);padding-left:var(--space-3)}.hero{padding-block:var(--space-12);gap:var(--space-8);display:grid}.hero .eyebrow{color:var(--muted)}.hero h1{margin-top:var(--space-5);font-size:var(--text-2xl);letter-spacing:-.04em;font-weight:500;line-height:1.2}.hero-description{color:var(--muted);margin-top:var(--space-5);font-size:var(--text-base);max-width:42rem}.actions{align-items:center;gap:var(--space-8);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.button{justify-content:center;align-items:center;gap:var(--space-8);padding:var(--space-3) var(--space-5);border-radius:var(--space-1);min-height:3rem;font-size:var(--text-sm);cursor:pointer;border:1px solid #0000;font-weight:500;display:inline-flex}.button-dark{color:var(--white);background:var(--ink)}.button-dark:hover{background:var(--blue);color:var(--white)}.button-outline{border-color:var(--line);background:0 0}.text-link{font-size:var(--text-sm);padding-block:var(--space-3);text-underline-offset:var(--space-1);font-weight:400;text-decoration:underline;display:inline-block}.section-heading{padding-block:var(--space-5);border-top:1px solid var(--line)}.section-label{align-items:center;gap:var(--space-4);display:flex}.section-label h2{font-size:var(--text-base);font-weight:500}.featured-project{gap:var(--space-8);padding-block:var(--space-5) var(--space-10);border-bottom:1px solid var(--line);display:grid}.featured-copy{align-self:center;min-width:0}.featured-copy .eyebrow{color:var(--muted);font-size:var(--text-xs)}.featured-copy h3{font-size:var(--text-2xl);margin-top:var(--space-3);letter-spacing:-.035em;font-weight:500}.project-subtitle{font-size:var(--text-base);margin-top:var(--space-2);line-height:1.5}.project-description{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-3);max-width:42rem}.tags{column-gap:var(--space-4);row-gap:var(--space-1);margin:var(--space-4) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.tags li{font-size:var(--text-xs);color:var(--muted)}.launch-note{gap:var(--space-2);margin-top:var(--space-5);color:var(--muted);font-size:var(--text-xs);align-items:center;display:flex}.featured-visual{align-self:center;gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.project-grid{gap:var(--space-12);margin-top:var(--space-8);display:grid}.project-card{min-width:0}.project-image{aspect-ratio:1.8;border:1px solid var(--line);background:var(--white);justify-content:center;align-items:center;display:flex;overflow:hidden}.order-image{padding:var(--space-4)}.template-image{padding:0}.project-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.project-heading h3{font-size:var(--text-xl);letter-spacing:-.035em;font-weight:500}.project-kind{letter-spacing:.08em;color:var(--muted);font-size:.5625rem}.project-card>p{margin-top:var(--space-3);color:var(--muted);font-size:var(--text-sm);max-width:36rem}.project-card .tags{margin-block:var(--space-4)}.project-links{align-items:center;column-gap:var(--space-6);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.project-links a{padding-block:var(--space-3);text-underline-offset:var(--space-1);text-decoration:underline}.link-note{color:var(--muted);font-size:.625rem}.work-section{padding-bottom:var(--space-12)}.security-section{color:var(--ink)}.security-grid{gap:var(--space-8);border-block:1px solid var(--line);padding-block:var(--space-12);display:grid}.security-section h2{font-size:var(--text-xl);letter-spacing:-.025em;font-weight:500}.security-description{margin-top:var(--space-4);color:var(--muted);font-size:var(--text-sm);max-width:32rem}.security-section .text-link{margin-top:var(--space-3)}.security-details{align-self:center}.certification{padding-bottom:var(--space-5);border-bottom:1px solid var(--line)}.certification h3{font-size:var(--text-xl);font-weight:500}.certification p{margin-top:var(--space-2);font-size:var(--text-sm)}.certification div>span{font-size:var(--text-xs);color:var(--muted)}.security-focus{padding-top:var(--space-6)}.security-focus h3{font-size:var(--text-sm);font-weight:500}.security-focus p{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-3)}.security-tools{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--muted)}.about-section{padding-block:var(--space-12)}.about-grid{gap:var(--space-8);margin-top:var(--space-6);display:grid}.about-grid h3{font-size:var(--text-xl);margin-bottom:var(--space-5);font-weight:500;line-height:1.4}.about-grid p{color:var(--muted);font-size:var(--text-sm)}.about-grid p+p{margin-top:var(--space-4)}.about-links{gap:var(--space-8);margin-top:var(--space-5);display:flex}.timeline-row{gap:var(--space-5);padding-block:var(--space-6);border-top:1px solid var(--line);grid-template-columns:6rem 1fr;display:grid}.timeline-row>span{color:var(--muted);padding-top:var(--space-1);font-size:.625rem}.timeline-row h4{font-size:var(--text-sm);font-weight:600;line-height:1.5}.timeline-row p{font-size:var(--text-xs);margin-top:var(--space-1)}.location-note{justify-content:space-between;gap:var(--space-4);border-top:1px solid var(--line);padding-top:var(--space-5);color:var(--muted);font-size:var(--text-xs);display:flex}.contact-section{border-top:1px solid var(--line);padding-block:var(--space-10)}.contact-bottom{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.contact-bottom p{color:var(--muted);font-size:var(--text-sm)}.email-link{overflow-wrap:anywhere}.site-footer{border-top:1px solid var(--line);gap:var(--space-4);padding-block:var(--space-6);font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.case-intro{padding-block:var(--space-16) var(--space-12)}.breadcrumb{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-10);display:inline-block}.case-intro h1{font-size:var(--text-3xl);letter-spacing:-.035em;margin-top:var(--space-4);font-weight:500}.case-lead{font-size:var(--text-xl);max-width:47rem;color:var(--muted);margin-top:var(--space-6);line-height:1.5}.case-facts{gap:var(--space-6);margin-block:var(--space-10) 0;border-top:1px solid var(--line);padding-top:var(--space-6);display:grid}.case-facts dt{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.case-facts dd{margin:var(--space-2) 0 0;font-size:var(--text-sm)}.case-image{margin:0}.case-image img{border:1px solid var(--line);width:100%;max-width:60rem;margin:auto}.case-image figcaption{max-width:60rem;margin:var(--space-4) auto 0;color:var(--muted);font-size:var(--text-xs)}.case-section{gap:var(--space-6);padding-block:var(--space-12);border-bottom:1px solid var(--line);display:grid}.case-section h2{font-size:var(--text-xl);letter-spacing:-.03em;margin-top:var(--space-3);font-weight:500}.case-body{max-width:48rem}.case-body p{color:var(--muted)}.case-body p+p{margin-top:var(--space-4)}.case-list{margin:var(--space-6) 0 0;padding:0;list-style:none}.case-list li{padding-block:var(--space-4);border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-sm)}.case-list strong{color:var(--ink);margin-bottom:var(--space-1);display:block}.flow{gap:var(--space-4);margin-top:var(--space-6);display:grid}.flow-step{border-top:1px solid var(--line);padding-top:var(--space-4)}.flow-step span{font-size:var(--text-xs);color:var(--blue)}.flow-step h3{margin-block:var(--space-2);font-size:var(--text-base);font-weight:600}.flow-step p{font-size:var(--text-sm)}.case-next{padding-block:var(--space-12);gap:var(--space-6);flex-wrap:wrap;display:flex}body:has(.resume-sheet){background:#f0f1ee}.resume-toolbar{max-width:54rem;margin:var(--space-6) auto;gap:var(--space-4);padding-inline:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.resume-sheet{max-width:54rem;margin:0 auto var(--space-10);background:var(--white);padding:var(--space-8)}.resume-header h1{font-size:var(--text-2xl);letter-spacing:-.04em}.resume-header>p{margin-top:var(--space-2);font-size:var(--text-sm)}.resume-contact{column-gap:var(--space-5);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;display:flex}.resume-contact a{text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.resume-section{margin-top:var(--space-6);font-size:var(--text-sm);line-height:1.5}.resume-section h2{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line);padding-bottom:var(--space-2);margin-bottom:var(--space-3)}.resume-section h3{font-size:var(--text-sm);line-height:1.5}.resume-entry+.resume-entry{margin-top:var(--space-4)}.resume-entry-heading{justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;display:flex}.resume-entry-heading>span{font-size:var(--text-xs);color:var(--muted)}.resume-section ul{padding-left:var(--space-5);margin-block:var(--space-2) 0}.resume-section li+li{margin-top:var(--space-1)}.resume-skills p+p{margin-top:var(--space-2)}.resume-note{max-width:54rem;padding:0 var(--space-4) var(--space-8);font-size:var(--text-xs);color:var(--muted);margin:auto}.hero-description a{text-underline-offset:var(--space-1);text-decoration:underline}.hero-role{min-width:0}.hero-role h2{font-size:var(--text-sm);font-weight:500}.hero-role dl,.project-scope{margin:var(--space-4) 0 0}.hero-role dl>div+div,.project-scope>div+div{margin-top:var(--space-4)}.hero-role dt,.project-scope dt{font-size:var(--text-xs);color:var(--muted)}.hero-role dd,.project-scope dd{margin:var(--space-1) 0 0;font-size:var(--text-sm)}.hero-background{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-6)}.section-heading h2,.contact-section h2{font-size:var(--text-xl);font-weight:500}.featured-visual img{border:1px solid var(--line);width:100%}.image-caption{font-size:var(--text-xs);color:var(--muted)}.order-image img{object-fit:contain;width:auto;height:100%}.template-image img{object-fit:contain;width:100%;height:100%}@media (min-width:768px){:root{--gutter:2.5rem}.navigation{gap:var(--space-8);font-size:var(--text-sm)}.nav-resume{padding-left:var(--space-8)}.hero{padding-block:var(--space-12)}.hero h1{font-size:var(--text-3xl)}.featured-project{grid-template-columns:1fr 1fr}.project-grid{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr))}.project-image{aspect-ratio:1.55}.security-grid{gap:var(--space-16);grid-template-columns:1.3fr 1fr}.about-grid{gap:var(--space-16);grid-template-columns:1fr 1fr}.case-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.case-section{gap:var(--space-12);grid-template-columns:1fr 2fr}.flow{grid-template-columns:repeat(3,minmax(0,1fr))}.resume-sheet{padding:var(--space-12)}}@media (min-width:1024px){.hero{align-items:center;gap:var(--space-20);grid-template-columns:1.6fr 1fr}.featured-project{gap:var(--space-16);grid-template-columns:1fr 1.25fr}.project-image{aspect-ratio:1.8}.about-grid{gap:var(--space-24)}.security-grid{gap:var(--space-24);grid-template-columns:1.3fr 1fr}}@media (min-width:1536px){.hero{padding-block:var(--space-16)}}@media (max-width:767px){.project-heading{row-gap:var(--space-2)}.project-kind{font-size:.625rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{@page{size:letter;margin:.45in}body:has(.resume-sheet){background:#fff}.resume-toolbar,.resume-note,.skip-link{display:none}.resume-sheet{max-width:none;margin:0;padding:0}.resume-header h1{font-size:22pt}.resume-section{margin-top:12pt;font-size:9pt;line-height:1.4}.resume-section h2{margin-bottom:5pt;padding-bottom:4pt;font-size:8pt}.resume-section h3,.resume-header>p{font-size:9pt}.resume-contact,.resume-entry-heading>span{font-size:8pt}.resume-entry,.resume-header{break-inside:avoid}.resume-entry+.resume-entry{margin-top:8pt}a{color:inherit}}
