.soft-aurora-container{width:100%;height:100%}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{color:#f8f7ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#050308;--panel:#10091a;--panel-strong:#170d24;--panel-soft:#ffffff0b;--line:#ffffff1c;--line-strong:#ffffff2e;--text:#f8f7ff;--muted:#aaa2ba;--dim:#978fa5;--violet:#8b5cf6;--violet-strong:#a855f7;--cyan:#2dd4bf;--coral:#fb7185;--amber:#fbbf24;--shadow:0 24px 80px #0000006b;--theme-transition:background-color .5s ease, color .5s ease, border-color .5s ease, box-shadow .5s ease;background:#050308;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=light]{color:#1a1625;--bg:#f5f3fa;--panel:#fff;--panel-strong:#ede9f5;--panel-soft:#0000000a;--line:#0000001a;--line-strong:#00000029;--text:#1a1625;--muted:#5e5775;--dim:#6e667d;--violet:#7c3aed;--violet-strong:#9333ea;--cyan:#0d9488;--coral:#e11d48;--amber:#d97706;--shadow:0 24px 80px #00000014;background:#f5f3fa}[data-theme=light] body{background:linear-gradient(110deg, #7c3aed0f, transparent 30%), linear-gradient(250deg, #0d94880a, transparent 24%), var(--bg)}[data-theme=light] .site-header{background:#f5f3fae0;border-bottom-color:#00000014}[data-theme=light] .brand{color:var(--text)}[data-theme=light] .brand span{background:linear-gradient(135deg,#4c1d95,#7c3aed 52%,#0d9488);box-shadow:0 0 24px #7c3aed4d}[data-theme=light] .nav-links a{color:#4a4260}[data-theme=light] .nav-links a:hover,[data-theme=light] .nav-links a:focus-visible{color:#1a1625;background:#0000000f}[data-theme=light] .nav-links .hire-link{color:#fff}[data-theme=light] h1{color:#0000;background:linear-gradient(135deg,#1a1625 10%,#7c3aed 48%,#0d9488 92%);-webkit-background-clip:text;background-clip:text}[data-theme=light] .hero-intro{color:#4a4260}[data-theme=light] .tech-marquee-item{background:#ffffffb8}[data-theme=light] .tech-logo-invert{filter:none}[data-theme=light] .ambient-bg:before{background-image:linear-gradient(#00000008 1px,#0000 1px),linear-gradient(90deg,#00000008 1px,#0000 1px)}[data-theme=light] .aurora-one{opacity:.5;background:linear-gradient(90deg,#0000,#7c3aed1f,#0000)}[data-theme=light] .aurora-two{opacity:.5;background:linear-gradient(90deg,#0000,#0d948814,#0000)}[data-theme=light] .grid-glow{background:linear-gradient(#0000,#f5f3fad6)}[data-theme=light] .portrait-card{background:linear-gradient(145deg,#0000000a,#00000003),#fff;box-shadow:0 0 0 1px #7c3aed14,0 30px 90px #7c3aed14}[data-theme=light] .portrait-card:after{border-color:#0000000f}[data-theme=light] .portrait-shine{background:linear-gradient(110deg,#0000 20%,#ffffff80 46%,#0000 62%),linear-gradient(#0000 58%,#f5f3fa4d)}[data-theme=light] .floating-badge{color:#1a1625;background:#ffffffd9}[data-theme=light] .stat-card{background:linear-gradient(145deg,#7c3aed0f,#0d948808),#fffc}[data-theme=light] .stat-card strong{color:#1a1625}[data-theme=light] .section{border-top-color:#0000000f}[data-theme=light] .section-heading h2,[data-theme=light] .contact-panel h2{color:#1a1625}[data-theme=light] .service-row{background:#ffffffb3}[data-theme=light] .service-icon{color:#1a1625;background:#0000000d}[data-theme=light] .service-index{color:var(--violet)}[data-theme=light] .service-row h3{color:#1a1625}[data-theme=light] .service-row p{color:#4a4260}[data-theme=light] .filter-pills button,[data-theme=light] .filter-pills span{color:var(--muted);background:#0000000a;border-color:#00000014}[data-theme=light] .filter-pills button:hover{color:var(--foreground);background:#00000014}[data-theme=light] .filter-pills .is-active{color:#fff;background:var(--violet);border-color:var(--violet)}[data-theme=light] .project-card{background:linear-gradient(145deg,#00000005,#00000001),#fff}[data-theme=light] .project-content h3{color:#1a1625}[data-theme=light] .project-content span{color:var(--muted)}[data-theme=light] .tag-list li{color:#4a4260;background:#0000000a}[data-theme=light] .project-action.source-code,[data-theme=light] .resume-button{color:#2d2540;background:#ffffffdb;border-color:#2d254024}[data-theme=light] .projects-page-heading>p:not(.eyebrow){color:#4a4260}[data-theme=light] .projects-page-footer{border-top-color:#00000014}[data-theme=light] .timeline-item{background:linear-gradient(135deg,#7c3aed0f,#fffc)}[data-theme=light] .timeline-item h4,[data-theme=light] .column-title h3{color:#1a1625}[data-theme=light] .resume-grid{border-top-color:#0000000f}[data-theme=light] .skill-card{background:linear-gradient(145deg,#00000008,#00000003),#fff}[data-theme=light] .skill-card h3{color:#1a1625}[data-theme=light] .skill-card li{color:#2d2540;background:#0000000a}[data-theme=light] .story-card,[data-theme=light] .blog-card{background:#fffc}[data-theme=light] .story-card p{color:#4a4260}[data-theme=light] .contact-section{border-top-color:#0000000f}[data-theme=light] .contact-panel{background:linear-gradient(145deg,#7c3aed0f,#0d948808),#fff}[data-theme=light] .contact-details{background:#fffc}[data-theme=light] .contact-details h3{color:#1a1625}[data-theme=light] .contact-details a,[data-theme=light] .contact-details span{color:#4a4260}[data-theme=light] .site-footer{background:linear-gradient(140deg,#7c3aed12,#0000 42%),linear-gradient(320deg,#0d94880f,#0000 38%),#eeebf5;border-top-color:#00000014}[data-theme=light] .footer-directory{background:#ffffffb3}[data-theme=light] .footer-contact-item{color:#1a1625}[data-theme=light] .footer-socials a{color:#1a1625;background:#ffffff80}[data-theme=light] .footer-bottom{border-top-color:#00000014}[data-theme=light] input,[data-theme=light] textarea{color:#1a1625;background:#00000008}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:#8a829a}[data-theme=light] .nav-toggle{color:#1a1625;background:#0000000a}@media (width<=720px){[data-theme=light] .nav-links{background:#fffffff5}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:0;min-height:100vh;color:var(--text);background:linear-gradient(110deg, #8b5cf629, transparent 30%), linear-gradient(250deg, #2dd4bf17, transparent 24%), var(--bg);transition:var(--theme-transition);margin:0;overflow-x:hidden}body::selection{color:#050308;background:var(--cyan)}a{color:inherit;text-decoration:none}button,input,textarea,a{font:inherit;-webkit-tap-highlight-color:transparent}button{border:0}img{max-width:100%;display:block}main{z-index:1;width:min(1180px,100% - 40px);margin:0 auto;scroll-margin-top:76px;position:relative}.scroll-progress{z-index:60;background:linear-gradient(90deg, var(--cyan), var(--violet-strong), var(--coral));transform-origin:0;width:100%;height:3px;position:fixed;top:0;left:0}.ambient-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-bg:before{content:"";background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.aurora{filter:blur(54px);opacity:.32;width:90vw;height:42vh;position:absolute;transform:rotate(-12deg)}.aurora-one{background:linear-gradient(90deg,#0000,#8b5cf6bf,#0000);animation:16s ease-in-out infinite alternate sweep;top:-12vh;right:-36vw}.aurora-two{background:linear-gradient(90deg,#0000,#2dd4bf80,#0000);animation:19s ease-in-out infinite alternate-reverse sweep;bottom:18vh;left:-40vw}.grid-glow{background:linear-gradient(#0000,#050308d6);height:42vh;position:absolute;inset:auto 0 0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:50;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);width:100%;min-height:76px;transition:var(--theme-transition);background:#050308d1;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:24px;padding:16px max(20px,50vw - 590px);display:flex;position:sticky;top:0}.site-logo{align-items:center;text-decoration:none;display:inline-flex}.logo-img{object-fit:contain;border-radius:8px;width:auto;height:38px;transition:transform .25s}.site-logo:hover .logo-img{transform:scale(1.06)}.header-actions{align-items:center;gap:8px;display:flex}.theme-toggle{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;margin-left:16px;transition:color .2s;display:inline-flex}.theme-toggle:hover{color:var(--text)}.theme-toggle:active{opacity:.7}.theme-toggle-label{display:none}.brand{min-width:0;color:var(--text);align-items:center;gap:12px;font-size:.9rem;font-weight:700;display:inline-flex}.brand span{color:#fff;border:1px solid var(--line-strong);background:linear-gradient(135deg,#241137,#7c3aed 52%,#2dd4bf);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:900;display:inline-grid;box-shadow:0 0 32px #8b5cf68c}.nav-toggle{color:#fff;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;place-items:center;width:42px;height:42px;display:none}.nav-links{justify-content:flex-end;align-items:center;gap:7px;display:flex}.nav-links a{color:#d6d0e5;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 12px;font-size:.84rem;font-weight:700;transition:color .18s,background .18s,transform .18s;display:inline-flex}.nav-links a:hover,.nav-links a:focus-visible{color:#fff;background:#ffffff14;outline:none;transform:translateY(-1px)}.nav-links .hire-link{color:#fff;background:linear-gradient(135deg, var(--violet), var(--violet-strong));margin-left:8px;box-shadow:0 12px 28px #8b5cf64d}.hero{grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);align-items:center;gap:clamp(28px,5vw,70px);min-height:auto;padding:clamp(48px,6vw,72px) 0;display:grid}.hero-copy{width:100%;min-width:0;max-width:760px}.hero-copy>*{min-width:0}.eyebrow,.section-heading p{color:var(--violet-strong);letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:.82rem;font-weight:900}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:0;color:#0000;background:linear-gradient(135deg,#fff 10%,#b68cff 48%,#2dd4bf 92%);-webkit-background-clip:text;background-clip:text;max-width:820px;margin-bottom:22px;font-size:clamp(3rem,7.5vw,5.9rem);line-height:.98}.hero-intro{color:#c7bfd7;max-width:630px;margin-bottom:0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px;display:flex}.hero-tech-marquee{width:100%;min-width:0;max-width:650px;margin-top:22px}.tech-marquee-label{color:var(--dim);letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:900}.tech-marquee-window{width:100%;min-width:0;max-width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.tech-marquee-track{will-change:transform;width:max-content;animation:28s linear infinite tech-marquee-scroll;display:flex}.tech-marquee-group{flex:none;gap:9px;padding-right:9px;display:flex}.tech-marquee-item{min-height:36px;color:var(--text);white-space:nowrap;border:1px solid var(--line);background:#ffffff0b;border-radius:8px;flex:none;align-items:center;gap:8px;padding:0 12px;font-size:.72rem;font-weight:850;display:inline-flex}.tech-marquee-item img{object-fit:contain;width:19px;height:19px}.tech-logo-invert{filter:invert()}.hero-tech-marquee:hover .tech-marquee-track{animation-play-state:paused}@keyframes tech-marquee-scroll{to{transform:translate(-50%)}}.button{color:#fff;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 18px;font-size:.92rem;font-weight:900;transition:transform .18s,box-shadow .18s,border-color .18s;display:inline-flex}.button.primary{background:linear-gradient(135deg,#a855f7f2,#2dd4bfd1),#7c3aed;box-shadow:0 18px 40px #8b5cf657}.resume-button{color:var(--text);border-color:var(--line-strong);background:#ffffff0e}.download-button{color:var(--cyan);border-color:#2dd4bf52}.button:hover,.button:focus-visible,.circle-link:hover,.circle-link:focus-visible{outline:none;transform:translateY(-2px)}.social-links{flex-wrap:wrap;gap:10px;display:flex}.social-links a{color:#eee9ff;border:1px solid var(--line);background:#ffffff0e;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.portrait-card{border:1px solid var(--line-strong);min-height:420px;transition:var(--theme-transition);background:linear-gradient(145deg,#ffffff14,#ffffff05),#0d0714;border-radius:8px;padding:16px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #8b5cf624,0 30px 90px #8b5cf63b}.portrait-card:after{content:"";pointer-events:none;border:1px solid #ffffff1a;border-radius:8px;position:absolute;inset:14px}.portrait-img-wrapper{border-radius:8px;width:100%;height:100%;position:relative;overflow:hidden}.portrait-base{object-fit:cover;filter:saturate(1.05)contrast(1.08);border-radius:8px;width:100%;height:100%;min-height:388px}.portrait-shades{object-fit:cover;filter:saturate(1.05)contrast(1.08);border-radius:8px;width:100%;height:100%;position:absolute;inset:0}.portrait-video{z-index:1;pointer-events:none;transition:opacity .2s ease-in-out}.portrait-shine{z-index:2;pointer-events:none;background:linear-gradient(110deg,#0000 20%,#ffffff29 46%,#0000 62%),linear-gradient(#0000 58%,#05030885);animation:7s ease-in-out infinite shine;position:absolute;inset:0;transform:translate(-18%)}.floating-badge{z-index:2;color:#fff;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d0714b8;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:.78rem;font-weight:900;display:inline-flex;position:absolute;bottom:26px;right:26px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:16px 0 46px;display:grid}.stat-card{border:1px solid var(--line);background:linear-gradient(145deg,#8b5cf624,#2dd4bf0d),#ffffff0b;border-radius:8px;min-height:116px;padding:20px;position:relative;overflow:hidden}.stat-card:after{content:"";background:linear-gradient(90deg, var(--violet-strong), var(--cyan));transform-origin:0;border-radius:999px;height:2px;transition:transform .28s;position:absolute;bottom:0;left:20px;right:20px;transform:scaleX(0)}.stat-card:hover:after{transform:scaleX(1)}.stat-card strong{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.045em;margin-bottom:7px;font-family:Trebuchet MS,Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.45rem,4vw,3.15rem);font-weight:900;line-height:.95;display:block}.stat-card strong>span{color:inherit;font:inherit;letter-spacing:inherit}.stat-card>span{color:var(--muted);font-size:1rem;font-weight:750}.section{border-top:1px solid #ffffff14;padding:clamp(56px,7vw,80px) 0}.section-heading{text-align:center;max-width:760px;margin:0 auto 28px}.section-heading h2{color:#fff;letter-spacing:0;margin-bottom:14px;font-size:clamp(2.1rem,5vw,4.1rem);line-height:1.02}.contact-panel h2{color:#fff;letter-spacing:0;overflow-wrap:break-word;margin-bottom:14px;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.04}.section-heading span,.contact-panel span{max-width:650px;color:var(--muted);margin:0 auto;font-size:1rem;line-height:1.65;display:block}.service-list{gap:10px;display:grid}.service-row{border:1px solid var(--line);background:#ffffff09;border-radius:8px;grid-template-columns:56px 54px minmax(160px,.6fr) minmax(220px,1fr);align-items:center;gap:20px;min-height:92px;padding:16px 20px;display:grid}.service-index{color:#c9b8ff;font-weight:900}.service-icon{color:#fff;border:1px solid var(--line);background:#ffffff14;border-radius:8px;place-items:center;width:48px;height:48px;display:grid}.service-row h3{color:#fff;margin:0;font-size:clamp(1.1rem,2vw,1.5rem)}.service-row p{color:#d9d1e8;margin:0;line-height:1.55}.filter-pills{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:28px;display:flex}.filter-pills button,.filter-pills span{min-height:38px;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:#ffffff0b;border-radius:999px;outline:none;justify-content:center;align-items:center;padding:0 16px;font-family:inherit;font-size:.84rem;font-weight:800;transition:all .2s;display:inline-flex}.filter-pills button:hover{color:var(--foreground);background:#ffffff14;border-color:#fff3}.filter-pills .is-active{color:#fff;background:var(--violet);border-color:var(--violet)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.project-card{background:linear-gradient(145deg, #ffffff13, #ffffff06), var(--panel);border:1px solid var(--line);min-height:430px;box-shadow:var(--shadow);border-radius:8px;display:grid;overflow:hidden}.project-card.is-compact{min-height:410px}.project-card.is-compact .project-visual{min-height:190px}.project-card.is-compact .project-content h3{font-size:clamp(1.2rem,2vw,1.55rem)}.project-visual{border-bottom:1px solid #ffffff17;min-height:230px;position:relative;overflow:hidden}.project-visual:before{content:"";background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.project-visual.has-image:before{display:none}.project-visual.has-image img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.visual-1{background:linear-gradient(135deg,#0c1020,#321858 52%,#0f766e)}.visual-2{background:linear-gradient(135deg,#180b2a,#6d28d9 45%,#fb7185)}.visual-3{background:linear-gradient(135deg,#111827,#0f766e 48%,#fbbf24)}.visual-4{background:linear-gradient(135deg,#120a1c,#4338ca 50%,#2dd4bf)}.mock-browser{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050308b3;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:7px;height:34px;padding:0 13px;display:flex;position:absolute;top:28px;left:28px;right:28px}.mock-browser span{opacity:.55;background:#f8f7ff;border-radius:50%;width:8px;height:8px}.mock-lines{gap:12px;width:min(260px,58%);display:grid;position:absolute;top:92px;left:34px}.mock-lines span{background:#ffffffc7;border-radius:999px;height:12px}.mock-lines span:nth-child(2){background:#ffffff6b;width:74%}.mock-lines span:nth-child(3){background:#2dd4bfb8;width:52%}.mock-panel{aspect-ratio:1.1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#ffffff3d,#ffffff0d),#0503085c;border:1px solid #ffffff29;border-radius:8px;width:36%;min-width:128px;position:absolute;bottom:26px;right:32px}.project-content,.project-footer{padding:22px}.project-content p{color:var(--cyan);text-transform:uppercase;margin:0 0 10px;font-size:.82rem;font-weight:900}.project-content h3{color:#fff;margin-bottom:10px;font-size:clamp(1.35rem,2.7vw,2rem)}.project-content span{color:var(--muted);line-height:1.7}.project-footer{align-content:end;gap:18px;padding-top:0;display:grid}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{color:#ded6ee;border:1px solid var(--line);background:#ffffff0f;border-radius:999px;padding:7px 10px;font-size:.75rem;font-weight:800}.project-actions{flex-wrap:wrap;gap:10px;display:flex}.project-action{border:1px solid #0000;border-radius:8px;flex:150px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 15px;font-size:.9rem;font-weight:900;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.project-action.live-demo{color:#050308;background:linear-gradient(135deg, var(--cyan), #67e8f9);box-shadow:0 12px 28px #2dd4bf2e}.project-action.source-code{color:var(--text);border-color:var(--line-strong);background:#ffffff0e}.project-action:hover,.project-action:focus-visible{outline:none;transform:translateY(-2px)}.project-status{width:fit-content;min-height:40px;color:var(--muted);border:1px dashed var(--line-strong);background:#ffffff0a;border-radius:8px;align-items:center;padding:0 13px;font-size:.78rem;font-weight:850;display:inline-flex}.see-more-projects{justify-content:center;margin-top:clamp(30px,5vw,48px);display:flex}.see-more-projects .button{min-width:170px}.projects-page{padding:clamp(108px,12vw,146px) 0 clamp(72px,9vw,108px)}.projects-page-heading{max-width:780px;margin-bottom:clamp(42px,6vw,64px)}.projects-page-heading h1{margin-bottom:22px;font-size:clamp(3rem,8vw,6.2rem)}.projects-page-heading>p:not(.eyebrow){max-width:680px;color:var(--muted);margin-bottom:26px;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.75}.projects-page-footer{z-index:1;width:min(1180px,100% - 40px);min-height:72px;color:var(--dim);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;font-size:.8rem;display:flex;position:relative}.projects-page-footer p{margin:0}.projects-page-footer a{color:var(--text);font-weight:800}.resume-grid{border-top:1px solid #ffffff14;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,54px);padding:clamp(56px,7vw,80px) 0;display:grid}.column-title{color:var(--violet-strong);align-items:center;gap:12px;margin-bottom:22px;display:flex}.column-title h3{color:#fff;margin:0;font-size:clamp(1.8rem,4vw,3rem)}.timeline-list{gap:12px;display:grid}.timeline-item{border:1px solid var(--line);background:linear-gradient(135deg,#8b5cf626,#ffffff09);border-radius:8px;padding:18px}.timeline-item p{color:var(--coral);margin-bottom:9px;font-size:.82rem;font-weight:900}.timeline-item h4{color:#fff;margin-bottom:7px;font-size:1.02rem}.timeline-item span,.timeline-item small{color:var(--muted);line-height:1.6;display:block}.timeline-item small{margin-top:10px}.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.skill-card{color:#fff;text-align:left;background:linear-gradient(145deg, #ffffff14, #ffffff06), var(--panel);border:1px solid var(--line);border-radius:8px;align-content:start;gap:14px;min-height:250px;padding:24px;display:grid}.skill-card svg{color:var(--cyan)}.skill-confidence{color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:900}.skill-card h3{color:#fff;margin:0;font-size:1.35rem}.skill-card ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-card li{color:var(--text);border:1px solid var(--line);background:#ffffff0f;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:800}.skill-card p{color:var(--muted);margin:0;line-height:1.6}.story-grid,.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.story-card,.blog-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffff0b;border-radius:8px}.story-card{min-height:220px;padding:22px}.story-card svg{color:var(--cyan);margin-bottom:18px}.story-card p{color:#ded6ee;font-size:1rem;line-height:1.65}.story-card strong,.story-card span{display:block}.story-card span{color:var(--muted);margin-top:4px}.blog-card{min-height:330px;overflow:hidden}.blog-art{color:#fff;background:linear-gradient(135deg,#8b5cf6b8,#2dd4bf5c),repeating-linear-gradient(135deg,#ffffff14 0 6px,#0000 6px 14px);place-items:center;height:154px;display:grid}.blog-card>span,.blog-card h3,.blog-card p{margin-left:20px;margin-right:20px}.blog-card>span{color:#fff;background:var(--violet);border-radius:999px;margin-top:20px;margin-bottom:12px;padding:6px 9px;font-size:.74rem;font-weight:900;display:inline-flex}.blog-card h3{color:#fff;margin-bottom:18px;font-size:1.18rem;line-height:1.35}.blog-card p{color:var(--muted);align-items:center;gap:8px;font-size:.86rem;display:flex}.contact-section{border-top:1px solid #ffffff14;grid-template-columns:minmax(0,1.1fr) minmax(280px,.6fr);gap:28px;padding:clamp(72px,9vw,112px) 0 76px;display:grid}.contact-panel{background:linear-gradient(145deg, #8b5cf633, #2dd4bf14), var(--panel);border:1px solid var(--line-strong);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,.9fr) minmax(280px,1fr);gap:28px;padding:clamp(24px,4vw,38px);display:grid}.contact-panel .section-heading,.contact-panel span{text-align:left;margin-left:0}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.contact-form label{gap:8px;display:grid}.contact-form label span{color:var(--muted);font-size:.78rem;font-weight:900}.full-field{grid-column:1/-1}input,textarea{color:#fff;border:1px solid var(--line);background:#05030894;border-radius:8px;outline:none;width:100%;min-height:46px;padding:12px 13px}textarea{resize:vertical}input:focus,textarea:focus{border-color:#2dd4bfcc;box-shadow:0 0 0 3px #2dd4bf1f}.contact-form .button{width:fit-content}.contact-details{border:1px solid var(--line);background:#ffffff0b;border-radius:8px;align-content:center;gap:14px;min-width:0;padding:28px;display:grid}.contact-details h3{color:#fff;margin-bottom:4px;font-size:1.2rem}.contact-details a,.contact-details span{color:#e9e2f7;overflow-wrap:anywhere;align-items:center;gap:12px;min-width:0;font-weight:800;display:flex}.contact-details svg{color:var(--cyan);flex:none}.site-footer{z-index:1;border-top:1px solid var(--line);background:linear-gradient(140deg,#8b5cf621,#0000 42%),linear-gradient(320deg,#2dd4bf14,#0000 38%),#08050d;margin-top:0;position:relative;overflow:hidden}.site-footer:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.footer-glow{filter:blur(100px);pointer-events:none;background:#2dd4bf1f;border-radius:50%;width:520px;height:320px;position:absolute;top:-180px;left:18%}.footer-main,.footer-bottom{z-index:1;width:min(1180px,100% - 40px);margin:0 auto;position:relative}.footer-main{grid-template-columns:minmax(260px,1.2fr) minmax(240px,.9fr) minmax(150px,.55fr);align-items:start;gap:clamp(32px,5vw,72px);padding:clamp(36px,4vw,52px) 0 clamp(30px,3.5vw,44px);display:grid}.footer-identity{min-width:0}.footer-brand{align-items:center;gap:12px;margin-bottom:18px;display:inline-flex}.footer-brand img{object-fit:contain;width:42px;height:42px}.footer-brand span,.footer-brand strong,.footer-brand small{display:block}.footer-brand strong{color:var(--text);font-size:.82rem}.footer-brand small{color:var(--dim);margin-top:3px;font-size:.78rem}.footer-label{color:var(--cyan);letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:900}.footer-identity h2{color:var(--text);letter-spacing:-.025em;margin-bottom:8px;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.15}.footer-identity>p{max-width:360px;color:var(--muted);margin:0;font-size:.84rem;line-height:1.6}.footer-column{align-content:start;gap:10px;min-width:0;display:grid}.footer-simple-link{min-width:0;color:var(--muted);overflow-wrap:anywhere;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;font-size:.84rem;font-weight:700;line-height:1.35;transition:color .18s;display:grid}a.footer-simple-link:hover,a.footer-simple-link:focus-visible{color:var(--text);outline:none}.footer-simple-link>svg:first-child{color:var(--cyan)}.footer-simple-link>svg:last-child:not(:first-child){color:var(--dim)}.footer-directory{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff09;border-radius:16px;min-width:0;padding:clamp(18px,2.5vw,26px);box-shadow:0 24px 80px #0000003d}.footer-contact-list{display:grid}.footer-contact-item{min-width:0;color:var(--text);border-bottom:1px solid var(--line);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 0;display:grid;position:relative}.footer-contact-item>span:nth-child(2),.footer-contact-item small,.footer-contact-item strong{min-width:0;display:block}.footer-contact-item small{color:var(--dim);text-transform:uppercase;margin-bottom:4px;font-size:.75rem;font-weight:800}.footer-contact-item strong{overflow-wrap:anywhere;font-size:.86rem}.footer-contact-icon{width:36px;height:36px;color:var(--cyan);background:#2dd4bf14;border:1px solid #2dd4bf29;border-radius:10px;place-items:center;display:grid}.footer-item-arrow{color:var(--dim);transition:color .18s,transform .18s}a.footer-contact-item:hover .footer-item-arrow{color:var(--cyan);transform:translate(2px,-2px)}.footer-socials{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.footer-socials a{min-height:44px;color:var(--text);border:1px solid var(--line);background:#ffffff0a;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:0 12px;font-size:.84rem;font-weight:800;transition:background .18s,border-color .18s;display:grid}.footer-socials a:hover,.footer-socials a:focus-visible{border-color:var(--line-strong);background:#ffffff14;outline:none}.footer-socials a>svg:first-child{color:var(--cyan)}.footer-bottom{min-height:54px;color:var(--dim);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;font-size:.82rem;display:flex}.footer-bottom p{margin:0}.footer-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:20px;display:flex}.footer-nav a{color:var(--muted);font-weight:700}.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--text);outline:none}.footer-nav .footer-top-link{color:var(--text);align-items:center;gap:7px;display:inline-flex}@keyframes shine{0%,58%{transform:translate(-130%)}to{transform:translate(130%)}}@keyframes sweep{0%{transform:translate(-4vw)rotate(-12deg)}to{transform:translate(5vw,4vh)rotate(-12deg)}}@media (prefers-reduced-motion:reduce){.tech-marquee-window{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.tech-marquee-track{animation:none}.tech-marquee-group[aria-hidden=true]{display:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width<=980px){.hero,.resume-grid,.contact-section,.contact-panel{grid-template-columns:1fr}.hero{min-height:auto}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:28px 42px}.footer-identity{grid-column:1/-1}.footer-directory{width:min(100%,620px)}.portrait-card{width:min(100%,520px);margin:0 auto}.stats-grid,.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-row{grid-template-columns:44px 1fr;align-items:start}.service-icon{grid-row:span 2;width:44px;height:44px}.service-row h3,.service-row p{grid-column:2}.service-index{display:none}.project-grid,.story-grid,.blog-grid{grid-template-columns:1fr}}@media (width<=720px){main{width:min(100% - 24px,620px)}.site-header{min-height:68px;padding-left:12px;padding-right:12px}.brand{max-width:calc(100% - 56px);font-size:0}.brand span{font-size:.9rem}.nav-toggle{display:grid}.nav-links{pointer-events:none;visibility:hidden;border:1px solid var(--line-strong);opacity:0;transform-origin:100% 0;background:#0c0712fa;border-radius:12px;justify-content:stretch;place-items:stretch stretch;gap:2px;width:min(190px,100% - 24px);padding:10px;transition:opacity .18s,transform .18s,visibility .18s;display:grid;position:absolute;top:calc(100% + 8px);left:auto;right:12px;transform:translateY(-8px)scale(.98);box-shadow:0 18px 60px #0000008c}.nav-links.is-open{pointer-events:auto;visibility:visible;opacity:1;transform:translateY(0)scale(1)}.nav-links a{justify-content:flex-start;min-height:44px;padding:0 14px}.nav-links .hire-link{margin-left:0}.nav-links .theme-toggle{width:100%;min-height:44px;color:var(--muted);border-top:1px solid var(--line);border-radius:0 0 8px 8px;justify-content:flex-start;gap:10px;margin:4px 0 0;padding:0 14px}.theme-toggle-label{font-size:.84rem;font-weight:700;display:inline}.hero{padding-top:44px}h1{font-size:clamp(2.55rem,13.5vw,3.75rem);line-height:.98}.hero-actions,.contact-form{grid-template-columns:1fr}.hero-actions .button,.contact-form .button{width:100%}.stats-grid{padding-bottom:44px}.section-heading{text-align:left;margin-left:0}.section-heading span{margin-left:0}.service-row{padding:16px}.project-card{min-height:auto}.project-visual{min-height:220px}.project-footer{align-content:start}.project-action{flex-basis:100%}.see-more-projects .button{width:100%}.projects-page{padding-top:96px}.projects-page-footer{flex-direction:column;align-items:flex-start;width:min(100% - 24px,620px);padding:20px 0}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-panel h2,.section-heading h2{font-size:clamp(2rem,12vw,3.2rem)}.footer-main,.footer-bottom{width:min(100% - 24px,620px)}.footer-main{grid-template-columns:1fr;gap:24px;padding-top:32px;padding-bottom:26px}.footer-identity{grid-column:auto}.footer-bottom{flex-direction:column;justify-content:center;align-items:flex-start;padding:16px 0}.footer-nav{justify-content:flex-start;gap:16px}}@media (width<=440px){main{width:min(100% - 20px,390px)}.hero-actions .social-links{width:100%}.social-links a{flex:1}.footer-directory{padding:15px}.footer-socials{grid-template-columns:1fr}.portrait-card{min-height:340px;padding:10px;transform:none!important}.portrait-card img{min-height:320px}.floating-badge{bottom:18px;right:18px}.stats-grid,.skill-grid{grid-template-columns:1fr}.stat-card,.skill-card{min-height:118px}.service-row{grid-template-columns:42px 1fr}.service-row h3,.service-row p{grid-column:2}}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline-offset:3px;outline:3px solid var(--amber)!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
