:root{--color-bg-primary:#fafafa;--color-bg-secondary:#ffffff;--color-bg-tertiary:#f4f4f5;--color-bg-accent:#f0f9ff;--color-text-primary:#18181b;--color-text-secondary:#52525b;--color-text-muted:#a1a1aa;--color-text-inverse:#ffffff;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-light:#3b82f6;--color-accent-subtle:#dbeafe;--color-secondary:#7c3aed;--color-secondary-hover:#6d28d9;--color-success:#10b981;--color-success-bg:#d1fae5;--color-error:#ef4444;--color-error-bg:#fee2e2;--color-warning:#f59e0b;--color-border:#e4e4e7;--color-border-hover:#d4d4d8;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--shadow-2xl:0 25px 50px -12px rgb(0 0 0/0.25);--shadow-glow:0 0 40px rgb(37 99 235/0.15);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","Fira Code",Consolas,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--transition-slower:500ms ease;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-tooltip:600;--container-max:1200px;--header-height:72px}[data-theme=dark]{--color-bg-primary:#09090b;--color-bg-secondary:#18181b;--color-bg-tertiary:#27272a;--color-bg-accent:#1e3a5f;--color-text-primary:#fafafa;--color-text-secondary:#a1a1aa;--color-text-muted:#71717a;--color-text-inverse:#18181b;--color-accent:#3b82f6;--color-accent-hover:#60a5fa;--color-accent-light:#2563eb;--color-accent-subtle:#1e3a8a;--color-secondary:#8b5cf6;--color-secondary-hover:#a78bfa;--color-success-bg:#064e3b;--color-error-bg:#7f1d1d;--color-border:#27272a;--color-border-hover:#3f3f46;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.3);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.4),0 2px 4px -2px rgb(0 0 0/0.3);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.4),0 4px 6px -4px rgb(0 0 0/0.3);--shadow-xl:0 20px 25px -5px rgb(0 0 0/0.5),0 8px 10px -6px rgb(0 0 0/0.4);--shadow-glow:0 0 60px rgb(59 130 246/0.2)}@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-slow),color var(--transition-slow)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background-color:var(--color-accent);color:var(--color-text-inverse)}a{color:inherit;text-decoration:none}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}ol,ul{list-style:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-hover)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-4)}@media (min-width:640px){.container{padding:0 var(--space-6)}}@media (min-width:1024px){.container{padding:0 var(--space-8)}}.section{padding:var(--space-16) 0}@media (min-width:768px){.section{padding:var(--space-24) 0}}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--color-text-primary)}.section-header{text-align:center;margin-bottom:var(--space-16)}.section-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-full);margin-bottom:var(--space-4)}.section-badge--blue{color:var(--color-accent);background-color:var(--color-accent-subtle)}.section-badge--purple{color:var(--color-secondary);background-color:rgba(124,58,237,.1)}.section-badge--green{color:var(--color-success);background-color:var(--color-success-bg)}.section-title{font-size:var(--text-3xl);margin-bottom:var(--space-4)}@media (min-width:640px){.section-title{font-size:var(--text-4xl)}}@media (min-width:768px){.section-title{font-size:var(--text-5xl)}}.section-subtitle{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:600px}.gradient-text{background:linear-gradient(135deg,var(--color-accent) 0,var(--color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-xl);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{color:var(--color-text-inverse);background:linear-gradient(135deg,var(--color-accent) 0,var(--color-secondary) 100%);box-shadow:var(--shadow-md)}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.btn--outline{color:var(--color-text-primary);background-color:transparent;border:2px solid var(--color-border)}.btn--outline:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.btn--full{width:100%}.btn--loading{background-color:var(--color-text-muted);cursor:not-allowed}.btn--success{background:var(--color-success)}.btn--error{background:var(--color-error)}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}.app-wrapper{min-height:100vh;display:flex;flex-direction:column}.card{background-color:var(--color-bg-secondary);border-radius:var(--radius-2xl);border:1px solid var(--color-border);overflow:hidden;transition:all var(--transition-slow)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-border-hover)}.card-body{padding:var(--space-6)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 2s ease-in-out infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.w-full{width:100%}.h-full{height:100%}.header{position:fixed;top:0;left:0;right:0;z-index:var(--z-modal);height:var(--header-height);transition:all var(--transition-base)}.header--scrolled{background-color:rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}[data-theme=dark] .header--scrolled{background-color:rgba(24,24,27,.8)}.header__nav{height:100%}.header__content{justify-content:space-between;height:100%}.header__content,.header__logo{display:flex;align-items:center}.header__logo{gap:var(--space-2)}.header__logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-secondary) 100%);border-radius:var(--radius-xl);color:white;box-shadow:var(--shadow-lg);transition:box-shadow var(--transition-base)}.header__logo:hover .header__logo-icon{box-shadow:var(--shadow-lg),var(--shadow-glow)}.header__logo-text{font-weight:700;font-size:var(--text-lg);display:none}@media (min-width:640px){.header__logo-text{display:block}}.header__menu{display:none;align-items:center;gap:var(--space-1)}@media (min-width:768px){.header__menu{display:flex}}.header__menu-link{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.header__menu-link:hover{color:var(--color-text-primary);background-color:var(--color-bg-tertiary)}.header__price-btn{margin-left:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:600;color:white;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-secondary) 100%);border-radius:var(--radius-lg);transition:all var(--transition-base)}.header__price-btn:hover{box-shadow:var(--shadow-md),var(--shadow-glow);transform:translateY(-1px)}.header__actions{display:flex;align-items:center;gap:var(--space-2)}.header__theme-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:var(--color-bg-tertiary);border:none;border-radius:var(--radius-xl);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.header__theme-toggle:hover{background-color:var(--color-accent-subtle)}.header__theme-icon--sun{color:#facc15}.header__theme-icon--moon{color:var(--color-text-secondary)}.header__mobile-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:var(--color-bg-tertiary);border:none;border-radius:var(--radius-xl);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}@media (min-width:768px){.header__mobile-toggle{display:none}}.header__mobile-toggle:hover{background-color:var(--color-accent-subtle)}.mobile-menu{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;z-index:calc(var(--z-modal) - 1);overflow-y:auto}.mobile-menu,[data-theme=dark] .mobile-menu{background-color:var(--color-bg-primary)}.mobile-menu__content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;gap:var(--space-8);padding:var(--space-12) var(--space-8)}.mobile-menu__link{font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);transition:color var(--transition-fast);padding:var(--space-2) var(--space-4)}.mobile-menu__link:active,.mobile-menu__link:hover{color:var(--color-accent)}.mobile-menu__price-btn{display:inline-block;padding:var(--space-4) var(--space-10);font-size:var(--text-lg);font-weight:600;color:white;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-secondary) 100%);border-radius:var(--radius-xl);transition:all var(--transition-base);margin-top:var(--space-4)}.mobile-menu__price-btn:active,.mobile-menu__price-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding-top:var(--header-height);overflow:hidden}.hero__bg{position:absolute;inset:0;background:linear-gradient(135deg,#eff6ff,#ffffff 50%,#f5f3ff)}[data-theme=dark] .hero__bg{background:linear-gradient(135deg,var(--color-bg-primary) 0,var(--color-bg-secondary) 50%,var(--color-bg-tertiary) 100%)}.hero__bg-effects{position:absolute;inset:0;overflow:hidden;pointer-events:none}.hero__blob{position:absolute;border-radius:50%;filter:blur(80px)}.hero__blob--1{top:-160px;right:-160px;width:320px;height:320px;background:rgba(96,165,250,.2);animation:pulse 4s ease-in-out infinite}.hero__blob--2{bottom:-160px;left:-160px;width:320px;height:320px;background:rgba(167,139,250,.2);animation:pulse 4s ease-in-out 1s infinite}.hero__blob--3{top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:linear-gradient(135deg,rgba(96,165,250,.1),rgba(167,139,250,.1))}.hero__grid-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.02) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.02) 1px,transparent 0);background-size:50px 50px}[data-theme=dark] .hero__grid-pattern{background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 0)}.hero__container{position:relative;z-index:1;padding:var(--space-20) var(--space-4);width:100%}.hero__content{text-align:center}.hero__status{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--color-success-bg);color:var(--color-success);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-full);margin-bottom:var(--space-8)}.hero__status-dot{position:relative;display:flex;width:8px;height:8px}.hero__status-ping{position:absolute;inset:0;background-color:#4ade80;border-radius:50%;animation:ping 1s cubic-bezier(0,0,.2,1) infinite;opacity:.75}.hero__status-core{position:relative;width:8px;height:8px;background-color:#22c55e;border-radius:50%}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.hero__title{font-size:var(--text-4xl);font-weight:800;line-height:1.1;letter-spacing:-.025em}@media (min-width:640px){.hero__title{font-size:var(--text-5xl)}}@media (min-width:768px){.hero__title{font-size:var(--text-6xl)}}@media (min-width:1024px){.hero__title{font-size:4.5rem}}.hero__title-line{display:block}.hero__title-name{display:block;margin-top:var(--space-2)}.hero__subtitle{margin-top:var(--space-6)}.hero__role{font-family:var(--font-mono);font-size:var(--text-xl);color:var(--color-text-secondary)}@media (min-width:640px){.hero__role{font-size:var(--text-2xl)}}.hero__cursor,.hero__role-bracket{color:var(--color-accent)}.hero__cursor{animation:blink 1s infinite}.hero__description{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:600px;margin:var(--space-6) auto 0;line-height:1.7}@media (min-width:640px){.hero__description{font-size:var(--text-xl)}}.hero__tech{font-weight:500}.hero__tech--react{color:var(--color-accent)}.hero__tech--next{color:var(--color-text-primary)}.hero__tech--ts{color:#06b6d4}.hero__location{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--color-text-muted);font-size:var(--text-base)}.hero__cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-10)}@media (min-width:640px){.hero__cta{flex-direction:row}}.hero__cta-btn{padding:var(--space-4) var(--space-8)}.hero__socials{gap:var(--space-4);margin-top:var(--space-12)}.hero__social-link,.hero__socials{display:flex;align-items:center;justify-content:center}.hero__social-link{width:48px;height:48px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-xl);color:var(--color-text-secondary);transition:all var(--transition-fast)}.hero__social-link:hover{background-color:var(--color-accent-subtle);color:var(--color-accent)}.hero__scroll{position:absolute;bottom:var(--space-8);left:50%;transform:translateX(-50%)}.hero__scroll-link{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-text-muted);transition:color var(--transition-fast)}.hero__scroll-link:hover{color:var(--color-accent)}.hero__scroll-text{font-size:var(--text-sm);font-weight:500}.about{position:relative;overflow:hidden}.about__bg{position:absolute;inset:0;background-color:var(--color-bg-tertiary)}.about__container{position:relative;z-index:1}.about__grid{display:grid;grid-gap:var(--space-12);gap:var(--space-12);align-items:center}@media (min-width:1024px){.about__grid{grid-template-columns:1fr 1fr}}.about__left{display:flex;justify-content:center}.about__avatar-wrapper{position:relative;width:100%;max-width:400px}.about__avatar-blur{position:absolute;width:288px;height:288px;border-radius:50%;filter:blur(60px)}.about__avatar-blur--1{top:-16px;left:-16px;background:rgba(37,99,235,.2)}.about__avatar-blur--2{bottom:-16px;right:-16px;background:rgba(124,58,237,.2)}.about__profile-card{position:relative;padding:var(--space-8);text-align:center}.about__avatar{width:128px;height:128px;margin:0 auto var(--space-6);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-secondary) 100%);border-radius:50%;font-size:var(--text-5xl);font-weight:700;color:white;box-shadow:var(--shadow-lg)}.about__name{font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-2)}.about__role{color:var(--color-accent);font-weight:500;margin-bottom:var(--space-6)}.about__stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.about__stat{text-align:center}.about__stat-value{font-size:var(--text-2xl);font-weight:700}.about__stat-label{font-size:var(--text-xs);color:var(--color-text-muted)}.about__right{gap:var(--space-6)}.about__cards,.about__right{display:flex;flex-direction:column}.about__cards,.about__info-card{gap:var(--space-4)}.about__info-card{display:flex;align-items:flex-start;padding:var(--space-4)}.about__info-card:hover{box-shadow:var(--shadow-xl)}.about__info-icon{flex-shrink:0;padding:var(--space-3);border-radius:var(--radius-xl)}.about__info-icon--blue{background-color:var(--color-accent-subtle);color:var(--color-accent)}.about__info-icon--purple{background-color:rgba(124,58,237,.1);color:var(--color-secondary)}.about__info-icon--green{background-color:var(--color-success-bg);color:var(--color-success)}.about__info-content{flex:1 1}.about__info-title{font-weight:600;margin-bottom:var(--space-1)}.about__info-text{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.about__info-text--italic{font-style:italic}.about__summary{padding-top:var(--space-4)}.about__summary p{color:var(--color-text-secondary);line-height:1.7}.about__highlight{font-weight:600}.about__highlight--blue{color:var(--color-accent)}.about__highlight--dark{color:var(--color-text-primary)}.about__highlight--cyan{color:#06b6d4}.skills{position:relative;overflow:hidden}.skills__bg{position:absolute;inset:0;background-color:var(--color-bg-secondary)}.skills__blur{position:absolute;width:384px;height:384px;border-radius:50%;filter:blur(60px);pointer-events:none}.skills__blur--1{top:0;left:0;background:rgba(37,99,235,.05)}.skills__blur--2{bottom:0;right:0;background:rgba(124,58,237,.05)}.skills__container{position:relative;z-index:1}.skills__grid{display:grid;grid-gap:var(--space-8);gap:var(--space-8)}@media (min-width:768px){.skills__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.skills__grid{grid-template-columns:repeat(3,1fr)}}.skills__category{padding:var(--space-6);background-color:var(--color-bg-tertiary)}.skills__category:hover{transform:translateY(-8px)}.skills__category-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.skills__category-icon{padding:var(--space-3);border-radius:var(--radius-xl)}.skills__category-icon--blue{background-color:var(--color-accent-subtle);color:var(--color-accent)}.skills__category-icon--purple{background-color:rgba(124,58,237,.1);color:var(--color-secondary)}.skills__category-icon--green{background-color:var(--color-success-bg);color:var(--color-success)}.skills__category-title{font-size:var(--text-xl);font-weight:700}.skills__list{display:flex;flex-direction:column;gap:var(--space-4)}.skills__item{cursor:default}.skills__item:hover .skills__item-icon{transform:scale(1.1)}.skills__item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.skills__item-info{display:flex;align-items:center;gap:var(--space-2)}.skills__item-icon{transition:transform var(--transition-fast)}.skills__item-name{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.skills__item-level{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.skills__progress{height:8px;background-color:var(--color-bg-primary);border-radius:var(--radius-full);overflow:hidden}[data-theme=dark] .skills__progress{background-color:var(--color-bg-tertiary)}.skills__progress-bar{height:100%;border-radius:var(--radius-full)}.skills__tools{margin-top:var(--space-12);text-align:center}.skills__tools-title{color:var(--color-text-secondary);margin-bottom:var(--space-6)}.skills__tools-list{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}.skills__tool-tag{padding:var(--space-2) var(--space-4);background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:default}.skills__tool-tag:hover{background-color:var(--color-accent-subtle);color:var(--color-accent)}.projects{position:relative;overflow:hidden}.projects__bg{position:absolute;inset:0;background-color:var(--color-bg-tertiary)}.projects__container{position:relative;z-index:1}.projects__grid{display:grid;grid-gap:var(--space-8);gap:var(--space-8)}@media (min-width:768px){.projects__grid{grid-template-columns:repeat(2,1fr)}}.project-card{overflow:hidden}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-2xl)}.project-card__image{position:relative;height:224px;overflow:hidden}.project-card__img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slower)}.project-card:hover .project-card__img{transform:scale(1.1)}.project-card__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(37,99,235,.2),rgba(124,58,237,.2));opacity:0;transition:opacity var(--transition-base);z-index:1}.project-card:hover .project-card__overlay{opacity:1}.project-card__actions{position:absolute;top:var(--space-4);right:var(--space-4);display:flex;gap:var(--space-2);z-index:2;opacity:0;transition:opacity var(--transition-base)}.project-card:hover .project-card__actions{opacity:1}.project-card__action-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:rgba(255,255,255,.9);border-radius:var(--radius-lg);color:var(--color-text-secondary);transition:all var(--transition-fast)}[data-theme=dark] .project-card__action-btn{background-color:rgba(24,24,27,.9)}.project-card__action-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-accent)}.project-card__content{padding:var(--space-6)}.project-card__title{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-2);transition:color var(--transition-fast)}.project-card:hover .project-card__title{color:var(--color-accent)}.project-card__description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-4);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.project-card__tag{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:500;background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:var(--radius-full)}.project-card__links{display:flex;align-items:center;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.project-card__link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;transition:color var(--transition-fast)}.project-card__link--primary{color:var(--color-accent)}.project-card__link--primary:hover{color:var(--color-accent-hover)}.project-card__link--secondary{color:var(--color-text-muted)}.project-card__link--secondary:hover{color:var(--color-text-primary)}.projects__cta{text-align:center;margin-top:var(--space-12)}.contact{position:relative;overflow:hidden}.contact__bg{position:absolute;inset:0;background-color:var(--color-bg-secondary)}.contact__blur{position:absolute;width:384px;height:384px;border-radius:50%;filter:blur(60px);pointer-events:none}.contact__blur--1{top:0;right:0;background:rgba(37,99,235,.05)}.contact__blur--2{bottom:0;left:0;background:rgba(124,58,237,.05)}.contact__container{position:relative;z-index:1}.contact__grid{display:grid;grid-gap:var(--space-12);gap:var(--space-12)}@media (min-width:1024px){.contact__grid{grid-template-columns:1fr 1fr}}.contact__form-wrapper{width:100%}.contact__form{gap:var(--space-6)}.contact__form,.form-group{display:flex;flex-direction:column}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.form-input,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);color:var(--color-text-primary);font-size:var(--text-base);transition:all var(--transition-fast)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea{resize:none;min-height:140px}.contact__submit{padding:var(--space-4)}.contact__info{display:flex;flex-direction:column;gap:var(--space-8)}.contact__info-cards{display:flex;flex-direction:column;gap:var(--space-4)}.contact__info-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background-color:var(--color-bg-tertiary);border-radius:var(--radius-xl)}.contact__info-icon{flex-shrink:0;padding:var(--space-3);background-color:var(--color-accent-subtle);color:var(--color-accent);border-radius:var(--radius-xl)}.contact__info-content{flex:1 1}.contact__info-label{font-size:var(--text-sm);color:var(--color-text-muted)}.contact__info-value{font-weight:500;color:var(--color-text-primary)}.contact__socials{display:flex;flex-direction:column;gap:var(--space-4)}.contact__socials-title{color:var(--color-text-secondary)}.contact__socials-list{display:flex;gap:var(--space-4)}.contact__social-link{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-xl);color:var(--color-text-secondary);transition:all var(--transition-fast)}.contact__social-link:hover{background-color:var(--color-accent-subtle);color:var(--color-accent)}.contact__cta-box{padding:var(--space-6);background:linear-gradient(135deg,rgba(37,99,235,.1),rgba(124,58,237,.1));border:1px solid rgba(37,99,235,.2);border-radius:var(--radius-2xl)}.contact__cta-title{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2)}.contact__cta-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.footer{position:relative;border-top:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.footer__container{padding-top:var(--space-12);padding-bottom:var(--space-12)}.footer__grid{display:grid;grid-gap:var(--space-8);gap:var(--space-8)}@media (min-width:768px){.footer__grid{grid-template-columns:repeat(3,1fr)}}.footer__brand{display:flex;flex-direction:column;gap:var(--space-4)}.footer__logo{display:flex;align-items:center;gap:var(--space-2)}.footer__logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-secondary) 100%);border-radius:var(--radius-xl);color:white}.footer__logo-text{font-weight:700;font-size:var(--text-lg)}.footer__description{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:280px}.footer__nav{display:flex;flex-direction:column}.footer__nav-title{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-4)}.footer__nav-list{display:flex;flex-direction:column;gap:var(--space-2)}.footer__nav-link{font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--transition-fast)}.footer__nav-link:hover{color:var(--color-accent)}.footer__socials{display:flex;flex-direction:column}.footer__socials-title{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-4)}.footer__socials-list{display:flex;gap:var(--space-3)}.footer__social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-xl);color:var(--color-text-secondary);transition:all var(--transition-fast)}.footer__social-link:hover{background-color:var(--color-accent-subtle);color:var(--color-accent)}.footer__bottom{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--color-border)}@media (min-width:640px){.footer__bottom{flex-direction:row;justify-content:space-between}}.footer__copyright,.footer__made{font-size:var(--text-sm);color:var(--color-text-secondary)}.footer__made{display:flex;align-items:center;gap:var(--space-1)}.footer__heart{color:#ef4444;fill:#ef4444}.price-page{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-sans);min-height:100vh}.price-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.price-header__title{font-size:var(--text-2xl);font-weight:700;display:flex;align-items:center;gap:var(--space-2)}.price-header__cta{padding:var(--space-2) var(--space-4);background-color:var(--color-accent);color:white;font-weight:500;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.price-header__cta:hover{background-color:var(--color-accent-hover)}.price-section{max-width:var(--container-max);margin:0 auto;padding:var(--space-10) var(--space-4)}.price-section__title{font-size:var(--text-3xl);font-weight:600;margin-bottom:var(--space-10);text-align:center}.price-grid{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}@media (min-width:640px){.price-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.price-grid{grid-template-columns:repeat(3,1fr)}}.price-card{background-color:var(--color-bg-secondary);padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--color-border);transition:all var(--transition-base);box-shadow:var(--shadow-lg)}.price-card:hover{transform:scale(1.03);box-shadow:var(--shadow-xl)}.price-card__icon{color:#facc15;margin-bottom:var(--space-4)}.price-card__title{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-2)}.price-card__list{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.price-card__deadline{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-1)}.price-card__price{font-size:var(--text-lg);font-weight:600;color:var(--color-success)}.price-contact{text-align:center;padding:var(--space-16) var(--space-4);background-color:var(--color-bg-secondary)}.price-contact__title{font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-4)}.price-contact__text{margin-bottom:var(--space-6);color:var(--color-text-secondary)}.price-contact__btn{display:inline-block;padding:var(--space-3) var(--space-6);background-color:var(--color-success);color:white;font-weight:500;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.price-contact__btn:hover{background-color:#059669}.price-footer{text-align:center;padding:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}.price-footer a{text-decoration:underline;transition:color var(--transition-fast)}.price-footer a:hover{color:var(--color-text-primary)}