:root{--font-geist-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-geist-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--ink:#0b1f3a;--muted:#5c6b7f;--blue:#1769ff;--blue-dark:#0d46b8;--sky:#eaf2ff;--line:#dce4ee;--paper:#f3f6fa;--card:#fbfcfe;--white:#fff;--cursor-accent-rgb:23, 105, 255;--cursor-dot:#f2a93b;--cursor-dot-rgb:242, 169, 59;--cursor-ring-bg:#f3f6fa9e;--cursor-ring-bg-active:#ffffffc7}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{color:#071a35;background:#b9d2ff}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:9px;padding:10px 14px;font-weight:700;transition:transform .15s;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:where(a,button,input,select,textarea):focus-visible{outline-offset:3px;outline:3px solid #1769ff8c}.loading-page{min-height:60vh;color:var(--muted);align-content:center;place-items:center;gap:14px;display:grid}.loading-pulse{border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite rotate}.shell{width:min(1180px,100% - 32px);margin-inline:auto}.section{padding-block:88px}.site-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfcfee6;border:1px solid #c4d0dfd1;border-radius:17px;justify-content:space-between;align-items:center;gap:24px;width:min(1244px,100% - 24px);min-height:70px;margin:12px auto 0;padding:10px 12px;display:flex;position:sticky;top:0;box-shadow:0 9px 30px #132e5212}.brand{align-items:center;min-width:0;display:inline-flex}.brand-logo{flex:none;line-height:0;display:block}.brand-logo img{object-fit:contain;width:100%;height:auto;display:block}.brand-logo-header{width:190px;max-width:100%}.brand-logo-full{width:220px;max-width:72vw}.site-header nav{align-items:center;gap:8px;display:flex}.site-header nav a{color:#405169;border-radius:10px;padding:10px 13px;font-size:13px;font-weight:600;transition:all .2s}.site-header nav a:hover{color:var(--ink);background:#edf2f8}.header-cta{background:var(--blue);color:#fff;border-radius:11px;align-items:center;gap:14px;padding:13px 16px;font-size:13px;font-weight:700;display:flex;box-shadow:0 7px 16px #1769ff38}.header-cta span,.button span,.project-foot a span,.service-grid a span{transition:transform .2s}.header-cta:hover span,.button:hover span,.project-foot a:hover span,.service-grid a:hover span{transform:translate(2px,-2px)}.hero{grid-template-columns:minmax(0,1.28fr) minmax(330px,.72fr);align-items:center;gap:64px;min-height:calc(100svh - 94px);padding-block:74px 64px;display:grid}.eyebrow{color:#36516f;font:600 11px var(--font-geist-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:9px;display:flex}.status-dot{background:#1cc879;border-radius:50%;width:8px;height:8px;animation:2.8s ease-in-out infinite pulse;box-shadow:0 0 0 5px #1cc8791f}@keyframes pulse{50%{box-shadow:0 0 0 9px #1cc87900}}.hero h1{letter-spacing:-.066em;max-width:770px;margin:26px 0 24px;font-size:clamp(3.2rem,6.2vw,6rem);font-weight:680;line-height:.96}.hero h1 em{color:var(--blue);letter-spacing:-.055em;font-family:Georgia,serif;font-weight:400;display:block}.hero-lead{color:#50627a;max-width:650px;margin:0;font-size:clamp(1.04rem,1.6vw,1.22rem);line-height:1.7}.hero-actions{flex-wrap:wrap;gap:11px;margin-top:34px;display:flex}.button{border-radius:13px;justify-content:center;align-items:center;gap:24px;min-height:51px;padding:0 20px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--blue);color:#fff;box-shadow:0 10px 26px #1769ff38}.button.primary:hover{background:#075cf0;box-shadow:0 14px 32px #1769ff47}.button.secondary{color:var(--ink);background:#ffffffbf;border:1px solid #cad5e2}.hero-meta{gap:0;margin-top:48px;display:flex}.hero-meta>div{border-left:1px solid var(--line);align-items:center;gap:11px;padding:0 24px;display:flex}.hero-meta>div:first-child{border-left:0;padding-left:0}.hero-meta strong{letter-spacing:-.04em;font-size:18px}.hero-meta span{color:#6d7b8d;text-transform:uppercase;letter-spacing:.06em;font-size:10px;line-height:1.45}.hero-card{background:linear-gradient(150deg,#fbfdff,#e9f1fb);border:1px solid #d7e0eb;border-radius:26px;min-height:540px;padding:24px;position:relative;overflow:hidden;box-shadow:0 26px 70px #2041691f}.hero-card:before{content:"";filter:blur(4px);background:#d6e5ff;border-radius:50%;width:280px;height:280px;position:absolute;top:-100px;right:-100px}.card-topline{color:#61738a;font:600 10px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.07em;justify-content:space-between;display:flex;position:relative}.focus-orbit{--magnet-x:0px;--magnet-y:0px;--ring-x:0px;--ring-y:0px;--label-x:0px;--label-y:0px;--magnet-rotate:0deg;--magnet-scale:1;--cursor-x:50%;--cursor-y:50%;--cursor-opacity:0;place-items:center;height:345px;margin-block:10px;display:grid;position:relative}.orbit{will-change:transform;border:1px solid #b9cbe2;border-radius:50%;position:absolute}.orbit-one{width:286px;height:286px;transform:translate3d(var(--ring-x), var(--ring-y), 0);transition:transform .2s cubic-bezier(.2,.8,.2,1)}.orbit-two{border-style:dashed;width:224px;height:224px;animation:35s linear infinite rotate}@keyframes rotate{0%{transform:translate3d(var(--ring-x), var(--ring-y), 0) rotate(0deg)}to{transform:translate3d(var(--ring-x), var(--ring-y), 0) rotate(360deg)}}.focus-core{z-index:2;width:188px;height:188px;transform:translate3d(var(--magnet-x), var(--magnet-y), 0) rotate(var(--magnet-rotate)) scale(var(--magnet-scale));will-change:transform;background:#c9ddf4;border:6px solid #ffffffeb;border-radius:50%;transition:transform .16s cubic-bezier(.16,1,.3,1),box-shadow .28s;position:relative;overflow:hidden;box-shadow:0 20px 46px #0b1f3a40}.focus-portrait{object-fit:cover;object-position:50% 30%;transition:transform .35s;transform:scale(1.04)}.focus-orbit:hover .focus-core{box-shadow:0 25px 54px #0b1f3a4d}.focus-orbit:hover .focus-portrait{transform:scale(1.09)}.magnet-cursor{z-index:6;left:var(--cursor-x);top:var(--cursor-y);width:32px;height:32px;opacity:var(--cursor-opacity);pointer-events:none;border:2px solid #1769ffd1;border-radius:50%;transition:opacity .15s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #1769ff14}.magnet-cursor:before{content:"";background:var(--blue);border-radius:50%;width:7px;height:7px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.magnet-cursor:after{content:"";background:#1769ff57;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;right:calc(100% + 7px);box-shadow:-10px 4px #1769ff33,-19px 9px #1769ff1a}@media (hover:hover) and (pointer:fine){.focus-orbit{cursor:none}}.orbit-label{color:#315478;font:600 9px var(--font-geist-mono);transform:translate3d(var(--label-x), var(--label-y), 0);will-change:transform;background:#f8fbff;border:1px solid #c1d0e1;border-radius:8px;padding:7px 9px;transition:transform .24s cubic-bezier(.2,.8,.2,1);position:absolute;box-shadow:0 5px 15px #1e3c6214}.label-one{top:62px;right:34px}.label-two{bottom:53px;left:34px}.label-three{top:89px;left:30px}.hero-card>p{color:#50647c;margin:0;font-size:14px;line-height:1.65;position:relative}.card-footer{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex;position:relative}.card-footer>.technology-badge{color:#385472;font:600 9px var(--font-geist-mono);background:#fff;border-radius:7px;padding:7px 9px}.technology-badge{align-items:center;gap:6px;max-width:100%;line-height:1.2;display:inline-flex}.technology-icons{flex:none;align-items:center;gap:3px;display:inline-flex}.technology-icons svg{width:14px;height:14px}.project-card:not(.sky) .technology-icons svg,.featured .technology-icons svg{box-sizing:content-box;background:#fff;border-radius:3px;padding:1px}.technology-badge>span{color:inherit;font:inherit!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.technology-list{flex-wrap:wrap;gap:7px;display:flex}.stack-technologies .technology-badge{color:#53677e;font:600 10px var(--font-geist-mono);background:#ffffffd1;border:1px solid #ced9e6;border-radius:8px;padding:7px 9px}.stack-technologies .technology-icons svg{width:15px;height:15px}.project-inline-stack{gap:5px;max-width:65%}.project-inline-stack .technology-badge{color:inherit;letter-spacing:0;text-transform:none;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:7px;padding:5px 7px;font-size:8px}.project-card.sky .project-inline-stack .technology-badge{background:#ffffff6b;border-color:#0b1f3a29}.project-inline-stack .technology-icons svg{width:12px;height:12px}.signal-strip{background:var(--ink);color:#dfeaff;white-space:nowrap;font:500 11px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.1em;padding:14px 0;overflow:hidden}.signal-strip div{width:max-content;animation:28s linear infinite ticker}.signal-strip span{color:#68a0ff;margin:0 30px}@keyframes ticker{to{transform:translate(-50%)}}.section-label{color:#63748a;font:600 11px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:12px;display:flex}.section-label:after{content:"";background:#bdc9d8;width:42px;height:1px}.section-label span{color:var(--blue)}.intro-grid{grid-template-columns:.9fr 1.1fr;gap:90px;margin-top:38px;display:grid}.intro h2,.section-heading h2,.experience h2,.trust h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.2rem,4vw,4.5rem);line-height:1.03}.intro-grid .large-copy{color:var(--ink);letter-spacing:-.03em;margin:0 0 20px;font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.4}.intro-grid p:not(.large-copy){color:var(--muted);line-height:1.8}.text-link{border-bottom:1px solid var(--blue);color:var(--blue);align-items:center;gap:14px;margin-top:16px;padding-bottom:6px;font-size:14px;font-weight:700;display:inline-flex}.work{background:#e9eff6}.section-heading{grid-template-columns:.7fr 1.3fr;gap:80px;margin-bottom:42px;display:grid}.section-heading>div:last-child p{max-width:600px;color:var(--muted);margin:18px 0 0;line-height:1.65}.projects{gap:16px;display:grid}.project-card{color:#fff;border-radius:24px;padding:27px;transition:transform .25s;overflow:hidden;box-shadow:0 15px 35px #0c22401f}.project-card:hover{transform:translateY(-3px)}.project-card.navy{background:#0b203c}.project-card.blue{background:#1555c5}.project-card.sky{color:var(--ink);background:#cfe3ff}.project-head,.project-foot{font:600 10px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.08em;opacity:.78;justify-content:space-between;align-items:center;gap:20px;display:flex}.project-body{grid-template-columns:1.3fr .7fr;align-items:end;gap:70px;padding:65px 0 56px;display:grid}.project-body h3{letter-spacing:-.055em;margin:0 0 16px;font-size:clamp(2rem,4vw,4rem);line-height:1}.project-body p{opacity:.78;max-width:650px;margin:0;line-height:1.7}.project-body ul{margin:0;padding:0;list-style:none}.project-body li{border-bottom:1px solid #fff3;padding:12px 0;font-size:13px}.project-card.sky .project-body li{border-color:#0b1f3a29}.project-body li:before{content:"✓";color:#85b1ff;margin-right:10px}.sky .project-body li:before{color:var(--blue)}.project-foot{border-top:1px solid #ffffff2e;padding-top:18px}.project-card.sky .project-foot{border-color:#0b1f3a26}.project-foot a{opacity:1;font-family:var(--font-geist-sans);text-transform:none;letter-spacing:0;align-items:center;gap:10px;display:flex}.section-heading.compact{grid-template-columns:.7fr 1.3fr}.section-heading.compact h2{max-width:690px;font-size:clamp(2.2rem,4vw,3.8rem)}.stack-list{border-top:1px solid #ccd6e2}.stack-row{border-bottom:1px solid #ccd6e2;grid-template-columns:.65fr 1.35fr auto;align-items:center;gap:30px;min-height:88px;display:grid}.stack-row h3{letter-spacing:-.02em;font-size:18px}.stack-row p{color:var(--muted);font-size:14px;line-height:1.6}.stack-row>span{width:30px;height:30px;color:var(--blue);border:1px solid #c7d3e1;border-radius:50%;place-items:center;display:grid}.services{background:var(--ink);color:#fff}.services .section-heading p{color:#a8b7ca}.section-label.light{color:#a7b6ca}.section-label.light:after{background:#52647a}.service-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.service-grid article{background:#102a4a;border:1px solid #31455e;border-radius:20px;flex-direction:column;min-height:360px;padding:25px;display:flex}.service-grid article>span{color:#73a4ff;font:600 11px var(--font-geist-mono)}.service-grid h3{letter-spacing:-.04em;margin:76px 0 17px;font-size:24px;line-height:1.1}.service-grid p{color:#b6c3d4;margin:0;font-size:14px;line-height:1.7}.service-grid a{color:#8eb5ff;border-top:1px solid #36506e;justify-content:space-between;margin-top:auto;padding-top:20px;font-size:13px;font-weight:650;display:flex}.process-grid{border:1px solid var(--line);background:var(--line);border-radius:21px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.process-grid article{background:var(--card);min-height:280px;padding:24px}.process-grid span{color:var(--blue);font:600 10px var(--font-geist-mono)}.process-grid h3{margin:82px 0 16px;font-size:22px}.process-grid p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.experience{padding-top:30px}.experience-grid{grid-template-columns:.8fr 1.2fr;gap:90px;margin-top:42px;display:grid}.experience-intro p{max-width:430px;color:var(--muted);line-height:1.7}.timeline{border-top:1px solid #cad5e2}.timeline article{border-bottom:1px solid #cad5e2;grid-template-columns:.7fr 1.3fr;gap:38px;padding:28px 0;display:grid}.timeline span{color:var(--blue);font:600 10px var(--font-geist-mono);text-transform:uppercase}.timeline h3{margin:8px 0 0;font-size:18px}.timeline p{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.trust{background:#e4edf8}.trust-grid{grid-template-columns:.8fr 1.2fr;gap:90px;display:grid}.trust h2{margin-top:35px}.benefits{grid-template-columns:1fr 1fr;gap:12px;display:grid}.benefits article{background:#fff9;border:1px solid #cbd9e9;border-radius:18px;padding:23px}.benefits strong{color:var(--blue);font:600 10px var(--font-geist-mono)}.benefits h3{margin:46px 0 10px;font-size:18px}.benefits p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.contact{padding-bottom:38px}.contact-card{background:var(--card);border:1px solid #d3deea;border-radius:28px;grid-template-columns:1.35fr .65fr;align-items:end;gap:80px;padding:clamp(28px,5vw,64px);display:grid;box-shadow:0 25px 70px #13315517}.contact h2{letter-spacing:-.06em;max-width:780px;margin:24px 0 18px;font-size:clamp(2.5rem,5vw,5.2rem);line-height:.98}.contact-copy>p{max-width:670px;color:var(--muted);margin:0;line-height:1.7}.contact-actions{flex-direction:column;align-items:stretch;gap:9px;display:flex}.button.large{justify-content:space-between;min-height:60px;padding-inline:22px}.button.contact-link{min-height:51px;color:var(--ink);background:#fff;border:1px solid #cad6e3;font-size:12px}.contact-actions>span{color:#718095;text-align:center;font-size:10px}.footer{border-top:1px solid var(--line);padding-block:48px 52px}.footer-main{grid-template-columns:minmax(0,1.7fr) minmax(130px,.55fr) minmax(150px,.65fr);align-items:start;gap:clamp(42px,8vw,100px);display:grid}.footer-brand p{max-width:360px;color:var(--muted);margin:17px 0 10px;font-size:12px;line-height:1.65}.footer-brand>span{color:#78879a;font:500 9px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.08em}.footer-column h2{color:#758499;font:600 9px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.12em;margin:4px 0 19px}.footer-column nav{gap:12px;display:grid}.footer-column a{color:#344861;align-items:center;gap:8px;width:fit-content;font-size:12px;font-weight:650;transition:color .18s,transform .18s;display:inline-flex}.official-link-icon{flex:none;width:14px;height:14px}.footer-column a:hover{color:var(--blue);transform:translate(2px)}.footer-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-top:42px;padding-top:20px;display:flex}.footer-bottom p,.footer-bottom span{color:#7a899b;font:500 9px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.08em;margin:0}.footer-bottom span{align-items:center;gap:9px;display:inline-flex}.footer-bottom i{background:#1cc879;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #1cc8791a}.mobile-contact{display:none}.menu-toggle{background:var(--ink);cursor:pointer;border:0;border-radius:10px;width:42px;height:42px;display:none}.menu-toggle span{background:#fff;width:18px;height:1px;margin:5px auto;display:block}.mobile-menu{display:none}.page-hero{border-bottom:1px solid var(--line);padding-block:115px 84px}.page-hero .eyebrow{color:var(--blue)}.page-hero h1,.case-hero h1,.blog-detail header h1{letter-spacing:-.067em;max-width:990px;margin:24px 0 22px;font-size:clamp(3.2rem,7vw,6.8rem);line-height:.96}.page-hero>p{max-width:740px;color:var(--muted);margin:0;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.7}.page-hero-actions{flex-wrap:wrap;gap:11px;margin-top:33px;display:flex}.soft-section{background:#e9eff6}.dark-section{background:var(--ink);color:#fff}.about-story .section-label{margin-bottom:38px}.about-story-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:90px;display:grid}.about-story h2{letter-spacing:-.055em;margin:25px 0 0;font-size:clamp(2.4rem,4vw,4.4rem);line-height:1}.about-story p{color:var(--muted);font-size:15px;line-height:1.8}.about-story .large-copy{color:var(--ink);letter-spacing:-.025em;margin-top:0;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.45}.profile-photo{aspect-ratio:1;object-fit:cover;border:5px solid #fff;border-radius:28px;width:155px;display:block;box-shadow:0 14px 35px #14325521}.experience-list{border-top:1px solid var(--line)}.experience-list article{border-bottom:1px solid var(--line);grid-template-columns:48px .72fr 1.28fr;gap:30px;padding:34px 0;display:grid}.experience-list article>span,.resume-body>section>span,.resume-contact>span,.contact-page-grid aside>span{color:var(--blue);font:600 10px var(--font-geist-mono);text-transform:uppercase;letter-spacing:.1em}.experience-period{color:var(--muted);font:500 10px var(--font-geist-mono);margin:0 0 9px}.experience-list h3{margin:0 0 5px;font-size:20px}.experience-list strong{color:var(--blue-dark);font-size:13px}.experience-list ul{color:var(--muted);margin:0;padding-left:18px;font-size:14px;line-height:1.7}.education-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:38px;display:grid}.education-grid article{background:#ffffffa6;border:1px solid #ccd8e6;border-radius:20px;padding:28px}.education-grid article>span{color:var(--blue);font:600 10px var(--font-geist-mono);text-transform:uppercase}.education-grid h3{margin:45px 0 8px;font-size:23px}.education-grid strong{font-size:13px}.education-grid p{color:var(--muted);line-height:1.6}.service-detail-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.service-detail-grid article{border:1px solid var(--line);background:var(--card);border-radius:22px;flex-direction:column;min-height:440px;padding:29px;display:flex}.service-detail-grid article>span{color:var(--blue);font:600 10px var(--font-geist-mono)}.service-detail-grid h2{letter-spacing:-.045em;margin:60px 0 13px;font-size:30px}.service-detail-grid p{color:var(--muted);line-height:1.7}.service-detail-grid h3{margin:25px 0 8px;font-size:13px}.service-detail-grid ul{color:var(--muted);margin:0 0 25px;padding-left:17px;font-size:13px;line-height:1.7}.service-detail-grid a{border-top:1px solid var(--line);color:var(--blue);margin-top:auto;padding-top:18px;font-size:13px;font-weight:700}.process-grid.dark{background:#29415e;border-color:#29415e}.process-grid.dark article{background:#102a4a}.process-grid.dark p{color:#b5c3d4}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;justify-content:space-between;gap:20px;padding:24px 0;font-size:17px;font-weight:680;list-style:none;display:flex}.faq-list summary span{color:var(--blue)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:760px;color:var(--muted);margin:-5px 0 25px;line-height:1.7}.resume-page{grid-template-columns:320px 1fr;align-items:start;gap:80px;display:grid}.resume-page aside{position:sticky;top:105px}.resume-contact{border:1px solid var(--line);background:var(--card);border-radius:22px;padding:27px}.resume-contact h2{margin:45px 0 5px}.resume-contact>p{color:var(--muted);margin:0}.resume-contact dl{margin:32px 0 0}.resume-contact dt{color:var(--muted);text-transform:uppercase;margin-top:17px;font-size:10px}.resume-contact dd{word-break:break-word;margin:5px 0 0;font-size:13px}.resume-body>section{border-bottom:1px solid var(--line);margin-bottom:50px;padding:0 0 50px}.resume-body h2{letter-spacing:-.04em;margin:13px 0 19px;font-size:34px}.resume-body>section>p{color:var(--muted);line-height:1.8}.resume-role{border-top:1px solid var(--line);grid-template-columns:.7fr 1.3fr;gap:35px;padding:26px 0;display:grid}.resume-role h3{margin:0 0 5px}.resume-role strong{color:var(--blue);font-size:13px}.resume-role p,.resume-role ul{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.resume-skills,.project-tags,.article-tags{flex-wrap:wrap;gap:7px;display:flex}.resume-skills span,.project-tags span,.article-tags span{color:#53677e;font:600 10px var(--font-geist-mono);background:#fff;border:1px solid #cdd8e5;border-radius:8px;padding:8px 10px}.listing-shell{padding-top:45px}.filter-panel{border:1px solid var(--line);background:var(--card);border-radius:18px;grid-template-columns:minmax(250px,1fr) 1.5fr;align-items:end;gap:25px;margin-bottom:30px;padding:20px;display:grid}.filter-panel label>span{color:var(--muted);font:600 9px var(--font-geist-mono);text-transform:uppercase;margin-bottom:8px;display:block}.filter-panel input{width:100%;height:46px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd6e3;border-radius:10px;padding:0 14px}.filter-chips{flex-wrap:wrap;gap:7px;display:flex}.filter-chips button{min-height:42px;color:var(--muted);font:650 11px var(--font-geist-sans);cursor:pointer;background:#fff;border:1px solid #ccd7e4;border-radius:10px;padding:0 13px}.filter-chips button.active{border-color:var(--blue);background:var(--blue);color:#fff}.listing-projects{gap:14px;display:grid}.listing-project-card{border:1px solid var(--line);background:var(--card);border-radius:23px;padding:28px;transition:transform .2s}.listing-project-card:hover{transform:translateY(-2px)}.listing-project-top{color:var(--muted);font:600 10px var(--font-geist-mono);text-transform:uppercase;justify-content:space-between;display:flex}.listing-project-content{grid-template-columns:1.3fr .7fr;align-items:end;gap:55px;padding:55px 0 45px;display:grid}.listing-project-content h2{letter-spacing:-.055em;margin:0 0 14px;font-size:clamp(2.2rem,4vw,4rem)}.listing-project-content p{max-width:630px;color:var(--muted);margin:0;line-height:1.7}.listing-project-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-top:19px;display:flex}.listing-project-actions .text-link{margin:0 0 0 auto}.project-card-links{gap:18px;display:flex}.case-hero{border-bottom:1px solid var(--line);padding-block:90px 75px}.back-link{color:var(--blue);font-size:12px;font-weight:700;display:inline-flex}.case-meta{color:var(--muted);font:600 10px var(--font-geist-mono);text-transform:uppercase;gap:12px;margin-top:60px;display:flex}.case-meta span+span:before{content:"•";color:var(--blue);margin-right:12px}.case-hero>p{max-width:760px;color:var(--muted);font-size:18px;line-height:1.7}.case-layout{grid-template-columns:260px 1fr;align-items:start;gap:100px;display:grid}.case-layout>aside{position:sticky;top:105px}.case-layout>aside>span,.case-layout article section>span{color:var(--blue);font:600 10px var(--font-geist-mono);text-transform:uppercase}.case-layout .project-tags{margin-top:17px}.case-layout article section{border-bottom:1px solid var(--line);margin-bottom:55px;padding:0 0 55px}.case-layout h2{letter-spacing:-.05em;margin:14px 0 20px;font-size:clamp(2.1rem,4vw,3.5rem)}.case-layout p,.case-layout li{color:var(--muted);line-height:1.8}.case-layout ul{padding-left:19px}.case-cta{background:var(--ink);color:#fff;border-radius:25px;margin-bottom:80px;padding:50px}.case-cta>span{color:#85adf8;font:600 10px var(--font-geist-mono);text-transform:uppercase}.case-cta h2{letter-spacing:-.055em;max-width:780px;margin:18px 0 30px;font-size:clamp(2.2rem,5vw,4.7rem);line-height:1}.featured-article{padding-top:42px}.articles-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.article-card{border:1px solid var(--line);background:var(--card);border-radius:21px;flex-direction:column;min-height:350px;padding:27px;display:flex}.article-card.featured{background:var(--ink);color:#fff;min-height:440px;padding:clamp(28px,5vw,55px)}.article-meta{color:var(--muted);font:600 9px var(--font-geist-mono);text-transform:uppercase;flex-wrap:wrap;gap:15px;display:flex}.featured .article-meta{color:#9eb2cc}.article-card h2{letter-spacing:-.04em;margin:60px 0 15px;font-size:27px;line-height:1.07}.article-card.featured h2{max-width:870px;font-size:clamp(2.6rem,5vw,5.2rem)}.article-card p{color:var(--muted);margin:0 0 25px;line-height:1.7}.featured p{color:#b7c5d7;max-width:720px}.article-card>a{border-top:1px solid var(--line);color:var(--blue);justify-content:space-between;margin-top:auto;padding-top:20px;font-size:13px;font-weight:700;display:flex}.featured>a{color:#8fb8ff;border-color:#344860}.article-tags{margin-bottom:23px}.featured .article-tags span{color:#b9c9dd;background:#15304f;border-color:#3c526c}.blog-detail{padding-block:80px}.blog-detail header{max-width:950px;margin:55px auto 80px}.blog-detail header>p{max-width:770px;color:var(--muted);font-size:19px;line-height:1.7}.author-line{align-items:center;gap:11px;margin-top:27px;display:flex}.author-line>span{background:var(--ink);color:#fff;width:39px;height:39px;font:700 10px var(--font-geist-mono);border-radius:50%;place-items:center;display:grid}.author-line div{flex-direction:column;display:flex}.author-line strong{font-size:12px}.author-line small{color:var(--muted);margin-top:3px;font-size:10px}.blog-layout{grid-template-columns:200px minmax(0,720px);justify-content:center;gap:75px;display:grid}.blog-layout aside{flex-direction:column;align-self:start;gap:10px;display:flex;position:sticky;top:105px}.blog-layout aside>span{color:var(--blue);font:600 9px var(--font-geist-mono);text-transform:uppercase;margin-bottom:5px}.blog-layout aside a{color:var(--muted);font-size:11px;line-height:1.4}.article-content{font-size:17px;line-height:1.85}.article-content p{color:#43556c;margin:0 0 25px}.article-content h2{letter-spacing:-.04em;margin:55px 0 18px;scroll-margin-top:110px;font-size:31px}.article-content blockquote{border-left:3px solid var(--blue);background:#e9f0fa;margin:38px 0;padding:24px 27px;font:500 22px/1.5 Georgia,serif}.article-content li{color:#43556c;margin-bottom:8px}.article-content pre{background:var(--ink);color:#dce9f9;border-radius:13px;padding:20px;overflow-x:auto}.article-footer{border-top:1px solid var(--line);max-width:995px;margin:70px auto 0;padding-top:25px}.article-footer>a{color:var(--blue);gap:10px;margin-top:25px;font-weight:700;display:inline-flex}.contact-page-grid{grid-template-columns:1.25fr .75fr;align-items:start;gap:55px;display:grid}.contact-form{border:1px solid var(--line);background:var(--card);border-radius:23px;padding:30px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.contact-form label{color:#42556e;margin-bottom:18px;font-size:12px;font-weight:650;display:block}.contact-form input,.contact-form select,.contact-form textarea{width:100%;color:var(--ink);font:400 14px var(--font-geist-sans);background:#fff;border:1px solid #cbd6e3;border-radius:10px;outline:none;margin-top:8px;padding:13px 14px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769ff1a}.contact-form textarea{resize:vertical;min-height:150px}.contact-form small{color:#c83e43;margin-top:6px;display:block}.form-status{color:#36516f;background:#e7eef8;border-radius:9px;padding:12px;font-size:12px}.contact-form button:disabled{opacity:.65;cursor:wait}.contact-page-grid aside{background:var(--ink);color:#fff;border-radius:23px;padding:31px}.contact-page-grid aside h2{letter-spacing:-.04em;margin:42px 0 13px;font-size:30px}.contact-page-grid aside>p{color:#b6c3d4;line-height:1.7}.contact-page-grid dl{margin-top:35px}.contact-page-grid dt{color:#88a1c0;text-transform:uppercase;margin-top:17px;font-size:9px}.contact-page-grid dd{word-break:break-word;margin:4px 0 0;font-size:13px}.availability-note{border-top:1px solid #354b65;align-items:flex-start;gap:13px;margin-top:30px;padding-top:22px;display:flex}.availability-note strong{font-size:12px}.availability-note p{color:#9db0c7;margin:5px 0 0;font-size:10px}.empty-state{text-align:center;border:1px dashed #bdcad9;border-radius:20px;grid-column:1/-1;padding:70px 25px}.empty-state h2{margin:0 0 8px}.empty-state p{color:var(--muted);margin:0}.loading-page,.not-found{flex-direction:column;justify-content:center;align-items:flex-start;min-height:70svh;display:flex}.loading-page>span{color:var(--muted);margin-top:20px;font-size:12px}.loading-line,.loading-title,.loading-card{background:linear-gradient(90deg,#e4eaf1 25%,#f5f7fa 50%,#e4eaf1 75%) 0 0/200% 100%;border-radius:10px;animation:1.5s infinite shimmer}.loading-line{width:150px;height:12px}.loading-title{width:min(700px,90%);height:70px;margin-top:25px}.loading-card{width:100%;height:220px;margin-top:45px}.not-found>span{color:var(--blue);font:600 11px var(--font-geist-mono);text-transform:uppercase}.not-found h1{letter-spacing:-.06em;max-width:800px;margin:22px 0 15px;font-size:clamp(3rem,7vw,6rem);line-height:.95}.not-found p{color:var(--muted)}.not-found>div{gap:10px;margin-top:24px;display:flex}@keyframes shimmer{to{background-position:-200% 0}}.resume-contact dt,.contact-page-grid dt{align-items:center;gap:7px;display:flex}.contact-page-grid dt .official-link-icon{box-sizing:content-box;background:#fff;border-radius:4px;padding:2px}@media (max-width:900px){.site-header>nav,.site-header>.header-cta{display:none}.menu-toggle{display:block}.mobile-menu{border:1px solid var(--line);background:#fbfcfefa;border-radius:17px;flex-direction:column;gap:25px;max-height:calc(100dvh - 89px);padding:22px;display:flex;position:fixed;inset:77px 8px auto;overflow-y:auto;box-shadow:0 22px 70px #0b1f3a2e}.mobile-menu nav{flex-direction:column;align-items:stretch;display:flex}.mobile-menu nav a{border-bottom:1px solid var(--line);justify-content:space-between;padding:16px 3px;font-size:18px;display:flex}.mobile-menu .button{justify-content:space-between;width:100%}.hero{grid-template-columns:1fr;gap:45px;min-height:auto;padding-top:70px}.hero-copy{max-width:760px}.hero-card{min-height:500px}.intro-grid,.section-heading,.section-heading.compact,.experience-grid,.trust-grid,.contact-card{grid-template-columns:1fr;gap:36px}.project-body{grid-template-columns:1fr;gap:35px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:270px}.service-grid h3{margin-top:50px}.process-grid{grid-template-columns:1fr 1fr}.contact-actions{max-width:430px}.about-story-grid,.resume-page,.case-layout,.contact-page-grid{grid-template-columns:1fr;gap:45px}.resume-page aside,.case-layout>aside{position:static}.service-detail-grid{grid-template-columns:1fr}.listing-project-content{grid-template-columns:1fr;gap:30px}.blog-layout{grid-template-columns:1fr}.blog-layout aside{display:none;position:static}.footer-main{grid-template-columns:minmax(0,1.35fr) minmax(120px,.65fr) minmax(140px,.75fr);gap:36px}}@media (max-width:600px){html{scroll-padding-top:75px}.shell{width:min(100% - 24px,1180px)}.section{padding-block:66px}.site-header{border-radius:14px;width:calc(100% - 16px);min-height:61px;margin-top:8px;padding:8px}.brand-logo-header{width:165px}.header-cta{display:none}.page-hero{padding-block:78px 60px}.page-hero h1,.case-hero h1,.blog-detail header h1{font-size:clamp(3rem,14vw,4.5rem)}.page-hero-actions{display:grid}.about-story-grid{gap:35px}.profile-photo{border-radius:22px;width:120px}.experience-list article{grid-template-columns:30px 1fr;gap:18px}.experience-list article ul{grid-column:2}.education-grid,.articles-grid{grid-template-columns:1fr}.service-detail-grid article{min-height:390px;padding:23px}.resume-role{grid-template-columns:1fr;gap:18px}.filter-panel{grid-template-columns:1fr;padding:15px}.filter-chips{flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.filter-chips button{flex:none}.listing-project-card{padding:21px}.listing-project-content{padding:42px 0 35px}.listing-project-actions{grid-template-columns:1fr;display:grid}.listing-project-actions .text-link{margin:8px 0 0}.case-hero{padding-block:55px}.case-meta{margin-top:45px}.case-cta{border-radius:20px;padding:30px 22px}.article-card,.article-card.featured{min-height:350px;padding:22px}.article-card h2,.article-card.featured h2{font-size:2.35rem}.blog-detail{padding-top:55px}.blog-detail header{margin-block:45px 55px}.article-content{font-size:16px}.form-grid{grid-template-columns:1fr;gap:0}.contact-form,.contact-page-grid aside{padding:22px}.not-found>div{flex-direction:column;width:100%}.hero{padding-block:62px 48px}.hero h1{overflow-wrap:anywhere;margin-block:21px 20px;font-size:clamp(2.9rem,13.2vw,4.15rem)}.hero-lead{font-size:1rem;line-height:1.65}.hero-actions{grid-template-columns:1fr;margin-top:28px;display:grid}.button{justify-content:space-between;width:100%;min-height:54px}.hero-meta{grid-template-columns:1fr 1fr;gap:16px 0;margin-top:38px;display:grid}.hero-meta>div{padding:0 14px}.hero-meta>div:nth-child(3){border-left:0;padding-left:0}.hero-meta strong{font-size:15px}.hero-card{border-radius:21px;min-height:455px;padding:19px}.focus-orbit{height:310px;transform:scale(.9)}.card-footer span{font-size:8px}.intro-grid{margin-top:30px}.intro h2,.section-heading h2,.experience h2,.trust h2{font-size:2.55rem}.intro-grid .large-copy{font-size:1.35rem}.section-heading{margin-bottom:30px}.project-card{border-radius:19px;padding:21px}.project-body{padding:45px 0 38px}.project-body h3{font-size:2.5rem}.project-foot{flex-direction:column;align-items:flex-start}.project-foot a{margin-top:8px}.stack-row{grid-template-columns:1fr auto;gap:4px 15px;padding-block:19px}.stack-row h3{margin:0}.stack-row p{grid-column:1/-1;margin:7px 0 0}.stack-row>.stack-technologies{grid-column:1/-1;margin-top:9px}.stack-row>span{grid-area:1/2}.service-grid article{min-height:285px}.process-grid{grid-template-columns:1fr}.process-grid article{min-height:225px}.process-grid h3{margin-top:56px}.timeline article{grid-template-columns:1fr;gap:18px}.benefits{grid-template-columns:1fr}.benefits h3{margin-top:35px}.contact{padding-bottom:22px}.contact-card{border-radius:21px;padding:25px 20px}.contact h2{font-size:2.8rem}.footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))}.footer-main{grid-template-columns:1fr 1fr;gap:34px 24px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px;margin-top:34px}.mobile-contact{z-index:60;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));background:var(--blue);color:#fff;border-radius:14px;justify-content:space-between;align-items:center;min-height:54px;padding:0 20px;font-size:14px;font-weight:700;display:flex;position:fixed;box-shadow:0 12px 35px #093a9052}}@media (max-width:380px){.shell{width:calc(100% - 16px)}.section{padding-block:54px}.site-header{width:calc(100% - 12px);margin-top:6px;padding:6px}.brand-logo-header{width:145px}.menu-toggle{width:40px;height:40px}.mobile-menu{padding:16px;inset:69px 6px auto}.hero{padding-block:50px 42px}.hero h1{overflow-wrap:anywhere;font-size:clamp(2.8rem,14.5vw,3.25rem)}.hero-lead{font-size:.94rem}.hero-meta{gap:14px 0}.hero-meta>div{gap:7px;padding-inline:8px}.hero-meta strong{font-size:14px}.hero-meta span{font-size:8px}.hero-card{min-height:430px;padding:15px}.focus-orbit{width:calc(100% + 12px);height:295px;margin-left:-6px;transform:scale(.86)}.card-footer{gap:5px}.card-footer span{padding:6px 7px}.page-hero{padding-block:64px 48px}.page-hero h1,.case-hero h1,.blog-detail header h1{overflow-wrap:anywhere;font-size:clamp(2.65rem,13.5vw,3.1rem)}.page-hero>p,.case-hero>p,.blog-detail header>p{font-size:.96rem}.page-hero-actions{gap:8px}.intro h2,.section-heading h2,.experience h2,.trust h2,.about-story h2,.contact h2{overflow-wrap:anywhere;font-size:2.15rem}.section-heading,.section-heading.compact{gap:25px}.section-label{font-size:9px}.hero-actions,.listing-project-actions,.not-found>div{gap:8px}.button{min-height:51px;padding-inline:16px}.mobile-contact{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom))}.project-card{padding:17px}.project-body{padding:38px 0 31px}.project-body h3{overflow-wrap:anywhere;font-size:2.1rem}.project-card-links{flex-wrap:wrap;gap:12px;width:100%}.project-foot{gap:8px}.listing-project-card{padding:17px}.listing-project-content{padding:34px 0 29px}.listing-project-content h2{overflow-wrap:anywhere;font-size:2.05rem}.project-tags{gap:5px}.project-tags span,.article-tags span,.resume-skills span{padding:7px 8px;font-size:9px}.service-grid article,.service-detail-grid article,.benefits article,.education-grid article{padding:18px}.service-detail-grid article{min-height:360px}.service-detail-grid h2{margin-top:45px;font-size:25px}.process-grid article{padding:18px}.experience-list article{grid-template-columns:24px minmax(0,1fr);gap:13px}.experience-list article ul{padding-left:16px}.filter-panel{border-radius:15px;padding:11px}.filter-panel input{padding-inline:11px;font-size:13px}.filter-chips{margin-inline:-3px;padding-inline:3px}.filter-chips button{min-height:40px;padding-inline:11px}.filter-chips{scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}.case-hero{padding-block:45px}.case-meta{margin-top:36px}.case-layout{gap:35px}.case-layout article section{margin-bottom:40px;padding-bottom:40px}.case-layout h2{font-size:2rem}.case-cta{width:calc(100% - 16px);margin-bottom:65px;padding:25px 17px}.case-cta h2{overflow-wrap:anywhere;font-size:2.15rem}.article-card,.article-card.featured{min-height:325px;padding:18px}.article-card h2,.article-card.featured h2{overflow-wrap:anywhere;margin-top:45px;font-size:2rem}.blog-detail{padding-block:48px}.blog-detail header{margin-block:38px 45px}.article-content{font-size:15px;line-height:1.75}.article-content h2{overflow-wrap:anywhere;margin-top:44px;font-size:1.85rem}.article-content blockquote{margin-block:30px;padding:18px;font-size:19px}.contact-form,.contact-page-grid aside,.resume-contact{padding:17px}.contact-page-grid{gap:30px}.contact-page-grid aside h2{margin-top:34px;font-size:26px}.contact-form input,.contact-form select,.contact-form textarea{padding-inline:11px}.resume-body h2{overflow-wrap:anywhere;font-size:29px}.resume-role{padding-block:22px}.footer{width:calc(100% - 16px);padding-top:38px}.footer-main{gap:30px 18px}}@media (hover:hover) and (pointer:fine){html.cursor-effects-enabled body,html.cursor-effects-enabled a,html.cursor-effects-enabled button,html.cursor-effects-enabled [role=button]{cursor:none}html.cursor-effects-enabled input,html.cursor-effects-enabled label,html.cursor-effects-enabled select,html.cursor-effects-enabled textarea{cursor:auto}html.cursor-effects-enabled .magnet-cursor{display:none}.cursor-effects{z-index:9999;pointer-events:none;opacity:0;transition:opacity .18s;position:fixed;inset:0}.cursor-effects.is-visible{opacity:1}.cursor-trail-canvas{width:100%;height:100%;position:absolute;inset:0}.cursor-dot,.cursor-ring{will-change:transform;border-radius:999px;position:absolute;top:0;left:0;transform:translate(-999px,-999px)}.cursor-dot{background:var(--cursor-dot);width:8px;height:8px;box-shadow:0 0 14px rgba(var(--cursor-dot-rgb), .65);--cursor-dot-scale:1;margin:-4px 0 0 -4px}.cursor-dot.is-down{--cursor-dot-scale:.78}.cursor-ring{border:2px solid rgba(var(--cursor-accent-rgb), .9);background:var(--cursor-ring-bg);width:34px;height:34px;box-shadow:0 0 0 1px rgba(var(--cursor-dot-rgb), .22) inset, 0 0 22px rgba(var(--cursor-accent-rgb), .34), 0 0 34px rgba(var(--cursor-dot-rgb), .18);--cursor-ring-scale:1;margin:-17px 0 0 -17px;transition:width .2s,height .2s,margin .2s,background .2s,border-color .2s,box-shadow .2s}.cursor-ring.is-active{background:var(--cursor-ring-bg-active);border-color:rgba(var(--cursor-accent-rgb), .95);width:46px;height:46px;box-shadow:0 0 0 1px rgba(var(--cursor-dot-rgb), .26) inset, 0 0 28px rgba(var(--cursor-accent-rgb), .38), 0 0 44px rgba(var(--cursor-dot-rgb), .22);margin:-23px 0 0 -23px}.cursor-ring.is-down{--cursor-ring-scale:.82}.button,.header-cta,.mobile-contact,.menu-toggle,.filter-chips button,.project-card-links a,.service-grid a,.text-link,.footer-column a{will-change:transform}[data-magnetic-active=true]{z-index:1;position:relative}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.focus-orbit{cursor:auto}.focus-core,.orbit,.orbit-label{transform:none!important}.magnet-cursor{display:none}}.case-media{gap:16px;padding-bottom:20px;display:grid}.case-media img,.article-cover img{border:1px solid var(--line);background:var(--card);border-radius:22px;width:100%;height:auto;display:block}.article-cover{margin:38px 0 0}.testimonials small{color:var(--muted);margin-top:12px;display:block}
