@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#f6f9fa;--ink:#272b2e;--blue:#103f87;--muted:#7d858d;--line:#b6bbbf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.container{max-width:1190px;width:calc(100% - 120px);margin:auto}.header{height:92px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 max(60px,calc((100vw - 1190px)/2));position:sticky;top:0;z-index:20;background:var(--blue);color:#e8eef8;box-shadow:0 10px 28px rgba(16,63,135,.25)}.logo{font:700 34px 'Barlow Condensed',Arial,sans-serif;color:#fff;letter-spacing:-1px}.logo span{color:#9db6d8}nav{display:flex;align-items:center;gap:25px}nav a{font-size:11px;font-weight:600;color:#d5e0ee}nav a.active,nav a:hover{color:#fff}.button.hire-me{position:relative;overflow:visible;isolation:isolate;background:transparent;color:#fff;border:1.5px solid #fff;padding:13px 28px;border-radius:3px;gap:0;font-size:11px;font-weight:700;letter-spacing:2px;text-shadow:none;box-shadow:7px 7px 0 0 rgba(255,255,255,.28);transition:color .28s ease,transform .28s ease,box-shadow .28s ease}.button.hire-me span{position:relative;z-index:1}.button.hire-me:before{content:'';position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .32s ease;z-index:0;pointer-events:none}.button.hire-me:hover{color:var(--blue);background:transparent;filter:none;transform:translate(4px,4px);box-shadow:3px 3px 0 0 rgba(255,255,255,.45)}.button.hire-me:hover:before{transform:scaleX(1)}.header a:focus-visible,.header button:focus-visible{outline-color:#fff}nav span{margin-left:6px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--blue);color:white;padding:17px 24px;border:0;font-size:10px;font-weight:600;letter-spacing:.8px;border-radius:0}.button:hover{background:#24569c}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;min-height:810px;padding-top:70px;padding-bottom:140px}.eyebrow{color:var(--blue);font-size:12px;letter-spacing:3px;font-weight:600;line-height:1.8}.hero h1{font:700 clamp(68px,7.5vw,104px)/1.01 'DM Sans',Arial,sans-serif;color:transparent;-webkit-text-stroke:1px #7a8288;letter-spacing:-3px;margin:10px 0 28px}.role{font-size:27px;color:#758bb1;margin:0 0 10px}.role span{color:var(--blue)}.specialist{font-size:16px;color:var(--muted);margin:0}.hero-button{margin-top:150px}.portrait{position:relative;aspect-ratio:1;width:100%;max-width:525px;isolation:isolate}.profile-clone{position:absolute;inset:34px -16px -20px 42px;width:auto;height:auto;object-fit:cover;object-position:center 22%;border-radius:50% 50% 50% 24%;z-index:0;pointer-events:none;user-select:none}.portrait-fill{position:absolute;inset:10px 0 0 20px;border-radius:50% 50% 50% 24%;overflow:hidden;background:#e2e5e7;display:flex;align-items:center;justify-content:center;transform:rotate(-9deg);z-index:1}.portrait-fill:before{content:'';position:absolute;inset:58% -10% -15%;background:#23436b;border-radius:50% 50% 0 0}.portrait-orbit{position:absolute;inset:0 14px 12px -12px;border:1px solid #9fa9b0;border-radius:50%;transform:rotate(-20deg);z-index:2}.initials{font:500 135px 'Barlow Condensed',Arial,sans-serif;letter-spacing:-7px;color:var(--blue);position:relative;transform:rotate(9deg);margin-top:-70px}.initials>span{color:#7690b5}.portrait-caption{position:absolute;bottom:50px;color:#f6f9fa;font-size:9px;letter-spacing:2px;transform:rotate(9deg)}.portrait-tag{position:absolute;bottom:0;right:0;padding:12px 16px;background:var(--bg);font-size:9px;letter-spacing:1px;color:var(--blue);z-index:3}.section{padding:110px 0;position:relative;border-top:0}.section-title{display:grid;grid-template-columns:1fr 1.6fr;gap:70px;align-items:start;margin-bottom:110px}h2.outline{font:600 90px/.95 'DM Sans',Arial,sans-serif;letter-spacing:-4px;color:transparent;-webkit-text-stroke:1px #c2c8cc;margin:0}h3{font:400 58px/1.08 'Barlow Condensed','Arial Narrow',Arial,sans-serif;letter-spacing:-1px;margin:0}.section-title .eyebrow{margin:0 0 15px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.service-grid article{border:1px solid #787f85;padding:30px 30px 25px;min-height:275px}.service-icon{color:#53616b;font:400 35px 'Barlow Condensed',Arial,sans-serif;height:50px}.service-grid h4{font-size:20px;font-weight:500;margin:20px 0 12px}.service-grid p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 22px}.service-grid a{font-size:9px;letter-spacing:1px;color:var(--blue)}.center-heading{text-align:center;margin-bottom:100px}.center-heading .eyebrow{margin:0 0 20px}.center-heading h3{font-size:58px}.center-heading>p:last-child:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:25px}.about{padding-bottom:120px}.about-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:100px;align-items:center}.about-portrait{max-width:430px}.about-portrait .portrait-fill{background:#d6dce0}.about-portrait .portrait-fill:before{background:#202d40}.about-portrait .initials{font-size:110px}.about-copy p{font-size:14px;color:var(--muted);line-height:1.95;margin:0 0 24px}.about-copy .lead{font-size:16px;color:#656d74}.about-copy ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:11px;color:#717b86;margin:35px 0}.about-copy li:before{content:'✓';color:var(--blue);margin-right:13px}.text-link{font-size:10px;letter-spacing:1px;color:var(--blue);border-bottom:1px solid #b2c0d3;padding-bottom:7px;display:inline-block}.marquee{overflow:hidden;background:var(--blue);color:white;padding:16px 0}.marquee>div{font:600 48px 'Barlow Condensed',Arial,sans-serif;white-space:nowrap;animation:marquee 35s linear infinite;width:max-content;display:flex;gap:45px;align-items:center}.marquee span{color:transparent;-webkit-text-stroke:1px #fff}.marquee b{font-size:56px;font-weight:400}@keyframes marquee{to{transform:translateX(-50%)}}.education .section-title{margin-bottom:100px}.section-intro{font-size:14px;color:var(--muted);line-height:1.9;max-width:380px;margin:10px 0 0}.timeline{max-width:880px;margin:0 auto}.timeline article{display:grid;grid-template-columns:1fr 1fr;min-height:210px}.timeline-left{text-align:right;padding:0 65px 55px 0}.timeline-right{border-left:1px solid #717b84;padding:0 0 55px 65px;position:relative}.timeline-dot{position:absolute;width:9px;height:9px;border:1px solid var(--blue);background:var(--bg);border-radius:50%;left:-5px;top:10px}.timeline-icon{font-size:27px;color:#778188}.timeline h4{font-size:15px;font-weight:500;margin:13px 0}.timeline-right h4{margin-top:5px}.timeline p{font-size:12px;color:var(--muted);line-height:1.9;margin:0}.skills-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:100px;align-items:center}.skills h2{font-size:135px;line-height:1.05}.skill-list{display:grid;gap:38px}.skill-list span{font-size:11px;letter-spacing:3px;color:#626f7b}.skill-line{height:3px;background:#e1e5e8;margin-top:20px;position:relative}.skill-line:after{content:'';position:absolute;background:#a1b3c9;width:100%;height:1px;top:1px}.portfolio{padding-bottom:110px}.filters{display:flex;justify-content:center;gap:30px;margin:-50px 0 55px}.filters button{border:0;background:transparent;padding:8px 0;font-size:10px;letter-spacing:1px;color:#8b949d}.filters button.selected{color:var(--blue);border-bottom:1px solid var(--blue)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px 35px}.work-grid article[hidden]{display:none}.work-art{height:340px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:#e6ecf0}.work-caption{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-top:20px}.work-caption small{font-size:8px;letter-spacing:1.4px;color:var(--muted)}.work-caption h4{font-weight:500;font-size:16px;margin:7px 0 0}.work-caption>span{color:var(--blue);font-size:23px}.pending{font-size:10px;color:var(--muted);margin:9px 0}.art-code{background:#dbe5ee}.art-code>span{font:400 75px monospace;color:#345b88;z-index:1}.art-code>div{position:absolute;inset:55px 35px;background:#eef4f8;border:1px solid #aebdce;box-shadow:15px 15px 0 #bfd0e0}.art-ai{background:#e9e5de}.ai-orb{height:185px;width:185px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#e2effc,#809fc6 35%,#315b91 65%,#102c50);box-shadow:22px 32px 35px #8c8e9250}.art-data{gap:10px;align-items:flex-end;padding:70px 35px;background:#dee7e6}.art-data span{width:32px;background:#789994;height:85px}.art-data span:nth-child(2){height:125px}.art-data span:nth-child(3){height:105px}.art-data span:nth-child(4){height:170px}.art-data span:nth-child(5){height:205px}.art-workflow{background:#e7e7e5}.art-workflow span{border:1px solid #7c8e9e;padding:20px 12px;color:#385371;font:22px 'Barlow Condensed',Arial,sans-serif;background:#f2f4f4}.art-workflow i{width:23px;height:1px;background:#7c8e9e}.art-sql{background:#173858}.art-sql span{font:20px/1.8 monospace;color:#b4cbe2}.art-network{background:repeating-radial-gradient(circle at center,transparent 0 26px,#b5c3d2 27px 28px,#e1e7ee 29px 40px)}.art-network span{background:#f1f5f7;border:1px solid #9eafc2;border-radius:50%;width:110px;height:110px;display:grid;place-items:center;font:40px 'Barlow Condensed',Arial,sans-serif;color:var(--blue)}.values{padding-top:150px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.value-grid article{position:relative;text-align:center;border:1px solid #818991;padding:38px 25px 30px}.quote-mark{position:absolute;top:-24px;left:calc(50% - 24px);width:48px;height:48px;background:#e5eaee;border-radius:50%;font:50px Georgia,serif;color:var(--blue);padding-top:5px}.value-grid h4{font-size:15px;margin:10px 0 5px;font-weight:500}.value-grid small{font-size:8px;letter-spacing:1px;color:#8e959d}.value-grid p{font-size:12px;line-height:1.8;color:#727c85;margin-top:25px}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.insight-card{padding:0;background:transparent;border:1px solid #858c92;text-align:left;color:var(--ink)}.insight-card:hover{border-color:var(--blue)}.note-art{height:245px;display:flex;align-items:center;justify-content:center;overflow:hidden}.note-software{background:linear-gradient(135deg,#b4e0e8,#b9c9eb 50%,#e6dab9)}.note-software span{font:90px monospace;color:#eff7ff;text-shadow:12px 8px 0 #7aaabe}.note-data{background:#e6ecf0;gap:15px;transform:none}.note-data span{width:70px;height:120px;border:1px solid #8eabcb;background:repeating-linear-gradient(to bottom,#f4f7fa 0 13px,#d8e2ed 14px 15px);transform:rotate(-17deg);box-shadow:8px 12px 15px #8fa0b333}.note-data span:nth-child(2){transform:rotate(10deg);margin-top:-50px}.note-ai{background:linear-gradient(130deg,#aeb8c2,#e1e6ea);position:relative}.note-ai:before{content:'';width:160px;height:160px;border:1px solid #68809a;position:absolute;transform:rotate(45deg)}.note-ai span{font:70px 'Barlow Condensed',Arial,sans-serif;color:#3b526c}.note-copy{padding:25px 22px}.note-copy>small{font-size:8px;letter-spacing:1px;color:#8c959e}.note-copy h4{font-size:19px;line-height:1.5;font-weight:500;margin:9px 0}.note-copy p{font-size:12px;line-height:1.85;color:var(--muted);margin-bottom:25px}.read-note{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:var(--blue)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:140px}.contact h3{font-size:95px;line-height:1.1;margin-bottom:40px}.email{display:block;font-size:14px;color:#6b7c90;margin-bottom:25px;text-decoration:underline;text-underline-offset:3px}.email:hover{color:var(--blue)}.contact form{display:grid;gap:30px}.contact label{display:grid;font-size:17px;color:#6f777e;gap:12px}.contact input,.contact textarea{border:0;border-bottom:1px solid #525f68;background:transparent;outline-offset:3px;padding:10px 0;color:var(--ink);width:100%;border-radius:0}.contact textarea{resize:vertical;min-height:150px}.contact form .button{justify-self:start;margin-top:12px}.form-note,.form-status{font-size:11px;color:var(--muted);margin:0}.form-status:empty{display:none}footer{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:36px max(60px,calc((100vw - 1190px)/2));font-size:12px;color:#c5d4e8;background:#0c326c}.footer-links{display:flex;gap:28px;align-items:center;flex-wrap:wrap}footer a{color:#fff;font-size:12px}footer a.footer-email{color:#fff;text-decoration:underline;text-underline-offset:3px}footer a:hover{color:#dbe7f6;text-decoration:underline;text-underline-offset:3px}footer a:focus-visible{outline-color:#fff}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:55px;max-width:650px;width:calc(100% - 40px)}dialog::backdrop{background:#17355280}dialog h3{font-size:42px;margin:25px 0}dialog>p:last-child{font-size:15px;line-height:1.9;color:#67727c}.dialog-close{position:absolute;top:12px;right:18px;font-size:26px;border:0;background:transparent;color:var(--blue)}@media(max-width:1000px){.container{width:calc(100% - 70px)}.header{padding:0 35px}footer{padding-left:35px;padding-right:35px}nav{gap:15px}.hero{min-height:680px;gap:25px}.hero h1{font-size:74px}.hero-button{margin-top:90px}.portrait-caption{font-size:7px}.initials{font-size:100px}.section-title{gap:40px}h3,.center-heading h3{font-size:48px}.about-grid{gap:50px}.service-grid{gap:20px}.service-grid article{padding:25px 20px}.service-grid h4{font-size:17px}.work-art{height:260px}.contact-grid{gap:70px}.contact h3{font-size:80px}.skills-grid{gap:50px}.skills h2{font-size:110px}.value-grid{gap:20px}.note-art{height:180px}.note-copy{padding:20px 15px}}@media(max-width:700px){.container{width:calc(100% - 40px)}.header{height:75px;padding:0 20px}footer{padding-left:20px;padding-right:20px}.logo{font-size:30px}.header>.button{margin-left:auto}.button.hire-me{padding:11px 22px}.menu-toggle{display:block;border:0;background:transparent;color:#fff;font-size:21px;padding:5px}.header nav{display:none;position:absolute;top:75px;left:0;right:0;background:#0c326c;border-bottom:1px solid rgba(255,255,255,.12);padding:24px;flex-direction:column;gap:24px}.header nav.open{display:flex}.hero{grid-template-columns:1fr;gap:40px;padding-top:50px;padding-bottom:90px;min-height:0}.hero h1{font-size:70px}.hero .role{font-size:24px}.hero-button{margin-top:35px}.hero-portrait{max-width:360px;justify-self:center}.portrait .initials{font-size:110px}.section{padding:70px 0}.section-title{grid-template-columns:1fr;gap:35px;margin-bottom:55px}h2.outline{font-size:72px}h3,.center-heading h3{font-size:42px}.service-grid,.about-grid,.skills-grid,.value-grid,.insight-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.service-grid article{min-height:0;padding:28px}.service-grid h4{font-size:20px}.center-heading{margin-bottom:55px}.about-portrait{max-width:330px;justify-self:center}.about-copy ul{gap:15px}.marquee>div{font-size:35px;gap:25px}.marquee b{font-size:40px}.timeline-left{padding-right:25px}.timeline-right{padding-left:25px}.timeline h4{font-size:13px}.timeline p{font-size:11px}.timeline article{min-height:230px}.skills h2{font-size:90px}.skill-list{gap:30px}.filters{gap:23px;margin:0 0 35px}.work-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.work-art{height:220px}.work-caption h4{font-size:14px}.work-caption small{font-size:7px}.art-code>div{inset:35px 20px}.art-code>span{font-size:45px}.ai-orb{width:130px;height:130px}.art-data{padding:40px 15px;gap:7px}.art-data span{width:20px;max-height:150px}.art-workflow span{padding:15px 6px;font-size:16px}.art-workflow i{width:12px}.art-sql span{font-size:13px}.art-network span{height:80px;width:80px}.value-grid{gap:45px}.value-grid article{padding:35px 30px 25px}.note-art{height:240px}.note-copy{padding:25px}.contact h3{font-size:75px}.contact-grid{gap:50px}footer{flex-wrap:wrap;font-size:11px}footer>span{width:100%}footer a{font-size:11px}dialog{padding:35px 25px}dialog h3{font-size:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee>div{animation:none}.button.hire-me,.button.hire-me:before{transition:none;transform:none}}
.work-art img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease}.work-grid article:hover .work-art img{transform:scale(1.035)}@media(prefers-reduced-motion:reduce){.work-art img{transition:none}}.work-art.project-preview{border:0;padding:0;width:100%;height:auto;aspect-ratio:4/3;display:block;cursor:zoom-in;text-align:left;background:#e5ebf3}.work-art.project-preview img{object-fit:contain}.view-screen{position:absolute;bottom:12px;right:12px;background:#103f87;color:white;padding:8px 11px;font-size:8px;letter-spacing:1px;opacity:0;transition:opacity .2s}.project-preview:hover .view-screen,.project-preview:focus-visible .view-screen{opacity:1}#project-dialog{width:min(1160px,calc(100% - 30px));max-width:1160px;padding:24px;max-height:94vh;overflow:auto}#project-dialog h4{font-size:18px;font-weight:500;margin:0 40px 18px 0}#project-image{display:block;width:100%;height:auto}#project-dialog p{font-size:11px;margin:15px 0 0}.project-close{position:absolute;top:13px;right:18px;font-size:26px;border:0;background:transparent;color:var(--blue)}@media(max-width:700px){.work-grid{grid-template-columns:1fr}.view-screen{opacity:1}#project-dialog{padding:15px}#project-dialog h4{font-size:15px}}
.portrait-fill:has(.profile-photo){transform:none}.portrait-fill:has(.profile-photo):before{display:none}.profile-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}.about-portrait .profile-photo{object-position:center 22%}
