*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}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}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--bg:#ffffff;--surface:#f6f7fb;--muted:#eef1ff;--text:#0f1724;--accent:#4b4bff;--nav-bg:#ffffff;--nav-muted:#f2f3f8;--hero-start:#eef2ff;--hero-end:#e6f0ff;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html.dark{--bg:#0f1724;--surface:#11121b;--muted:#0b0c12;--text:rgba(255,255,255,0.92);--accent:#9aa3ff;--nav-bg:#232336;--nav-muted:#29293d;--hero-start:#071029;--hero-end:#0b2a3a}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}html{scroll-behavior:smooth}.app-root{background-color:var(--bg);color:var(--text);transition:background-color .24s ease,color .24s ease;min-height:100vh}h1{font-size:3.2em;color:var(--accent)}.section-title{font-size:2.5rem;font-weight:700;color:var(--text);margin-bottom:1rem;position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:4px;background:var(--accent);border-radius:2px}.section-header{margin-bottom:3rem;text-align:left}.section-divider{width:100%;max-width:1100px;height:1px;background:linear-gradient(to right,transparent,var(--accent),transparent);margin:0 auto 2.5rem;opacity:.15}@media (max-width:768px){.section-title{font-size:2rem}}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;background-color:var(--surface);transition:border-color .25s}button:hover{border-color:#646cff}.fallback-navbar{position:fixed;top:1.5rem;left:50%;transform:translateX(-50%);width:90%;max-width:64rem;background:var(--nav-bg);backdrop-filter:blur(12px);border-radius:1.25rem;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:.75rem 1.25rem;z-index:9999;transition:top .3s ease,opacity .3s ease}.fallback-navbar.nav-hidden{top:-100px;opacity:0}.fallback-navbar__inner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;width:100%!important;flex-wrap:nowrap!important;min-height:2.5rem}.nav-logo-container{display:flex;align-items:center;cursor:pointer;flex-shrink:0;margin-right:1rem}.nav-logo{height:1.75rem;width:auto;-o-object-fit:contain;object-fit:contain}.nav-controls-right{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.75rem!important;flex-wrap:nowrap!important;flex-shrink:0}.desktop-links{display:flex;align-items:center;gap:.25rem;flex-wrap:nowrap}.fallback-navbar__link{color:var(--text);opacity:.8;padding:.4rem .75rem;border-radius:.75rem;font-size:.9rem;font-weight:500;transition:all .2s ease;background:transparent;border:none;cursor:pointer;white-space:nowrap}.fallback-navbar__link:hover{opacity:1;background:var(--accent-faded);color:var(--accent)}.theme-toggle{width:36px!important;height:36px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(128,128,128,.15)!important;border:1px solid rgba(128,128,128,.2)!important;color:var(--text)!important;cursor:pointer!important;flex-shrink:0!important;padding:0!important;margin:0!important}.theme-toggle:hover{background:rgba(128,128,128,.25)!important}.theme-toggle svg{display:block!important;width:20px!important;height:20px!important;stroke:currentColor!important;fill:none!important;stroke-width:2.5!important;opacity:1!important;visibility:visible!important}.hamburger{display:none;flex-direction:column;justify-content:space-around;width:1.8rem;height:1.2rem;background:transparent;border:none;cursor:pointer;padding:0;flex-shrink:0}.hamburger .line{width:1.8rem;height:2px;background:var(--text);border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1)}.hamburger.active .line:first-child{transform:translateY(5px) rotate(45deg)}.hamburger.active .line:nth-child(2){opacity:0}.hamburger.active .line:nth-child(3){transform:translateY(-5px) rotate(-45deg)}@media (min-width:768px){.desktop-links{display:flex!important}.hamburger{display:none!important}}@media (max-width:767px){.desktop-links{display:none!important}.hamburger{display:flex!important}.fallback-navbar{width:94%;top:1rem}}.mobile-menu{position:fixed;top:0;right:0;width:100%;height:100vh;background:var(--nav-bg);backdrop-filter:blur(15px);z-index:9998;display:flex;align-items:center;justify-content:center;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1),visibility .4s cubic-bezier(.4,0,.2,1);visibility:hidden}.mobile-menu.show{transform:translateX(0);visibility:visible}.mobile-menu-content{display:flex;flex-direction:column;gap:2rem;align-items:center}.mobile-link{font-size:1.75rem;font-weight:600;color:var(--text);background:transparent;border:none;cursor:pointer;transition:color .2s ease}.mobile-link:hover{color:var(--accent)}.site-footer{width:100%;background-color:var(--surface);color:var(--text);padding-left:1rem;padding-right:1rem}.footer-inner{max-width:1100px;margin:0 auto;padding:2rem 24px;display:flex;justify-content:center;flex-direction:column;align-items:center}.footer-heading{margin:0;font-size:1.8rem;color:var(--text);text-align:center}.footer-col h4{margin:0 0 .75rem;font-size:1rem;color:var(--accent)}.footer-nav ul{list-style:none;padding:0;margin:0}.footer-nav li{margin:.45rem 0}.footer-nav a{color:var(--text);opacity:.95;text-decoration:none}.footer-nav a:hover{color:var(--accent);text-decoration:none}.footer-contact .contact-line{margin:.25rem 0;opacity:.95}.socials{margin-top:.75rem;display:flex;gap:.8rem}.footer-contacts .socials{margin-top:0}.social-link{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;border-radius:8px;background:transparent;color:var(--text);text-decoration:none;transition:transform .12s ease,color .18s ease;padding:6px}.social-svg{width:26px;height:26px}.social-link:hover{transform:translateY(-3px);color:var(--accent)}.footer-brand{text-align:center}.footer-logo{width:40px;height:auto;display:inline-block;filter:none}.footer-tagline{margin:0;font-size:.98rem;opacity:.95;color:var(--text)}.copyright{margin-top:.8rem;opacity:.85}.footer-contacts{display:flex;align-items:center;gap:1rem;margin-top:1rem;flex-wrap:wrap;justify-content:center;text-align:center}@media (max-width:480px){.footer-inner{padding:1.25rem 12px}.footer-heading{font-size:1.6rem}}.footer-contact{gap:.5rem;color:var(--text);text-decoration:none}.contact-pill,.footer-contact{display:inline-flex;align-items:center}.contact-pill{justify-content:center;width:34px;height:34px;border-radius:8px;background:rgba(0,0,0,.08)}.footer-sep{display:inline-block;width:1px;height:18px;background:var(--text);opacity:.25;margin:0 .4rem;border-radius:1px}.footer-divider{width:60px;height:2px;background:var(--accent);opacity:.35;margin:1rem auto .75rem;border-radius:2px}.footer-copy{text-align:center;margin:.5rem 0 0;font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;text-transform:uppercase;letter-spacing:.02em;opacity:.7}@media (max-width:880px){.footer-inner{padding:1rem 16px}.footer-logo{width:36px}.copyright,.footer-tagline{font-size:.9rem}}html.dark .social-link:hover{background-color:rgba(255,255,255,.04)}.hero-outer{width:100%;padding:10rem 2rem 3rem;box-sizing:border-box;scroll-margin-top:96px}.hero-frame{max-width:calc(1100px + 30px);margin:0 auto;background:linear-gradient(90deg,var(--hero-end),var(--hero-start));padding:15px;border-radius:0}.hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:2rem;align-items:center;background:var(--surface);border:1px solid rgba(0,0,0,.05);padding:2rem;border-radius:24px;box-shadow:0 10px 30px rgba(0,0,0,.05);overflow:hidden;backdrop-filter:blur(10px);transition:transform .3s ease,box-shadow .3s ease}html.dark .hero-inner{border-color:rgba(255,255,255,.05);box-shadow:0 10px 30px rgba(0,0,0,.2)}.hero-inner:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(0,0,0,.1)}html.dark .hero-inner:hover{box-shadow:0 15px 35px rgba(0,0,0,.3)}.hero-media{display:flex;align-items:center;justify-content:center}.hero-image{width:100%;height:auto;max-width:280px;-o-object-fit:contain;object-fit:contain;display:block}.hero-content{color:var(--text)}.hero-title{margin:0 0 .5rem;font-size:1.8rem}.hero-sub{margin:0 0 1rem;line-height:1.5;opacity:.95}.hero-ctas{display:flex;gap:1rem}.btn{display:inline-block;background:rgba(0,0,0,.08);color:var(--text);padding:.6rem 1rem;border-radius:999px;text-decoration:none}.btn-outline{background:transparent;border:1px solid rgba(0,0,0,.08)}@media (max-width:880px){.hero-outer{padding-left:1rem;padding-right:1rem}.hero-inner{grid-template-columns:1fr;text-align:center}.hero-media{order:-1}.hero-image{max-width:240px}.hero-title{font-size:1.6rem}.hero-sub{font-size:.95rem;line-height:1.6}.hero-ctas{flex-direction:column;align-items:stretch;gap:.75rem}.btn,.btn-outline{width:100%;padding:.8rem 1rem}}@media (max-width:480px){.hero-outer{padding-top:4rem;padding-left:.75rem;padding-right:.75rem}.hero-image{max-width:200px}.hero-title{font-size:1.4rem}.hero-sub{font-size:.92rem}.btn,.btn-outline{padding:.9rem 1rem}}html.dark .hero-inner{background:rgba(255,255,255,.03)}.hero-outer .reveal{opacity:0;transform:translateY(16px)}.hero-visible .reveal{opacity:1;transform:none;transition:opacity .42s ease,transform .42s ease}.role-rotator{display:inline-block;color:var(--accent);font-weight:700;margin:0 .25rem}.role-item{display:inline-block;animation:roleIn .48s ease;transition:color .24s ease}.accent-frontend{color:#22c55e}.accent-backend{color:#f59e0b}.accent-db{color:#3b82f6}@keyframes roleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.role-heading{margin:.25rem 0 .5rem;font-size:1.6rem;color:var(--accent)}.role-item:after{content:"|";margin-left:2px;opacity:.6;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.projects-section{padding:2rem;background:var(--bg);margin-bottom:3rem;scroll-margin-top:96px}.projects-frame{display:flex;flex-direction:column;align-items:flex-start;position:relative;max-width:1100px;margin:0 auto}.projects-sub{font-size:1rem;color:var(--text);opacity:.8;margin-top:.5rem}.projects-carousel{display:flex;flex-wrap:nowrap;width:100%;gap:2rem;position:relative;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;padding:1rem 0}.projects-carousel::-webkit-scrollbar{display:none}.projects-controls{position:absolute;top:50%;left:-50px;right:-50px;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none;z-index:20}.proj-arrow{width:46px;height:46px;border-radius:50%;background:var(--surface);border:1px solid rgba(0,0,0,.1);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.15)}.proj-arrow:hover{background:var(--accent);color:white;border-color:var(--accent);transform:scale(1.1)}@media (max-width:1200px){.projects-controls{display:flex!important;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);width:100%;justify-content:space-between;padding:0 .5rem;pointer-events:none;z-index:30}.proj-arrow{width:40px;height:40px;pointer-events:auto}.projects-frame{padding:0 .5rem}}.project-item{flex:0 0 calc(33.333% - 1.33rem);min-height:var(--card-h,540px);background:var(--surface);border:1px solid rgba(0,0,0,.05);padding:1.75rem;border-radius:24px;box-sizing:border-box;backdrop-filter:blur(10px);transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 10px 30px rgba(0,0,0,.05);display:flex;flex-direction:column}html.dark .project-item{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.05);box-shadow:0 10px 30px rgba(0,0,0,.2)}.project-item:hover{transform:translateY(-6px);box-shadow:0 15px 35px rgba(0,0,0,.1)}html.dark .project-item:hover{box-shadow:0 15px 35px rgba(0,0,0,.3)}.project-item.featured{border-color:rgba(212,175,55,.3);background:rgba(212,175,55,.02)}html.dark .project-item.featured{background:rgba(212,175,55,.05);border-color:rgba(212,175,55,.4)}.project-inner{width:100%;height:100%;display:flex;flex-direction:column;gap:1rem;background:transparent;padding:0;border-radius:0;overflow:visible;position:relative}.project-item.featured .project-title{color:#d4af37}.project-item.featured .project-divider{background:#d4af37}.project-badge{position:absolute;top:12px;right:12px;border:1px solid #d4af37;color:#d4af37;border-radius:999px;padding:4px 10px;font-size:.8rem;box-shadow:0 0 0 0 rgba(212,175,55,0);animation:badgeGlow 2.4s ease-in-out infinite}@keyframes badgeGlow{0%{box-shadow:0 0 0 0 rgba(212,175,55,0)}50%{box-shadow:0 0 12px 4px rgba(212,175,55,.55)}to{box-shadow:0 0 0 0 rgba(212,175,55,0)}}.project-title{font-size:1.5rem;color:var(--accent);margin-bottom:.5rem}.project-divider{height:2px;background:var(--accent);margin-bottom:1rem}.project-list{list-style:none;padding:0;flex:0 0 auto;min-height:0;margin:0}.project-list li{margin-bottom:.5rem;color:var(--text);line-height:1.4}.project-actions{position:static;display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:auto;margin-bottom:.5rem;width:100%;padding-top:1rem;--action-btn-h:40px}.project-actions .project-btn{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex:1 1 auto;min-width:0;max-width:560px;padding:.7rem .9rem;background:var(--accent);color:#fff;border-radius:6px;text-decoration:none;transition:background-color .3s,transform .2s;min-height:var(--action-btn-h)}.project-actions .project-btn:hover{background:#535bf2}.project-actions .project-btn .btn-icon{display:block;width:16px;height:16px;stroke:currentColor}.project-actions .project-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--action-btn-h);height:var(--action-btn-h);border-radius:8px;background:transparent;border:1px solid rgba(0,0,0,.12);color:var(--text);flex:0 0 var(--action-btn-h);transition:background-color .3s,border-color .2s,transform .2s,color .2s}.project-actions .project-icon-btn:hover{background:#535bf2;border-color:#535bf2;color:#fff;transform:translateY(-1px)}.project-actions .project-icon-btn .btn-icon{display:block;width:20px;height:20px;stroke:currentColor;fill:currentColor}html.dark .project-actions .project-icon-btn{border-color:rgba(255,255,255,.18)}.proj-arrow:hover{background:#535bf2}@media (max-width:1024px){.project-item{flex:0 0 calc((100% - 2rem) / 2)}}@media (max-width:768px){.projects-carousel{gap:1rem;overflow-x:auto;scrollbar-width:none}.projects-carousel::-webkit-scrollbar{display:none}.project-item{flex:0 0 88%}.projects-controls{display:flex!important;padding:0 .25rem}.proj-arrow{width:36px;height:36px}}@media (max-width:480px){.project-item{flex:0 0 100%;height:auto}.projects-carousel{gap:.75rem}.project-title{font-size:1.25rem}.project-list li{font-size:.95rem}}@media (min-width:1280px){.project-item{flex:0 0 calc((100% - 4rem) / 3);height:600px}}.projects-section .reveal{opacity:0;transform:translateY(16px)}.projects-visible .reveal{opacity:1;transform:none;transition:opacity .42s ease,transform .42s ease}.skills-section{padding:0 2rem 1rem;background:var(--bg);margin-bottom:1rem;scroll-margin-top:96px}.skills-frame{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;max-width:1100px;margin:0 auto}.skills-marquee-container{--skill-frontend:#3b82f6;--skill-backend:#10b981;--skill-database:#f59e0b;--skill-tools:#8b5cf6;width:100%;max-width:100vw;overflow:hidden;display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent)}.marquee-row{display:flex;width:100%}.marquee-content{display:flex;gap:1rem;padding:0 .5rem;white-space:nowrap}.marquee-ltr .marquee-content{animation:scroll-ltr 40s linear infinite}.marquee-rtl .marquee-content{animation:scroll-rtl 40s linear infinite}.marquee-row:hover .marquee-content{animation-play-state:paused}@keyframes scroll-ltr{0%{transform:translateX(-50%)}to{transform:translateX(0)}}@keyframes scroll-rtl{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.skill-tag{display:inline-flex;background:rgba(255,255,255,.05);color:var(--text);padding:.6rem 1.2rem;border-radius:99px;border:1px solid rgba(0,0,0,.08);font-size:.95rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:default;backdrop-filter:blur(4px);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;text-transform:uppercase;letter-spacing:.03em}.skill-tag[data-category=frontend]{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.2);color:#3b82f6}.skill-tag[data-category=backend]{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.2);color:#10b981}.skill-tag[data-category=database]{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.2);color:#f59e0b}.skill-tag[data-category=tools]{background:rgba(139,92,246,.08);border-color:rgba(139,92,246,.2);color:#8b5cf6}html.dark .skill-tag{background:rgba(0,0,0,.2);border-color:rgba(255,255,255,.1)}html.dark .skill-tag[data-category=frontend]{background:rgba(59,130,246,.15)}html.dark .skill-tag[data-category=backend]{background:rgba(16,185,129,.15)}html.dark .skill-tag[data-category=database]{background:rgba(245,158,11,.15)}html.dark .skill-tag[data-category=tools]{background:rgba(139,92,246,.15)}.skill-tag:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 15px rgba(0,0,0,.2);color:#fff!important}.skill-tag[data-category=frontend]:hover{background:#3b82f6;border-color:#3b82f6}.skill-tag[data-category=backend]:hover{background:#10b981;border-color:#10b981}.skill-tag[data-category=database]:hover{background:#f59e0b;border-color:#f59e0b}.skill-tag[data-category=tools]:hover{background:#8b5cf6;border-color:#8b5cf6}@media (max-width:768px){.skill-tag{padding:.45rem 1rem;font-size:.85rem}}.skills-section .reveal{opacity:0;transform:translateY(16px)}.skills-visible .reveal{opacity:1;transform:none;transition:opacity .42s ease,transform .42s ease}.stats-section{padding:2rem;background:linear-gradient(to bottom,var(--hero-start),var(--hero-end));margin-bottom:3rem;scroll-margin-top:96px}.stats-frame{display:flex;flex-direction:column;align-items:flex-start;max-width:1100px;margin:0 auto}.stats-sub{font-size:1rem;color:var(--text);opacity:.8;margin-top:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;width:100%}.stat-card{background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}html.dark .stat-card{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.05)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgba(0,0,0,.1)}.stat-info{justify-content:space-between;margin-bottom:1rem}.stat-info,.stat-label-group{display:flex;align-items:center}.stat-label-group{gap:.75rem}.stat-icon{color:var(--accent);display:flex;align-items:center}.stat-label{font-weight:600;color:var(--text)}.stat-value{font-family:ui-monospace,monospace;color:var(--accent);font-weight:700}.stat-divider{height:1px;background:rgba(0,0,0,.05);margin-bottom:1rem}html.dark .stat-divider{background:rgba(255,255,255,.05)}.bar{height:8px;background:rgba(0,0,0,.05);border-radius:4px;overflow:hidden}html.dark .bar{background:rgba(255,255,255,.1)}.bar-fill{height:100%;background:var(--accent);border-radius:4px;transition:width 1.5s cubic-bezier(.4,0,.2,1)}@media (max-width:768px){.stats-grid{grid-template-columns:1fr;gap:1.25rem}}.stats-section .reveal{opacity:0;transform:translateY(16px)}.stats-visible .reveal{opacity:1;transform:none;transition:opacity .42s ease,transform .42s ease}.contact-page{padding:10rem 1rem 6rem;background:var(--bg);overflow-x:hidden}.contact-panel{max-width:1100px;margin:0 auto;background:linear-gradient(135deg,var(--hero-start),var(--hero-end));border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.12);padding:2rem;overflow:hidden}.contact-heading{text-align:center;color:var(--accent);margin:0 0 1rem}.contact-grid{display:grid;grid-template-columns:1fr 2px 1fr;gap:1.5rem;align-items:stretch}.contact-title{margin:0 0 .75rem;color:var(--accent);text-align:center;font-weight:700;font-size:1.5rem}.contact-divider{height:2px;background:var(--accent);opacity:.9;margin:0 0 1rem}.contact-v-divider{width:2px;background:var(--accent);opacity:.9;border-radius:2px;align-self:stretch}.contact-left{color:var(--text);padding:0}.contact-list{list-style:none;padding:0;margin:0 0 .75rem;word-break:break-word;overflow-wrap:break-word}.contact-list li{display:flex;align-items:center;gap:.6rem;margin:.4rem 0}.contact-icon{width:20px;height:20px;stroke:currentColor;fill:none}.contact-socials{display:flex;gap:.8rem;justify-content:center}.social-a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:rgba(0,0,0,.08);color:var(--text);text-decoration:none}.social-svg{display:block;width:20px;height:20px;fill:currentColor}.social-a:hover{background:rgba(0,0,0,.12);color:var(--accent)}.contact-right{display:flex;flex-direction:column}.form-row{margin-bottom:.75rem}.input,.textarea{width:100%;box-sizing:border-box;border-radius:10px;border:1px solid rgba(0,0,0,.08);padding:.75rem .9rem;background:var(--surface);color:var(--text)}.contact-right .submit{display:flex;align-items:center;justify-content:center;width:90%;margin:.5rem auto 0;padding:.5rem .75rem;background:var(--accent);color:#fff;border:none;border-radius:4px;transition:background-color .3s ease}.contact-right .submit:hover{background:#535bf2}@media (max-width:768px){.contact-page{padding:10rem .75rem 6rem}.contact-panel{padding:1.5rem}.contact-grid{grid-template-columns:1fr;gap:1.5rem}.contact-v-divider{display:none}.contact-grid:after{content:"";position:absolute;left:1.5rem;right:1.5rem;height:1px;background:var(--accent);opacity:.5;margin-top:-.75rem}.contact-left{padding:0 0 1.5rem;border-bottom:1px solid var(--accent);border-bottom-opacity:.5}}.contact-page .reveal{opacity:0;transform:translateY(16px)}.contact-visible .reveal{opacity:1;transform:none;transition:opacity .42s ease,transform .42s ease}.contact-status{margin:.75rem auto 0;width:90%;padding:.5rem .75rem;border-radius:8px;display:flex;align-items:center;gap:.5rem}.contact-status.success{background:rgba(34,197,94,.12);color:var(--text)}.contact-status.error{background:rgba(244,63,94,.12);color:var(--text)}.error-text{color:#f43f5e;font-size:.75rem;margin-top:.25rem;display:block;font-weight:500}.input-error,.textarea-error{border-color:#f43f5e!important}.academic-section{padding:2rem 1rem 4rem;background:var(--bg);scroll-margin-top:96px}.academic-container{max-width:1100px;margin:0 auto}.academic-subtitle{font-size:1.1rem;color:var(--text);opacity:.7;max-width:600px;line-height:1.6}.academic-slider-wrapper{position:relative;width:100%;overflow:hidden;padding:2rem 0 4rem}.academic-slider{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1);width:100%;gap:1rem}.academic-slide{flex:0 0 85%;width:85%;padding:0;box-sizing:border-box;opacity:.4;transform:scale(.9);transition:all .6s cubic-bezier(.4,0,.2,1)}.academic-slide.active{opacity:1;transform:scale(1.02)}.academic-card{display:grid;grid-template-columns:1.2fr .8fr;background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:24px;padding:2.5rem;gap:2.5rem;box-shadow:0 10px 30px rgba(0,0,0,.05);max-width:950px;margin:0 auto;backdrop-filter:blur(10px);transition:transform .3s ease,box-shadow .3s ease}html.dark .academic-card{background:rgba(255,255,255,.03);box-shadow:0 10px 30px rgba(0,0,0,.2)}.academic-slide.active .academic-card:hover{transform:translateY(-6px);box-shadow:0 15px 35px rgba(0,0,0,.1)}html.dark .academic-slide.active .academic-card:hover{box-shadow:0 15px 35px rgba(0,0,0,.3)}.slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:var(--surface);border:1px solid rgba(0,0,0,.1);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.15)}.slider-nav:hover{background:var(--accent);color:white;border-color:var(--accent);transform:translateY(-50%) scale(1.1)}.slider-nav.prev{left:1rem}.slider-nav.next{right:1rem}@media (max-width:768px){.academic-slide{flex:0 0 85%;width:85%}}.slider-nav svg{width:20px;height:20px}.slider-dots{display:flex;justify-content:center;gap:.6rem;margin-top:1.5rem}.dot{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.1);border:none;cursor:pointer;padding:0;transition:all .3s ease}html.dark .dot{background:rgba(255,255,255,.1)}.dot.active{background:var(--accent);transform:scale(1.2)}.card-left{display:flex;flex-direction:column;gap:.75rem}.status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .8rem;border-radius:99px;font-size:.75rem;font-weight:700;width:-moz-fit-content;width:fit-content;text-transform:uppercase;letter-spacing:.05em}.status-badge.completed-qualification,.status-badge.national-senior-certificate{background:rgba(34,197,94,.1);color:#22c55e}.status-badge.in-progress,.status-badge.pending{background:rgba(245,158,11,.1);color:#f59e0b}.degree-title{font-size:1.5rem;font-weight:700;color:var(--text);line-height:1.2}.institution-info{font-size:1rem;color:var(--accent);font-weight:600}.degree-description{font-size:.92rem;color:var(--text);opacity:.8;line-height:1.5}.card-right{background:rgba(0,0,0,.02);border-radius:14px;padding:1.25rem;border:1px solid rgba(0,0,0,.03)}html.dark .card-right{background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.03)}.modules-heading{font-size:.75rem;font-weight:800;color:var(--text);opacity:.5;letter-spacing:.08em;margin-bottom:1rem}.modules-list{display:grid;grid-template-columns:1fr;gap:.6rem;list-style:none;padding:0}.module-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;color:var(--text);opacity:.9;line-height:1.3;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;text-transform:uppercase;letter-spacing:.02em}.bullet{width:5px;height:5px;background:var(--accent);border-radius:50%;margin-top:.4rem;flex-shrink:0}@media (min-width:1200px){.modules-list{grid-template-columns:1fr 1fr}}@media (max-width:992px){.academic-card{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}.academic-slider-wrapper{padding:1rem 0 3rem;overflow-x:auto;scrollbar-width:none}.academic-slider-wrapper::-webkit-scrollbar{display:none}.slider-nav{display:flex!important;position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;z-index:30}.slider-nav.prev{left:.5rem}.slider-nav.next{right:.5rem}}@media (max-width:768px){.academic-title{font-size:2rem}.degree-title{font-size:1.35rem}.academic-slide{flex:0 0 88%;width:88%}.slider-nav{width:36px;height:36px}.slider-nav.prev{left:.25rem}.slider-nav.next{right:.25rem}}.academic-visible .reveal{opacity:1;transform:translateY(0);transition:opacity .6s ease,transform .6s ease}html.dark .academic-card{background:#11121b;border-color:rgba(255,255,255,.05)}