:root{font-family:Helvetica,Arial,sans-serif;color:#161616;background:#fff;font-synthesis:none;--line:#e5e5e5;--muted:#666}*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none;transition:opacity .18s}a:hover{opacity:.6}a:focus-visible,summary:focus-visible{outline:2px solid #222;outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-weight:600;line-height:1.3}h1{font-size:36px;letter-spacing:.3px}h2{font-size:20px;margin-bottom:17px}h3{font-size:18px}p{color:#444;font-size:14px;line-height:1.8}p+p{margin-top:12px}main,.site-header,footer{max-width:1080px;margin:auto;padding-left:40px;padding-right:40px}.site-header{display:flex;align-items:center;justify-content:space-between;padding-top:28px;padding-bottom:28px}.wordmark{font-weight:600;font-size:19px;letter-spacing:.3px}.wordmark>span{display:none}nav{display:flex;gap:27px;align-items:center;font-size:13px}nav a{padding-bottom:3px;color:#555}nav a[aria-current]{border-bottom:1px solid #222;color:#111}.nav-contact{margin-left:12px}.arrow{margin-left:6px;font-size:12px}.text-link{font-size:13px;text-decoration:underline;text-underline-offset:4px}.hero{display:grid;grid-template-columns:250px 1fr;gap:64px;align-items:center;padding:64px 0 70px}.headshot{width:250px;height:310px;object-fit:cover;object-position:center 28%}.hero h1{text-transform:uppercase;margin-bottom:20px}.hero p{max-width:590px}.email{display:inline-block;font-size:13px;margin-top:17px;text-decoration:underline;text-underline-offset:4px}.hero-actions{display:flex;gap:15px;align-items:center;margin-top:24px}.button{font-size:12px;border:1px solid #222;padding:8px 17px}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 65px;padding:48px 0 65px;border-top:1px solid var(--line)}.home-grid h2{text-transform:uppercase;font-size:16px;letter-spacing:.4px}.home-grid .text-link{display:inline-block;margin-top:15px}.home-grid b{font-weight:600}.page-intro{padding:50px 0 35px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:30px;margin-bottom:13px}.section{padding:35px 0}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h2{margin:0}.eyebrow{font-size:11px;color:#666;letter-spacing:.3px}.job{display:grid;grid-template-columns:240px 1fr;gap:42px;padding:30px 0;border-bottom:1px solid var(--line)}.job-meta h3{margin:7px 0}.job-meta p{font-size:13px}.muted{font-size:12px;color:#666}.tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:17px}.tags span{font-size:11px;color:#777}.research-body{display:grid;grid-template-columns:240px 1fr;gap:42px;margin-top:24px}.research-body .text-link{display:inline-block;margin-top:16px}.stats{display:flex;gap:35px;margin-top:22px}.stats>div{flex:1}.stats strong{font-size:24px;font-weight:500;display:block}.stats span{font-size:12px;color:#666;display:block;max-width:220px}#leadership{border-top:1px solid var(--line)}.leadership-list article{display:grid;grid-template-columns:1fr 1.5fr 15px;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}.index{display:none}.leadership-list h3{font-size:15px;margin-bottom:4px}.leadership-list p{font-size:13px}.education{padding:25px 0 50px}.education h3{margin:9px 0}.education .eyebrow{text-transform:uppercase}.simple-project{display:grid;grid-template-columns:1fr 400px;gap:45px;padding:42px 0;border-bottom:1px solid var(--line);align-items:start}.simple-project h2{font-size:22px}.simple-project.text-only{grid-template-columns:1fr;padding-bottom:48px}.text-only>div{max-width:700px}.project-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px}.vaylo-screens{display:flex;gap:15px;justify-content:center;align-items:start}.vaylo-screens img{width:calc(50% - 8px);height:auto;max-height:380px;object-fit:contain}.suits-demo video{display:block;width:100%;aspect-ratio:4/3;background:#111}.suits-demo figcaption{font-size:11px;color:#666;line-height:1.6;margin-top:9px}.proposal-details{margin-top:20px;font-size:13px}.proposal-details summary{cursor:pointer}.proposal-details p{margin-top:10px;font-size:13px}footer{display:flex;justify-content:space-between;align-items:center;padding-top:27px;padding-bottom:30px;font-size:11px;color:#666;border-top:1px solid var(--line)}footer>div{display:flex;gap:22px}footer .text-link{font-size:11px;text-decoration:none}.skip-link{position:fixed;top:-100px;left:15px;background:#fff;padding:10px;z-index:10}.skip-link:focus{top:10px}.reveal.motion-ready{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}.reveal.motion-ready.visible{opacity:1;transform:none}@keyframes appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth;scroll-padding-top:25px}@media(max-width:800px){.hero{gap:35px;grid-template-columns:220px 1fr}.headshot{width:220px;height:290px}.simple-project{grid-template-columns:1fr 320px;gap:28px}.job,.research-body{grid-template-columns:190px 1fr;gap:30px}.nav-contact{display:none}}@media(max-width:600px){main,.site-header,footer{padding-left:24px;padding-right:24px}.site-header{padding-top:24px;padding-bottom:24px}.wordmark{font-size:17px}nav{gap:18px;font-size:12px}.hero{grid-template-columns:1fr;gap:27px;padding:30px 0 42px}.headshot{width:190px;height:235px}.hero h1{font-size:29px;margin-bottom:15px}.hero p{font-size:14px}.hero-actions{gap:12px}.home-grid{grid-template-columns:1fr;gap:32px;padding:35px 0 45px}.page-intro{padding:28px 0}.page-intro h1{font-size:27px}.job,.research-body{grid-template-columns:1fr;gap:17px}.job{padding:25px 0}.section{padding:30px 0}.leadership-list article{grid-template-columns:1fr 15px;gap:10px}.leadership-list article>p{grid-column:1;grid-row:2}.leadership-list article>a{grid-column:2;grid-row:1}.stats{gap:20px}.simple-project{grid-template-columns:1fr;gap:25px;padding:32px 0}.vaylo-screens{justify-content:flex-start}.vaylo-screens img{max-height:340px}.suits-demo{width:100%}footer{gap:15px;flex-wrap:wrap}footer>div{gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.inline-link{text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.site-header{flex-wrap:wrap;gap:15px}.site-header nav{width:100%;gap:23px;font-size:12px}}.hero .hero-summary{font-size:16px;color:#222}.hero .job-search{font-weight:600;color:#111;margin-top:15px;margin-bottom:12px}.vaylo-screens{flex-wrap:wrap}.vaylo-screens figcaption{flex-basis:100%;font-size:11px;color:#666;line-height:1.6}.case-study .page-intro>.text-link{display:inline-block;margin-bottom:20px}.case-section{padding:38px 0;border-bottom:1px solid var(--line)}.case-section>p{max-width:760px}.case-screens{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:790px;margin:30px auto 0}.case-screens img{width:100%;height:410px;object-fit:contain}.case-screens figcaption,.phone-demo figcaption{font-size:11px;color:#666;text-align:center;margin-top:10px;line-height:1.7}.demo-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:25px;align-items:start}.demo-choices button{display:block;width:100%;padding:15px 12px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;font:inherit;font-size:13px;cursor:pointer}.demo-choices button span{display:block;color:#777;font-size:11px;margin-top:4px}.demo-choices button[aria-pressed=true]{background:#f3f3f3;border-left:2px solid #222;padding-left:10px}.demo-choices button:focus-visible{outline:2px solid #222;outline-offset:3px}.demo-description{margin-top:22px;font-size:13px}.phone-demo{max-width:280px;justify-self:center}.phone-demo video{width:100%;max-height:550px;aspect-ratio:480/1042;background:#fff;display:block}.architecture{max-width:680px;margin:28px auto}.architecture-row{display:flex;align-items:center;gap:20px}.architecture-box{flex:1;border:1px solid #ccc;padding:19px 15px;text-align:center}.architecture-box strong{font-size:14px;display:block;font-weight:600}.architecture-box span{display:block;font-size:12px;color:#666;margin-top:5px}.architecture-arrow,.architecture-down{font-size:22px;color:#777}.architecture-down{text-align:center;padding:7px}.backend-box{max-width:440px;margin:auto}.data-row{gap:25px}.tech-list{margin:30px 0 0}.tech-list>div{display:grid;grid-template-columns:170px 1fr;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.tech-list dt{font-weight:600}.tech-list dd{margin:0;color:#555}.status-section{border-bottom:0;margin-bottom:20px}.status-section>.text-link{display:inline-block;margin-top:18px}.side-projects{padding:40px 0 50px}.side-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:25px}.side-project-grid h3{font-size:16px;margin-bottom:14px}.side-project-grid iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#f5f5f5;margin-bottom:12px}@media(max-width:600px){.case-screens{gap:10px}.case-screens img{height:245px}.case-screens figcaption{font-size:10px}.demo-layout{grid-template-columns:1fr;gap:25px}.phone-demo{width:260px}.architecture-row{gap:10px}.architecture-box{padding:13px 8px}.architecture-box strong{font-size:12px}.architecture-box span{font-size:11px}.tech-list>div{grid-template-columns:110px 1fr}.side-project-grid{grid-template-columns:1fr;gap:30px}}.experience-page .industry-section{padding-top:38px}.experience-role{display:grid;grid-template-columns:225px minmax(0,1fr);gap:40px;padding:32px 0 42px;border-bottom:1px solid var(--line)}.experience-meta h3{font-size:25px;margin-bottom:10px}.experience-meta p{font-size:15px;line-height:1.75}.experience-meta p+p{margin-top:13px;color:#666}.experience-page h2{font-size:24px}.experience-details .role-summary{font-size:18px;line-height:1.65;color:#222;font-weight:500}.experience-bullets{padding-left:22px;margin:19px 0 0}.experience-bullets li{font-size:16px;line-height:1.8;color:#333;padding-left:3px;margin-bottom:14px}.experience-details h4{font-size:16px;font-weight:600;margin:25px 0 12px}.experience-skills{list-style:none;display:flex;flex-wrap:wrap;gap:8px 11px;padding:0;margin:0}.experience-skills li{font-size:14px;line-height:1.5;background:#f4f4f4;border:1px solid #e9e9e9;padding:5px 9px}.experience-reference{border-left:2px solid #d5d5d5;padding-left:17px;margin-top:25px}.experience-reference p{font-size:14px;line-height:1.75;margin-top:10px}.experience-details .text-link{font-size:15px;line-height:1.7}.research-section{padding-top:42px}.experience-education{padding:38px 0 50px}.experience-education h3{font-size:20px;margin-bottom:10px}.experience-education p{font-size:16px;max-width:850px}@media(max-width:700px){.experience-role{grid-template-columns:1fr;gap:23px;padding:26px 0 35px}.experience-meta h3{font-size:24px}.experience-page h2{font-size:22px}.experience-bullets li{font-size:16px}.experience-details .role-summary{font-size:17px}.experience-skills{gap:8px}.experience-skills li{font-size:13px}.experience-reference .text-link{font-size:14px}}.leadership-list h3{font-size:20px;line-height:1.4;margin-bottom:8px}.leadership-list p{font-size:16px;line-height:1.8}.leadership-list .muted{font-size:14px}.leadership-list article{padding:30px 0}.leadership-list article>a{align-self:start;padding:4px}.leadership-list .arrow{font-size:17px}nav a{position:relative}nav a:not([aria-current]):after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}.arrow{display:inline-block;transition:transform .2s ease}a:hover .arrow,a:focus-visible .arrow{transform:translate(2px,-2px)}.button{transition:background .2s ease,color .2s ease,transform .2s ease}.button:hover{background:#161616;color:#fff;opacity:1;transform:translateY(-2px)}.demo-choices button{transition:background .2s ease}.demo-choices button:hover{background:#f6f6f6}@media(prefers-reduced-motion:reduce){.reveal.motion-ready{opacity:1;transform:none}a:hover .arrow,a:focus-visible .arrow,.button:hover{transform:none}}.leadership-entry{display:grid;grid-template-columns:270px minmax(0,1fr);gap:42px;padding:38px 0;border-bottom:1px solid var(--line)}.leadership-entry:last-child{border-bottom:0}.leadership-heading h2{font-size:23px;margin-bottom:10px}.leadership-page .leadership-org{font-size:15px;color:#666}.leadership-page .page-intro p,.leadership-content p{font-size:18px;line-height:1.8}.leadership-toggle{display:flex;align-items:center;gap:20px;border:0;border-bottom:1px solid #aaa;padding:6px 0;background:none;color:#222;font:inherit;font-size:16px;cursor:pointer;margin-top:20px}.leadership-toggle:focus-visible{outline:2px solid #222;outline-offset:5px}.leadership-toggle span{font-size:22px;transition:transform .25s ease}.leadership-toggle[aria-expanded=true] span{transform:rotate(180deg)}.leadership-expansion{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .3s ease,opacity .25s ease,visibility .3s}.leadership-expansion.is-open{grid-template-rows:1fr;opacity:1;visibility:visible}.leadership-expansion>div{min-height:0;overflow:hidden}.leadership-detail-content{padding-top:24px}.leadership-detail-content section+section{margin-top:22px}.leadership-detail-content h3{font-size:18px;margin-bottom:7px}.leadership-detail-content p{font-size:17px}.leadership-content .text-link{font-size:15px}.projects-page p{font-size:16px;line-height:1.85}.projects-page .text-link,.projects-page .proposal-details summary{font-size:15px}.projects-page figcaption{font-size:13px}.projects-page .project-role{font-size:15px;color:#555;margin-bottom:16px}.projects-page .simple-project h2{font-size:25px}.projects-page .proposal-details p{font-size:16px}@media(max-width:700px){.leadership-entry{grid-template-columns:1fr;gap:18px;padding:30px 0}.leadership-heading h2{font-size:22px}.leadership-content p{font-size:17px}.leadership-detail-content p{font-size:16px}}.leadership-entry{display:block;padding:0}.leadership-heading{margin:0}.leadership-heading .leadership-toggle{width:100%;justify-content:space-between;text-align:left;margin:0;padding:28px 0;border:0;gap:24px}.leadership-label{display:block}.leadership-toggle .leadership-role{display:block;font-size:23px;font-weight:600;line-height:1.4}.leadership-page .leadership-org{display:block;margin-top:8px;font-weight:400;line-height:1.6}.leadership-toggle span{font-size:inherit;transition:none}.leadership-toggle[aria-expanded=true] span{transform:none}.leadership-toggle .leadership-chevron{font-size:25px;transition:transform .25s ease;flex-shrink:0}.leadership-toggle[aria-expanded=true] .leadership-chevron{transform:rotate(180deg)}.leadership-toggle:hover{color:#666}.leadership-detail-content{padding:0 0 32px;max-width:800px}.leadership-summary{margin-bottom:24px}.leadership-toggle:focus-visible{outline-offset:3px}@media(max-width:700px){.leadership-toggle .leadership-role{font-size:21px}.leadership-heading .leadership-toggle{padding:24px 0}.leadership-page .leadership-org{font-size:14px}}.leadership-heading .leadership-toggle{padding-left:14px;padding-right:14px;margin-left:-14px;width:calc(100% + 28px);border-radius:4px;transition:background .22s ease,color .22s ease}.leadership-heading .leadership-toggle:hover,.leadership-heading .leadership-toggle:focus-visible{background:#f6f6f6;color:#161616}.leadership-expansion{transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1),opacity .3s ease,visibility .38s}.leadership-expansion .leadership-detail-content{transform:translateY(-6px);transition:transform .38s cubic-bezier(.22,1,.36,1)}.leadership-expansion.is-open .leadership-detail-content{transform:none}.leadership-entry:nth-child(2){transition-delay:40ms}.leadership-entry:nth-child(3){transition-delay:80ms}.leadership-entry:nth-child(4){transition-delay:.12s}.leadership-entry:nth-child(5){transition-delay:.16s}.text-link{transition:opacity .2s ease,text-decoration-color .2s ease;text-decoration-color:#999}.text-link:hover{text-decoration-color:#161616}.headshot{animation:portrait-enter .65s ease both}@keyframes portrait-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.leadership-expansion .leadership-detail-content{transform:none}}.side-project-description{margin-bottom:16px}.leadership-image{display:block;width:100%;max-width:520px;height:auto;margin-top:24px}.leadership-detail-content .leadership-summary{margin-bottom:14px}.photo-grid{columns:3;column-gap:22px;padding:32px 0 50px}.gallery-photo{display:block;break-inside:avoid;margin:0 0 22px;overflow:hidden;background:#f5f5f5}.gallery-photo img{display:block;width:100%;height:auto;transition:transform .35s ease}.gallery-photo:hover{opacity:1}.gallery-photo:hover img{transform:scale(1.025)}.gallery-photo:focus-visible{outline-offset:4px}.site-header nav{flex-wrap:wrap}@media(max-width:800px){.photo-grid{columns:2;column-gap:16px}.gallery-photo{margin-bottom:16px}}@media(max-width:600px){.site-header nav{gap:12px 20px}.photo-grid{padding-top:24px}}@media(max-width:420px){.photo-grid{columns:1}}@media(prefers-reduced-motion:reduce){.gallery-photo:hover img{transform:none}}.leadership-bullets{margin:0;padding-left:22px}.leadership-bullets li{font-size:17px;line-height:1.8;color:#444;padding-left:4px;margin-bottom:14px}.leadership-bullets li:last-child{margin-bottom:0}@media(max-width:700px){.leadership-bullets li{font-size:16px}}.system-diagram{margin:32px 0 0;padding:30px;border:1px solid var(--line);background:#fafafa}.system-client{max-width:470px;margin:auto;background:#fff;border:1px solid #bbb;padding:23px;text-align:center}.system-label{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#666;margin-bottom:10px}.system-diagram h3{font-size:21px}.system-diagram p{font-size:13px;line-height:1.65;margin-top:7px}.system-integration{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);margin-top:18px;padding-top:14px;font-size:12px}.system-integration span{color:#666}.system-connector{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;color:#666;font-size:11px}.system-connector>span:first-child{font-size:25px}.system-core{max-width:650px;margin:auto;background:#181818;color:#fff;text-align:center;padding:24px}.system-core .system-label{color:#bbb}.system-core p{color:#ddd}.system-branches{display:grid;grid-template-columns:repeat(3,1fr);height:38px;margin:0 16.66%;position:relative;border-top:0}.system-branches:before{content:"";position:absolute;top:0;left:50%;height:19px;border-left:1px solid #aaa}.system-branches:after{content:"";position:absolute;left:0;right:0;top:19px;border-top:1px solid #aaa}.system-branches span{position:absolute;top:19px;bottom:0;border-left:1px solid #aaa}.system-branches span:nth-child(1){left:0}.system-branches span:nth-child(2){left:50%}.system-branches span:nth-child(3){right:0}.system-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.system-services section{padding:20px 16px;border:1px solid #ccc;background:#fff}.system-services h4{font-size:15px;font-weight:600;line-height:1.5}.system-services p+h4{margin-top:18px}.system-diagram figcaption{font-size:12px;color:#666;margin-top:20px;text-align:center}@media(max-width:600px){.system-diagram{padding:18px 14px}.system-services{grid-template-columns:1fr;gap:12px}.system-branches{display:block;height:25px;margin:0}.system-branches:before{height:25px}.system-branches:after,.system-branches span{display:none}.system-integration{flex-direction:column;gap:4px}.system-client,.system-core{padding:20px 14px}.system-services section{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.system-services .system-label{grid-column:1/-1}.system-services p{margin:0}.system-services p+h4{margin:8px 0 0}.system-services p+h4+p{margin-top:8px}.system-diagram h3{font-size:19px}}
