:root{--text-primary:#0b1530;--text-secondary:#5b6475;--text-muted:#8a93a6;--brand:#2563eb;--brand-soft:#eaf1ff;--dark-base:#0a1128;--on-dark:#fff;--bg-page:#f7f9fd;--bg-surface:#fff;--bg-soft:#f3f5fa;--border:#e5e9f2;--hero-gradient:linear-gradient(154deg,#fff,#edf2ff 71%);--shadow-sm:0 4px 12px #0f1a4d0d;--shadow-md:0 8px 24px #0f1a4d0d;--shadow-lg:0 12px 30px #0f1a4d1a;--shadow-btn:0 8px 10px #0f1a4d2e;--deco-opacity:1;--font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-hand:"Caveat",cursive;--font-signature:"Mrs Saint Delafield",cursive;--container:1200px;--gutter:120px}.dark-mode{--text-primary:#e8edf8;--text-secondary:#a3adc2;--text-muted:#6f7a91;--brand:#4f8bff;--brand-soft:#4f8bff24;--dark-base:#f1f5ff;--on-dark:#0a1128;--bg-page:#0b1226;--bg-surface:#121b36;--bg-soft:#18223f;--border:#243050;--hero-gradient:linear-gradient(154deg,#0b1226,#111d44 71%);--shadow-sm:0 4px 12px #00000040;--shadow-md:0 8px 24px #00000040;--shadow-lg:0 12px 30px #00000059;--shadow-btn:0 8px 10px #0000004d;--deco-opacity:0.35}@media (max-width:1280px){:root{--gutter:48px}}@media (max-width:640px){:root{--gutter:20px}}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);margin:0;overflow-x:hidden}img{max-width:100%}button{font-family:inherit}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.portfolio{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;transition:background-color .3s ease,color .3s ease}.section{padding:56px var(--gutter) 40px;scroll-margin-top:72px}.container{margin:0 auto;max-width:var(--container);width:100%}[dir=rtl] .flip-rtl{transform:scaleX(-1)}.section-header-row{align-items:flex-end;display:flex;gap:16px;margin-bottom:24px}.section-header{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0}.eyebrow{background:var(--brand-soft);border-radius:4px;color:var(--brand);display:inline-block;font-size:10px;font-weight:700;letter-spacing:1.4px;padding:4px 8px;text-transform:uppercase}.section-title{color:var(--text-primary);font-size:30px;font-weight:800;letter-spacing:-.6px;line-height:1.15;margin:0}.section-subtitle{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.btn{align-items:center;border:1px solid #0000;border-radius:12px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:700;gap:8px;line-height:1;padding:15px 22px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-sm{font-size:13px;padding:12px 18px}.btn-xs{font-size:13px;padding:11px 18px}.btn-primary{background:var(--dark-base);box-shadow:var(--shadow-btn);color:var(--on-dark)}.btn-secondary{background:var(--bg-surface);border-color:var(--border);color:var(--text-primary)}.btn-blue{background:#2563eb;box-shadow:0 10px 12px #0f1a4d40;color:#fff}.btn-blue:hover{background:#1d4ed8}.btn-outline-light{background:#ffffff0a;border-color:#ffffff59;color:#fff}.btn-outline-light:hover{background:#ffffff1a}.text-link{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:6px;padding:0;text-decoration:none;white-space:nowrap}.text-link svg{color:var(--brand);transition:transform .2s ease}.text-link:hover svg{transform:translateX(3px)}[dir=rtl] .text-link:hover svg{transform:scaleX(-1) translateX(3px)}.circle-btn{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;color:var(--brand);cursor:pointer;display:inline-flex;flex-shrink:0;height:34px;justify-content:center;padding:0;transition:background-color .2s ease,color .2s ease,opacity .2s ease;width:34px}.circle-btn:hover:not(:disabled){background:var(--brand);border-color:var(--brand);color:#fff}.circle-btn:disabled{cursor:default;opacity:.4}.circle-btn-sm{height:28px;width:28px}.portrait{object-fit:contain}.tag{background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);display:inline-block;font-size:11px;font-weight:500;padding:5px 10px;white-space:nowrap}.icon-tile{align-items:center;border-radius:10px;display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none}.btn:hover,.reveal{transform:none}}@media (max-width:900px){.section-header-row{align-items:flex-start;flex-direction:column}}@media (max-width:640px){.section{padding-bottom:32px;padding-top:44px}.section-title{font-size:26px}}.navbar{padding:0 var(--gutter);position:sticky;top:0;transition:background-color .3s ease,box-shadow .3s ease,-webkit-backdrop-filter .3s ease;transition:background-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease;transition:background-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease;z-index:100}.navbar--open,.navbar--scrolled{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg-surface) 85%,#0000);box-shadow:0 1px 0 var(--border)}.navbar-inner{align-items:center;display:flex;gap:24px;justify-content:space-between;padding:18px 0}.brand-logo{align-items:center;color:var(--text-primary);display:inline-flex;flex-shrink:0;gap:10px;text-decoration:none}.brand-mark{font-size:28px;font-weight:800;letter-spacing:-1.68px;line-height:1}.brand-name{display:flex;flex-direction:column;font-size:13px;line-height:1.2}.brand-name strong{font-weight:700}.brand-name small{color:var(--text-secondary);font-size:11px;margin-top:2px}.nav-links{gap:30px}.nav-link,.nav-links{align-items:center;display:flex;position:relative}.nav-link{color:var(--text-secondary);flex-direction:column;font-size:13px;font-weight:500;gap:6px;text-decoration:none;transition:color .25s ease;white-space:nowrap}.nav-link:after{background:var(--brand);border-radius:1px;content:"";height:2px;opacity:0;transform:scaleX(0);transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s ease;width:22px}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{opacity:.35;transform:scaleX(1)}.nav-link.active{color:var(--text-primary);font-weight:700}.nav-link.active:after{opacity:1;transform:scaleX(1)}.nav-links.has-indicator .nav-link.active:after{opacity:0;transition:none}.nav-indicator{background:var(--brand);border-radius:1px;height:2px;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:transform .5s cubic-bezier(.22,1,.36,1);width:22px}.nav-links.has-indicator .nav-indicator{opacity:1}.nav-actions,.theme-toggle{align-items:center;display:flex;gap:10px}.icon-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:20px;color:var(--text-primary);cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:0;transition:background-color .2s ease,border-color .2s ease,box-shadow .3s ease,transform .3s cubic-bezier(.34,1.36,.64,1);width:40px}.icon-btn svg{transition:transform .45s cubic-bezier(.34,1.36,.64,1)}.icon-btn:active{transform:scale(.94)}.theme-toggle .icon-btn:hover{box-shadow:0 6px 14px #0f1a4d14}.theme-toggle .icon-btn:hover svg{transform:rotate(20deg) scale(1.08)}.theme-toggle .icon-btn+.icon-btn:hover svg{transform:rotate(-16deg) scale(1.08)}.icon-btn--outlined{background:var(--bg-surface);border-color:var(--border)}.icon-btn:hover{background:var(--bg-soft)}.hamburger-btn{display:none}.lang-switcher{position:relative}.lang-btn{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:4px;height:40px;padding:0 12px;transition:transform .3s cubic-bezier(.34,1.36,.64,1),box-shadow .3s ease}.lang-btn:hover{box-shadow:0 6px 14px #0f1a4d14;transform:scale(1.04)}.nav-cta svg{transition:transform .3s cubic-bezier(.22,1,.36,1)}.nav-cta:hover{box-shadow:0 12px 20px #0f1a4d38}.nav-cta:hover svg{transform:translateX(3px)}[dir=rtl] .nav-cta:hover svg{transform:scaleX(-1) translateX(3px)}.lang-chevron{transition:transform .2s ease}.lang-chevron.open{transform:rotate(180deg)}.lang-dropdown{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);inset-inline-end:0;min-width:160px;padding:6px;position:absolute;top:calc(100% + 8px);z-index:10}.lang-option{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;padding:9px 10px;text-align:start;width:100%}.lang-option:hover{background:var(--bg-soft)}.lang-option.active{background:var(--brand-soft);color:var(--brand);font-weight:700}.lang-short{color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.5px;width:18px}@media (max-width:1180px){.hamburger-btn{display:inline-flex}.nav-cta,.nav-links{display:none}.nav-links{align-items:stretch;background:var(--bg-surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);flex-direction:column;gap:0;left:0;padding:8px var(--gutter) 16px;position:absolute;right:0;top:100%}.navbar--open .nav-links{display:flex}.nav-link{border-bottom:1px solid var(--border);flex-direction:row;font-size:15px;padding:12px 0}.nav-link:last-child{border-bottom:none}.nav-indicator,.nav-link:after{display:none}.nav-link.active{color:var(--brand)}}@media (max-width:480px){.theme-toggle .icon-btn:not(.icon-btn--outlined){display:none}}@media (prefers-reduced-motion:reduce){.icon-btn,.icon-btn svg,.lang-btn,.nav-cta svg,.nav-indicator,.nav-link:after{transition:none}.icon-btn:hover svg,.lang-btn:hover,.nav-cta:hover svg{transform:none}}.hero{background:var(--hero-gradient);margin-top:-76px;overflow:hidden;padding:104px var(--gutter) 40px}.hero-content{align-items:center;display:flex;gap:40px}.hero-text{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:24px;min-width:0}.hero-badges{display:flex;flex-wrap:wrap;gap:8px}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:6px;padding:6px 12px}.badge--available{background:#e8f8ee;color:#15803d}.badge-dot{background:#22c55e;border-radius:50%;height:6px;width:6px}.badge--location{background:var(--bg-surface);box-shadow:0 2px 8px #0f1a4d0f;color:var(--text-primary)}.dark-mode .badge--available{background:#22c55e24;color:#4ade80}.hero-eyebrow{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:3.6px;margin:0;text-transform:uppercase}[dir=rtl] .hero-eyebrow{letter-spacing:0}.hero-title{color:var(--text-primary);font-size:64px;font-weight:800;letter-spacing:-1.92px;line-height:1.04;margin:0}[dir=rtl] .hero-title{letter-spacing:0;line-height:1.25}.gradient-text{background:linear-gradient(90deg,#2563eb,#4f8bff 50%,#7c9dff);-webkit-background-clip:text;background-clip:text;color:#0000}.hero-intro{color:var(--text-secondary);font-size:16px;line-height:1.65;margin:0;max-width:470px}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.follow{align-items:center;display:flex;gap:6px}.follow-label{color:var(--text-muted);font-size:12px;margin-inline-end:8px}.social-square{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);display:inline-flex;height:34px;justify-content:center;transition:color .2s ease,border-color .2s ease,transform .2s ease;width:34px}.social-square:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px)}.hero-visual{flex:0 1 600px;max-width:600px;position:relative;width:100%}.hero-artboard{height:450px;left:0;overflow:hidden;position:absolute;top:0;transform-origin:top left;width:600px}.hero-artboard .abs,.hero-artboard .deco{margin:0;position:absolute}.hero-artboard .deco{opacity:var(--deco-opacity)}.code-badge{border-radius:999px;box-shadow:0 10px 24px #0f1a4d1f;color:var(--brand);height:54px;justify-content:center;width:54px}.code-badge,.float-card{align-items:center;background:var(--bg-surface);display:flex}.float-card{border-radius:14px;box-shadow:var(--shadow-lg);gap:10px;padding:14px 16px;white-space:nowrap}.float-card--years{padding:14px 18px}.float-card-text{display:flex;flex-direction:column;gap:2px}.float-card-text strong{color:var(--text-primary);font-size:13px;font-weight:700}.float-card-text .years-value{font-size:15px;font-weight:800}.float-card-text small{color:var(--text-secondary);font-size:11px}.years-tile{background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff}.hand-note{color:var(--text-secondary);display:flex;flex-direction:column;font-family:var(--font-hand);font-size:20px;font-weight:700;line-height:1.05;transform:rotate(-8deg);transform-origin:top left;white-space:nowrap}.tech-stack{background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);gap:13px;padding:12px 18px}.aws-logo,.tech-stack{align-items:center;display:flex}.aws-logo{color:#232f3e;flex-direction:column;font-size:15px;font-weight:800;letter-spacing:-.6px;line-height:1}.aws-logo img{margin-top:-1px}.tech-more{align-items:center;background:#f1f4f9;border-radius:999px;color:#5b6475;display:flex;font-size:9.5px;font-weight:700;height:28px;justify-content:center;text-decoration:none;width:28px}.hero-stats{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}.stat-card{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 6px 20px #0f1a4d0d;display:flex;gap:12px;padding:14px 22px 14px 16px}.stat-text{display:flex;flex-direction:column;gap:2px}.stat-text strong{color:var(--text-primary);font-size:20px;font-weight:800}.stat-text small{color:var(--text-secondary);font-size:12px}@media (max-width:1100px){.hero-content{align-items:stretch;flex-direction:column;gap:32px}.hero-visual{flex:none;margin:0 auto}}@media (max-width:640px){.hero{padding-top:100px}.hero-title{font-size:44px;letter-spacing:-1.2px}.hero-intro{font-size:15px}.hero-buttons .btn{flex:1 1;justify-content:center}.hero-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.stat-card{align-items:flex-start;flex-direction:column;padding:14px 12px}.stat-text strong{font-size:18px}.stat-text small{font-size:11px}}.hero{--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-soft:cubic-bezier(0.22,1,0.36,1);--ease-spring:cubic-bezier(0.34,1.36,0.64,1);--ease-float:cubic-bezier(0.45,0,0.55,1)}.hero-enter{animation:hero-rise .45s var(--ease-soft) 0ms backwards;animation:hero-rise .45s var(--ease-soft) var(--enter-delay,0ms) backwards}@keyframes hero-rise{0%{opacity:0;transform:translate3d(0,14px,0)}}.hero-intro.hero-enter{animation-name:hero-rise-slide}@keyframes hero-rise-slide{0%{transform:translate3d(0,14px,0)}}.hero-title .gradient-text{--sheen:#ffffff73;animation:title-sheen 9s var(--ease-float) 1.8s infinite;background-image:linear-gradient(100deg,#0000 35%,var(--sheen) 50%,#0000 65%),linear-gradient(90deg,#2563eb 0,#4f8bff 50%,#7c9dff 100%);background-position:150% 0,0 0;background-repeat:no-repeat;background-size:250% 100%,100% 100%}.dark-mode .hero-title .gradient-text{--sheen:#ffffff52}@keyframes title-sheen{0%{background-position:150% 0,0 0}24%,to{background-position:-50% 0,0 0}}.hero-headline{position:relative;transition:height .38s var(--ease-soft) 80ms;width:100%}.title-line{display:block}.headline-item{display:block;filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .32s cubic-bezier(.4,0,1,1),filter .32s ease-in,visibility 0s linear .32s;visibility:hidden}.headline-item:not(.is-active),.hero-headline.is-measured .headline-item{left:0;position:absolute;right:0;top:0}.headline-item.is-active{filter:none;opacity:1;pointer-events:auto;transition:none;visibility:visible}.headline-item.is-active .ink{animation:ink-reveal .56s cubic-bezier(.45,.05,.25,1) 0ms backwards;animation:ink-reveal var(--ink-dur,.56s) cubic-bezier(.45,.05,.25,1) var(--ink-delay,0ms) backwards}.headline-item.is-active .title-line:first-child .ink{--ink-delay:180ms;--ink-dur:420ms}.headline-item.is-active .title-line:last-child .ink{--ink-delay:300ms;--ink-dur:450ms}@keyframes ink-reveal{0%{filter:blur(3px);-webkit-mask-image:linear-gradient(90deg,#000 45%,#0000 55%);mask-image:linear-gradient(90deg,#000 45%,#0000 55%);-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:250% 100%;mask-size:250% 100%;opacity:.4}to{filter:blur(0);-webkit-mask-image:linear-gradient(90deg,#000 45%,#0000 55%);mask-image:linear-gradient(90deg,#000 45%,#0000 55%);-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:250% 100%;mask-size:250% 100%;opacity:1}}@keyframes ink-reveal-rtl{0%{filter:blur(3px);-webkit-mask-image:linear-gradient(270deg,#000 45%,#0000 55%);mask-image:linear-gradient(270deg,#000 45%,#0000 55%);-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:250% 100%;mask-size:250% 100%;opacity:.4}to{filter:blur(0);-webkit-mask-image:linear-gradient(270deg,#000 45%,#0000 55%);mask-image:linear-gradient(270deg,#000 45%,#0000 55%);-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:250% 100%;mask-size:250% 100%;opacity:1}}[dir=rtl] .headline-item.is-active .ink{animation-name:ink-reveal-rtl}@media (prefers-reduced-motion:reduce){.headline-item,.hero-headline{filter:none;transition:none}.headline-item.is-active .ink{animation:none}}.badge--available{animation:badge-breathe 5s var(--ease-float) 1.2s infinite}@keyframes badge-breathe{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(0,-1.5px,0) scale(1.012)}}.badge-dot{animation:dot-breathe 2.6s var(--ease-float) infinite;position:relative}.badge-dot:after,.badge-dot:before{border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}.badge-dot:before{animation:dot-glow 2.6s var(--ease-float) infinite;box-shadow:0 0 6px 1px #22c55e8c;opacity:0}.badge-dot:after{animation:dot-ring 2.6s cubic-bezier(.2,.6,.35,1) infinite;background:#22c55e}@keyframes dot-breathe{0%,to{transform:scale(1)}50%{transform:scale(.84)}}@keyframes dot-glow{0%,to{opacity:0}50%{opacity:.9}}@keyframes dot-ring{0%{opacity:.5;transform:scale(1)}75%,to{opacity:0;transform:scale(3.2)}}.hero-buttons .btn svg:last-child{transition:transform .3s var(--ease-soft)}.hero-buttons .btn:hover svg:last-child{transform:translateX(3px)}[dir=rtl] .hero-buttons .btn:hover svg:last-child{transform:scaleX(-1) translateX(3px)}.hero .social-square{transition:color .25s ease,border-color .25s ease,box-shadow .35s var(--ease-soft),transform .35s var(--ease-spring)}.hero .social-square svg{transition:transform .35s var(--ease-spring)}.hero .social-square:hover{box-shadow:0 8px 18px #2563eb29;transform:translate3d(0,-3px,0) scale(1.06)}.hero .social-square:hover svg{transform:rotate(-8deg) scale(1.06)}.hero-artboard{perspective:1100px}.hl{--depth:0;translate:calc(var(--depth)*0*1px) calc(var(--depth)*0*1px);translate:calc(var(--px, 0)*var(--depth)*1px) calc(var(--py, 0)*var(--depth)*1px)}@keyframes hl-enter{0%{opacity:0;transform:translate3d(0,16px,0) scale(.97)}}@keyframes hl-enter-glow{0%{opacity:0;transform:scale(.92)}}@keyframes hl-enter-fade{0%{opacity:0}}@keyframes hl-enter-slide{0%{transform:translate3d(0,16px,0) scale(.97)}}@keyframes hl-enter-pop{0%{opacity:0;transform:scale(.4)}}.hl--glow-1{--depth:4;animation:hl-enter-glow .6s var(--ease-soft) .2s backwards,hl-glow-a 18s var(--ease-float) 1.4s infinite;transform-origin:55% 55%}.hl--glow-2{--depth:6;animation:hl-enter-glow .6s var(--ease-soft) .24s backwards,hl-glow-b 14s var(--ease-float) 1.4s infinite}.hl--glow-3{--depth:5;animation:hl-enter-glow .6s var(--ease-soft) .28s backwards,hl-glow-c 11s var(--ease-float) 1.4s infinite}@keyframes hl-glow-a{0%,to{transform:translateZ(0) rotateX(0) rotateY(0) scale(1)}50%{transform:translate3d(-6px,-7px,0) rotateX(3deg) rotateY(-3deg) scale(1.035)}}@keyframes hl-glow-b{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(7px,5px,0) rotateY(4deg) scale(1.05)}}@keyframes hl-glow-c{0%,to{transform:translateZ(0) rotate(0) scale(1)}50%{transform:translate3d(5px,-6px,0) rotate(2deg) scale(1.06)}}.hl--orbit-1{--depth:9;animation:hl-enter-fade .5s var(--ease-soft) .3s backwards,hl-orbit-a 12s var(--ease-float) 1.4s infinite}.hl--orbit-2{--depth:11;animation:hl-enter-fade .5s var(--ease-soft) .34s backwards,hl-orbit-b 10s var(--ease-float) 1.4s infinite}@keyframes hl-orbit-a{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(-3px,-5px,0) rotate(-2.5deg)}}@keyframes hl-orbit-b{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(3px,4px,0) rotate(2deg)}}.hl--portrait{--depth:6;animation:hl-enter-slide .6s var(--ease-soft) .25s backwards,hl-portrait 9s var(--ease-float) 1.3s infinite;transform-origin:50% 100%;translate:calc(var(--depth)*0*1px) calc(max(0, 0)*var(--depth)*1px);translate:calc(var(--px, 0)*var(--depth)*1px) calc(max(var(--py, 0), 0)*var(--depth)*1px)}@keyframes hl-portrait{0%,to{transform:translateZ(0) rotateY(0)}50%{transform:translate3d(0,5px,0) rotateY(1.4deg)}}.hl--dot-1{--depth:18;animation:hl-enter-pop .45s var(--ease-spring) .5s backwards,hl-dot-a 7s var(--ease-float) 1.4s infinite}.hl--dot-2{--depth:16;animation:hl-enter-pop .45s var(--ease-spring) .54s backwards,hl-dot-b 5.6s var(--ease-float) 1.6s infinite}@keyframes hl-dot-a{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(2px,-6px,0) scale(1.2)}}@keyframes hl-dot-b{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(-2px,5px,0) scale(1.16)}}.hl--code{--depth:12;animation:hl-enter-pop .45s var(--ease-spring) .45s backwards,hl-code 6.5s var(--ease-float) 1.5s infinite}@keyframes hl-code{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(0,-5px,0) rotate(-4deg)}}.hl--card-clean{--depth:10;animation:hl-enter .55s var(--ease-soft) .35s backwards,hl-card-clean 8s var(--ease-float) 1.4s infinite}.hl--card-years,.hl--dock{translate:calc(min(0, 0)*var(--depth)*1px) calc(var(--depth)*0*1px);translate:calc(min(var(--px, 0), 0)*var(--depth)*1px) calc(var(--py, 0)*var(--depth)*1px)}.hl--card-years{--depth:14;animation:hl-enter .55s var(--ease-soft) .42s backwards,hl-card-years 9.5s var(--ease-float) 1.9s infinite}@keyframes hl-card-clean{0%,to{transform:translateZ(0) rotateX(0) rotateY(0)}35%{transform:translate3d(0,-7px,0) rotateX(3deg) rotateY(-4deg)}70%{transform:translate3d(0,-2px,0) rotateX(-1.5deg) rotateY(2deg)}}@keyframes hl-card-years{0%,to{transform:translateZ(0) rotateX(0) rotateY(0)}40%{transform:translate3d(0,6px,0) rotateX(-2.5deg) rotateY(4deg)}75%{transform:translate3d(0,1px,0) rotateX(2deg) rotateY(-2deg)}}.hl--card-clean:after,.hl--card-years:after,.hl--dock:after{border-radius:inherit;box-shadow:0 18px 40px #2563eb29;content:"";inset:0;opacity:0;pointer-events:none;position:absolute}.hl--card-clean:after{animation:hl-shadow 8s var(--ease-float) 1.4s infinite}.hl--card-years:after{animation:hl-shadow-inv 9.5s var(--ease-float) 1.9s infinite}.hl--dock:after{animation:hl-shadow 8.5s var(--ease-float) 1.5s infinite}@keyframes hl-shadow{0%,to{opacity:0;transform:translateZ(0)}35%{opacity:.75;transform:translate3d(0,4px,0)}}@keyframes hl-shadow-inv{0%,to{opacity:0;transform:translateZ(0)}40%{opacity:.55;transform:translate3d(0,-3px,0)}}.hl--note{--depth:8;animation:hl-enter-fade .5s var(--ease-soft) .55s backwards}.hl--dock{--depth:10;animation:hl-enter .55s var(--ease-soft) .5s backwards,hl-dock 8.5s var(--ease-float) 1.5s infinite;transform-origin:50% 100%;transition:scale .45s var(--ease-soft)}.hl--dock:hover{scale:1.015}.hl--dock:hover:after{opacity:1;transition:opacity .4s ease}@keyframes hl-dock{0%,to{transform:translateZ(0) rotateX(0)}50%{transform:translate3d(0,-4px,0) rotateX(4deg)}}.dock-item{position:relative;transform:translateY(0) scale(1);transform:translateY(calc((var(--dock-scale, 1) - 1)*-16px)) scale(var(--dock-scale,1));transform-origin:50% 100%;transition:transform .38s var(--ease-spring),filter .3s ease;z-index:1}.dock-item:hover{filter:drop-shadow(0 6px 8px rgba(15,26,77,.22)) drop-shadow(0 0 6px rgba(37,99,235,.18));z-index:2}.stat-card{position:relative;transition:transform .45s var(--ease-soft),border-color .3s ease}.stat-card:after{border-radius:inherit;box-shadow:0 16px 34px #0f1a4d1a;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .45s var(--ease-soft)}.stat-card .icon-tile{transition:transform .5s var(--ease-spring)}.stat-text strong{transform-origin:0 60%;transition:transform .45s var(--ease-spring)}[dir=rtl] .stat-text strong{transform-origin:100% 60%}@media (hover:hover) and (pointer:fine){.stat-card:hover{transform:translate3d(0,-4px,0) scale(1.02)}.stat-card:hover:after{opacity:1}.stat-card:hover .icon-tile{transform:perspective(240px) rotateX(10deg) rotateY(-16deg) translateZ(4px)}.stat-card:hover .stat-text strong{transform:scale(1.06)}}@media (hover:none),(max-width:1023px){.hl{translate:none}.hl--dock:hover{scale:none}}@media (prefers-reduced-motion:reduce){.hero-enter,.hl,.hl--card-clean,.hl--card-years,.hl--code,.hl--dock,.hl--dot-1,.hl--dot-2,.hl--glow-1,.hl--glow-2,.hl--glow-3,.hl--note,.hl--orbit-1,.hl--orbit-2,.hl--portrait{animation:hl-enter-fade .4s ease backwards;translate:none}.badge--available,.badge-dot,.badge-dot:after,.badge-dot:before,.hero-title .gradient-text,.hl--card-clean:after,.hl--card-years:after,.hl--dock:after{animation:none}.badge-dot:after,.badge-dot:before{opacity:0}.dock-item,.hero .social-square,.hero .social-square svg,.hero-buttons .btn svg:last-child,.stat-card,.stat-card .icon-tile,.stat-text strong{transform:none!important;transition:none}.hl--dock:hover{scale:none}}.services-actions{align-items:center;display:flex;gap:10px}.services-track{display:flex;gap:16px;margin:-4px -4px -24px;overflow-x:auto;padding:4px 4px 24px;scroll-snap-type:x mandatory;scrollbar-width:none}.services-track::-webkit-scrollbar{display:none}.service-card{--accent:59,130,246;background:linear-gradient(127deg,rgba(var(--accent),.08) 0,#ffffff14 71%),var(--bg-surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);display:flex;flex:1 0 227px;flex-direction:column;gap:10px;min-height:298px;padding:16px;scroll-snap-align:start;transition:opacity .5s ease,transform .3s ease,box-shadow .3s ease}.service-card.is-visible:hover{box-shadow:0 16px 32px #0f1a4d1a;transform:translateY(-4px)}.service-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2px}.service-icon{background:rgba(var(--accent),.12);border-radius:12px;color:rgb(var(--accent))}.service-ill-box{flex-shrink:0;height:75.6px;position:relative;width:100.8px}.service-ill{display:block;height:75.6px;width:100.8px}.service-ill--mobile{height:71.4px;left:50px;position:absolute;top:0;transform:rotate(14deg);width:39.9px}.service-title{color:var(--text-primary);font-size:15px;font-weight:700;margin:0}.service-description{color:var(--text-secondary);flex:1 1;font-size:12px;line-height:1.5;margin:0}.service-footer{align-items:center;display:flex;gap:8px}.service-tags{display:flex;flex:1 1;flex-wrap:wrap;gap:6px;min-width:0}@media (max-width:640px){.services-actions{display:none}.services-track{flex-direction:column;margin:0;overflow:visible;padding:0}.service-card{flex:none;min-height:0}.service-description{margin-bottom:8px}}.services{--svc-ease:cubic-bezier(0.22,1,0.36,1);--svc-ease-spring:cubic-bezier(0.34,1.36,0.64,1)}.services-track{margin-top:-12px;padding-top:12px}.services.motion-ready .services-track:not(.is-inview) .service-card,.services.motion-ready .svc-header:not(.is-inview) .services-actions,.services.motion-ready .svc-header:not(.is-inview)>.section-header>*{opacity:0}.svc-header.is-inview .section-header>*{animation:svc-rise .4s var(--svc-ease) backwards}.svc-header.is-inview .eyebrow{animation-delay:0ms}.svc-header.is-inview .section-title{animation-delay:60ms}.svc-header.is-inview .section-subtitle{animation-delay:.12s}.svc-header.is-inview .services-actions{animation:svc-pop .3s var(--svc-ease) .16s backwards}.services-track.is-inview .service-card{animation:svc-card-in .45s var(--svc-ease) .18s backwards;animation:svc-card-in .45s var(--svc-ease) calc(.18s + var(--i, 0)*70ms) backwards}@keyframes svc-rise{0%{opacity:0;transform:translate3d(0,12px,0)}}@keyframes svc-pop{0%{opacity:0;transform:scale(.9)}}@keyframes svc-card-in{0%{opacity:0;transform:translate3d(0,20px,0) scale(.97)}}@media (max-width:640px){.services-track{margin-top:0;padding-top:0}.services-track.is-inview .service-card{animation:none}.services.motion-ready .services-track .service-card:not(.is-inview){opacity:0}.services-track .service-card.is-inview{animation:svc-card-in .4s var(--svc-ease) 0ms backwards}}.service-card{transition:transform .5s var(--svc-ease),box-shadow .4s var(--svc-ease),border-color .35s ease}@media (hover:hover){.service-card:hover{border-color:rgba(var(--accent),.35);box-shadow:0 18px 36px #0f1a4d1c;transform:perspective(900px) rotateX(0deg) rotateY(0deg) translate3d(0,-4px,0) scale(1.015);transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translate3d(0,-4px,0) scale(1.015)}}.svc-float{animation:svc-float 4s ease-in-out infinite;transition:scale .5s var(--svc-ease-spring),rotate .5s var(--svc-ease-spring),filter .4s ease}.service-card:first-child .svc-float{animation-delay:-.4s;animation-duration:3.8s}.service-card:nth-child(2) .svc-float{animation-delay:-1.6s;animation-duration:4.4s}.service-card:nth-child(3) .svc-float{animation-delay:-2.7s;animation-duration:4.1s}.service-card:nth-child(4) .svc-float{animation-delay:-.9s;animation-duration:4.8s}.service-card:nth-child(5) .svc-float{animation-delay:-2.1s;animation-duration:3.6s}@keyframes svc-float{0%,to{translate:0 0}50%{translate:0 -4px}}@media (hover:hover){.service-card:hover .svc-float{filter:drop-shadow(0 10px 14px rgba(var(--accent),.22));rotate:-3deg;scale:1.06}}.service-card .tag{transition:transform .3s var(--svc-ease),background-color .25s ease,border-color .25s ease,color .25s ease}@media (hover:hover){.service-card:hover .tag{animation:svc-tag-in .28s var(--svc-ease) backwards}.service-card:hover .tag:nth-child(2){animation-delay:50ms}.service-card:hover .tag:nth-child(3){animation-delay:.1s}.service-card .tag:hover{background-color:rgba(var(--accent),.08);border-color:rgba(var(--accent),.3);color:var(--text-primary);transform:scale(1.04)}}@keyframes svc-tag-in{0%{opacity:.55;transform:translate3d(0,3px,0) scale(.96)}}.services .circle-btn{transition:background-color .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease,transform .35s var(--svc-ease-spring),box-shadow .3s ease}.services .circle-btn svg{transition:transform .35s var(--svc-ease)}@media (hover:hover){.service-card:hover .circle-btn-sm{box-shadow:0 6px 14px rgba(var(--accent),.22);transform:scale(1.08)}.service-card:hover .circle-btn-sm svg{transform:translateX(4px)}[dir=rtl] .service-card:hover .circle-btn-sm svg{transform:scaleX(-1) translateX(4px)}.services-actions .circle-btn:hover:not(:disabled){box-shadow:0 6px 16px #2563eb38;transform:scale(1.07)}.services-actions .circle-btn:first-child:hover:not(:disabled) svg{transform:translateX(-3px)}.services-actions .circle-btn:last-child:hover:not(:disabled) svg{transform:translateX(3px)}[dir=rtl] .services-actions .circle-btn:first-child:hover:not(:disabled) svg{transform:scaleX(-1) translateX(-3px)}[dir=rtl] .services-actions .circle-btn:last-child:hover:not(:disabled) svg{transform:scaleX(-1) translateX(3px)}}.services .circle-btn:active:not(:disabled){transform:scale(.95)}@media (prefers-reduced-motion:reduce){.service-card .tag,.services.motion-ready .service-card,.services.motion-ready .svc-header .services-actions,.services.motion-ready .svc-header>.section-header>*,.svc-float{animation:none!important;opacity:1!important}.service-card,.service-card .tag,.services .circle-btn,.services .circle-btn svg,.svc-float{transition:none}.service-card .tag:hover,.service-card:hover,.service-card:hover .circle-btn-sm svg,.service-card:hover .svc-float,.services .circle-btn,.services .circle-btn:hover,.services-actions .circle-btn:hover svg{rotate:none;scale:none;transform:none}[dir=rtl] .services .circle-btn svg{transform:scaleX(-1)}}.projects{padding-top:24px}.projects-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px 24px}.project-filters{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.filter-chip:hover{border-color:var(--text-muted);color:var(--text-primary)}.filter-chip.active{background:var(--dark-base);border-color:var(--dark-base);color:var(--on-dark)}.projects-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{--accent:37,99,235;background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 24px #0f1a4d0f;display:flex;flex-direction:column;overflow:hidden;transition:opacity .5s ease,transform .3s ease,box-shadow .3s ease}.project-card.is-visible:hover{box-shadow:0 16px 32px #0f1a4d1a;transform:translateY(-4px)}.project-thumb{background:linear-gradient(156deg,rgba(var(--accent),.1) 0,rgba(var(--accent),.28) 71%);border:none;cursor:pointer;display:block;height:170px;overflow:hidden;padding:14px 14px 0;width:100%}.project-thumb img{display:block;filter:drop-shadow(0 8px 14px rgba(15,26,77,.18));height:100%;object-fit:contain;object-position:center bottom;transition:transform .4s ease;width:100%}.project-card:hover .project-thumb img{transform:scale(1.04)}.code-thumb{background:#0f172a;border-radius:10px 10px 0 0;box-shadow:0 8px 14px #0f1a4d2e;height:100%;overflow:hidden;text-align:left;transition:transform .4s ease;width:100%}.project-card:hover .code-thumb{transform:translateY(-3px)}.code-thumb-bar{border-bottom:1px solid #ffffff0f;display:flex;gap:5px;padding:9px 12px}.code-thumb-bar span{background:#334155;border-radius:50%;height:8px;width:8px}.code-thumb-bar span:first-child{background:#f87171}.code-thumb-bar span:nth-child(2){background:#fbbf24}.code-thumb-bar span:last-child{background:#34d399}.code-thumb pre{color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.6;margin:0;padding:10px 14px;white-space:pre}.code-thumb code{display:block;font-family:inherit}.code-thumb--large{height:auto;margin:0 auto;max-width:560px}.code-thumb--large pre{font-size:14px;padding:18px 22px 22px}.tok-annotation{color:#fbbf24}.tok-keyword{color:#c084fc}.tok-type{color:#5eead4}.tok-string{color:#86efac}.tok-comment{color:#64748b;font-style:italic}.project-body{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:10px;padding:16px 18px 18px}.project-category{background:rgba(var(--accent),.1);border-radius:6px;color:rgb(var(--accent));font-size:10px;font-weight:700;padding:4px 8px}.dark-mode .project-category{background:rgba(var(--accent),.2);filter:brightness(1.5)}.project-title-row{align-items:center;display:flex;gap:8px;justify-content:space-between;width:100%}.project-title{color:var(--text-primary);font-size:17px;font-weight:800;margin:0}.project-ext{align-items:center;border:1px solid var(--border);border-radius:8px;color:var(--brand);display:inline-flex;flex-shrink:0;height:28px;justify-content:center;transition:background-color .2s ease,color .2s ease;width:28px}.project-ext:hover{background:var(--brand);border-color:var(--brand);color:#fff}.project-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:12px;line-height:1.5;margin:0 0 auto;overflow:hidden}.project-footer{align-items:center;display:flex;gap:8px;justify-content:space-between;width:100%}.project-tags{display:flex;gap:6px;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000);min-width:0;overflow:hidden}[dir=rtl] .project-tags{-webkit-mask-image:linear-gradient(270deg,#000 85%,#0000);mask-image:linear-gradient(270deg,#000 85%,#0000)}.project-view{flex-shrink:0;font-size:12px}.modal-backdrop{align-items:center;animation:fade-in .2s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#0a112899;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:200}@keyframes fade-in{0%{opacity:0}}.modal-panel{border-radius:20px;box-shadow:0 24px 60px #0000004d;max-height:calc(100vh - 48px);max-width:760px;overflow-y:auto;position:relative;width:100%}.modal-close,.modal-panel{background:var(--bg-surface);color:var(--text-primary)}.modal-close{align-items:center;border:1px solid var(--border);border-radius:999px;cursor:pointer;display:flex;height:36px;inset-inline-end:14px;justify-content:center;position:absolute;top:14px;width:36px;z-index:2}.modal-media{--accent:37,99,235;background:linear-gradient(156deg,rgba(var(--accent),.1) 0,rgba(var(--accent),.28) 71%);padding:20px 20px 0}.modal-media .carousel-container{height:320px}.modal-body{align-items:flex-start;display:flex;flex-direction:column;gap:16px;padding:24px 28px 28px}.modal-title{font-size:26px;font-weight:800;letter-spacing:-.5px;margin:0}.modal-subtitle{color:var(--text-secondary);font-size:14px;margin:-10px 0 0}.modal-meta{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);width:100%}.modal-meta div{background:var(--bg-soft);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:12px 14px}.modal-meta span{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}.modal-meta strong{font-size:13px;font-weight:700}.status--completed{color:#16a34a}.status--in-progress{color:#2563eb}.status--paused{color:#d97706}.modal-description{color:var(--text-secondary);font-size:14px;line-height:1.65;margin:0}.modal-description h4,.modal-tech h4{color:var(--text-primary);font-size:13px;font-weight:700;margin:0 0 8px}.modal-description ul{margin:0 0 14px;padding-inline-start:18px}.modal-description li{margin-bottom:4px}.modal-tech{width:100%}.modal-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tag--brand{background:var(--brand-soft);border-color:#0000;color:var(--brand);font-weight:600}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.projects-grid{grid-template-columns:minmax(0,1fr)}.modal-backdrop{align-items:flex-end;padding:0}.modal-panel{border-radius:20px 20px 0 0;max-height:92vh}.modal-media .carousel-container{height:240px}.modal-body{padding:20px}.modal-meta{grid-template-columns:1fr}}.projects{--pj-ease:cubic-bezier(0.22,1,0.36,1)}.projects.motion-ready .pj-header:not(.is-inview) .filter-chip,.projects.motion-ready .pj-header:not(.is-inview) .projects-controls>.text-link,.projects.motion-ready .pj-header:not(.is-inview) .section-header>*,.projects.motion-ready .projects-grid:not(.is-inview) .project-card{opacity:0}.pj-header.is-inview .eyebrow{animation:pj-rise .3s var(--pj-ease) 0ms backwards}.pj-header.is-inview .section-title{animation:pj-rise .38s var(--pj-ease) 50ms backwards}.pj-header.is-inview .section-subtitle{animation:pj-rise .3s var(--pj-ease) .11s backwards}.pj-header.is-inview .filter-chip{animation:pj-pop .28s var(--pj-ease) backwards}.pj-header.is-inview .filter-chip:first-child{animation-delay:.14s}.pj-header.is-inview .filter-chip:nth-child(2){animation-delay:.17s}.pj-header.is-inview .filter-chip:nth-child(3){animation-delay:.2s}.pj-header.is-inview .filter-chip:nth-child(4){animation-delay:.23s}.pj-header.is-inview .filter-chip:nth-child(5){animation-delay:.26s}.pj-header.is-inview .filter-chip:nth-child(n+6){animation-delay:.29s}.pj-header.is-inview .projects-controls>.text-link{animation:pj-fade .3s ease .3s backwards}.projects-grid.is-inview .project-card{animation:pj-card-in .38s var(--pj-ease) .12s backwards;animation:pj-card-in .38s var(--pj-ease) calc(.12s + var(--i, 0)*80ms) backwards}@keyframes pj-rise{0%{opacity:0;transform:translate3d(0,8px,0)}}@keyframes pj-pop{0%{opacity:0;transform:scale(.96)}}@keyframes pj-fade{0%{opacity:0}}@keyframes pj-card-in{0%{opacity:0;transform:translate3d(0,20px,0) scale(.98)}}.projects-grid[data-leaving] .project-card{opacity:0;pointer-events:none;transform:scale(.98);transition:opacity .13s ease-in,transform .13s ease-in}.projects-grid[data-swapped].is-inview .project-card{animation:pj-swap-in .26s var(--pj-ease) 0ms backwards;animation:pj-swap-in .26s var(--pj-ease) calc(var(--i, 0)*30ms) backwards}@keyframes pj-swap-in{0%{opacity:0;transform:translate3d(0,8px,0) scale(.98)}}.filter-chip{transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .22s var(--pj-ease),box-shadow .25s ease}.pj-header.is-inview .filter-chip.active{animation:pj-pop .28s var(--pj-ease) backwards,pj-chip-select .26s var(--pj-ease)}@keyframes pj-chip-select{0%{transform:scale(.94)}}.filter-chip:active{transform:scale(.97)}.project-card{transition:transform .4s var(--pj-ease),box-shadow .35s var(--pj-ease),border-color .3s ease}.project-thumb{position:relative}.project-thumb img{opacity:0;transition:transform .38s var(--pj-ease),opacity .35s ease}.project-thumb img.is-loaded{opacity:1}.code-thumb{transition:transform .38s var(--pj-ease)}.project-thumb-overlay{align-items:center;background:linear-gradient(180deg,#0f1a4d00 30%,rgba(var(--accent),.16) 100%);display:flex;inset:0;justify-content:center;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s ease}.project-thumb-icon{align-items:center;background:#ffffffeb;border-radius:999px;box-shadow:0 6px 16px #0f1a4d2e;color:rgb(var(--accent));display:inline-flex;height:34px;justify-content:center;transform:scale(.85);transition:transform .3s var(--pj-ease);width:34px}.project-ext{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s var(--pj-ease)}.project-ext svg{transition:transform .2s var(--pj-ease)}.project-tags .tag{transition:transform .2s var(--pj-ease),background-color .2s ease,border-color .2s ease,color .2s ease}.projects .text-link{transition:color .2s ease,opacity .2s ease}.projects .text-link svg{transition:transform .22s var(--pj-ease)}@media (hover:hover){.project-card:hover{border-color:rgba(var(--accent),.28);box-shadow:0 18px 36px #0f1a4d1f;transform:perspective(1000px) rotateX(0deg) rotateY(0deg) translate3d(0,-4px,0) scale(1.01);transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translate3d(0,-4px,0) scale(1.01)}.project-card:hover .project-thumb img{transform:scale(1.04)}.project-thumb:hover .project-thumb-overlay{opacity:1}.project-thumb:hover .project-thumb-icon{transform:scale(1)}.project-ext:hover{transform:translate3d(0,-1px,0) scale(1.05)}.project-ext:hover svg{transform:translate(2px,-2px)}[dir=rtl] .project-ext:hover svg{transform:translate(-2px,-2px)}.project-tags .tag:hover{background-color:rgba(var(--accent),.08);border-color:rgba(var(--accent),.3);color:var(--text-primary);transform:scale(1.03)}.projects .text-link:hover{color:var(--brand)}.projects .text-link:hover svg{transform:translateX(5px)}[dir=rtl] .projects .text-link:hover svg{transform:scaleX(-1) translateX(5px)}.filter-chip:hover:not(.active){transform:translate3d(0,-1px,0) scale(1.03)}}@media (hover:none){.project-thumb:active .project-thumb-overlay{opacity:1}.project-thumb:active .project-thumb-icon{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.filter-chip,.pj-header .section-header>*,.project-card,.projects-controls>.text-link{animation:none!important;opacity:1!important}.projects-grid[data-leaving] .project-card{opacity:1;transform:none;transition:none}.code-thumb,.filter-chip,.project-card,.project-ext,.project-ext svg,.project-tags .tag,.project-thumb img,.project-thumb-icon,.projects .text-link svg{transition-property:opacity,color,background-color,border-color}.filter-chip:active,.filter-chip:hover,.project-card:hover,.project-card:hover .code-thumb,.project-card:hover .project-thumb img,.project-ext:hover,.project-ext:hover svg,.project-tags .tag:hover,.project-thumb-icon,.projects .text-link:hover svg{transform:none!important}[dir=rtl] .projects .text-link svg{transform:scaleX(-1)!important}}.carousel-container{height:256px;overflow:hidden;position:relative;width:100%}.carousel-slides{bottom:0;display:flex;left:0;position:absolute;right:0;top:0;transition:transform .3s ease-in-out}.carousel-slide{flex-shrink:0;height:100%;object-fit:contain;width:100%}.carousel-button{align-items:center;background:#00000080;border:none;border-radius:9999px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .3s}.carousel-button:hover{background:#000000b3}.carousel-button-previous{left:.5rem}.carousel-button-next{right:.5rem}.carousel-dots{bottom:.5rem;display:flex;gap:.5rem;left:50%;position:absolute;transform:translateX(-50%)}.carousel-dot{background:#ffffff80;border:none;border-radius:9999px;cursor:pointer;height:.5rem;padding:0;transition:background-color .3s;width:.5rem}.carousel-dot.active{background:#fff}.about{padding-top:32px}.about-content{align-items:center;display:flex;gap:32px}.about-text{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:16px;min-width:0}.about-bio{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0}.about-visual{flex:0 1 400px;max-width:400px;position:relative;width:100%}.about-artboard{height:300px;left:0;position:absolute;top:0;transform-origin:top left;width:400px}.about-artboard .abs,.about-artboard .deco{margin:0;position:absolute}.about-artboard .deco{opacity:var(--deco-opacity)}.quote-card{background:var(--bg-surface);border-radius:18px;box-shadow:0 14px 36px #0f1a4d1a;color:var(--text-primary);display:flex;flex-direction:column;font-size:16px;font-weight:500;gap:6px;line-height:1.35;padding:22px 24px;white-space:nowrap}.quote-mark{color:var(--brand);font-size:50px;font-weight:800;height:28px;line-height:50px}.signature{color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-signature);font-size:34px;line-height:1;transform:rotate(-1.4deg);white-space:nowrap}.signature-last{padding-left:34px}.about-cards{display:flex;flex:1 1;flex-direction:column;gap:14px;min-width:0}.about-card{align-items:flex-start;background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);color:inherit;display:flex;gap:16px;padding:20px;text-decoration:none;transition:opacity .5s ease,transform .3s ease,box-shadow .3s ease,border-color .3s ease}.about-card.is-visible:hover{border-color:var(--brand);transform:translateY(-3px)}.about-card-icon{align-items:center;border-radius:14px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.dark-mode .about-card-icon{filter:saturate(.9) brightness(.9)}.about-card-text{display:flex;flex:1 1;flex-direction:column;gap:6px}.about-card-text strong{color:var(--text-primary);font-size:15px;font-weight:700}.about-card-text span{color:var(--text-secondary);font-size:13px;line-height:1.55}.about-card-arrow{color:var(--brand);flex-shrink:0}@media (max-width:1024px){.about-content{align-items:stretch;flex-direction:column;gap:28px}.about-visual{flex:none;margin:0 auto}}.about{--ab-ease:cubic-bezier(0.22,1,0.36,1);--ab-ease-spring:cubic-bezier(0.34,1.36,0.64,1);--ab-ease-float:cubic-bezier(0.45,0,0.55,1);--ab-pfx:1;--ab-cards-delay:300ms}@media (max-width:1023px){.about{--ab-pfx:0.5}}@media (max-width:1024px){.about{--ab-cards-delay:0ms}}.about.motion-ready .about-cards:not(.is-inview) .about-card,.about.motion-ready .about-text:not(.is-inview) .about-bio,.about.motion-ready .about-text:not(.is-inview) .about-title-line,.about.motion-ready .about-text:not(.is-inview) .btn,.about.motion-ready .about-text:not(.is-inview) .eyebrow,.about.motion-ready .about-visual:not(.is-inview) .al,.about.motion-ready .about-visual:not(.is-inview) .signature>span{opacity:0}.about-title-line{display:block}.about-text.is-inview .eyebrow{animation:ab-rise .25s var(--ab-ease) 0ms backwards}.about-text.is-inview .about-title-line{animation:ab-focus .4s var(--ab-ease) 60ms backwards}.about-text.is-inview .about-title-line+.about-title-line{animation-delay:.12s}.about-text.is-inview .about-bio{animation:ab-rise .3s var(--ab-ease) .2s backwards}.about-text.is-inview .btn{animation:ab-pop .25s var(--ab-ease) .27s backwards}@keyframes ab-rise{0%{opacity:0;transform:translate3d(0,10px,0)}}@keyframes ab-focus{0%{filter:blur(4px);opacity:0;transform:translate3d(0,8px,0)}}@keyframes ab-pop{0%{opacity:0;transform:scale(.97)}}.about-text .btn svg{transition:transform .3s var(--ab-ease)}@media (hover:hover){.about-text .btn:hover{box-shadow:0 12px 20px #0f1a4d38}.about-text .btn:hover svg{transform:translateX(4px)}[dir=rtl] .about-text .btn:hover svg{transform:scaleX(-1) translateX(4px)}}.about-artboard{perspective:900px}.al{--depth:0;translate:calc(var(--depth)*0*var(--ab-pfx)*1px) calc(var(--depth)*0*var(--ab-pfx)*1px);translate:calc(var(--px, 0)*var(--depth)*var(--ab-pfx)*1px) calc(var(--py, 0)*var(--depth)*var(--ab-pfx)*1px)}.al--glow-1{--depth:3}.al--glow-2{--depth:4}.al--glow-3{--depth:3.5}.about-visual.is-inview .al--glow-1{animation:ab-fade .5s ease 0ms backwards,ab-glow-a 16s var(--ab-ease-float) .6s infinite}.about-visual.is-inview .al--glow-2{animation:ab-fade .5s ease 50ms backwards,ab-glow-b 13s var(--ab-ease-float) .65s infinite}.about-visual.is-inview .al--glow-3{animation:ab-fade .5s ease .1s backwards,ab-glow-c 11s var(--ab-ease-float) .7s infinite}@keyframes ab-fade{0%{opacity:0}}@keyframes ab-glow-a{0%,to{opacity:var(--deco-opacity);transform:translateZ(0) scale(1)}50%{opacity:calc(var(--deco-opacity)*.86);transform:translate3d(-5px,-4px,0) scale(1.035)}}@keyframes ab-glow-b{0%,to{opacity:var(--deco-opacity);transform:translateZ(0) scale(1)}50%{opacity:calc(var(--deco-opacity)*.9);transform:translate3d(5px,4px,0) scale(1.045)}}@keyframes ab-glow-c{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(3px,-5px,0) scale(1.05)}}.al--portrait{--depth:6;transform-origin:50% 100%}.about-visual.is-inview .al--portrait{animation:ab-portrait-in .5s var(--ab-ease) 0ms backwards,ab-float 5.2s var(--ab-ease-float) .5s infinite}@keyframes ab-portrait-in{0%{filter:blur(4px);opacity:0;transform:scale(.96)}}@keyframes ab-float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-4px,0)}}.al--quote{--depth:10;rotate:0 0 1 0deg;rotate:var(--tilt-rotate,0 0 1 0deg);transition:rotate .5s var(--ab-ease),box-shadow .4s var(--ab-ease)}.about-visual.is-inview .al--quote{animation:ab-quote-in .35s var(--ab-ease) 60ms backwards,ab-float-quote 6s var(--ab-ease-float) .41s infinite}@media (hover:hover){.al--quote:hover{box-shadow:0 18px 40px #0f1a4d21}}@keyframes ab-quote-in{0%{opacity:0;transform:translate3d(0,8px,0) scale(.96)}}@keyframes ab-float-quote{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-3px,0)}}.al--signature{--depth:4}.signature>span{margin-block:-.3em;margin-inline-end:-.45em;padding-block:.3em;padding-inline-end:.45em}.signature-first{margin-left:-.3em;padding-left:.3em}.signature .signature-last{margin-left:-.3em;padding-left:calc(34px + .3em)}.about-visual.is-inview .signature-first{animation:ab-write .33s cubic-bezier(.3,.2,.3,1) .5s backwards,ab-ink-settle .4s ease-out .5s backwards}.about-visual.is-inview .signature-last{animation:ab-write .39s cubic-bezier(.25,.4,.3,1) .81s backwards,ab-ink-settle .39s ease-out .81s backwards}@keyframes ab-write{0%{-webkit-mask-image:linear-gradient(100deg,#000 46%,#0000 52%);mask-image:linear-gradient(100deg,#000 46%,#0000 52%);-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:260% 100%;mask-size:260% 100%}to{-webkit-mask-image:linear-gradient(100deg,#000 46%,#0000 52%);mask-image:linear-gradient(100deg,#000 46%,#0000 52%);-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:260% 100%;mask-size:260% 100%}}@keyframes ab-ink-settle{0%{opacity:.82}}.about-cards{--ab-from:20px}[dir=rtl] .about-cards{--ab-from:-20px}.about-cards.is-inview .about-card{animation:ab-slide .3s var(--ab-ease) var(--ab-cards-delay) backwards}.about-cards.is-inview .about-card+.about-card{animation-delay:calc(var(--ab-cards-delay) + 70ms)}@keyframes ab-slide{0%{opacity:0;transform:translate3d(var(--ab-from),0,0)}}.about-card{transition:transform .5s var(--ab-ease),box-shadow .4s var(--ab-ease),border-color .3s ease}.about-card-arrow,.about-card-icon,.about-card-icon svg{transition:transform .45s var(--ab-ease-spring),filter .35s ease}@media (hover:hover){.about-card:hover{border-color:var(--brand);box-shadow:0 16px 34px #0f1a4d1a;transform:perspective(900px) rotateX(0deg) rotateY(0deg) translate3d(0,-3px,0) scale(1.01);transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translate3d(0,-3px,0) scale(1.01)}.about-card:hover .about-card-icon{transform:scale(1.06) rotate(-4deg)}.about-card:hover .about-card-arrow{transform:translateX(4px)}[dir=rtl] .about-card:hover .about-card-arrow{transform:scaleX(-1) translateX(4px)}.about-card--drives:hover .about-card-icon svg{filter:drop-shadow(0 0 6px rgba(245,158,11,.55));transform:rotate(-10deg) scale(1.08)}.about-card--approach:hover .about-card-icon svg{transform:rotate(18deg) scale(1.08)}}@media (hover:none){.al{translate:none}.al--quote{rotate:none}}@media (prefers-reduced-motion:reduce){.about .eyebrow,.about-bio,.about-card,.about-text .btn,.about-title-line,.al,.signature>span{animation:none!important;opacity:1!important}.al--glow-1,.al--glow-2,.al--glow-3{opacity:var(--deco-opacity)!important}.al{translate:none}.al--quote{rotate:none}.about-card,.about-card-arrow,.about-card-icon,.about-card-icon svg,.about-text .btn svg,.al--quote{transition:none}.about-card:hover,.about-card:hover .about-card-arrow,.about-card:hover .about-card-icon,.about-card:hover .about-card-icon svg,.about-text .btn:hover svg{transform:none}[dir=rtl] .about-card:hover .about-card-arrow,[dir=rtl] .about-text .btn:hover svg{transform:scaleX(-1)}}.resume{padding-bottom:72px;padding-top:32px}.resume-grid{grid-gap:48px;align-items:start;display:grid;gap:48px;grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-column{display:flex;flex-direction:column;gap:20px;min-width:0;scroll-margin-top:96px}.timeline-heading{font-size:26px;letter-spacing:-.52px}.timeline{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.timeline--spaced{gap:24px}.timeline-item{align-items:flex-start;display:flex;gap:16px}.timeline-rail{align-items:center;align-self:stretch;display:flex;flex-direction:column;flex-shrink:0;padding-top:4px}.timeline-dot{background:var(--brand);border-radius:50%;box-shadow:0 0 0 3px var(--brand-soft);flex-shrink:0;height:12px;width:12px}.timeline-line{background:var(--border);flex:1 1;width:2px}.timeline-item:last-child .timeline-line{background:linear-gradient(var(--border),#0000)}.timeline-logo{align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-shrink:0;height:56px;justify-content:center;overflow:hidden;padding:8px;width:56px}.timeline-logo img{height:100%;object-fit:contain;width:100%}.timeline-logo--wide{padding:6px}.timeline-logo--icon{background:var(--bg-surface);color:var(--brand)}.logo-badge{background:#0a1128;border-radius:2px;color:#fff;font-size:10px;font-weight:800;letter-spacing:-.2px;padding:3px 5px}.timeline-content{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.timeline--rail .timeline-content{padding-bottom:24px}.timeline-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.timeline-title{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.4;margin:0}.timeline-date{color:var(--text-muted);font-size:11px;font-weight:500;white-space:nowrap}.timeline-org{color:var(--brand);font-size:12px;font-weight:600;margin:0}.timeline-bullets{color:var(--text-secondary);font-size:12px;line-height:1.7;list-style:none;margin:0;padding:0}.timeline-bullets li{padding-inline-start:14px;position:relative}.timeline-bullets li:before{content:"•";inset-inline-start:2px;position:absolute}@media (max-width:900px){.resume-grid{gap:40px;grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.resume{padding-bottom:48px}}.blog-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.blog-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:10px;padding:20px;transition:opacity .5s ease,transform .3s ease,border-color .3s ease}.blog-card.is-visible:hover{border-color:var(--brand);transform:translateY(-4px)}.blog-meta{color:var(--text-muted);font-size:11px;font-weight:500;margin:0}.blog-card-title{color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.4;margin:0}.blog-card-summary{color:var(--text-secondary);flex:1 1;font-size:12px;line-height:1.6;margin:0}.blog-card-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}.blog-tags{display:flex;gap:6px;min-width:0;overflow:hidden}@media (max-width:1024px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.blog-grid{grid-template-columns:minmax(0,1fr)}}.cta{background:linear-gradient(90deg,#0a1128,#101c45 50%,#0a1128);border-radius:48px 48px 0 0;color:#fff;overflow:hidden;padding:82px var(--gutter) 56px;position:relative;scroll-margin-top:72px}.cta-glow{pointer-events:none;position:absolute}.cta-glow--1{height:420px;left:-120px;top:-140px;width:420px}.cta-glow--2{height:360px;right:-140px;top:60px;width:360px}.cta-content{align-items:center;display:flex;gap:40px;padding-inline-end:240px;position:relative}.cta-text{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:12px;min-width:0}.cta-eyebrow{background:#ffffff14;border:1px solid #ffffff1f;border-radius:6px;color:#c7d2fe;font-size:10px;font-weight:700;letter-spacing:1.4px;padding:5px 10px;text-transform:uppercase}.cta-title{font-size:36px;font-weight:800;letter-spacing:-.72px;line-height:1.15;margin:0}.cta-subtitle{color:#ffffffb3;font-size:15px;line-height:1.5;margin:0}.cta-buttons{display:flex;flex-wrap:wrap;gap:12px}.paper-plane{height:200px;pointer-events:none;right:72px;top:-24px;transform:rotate(5.47deg);width:250px}.paper-plane,.paper-plane img,.plane-note{position:absolute}.plane-note{color:#ffffffd9;display:flex;flex-direction:column;font-family:var(--font-hand);font-size:22px;font-weight:700;left:170px;line-height:.95;margin:0;top:118px;transform:rotate(8deg);white-space:nowrap}.contact-panel{max-width:560px}.contact-form{align-items:flex-start;display:flex;flex-direction:column;gap:14px;padding:28px}.contact-intro{margin:-6px 0 0}.contact-direct{display:flex;flex-wrap:wrap;gap:8px 16px}.contact-direct a{align-items:center;color:var(--brand);display:inline-flex;font-size:13px;font-weight:600;gap:6px;text-decoration:none}.contact-direct a:hover{text-decoration:underline}.form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;width:100%}.form-field{color:var(--text-primary);display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:6px;width:100%}.form-field input,.form-field textarea{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font:inherit;font-size:14px;font-weight:400;padding:11px 14px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-muted)}.form-field input:focus,.form-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.contact-form .btn{margin-top:4px}.contact-form .btn:disabled{cursor:progress;opacity:.7}.form-feedback{border-radius:10px;font-size:13px;font-weight:600;padding:10px 14px;width:100%}.form-feedback.success{background:#e8f8ee;color:#15803d}.form-feedback.error{background:#fdecec;color:#b91c1c}.form-note{color:var(--text-muted);font-size:12px;margin:0}@media (max-width:1100px){.cta-content{align-items:flex-start;flex-direction:column;gap:28px;padding-inline-end:0}.paper-plane{opacity:.6;right:0}}@media (max-width:640px){.cta{border-radius:32px 32px 0 0;padding-top:64px}.cta-title{font-size:28px}.cta-buttons{width:100%}.cta-buttons .btn{flex:1 1;justify-content:center}.paper-plane{transform:rotate(5.47deg) scale(.6);transform-origin:top right}.form-row{grid-template-columns:1fr}.contact-form{padding:22px 20px}}.cta{--cta-ease:cubic-bezier(0.22,1,0.36,1);--cta-ease-float:cubic-bezier(0.45,0,0.55,1)}.cta.motion-ready .cta-content:not(.is-inview) .cta-buttons .btn,.cta.motion-ready .cta-content:not(.is-inview) .cta-eyebrow,.cta.motion-ready .cta-content:not(.is-inview) .cta-subtitle,.cta.motion-ready .cta-content:not(.is-inview) .cta-title,.cta.motion-ready .paper-plane:not(.is-inview) .cta-dot,.cta.motion-ready .paper-plane:not(.is-inview) .cta-plane,.cta.motion-ready .paper-plane:not(.is-inview) .plane-note>span{opacity:0}.cta-content.is-inview .cta-eyebrow{animation:cta-pop .26s var(--cta-ease) 0ms backwards}.cta-content.is-inview .cta-title{animation:cta-rise .4s var(--cta-ease) 60ms backwards}.cta-content.is-inview .cta-subtitle{animation:cta-rise .3s var(--cta-ease) .14s backwards}.cta-content.is-inview .cta-buttons .btn{animation:cta-pop .3s var(--cta-ease) .2s backwards}.cta-content.is-inview .cta-buttons .btn+.btn{animation-delay:.26s}@keyframes cta-rise{0%{opacity:0;transform:translate3d(0,8px,0)}}@keyframes cta-pop{0%{opacity:0;transform:scale(.97)}}.cta-eyebrow{overflow:hidden;position:relative;transition:transform .3s var(--cta-ease),background-color .25s ease,border-color .25s ease,box-shadow .3s ease,color .25s ease}.cta-eyebrow:after{background:linear-gradient(105deg,#0000 30%,#c7d2fe47 50%,#0000 70%);content:"";inset:-1px;pointer-events:none;position:absolute;transform:translateX(-110%)}.cta-content.is-inview .cta-eyebrow:after{animation:cta-sweep 7s ease-in-out .6s infinite}@keyframes cta-sweep{0%{transform:translateX(-110%)}14%,to{transform:translateX(110%)}}@media (hover:hover){.cta-eyebrow:hover{background-color:#ffffff1f;border-color:#a5b4fc73;box-shadow:0 0 0 3px #6366f11f,0 0 14px #6366f138;color:#e0e7ff;transform:scale(1.03)}}.cta-buttons .btn{transition:transform .16s ease-out,box-shadow .25s ease,background-color .2s ease,border-color .2s ease,filter .2s ease}.cta-buttons .btn svg{transition:transform .3s var(--cta-ease)}@media (hover:hover){.cta-buttons .btn:hover{transform:translate3d(0,-2px,0)}.cta-buttons .btn-blue:hover{box-shadow:0 14px 20px #0f1a4d59,0 0 0 1px #93c5fd26;filter:brightness(1.06)}.cta-buttons .btn-outline-light:hover{border-color:#fff9;box-shadow:0 10px 18px #00000040}.cta-buttons .btn:hover svg:last-child{transform:translateX(4px)}[dir=rtl] .cta-buttons .btn:hover svg:last-child{transform:scaleX(-1) translateX(4px)}.cta-buttons .btn-outline-light:hover svg:first-child{transform:scale(1.1) rotate(-8deg)}}.cta-buttons .btn:active{transform:scale(.98);transition-duration:.12s}@media (hover:hover){.cta-buttons .btn:hover:active{transform:translate3d(0,-2px,0) scale(.98)}}.cta-glow--1{animation:cta-glow-a 22s var(--cta-ease-float) infinite}.cta-glow--2{animation:cta-glow-b 26s var(--cta-ease-float) -8s infinite}@keyframes cta-glow-a{0%,to{opacity:1;transform:translateZ(0) scale(1)}50%{opacity:.85;transform:translate3d(24px,14px,0) scale(1.06)}}@keyframes cta-glow-b{0%,to{opacity:1;transform:translateZ(0) scale(1)}50%{opacity:.8;transform:translate3d(-20px,-12px,0) scale(1.05)}}.paper-plane{translate:0 0;translate:calc(var(--px, 0)*6px) calc(var(--py, 0)*4px)}.paper-plane .cta-trail{display:block;position:absolute}.cta-trail-draw{stroke-dasharray:1 1;stroke-dashoffset:0}.cta.motion-ready .paper-plane:not(.is-inview) .cta-trail-draw{stroke-dashoffset:1}.paper-plane.is-inview .cta-trail-draw{animation:cta-draw .8s cubic-bezier(.33,.1,.25,1) 80ms backwards}@keyframes cta-draw{0%{stroke-dashoffset:1}}.cta-trail-glint{opacity:.85}.cta-trail-light{stroke-dasharray:.14 2;stroke-dashoffset:.14}.paper-plane.is-inview .cta-trail-light{animation:cta-glint 5s ease-in-out 1.6s infinite}@keyframes cta-glint{0%{stroke-dashoffset:.14}32%,to{stroke-dashoffset:-1}}.cta-dot{filter:drop-shadow(0 0 5px rgba(59,130,246,.35))}.paper-plane.is-inview .cta-dot{animation:cta-dot-in .4s var(--cta-ease) .12s backwards,cta-dot-pulse 2.6s var(--cta-ease-float) .52s infinite}@keyframes cta-dot-in{0%{opacity:0;transform:scale(.4)}}@keyframes cta-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.82;transform:scale(1.12)}}.cta-plane{transform-origin:40% 50%}.paper-plane.is-inview .cta-plane{animation:cta-plane-in .52s var(--cta-ease) .42s backwards,cta-fly 6.5s var(--cta-ease-float) .94s infinite}@keyframes cta-plane-in{0%{opacity:0;transform:translate3d(-26px,16px,0) rotate(-7deg) scale(.96)}}@keyframes cta-fly{0%,to{transform:translateZ(0) rotate(0deg)}25%{transform:translate3d(4px,-4px,0) rotate(-2deg)}50%{transform:translate3d(7px,0,0) rotate(.5deg)}75%{transform:translate3d(3px,4px,0) rotate(2deg)}}@keyframes cta-fly-sm{0%,to{transform:translateZ(0) rotate(0deg)}25%{transform:translate3d(2px,-2px,0) rotate(-1deg)}50%{transform:translate3d(4px,0,0) rotate(.3deg)}75%{transform:translate3d(2px,2px,0) rotate(1deg)}}.plane-note>span{margin-block:-.15em;margin-inline:-.15em;padding-block:.15em;padding-inline:.15em}.paper-plane.is-inview .plane-note>span{animation:cta-ink .26s cubic-bezier(.3,.2,.3,1) backwards}.paper-plane.is-inview .plane-note>span:first-child{animation-delay:.44s}.paper-plane.is-inview .plane-note>span:nth-child(2){animation-delay:.52s}.paper-plane.is-inview .plane-note>span:nth-child(3){animation-delay:.6s}.paper-plane.is-inview .plane-note>span:nth-child(4){animation-delay:.68s}@keyframes cta-ink{0%{-webkit-mask-image:linear-gradient(100deg,#000 45%,#0000 55%);mask-image:linear-gradient(100deg,#000 45%,#0000 55%);-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:250% 100%;mask-size:250% 100%}to{-webkit-mask-image:linear-gradient(100deg,#000 45%,#0000 55%);mask-image:linear-gradient(100deg,#000 45%,#0000 55%);-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:250% 100%;mask-size:250% 100%}}@media (max-width:1100px){.paper-plane.is-inview .cta-plane{animation:cta-plane-in .52s var(--cta-ease) .42s backwards,cta-fly-sm 6.5s var(--cta-ease-float) .94s infinite}}@media (hover:none),(max-width:1023px){.paper-plane{translate:none}}@media (prefers-reduced-motion:reduce){.cta-buttons .btn,.cta-dot,.cta-eyebrow,.cta-eyebrow:after,.cta-glow,.cta-plane,.cta-subtitle,.cta-title,.cta-trail-draw,.cta-trail-light,.plane-note>span{animation:none!important;opacity:1!important}.cta-trail-draw{stroke-dashoffset:0!important}.cta-eyebrow:after,.cta-trail-glint{display:none}.paper-plane{translate:none}.cta-buttons .btn,.cta-buttons .btn svg,.cta-eyebrow{transition:none}.cta-buttons .btn:active,.cta-buttons .btn:hover,.cta-buttons .btn:hover svg,.cta-eyebrow:hover{transform:none}[dir=rtl] .cta-buttons .btn:hover svg:last-child{transform:scaleX(-1)}}.footer{background:var(--bg-surface);border-top:1px solid var(--border);padding:28px var(--gutter)}.footer-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px 32px;justify-content:space-between}.footer .brand-mark{font-size:24px;letter-spacing:-1.44px}.footer .brand-name{font-size:12px}.footer-links{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:center}.footer-links a{color:var(--text-secondary);font-size:12px;font-weight:500;text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--brand)}.footer-socials{display:flex;gap:10px}.footer-social{align-items:center;background:var(--bg-soft);border-radius:999px;color:var(--text-primary);display:inline-flex;height:34px;justify-content:center;transition:background-color .2s ease,color .2s ease;width:34px}.footer-social:hover{background:var(--brand);color:#fff}.footer-copy{color:var(--text-muted);font-size:11px;margin:0}@media (max-width:1100px){.footer-content{flex-direction:column;text-align:center}}.footer{--ft-ease:cubic-bezier(0.22,1,0.36,1);--ft-lift:-2px;position:relative}.footer-line{display:none}.footer.motion-ready{border-top-color:#0000}.footer.motion-ready .footer-line{background:var(--border);display:block;height:1px;left:0;pointer-events:none;position:absolute;right:0;top:-1px;transform:scaleX(0)}.footer.motion-ready .footer-line.is-inview{transform:scaleX(1);transition:transform .45s var(--ft-ease)}.footer.motion-ready .footer-content:not(.is-inview) .brand-logo,.footer.motion-ready .footer-content:not(.is-inview) .footer-copy,.footer.motion-ready .footer-content:not(.is-inview) .footer-links a,.footer.motion-ready .footer-content:not(.is-inview) .footer-social{opacity:0}.footer-content.is-inview .brand-mark{animation:ft-rise .32s var(--ft-ease) 0ms backwards}.footer-content.is-inview .brand-name{animation:ft-rise .32s var(--ft-ease) 60ms backwards}.footer-content.is-inview .footer-links a{animation:ft-rise .3s var(--ft-ease) backwards}.footer-content.is-inview .footer-links a:first-child{animation-delay:80ms}.footer-content.is-inview .footer-links a:nth-child(2){animation-delay:.11s}.footer-content.is-inview .footer-links a:nth-child(3){animation-delay:.14s}.footer-content.is-inview .footer-links a:nth-child(4){animation-delay:.17s}.footer-content.is-inview .footer-links a:nth-child(5){animation-delay:.2s}.footer-content.is-inview .footer-links a:nth-child(6){animation-delay:.23s}.footer-content.is-inview .footer-links a:nth-child(n+7){animation-delay:.26s}.footer-content.is-inview .footer-social{animation:ft-pop .3s var(--ft-ease) backwards}.footer-content.is-inview .footer-social:first-child{animation-delay:.16s}.footer-content.is-inview .footer-social:nth-child(2){animation-delay:.21s}.footer-content.is-inview .footer-social:nth-child(3){animation-delay:.26s}.footer-content.is-inview .footer-social:nth-child(n+4){animation-delay:.31s}.footer-content.is-inview .footer-copy{animation:ft-fade .35s ease .26s backwards}@keyframes ft-rise{0%{opacity:0;transform:translate3d(0,6px,0)}}@keyframes ft-pop{0%{opacity:0;transform:scale(.9)}}@keyframes ft-fade{0%{opacity:0}}.footer .brand-mark,.footer .brand-name strong{transition:transform .25s var(--ft-ease),filter .25s ease,color .25s ease}.footer-links a{position:relative;transition:color .22s ease,transform .22s var(--ft-ease)}.footer-links a:after{background:currentColor;border-radius:1px;bottom:-3px;content:"";height:1px;left:0;opacity:.6;position:absolute;right:0;transform:scaleX(0);transform-origin:left center;transition:transform .24s var(--ft-ease)}[dir=rtl] .footer-links a:after{transform-origin:right center}.footer-social{transition:background-color .2s ease,color .2s ease,transform .25s var(--ft-ease),box-shadow .25s ease}.footer-social svg{transition:transform .25s var(--ft-ease)}@media (hover:hover){.footer .brand-logo:hover .brand-mark{filter:brightness(1.15);transform:translate3d(0,-1px,0) scale(1.04)}.footer .brand-logo:hover .brand-name strong{color:var(--brand)}.footer-links a:hover{transform:translate3d(0,var(--ft-lift),0)}.footer-links a:hover:after{transform:scaleX(1)}.footer-social:hover{box-shadow:0 6px 14px #2563eb38;transform:translate3d(0,var(--ft-lift),0) scale(1.05)}.footer-social:hover svg{transform:scale(1.06) rotate(-3deg)}}@media (hover:hover) and (max-width:1100px){.footer{--ft-lift:-1px}}.footer-social:active{transform:scale(.94);transition-duration:.12s}.footer-links a:active{color:var(--brand)}@media (prefers-reduced-motion:reduce){.footer-content .brand-mark,.footer-content .brand-name,.footer-content .footer-copy,.footer-content .footer-links a,.footer-content .footer-social{animation:none!important;opacity:1!important}.footer.motion-ready{border-top-color:var(--border)}.footer-links a:after,.footer.motion-ready .footer-line{display:none}.footer .brand-logo:hover .brand-mark,.footer-links a:hover,.footer-social:active,.footer-social:hover,.footer-social:hover svg{filter:none;transform:none}}
/*# sourceMappingURL=main.d5684b98.css.map*/