:root{color:#dfe8f6;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#060b12;--bg-alt:#0b1118;--surface:#0f172acc;--surface-strong:#111a26;--text:#dfe8f6;--text-strong:#f3f7ff;--muted:#aebed4;--accent:#7ca3ff;--accent-soft:#7ca3ff1f;--border:#94a3b833;--shadow-soft:0 18px 50px #0f172a73;background:#060b12;font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--text);background:radial-gradient(circle at top,#7ca3ff2e,#0000 22%),linear-gradient(#050a12 0%,#0b1118 100%);margin:0}body,button,a{font:inherit}img{max-width:100%;display:block}#root{min-height:100vh}h1,h2,h3,p,ul{margin-top:0}a{color:inherit}.app-shell{min-height:100vh}.container{width:min(1120px,100% - 32px);margin:0 auto}.site-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#060a12b8;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:24px;min-height:80px;display:flex}.brand{color:var(--text);letter-spacing:.02em;align-items:center;gap:12px;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark{width:36px;height:36px;color:var(--text-strong);background:linear-gradient(135deg,#7c9dff2e,#8b5cf652);border:1px solid #7c9dff66;border-radius:10px;justify-content:center;align-items:center;font-size:.82rem;display:inline-flex}.brand-text{font-size:1rem}.nav-links{align-items:center;gap:12px;display:flex}.nav-links a,.footer-links a,.contact-details a,.project-links a,.button{transition:transform .2s,border-color .2s,background-color .2s,box-shadow .2s}.nav-links a{color:var(--muted);border-radius:10px;padding:10px 12px;font-size:.95rem;text-decoration:none}.nav-links a:hover,.nav-links a:focus-visible,.footer-links a:hover,.footer-links a:focus-visible{color:var(--text-strong);background:#94a3b814}.menu-toggle{border:1px solid var(--border);cursor:pointer;background:#0f172a80;border-radius:12px;width:44px;height:44px;padding:0;display:none}.menu-toggle span{background:var(--text-strong);border-radius:999px;width:18px;height:2px;margin:5px auto;display:block}main{padding-bottom:48px}.hero{grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);align-items:center;gap:36px;padding:92px 0 64px;display:grid}.hero-media{flex-direction:column;gap:22px;display:flex}.profile-frame,.profile-placeholder{aspect-ratio:4/5;border:1px solid var(--border);width:min(100%,320px);max-width:320px;box-shadow:var(--shadow-soft);background:#0f172acc;border-radius:28px;margin:0 auto;position:relative;overflow:hidden}.profile-image{object-fit:contain;width:100%;height:100%;margin:0 auto;display:block}.profile-placeholder{background:linear-gradient(135deg,#7c9dff2e,#8b5cf647);justify-content:center;align-items:center;display:flex}.profile-placeholder span{letter-spacing:-.08em;color:var(--text-strong);font-size:clamp(2.7rem,5vw,4.5rem);font-weight:700}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px;font-size:.74rem;font-weight:700}.hero-copy h1{letter-spacing:-.06em;color:var(--text-strong);margin:0;font-size:clamp(2.7rem,5vw,5rem);line-height:.98}.hero-role{color:var(--text-strong);margin-top:18px;font-size:clamp(1rem,2vw,1.3rem);font-weight:600}.lead{max-width:640px;color:var(--muted);margin-top:18px;font-size:1.08rem;line-height:1.8}.cta-row{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.button{border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover,.button:focus-visible,.project-links a:hover,.project-links a:focus-visible{transform:translateY(-1px)}.button.primary{background:linear-gradient(135deg, var(--accent), #8b5cf6);color:#f8fbff;border-color:#0000;box-shadow:0 14px 32px #7c9dff47}.button.secondary{color:var(--text-strong);background:#7c9dff14}.button.ghost{color:var(--text-strong);background:#0f172a66}.quick-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px;padding:0;list-style:none;display:grid}.quick-stats li{border:1px solid var(--border);background:#0f172a66;border-radius:16px;flex-direction:column;justify-content:center;gap:8px;min-height:92px;padding:18px 16px;display:flex}.quick-stats strong{color:var(--text-strong);font-size:.92rem}.quick-stats span{color:var(--muted);font-size:.9rem}.hero-card{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:linear-gradient(#0f172acc,#0f172a8c);border-radius:28px;padding:28px}.mini-badge{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;background:#7c9dff14;border:1px solid #7c9dff61;border-radius:999px;align-items:center;padding:8px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.hero-card h2{color:var(--text-strong);margin:18px 0 12px;font-size:clamp(1.6rem,2vw,2.1rem);line-height:1.2}.hero-card p{color:var(--muted);line-height:1.7}.hero-metadata{gap:16px;margin-top:24px;display:grid}.hero-metadata div{border-top:1px solid var(--border);padding-top:14px}.hero-metadata span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;display:block}.hero-metadata strong{color:var(--text-strong);font-size:1rem}.section{padding-top:72px}.section-heading{margin-bottom:28px}.section-heading h2{color:var(--text-strong);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,2.5vw,3rem);line-height:1.1}.about-layout{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);align-items:start;gap:24px;display:grid}.about-copy{border:1px solid var(--border);background:#0f172a73;border-radius:22px;padding:28px 24px}.about-copy p{color:var(--muted);margin:0 0 18px;line-height:1.9}.about-copy p:last-child{margin-bottom:0}.about-panel{border:1px solid var(--border);background:#0f172a73;border-radius:22px;padding:28px 24px}.about-panel h3{color:var(--text-strong);margin:0 0 20px;font-size:1.2rem}.about-panel ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.about-panel li{color:var(--muted);background:#7c9dff0d;border:1px solid #7c9dff24;border-radius:12px;padding:12px 14px}.skills-grid,.project-grid,.cert-grid{gap:22px;display:grid}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-card,.project-card,.cert-card,.education-card,.contact-card{border:1px solid var(--border);background:#0f172a75;border-radius:22px}.skill-card{padding:24px}.skill-card h3{color:var(--text-strong);margin:0 0 18px;font-size:1.2rem}.tag-list{flex-wrap:wrap;gap:10px;display:flex}.tech-pill{color:var(--text-strong);background:#7c9dff0f;border:1px solid #7c9dff3d;border-radius:999px;justify-content:center;align-items:center;padding:9px 12px;font-size:.82rem;line-height:1;display:inline-flex}.small-pill{padding:7px 10px}.education-card{padding:28px 30px}.education-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.education-school{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px;font-size:.74rem;font-weight:700}.education-card h3{color:var(--text-strong);margin:0;font-size:clamp(1.4rem,2vw,2rem)}.education-period{border:1px solid var(--border);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-size:.84rem;display:inline-flex}.education-status{color:var(--muted);margin:18px 0 0;font-size:1rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{flex-direction:column;padding:24px;display:flex}.project-header h3{color:var(--text-strong);margin:0;font-size:1.4rem}.project-card p{color:var(--muted);margin:18px 0;line-height:1.75}.project-tags{margin-top:auto}.project-links{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.project-links a{border:1px solid var(--border);color:var(--text-strong);background:#7c9dff0d;border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;text-decoration:none;display:inline-flex}.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cert-card{align-items:center;gap:16px;padding:24px;display:flex}.cert-mark{width:42px;height:42px;color:var(--accent);background:#7c9dff1a;border:1px solid #7c9dff3d;border-radius:12px;justify-content:center;align-items:center;font-size:1.2rem;display:inline-flex}.cert-card p{color:var(--text-strong);margin:0;font-size:1.08rem}.contact-card{padding:30px}.left-aligned{margin-bottom:22px}.contact-actions{flex-wrap:wrap;gap:14px;display:flex}.contact-details{gap:10px;margin-top:30px;display:grid}.contact-details p{color:var(--muted);margin:0}.contact-details span{color:var(--text-strong);font-weight:600}.contact-details a{color:var(--accent);text-decoration:none}.site-footer{border-top:1px solid var(--border);background:#060a12d1;padding:22px 0 32px}.footer-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-inner p{color:var(--muted);margin:0}.footer-links{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.footer-links a{color:var(--muted);border-radius:10px;padding:8px 10px;text-decoration:none}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (width<=920px){.hero,.about-layout,.skills-grid,.project-grid,.cert-grid{grid-template-columns:1fr}.hero-media{order:1}.hero-copy{order:2}.profile-frame,.profile-placeholder{max-width:100%;margin-left:0}.education-header,.footer-inner{flex-direction:column;align-items:flex-start}}@media (width<=760px){.nav{min-height:72px;position:relative}.menu-toggle{display:inline-block}.nav-links{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#060a12f5;border-radius:18px;flex-direction:column;align-items:stretch;padding:14px;display:none;position:absolute;top:calc(100% + 8px);left:0;right:0}.nav-links.open{display:flex}.nav-links a{width:100%;padding:12px 14px}.hero{padding-top:64px}.quick-stats{grid-template-columns:1fr}.contact-actions,.cta-row{flex-direction:column;align-items:stretch}.button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
