@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap";:root{color-scheme:light;font-family:Space Grotesk,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f3f5ff;--surface-elevated: rgba(255, 255, 255, .9);--surface-alpha: rgba(247, 249, 255, .72);--surface-highlight: rgba(255, 255, 255, .96);--surface-border: rgba(31, 60, 136, .14);--surface-border-soft: rgba(255, 255, 255, .55);--surface-border-strong: rgba(31, 60, 136, .22);--surface-chip: rgba(31, 60, 136, .12);--text-primary: #18203a;--text-secondary: #3e4a68;--text-muted: #62708f;--accent: #1f3c88;--accent-strong: #3f5ad3;--accent-soft: rgba(31, 60, 136, .18);--accent-secondary: #f2b086;--accent-rgb: 31, 60, 136;--accent-secondary-rgb: 242, 176, 134;--shadow-soft: 0 18px 40px rgba(24, 32, 58, .1);--shadow-medium: 0 32px 70px rgba(24, 32, 58, .16);--orb-one: rgba(31, 60, 136, .32);--orb-two: rgba(242, 176, 134, .28);--backdrop-gradient: radial-gradient( 820px circle at 14% 18%, rgba(63, 90, 211, .2), transparent 65% ), radial-gradient(680px circle at 86% 12%, rgba(242, 176, 134, .22), transparent 70%)}[data-theme=dark]{color-scheme:dark;--bg: #0b1428;--surface-elevated: rgba(18, 27, 52, .82);--surface-alpha: rgba(18, 27, 52, .74);--surface-highlight: rgba(34, 45, 74, .85);--surface-border: rgba(104, 134, 214, .3);--surface-border-soft: rgba(255, 255, 255, .16);--surface-border-strong: rgba(96, 128, 210, .4);--surface-chip: rgba(104, 134, 214, .28);--text-primary: #f5f7ff;--text-secondary: #c8d4ff;--text-muted: #9aa7d9;--accent: #819bff;--accent-strong: #b8c8ff;--accent-soft: rgba(129, 155, 255, .32);--accent-secondary: #f2b086;--accent-rgb: 129, 155, 255;--accent-secondary-rgb: 242, 176, 134;--shadow-soft: 0 20px 44px rgba(4, 6, 14, .55);--shadow-medium: 0 36px 82px rgba(4, 6, 14, .62);--orb-one: rgba(129, 155, 255, .32);--orb-two: rgba(242, 176, 134, .28);--backdrop-gradient: radial-gradient( 880px circle at 12% 18%, rgba(129, 155, 255, .24), transparent 66% ), radial-gradient(720px circle at 84% 10%, rgba(242, 176, 134, .22), transparent 68%)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--backdrop-gradient),var(--bg);color:var(--text-primary);transition:background .4s ease,color .4s ease}#root{min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit;border:none;background:none;color:inherit;padding:0}p{margin:0 0 .8rem}img{max-width:100%;display:block}::selection{background:rgba(var(--accent-rgb),.25)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.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}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:clamp(2rem,4vw,4rem);padding:clamp(2.5rem,8vw,4rem);border-radius:32px;background:linear-gradient(140deg,var(--surface-elevated) 10%,var(--surface-highlight) 100%);border:1px solid var(--surface-border-strong);box-shadow:var(--shadow-medium);overflow:hidden}.hero:after{content:"";position:absolute;inset:1px;border-radius:28px;border:1px solid var(--surface-border-soft);pointer-events:none}.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:1.4rem}.eyebrow{margin:0;font-size:.95rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}.hero h1{margin:0;font-size:clamp(2.25rem,4vw,3rem);line-height:1.12;font-weight:700;text-wrap:balance;color:var(--text-primary)}.lead{margin:0;font-size:1.05rem;line-height:1.7;color:var(--text-secondary)}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.75rem}.hero-portrait{position:relative;display:flex;align-items:center;justify-content:center}.hero-portrait img{position:relative;width:clamp(220px,24vw,300px);aspect-ratio:1;border-radius:32px;object-fit:cover;box-shadow:0 28px 48px #1e163038;border:6px solid var(--surface-highlight);z-index:1;animation:float 6s ease-in-out infinite}.portrait-glow{position:absolute;inset:-6%;border-radius:36px;background:conic-gradient(from 120deg,rgba(var(--accent-rgb),.65),rgba(var(--accent-secondary-rgb),.4),rgba(var(--accent-rgb),.65));filter:blur(12px);opacity:.75;animation:pulseGlow 4.5s ease-in-out infinite}@media(max-width:960px){.hero{grid-template-columns:1fr}.hero-portrait{order:-1;justify-content:flex-start}.hero-portrait img{width:clamp(200px,60vw,280px);margin:0 auto}}@media(max-width:680px){.hero{padding:2.2rem 1.5rem}.hero-actions{flex-direction:column;align-items:stretch}}.contact{position:relative}.contact-card{position:relative;display:grid;gap:1.6rem;padding:clamp(2rem,6vw,2.6rem);border-radius:28px;background:linear-gradient(135deg,var(--surface-highlight) 0%,var(--accent-soft) 100%);border:1px solid var(--surface-border-strong);box-shadow:var(--shadow-medium)}.contact-card h3{margin:0;font-size:1.4rem;color:var(--text-primary)}.contact-card p{margin:0;font-size:1rem;line-height:1.6;color:var(--text-secondary)}.contact-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem}.contact-icon{width:64px;height:64px;border-radius:20px;border:1px solid var(--surface-border);background:var(--surface-elevated);display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,color .2s ease,border-color .2s ease}.contact-icon:hover,.contact-icon:focus-visible{transform:translateY(-3px);color:var(--accent-strong);border-color:var(--accent-strong);box-shadow:var(--shadow-soft)}.contact-icon-graphic{width:28px;height:28px;display:inline-flex}.contact-icon svg{width:100%;height:100%}.timeline{position:relative;margin:0;padding:0 0 0 1.8rem;list-style:none;display:flex;flex-direction:column;gap:1.8rem}.timeline:before{content:"";position:absolute;left:.65rem;top:.2rem;bottom:.2rem;width:3px;border-radius:999px;background:linear-gradient(180deg,var(--accent-soft) 0%,transparent 100%)}.timeline-item{position:relative;display:flex;gap:1.2rem;align-items:flex-start}.timeline-dot{position:absolute;left:-1.18rem;top:.35rem;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 8px rgba(var(--accent-rgb),.2)}.timeline-content{padding:1.4rem 1.6rem;border-radius:18px;background:var(--surface-elevated);border:1px solid var(--surface-border);box-shadow:var(--shadow-soft);display:grid;gap:.6rem}.timeline-year{font-size:.95rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}.timeline-content h3{margin:0;font-size:1.2rem;color:var(--text-primary)}.timeline-subtitle{display:flex;flex-wrap:wrap;gap:.4rem}.timeline-subtitle-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:999px;font-size:.85rem;font-weight:600;letter-spacing:.01em;color:var(--accent-strong);background:var(--surface-chip);border:1px solid var(--surface-border-soft)}.timeline-content p{margin:0;color:var(--text-secondary);line-height:1.6}.timeline-role{display:flex;align-items:center;gap:1rem}.timeline-company-icon{width:52px;height:52px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:.08em;box-shadow:var(--shadow-soft);overflow:hidden;background:var(--surface-elevated)}.timeline-company-icon.has-image{padding:0;background:var(--surface-elevated)}.timeline-company-icon img{width:100%;height:100%;object-fit:cover;display:block}.timeline-company-name{display:block;margin-top:.15rem;font-size:.95rem;color:var(--text-muted)}@media(max-width:680px){.timeline{padding-left:1.4rem}}.projects-carousel{position:relative;display:flex;flex-direction:column;gap:.6rem}.projects-grid{position:relative;display:flex;gap:1.5rem;overflow-x:auto;overflow-y:visible;padding-bottom:.4rem;scroll-snap-type:x mandatory;cursor:ew-resize;scrollbar-width:none}.projects-grid::-webkit-scrollbar{display:none}.project-card{position:relative;display:flex;flex-direction:column;gap:1.1rem;padding:1.8rem;border-radius:22px;background:var(--surface-elevated);border:none;transition:transform .3s ease,box-shadow .3s ease;flex:0 0 clamp(320px,45vw,460px);scroll-snap-align:start}.project-card:hover,.project-card:focus-within{transform:translateY(-6px)}.project-card h3{margin:0;font-size:1.3rem;color:var(--text-primary)}.project-card p{margin:0;color:var(--text-secondary);line-height:1.6}.project-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.project-link{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .8rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:600;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.project-link:hover,.project-link:focus-visible{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.tag-list{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none}.tag-list li{padding:.35rem .8rem;border-radius:999px;font-size:.85rem;background:var(--surface-chip);color:var(--text-muted)}.projects-scroll-hint{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}@media(max-width:720px){.projects-grid{flex-direction:column;overflow:visible;scroll-snap-type:none;cursor:default}.project-card{flex:1 1 auto}.projects-scroll-hint{display:none}}.community-grid{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.community-card{position:relative;border-radius:22px;perspective:1400px;outline:none}.community-card:focus-visible{box-shadow:0 0 0 3px rgba(var(--accent-rgb),.35)}.community-card-inner{position:relative;width:100%;height:100%;min-height:320px;transform-style:preserve-3d;transition:transform .7s ease;border-radius:inherit}.community-card:hover .community-card-inner,.community-card:focus-within .community-card-inner{transform:rotateY(180deg)}.community-card-face{position:absolute;inset:0;padding:1.8rem;border-radius:inherit;background:var(--surface-elevated);border:1px solid var(--surface-border);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:1.2rem;height:100%;backface-visibility:hidden}.community-card-front{align-items:stretch}.community-card-back{transform:rotateY(180deg);background:linear-gradient(135deg,var(--surface-highlight),var(--accent-soft));border-color:transparent}.community-back-content{display:flex;flex-direction:column;gap:1rem;height:100%}.community-meta{display:flex;flex-direction:column;gap:.35rem}.community-role{font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-strong)}.community-card h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.community-organization{margin:0;font-size:.95rem;color:var(--text-secondary)}.community-timeframe{font-size:.9rem;color:var(--text-muted)}.community-summary{margin:0;color:var(--text-secondary);line-height:1.6}.community-icon{align-self:center;width:72px;height:72px;border-radius:24px;background:radial-gradient(circle at 30% 30%,#ffffffd9,#fff0) 0 0 / 150%,var(--surface-chip);border:1px solid var(--surface-border-soft);display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;letter-spacing:.08em;box-shadow:var(--shadow-soft);margin-bottom:.4rem;text-transform:uppercase}.community-icon.has-image{padding:0;background:var(--surface-elevated);border:1px solid var(--surface-border)}.community-icon.has-image img{width:100%;height:100%;object-fit:contain;border-radius:inherit;display:block}.community-highlights{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.55rem}.community-highlights li{display:flex;align-items:flex-start;gap:.6rem;color:var(--text-secondary)}.community-highlights li:before{content:"";flex:none;width:8px;height:8px;margin-top:.45rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.18)}.community-link{font-weight:600;color:var(--accent-strong);text-decoration:none}.community-link:hover,.community-link:focus-visible{text-decoration:underline}.community-card-back .community-summary,.community-card-back .community-highlights li{color:var(--text-primary)}.community-card-back .community-highlights li:before{background:var(--text-primary);box-shadow:0 0 0 4px #ffffff40}.app{position:relative;min-height:100vh;overflow-x:clip}.app-wrapper{position:relative;max-width:1100px;margin:0 auto;padding:3.5rem clamp(1.5rem,4vw,3rem) 4rem;display:flex;flex-direction:column;gap:4rem}.orb{position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(140px);opacity:.55;z-index:0;transform:translate(-50%,-50%);pointer-events:none}.orb-one{top:10%;left:75%;background:var(--orb-one)}.orb-two{bottom:-12%;left:15%;background:var(--orb-two)}.app-header{position:sticky;top:1.5rem;display:flex;align-items:center;gap:1.75rem;justify-content:space-between;padding:1.1rem 1.6rem;border-radius:999px;background:var(--surface-alpha);border:1px solid var(--surface-border);box-shadow:var(--shadow-soft);z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.branding{display:flex;align-items:center;gap:1rem;white-space:nowrap}.logo-pill{display:inline-flex;width:44px;height:44px;border-radius:14px;align-items:center;justify-content:center;font-weight:700;font-size:1rem;background:var(--accent);color:#fff;box-shadow:0 12px 30px rgba(var(--accent-rgb),.28)}.brand-name{margin:0;font-size:1.1rem;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.brand-tagline{margin:0;font-size:.85rem;color:var(--text-muted)}.app-nav{display:flex;gap:1rem;font-size:.95rem}.app-nav a{color:var(--text-primary);padding:.5rem .9rem;border-radius:999px;font-weight:500;transition:color .2s ease,background .2s ease,transform .2s ease}.app-nav a:hover,.app-nav a:focus-visible{background:var(--accent-soft);color:var(--accent-strong);transform:translateY(-1px)}.theme-toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:999px;border:1px solid var(--surface-border);background:var(--surface-elevated);color:var(--text-primary);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;font-size:.95rem;font-weight:500}.theme-toggle:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.theme-icon{font-size:1.2rem;display:inline-flex}.app-main{position:relative;display:flex;flex-direction:column;gap:5.5rem;z-index:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.3rem;border-radius:14px;font-weight:600;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;cursor:pointer}.btn.primary{background:var(--accent);color:#fff;box-shadow:0 16px 32px rgba(var(--accent-rgb),.22)}.btn.primary:hover,.btn.primary:focus-visible{transform:translateY(-2px);box-shadow:0 20px 38px rgba(var(--accent-rgb),.28)}.btn.ghost{background:transparent;color:var(--text-primary);border:1px solid var(--surface-border)}.btn.ghost:hover,.btn.ghost:focus-visible{background:var(--surface-elevated);box-shadow:var(--shadow-soft)}.section{display:flex;flex-direction:column;gap:2.5rem}.section-heading{display:flex;flex-direction:column;gap:.8rem;max-width:640px}.section-title{margin:0;font-size:clamp(2rem,3vw,2.4rem);font-weight:700;color:var(--text-primary);text-wrap:balance}.section-subtitle{margin:0;font-size:1.05rem;line-height:1.7;color:var(--text-secondary)}.skills-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.skills-card{padding:1.6rem;border-radius:20px;background:var(--surface-elevated);border:1px solid var(--surface-border);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.9rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.skills-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium);border-color:var(--accent-soft)}.skills-card h3{margin:0;font-size:1.15rem;color:var(--text-primary)}.skills-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem;color:var(--text-secondary);line-height:1.5}.app-footer{display:flex;justify-content:center;padding-bottom:1rem;color:var(--text-muted);font-size:.9rem}.fade-in{opacity:0;transform:translateY(12px);animation:fadeInUp .75s ease forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes pulseGlow{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.05);opacity:.85}}@media(max-width:960px){.app-header{flex-wrap:wrap;border-radius:24px;gap:1.2rem}.app-nav{flex:1 1 100%;justify-content:center}}@media(max-width:680px){.app-wrapper{padding:2.2rem 1.2rem 3rem}.app-header{position:static}.branding{width:100%;justify-content:center}.skills-grid{grid-template-columns:1fr}}
