@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}

/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--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;--spacing:.25rem;--animate-spin:spin 1s linear infinite;--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{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.h-5{height:calc(var(--spacing) * 5)}.w-5{width:calc(var(--spacing) * 5)}.animate-spin{animation:var(--animate-spin)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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{--primary:#3182ce;--primary-dark:#2c5282;--primary-light:#4299e1;--primary-rgb:49,130,206;--secondary:#4c51bf;--secondary-dark:#434190;--secondary-light:#667eea;--secondary-rgb:76,81,191;--bg:#f7fafc;--bg-alt:#f9fafb;--card-bg:#fff;--card-bg-hover:#f3f4f6;--input-bg:#fff;--text:#2d3748;--text-muted:#718096;--text-heading:#1f2937;--gray-50:#f9fafb;--gray-100:#f7fafc;--gray-200:#edf2f7;--gray-300:#e2e8f0;--gray-400:#cbd5e0;--gray-500:#a0aec0;--gray-600:#718096;--gray-700:#4a5568;--gray-800:#2d3748;--gray-900:#1a202c;--border:#e5e7eb;--error:#ef4444;--success:#10b981;--success-bg:#ecfdf5;--success-border:#a7f3d0;--success-text:#047857}.dark{--primary:#60a5fa;--primary-dark:#3b82f6;--primary-light:#60a5fa26;--primary-rgb:96,165,250;--secondary:#818cf8;--secondary-dark:#6366f1;--secondary-light:#818cf826;--secondary-rgb:129,140,248;--bg:#0f172a;--bg-alt:#1e293b;--card-bg:#1e293b;--card-bg-hover:#334155;--input-bg:#0f172a;--text:#e2e8f0;--text-muted:#94a3b8;--text-heading:#f8fafc;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--border:#334155;--error:#f87171;--success:#34d399;--success-bg:#064e3b;--success-border:#047857;--success-text:#ecfdf5}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6{color:var(--text-heading);font-weight:700;line-height:1.2}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.dark ::-webkit-scrollbar-track{background:var(--gray-900)}.dark ::-webkit-scrollbar-thumb{background:var(--gray-600)}.dark ::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.app-container{min-height:100vh}section{padding:5rem 0}@media (min-width:768px){section{padding:7rem 0}}.section-title{text-align:center;color:var(--text-heading);letter-spacing:-.025em;margin-bottom:3.5rem;font-size:2.5rem;font-weight:800;position:relative}.section-title:after{content:"";background:linear-gradient(to right,var(--primary),var(--secondary));border-radius:.125rem;width:5rem;height:.25rem;position:absolute;bottom:-.75rem;left:50%;transform:translate(-50%)}.btn{cursor:pointer;letter-spacing:.01em;border:none;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 4px 14px 0 rgba(var(--primary-rgb),.3)}.btn-primary:hover{box-shadow:0 6px 20px 0 rgba(var(--primary-rgb),.4);transform:translateY(-2px)}.btn-outline{border:2px solid var(--primary);color:var(--primary);background-color:#0000}.btn-outline:hover{background-color:var(--primary);color:#fff;transform:translateY(-2px)}#home{align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}#home:before{content:"";z-index:0;background:linear-gradient(135deg,#e9d5ff66,#d6e2ff66,#bae6fd4d);position:absolute;inset:0}.dark #home:before{background:linear-gradient(135deg,#581c8726,#1e3a8a26,#0759851a)}.bg-circles{z-index:1;position:absolute;inset:0;overflow:hidden}.bg-circle{filter:blur(60px);border-radius:50%;animation:float 6s ease-in-out infinite;position:absolute}.bg-circle-1{background:linear-gradient(to right,rgba(var(--primary-rgb),.2),rgba(var(--secondary-rgb),.2));width:20rem;height:20rem;animation-delay:0s;top:-10rem;right:-10rem}.bg-circle-2{background:linear-gradient(to top right,rgba(var(--primary-rgb),.2),#9333ea33);width:24rem;height:24rem;animation-delay:2s;top:33%;left:-10rem}.bg-circle-3{background:linear-gradient(to bottom right,rgba(var(--secondary-rgb),.2),rgba(var(--primary-rgb),.2));width:20rem;height:20rem;animation-delay:4s;bottom:-10rem;left:50%;transform:translate(-50%)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero-content{z-index:10;max-width:48rem;position:relative}.hero-greeting{color:var(--primary);margin-bottom:.5rem;font-size:1.125rem;font-weight:500}.hero-title{color:var(--text-heading);letter-spacing:-.03em;background:linear-gradient(135deg,var(--text-heading),var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:3.5rem;font-weight:800}.hero-subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:1.5rem;font-weight:400}.hero-cta{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 10px 25px -5px rgba(var(--primary-rgb),.3);border-radius:.75rem;align-items:center;padding:.875rem 2rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.hero-cta:hover{box-shadow:0 15px 30px -5px rgba(var(--primary-rgb),.4);transform:translateY(-3px)}.hero-cta svg{width:1.25rem;height:1.25rem;margin-left:.5rem}@media (min-width:768px){.hero-greeting{font-size:1.25rem}.hero-title{font-size:5rem}.hero-subtitle{font-size:1.875rem}}.navbar{z-index:50;width:100%;padding:1rem 0;transition:all .3s;position:fixed;top:0;left:0}.navbar.scrolled{-webkit-backdrop-filter:blur(12px);background-color:#ffffffd9;padding:.5rem 0;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.dark .navbar.scrolled{background-color:#0f172ad9;box-shadow:0 1px 3px #0000004d}.navbar-container{justify-content:space-between;align-items:center;display:flex}.navbar-logo{color:var(--primary);letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.navbar-logo span{color:var(--secondary)}.navbar-links{display:none}.navbar-link{margin-left:2rem;font-size:.95rem;font-weight:500;transition:color .2s;position:relative}.navbar-link:after{content:"";background:linear-gradient(to right,var(--primary),var(--secondary));border-radius:1px;width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.navbar-link:hover{color:var(--primary)}.navbar-link:hover:after{width:100%}.dark-mode-toggle{background-color:var(--gray-100);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-left:2rem;transition:all .3s;display:flex}.dark .dark-mode-toggle{background-color:var(--gray-800)}.dark-mode-toggle:hover{transform:rotate(15deg)scale(1.1)}.mobile-menu-button{cursor:pointer;color:var(--text);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex}.mobile-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#fffffffa;width:100%;padding:1rem 0;display:none;position:absolute;top:100%;left:0;box-shadow:0 4px 6px -1px #0000001a}.dark .mobile-menu{background-color:#0f172afa}.mobile-menu.open{display:block}.mobile-menu-links{flex-direction:column;padding:0 1rem;display:flex}.mobile-menu-link{border-bottom:1px solid var(--border);padding:.75rem 0;font-weight:500;transition:color .2s}.mobile-menu-link:last-of-type{border-bottom:none}.mobile-menu-link:hover{color:var(--primary)}.mobile-dark-mode-toggle{cursor:pointer;color:var(--text);background:0 0;border:none;align-items:center;padding:.75rem 0;font-weight:500;display:flex}.mobile-dark-mode-toggle svg{margin-left:.5rem}@media (min-width:768px){.navbar-links{align-items:center;display:flex}.mobile-menu-button{display:none}}#about{background-color:var(--bg-alt);padding:7rem 0}.dark #about{background-color:var(--gray-900)}.about-content{grid-template-columns:1fr;align-items:center;gap:3rem;display:grid}@media (min-width:768px){.about-content{grid-template-columns:1fr 1fr}}.profile-image-container{justify-content:center;display:flex}.profile-image{border:4px solid rgba(var(--primary-rgb),.2);width:16rem;height:16rem;box-shadow:0 20px 40px -10px rgba(var(--primary-rgb),.2);border-radius:50%;transition:all .3s;position:relative;overflow:hidden}.profile-image:hover{border-color:rgba(var(--primary-rgb),.4);box-shadow:0 25px 50px -10px rgba(var(--primary-rgb),.3);transform:scale(1.02)}@media (min-width:768px){.profile-image{width:20rem;height:20rem}}.profile-placeholder{position:absolute;inset:0}.bio-heading{color:var(--primary);margin-bottom:1rem;font-size:1.5rem;font-weight:700}.bio-text{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.125rem;line-height:1.7}.personal-info{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.info-item-label{color:var(--text-heading);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.info-item-value{color:var(--text-muted)}.about-cta{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 4px 14px -2px rgba(var(--primary-rgb),.3);border-radius:.5rem;align-items:center;padding:.75rem 1.75rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.about-cta:hover{box-shadow:0 6px 20px -2px rgba(var(--primary-rgb),.4);transform:translateY(-2px)}.skills-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:640px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.skills-grid{grid-template-columns:repeat(4,1fr)}}.skill-card{background-color:var(--card-bg);border:1px solid #0000;border-radius:.75rem;height:100%;padding:1.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d}.skill-card:hover{border-color:rgba(var(--primary-rgb),.2);transform:translateY(-5px);box-shadow:0 20px 40px -10px #0000001a}.dark .skill-card{background-color:var(--gray-800);box-shadow:0 4px 6px -1px #0003}.skill-header{align-items:center;margin-bottom:1.25rem;display:flex}.skill-icon{margin-right:.75rem;font-size:2rem}.skill-title{color:var(--text-heading);font-size:1.25rem;font-weight:700}.skill-list{list-style:none}.skill-item{align-items:center;margin-bottom:.6rem;transition:transform .2s;display:flex}.skill-item:hover{transform:translate(4px)}.skill-check{color:var(--primary);flex-shrink:0;width:1rem;height:1rem;margin-right:.5rem}.skill-name{color:var(--text-muted);font-size:.95rem}.projects-section{background-color:var(--bg-alt)}.dark .projects-section{background-color:var(--gray-900)}.projects-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}.project-card{background-color:var(--card-bg);border:1px solid var(--border);border-radius:1rem;flex-direction:column;height:100%;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.project-card:hover{border-color:rgba(var(--primary-rgb),.3);box-shadow:0 20px 40px -10px #00000026}.dark .project-card{background-color:var(--gray-800);border-color:var(--gray-700)}.project-banner{background:linear-gradient(135deg,rgba(var(--primary-rgb),.8),rgba(var(--secondary-rgb),.8));justify-content:center;align-items:center;height:12rem;display:flex;position:relative;overflow:hidden}.project-banner:before{content:"";background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.project-icon{z-index:1;filter:drop-shadow(0 4px 6px #0000001a);font-size:3.5rem}.project-body{flex-direction:column;flex-grow:1;padding:1.75rem;display:flex}.project-title{color:var(--text-heading);margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.project-description{color:var(--text-muted);flex-grow:1;margin-bottom:1.25rem;font-size:.95rem;line-height:1.6}.tech-stack-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.tech-stack{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.tech-tag{background-color:rgba(var(--primary-rgb),.1);color:var(--primary);border-radius:9999px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.dark .tech-tag{background-color:rgba(var(--primary-rgb),.15)}.project-links{border-top:1px solid var(--border);gap:.75rem;padding-top:1rem;display:flex}.project-link{border-radius:.5rem;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.project-link-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.project-link-primary:hover{opacity:.9;transform:translateY(-1px)}.project-link-outline{border:1.5px solid var(--primary);color:var(--primary)}.project-link-outline:hover{background-color:var(--primary);color:#fff}.project-link svg{width:1rem;height:1rem;margin-right:.375rem}.contact-section{padding:5rem 0}.contact-grid{grid-template-columns:1fr;gap:3rem;display:grid}@media (min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}.contact-info{background-color:var(--card-bg);border:1px solid var(--border);border-radius:1rem;padding:2rem;box-shadow:0 4px 20px #0000000f}.dark .contact-info{box-shadow:0 4px 20px #0003}.contact-info-title,.form-title{color:var(--text-heading);margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.contact-items{flex-direction:column;gap:1.5rem;display:flex}.contact-item{align-items:flex-start;gap:1rem;display:flex}.contact-icon{background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--secondary-rgb),.1));border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.icon{width:1.25rem;height:1.25rem;color:var(--primary)}.contact-detail h4{color:var(--text-heading);margin-bottom:.25rem;font-weight:600}.contact-link{color:var(--text-muted);text-decoration:none;transition:color .3s}.contact-link:hover{color:var(--primary)}.address-text,.location-text{color:var(--text-muted);line-height:1.5}.address-text{margin-top:.25rem;font-size:.9rem}.social-links-container{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.social-title{color:var(--text-heading);margin-bottom:1rem;font-size:1rem;font-weight:600}.social-links{gap:.75rem;display:flex}.social-link{background-color:var(--card-bg-hover);width:2.5rem;height:2.5rem;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.social-link:hover{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 4px 12px rgba(var(--primary-rgb),.3);transform:translateY(-3px)}.social-icon{width:1.25rem;height:1.25rem}.contact-form-container{background-color:var(--card-bg);border:1px solid var(--border);border-radius:1rem;padding:2rem;box-shadow:0 4px 20px #0000000f}.dark .contact-form-container{box-shadow:0 4px 20px #0003}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.form-row{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (min-width:576px){.form-row{grid-template-columns:1fr 1fr}}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-label{color:var(--text-heading);font-size:.875rem;font-weight:600}.form-input,.form-textarea{border:1.5px solid var(--border);background-color:var(--input-bg);color:var(--text);border-radius:.5rem;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .3s,box-shadow .3s}.form-input:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15);outline:none}.form-input.error,.form-textarea.error{border-color:var(--error);box-shadow:0 0 0 3px #ef44441a}.error-message{color:var(--error);font-size:.8rem;font-weight:500}.form-textarea{resize:vertical;min-height:120px}.honeypot-field{display:none!important}.submit-button{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(var(--primary-rgb),.3);border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.submit-button:hover{box-shadow:0 6px 20px rgba(var(--primary-rgb),.4);transform:translateY(-2px)}.submit-button:active{transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.send-icon{width:1.25rem;height:1.25rem}.loading-message,.success-message{border-radius:.75rem;align-items:center;gap:1rem;padding:1.25rem;display:flex}.success-message{background-color:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.loading-message{background-color:var(--card-bg);border:1px solid var(--border);color:var(--primary);text-align:center;flex-direction:column}.success-icon{width:1.5rem;height:1.5rem;color:var(--success);flex-shrink:0}.github-stats-section{padding:2rem 0 0}.github-stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}@media (min-width:768px){.github-stats-grid{grid-template-columns:repeat(4,1fr)}}.github-stat-card{background-color:var(--card-bg);text-align:center;border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;transition:all .3s;box-shadow:0 2px 8px #0000000a}.github-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.dark .github-stat-card{background-color:var(--gray-800)}.github-stat-value{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.github-stat-label{color:var(--text-muted);margin-top:.25rem;font-size:.85rem;font-weight:500}.command-palette-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#00000080;justify-content:center;align-items:flex-start;padding-top:20vh;display:flex;position:fixed;inset:0}.command-palette{background-color:var(--card-bg);border:1px solid var(--border);border-radius:1rem;width:90%;max-width:560px;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.command-palette-input-wrapper{border-bottom:1px solid var(--border);align-items:center;padding:1rem 1.25rem;display:flex}.command-palette-input-wrapper svg{width:1.25rem;height:1.25rem;color:var(--text-muted);flex-shrink:0;margin-right:.75rem}.command-palette-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:1rem}.command-palette-input::placeholder{color:var(--text-muted)}.command-palette-results{max-height:300px;padding:.5rem;overflow-y:auto}.command-palette-item{cursor:pointer;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background-color .15s;display:flex}.command-palette-item.active,.command-palette-item:hover{background-color:rgba(var(--primary-rgb),.1)}.command-palette-item-icon{font-size:1.25rem}.command-palette-item-label{color:var(--text);font-weight:500}.command-palette-item-shortcut{color:var(--text-muted);background-color:var(--card-bg-hover);border-radius:.25rem;margin-left:auto;padding:.125rem .5rem;font-family:monospace;font-size:.75rem}.command-palette-footer{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;padding:.75rem 1.25rem;font-size:.75rem;display:flex}.command-palette-footer kbd{background-color:var(--card-bg-hover);border-radius:.25rem;margin:0 .125rem;padding:.125rem .375rem;font-family:monospace}.scroll-to-top{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;cursor:pointer;z-index:40;width:3rem;height:3rem;box-shadow:0 4px 14px rgba(var(--primary-rgb),.3);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:2rem;right:2rem}.scroll-to-top:hover{box-shadow:0 6px 20px rgba(var(--primary-rgb),.4);transform:translateY(-3px)}.scroll-to-top svg{width:1.25rem;height:1.25rem}.loading-screen{background-color:var(--bg);z-index:200;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex;position:fixed;inset:0}.loading-logo{color:var(--primary);font-size:2rem;font-weight:800;animation:pulse 1.5s ease-in-out infinite}.loading-logo span{color:var(--secondary)}@keyframes pulse{50%{opacity:.5}}.loading-bar-container{background-color:var(--border);border-radius:3px;width:200px;height:3px;overflow:hidden}.loading-bar{background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:3px;height:100%;animation:loading-progress 1.5s ease-in-out forwards}@keyframes loading-progress{0%{width:0}to{width:100%}}.blog-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.blog-grid{grid-template-columns:repeat(2,1fr)}}.blog-card{background-color:var(--card-bg);border:1px solid var(--border);border-radius:1rem;transition:all .3s;overflow:hidden}.blog-card:hover{border-color:rgba(var(--primary-rgb),.3);transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.dark .blog-card{background-color:var(--gray-800)}.blog-card-body{padding:1.75rem}.blog-card-date{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.blog-card-title{color:var(--text-heading);margin:.5rem 0;font-size:1.25rem;font-weight:700}.blog-card-excerpt{color:var(--text-muted);font-size:.95rem;line-height:1.6}.blog-card-link{color:var(--primary);align-items:center;gap:.25rem;margin-top:1rem;font-size:.9rem;font-weight:600;transition:gap .2s;display:inline-flex}.blog-card-link:hover{gap:.5rem}.blog-card-link svg{width:1rem;height:1rem}.blog-post{max-width:720px;margin:0 auto;padding:2rem 1.5rem}.blog-post h1{letter-spacing:-.025em;margin-bottom:.5rem;font-size:2.5rem;font-weight:800}.blog-post-meta{color:var(--text-muted);margin-bottom:2rem;font-size:.9rem}.blog-post-content{color:var(--text);line-height:1.8}.blog-post-content h2{margin-top:2.5rem;margin-bottom:1rem;font-size:1.75rem}.blog-post-content h3{margin-top:2rem;margin-bottom:.75rem;font-size:1.375rem}.blog-post-content p{margin-bottom:1.25rem}.blog-post-content code{background-color:var(--card-bg-hover);border-radius:.25rem;padding:.125rem .375rem;font-size:.9rem}.blog-post-content pre{background-color:var(--gray-900);color:var(--gray-100);border-radius:.75rem;margin-bottom:1.5rem;padding:1.25rem;overflow-x:auto}.blog-post-content pre code{background:0 0;padding:0}.blog-post-content ol,.blog-post-content ul{margin-bottom:1.25rem;padding-left:1.5rem}.blog-post-content li{margin-bottom:.5rem}.blog-post-content a{color:var(--primary);text-decoration:underline;-webkit-text-decoration-color:rgba(var(--primary-rgb),.3);text-decoration-color:rgba(var(--primary-rgb),.3);transition:text-decoration-color .2s}.blog-post-content a:hover{-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}.resume-section{background-color:var(--bg-alt);text-align:center}.dark .resume-section{background-color:var(--gray-900)}.resume-content{max-width:600px;margin:0 auto}.resume-description{color:var(--text-muted);margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.resume-button{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 4px 14px rgba(var(--primary-rgb),.3);border-radius:.75rem;align-items:center;gap:.5rem;padding:.875rem 2rem;font-weight:600;transition:all .3s;display:inline-flex}.resume-button:hover{box-shadow:0 6px 20px rgba(var(--primary-rgb),.4);transform:translateY(-2px)}.resume-button svg{width:1.25rem;height:1.25rem}.footer{background-color:var(--gray-900);color:var(--gray-400);padding:3.5rem 0 1.5rem}.footer-grid{grid-template-columns:1fr;gap:2rem;margin-bottom:2.5rem;display:grid}@media (min-width:768px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}.footer-brand-title{color:var(--primary);margin-bottom:1rem;font-size:1.75rem;font-weight:800}.footer-brand-title span{color:var(--secondary)}.footer-brand-desc{color:var(--gray-400);max-width:280px;margin-bottom:1.25rem;line-height:1.6}.footer-social-links{gap:.75rem;display:flex}.footer-social-link{color:var(--gray-400);transition:all .2s}.footer-social-link:hover{color:var(--primary);transform:translateY(-2px)}.footer-social-link svg{width:1.25rem;height:1.25rem}.footer-section-title{color:var(--gray-100);margin-bottom:1rem;font-size:1.1rem;font-weight:700}.footer-links{flex-direction:column;gap:.5rem;list-style:none;display:flex}.footer-link{color:var(--gray-400);font-size:.95rem;transition:color .2s}.footer-link:hover{color:var(--primary)}.footer-contact-item{color:var(--gray-400);align-items:center;margin-bottom:.5rem;display:flex}.footer-contact-item svg{width:1.1rem;height:1.1rem;color:var(--primary);flex-shrink:0;margin-right:.5rem}.footer-contact-item a{transition:color .2s}.footer-contact-item a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid var(--gray-800);text-align:center;color:var(--gray-500);margin-top:2rem;padding-top:2rem;font-size:.9rem}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}