*{margin:0;padding:0;box-sizing:border-box}#home{height:0;line-height:0}:root{--header-bg: #ffffff;--text-primary: #1a1a1a;--text-secondary: #333333;--accent-color: #0070f3;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--border-color: #e1e5e9;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-xxl: 4rem;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--font-4xl: 2.25rem;--font-5xl: 3rem}body[data-page-theme=dark]{--header-bg: #0a0a0a;--text-primary: #ffffff;--text-secondary: #e0e0e0;--accent-color: #66ccff;--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--border-color: #333333;--shadow: 0 2px 8px rgba(255, 255, 255, .1)}body{font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);font-size:var(--font-base);transition:background-color .3s ease,color .3s ease;overflow-x:hidden}h1{font-size:var(--font-3xl);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md)}h2{font-size:var(--font-2xl);font-weight:700;line-height:1.3;margin-bottom:var(--spacing-sm)}h3{font-size:var(--font-xl);font-weight:600;line-height:1.4;margin-bottom:var(--spacing-sm)}p{margin-bottom:var(--spacing-sm);color:var(--text-secondary)}a{text-decoration:none;color:var(--accent-color);transition:color .3s ease,opacity .3s ease}a:hover{opacity:.8}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-sm)}section{padding:var(--spacing-xl) 0;background-color:inherit;color:inherit;transition:background-color .3s ease,color .3s ease}.card,.project-card{background-color:var(--bg-secondary);color:inherit;padding:var(--spacing-lg);border-radius:8px;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:all .3s ease;width:100%;margin-bottom:var(--spacing-md)}.project-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.grid{display:grid;gap:var(--spacing-lg)}.grid-1{grid-template-columns:1fr}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:var(--font-base);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;background-color:var(--accent-color);color:#fff}button:hover{opacity:.9;transform:translateY(-1px)}@media (max-width: 1024px){:root{--spacing-xl: 2.5rem;--spacing-xxl: 3rem;--font-3xl: 1.75rem;--font-4xl: 2rem;--font-5xl: 2.5rem}.container{padding:0 var(--spacing-md)}.grid-3{grid-template-columns:repeat(2,1fr)}h1{font-size:var(--font-3xl)}}@media (max-width: 768px){:root{--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 2.5rem;--font-2xl: 1.375rem;--font-3xl: 1.625rem;--font-4xl: 1.875rem}.grid-2,.grid-3{grid-template-columns:1fr}section{padding:var(--spacing-lg) 0}.card,.project-card{padding:var(--spacing-md)}h1{font-size:var(--font-3xl)}h2{font-size:var(--font-2xl)}}@media (max-width: 480px){:root{--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.25rem;--spacing-xl: 1.5rem;--spacing-xxl: 2rem;--font-base: .9rem;--font-lg: 1rem;--font-xl: 1.125rem;--font-2xl: 1.25rem;--font-3xl: 1.5rem}.container{padding:0 var(--spacing-sm)}section{padding:var(--spacing-md) 0}.card,.project-card{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-sm)}h1{font-size:var(--font-2xl)}h2{font-size:var(--font-xl)}h3{font-size:var(--font-lg)}}@media (max-width: 320px){:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--font-base: .85rem}.container{padding:0 var(--spacing-xs)}}button:focus,a:focus{outline:2px solid var(--accent-color);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}.no-print{display:none!important}}.back-to-top{position:fixed;right:clamp(12px,2.2vw,20px);bottom:clamp(12px,2.2vw,20px);width:54px;height:64px;border-radius:999px;border:2px solid var(--border-color);background:var(--header-bg);color:var(--text-primary);font-size:1.1rem;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px #0000002e;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,border-color .2s ease,background-color .2s ease;z-index:2000}.back-to-top:hover{border-color:var(--accent-color);background:var(--bg-secondary)}.back-to-top.show{opacity:1;transform:translateY(0);pointer-events:auto}@media (prefers-reduced-motion: reduce){.back-to-top{transition:none}}.header{background-color:var(--header-bg);position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--border-color);box-shadow:var(--shadow)}html,body{overflow-x:hidden}.container{max-width:min(1700px,102vw);margin-inline:auto;padding-inline:clamp(12px,2.2vw,20px)}.header-grid{display:grid;grid-template-columns:auto 1fr auto;align-items:center;min-height:64px;gap:clamp(8px,2vw,24px)}.site-title{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.logo-icon{width:56px;height:auto;aspect-ratio:3 / 2;object-fit:contain;border-radius:14px}@media (max-width:640px){.logo-icon{width:44px}}.brand-text{font-weight:700;font-size:clamp(1rem,2.2vw,1.5rem);color:var(--text-primary)}.site-title:hover .brand-text{color:var(--accent-color)}.nav-links{display:flex;justify-content:center;align-items:center;gap:clamp(14px,2.6vw,40px);min-width:0;flex-wrap:nowrap}.nav-links a{color:var(--text-secondary);font-weight:600;font-size:clamp(.9rem,1.3vw,1.125rem);text-decoration:none;padding:6px 8px;border-radius:6px;white-space:nowrap;transition:color .2s ease,background-color .2s ease}.nav-links a:hover{color:var(--accent-color);background-color:var(--bg-secondary)}.header-actions{display:flex;align-items:center;gap:10px}.theme-toggle{background:none;border:2px solid var(--border-color);color:var(--text-primary);font-size:1.05rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .25s ease,background-color .2s ease,border-color .2s ease}.theme-toggle:hover{border-color:var(--accent-color);background-color:var(--bg-secondary);transform:rotate(180deg)}.theme-toggle-desktop{display:inline-flex}.mobile-menu-toggle{display:none;position:relative;background:none;border:none;color:var(--text-primary);width:42px;height:42px;cursor:pointer;padding:0;border-radius:8px;-webkit-tap-highlight-color:transparent}.mobile-menu-toggle span,.mobile-menu-toggle:before,.mobile-menu-toggle:after{content:"";position:absolute;left:50%;width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:transform .3s ease,opacity .2s ease,background-color .2s ease}.mobile-menu-toggle span{top:50%;transform:translate(-50%,-50%)}.mobile-menu-toggle:before{top:50%;transform:translate(-50%,calc(-50% - 7px))}.mobile-menu-toggle:after{top:50%;transform:translate(-50%,calc(-50% + 7px))}.mobile-menu-toggle.open span{opacity:0}.mobile-menu-toggle.open:before{transform:translate(-50%,-50%) rotate(45deg)}.mobile-menu-toggle.open:after{transform:translate(-50%,-50%) rotate(-45deg)}.mobile-nav-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);z-index:999}.mobile-nav-overlay.open{display:block}.mobile-nav-menu{position:fixed;top:0;right:-100%;width:min(88vw,360px);height:100dvh;background-color:var(--header-bg);box-shadow:-2px 0 10px #0003;transition:right .3s ease;z-index:1001;padding:18px}.mobile-nav-menu.open{right:0}.mobile-nav-close{background:none;border:none;color:var(--text-primary);font-size:2rem;cursor:pointer;padding:4px 6px;float:right}.mobile-nav-links{display:flex;flex-direction:column;gap:10px;margin-top:18px}.mobile-nav-links a{color:var(--text-secondary);font-weight:600;font-size:1.05rem;padding:12px 0;border-bottom:1px solid var(--border-color);text-decoration:none;transition:color .2s ease}.mobile-nav-links a:hover{color:var(--accent-color)}.mobile-theme-wrap{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-color)}.mobile-theme-wrap .theme-toggle{width:100%;height:44px;font-size:.95rem;border-radius:8px}@media (max-width: 1200px){.nav-links{gap:clamp(10px,2.2vw,28px)}}@media (max-width: 900px){.nav-links a{font-size:clamp(.85rem,1.6vw,1rem)}.nav-links{gap:clamp(8px,2vw,20px)}}@media (max-width: 640px){.header-grid{grid-template-columns:auto 1fr auto}.nav-links{display:none}.header-actions{margin-left:auto}.mobile-menu-toggle{display:inline-flex;margin-left:auto}.theme-toggle-desktop{display:none}.site-title{gap:8px}}@media (max-width: 360px){.brand-text{font-size:1rem}.logo-icon{width:24px;height:24px}}@media (prefers-reduced-motion: reduce){.theme-toggle,.mobile-nav-menu,.nav-links a{transition:none}.mobile-menu-toggle,.mobile-menu-toggle:before,.mobile-menu-toggle:after,.mobile-menu-toggle span{transition:none}}.header-btn{display:inline-flex;align-items:center;justify-content:center;padding:.45rem 1rem;border:1.5px solid var(--accent-color);border-radius:8px;font-size:.92rem;font-weight:600;background:transparent;color:var(--accent-color);cursor:pointer;text-decoration:none;transition:all .25s ease}.header-btn:hover{background:var(--accent-color);color:#fff;box-shadow:0 2px 8px #0070f34d;transform:translateY(-1px)}.header-btn:active{transform:translateY(0)}body.theme-dark .header-btn{border-color:var(--accent-color);color:var(--accent-color)}body.theme-dark .header-btn:hover{background:var(--accent-color);color:#fff;box-shadow:0 2px 10px #0070f373}.hero{padding:var(--spacing-xl) 0;background:var(--bg-primary);color:var(--text-primary);display:flex;align-items:center;justify-content:center;min-height:85vh}.hero-container{max-width:1100px;width:100%;padding:0 var(--spacing-lg)}.hero-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;line-height:1.3}.hero-title{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800;margin-bottom:.75rem;color:var(--text-primary);letter-spacing:-.02em}.hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--text-secondary);margin-bottom:2rem;max-width:700px;line-height:1.65;font-weight:400}.link-inline{color:var(--accent-color);font-weight:600;text-decoration:none;transition:color .25s ease,opacity .25s ease}.link-inline:hover{opacity:.85}.highlight{color:var(--accent-color)}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.btn,.btn-outline{display:inline-block;padding:.75rem 1.3rem;border-radius:8px;font-size:1rem;text-decoration:none;font-weight:600;transition:all .3s ease}.btn{background:var(--accent-color);color:#fff;box-shadow:0 4px 12px #0070f340}.btn:hover{opacity:.92;transform:translateY(-2px)}.btn-outline{border:2px solid var(--accent-color);color:var(--accent-color)}.btn-outline:hover{background:var(--accent-color);color:#fff}@media (max-width: 768px){.hero-content{align-items:center;text-align:center}.hero-subtitle{text-align:center;margin-bottom:1.75rem}.hero-buttons{justify-content:center}}.hero{position:relative;overflow:hidden;isolation:isolate}.hero:before{content:"";position:absolute;inset:-20% -10% auto -10%;height:60%;z-index:-1;pointer-events:none;filter:blur(40px);opacity:.75;background:radial-gradient(1200px 500px at 20% 110%,color-mix(in oklab,var(--accent-color) 28%,transparent) 0%,color-mix(in oklab,var(--accent-color) 12%,transparent) 40%,transparent 70%),radial-gradient(1000px 420px at 85% 105%,color-mix(in oklab,var(--accent-color) 18%,transparent) 0%,transparent 65%);transform:translateZ(0)}body[data-page-theme=dark] .hero:before{filter:blur(52px);opacity:.9;background:radial-gradient(1200px 520px at 22% 112%,color-mix(in oklab,var(--accent-color) 35%,#0a0a0a) 0%,color-mix(in oklab,var(--accent-color) 16%,transparent) 45%,transparent 75%),radial-gradient(900px 380px at 88% 108%,color-mix(in oklab,var(--accent-color) 22%,transparent) 0%,transparent 70%)}@media (prefers-reduced-motion: no-preference){.hero:before{animation:heroGlow 10s ease-in-out infinite alternate}@keyframes heroGlow{0%{transform:translateY(0) translate(0)}to{transform:translateY(8px) translate(-6px)}}}.cv-request-link{display:inline-block;padding:.95rem 1.3rem;border-radius:18px;font-size:1rem;text-decoration:none;font-weight:600;color:var(--accent-color);border:2px solid var(--accent-color);transition:all .13s ease}.about-section{padding:var(--spacing-xl) var(--spacing-sm);background:transparent}.about-container{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}.about-heading{font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:800;margin-bottom:.75rem;color:var(--text-primary);letter-spacing:-.02em}.about-text{font-size:clamp(.98rem,1.4vw,1.05rem);line-height:1.7;color:var(--text-secondary);margin:0 0 .9rem}.about-text a{color:var(--accent-color);text-decoration:underline;text-underline-offset:2px}.about-text-col{display:flex;flex-direction:column}.about-image-col{display:flex;justify-content:center}.about-image{width:100%;max-width:360px;aspect-ratio:4 / 5;object-fit:cover;border-radius:14px;box-shadow:0 10px 24px #00000040;border:1px solid var(--border-color);transition:transform .32s ease,box-shadow .22s ease}.about-image:hover{transform:translateY(-2px);box-shadow:0 14px 48px #00000047}@media (max-width: 980px){.about-container{grid-template-columns:1fr;gap:1.5rem;text-align:left}.about-image{will-change:opacity,transform}.about-image-col{order:2}}@media (max-width: 520px){.about-section{padding:var(--spacing-lg) var(--spacing-sm)}.about-image{max-width:260px}}@media (prefers-reduced-motion: reduce){.about-image,.about-section,.about-text-col,.about-image-col{transition:none!important}}.projects-container{padding:clamp(4rem,8vw,8rem) clamp(1.5rem,6vw,4rem);display:flex;flex-direction:column;align-items:center;gap:4rem;position:relative}.projects-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.035) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.035) 0%,transparent 50%);pointer-events:none;z-index:-1}.project-triangle{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1200px}.project-top{margin-bottom:2rem;width:100%;display:flex;justify-content:center}.project-bottom{width:100%;display:flex;justify-content:center;gap:clamp(1.5rem,4vw,2.5rem);flex-wrap:wrap}.project-card{position:relative;overflow:hidden;flex:1;min-width:320px;max-width:380px;padding:2rem;border-radius:16px;text-align:center;background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #00000014,0 4px 12px #0000000d;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease,border-color .3s ease;animation:slideInScale .6s ease-out forwards}.project-card:before{content:"";position:absolute;inset:0 0 auto 0;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.05) 50%,transparent 100%);opacity:0;transition:opacity .3s ease;pointer-events:none}.project-card:hover:before{opacity:1}.project-card:hover{transform:translateY(-10px) scale(1.02);border-color:#7877c633;box-shadow:0 8px 25px #0000001f,0 16px 35px #00000014}.project-card h3{font-size:clamp(1.25rem,3vw,1.4rem);font-weight:700;margin-bottom:1rem;letter-spacing:-.02em;line-height:1.3;transition:transform .3s ease}.project-card:hover h3{transform:translateY(-2px)}.project-card p{font-size:1rem;line-height:1.6;margin-bottom:1.2rem;opacity:.85;letter-spacing:.01em;transition:opacity .3s ease}.project-card:hover p{opacity:1}.project-actions{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}.project-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:.7rem 1.4rem;border-radius:8px;font-weight:600;font-size:.9rem;text-decoration:none;border:none;line-height:1.2;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.btn-primary{background:linear-gradient(135deg,#0070f3,#005ad9);color:#fff;box-shadow:0 3px 8px #0070f340}.btn-primary:hover{background:linear-gradient(135deg,#0062d1,#004cb7);box-shadow:0 5px 14px #0070f366;transform:translateY(-2px)}.btn-secondary{background:transparent;border:2px solid var(--border-color, #cfd6dd);color:var(--text-secondary, #444)}.btn-secondary:hover{border-color:var(--accent-color, #0070f3);color:var(--accent-color, #0070f3);transform:translateY(-2px)}.btn-primary:active,.btn-secondary:active{transform:scale(.97)}body[data-page-theme=dark] .project-card{background:#111;border-color:#ffffff14;box-shadow:0 1px 3px #ffffff0d,0 4px 12px #ffffff08}body[data-page-theme=dark] .project-card:before{background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.04) 50%,transparent 100%)}body[data-page-theme=dark] .project-card:hover{border-color:#66ccff47;box-shadow:0 8px 25px #ffffff14,0 16px 35px #ffffff0d}body[data-page-theme=dark] .btn-primary{background:linear-gradient(135deg,#1e90ff,#0070f3);box-shadow:0 3px 8px #1e90ff59}body[data-page-theme=dark] .btn-secondary{border-color:#ffffff38;color:#ffffffe0}body[data-page-theme=dark] .btn-secondary:hover{border-color:#6cf;color:#6cf}@keyframes slideInScale{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.project-top .project-card{animation-delay:.2s}.project-bottom .project-card:nth-child(1){animation-delay:.4s}.project-bottom .project-card:nth-child(2){animation-delay:.5s}@media (max-width: 1024px){.project-triangle{max-width:900px}.project-card{max-width:350px;min-width:280px}}@media (max-width: 768px){.projects-container{gap:3rem}.project-top,.project-bottom{flex-direction:column;align-items:center;width:100%}.project-bottom{gap:2rem}.project-card{width:100%;max-width:100%;min-width:unset}.project-actions{justify-content:center}}@media (max-width: 480px){.project-card{padding:1.5rem;border-radius:12px}.project-card h3{font-size:1.2rem}.project-card p{font-size:.95rem}}@media (prefers-reduced-motion: reduce){.project-card,.project-card:hover,.btn-primary,.btn-secondary{transition:none}}.achievements-section{padding:var(--spacing-xl) 0;background-color:var(--bg-primary);transition:background-color .3s ease,color .3s ease;overflow:hidden}.achievements-container{max-width:1000px;margin:0 auto;padding:0 var(--spacing-md)}.achievements-title{text-align:center;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;margin-bottom:3rem;color:var(--text-primary);opacity:0;animation:fadeInUp 1s ease forwards .2s}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.ach-card{background:var(--bg-secondary);color:var(--text-secondary);padding:var(--spacing-lg);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border-color);transition:all .4s cubic-bezier(.4,0,.2,1);opacity:0;transform:translateY(30px);animation:fadeInUp .8s ease forwards;position:relative;overflow:hidden}.ach-card:nth-child(1){animation-delay:.4s}.ach-card:nth-child(2){animation-delay:.6s}.ach-card:nth-child(3){animation-delay:.8s}.ach-card:nth-child(4){animation-delay:1s}.ach-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),rgba(0,112,243,.3));opacity:0;transition:opacity .4s ease}.ach-card:hover{transform:translateY(-6px);box-shadow:0 10px 28px #0000001f;border-color:#0070f34d}.ach-card:hover:before{opacity:1}.ach-card-title{font-size:1.3rem;font-weight:700;color:var(--accent-color);margin-bottom:1rem;transition:transform .3s ease}.ach-card:hover .ach-card-title{transform:translate(4px)}.ach-card-text{font-size:1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:1.25rem}.cert-list{list-style:none;display:flex;flex-direction:column;gap:.85rem;padding:0;margin:.5rem 0 0}.cert-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;padding:.85rem 1.1rem;transition:all .35s cubic-bezier(.4,0,.2,1)}.cert-row:hover{border-color:var(--accent-color);box-shadow:0 4px 12px #0070f314;transform:translate(4px)}.cert-name{color:var(--text-primary);font-weight:600;font-size:.98rem;transition:color .3s ease}.cert-row:hover .cert-name{color:var(--accent-color)}.cert-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.btn,.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;overflow:hidden}.btn{background:var(--accent-color);color:#fff;box-shadow:0 2px 8px #0070f340}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn:hover{background:linear-gradient(135deg,var(--accent-color),#005bb5);box-shadow:0 4px 14px #0070f359;transform:translateY(-2px)}.btn:hover:before{left:100%}.btn:active{transform:translateY(0)}.btn-outline{background:transparent;border:1.5px solid var(--accent-color);color:var(--accent-color)}.btn-outline:hover{background:var(--accent-color);color:#fff;box-shadow:0 2px 8px #0070f333;transform:translateY(-2px)}.btn-outline:active{transform:translateY(0)}@media (max-width: 768px){.achievements-grid{grid-template-columns:1fr}.cert-row{flex-direction:column;align-items:flex-start}.cert-actions{width:100%;justify-content:flex-start}.ach-card:hover{transform:translateY(-4px)}.cert-row:hover{transform:translate(2px)}}@media (prefers-reduced-motion: reduce){.achievements-title,.ach-card{animation:none;opacity:1;transform:none}.ach-card:hover,.cert-row:hover,.ach-card-title{transform:none}.btn:before{display:none}}body[data-page-theme=dark] .ach-card:hover{box-shadow:0 10px 28px #ffffff0f}.journey-section{padding:var(--spacing-xl) 0;background:var(--bg-primary);transition:background-color .3s ease,color .3s ease;overflow:hidden}.journey-container{max-width:900px;margin:0 auto;padding:0 var(--spacing-md)}.journey-title{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;text-align:center;margin-bottom:2rem;color:var(--text-primary);opacity:0;animation:fadeInDown .18s ease forwards}.timeline{position:relative;margin-left:1.5rem;border-left:2px solid var(--accent-color)}.timeline:before{content:"";position:absolute;left:-2px;top:0;width:2px;height:100%;background:linear-gradient(to bottom,var(--accent-color),transparent);transform-origin:top;animation:lineGrow 2.5s ease forwards}.timeline-item{position:relative;margin-bottom:2rem;padding-left:1.5rem;opacity:0;transform:translate(-30px);animation:slideInLeft .16s ease forwards;transition:transform .13s ease}.timeline-item:nth-child(1){animation-delay:.13s}.timeline-item:nth-child(2){animation-delay:.15s}.timeline-item:nth-child(3){animation-delay:.17s}.timeline-item:nth-child(4){animation-delay:.19s}.timeline-item:nth-child(5){animation-delay:1.11s}.timeline-item:nth-child(6){animation-delay:1.13s}.timeline-item:nth-child(7){animation-delay:1.15s}.timeline-item:nth-child(8){animation-delay:1.17s}.timeline-item:hover{transform:translate(8px) translateY(-2px)}.timeline-marker{position:absolute;left:-11px;top:4px;width:14px;height:14px;border-radius:50%;background-color:var(--accent-color);box-shadow:0 0 0 3px #007aff40;animation:markerPulse 12s ease infinite;transition:all .13s ease}.timeline-item:hover .timeline-marker{transform:scale(1.3);box-shadow:0 0 0 6px #007aff66}.timeline-year{font-weight:700;color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem;display:inline-block;transition:color .13s ease}.timeline-item:hover .timeline-year{color:var(--accent-color)}.timeline-text{color:var(--text-secondary);background:var(--bg-secondary);border-radius:10px;padding:1rem;border:1px solid var(--border-color);box-shadow:var(--shadow);transition:all .3s ease}.timeline-item:hover .timeline-text{box-shadow:0 8px 24px #007aff26;border-color:var(--accent-color);transform:translateY(-2px)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes lineGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes markerPulse{0%,to{box-shadow:0 0 0 3px #007aff40}50%{box-shadow:0 0 0 6px #007aff26}}@media (max-width: 768px){.timeline{margin-left:1rem}.timeline-text{font-size:.95rem}.timeline-item:hover{transform:translate(4px) translateY(-2px)}}@media (prefers-reduced-motion: reduce){.timeline-item,.journey-title,.timeline:before,.timeline-marker{animation:none;opacity:1;transform:none}.timeline-item:hover{transform:none}}body[data-page-theme=dark] .timeline-item:hover .timeline-text{box-shadow:0 8px 24px #ffffff0f}:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--accent-color: #007aff;--border-color: #e0e0e0;--shadow: 0 2px 4px rgba(0, 0, 0, .05)}.dark{--bg-primary: #121212;--bg-secondary: #1e1e1e;--text-primary: #ffffff;--text-secondary: #b0b0b0;--border-color: #2a2a2a}.contact-section{max-width:700px;margin:0 auto;padding:4rem 1.5rem;text-align:center}.contact-heading{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;margin-bottom:2rem;color:var(--text-primary)}.contact-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:3rem;flex-wrap:wrap}.contact-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s ease}.contact-link:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #007aff40}.contact-icon{width:20px;height:20px;object-fit:contain}.contact-form{display:flex;flex-direction:column;gap:1.25rem;margin-top:2rem;padding:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow)}.form-group{display:flex;flex-direction:column}.form-input,.form-textarea{padding:.85rem 1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all .13s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #007aff1a}.form-textarea{resize:vertical;min-height:120px}.form-button{padding:.85rem 1.5rem;background:var(--accent-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .13s ease;margin-top:.15rem}.form-button:hover:not(:disabled){background:#005bb5;transform:translateY(-2px);box-shadow:0 4px 12px #007aff59}.form-button:disabled{opacity:.6;cursor:not-allowed}.success-message,.error-message{padding:1rem;border-radius:8px;font-weight:500;text-align:center;animation:slideIn .3s ease}.success-message{background:rgba(76,175,80,.1);color:#2e7d32;border:1px solid rgba(76,175,80,.3)}.error-message{background:rgba(244,67,54,.1);color:#c62828;border:1px solid rgba(244,67,54,.3)}.dark .success-message{background:rgba(76,175,80,.15);color:#81c784}.dark .error-message{background:rgba(244,67,54,.15);color:#ef5350}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.contact-section{padding:2rem 1rem}.contact-links{gap:.75rem}.contact-link{padding:.65rem 1rem;font-size:.9rem}.contact-form{padding:1.5rem}}@media (prefers-reduced-motion: reduce){.contact-link,.form-input,.form-textarea,.form-button,.success-message,.error-message{transition:none!important}.success-message,.error-message{animation:none}}body{margin:0;font-family:Segoe UI,sans-serif;transition:background-color .3s,color .3s}.light{background-color:#fff;color:#111}.dark{background-color:#121212;color:#f0f0f0}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth}
