@charset "UTF-8";
:root{--navy:#0b1f3a;--teal:#087f8c;--mint:#c8eee5;--paper:#f7f9fc;--slate:#475569;--line:#dce3e9;--gold:#b7791f;--white:#fff;--font:Inter,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--navy);background:var(--paper);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--teal);outline-offset:5px}button{color:inherit}img{display:block;max-width:100%}::selection{background:var(--mint);color:var(--navy)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12}h2{font-size:clamp(32px,4vw,48px);letter-spacing:-1.9px;font-weight:600}h2 em,h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--teal)}h3{font-weight:600}p{color:var(--slate)}.container{width:min(1180px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.skip{position:fixed;top:-90px;left:12px;z-index:200;padding:10px 20px;background:white}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:40;background:rgba(247,249,252,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:24px;font-weight:750;letter-spacing:-1.1px;display:inline-flex;align-items:center;gap:9px}.brand-dot{color:var(--teal);margin-left:-7px}.brand-symbol{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:9px;background:var(--navy);color:white;font-family:Georgia,serif;font-size:36px;line-height:1;padding-bottom:4px;letter-spacing:-6px;padding-right:5px}.brand-symbol span{color:#7be0cd;font-size:27px;transform:translateY(5px)}nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:550}nav>a{position:relative}nav>a:not(.nav-contact):after{content:"";position:absolute;left:0;bottom:-8px;height:2px;width:0;background:var(--teal);transition:width .2s}nav>a:hover:after{width:100%}.nav-contact{border:1px solid var(--navy);border-radius:5px;padding:10px 18px;display:flex;gap:24px;transition:background .2s}.nav-contact:hover{background:var(--navy);color:white}.menu-toggle{display:none;border:0;background:none;width:40px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{height:2px;width:24px;background:var(--navy)}.eyebrow,.section-label{font-size:10px;font-weight:650;letter-spacing:1.8px;line-height:1.7}.hero{display:grid;grid-template-columns:1.17fr 1fr;align-items:center;gap:60px;padding-block:73px 70px}.hero .eyebrow{display:flex;align-items:center;gap:9px;letter-spacing:1.25px;font-size:9px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #e0f0ed;margin-right:4px}.eyebrow-divider{color:#98a8b4;margin:0 5px}.hero h1{font-size:clamp(45px,5.1vw,66px);font-weight:650;line-height:1.07;letter-spacing:-3.5px;margin:27px 0 25px}.hero h1 em{font-size:1.08em;letter-spacing:-3px}.hero-intro{font-size:15px;line-height:1.85;color:var(--slate)}.hero-intro strong{color:var(--navy);font-weight:600}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:27px}.button{display:inline-flex;justify-content:center;align-items:center;gap:27px;min-height:50px;padding:12px 22px;border:1px solid transparent;font-size:12px;font-weight:600;border-radius:5px;transition:transform .2s,background .2s,box-shadow .2s}.button span{font-size:19px;line-height:1}.button:hover{transform:translateY(-2px)}.primary{background:var(--teal);color:white}.primary:hover{background:#066672;box-shadow:0 6px 15px #087f8c1c}.secondary{background:transparent;border-color:var(--line)}.secondary:hover{border-color:var(--teal);background:#eef7f5}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:12px;font-weight:650;background:none;border:0;padding:6px 0;border-bottom:1px solid #9faeb8;line-height:1.6}.text-link:hover{color:var(--teal);border-color:var(--teal)}.text-link span{font-size:18px}.hero-bottom{font-size:8px;font-weight:600;letter-spacing:1.7px;display:flex;align-items:center;gap:12px;margin-top:47px;color:#697888}.mini-line{height:1px;width:33px;background:var(--teal)}.hero-visual{position:relative;padding:0 0 23px 0;margin-left:13px}.portrait-frame{position:relative;aspect-ratio:1/1.06;border-radius:12px 12px 100px 12px;overflow:hidden;background:#15263a}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 43%}.portrait-frame:after{content:"";position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#06172db3)}.portrait-label{position:absolute;top:23px;bottom:auto;left:28px;z-index:1;color:#d8e1e9;font-size:8px;letter-spacing:2px}.portrait-caption{position:absolute;bottom:3px;left:-32px;background:#fff;border:1px solid #e0e8e9;border-radius:8px;display:flex;align-items:center;gap:15px;padding:17px 20px;box-shadow:0 10px 30px #0b1f3a0a;font-size:12px;line-height:1.6}.small-spark{font-size:36px;color:var(--teal);line-height:1}.portrait-caption strong{font-weight:650}.circle-arrow{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;width:33px;height:33px;font-size:20px;margin-left:12px}.circle-arrow:hover{background:var(--mint)}.portrait-index{position:absolute;right:0;bottom:-12px;font-size:8px;letter-spacing:2px;color:#687b88}.discipline-band{border-block:1px solid var(--line);background:#edf4f4}.discipline-band>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px}.discipline-band span{font-size:10px;font-weight:650;letter-spacing:1.5px}.discipline-band i{font-size:22px;font-style:normal;color:var(--teal)}.section-label{display:flex;gap:22px;align-items:center;color:#657583;margin-bottom:40px}.section-label>span:first-child{color:var(--teal);white-space:nowrap}.label-line{height:1px;flex:1;background:var(--line)}.section-label>span:last-child:not(.label-line){font-size:8px;letter-spacing:1.5px}.about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:80px}.about-grid h2{line-height:1.2}.about-grid p{font-size:14px;line-height:1.85;margin-bottom:16px}.about-grid .large-copy{font-size:18px;line-height:1.6;color:var(--navy);margin-bottom:20px}.about-grid .text-link{margin-top:5px}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.expertise{padding:30px 28px}.expertise+.expertise{border-left:1px solid var(--line)}.expertise-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.expertise-top>span:last-child{font-size:10px;color:#7e8d98}.line-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid #d4e8e7;background:#f2f8f6;color:var(--teal);border-radius:8px;font-size:27px}.expertise h3{font-size:19px;letter-spacing:-.5px;margin-bottom:13px}.expertise p{font-size:12px;line-height:1.85;min-height:66px}.skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:21px}.skills span{font-size:9px;background:#f3f5f7;border:1px solid #e8ecef;padding:3px 8px;border-radius:3px;color:#536477}.work-section{background:#edf2f5;border-block:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:40px}.section-heading p{font-size:12px;line-height:1.8}.work-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.filter-group{display:flex;gap:6px;flex-wrap:wrap}.filter{border:1px solid #d8e1e6;background:transparent;padding:8px 15px;border-radius:4px;font-size:11px;white-space:nowrap;transition:background .2s}.filter.active{background:var(--navy);color:white;border-color:var(--navy)}.filter:hover:not(.active){background:#e0eceb}.filter span{margin-left:7px;font-size:8px;opacity:.7}.work-controls>span{font-size:10px;color:#71808d;white-space:nowrap}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-card{display:flex;flex-direction:column;position:relative;background:white;border:1px solid #dbe3e7;border-radius:9px;overflow:hidden;transition:transform .25s,box-shadow .25s}.project-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #183e5010}.project-visual{aspect-ratio:1.8;position:relative;background:#e2eceb;display:flex;align-items:center;justify-content:center;padding:25px;overflow:hidden}.project-visual img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px #16334a20)}.project-card[data-id="retail"] .project-visual{background:#e4eee7}.project-card[data-id="pizza"] .project-visual{background:#dbe9f5}.project-card[data-id="sql"] .project-visual{background:#e8edf1}.project-card[data-id="sql"] .project-visual img{border-radius:4px}.project-visual .visual-index{position:absolute;top:12px;left:15px;font-size:8px;letter-spacing:1px;color:#526e75;z-index:1}.project-info{padding:23px 25px 21px;flex:1;display:flex;flex-direction:column}.project-meta{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:13px}.project-category{font-size:8px;letter-spacing:1.4px;font-weight:700;color:var(--teal);text-transform:uppercase}.status{font-size:8px;border:1px solid #dce6e4;background:#f4f8f6;color:#4d6c65;padding:2px 7px;border-radius:20px;white-space:nowrap}.status.dev{background:#fbf6ed;color:#896224;border-color:#eaddc4}.project-card h3{font-size:22px;letter-spacing:-.7px;line-height:1.25;margin-bottom:10px}.project-info>p{font-size:12px;line-height:1.8;margin-bottom:18px}.project-footer{border-top:1px solid #e9edf0;display:flex;justify-content:space-between;align-items:center;padding-top:14px;margin-top:auto;gap:20px}.project-tools{font-size:9px;color:#6b7b87}.project-link{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:650}.project-link:after{content:"";position:absolute;inset:0}.project-link>span{font-size:19px}.work-more{display:flex;align-items:center;flex-direction:column;gap:17px;margin-top:33px}.fineprint{font-size:10px;color:#788591}.work-more button[hidden]{display:none}.workflow-visual{background:#d9eee9}.workflow-panel{width:100%;max-width:420px;background:#f8fcfb;border-radius:8px;border:1px solid #c8dcd8;padding:22px;box-shadow:0 12px 20px #143e4010}.visual-kicker{font-size:7px;letter-spacing:1.7px;font-weight:600;color:#5b7e77;margin-bottom:18px}.workflow-nodes{display:flex;align-items:center;justify-content:space-between;gap:6px}.workflow-node{width:62px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;line-height:1.4;font-size:8px;color:#4e6867}.node-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #cfdfdb;border-radius:10px;background:white;font-size:19px;color:var(--teal)}.flow-arrow{font-size:15px;color:#8eb5aa;margin-bottom:22px}.workflow-bottom{display:flex;align-items:center;gap:6px;border-top:1px solid #dfebe7;padding-top:14px;margin-top:21px;font-size:8px;color:#688078}.workflow-bottom i{width:5px;height:5px;background:#6caa94;border-radius:50%}.requirements-visual{background:#ebe9e1}.requirements-panel{width:100%;max-width:390px;background:#fffdfa;border:1px solid #dedbce;border-radius:7px;padding:21px;box-shadow:0 10px 25px #5b4b1710}.requirements-panel h4{margin:0 0 15px;font-size:15px;font-weight:600;letter-spacing:-.4px}.requirements-row{display:grid;grid-template-columns:46px 1fr 42px;gap:10px;padding:8px 0;border-bottom:1px solid #eeebe3;font-size:9px;color:#65726e}.requirements-row span:first-child{font-size:8px;color:#a08b62}.requirements-row span:last-child{font-size:7px;color:#82744a}.discovery-visual{background:#e3ecdf}.discovery-panel{padding:25px;width:100%;max-width:380px;background:#f6faf2;border:1px solid #d0ddc9;border-radius:8px}.discovery-panel h4{font-size:20px;font-family:Georgia,serif;font-weight:400;margin:0 0 23px}.discovery-steps{display:flex;justify-content:space-between;border-top:1px solid #b4c8ad;padding-top:18px;font-size:9px;color:#52664a}.discovery-steps span{display:flex;flex-direction:column;gap:9px}.discovery-steps b{font-weight:500;font-size:8px;color:#859778}.app-visual{background:#e6e4f0}.app-panel{border:1px solid #d1cbdf;padding:25px;border-radius:9px;background:#f8f7fc;width:100%;max-width:370px}.app-panel h4{font-size:23px;letter-spacing:-.8px;margin:0 0 12px}.app-panel .visual-kicker{color:#796f98}.entity-tags{display:flex;flex-wrap:wrap;gap:7px}.entity-tags span{padding:7px 10px;border:1px solid #dfdbea;border-radius:4px;font-size:8px;background:white;color:#796f93}.experience-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.experience-intro h2{font-size:40px;line-height:1.2}.experience-intro p{font-size:13px;max-width:320px;margin:23px 0 28px;line-height:1.85}.timeline{padding-left:27px;border-left:1px solid #cbd9dd}.timeline article{position:relative;padding:0 0 29px}.timeline article:last-child{padding-bottom:0}.timeline article:before{content:"";position:absolute;left:-32px;top:5px;width:9px;height:9px;border-radius:50%;border:2px solid var(--paper);background:var(--teal);box-shadow:0 0 0 1px #a0c5c7}.timeline-date{font-size:8px;letter-spacing:1.3px;color:#758897;margin-bottom:9px}.timeline h3{font-size:18px;line-height:1.3;letter-spacing:-.3px;margin-bottom:6px}.timeline-company{font-size:11px;color:var(--teal);font-weight:600;margin-bottom:9px}.timeline p{font-size:12px;line-height:1.85}.training-section{background:#e4f0ed;border-block:1px solid #d4e4df;padding-block:70px}.training-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.training-grid .eyebrow{font-size:9px;letter-spacing:1.4px;color:var(--teal);margin-bottom:20px}.training-grid h2{font-size:38px;line-height:1.2}.training-grid>div>p{font-size:13px;margin-top:20px;max-width:370px;line-height:1.85}.training-grid .button{margin-top:26px}.training-options article{display:flex;gap:20px;padding-block:22px;border-bottom:1px solid #c6dcd5}.training-options article:first-child{padding-top:0}.training-options article:last-child{padding-bottom:0;border:0}.training-options article>span{font-size:10px;color:var(--teal);padding-top:2px}.training-options h3{font-size:19px;letter-spacing:-.3px;margin-bottom:9px}.training-options p{font-size:12px;line-height:1.85}.credential-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.credential{background:white;border:1px solid var(--line);border-radius:7px;overflow:hidden;display:flex;flex-direction:column}.cert-image{height:170px;border:0;width:100%;padding:17px;background:#edf1f3;position:relative}.cert-image img{width:100%;height:100%;object-fit:contain;transition:transform .2s}.cert-image:hover img{transform:scale(1.03)}.cert-image:after{content:"↗";position:absolute;bottom:8px;right:12px;font-size:18px;color:#6f7f89}.credential-body{padding:20px;display:flex;flex-direction:column;flex:1}.credential-issuer{font-size:8px;letter-spacing:1.4px;text-transform:uppercase;color:var(--teal);margin-bottom:10px}.credential h3{font-size:15px;letter-spacing:-.3px;line-height:1.4;margin-bottom:7px}.credential p{font-size:10px}.credential-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:auto;padding-top:17px}.credential-actions a{font-size:10px;text-decoration:underline;text-underline-offset:4px;color:#536c79}.award-row{margin-top:25px;display:flex;align-items:center;gap:25px;border:1px solid #e8dcc5;background:#fbf8f1;border-radius:7px;padding:24px 28px}.award-star{font-size:47px;color:var(--gold);line-height:1}.award-row .eyebrow{font-size:8px;color:#967331}.award-row h3{font-size:19px;margin-top:8px;letter-spacing:-.5px}.award-row p{font-size:11px;margin-top:7px}.award-row .text-link{margin-left:auto;white-space:nowrap}.education{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:38px;margin-top:45px;padding-top:35px;border-top:1px solid var(--line);align-items:start}.education .eyebrow{font-size:8px;color:#758794}.education h3{font-size:13px;line-height:1.5;margin-bottom:9px}.education p{font-size:11px;line-height:1.8}.education p span{display:block;color:var(--teal);font-size:10px}.contact-section{background:var(--navy);color:white;padding-block:78px 38px}.contact-top{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.contact-section .eyebrow{color:#95b7bc;font-size:9px;margin-bottom:23px}.contact-section h2{font-size:60px;letter-spacing:-2.5px;line-height:1.07}.contact-section h2 em{color:#85d4c3}.contact-copy>p{color:#b0c1ce;font-size:14px;line-height:1.8;margin-bottom:16px}.contact-copy>p:first-child{color:#e6eef4;font-size:19px;line-height:1.5}.inquiry-selector{margin-top:25px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.inquiry-selector label{font-size:10px;color:#c5d3de}.inquiry-selector select{border:1px solid #465a71;background:#102844;border-radius:4px;padding:11px 36px 11px 13px;color:white;font-size:12px;width:100%;cursor:pointer;max-width:380px}.inquiry-selector select:focus-visible{outline-color:#85d4c3}.button.light{background:#f1f8f6;color:var(--navy);margin-top:6px}.button.light:hover{background:var(--mint)}.contact-bottom{margin-top:65px;padding-top:28px;border-top:1px solid #2b4058;display:flex;justify-content:space-between;align-items:center;gap:25px}.contact-email{font-size:23px;letter-spacing:-.7px}.contact-email span{margin-left:18px;color:#89cdbf}.socials{display:flex;gap:22px;font-size:11px;color:#c8d4df}.socials a:hover{color:#9be3d1}footer{background:var(--paper);padding-block:25px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner .brand{font-size:19px}.footer-inner p,.footer-inner>a:last-child{font-size:9px;color:#6f7f8b}.project-dialog{padding:0;border:1px solid #cbd8df;border-radius:12px;width:min(960px,calc(100% - 40px));max-height:91dvh;overflow-y:auto;color:var(--navy);background:var(--paper);overscroll-behavior:contain;box-shadow:0 30px 100px #0615284a}.project-dialog::backdrop,.image-dialog::backdrop{background:#06182be6;backdrop-filter:blur(6px)}.dialog-toolbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:15px 25px;background:#f7f9fcf5;border-bottom:1px solid var(--line);z-index:3}.small-brand{font-size:9px;letter-spacing:1.3px;color:#718493}.close-button{background:white;border:1px solid var(--line);width:33px;height:33px;border-radius:50%;font-size:15px;display:grid;place-items:center}.close-button:hover{background:var(--mint)}.detail-header{padding:36px 45px 30px}.detail-categories{font-size:9px;color:var(--teal);letter-spacing:1.5px;font-weight:650;margin-bottom:15px;text-transform:uppercase}.detail-header h2{font-size:38px;letter-spacing:-1.5px;line-height:1.2;margin-bottom:20px}.detail-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.detail-meta>span:not(.status){font-size:10px;color:#677985;border:1px solid var(--line);padding:4px 10px;border-radius:3px}.detail-intro{font-size:16px;line-height:1.8;color:var(--navy);margin-top:22px;max-width:750px}.detail-hero{padding:0 45px 25px}.detail-hero button{border:1px solid #d7e1e5;background:#e7eef1;width:100%;padding:18px;border-radius:6px}.detail-hero img{max-height:440px;width:100%;object-fit:contain}.detail-hero figcaption{font-size:10px;color:#74828d;margin-top:8px;text-align:center}.detail-body{padding:0 45px 40px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--line);padding-block:30px}.detail-body h3{font-size:18px;letter-spacing:-.3px;margin-bottom:15px}.detail-body p,.detail-body li{font-size:12px;line-height:1.9;color:var(--slate)}.detail-body ul{margin:0;padding-left:18px}.detail-body li+li{margin-top:7px}.findings{background:#e6f0ed;border:1px solid #d0e2db;border-radius:6px;padding:24px;margin-bottom:25px}.findings h3{color:#1e655f}.findings p{color:#3e6461}.detail-note{padding:18px 20px;border-left:3px solid #c5a269;background:#f7f1e6;font-size:11px;color:#796442;margin-top:20px;line-height:1.8}.detail-section{margin-top:25px}.detail-evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-evidence-grid button{border:1px solid var(--line);background:white;padding:12px;border-radius:5px;width:100%}.detail-evidence-grid img{width:100%;height:150px;object-fit:contain}.detail-evidence-grid span{display:block;font-size:10px;text-align:left;color:#6c7f8b;margin-top:7px}.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.detail-actions .button{font-size:11px}.detail-section video{width:100%;background:#edf1f2;border:1px solid var(--line);border-radius:6px}.case-table{border-collapse:collapse;width:100%;font-size:11px}.case-table th,.case-table td{padding:11px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}.case-table th{background:#e9f1f2;color:var(--navy);font-weight:600}.case-table td{color:var(--slate)}.image-dialog{border:0;border-radius:8px;background:#f5f8fa;width:min(1300px,calc(100% - 30px));max-height:94dvh;padding:0;overflow:auto;box-shadow:0 25px 100px #0004}.image-toolbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;background:#f5f8faf5;z-index:1;border-bottom:1px solid var(--line)}.image-toolbar p{font-size:11px}.image-dialog>img{width:100%;max-height:82dvh;object-fit:contain;padding:18px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--navy);color:white;font-size:12px;padding:11px 20px;border-radius:5px;opacity:0;pointer-events:none;z-index:150;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:1440px){.hero{padding-block:85px}.hero h1{font-size:72px}.hero-intro{font-size:16px}}
@media(max-width:1050px){.container{width:calc(100% - 64px)}.hero{gap:38px}.hero h1{font-size:54px;letter-spacing:-2.5px}.hero .eyebrow{font-size:8px;letter-spacing:.6px}.hero-intro{font-size:13px}.portrait-caption{padding:13px 15px;left:-23px}.hero-actions{gap:20px}nav{gap:20px}.about-grid{gap:45px}.expertise{padding:25px 20px}.expertise h3{font-size:17px}.experience-layout{gap:50px}.training-grid{gap:60px}.contact-top{gap:65px}.contact-section h2{font-size:52px}.discipline-band span{font-size:8px}.education{grid-template-columns:.6fr 1fr 1fr;gap:25px}}
@media(max-width:800px){.container{width:calc(100% - 48px)}.nav-wrap{height:72px}.brand{font-size:22px}nav{gap:17px;font-size:11px}.nav-contact{padding:8px 12px;gap:15px}.hero{gap:30px;padding-block:55px}.hero h1{font-size:45px;letter-spacing:-2.5px}.hero .eyebrow{font-size:7px;gap:6px;letter-spacing:.4px}.hero .eyebrow-divider{margin:0 2px}.hero-intro{font-size:12px}.hero-actions{gap:18px}.hero-actions .button{padding:10px 15px;font-size:10px;gap:15px}.hero-actions .text-link{font-size:10px;gap:10px}.hero-bottom{font-size:6px;letter-spacing:1px;margin-top:30px}.portrait-frame{border-bottom-right-radius:70px}.portrait-caption{font-size:10px;gap:10px;padding:12px}.portrait-caption .small-spark{font-size:29px}.circle-arrow{width:28px;height:28px;margin-left:5px}.portrait-label{font-size:6px;letter-spacing:1.3px;left:15px}.portrait-index{font-size:6px}.section{padding-block:75px}.section-label{margin-bottom:30px}.about-grid{gap:35px}.about-grid h2{font-size:33px}.about-grid .large-copy{font-size:16px}.about-grid p{font-size:12px}.expertise-grid{margin-top:40px}.expertise{padding:21px 17px}.expertise h3{font-size:16px;line-height:1.3}.expertise p{font-size:11px}.skills span{font-size:8px}.section-heading h2{font-size:36px}.section-heading p{font-size:10px}.project-visual{padding:20px;aspect-ratio:1.65}.project-info{padding:20px}.project-card h3{font-size:20px}.project-category{font-size:7px;letter-spacing:.8px}.project-info>p{font-size:11px}.status{font-size:7px}.project-tools{font-size:8px}.project-link{font-size:9px;gap:7px}.experience-intro h2{font-size:34px}.timeline h3{font-size:16px}.training-grid h2{font-size:32px}.training-grid{gap:40px}.training-options h3{font-size:17px}.credential-grid{gap:15px}.credential-body{padding:16px}.credential h3{font-size:13px}.cert-image{height:145px}.contact-section h2{font-size:45px}.contact-top{gap:50px}.contact-email{font-size:20px}.socials{gap:13px;font-size:10px}.workflow-panel{padding:17px}.node-icon{width:34px;height:34px}.workflow-node{font-size:7px}.flow-arrow{font-size:12px}.requirements-panel{padding:17px}.requirements-panel h4{font-size:13px}.requirements-row{font-size:8px;grid-template-columns:35px 1fr 35px;gap:7px}.discovery-panel{padding:20px}.discovery-panel h4{font-size:18px}.app-panel{padding:20px}.app-panel h4{font-size:20px}}
@media(max-width:640px){html{scroll-padding-top:84px}.container{width:calc(100% - 40px)}.nav-wrap{height:70px}.menu-toggle{display:flex}nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:stretch;gap:0;font-size:14px;box-shadow:0 15px 20px #0b1f3a0a}nav.open{display:flex}nav a{padding:12px}.nav-contact{border:0;justify-content:space-between;margin-top:5px;background:var(--navy);color:white}.hero{grid-template-columns:1fr;gap:45px;padding-block:40px 48px}.hero h1{font-size:clamp(46px,10.5vw,65px);line-height:1.07;letter-spacing:-2.8px;margin:25px 0 23px}.hero h1 em{letter-spacing:-2.4px}.hero .eyebrow{font-size:8px;letter-spacing:.8px;gap:7px}.hero-intro{font-size:14px;line-height:1.8}.hero-actions .button{font-size:12px;padding:12px 21px;gap:28px}.hero-actions .text-link{font-size:12px;gap:16px}.hero-actions{gap:28px;margin-top:25px}.hero-bottom{font-size:7px;letter-spacing:1.1px;margin-top:30px}.hero-visual{width:calc(100% - 18px);max-width:420px;margin:0 auto;padding-bottom:20px}.portrait-frame{aspect-ratio:1.1;border-radius:9px 9px 85px 9px}.portrait-frame img{object-position:center 41%}.portrait-caption{left:-9px;bottom:0;font-size:12px;padding:14px 17px;gap:13px}.portrait-caption .small-spark{font-size:33px}.portrait-caption .circle-arrow{margin-left:18px;width:30px;height:30px}.portrait-label{font-size:7px;bottom:20px;left:23px}.portrait-index{bottom:-17px;font-size:7px}.discipline-band>div{padding-block:19px;display:grid;grid-template-columns:1fr 1fr;gap:15px 24px}.discipline-band span{font-size:9px;letter-spacing:1.1px}.discipline-band i{display:none}.discipline-band span:before{content:"✳";color:var(--teal);margin-right:10px}.section{padding-block:58px}.section-label{font-size:9px;letter-spacing:1.2px;gap:15px;margin-bottom:27px}.section-label>span:last-child:not(.label-line){display:none}.about-grid{grid-template-columns:1fr;gap:25px}.about-grid h2,h2{font-size:34px;letter-spacing:-1.5px}.about-grid .large-copy{font-size:17px;line-height:1.65}.about-grid p{font-size:13px;line-height:1.9}.expertise-grid{grid-template-columns:1fr;margin-top:35px}.expertise{padding:25px}.expertise+.expertise{border-left:0;border-top:1px solid var(--line)}.expertise-top{margin-bottom:15px}.expertise h3{font-size:21px}.expertise p{font-size:12px;min-height:0}.skills span{font-size:9px}.skills{margin-top:16px}.expertise-top>span:last-child{font-size:10px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:35px}.section-heading p{font-size:12px;margin-top:17px}.work-controls{display:block;margin-bottom:22px}.filter-group{gap:7px}.filter{font-size:10px;padding:8px 12px}.work-controls>span{display:block;margin-top:15px;font-size:9px}.projects-grid{grid-template-columns:1fr;gap:23px}.project-visual{aspect-ratio:1.7;padding:24px}.project-card h3{font-size:23px}.project-info{padding:23px}.project-info>p{font-size:12px}.project-category{font-size:8px;letter-spacing:1.1px}.status{font-size:8px}.project-tools{font-size:9px}.project-link{font-size:10px;gap:12px}.project-meta{margin-bottom:13px}.fineprint{text-align:center;max-width:260px;line-height:1.8}.experience-layout{grid-template-columns:1fr;gap:40px}.experience-intro h2{font-size:34px}.experience-intro p{font-size:13px;max-width:100%;margin-top:20px}.experience-intro .button{min-height:45px}.timeline{margin-left:5px}.timeline h3{font-size:18px}.timeline p{font-size:12px}.timeline-date{font-size:8px}.training-section{padding-block:53px}.training-grid{grid-template-columns:1fr;gap:40px}.training-grid h2{font-size:34px}.training-grid>div>p{font-size:13px}.training-options h3{font-size:19px}.training-options p{font-size:12px}.credential-grid{grid-template-columns:1fr 1fr;gap:13px}.cert-image{height:123px;padding:12px}.credential-body{padding:15px}.credential h3{font-size:13px}.credential-issuer{font-size:7px;letter-spacing:.9px}.credential-actions{gap:10px}.credential-actions a{font-size:9px}.credential p{font-size:9px}.award-row{gap:15px;padding:20px;flex-wrap:wrap}.award-star{font-size:37px}.award-row>div{flex:1}.award-row h3{font-size:18px}.award-row .text-link{margin-left:52px;font-size:10px}.award-row .eyebrow{font-size:7px;letter-spacing:1px}.education{grid-template-columns:1fr;gap:22px;margin-top:32px;padding-top:27px}.education h3{font-size:14px;margin-bottom:5px}.education p span{display:inline;margin-left:12px}.contact-section{padding-block:57px 33px}.contact-top{grid-template-columns:1fr;gap:35px}.contact-section h2{font-size:52px;letter-spacing:-2.2px}.contact-copy>p:first-child{font-size:20px}.contact-copy>p{font-size:13px}.inquiry-selector select{max-width:none;font-size:12px}.contact-bottom{margin-top:40px;padding-top:26px;flex-direction:column;align-items:flex-start;gap:25px}.contact-email{font-size:23px}.socials{gap:23px;font-size:11px;flex-wrap:wrap}.footer-inner{flex-wrap:wrap;gap:12px}.footer-inner p{order:3;width:100%;font-size:9px}.footer-inner .brand{font-size:21px}.footer-inner>a:last-child{font-size:10px}.project-dialog{width:calc(100% - 18px);max-height:96dvh;border-radius:8px}.dialog-toolbar{padding:12px 17px}.small-brand{font-size:8px}.detail-header{padding:25px 23px}.detail-header h2{font-size:29px;letter-spacing:-1px}.detail-intro{font-size:14px}.detail-categories{font-size:8px;letter-spacing:1px}.detail-meta>span:not(.status){font-size:9px}.detail-hero{padding:0 16px 20px}.detail-hero button{padding:9px}.detail-hero figcaption{font-size:9px}.detail-body{padding:0 23px 30px}.detail-columns{grid-template-columns:1fr;gap:25px;padding-block:25px}.detail-body h3{font-size:18px}.detail-body p,.detail-body li{font-size:12px}.findings{padding:20px}.detail-note{font-size:10px;padding:15px}.detail-actions .button{font-size:10px;padding:10px 15px;gap:18px;min-height:45px}.detail-evidence-grid{grid-template-columns:1fr}.detail-evidence-grid img{height:auto;max-height:260px}.case-table{font-size:9px}.case-table td,.case-table th{padding:8px}.image-dialog{width:calc(100% - 12px)}.image-toolbar{padding:12px}.image-toolbar p{font-size:10px}.image-dialog>img{padding:8px}.workflow-panel{padding:22px}.node-icon{width:42px;height:42px}.workflow-node{font-size:8px}.requirements-panel{padding:21px}.requirements-panel h4{font-size:15px}.requirements-row{font-size:9px;grid-template-columns:40px 1fr 40px}.discovery-panel{padding:25px}.discovery-panel h4{font-size:22px}.app-panel h4{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@media(max-width:640px){.filter{min-height:44px}.menu-toggle{width:44px;height:44px}.close-button{width:40px;height:40px}}
.contact-methods{margin-top:45px;padding:27px;border:1px solid #36526a;border-radius:8px;background:#102943;scroll-margin-top:110px}.contact-methods:focus{outline:2px solid #85d4c3;outline-offset:5px}.contact-methods-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.contact-methods-heading h3{font-size:20px;letter-spacing:-.4px}.contact-methods-heading p{font-size:11px;color:#b8d8d3;text-align:right;max-width:50%}.contact-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.contact-method label{display:block;font-size:9px;letter-spacing:1.5px;color:#9ebbc7;margin-bottom:10px}.contact-method input{display:block;width:100%;min-width:0;background:transparent;border:0;border-bottom:1px solid #36526a;border-radius:0;color:white;font:500 21px/1.6 var(--font);letter-spacing:-.4px;padding:5px 0 11px;outline-offset:4px;cursor:text}.contact-method input:focus-visible{outline:2px solid #85d4c3}.contact-method-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 17px;margin-top:12px}.contact-method-actions button,.contact-method-actions a{font:500 11px/1.6 var(--font);background:none;border:0;color:#d0e6e2;padding:8px 0;text-decoration:underline;text-underline-offset:4px;min-height:40px}.contact-method-actions button:hover,.contact-method-actions a:hover{color:#a0ead6}.contact-method-actions button:focus-visible,.contact-method-actions a:focus-visible{outline-color:#85d4c3}.contact-section .contact-help{font-size:10px;color:#a5bfca;margin-top:18px}.contact-methods+.contact-bottom{margin-top:30px}.contact-methods input::selection{background:#b4e7db;color:#0b1f3a}
@media(max-width:640px){.contact-methods{padding:22px 18px;margin-top:30px;scroll-margin-top:95px}.contact-methods-heading{display:block;margin-bottom:25px}.contact-methods-heading h3{font-size:19px}.contact-methods-heading p{margin-top:10px;max-width:none;text-align:left;font-size:10px;overflow-wrap:anywhere}.contact-method-grid{grid-template-columns:1fr;gap:25px}.contact-method input{font-size:20px}.contact-method-actions{gap:6px 15px}.contact-method-actions button,.contact-method-actions a{min-height:44px;font-size:11px}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project-view-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 23px;padding-top:16px;border-top:1px solid #d8e1e6}.project-view-bar>p{font-size:11px}.project-view-options{display:flex;border:1px solid #d6e0e5;border-radius:5px;padding:3px;background:#f7f9fc;flex-shrink:0;gap:3px}.project-view-button{border:0;padding:8px 14px;border-radius:3px;font-size:10px;background:transparent;min-height:36px}.project-view-button.active{background:var(--navy);color:white}.project-view-button:hover:not(.active){background:#e2eeec}.project-slideshow{min-width:0}.project-slide-track{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border:1px solid #d1dfe3;border-radius:10px;background:white;touch-action:auto}.project-slide-track::-webkit-scrollbar{display:none}.project-slide-track:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.project-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);background:white}.project-slide>.project-visual{aspect-ratio:auto;min-height:390px;padding:43px;align-self:stretch}.project-slide[data-project="retail"]>.project-visual{background:#e4eee7}.project-slide[data-project="pizza"]>.project-visual{background:#dbe9f5}.project-slide[data-project="sql"]>.project-visual{background:#e8edf1}.project-slide>.project-visual>img{max-height:340px}.slide-copy{padding:36px 34px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}.slide-kicker{font-size:8px;letter-spacing:1.8px;color:#7c8e98;margin-bottom:20px}.slide-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.slide-copy h3{font-size:31px;line-height:1.16;letter-spacing:-1px;margin-bottom:16px}.slide-copy>p{font-size:13px;line-height:1.85}.slide-tools{margin-top:18px;margin-bottom:23px}.slide-tools span{font-size:9px}.slide-link{font-size:11px;gap:28px;min-height:47px}.slideshow-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;margin-top:20px}.slide-counter{font-size:13px;letter-spacing:2px;font-variant-numeric:tabular-nums;color:#24465a}.slide-counter i{font-style:normal;color:#93a7b1;margin-inline:3px}.slide-dots{display:flex;align-items:center;justify-content:center;gap:4px}.slide-dot{display:grid;place-items:center;width:24px;height:36px;border:0;background:transparent;padding:0;flex-shrink:0;border-radius:4px}.slide-dot span{display:block;width:6px;height:6px;border-radius:50%;background:#aabfc4;transition:width .2s,background .2s}.slide-dot.active span{width:21px;height:6px;border-radius:5px;background:var(--teal)}.slide-dot:hover:not(.active) span{background:#3d7f89}.slide-arrows{display:flex;justify-content:flex-end;gap:9px}.slide-arrow{width:45px;height:45px;display:grid;place-items:center;border:1px solid #bacdd4;border-radius:50%;background:transparent;font-size:24px;line-height:1;transition:background .2s,color .2s}.slide-arrow:hover:enabled{background:var(--navy);color:white;border-color:var(--navy)}.slide-arrow:disabled{opacity:.35;cursor:default}.slideshow-help{text-align:center;font-size:10px;color:#6c8290;margin-top:9px}.mobile-slide-help{display:none}.project-slideshow+.projects-grid+.work-more{margin-top:22px}
@media(max-width:1000px){.slide-copy{padding:28px}.slide-copy h3{font-size:27px}.slide-copy>p{font-size:12px}.project-slide>.project-visual{padding:30px;min-height:370px}.slide-kicker{margin-bottom:15px}.slide-tools{gap:5px}.project-view-bar>p{font-size:10px}}
@media(max-width:750px){.project-slide{grid-template-columns:1fr 1fr}.slide-copy{padding:25px 22px}.slide-copy h3{font-size:24px}.project-slide>.project-visual{padding:22px}.project-slide .workflow-panel{padding:15px}.project-slide .workflow-nodes{gap:3px}.project-slide .workflow-node{font-size:7px}.project-slide .node-icon{width:32px;height:32px}.project-slide .flow-arrow{font-size:11px}.project-view-bar>p{max-width:180px}.slide-link{padding:10px 15px;gap:15px;font-size:10px}}
@media(max-width:640px){.project-view-bar{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:20px;padding-top:15px}.project-view-bar>p{max-width:none;font-size:11px}.project-view-options{align-self:stretch;justify-content:stretch}.project-view-button{flex:1;min-height:42px;font-size:11px}.project-slide{grid-template-columns:1fr;grid-template-rows:auto 1fr}.project-slide>.project-visual{min-height:0;height:auto;aspect-ratio:1.65;align-self:start;padding:24px}.project-slide>.project-visual>img{max-height:100%}.slide-copy{padding:24px 22px;justify-content:flex-start}.slide-copy h3{font-size:26px;letter-spacing:-.7px;margin-bottom:13px}.slide-copy>p{font-size:12px}.slide-kicker{font-size:7px;margin-bottom:15px}.slide-meta{gap:7px;margin-bottom:12px}.slide-tools{margin-top:15px;margin-bottom:19px}.slide-tools span{font-size:8px}.slide-link{min-height:46px;font-size:11px;gap:24px;padding:12px 19px;margin-top:auto}.slideshow-controls{grid-template-columns:1fr 1fr;gap:5px 14px;margin-top:17px}.slide-counter{font-size:13px}.slide-arrows{grid-column:2;grid-row:1}.slide-dots{grid-column:1/-1;grid-row:2;margin-top:5px;gap:3px}.slide-dot{width:26px;height:37px}.slide-arrow{width:44px;height:44px}.desktop-slide-help{display:none}.mobile-slide-help{display:inline}.slideshow-help{font-size:10px;margin-top:0}.project-slide .workflow-panel{padding:22px}.project-slide .workflow-node{font-size:8px}.project-slide .node-icon{width:40px;height:40px}.project-slide .flow-arrow{font-size:14px}.project-slide .requirements-panel h4{font-size:15px}}

.slideshow-controls{margin-top:0;margin-bottom:17px}@media(min-width:641px){#projects .section{padding-block:75px}#projects .section-label{margin-bottom:28px}#projects .section-heading{margin-bottom:30px}}
