:root{font-family:Arial,Helvetica,sans-serif;color:#111633;background:#f6f9ff;font-synthesis:none;--blue:#3158fa;--muted:#566176}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #8bb2ff;outline-offset:4px}header{background:#080f19;color:#e9edf9}.nav-wrap{max-width:1100px;margin:auto;min-height:82px;display:flex;align-items:center;gap:44px;padding:0 36px}.brand{color:#5994eb;font-size:28px;font-style:italic;font-weight:600;letter-spacing:-2px}nav{display:flex;gap:27px;margin-left:auto}nav a{font-size:13px;padding:12px 0;position:relative}nav a.active:after{content:"";position:absolute;bottom:4px;height:2px;left:0;right:0;background:#688aff}.outline{border:1px solid #7b8bbe;border-radius:6px;padding:12px 23px;font-size:13px;display:inline-block}.nav-talk{padding:10px 17px;white-space:nowrap}.menu{display:none}.home{background:#080f17;color:#f6f6fc;min-height:100vh}.home-inner{max-width:1040px;margin:auto;padding:15px 36px 70px}.hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;min-height:510px;align-items:center;overflow:hidden}.hero-copy{z-index:1;padding:35px 0;max-width:540px}.hello{color:#76a6ff;font-size:19px}.hero h1{font-size:64px;letter-spacing:-2px;margin:16px 0 8px}.hero h2{color:#689df3;font-size:29px;margin:0 0 24px}.hero h2 span{color:#1e376a}.hero-copy>p:last-of-type{font-size:16px;line-height:1.85;max-width:460px;color:#d8deeb}.actions{display:flex;gap:17px;margin-top:30px}.primary{background:linear-gradient(110deg,#2269ff,#414aff);border:1px solid #6585ff;box-shadow:0 3px 15px #3158fa24;color:#fff;border-radius:6px;padding:14px 25px;font-size:14px;text-align:center;display:inline-block}.reference{background-image:url(/Portfolio/design-reference.jpeg);background-repeat:no-repeat}.portrait{width:360px;height:470px;background-size:2765px 1843px;background-position:-378px -150px;justify-self:end;-webkit-mask-image:linear-gradient(to bottom,#000 82%,transparent),linear-gradient(to right,transparent,#000 15%);mask-image:linear-gradient(to bottom,#000 82%,transparent),linear-gradient(to right,transparent,#000 15%);-webkit-mask-composite:source-in;mask-composite:intersect}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #1b2534;border-radius:6px;overflow:hidden;margin:18px 0 65px}.stats div{text-align:center;padding:26px 12px;border-right:1px solid #1b2534}.stats div:last-child{border:0}.stats strong{display:block;font-size:29px;color:#6295fa}.stats span{display:block;font-size:13px;margin-top:10px}.trust h3{font-size:21px;font-weight:500}.trust>div{display:grid;grid-template-columns:repeat(4,1fr);padding-top:20px}.trust article{text-align:center;display:grid;gap:9px}.trust b{font-size:40px;font-weight:400}.trust strong{font-size:15px}.trust small{font-size:13px;color:#d9dfea}.page{max-width:1040px;margin:auto;padding:55px 36px 70px;min-height:calc(100vh - 250px)}.heading{margin-bottom:25px}.eyebrow{font-size:11px;letter-spacing:1.6px;color:var(--blue);font-weight:700;margin-bottom:13px;text-transform:uppercase}.heading h1{font-size:36px;letter-spacing:-1px;margin:0 0 12px;line-height:1.2}.heading p,p{color:var(--muted);line-height:1.65;font-size:15px}.heading p{max-width:730px;margin:0}h3{font-size:17px;margin:0 0 6px}.about-intro{display:grid;grid-template-columns:1.55fr 1fr;gap:48px;margin-bottom:32px}.about-intro .heading h1{max-width:420px}.about-photo{width:250px;height:310px;background-size:3456px 2304px;background-position:-1508px -198px;border-radius:9px;margin:auto}blockquote{background:#fff;border:1px solid #e7ebf3;border-radius:7px;padding:20px;text-align:center;line-height:1.6;font-size:14px;margin:12px 0 0}blockquote small{display:block;margin-top:10px;font-size:12px}.values{display:grid;grid-template-columns:1fr 1fr;gap:20px}.values article,.skill-groups section,form,.contact-item,.projects article,.articles article{background:#fff;border:1px solid #e7ebf3;border-radius:8px}.values article{padding:25px 30px}.values b{font-size:32px;color:var(--blue);display:block;margin-bottom:15px}.values p{margin:4px 0;max-width:290px}.skill-groups{display:grid;gap:18px}.skill-groups section{padding:20px 24px}.skill-groups h3{font-size:16px;margin-bottom:18px}.skill-groups section>div{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.skill-groups article{text-align:center;display:grid;justify-items:center;gap:12px}.skill-groups b{background:var(--icon-color);color:#fff;min-width:36px;height:36px;padding:6px;border-radius:8px;font-size:18px;display:grid;place-items:center}.skill-groups span{font-size:12px}.quote{text-align:center;margin-top:42px;font-size:14px}.quote span{display:block;margin-top:10px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:26px 0 20px}.filters button{background:#fff;border:1px solid #e4e9f5;border-radius:6px;padding:10px 17px;font-size:12px;color:#242b46}.filters .selected{background:var(--blue);color:#fff}.projects{display:grid;grid-template-columns:1fr 1fr;gap:20px}.projects article{overflow:hidden}.project-image{height:180px;background-size:3840px 2560px;background-position:-2940px -457px}.image-1{background-position:-3375px -457px}.image-2{background-position:-2940px -820px}.image-3{background-position:-3375px -820px}.image-4{background-position:-2940px -1182px}.image-5{background-position:-3375px -1182px}.project-body{padding:18px}.project-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-title h3{font-size:17px}.project-title span{font-size:10px;white-space:nowrap;padding:4px 6px;background:#e5efff;color:#366cce;border-radius:4px}.project-title .purple{color:#7945c1;background:#f0e7ff}.project-body p{font-size:14px;margin:13px 0}.project-body small{font-size:12px;color:#667087}.text-button{display:block;background:none;border:0;color:#2949cc;padding:0;margin-top:17px;font-size:13px}.empty{text-align:center;padding:60px;background:#fff;border-radius:8px;color:var(--muted)}.timeline{border-left:2px solid #c9d7fc;margin:28px 0 0 12px;padding-left:34px}.timeline article{position:relative;border-bottom:1px solid #e0e7f4;padding:0 0 26px;margin:0 0 26px}.timeline article:before{content:"";position:absolute;left:-42px;top:0;width:12px;height:12px;border:3px solid #365cfa;border-radius:50%;background:#fff}.timeline small{color:#67738a;display:block;margin-bottom:8px}.timeline strong{font-size:14px}.timeline ul{padding-left:17px;margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.8}.company{float:right;color:#233d90;font-weight:700;font-size:17px}.articles{display:grid;gap:18px}.articles article{display:grid;grid-template-columns:220px 1fr;gap:22px;padding:15px}.articles .project-image{height:135px;border-radius:5px}.articles small{color:#8490a4;font-size:11px}.articles h3{margin:10px 0;font-size:17px}.articles p{margin:0;font-size:14px}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:28px}.contact-item{display:flex;align-items:center;gap:18px;padding:22px;margin-bottom:15px}.contact-item b{color:var(--blue);background:#edf2ff;border-radius:6px;padding:8px;font-size:24px}.contact-item strong,.contact-item span{display:block;font-size:14px}.contact-item span{margin-top:8px;color:var(--muted);overflow-wrap:anywhere}.available{padding:18px;background:#effcf7;border:1px solid #d7eee5;display:flex;gap:12px;font-size:14px;color:#267a5b;border-radius:6px}.available small{display:block;margin-top:6px;color:#506c62;font-size:12px}form{padding:25px}label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}input,textarea{display:block;width:100%;border:1px solid #dfe5f1;background:#fbfcff;border-radius:5px;padding:12px;margin-top:8px;color:#151c33}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid #6789ff}form button{width:100%}button:disabled{opacity:.55;cursor:not-allowed}.form-status{font-size:12px;margin-bottom:0}footer{background:#080f19;color:#e8ecf7;padding:32px max(36px,calc((100vw - 968px)/2));font-size:12px}footer>div{display:flex;align-items:center;gap:24px}footer span{display:block;margin-top:7px;color:#c4cddd}footer p{font-size:12px;color:#b9c3d3}footer>small{display:block;text-align:right;color:#94a4bb}.modal-backdrop{position:fixed;inset:0;background:#050c20a8;display:grid;place-items:center;padding:22px;z-index:20}.modal-backdrop section{background:#fff;padding:35px;border-radius:12px;max-width:550px}.modal-backdrop button{float:right;background:none;border:0;font-size:27px}.modal-backdrop h2{clear:both}.page,.home-inner{animation:appear .25s ease-out}@keyframes appear{0%{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:none}}@media(min-width:1200px){.page{max-width:1040px}}@media(max-width:850px){.nav-wrap{gap:20px;padding:0 24px}nav{gap:15px}nav a{font-size:11px}.hero h1{font-size:48px}.hero h2{font-size:24px}.portrait{width:270px;justify-self:center}.about-intro{gap:25px}.company{float:none;display:block;margin-bottom:12px}}@media(max-width:620px){.nav-wrap{min-height:66px;justify-content:space-between;padding:0 22px}.menu{display:block;color:#cdd9ed;border:1px solid #546075;border-radius:5px;background:none;padding:5px 8px;margin-left:auto}.nav-talk{display:none}nav{display:none;position:absolute;left:0;right:0;top:66px;background:#0b1421;z-index:10;padding:22px}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:8px}nav a{font-size:14px}.home-inner{padding:0 24px 45px}.hero{display:block;min-height:560px;padding-top:230px;overflow:hidden}.portrait{position:absolute;right:-10px;top:0;width:210px;height:255px;background-size:1689.6px 1126.4px;background-position:-231px -99px;-webkit-mask-image:linear-gradient(to bottom,black 70%,transparent);mask-image:linear-gradient(to bottom,black 70%,transparent)}.hero-copy{padding:0;position:relative}.hello{font-size:15px;margin-top:10px}.hero h1{font-size:40px;letter-spacing:-1px}.hero h2{font-size:21px;margin-bottom:18px}.hero-copy>p:last-of-type{font-size:14px;line-height:1.75}.actions{gap:12px;margin-top:22px}.primary,.outline{padding:12px 17px;font-size:12px}.stats{grid-template-columns:1fr 1fr;margin:18px 0 38px}.stats div{border-bottom:1px solid #1b2534;padding:22px 8px}.stats strong{font-size:26px}.stats span{font-size:11px}.trust h3{font-size:18px}.trust>div{grid-template-columns:1fr 1fr;gap:30px}.page{padding:32px 22px 42px}.heading h1{font-size:28px}.heading p,p{font-size:14px}.about-intro{grid-template-columns:1fr}.about-photo{height:260px;width:205px;background-size:2918px 1945px;background-position:-1273px -167px}.values{gap:12px}.values article{padding:18px}.values h3{font-size:15px}.values p{font-size:13px}.skill-groups section{padding:18px 12px}.skill-groups section>div{grid-template-columns:repeat(3,1fr);row-gap:23px}.skill-groups span{font-size:11px}.projects{grid-template-columns:1fr}.project-image{height:155px;background-size:3225.6px 2150.4px;background-position:-2469.6px -384px}.image-1{background-position:-2835px -384px}.image-2{background-position:-2469.6px -689px}.image-3{background-position:-2835px -689px}.image-4{background-position:-2469.6px -993px}.image-5{background-position:-2835px -993px}.filters{gap:6px}.filters button{padding:8px 10px;font-size:11px}.project-title h3{font-size:16px}.timeline{padding-left:25px}.timeline article:before{left:-33px}.company{font-size:14px}.articles article{grid-template-columns:1fr;gap:12px}.articles .project-image{height:145px}.contact-grid{grid-template-columns:1fr}form{padding:20px}footer{padding:28px 24px}footer>small{text-align:left;margin-top:20px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}.portrait{background-size:853.3333% 393.8462%;background-position:15.9292% 11.7801%;aspect-ratio:180/260;height:auto}.about-photo{background-size:1396.3636% 726.2411%;background-position:46.9846% 10.0793%;aspect-ratio:110/141;height:auto}.project-image{background-size:930.9091% 2327.2727%;background-position:85.7768% 18.6735%;aspect-ratio:165/44;height:auto}.image-1{background-size:942.3313% 2327.2727%;background-position:98.3977% 18.6735%;aspect-ratio:163/44;height:auto}.image-2{background-size:930.9091% 2381.3953%;background-position:85.7768% 33.5372%;aspect-ratio:165/43;height:auto}.image-3{background-size:942.3313% 2381.3953%;background-position:98.3977% 33.5372%;aspect-ratio:163/43;height:auto}.image-4{background-size:930.9091% 2381.3953%;background-position:85.7768% 48.318%;aspect-ratio:165/43;height:auto}.image-5{background-size:942.3313% 2381.3953%;background-position:98.3977% 48.318%;aspect-ratio:163/43;height:auto}@media(max-width:620px){.portrait{width:180px;height:260px}.projects .project-image,.articles .project-image{height:auto}}.hero-portrait{display:block;width:360px;max-width:100%;height:470px;object-fit:cover;object-position:50% 35%;justify-self:end;border-radius:12px;-webkit-mask-image:linear-gradient(to bottom,#000 87%,transparent);mask-image:linear-gradient(to bottom,#000 87%,transparent)}@media(max-width:850px){.hero-portrait{width:270px;height:390px;justify-self:center}}@media(max-width:620px){.hero-portrait{position:absolute;right:0;top:10px;width:200px;height:230px;object-position:50% 30%;border-radius:8px;-webkit-mask-image:linear-gradient(to bottom,#000 85%,transparent);mask-image:linear-gradient(to bottom,#000 85%,transparent)}}.skill-groups .skill-logo{display:block;width:40px;height:40px;object-fit:contain;background:transparent;border-radius:0;padding:0}.about-portrait{display:block;width:100%;max-width:320px;height:auto;margin:0 auto;border-radius:9px;aspect-ratio:3/4;object-fit:contain}@media(max-width:620px){.about-portrait{max-width:280px}}.contact-grid form input[hidden]{display:none!important}@media(max-width:620px){.home .nav-wrap{min-height:66px;padding:0 24px}.home .brand{font-size:26px}.home .menu{min-width:36px;min-height:36px;line-height:1}.home-inner{padding:0 24px 40px}.home .hero{display:block;isolation:isolate;min-height:0;padding:172px 0 0;overflow:hidden}.home .hero:before{content:"";position:absolute;inset:12px 0 auto;height:280px;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 85% 28%,#20366d80,transparent 68%)}.home .hero-portrait{position:absolute;z-index:-1;top:12px;right:-8px;width:clamp(190px,58vw,245px);height:286px;max-width:72%;object-fit:cover;object-position:50% 24%;border-radius:0;-webkit-mask-image:linear-gradient(to bottom,#000 48%,#000b 65%,transparent 98%);mask-image:linear-gradient(to bottom,#000 48%,#000b 65%,transparent 98%);pointer-events:none}.home .hero-copy{position:relative;padding:0;max-width:none}.home .hello{font-size:14px;line-height:1.5;margin:0 0 13px;color:#86afff}.home .hero h1{font-size:clamp(32px,9.4vw,43px);line-height:1.12;letter-spacing:-1px;margin:0 0 9px;text-shadow:0 2px 16px #080f17}.home .hero h2{font-size:clamp(18px,5.2vw,23px);line-height:1.3;margin:0 0 17px;color:#78a8fb;text-shadow:0 2px 12px #080f17}.home .hero h2 span{display:none}.home .hero-copy>p:last-of-type{font-size:14px;line-height:1.75;margin:0;color:#d8deeb;max-width:100%}.home .actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:24px 0 0}.home .actions a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:11px 8px;border-radius:7px;font-size:12px;text-align:center}.home .stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0 38px;border:1px solid #1b2534;border-radius:7px}.home .stats div{padding:21px 8px;border:0}.home .stats div:nth-child(odd){border-right:1px solid #1b2534}.home .stats div:nth-child(-n+2){border-bottom:1px solid #1b2534}.home .stats strong{font-size:26px;line-height:1.2}.home .stats span{font-size:11px;line-height:1.5;margin-top:7px}}@media(max-width:360px){.home-inner{padding-right:20px;padding-left:20px}.home .nav-wrap{padding:0 20px}.home .hero{padding-top:158px}.home .hero-portrait{height:266px}.home .hero-copy>p:last-of-type{font-size:13px}}@media(max-width:620px){header{position:relative;z-index:15}.nav-wrap{position:relative}.menu,.home .menu{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:10px;min-width:44px;min-height:44px}.menu[aria-expanded=true]{background:#17243b;border-color:#688aff;color:#a6c5ff}#navigation{left:auto;right:16px;top:calc(100% - 2px);width:min(248px,calc(100vw - 32px));margin:0;padding:8px;border:1px solid #26364d;border-radius:14px;background:#0e1928;box-shadow:0 16px 40px #0006;max-height:calc(100dvh - 82px);overflow-y:auto}#navigation.open{display:grid;grid-template-columns:1fr;gap:4px}#navigation a{display:flex;align-items:center;min-height:44px;padding:11px 14px;border-radius:8px;font-size:14px;line-height:1.4;color:#d7e0ef}#navigation a.active{background:#203557;color:#a7c8ff;font-weight:600}#navigation a.active:after{display:none}#navigation a:hover{background:#192a43}#navigation a:focus-visible{outline:2px solid #8bb2ff;outline-offset:-2px}}.hero h1{font-size:52px;line-height:1.08;max-width:620px;margin:16px 0 14px}.hero h2{font-size:25px}.hero-copy>p:last-of-type{max-width:540px}.actions{align-items:center;gap:14px;flex-wrap:wrap}.resume-link{padding:10px 2px;color:#9dbbff;font-size:13px;border-bottom:1px solid #5674b8}.tech-list{display:flex;flex-wrap:wrap;gap:7px}.tech-list small{padding:5px 8px;border-radius:5px;background:#eef3ff;color:#38549b;font-size:11px}.text-button{font-weight:600}.modal-backdrop section.case-study{width:min(680px,100%);max-width:680px;max-height:calc(100dvh - 44px);overflow:auto}.case-summary{font-size:16px}.case-study dl{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.case-study dl>div{border-top:1px solid #e1e7f2;padding-top:14px}.case-study dt{font-weight:700;font-size:13px;color:#172449;margin-bottom:7px}.case-study dd{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.confidential-note{font-size:11px;margin:20px 0 0;color:#7b8498}@media(max-width:620px){.home .hero h1{font-size:clamp(30px,8.4vw,39px);max-width:100%}.home .actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home .resume-link{grid-column:1/-1;justify-self:center;padding:8px 2px}.case-study dl{grid-template-columns:1fr;gap:14px}.modal-backdrop section.case-study{padding:25px 20px}}.project-cover{min-height:145px;padding:24px;background:linear-gradient(125deg,#101b35,#254b85);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:12px}.project-cover span{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#afccff}.project-cover strong{font-size:23px;line-height:1.25}.project-title{flex-wrap:wrap}.project-sources{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;font-size:12px}.project-sources a{color:#2949cc;text-decoration:underline;overflow-wrap:anywhere}
