:root{--grey-0: #FFFFFF;--grey-10: #F8F9FC;--grey-15: #F0F1F5;--grey-20: #EFF2F7;--grey-50: #E6EAF0;--grey-100: #E1E6EC;--grey-200: #CDD4DC;--grey-300: #B2BBC5;--grey-400: #B7BFD9;--grey-800: #45474D;--grey-900: #2F3034;--grey-1000: #212226;--grey-1100: #18191D;--grey-1200: #121317;--blue: #3279F9;--surface: var(--grey-0);--ink: var(--grey-1200);--ink-soft: var(--grey-800);--outline: rgba(33, 34, 38, .12);--outline-variant: rgba(33, 34, 38, .06);--inverse-outline: rgba(230, 234, 240, .12);--inverse-outline-variant: rgba(230, 234, 240, .06);--nav-button: rgba(183, 191, 217, .09);--nav-button-hover: rgba(183, 191, 217, .2);--font-sans: "Google Sans Flex", "Google Sans", -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Google Sans Code", "Courier New", monospace;--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);--ease-out-back: cubic-bezier(.34, 1.85, .64, 1);--radius-card: 28px;--radius-pill: 100px;--container: 1240px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:96px}body{font-family:var(--font-sans);font-size:17.5px;line-height:1.55;letter-spacing:.16px;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none}em{font-style:normal}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}::selection{background:#3279f92e}.container{width:min(var(--container),100% - 48px);margin-inline:auto}.eyebrow{font-family:var(--font-mono);font-size:13.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:20px}.eyebrow__slash{color:var(--blue);margin-right:.5em}.eyebrow--inverse{color:var(--grey-300)}.section__title{font-size:clamp(38px,5vw,64px);font-weight:500;line-height:1.04;letter-spacing:-.022em;text-wrap:balance;margin-bottom:clamp(40px,6vw,72px)}.ink-blue{color:var(--blue)}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:15px;font-weight:500;letter-spacing:.16px;line-height:1;padding:17px 30px;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;transition:background-color .35s var(--ease-out-expo),border-color .35s var(--ease-out-expo),transform .35s var(--ease-out-expo)}.btn:active{transform:scale(.97)}.btn svg{width:16px;height:16px;transition:transform .35s var(--ease-out-expo)}.btn:hover svg{transform:translate(3px)}.btn--primary{background:var(--grey-1200);color:var(--grey-0)}.btn--primary:hover{background:var(--grey-900)}.btn--outline{background:transparent;color:var(--ink);border-color:var(--outline)}.btn--outline:hover{background:var(--nav-button);border-color:var(--grey-200)}.btn--inverse{background:var(--grey-0);color:var(--grey-1200);padding:19px 34px;font-size:16px}.btn--inverse:hover{background:var(--grey-50)}.btn--inverse svg{width:19px;height:19px;fill:currentColor}.btn--inverse:hover svg{transform:none}.btn--sm{padding:12px 22px;font-size:14.5px}.chip{display:inline-flex;align-items:center;font-size:14.5px;font-weight:500;letter-spacing:.11px;color:var(--ink-soft);background:var(--grey-10);border:1px solid var(--outline-variant);border-radius:var(--radius-pill);padding:9px 18px;transition:background-color .3s var(--ease-out-expo),border-color .3s var(--ease-out-expo),color .3s var(--ease-out-expo)}.chip:hover{background:var(--grey-20);border-color:var(--grey-200);color:var(--ink)}.nav{position:fixed;inset:0 0 auto;z-index:100;padding:18px 0;transition:padding .5s var(--ease-out-expo)}.nav__inner{width:min(var(--container),100% - 32px);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 12px 10px 22px;border-radius:var(--radius-pill);border:1px solid transparent;transition:background-color .5s var(--ease-out-expo),border-color .5s var(--ease-out-expo),box-shadow .5s var(--ease-out-expo)}.nav.is-scrolled{padding:10px 0}.nav.is-scrolled .nav__inner{background:#ffffffd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-color:var(--outline-variant);box-shadow:0 6px 24px #1213170d}.nav__logo{display:inline-flex;align-items:center;gap:9px;font-size:19px;font-weight:500;letter-spacing:-.02em}.nav__logo em{color:var(--blue)}.nav__spark{width:18px;height:18px;fill:var(--blue);animation:spin 14s linear infinite}.nav__spark--inverse{fill:var(--grey-0)}@keyframes spin{to{transform:rotate(360deg)}}.nav__links{display:flex;gap:4px}.nav__link{font-size:14.5px;font-weight:500;letter-spacing:.11px;color:var(--ink-soft);padding:9px 16px;border-radius:var(--radius-pill);transition:background-color .3s var(--ease-out-expo),color .3s var(--ease-out-expo)}.nav__link:hover,.nav__link.is-active{background:var(--nav-button);color:var(--ink)}.nav__burger{display:none;flex-direction:column;justify-content:center;gap:6px;width:46px;height:46px;padding:0 13px;background:var(--nav-button);border:none;border-radius:50%;cursor:pointer}.nav__burger span{display:block;height:1.8px;background:var(--ink);border-radius:2px;transition:transform .4s var(--ease-out-expo),opacity .3s}.nav__burger[aria-expanded=true] span:first-child{transform:translateY(3.9px) rotate(45deg)}.nav__burger[aria-expanded=true] span:last-child{transform:translateY(-3.9px) rotate(-45deg)}.menu{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:48px;background:#fffffff5;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;visibility:hidden;transition:opacity .45s var(--ease-out-expo),visibility 0s .45s}.menu.is-open{opacity:1;visibility:visible;transition:opacity .45s var(--ease-out-expo)}.menu__links{display:flex;flex-direction:column;align-items:center;gap:8px}.menu__link{font-size:clamp(34px,9vw,48px);font-weight:500;letter-spacing:-.02em;line-height:1.25;color:var(--ink);opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease-out-expo),transform .5s var(--ease-out-expo)}.menu.is-open .menu__link{opacity:1;transform:none}.menu.is-open .menu__link:nth-child(1){transition-delay:.05s}.menu.is-open .menu__link:nth-child(2){transition-delay:.1s}.menu.is-open .menu__link:nth-child(3){transition-delay:.15s}.menu.is-open .menu__link:nth-child(4){transition-delay:.2s}.menu.is-open .menu__link:nth-child(5){transition-delay:.25s}.menu__link:hover{color:var(--blue)}.menu__mail{font-family:var(--font-mono);font-size:14px;color:var(--ink-soft)}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:140px 0 80px;overflow:hidden}.hero__canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero__inner{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}.hero__eyebrow{margin-bottom:28px;opacity:0;animation:rise .9s var(--ease-out-expo) .1s forwards}.hero__title{font-size:clamp(72px,15.5vw,176px);font-weight:500;line-height:.96;letter-spacing:-.028em;opacity:0;animation:rise 1.1s var(--ease-out-expo) .22s forwards}.hero__sub{font-size:clamp(21px,3.2vw,34px);font-weight:500;letter-spacing:-.014em;color:var(--ink);margin-top:18px;opacity:0;animation:rise 1s var(--ease-out-expo) .38s forwards}.hero__amp{color:var(--blue)}.hero__lede{max-width:620px;color:var(--ink-soft);margin-top:24px;opacity:0;animation:rise 1s var(--ease-out-expo) .5s forwards}.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:40px;opacity:0;animation:rise 1s var(--ease-out-expo) .62s forwards}@keyframes rise{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}.hero__float{position:absolute;inset:0;z-index:1;pointer-events:none}.chip--float{position:absolute;left:var(--fx);top:var(--fy);font-family:var(--font-mono);font-size:13px;background:#ffffffbf;color:var(--grey-300);border-color:var(--outline-variant);animation:levitate var(--ft) ease-in-out var(--fd) infinite alternate;translate:calc(var(--mx, 0) * var(--pd, 20px)) calc(var(--my, 0) * var(--pd, 20px));transition:translate 1.1s var(--ease-out-expo);will-change:translate,transform}@keyframes levitate{0%{transform:translateY(-16px) rotate(-2deg)}to{transform:translateY(16px) rotate(2deg)}}.stats{display:flex;justify-content:center;margin-top:clamp(56px,9vh,96px);border-top:1px solid var(--outline-variant);opacity:0;animation:rise 1s var(--ease-out-expo) .78s forwards}.stats__item{padding:30px clamp(28px,5vw,72px) 0;text-align:center}.stats__item+.stats__item{border-left:1px solid var(--outline-variant)}.stats__num{font-size:clamp(38px,4.6vw,56px);font-weight:500;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.stats__label{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;color:var(--ink-soft);margin-top:10px}.hero__scroll{position:absolute;bottom:30px;left:50%;translate:-50% 0;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--outline);border-radius:50%;color:var(--ink-soft);animation:bob 2.6s ease-in-out infinite;transition:background-color .3s var(--ease-out-expo)}.hero__scroll:hover{background:var(--nav-button)}.hero__scroll svg{width:15px;height:15px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}.section{padding:clamp(90px,12vw,150px) 0}.about{border-top:1px solid var(--outline-variant)}.about__grid{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(40px,6vw,96px);align-items:start}.about__title{font-size:clamp(27px,3.4vw,42px);font-weight:500;line-height:1.22;letter-spacing:-.018em;text-wrap:balance}.about__quote{margin-top:clamp(32px,4vw,48px);padding-left:26px;border-left:2px solid var(--blue)}.about__quote p{font-size:18.5px;line-height:1.6;color:var(--ink-soft);max-width:58ch}.profile-card{background:var(--grey-10);border:1px solid var(--outline-variant);border-radius:var(--radius-card);padding:30px 30px 12px;position:sticky;top:110px}.profile-card__label{font-family:var(--font-mono);font-size:12.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-300);margin-bottom:18px}.profile-card__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:15px 0;border-top:1px solid var(--outline-variant)}.profile-card__key{font-size:14.5px;color:var(--ink-soft);flex-shrink:0}.profile-card__val{font-size:14.5px;font-weight:500;text-align:right}.services{background:var(--grey-10);border-top:1px solid var(--outline-variant);border-bottom:1px solid var(--outline-variant)}.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{position:relative;background:var(--grey-0);border:1px solid var(--outline-variant);border-radius:var(--radius-card);padding:34px 32px 38px;overflow:hidden;transition:transform .5s var(--ease-out-expo),box-shadow .5s var(--ease-out-expo),border-color .5s var(--ease-out-expo)}.service:before{content:"";position:absolute;inset:0;background:radial-gradient(360px circle at var(--gx, 50%) var(--gy, 50%),rgba(50,121,249,.09),transparent 65%);opacity:0;transition:opacity .45s var(--ease-out-expo);pointer-events:none}.service:hover:before{opacity:1}.service>*{position:relative}.service:hover{transform:translateY(-6px);border-color:var(--grey-100);box-shadow:0 24px 48px -20px #1213171f}.service__num{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--blue);margin-bottom:44px}.service__name{font-size:21.5px;font-weight:500;letter-spacing:-.01em;line-height:1.25;margin-bottom:12px;padding-right:40px;text-wrap:balance}.service__desc{font-size:15.5px;line-height:1.6;color:var(--ink-soft)}.service__arrow{position:absolute;top:26px;right:26px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--grey-10);border:1px solid var(--outline-variant);color:var(--ink-soft);transition:background-color .4s var(--ease-out-expo),color .4s var(--ease-out-expo),transform .5s var(--ease-out-back)}.service__arrow svg{width:14px;height:14px}.service:hover .service__arrow{background:var(--grey-1200);border-color:var(--grey-1200);color:var(--grey-0);transform:rotate(45deg)}.skills__groups{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.skill-group{border:1px solid var(--outline-variant);border-radius:var(--radius-card);padding:32px}.skill-group__name{font-size:18px;font-weight:500;letter-spacing:-.005em;margin-bottom:22px;display:flex;align-items:center;gap:12px}.skill-group__name:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue);flex-shrink:0}.skill-group__list{display:flex;flex-wrap:wrap;gap:9px}.awards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px}.award{display:flex;align-items:flex-start;gap:20px;background:var(--grey-10);border:1px solid var(--outline-variant);border-radius:var(--radius-card);padding:30px 32px;transition:border-color .4s var(--ease-out-expo),background-color .4s var(--ease-out-expo)}.award:hover{border-color:var(--grey-100);background:var(--grey-15)}.award__icon{width:30px;height:30px;flex-shrink:0;fill:var(--blue);margin-top:3px}.award__title{font-size:17px;font-weight:500;line-height:1.4;letter-spacing:-.005em}.award__meta{font-family:var(--font-mono);font-size:13.5px;color:var(--ink-soft);margin-top:7px}.award__dot{color:var(--grey-200);margin-inline:4px}.contact-wrap{padding:0 12px 12px}.contact{background:var(--grey-1200);color:var(--grey-50);border-radius:36px;overflow:hidden}.contact__inner{text-align:center;padding:clamp(96px,13vw,170px) 0 clamp(80px,10vw,130px);display:flex;flex-direction:column;align-items:center}.contact__title{font-size:clamp(52px,9vw,118px);font-weight:500;line-height:.98;letter-spacing:-.028em;color:var(--grey-0);text-wrap:balance}.contact__lede{max-width:560px;color:var(--grey-300);margin-top:28px}.contact__actions{margin-top:44px}.contact__note{font-family:var(--font-mono);font-size:13.5px;letter-spacing:.02em;color:var(--grey-300);margin-top:26px}.contact__sep{color:var(--grey-800);margin-inline:6px}.contact :focus-visible{outline-color:var(--grey-0)}.footer{border-top:1px solid var(--inverse-outline-variant)}.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:30px 0}.footer__logo{display:inline-flex;align-items:center;gap:9px;font-size:17px;font-weight:500;color:var(--grey-0)}.footer__logo em{color:var(--blue)}.footer__links{display:flex;gap:26px}.footer__links a{font-size:14px;color:var(--grey-300);transition:color .3s var(--ease-out-expo)}.footer__links a:hover{color:var(--grey-0)}.footer__copy{font-size:13.5px;color:var(--grey-800)}.footer__mono{font-family:var(--font-mono);color:var(--grey-800);margin-left:8px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-out-expo),transform .9s var(--ease-out-expo);transition-delay:var(--rd, 0s)}.reveal.is-in{opacity:1;transform:none}@media(max-width:1024px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){body{font-size:16px}.nav__links,.nav__cta{display:none}.nav__burger{display:flex}.hero{padding-top:120px}.hero__float{display:none}.stats{flex-direction:column;border-top:none;width:100%;max-width:340px}.stats__item{display:flex;align-items:baseline;justify-content:space-between;text-align:left;padding:18px 4px;border-top:1px solid var(--outline-variant)}.stats__item+.stats__item{border-left:none}.stats__label{margin-top:0}.hero__scroll{display:none}.about__grid{grid-template-columns:1fr}.profile-card{position:static}.services__grid,.skills__groups,.awards{grid-template-columns:1fr}.skill-group,.award{padding:24px}.contact-wrap{padding:0 8px 8px}.contact{border-radius:28px}.footer__inner{justify-content:center;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero__eyebrow,.hero__title,.hero__sub,.hero__lede,.hero__actions,.stats,.reveal{opacity:1;transform:none}.hero__canvas{display:none}}
