@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes statPulse{0%{transform:scale(1);opacity:.4}to{transform:scale(2.2);opacity:0}}@keyframes marquee-left{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes heroPulse1{0%{opacity:.5}to{opacity:1}}@font-face{font-family:"Inter";src:url(../assets/fonts/inter-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Inter";src:url(../assets/fonts/inter-latin-500-normal.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Inter";src:url(../assets/fonts/inter-latin-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Inter";src:url(../assets/fonts/inter-latin-700-normal.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Syne";src:url(../assets/fonts/syne-latin-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Syne";src:url(../assets/fonts/syne-latin-700-normal.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Syne";src:url(../assets/fonts/syne-latin-800-normal.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--color-bg:#faf9f5;--color-bg-subtle:#f3f1ea;--color-text:#141413;--color-text-muted:#5a5954;--color-accent:#6d5cff;--color-accent-2:#a78bfa;--color-border:#e5e3d8;--color-dark-bg:#141413;--color-dark-text:#faf9f5;--color-dark-muted:#7a7870;--color-dark-border:#2a2926;--color-dark-subtle:#1e1d1b;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
		sans-serif;--font-display:"Syne", "Inter", system-ui, -apple-system, sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--font-size-5xl:clamp(2.75rem, 6vw, 4.5rem);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.1;--line-height-snug:1.3;--line-height-normal:1.6;--line-height-relaxed:1.75;--letter-spacing-tight:-0.03em;--letter-spacing-snug:-0.02em;--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;--space-32:8rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(20, 20, 19, 0.06), 0 1px 2px rgba(20, 20, 19, 0.04);--shadow-md:0 4px 16px rgba(20, 20, 19, 0.08);--shadow-lg:0 8px 40px rgba(20, 20, 19, 0.1);--ease-out:cubic-bezier(0, 0, 0.2, 1);--ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--duration-fast:150ms;--duration-base:250ms;--duration-slow:400ms;--duration-slower:600ms;--container-max:1200px;--container-padding:clamp(1.25rem, 5vw, 2rem);--header-height:64px}[data-theme=dark]{--color-bg:#0f0e14;--color-bg-subtle:#1a1825;--color-text:#f0eeff;--color-text-muted:#9d96c0;--color-accent:#8b7fff;--color-accent-2:#c4b5fd;--color-border:#2e2a42;--color-dark-bg:#1a1825;--color-dark-text:#f0eeff;--color-dark-muted:#9d96c0;--color-dark-border:#3d3858;--color-dark-subtle:#221f30;--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);--shadow-md:0 4px 16px rgba(0, 0, 0, 0.35);--shadow-lg:0 8px 40px rgba(0, 0, 0, 0.45)}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:100%}body{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}body::after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.025;pointer-events:none;z-index:9997}img,svg,video{display:block;max-width:100%}input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}ol[role=list],ul[role=list]{list-style:none}a,button{color:inherit}a{text-decoration:none}button{cursor:pointer;border:0;background:0 0;font:inherit}.skip-link{position:absolute;top:-100%;left:var(--space-4);padding:var(--space-2) var(--space-5);background-color:var(--color-text);color:var(--color-bg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-sm);z-index:9999;white-space:nowrap;transition:top var(--duration-fast) var(--ease-out)}.skip-link:focus{top:var(--space-4)}:focus{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius-sm)}.section--dark :focus,.section--dark :focus-visible{outline-color:var(--color-accent-2)}.section-eyebrow{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3)}.section-title{font-family:var(--font-display);font-size:clamp(var(--font-size-2xl),4vw,var(--font-size-4xl));font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-snug);color:var(--color-text)}.section--dark .section-title{color:var(--color-dark-text)}.section-lead{font-size:var(--font-size-lg);color:var(--color-text-muted);line-height:var(--line-height-relaxed);max-width:52ch}.section--dark .section-lead{color:var(--color-dark-muted)}.accent{color:var(--color-accent)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.site-header{position:-webkit-sticky;position:sticky;top:0;height:var(--header-height);z-index:100;background-color:rgba(250,249,245,.9);border-bottom:1px solid transparent;transition:border-color var(--duration-base) var(--ease-out),background-color var(--duration-base) var(--ease-out)}.site-header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:-webkit-backdrop-filter var(--duration-base) var(--ease-out),backdrop-filter var(--duration-base) var(--ease-out)}.site-header.is-scrolled{border-color:var(--color-border);background-color:rgba(250,249,245,.85)}.site-header.is-scrolled::before{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=dark] .site-header{background-color:rgba(15,14,20,.9)}[data-theme=dark] .site-header.is-scrolled{background-color:rgba(15,14,20,.85)}.nav{height:100%;display:flex;align-items:center;gap:var(--space-6);flex-wrap:nowrap;overflow:hidden}#main-content{outline:0}section{padding-block:var(--space-24)}@media (max-width:768px){section{padding-block:var(--space-16)}}@media (max-width:480px){section{padding-block:var(--space-12)}}.section--dark{background-color:var(--color-dark-bg);color:var(--color-dark-text)}.hero,.hero__inner{display:flex;position:relative}.hero{min-height:calc(100svh - var(--header-height));align-items:center;padding-block:var(--space-20);overflow:hidden}.hero__inner{flex-direction:column;gap:var(--space-5);max-width:800px;z-index:1}.about__inner{display:grid;grid-template-columns:200px 1fr;gap:var(--space-16);align-items:center}@media (max-width:768px){.about__inner{grid-template-columns:1fr;gap:var(--space-10)}}.projects__header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-12);flex-wrap:wrap;gap:var(--space-4)}.projects__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}@media (max-width:900px){.projects__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:580px){.projects__grid{grid-template-columns:1fr}}.experience{padding-block:var(--space-24)}.contact__inner{max-width:600px;margin-inline:auto;text-align:center}.site-footer{padding-block:var(--space-8);border-top:1px solid var(--color-border)}.footer__inner,.nav__logo{display:flex;align-items:center}.footer__inner{justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.nav__logo{transition:opacity var(--duration-fast) var(--ease-out);margin-right:auto}.nav__logo:hover{opacity:.65}.nav__logo-img{height:36px;width:auto;display:block}.nav__logo-img--light,[data-theme=dark] .nav__logo-img--dark{display:none}.nav__logo-img--dark,[data-theme=dark] .nav__logo-img--light{display:block}.nav__menu{display:flex;align-items:center;gap:var(--space-8)}.nav__link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out);position:relative}.nav__link::after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background-color:var(--color-accent);transition:width var(--duration-base) var(--ease-out)}.nav__cta,.nav__link.is-active,.nav__link:hover{color:var(--color-text)}.nav__link.is-active::after,.nav__link:hover::after{width:100%}.nav__cta{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-5);border:1.5px solid var(--color-border);border-radius:var(--radius-full);transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.nav__cta:hover{border-color:var(--color-text);background-color:var(--color-bg-subtle)}.nav__controls{display:flex;align-items:center;gap:var(--space-1)}.nav__theme-toggle,.nav__toggle{align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md)}.nav__theme-toggle{display:flex;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.nav__theme-toggle:hover{color:var(--color-text);background-color:var(--color-bg-subtle)}.nav__theme-toggle svg{width:18px;height:18px;flex-shrink:0}.nav__theme-toggle .icon-sun{display:none}.nav__theme-toggle .icon-moon,[data-theme=dark] .nav__theme-toggle .icon-sun{display:block}.nav__toggle{display:none;color:var(--color-text);transition:background-color var(--duration-fast) var(--ease-out)}.nav__toggle:hover{background-color:var(--color-bg-subtle)}.nav__toggle svg{width:20px;height:20px;flex-shrink:0}.nav__toggle .icon-close,.nav__toggle.is-open .icon-menu,[data-theme=dark] .nav__theme-toggle .icon-moon{display:none}.nav__toggle.is-open .icon-close{display:block}@media (max-width:640px){.nav__controls{position:relative;z-index:501;gap:var(--space-1)}.nav__toggle{display:flex}.nav__menu{position:fixed;inset:0;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-8);background-color:var(--color-bg);transform:translateX(100%);transition:transform var(--duration-slow) var(--ease-out);z-index:500}.nav__menu.is-open{transform:translateX(0)}.nav__link{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.nav__cta{font-size:var(--font-size-base);padding:var(--space-3) var(--space-6)}}.card::before,.hero::before{content:"";position:absolute;inset:0;pointer-events:none}.hero::before{background:radial-gradient(ellipse 80% 60%at 60% 50%,rgba(109,92,255,.12)0,transparent 70%);animation:heroPulse1 8s ease-in-out infinite alternate;z-index:0}[data-theme=dark] .hero::before{background:radial-gradient(ellipse 80% 60%at 60% 50%,rgba(109,92,255,.2)0,transparent 70%)}.hero__eyebrow{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);letter-spacing:.05em}.hero__title{font-family:var(--font-display);font-size:var(--font-size-5xl);font-weight:800;line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}.hero__subtitle{font-size:clamp(var(--font-size-xl),3vw,var(--font-size-3xl));font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:var(--letter-spacing-snug)}.hero__tagline{font-size:clamp(var(--font-size-base),2vw,var(--font-size-lg));color:var(--color-text-muted);line-height:var(--line-height-relaxed);max-width:52ch}.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-3)}.btn,.hero__scroll-hint{align-items:center;gap:var(--space-2)}.hero__scroll-hint{display:flex;margin-top:var(--space-12);font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.hero__scroll-hint svg{width:16px;height:16px;animation:bounce 2s var(--ease-in-out) infinite}.btn{display:inline-flex;justify-content:center;min-height:44px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn:active{transform:scale(.98)}.btn--primary{background-color:var(--color-text);color:var(--color-bg);border:1.5px solid var(--color-text)}.btn--primary:hover{background-color:#2e2d2b;border-color:#2e2d2b;box-shadow:var(--shadow-md)}[data-theme=dark] .btn--primary:hover{background-color:#fff;border-color:#fff;color:#0f0e14}.btn--ghost,.btn--ghost-light{background-color:transparent;color:var(--color-text);border:1.5px solid var(--color-border)}.btn--ghost:hover{border-color:var(--color-text-muted);background-color:var(--color-bg-subtle)}.btn--ghost-light{color:var(--color-dark-text);border:1.5px solid var(--color-dark-border)}.btn--ghost-light:hover{border-color:var(--color-dark-muted);background-color:var(--color-dark-subtle)}.about__avatar-wrap{width:200px;height:240px;border-radius:var(--radius-xl);overflow:hidden;flex-shrink:0;background-color:var(--color-dark-subtle);position:relative}.about__avatar-img{width:100%;height:100%;object-fit:cover;object-position:center top}.about__content{display:flex;flex-direction:column;gap:var(--space-5)}.about__bio{font-size:var(--font-size-lg);color:var(--color-dark-muted);line-height:var(--line-height-relaxed)}.about__links{display:flex;flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-2)}@media (max-width:768px){.about__avatar-wrap{width:120px;height:120px;border-radius:var(--radius-lg)}}.card{display:flex;flex-direction:column;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out);position:relative;overflow:hidden}.card::before{background:linear-gradient(135deg,rgba(109,92,255,.06)0,transparent 60%);opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.card:hover{border-color:rgba(109,92,255,.4);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.card:hover::before{opacity:1}.card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.card__icon,.card__link:hover{background-color:var(--color-bg-subtle)}.card__icon{width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border);justify-content:center;color:var(--color-text-muted);flex-shrink:0}.card__icon svg,.card__link svg{width:16px;height:16px}.card__icon,.card__link,.card__links{display:flex;align-items:center}.card__links{gap:var(--space-2)}.card__link{justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.card__link:hover{color:var(--color-text)}.card__coming-soon{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-accent);letter-spacing:.04em;opacity:.7;align-self:center}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);letter-spacing:-.01em;margin-bottom:var(--space-2)}.card__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-relaxed);flex:1;margin-bottom:var(--space-6)}.card__footer{margin-top:auto}.card__tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{padding:var(--space-1) var(--space-3);background-color:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);white-space:nowrap}.skills__header{margin-bottom:var(--space-16)}.skills__editorial{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,auto);row-gap:var(--space-5)}.skills__chapter{display:grid;grid-row:span 4;grid-template-rows:subgrid;padding:var(--space-2) var(--space-10) var(--space-2) var(--space-10);border-left:1px solid var(--color-dark-border)}.skills__chapter:first-child{border-left:none;padding-left:0}.skills__chapter:last-child{padding-right:0}.skills__num{font-family:var(--font-display);font-size:clamp(3rem,5vw,5rem);font-weight:800;color:var(--color-accent);opacity:.35;line-height:1;letter-spacing:-.04em}.skills__chapter-title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:700;color:var(--color-dark-text);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-snug);margin-top:calc(-1*var(--space-2))}.skills__chapter-body{font-size:var(--font-size-sm);color:var(--color-dark-muted);line-height:var(--line-height-relaxed)}.skills__chapter-tools{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:0;align-self:start}@media (max-width:860px){.skills__editorial{grid-template-columns:1fr}.skills__chapter{border-left:none;border-top:1px solid var(--color-dark-border);padding:var(--space-10)0}.skills__chapter:first-child{border-top:none;padding-top:0}}.contact__lead{font-size:var(--font-size-base);color:var(--color-text-muted);line-height:var(--line-height-relaxed);margin-top:var(--space-4);margin-bottom:var(--space-6)}.contact__email{margin-bottom:var(--space-8)}.contact__divider{width:40px;height:1px;background-color:var(--color-border);margin:var(--space-8) auto}.contact__socials,.social-link{display:flex;align-items:center;justify-content:center}.contact__socials{gap:var(--space-4)}.social-link{width:44px;height:44px;border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.social-link:hover{color:var(--color-text);border-color:var(--color-text-muted);background-color:var(--color-bg-subtle)}.social-link svg{width:20px;height:20px}.footer__carbon-link{white-space:nowrap;text-decoration:none;text-underline-offset:2px;transition:text-decoration var(--duration-fast) var(--ease-out)}.footer__carbon-link:hover{text-decoration:underline}.footer__sustainability{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;width:100%;margin-bottom:var(--space-3)}.footer__back-to-top,.footer__copy{font-size:var(--font-size-sm);color:var(--color-text-muted)}.footer__back-to-top{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.06em;text-transform:uppercase;transition:color var(--duration-fast) var(--ease-out)}.footer__back-to-top:hover{color:var(--color-text)}.footer__back-to-top svg{width:16px;height:16px;transition:transform var(--duration-fast) var(--ease-out)}.footer__back-to-top:hover svg{transform:translateY(-2px)}.about__stats{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none}.about__stat{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-dark-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-dark-muted);white-space:nowrap}.about__stat svg{width:14px;height:14px;flex-shrink:0;color:var(--color-accent)}.about__stat--available{color:#4ade80;border-color:rgba(74,222,128,.3)}.about__stat-pulse{width:8px;height:8px;border-radius:50%;background-color:#4ade80;flex-shrink:0;position:relative}.about__stat-pulse::before{content:"";position:absolute;inset:-3px;border-radius:50%;background-color:#4ade80;opacity:.4;animation:statPulse 2s ease-out infinite}.experience__header{margin-bottom:var(--space-12)}.timeline{display:flex;flex-direction:column;gap:var(--space-3);list-style:none;max-width:860px}.timeline__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);width:100%;text-align:left;padding:var(--space-5) var(--space-6);background-color:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--duration-base) var(--ease-out),background-color var(--duration-base) var(--ease-out)}.timeline__trigger:hover{border-color:var(--color-accent-2);background-color:var(--color-bg)}.timeline__item.is-open .timeline__trigger{border-color:var(--color-accent);border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:var(--color-bg)}.timeline__head{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.timeline__role{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text)}.timeline__meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.timeline__company,.timeline__sector{font-size:var(--font-size-sm);color:var(--color-text-muted)}.timeline__sep{opacity:.5;user-select:none}.timeline__bullets li,.timeline__sep,.timeline__tech{font-size:var(--font-size-sm);color:var(--color-text-muted)}.timeline__company--link{text-decoration:none;color:inherit;border-bottom:1px dotted transparent;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.timeline__company--link:hover{color:var(--color-text);border-bottom-color:var(--color-text-muted)}.timeline__aside{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.timeline__bullets li::before,.timeline__period{color:var(--color-accent);font-weight:var(--font-weight-medium)}.timeline__period{font-size:var(--font-size-xs);letter-spacing:.04em;white-space:nowrap}.timeline__chevron{width:18px;height:18px;color:var(--color-text-muted);transition:transform var(--duration-base) var(--ease-out);flex-shrink:0}.timeline__item.is-open .timeline__chevron{transform:rotate(180deg)}.timeline__panel{overflow:hidden;border:1px solid transparent;border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.timeline__panel.is-open{border-color:var(--color-accent)}.timeline__panel-inner{overflow:hidden;display:flex;flex-direction:column;gap:var(--space-5);padding:0 var(--space-6);max-height:0;transition:max-height var(--duration-slow) var(--ease-out),padding var(--duration-slow) var(--ease-out)}.timeline__panel.is-open .timeline__panel-inner{max-height:1200px;padding:var(--space-6)}.timeline__bullets,.timeline__tags{display:flex;gap:var(--space-2);list-style:none}.timeline__bullets{flex-direction:column}.timeline__bullets li{line-height:var(--line-height-relaxed);padding-left:var(--space-5);position:relative}.timeline__bullets li::before{content:"–";position:absolute;left:0}.timeline__tags{flex-wrap:wrap}.timeline__transition{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6)0;list-style:none}.timeline__transition::after,.timeline__transition::before{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(109,92,255,.35))}.timeline__transition::after{background:linear-gradient(to left,transparent,rgba(109,92,255,.35))}[data-theme=dark] .timeline__transition::before{background:linear-gradient(to right,transparent,rgba(139,127,255,.35))}[data-theme=dark] .timeline__transition::after{background:linear-gradient(to left,transparent,rgba(139,127,255,.35))}.timeline__transition-label{font-family:var(--font-display);font-size:var(--font-size-xs);font-weight:700;color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}@media (max-width:600px){.timeline__trigger{flex-wrap:wrap;gap:var(--space-3)}.timeline__aside{width:100%;justify-content:space-between}}.accent-line{display:block;width:36px;height:3px;background-color:var(--color-accent);border-radius:var(--radius-full);margin-top:var(--space-4)}.marquee-section{background-color:var(--color-dark-bg);overflow:hidden;position:relative;padding:var(--space-3)0}.marquee-section::after,.marquee-section::before{content:"";position:absolute;top:0;bottom:0;width:10rem;z-index:2;pointer-events:none}.marquee-section::before{left:0;background:linear-gradient(to right,var(--color-dark-bg) 40%,transparent)}.marquee-section::after{right:0;background:linear-gradient(to left,var(--color-dark-bg) 40%,transparent)}.marquee{overflow:hidden;padding:var(--space-1)0}.marquee__track{display:flex;width:max-content;white-space:nowrap;will-change:transform;backface-visibility:hidden}.marquee--left .marquee__track{animation:marquee-left 80s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__inner{font-family:var(--font-sans);font-size:.75rem;font-weight:var(--font-weight-semibold);line-height:1;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.65);display:inline-flex;align-items:center}.marquee__sep{color:var(--color-accent);margin:0 var(--space-3);line-height:1}@media (prefers-reduced-motion:reduce){.marquee--left .marquee__track{animation:none}}.projects__header-actions{display:flex;flex-direction:row;align-items:center;gap:var(--space-3);flex-wrap:wrap}.btn--snake{border-color:var(--color-accent);color:var(--color-accent)}.btn--snake:hover{background-color:color-mix(in srgb,var(--color-accent) 10%,transparent)}.snake-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.snake-modal[hidden]{display:none}.snake-modal__backdrop{position:absolute;inset:0;background-color:rgba(0,0,0,.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer}.snake-modal__panel{position:relative;z-index:1;width:min(640px,100%);height:min(760px,calc(100dvh - var(--space-8)));border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.7);background-color:#0f0e14;display:flex;flex-direction:column}.snake-modal__close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:2;width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-accent-2, #c4b5fd);background-color:rgba(139,127,255,.12);border:1px solid rgba(139,127,255,.25);transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.snake-modal__close:hover{background-color:rgba(139,127,255,.25);color:#fff}.snake-modal__iframe{width:100%;flex:1;border:0;display:block;min-height:0}@media (max-width:680px){.snake-modal__panel{width:100%;height:100dvh;border-radius:0}.snake-modal{padding:0}}.animate-on-scroll{opacity:0;transform:translateY(24px);transition:opacity var(--duration-slower) var(--ease-out),transform var(--duration-slower) var(--ease-out)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.stagger-1{transition-delay:0ms}.stagger-2{transition-delay:80ms}.stagger-3{transition-delay:160ms}.stagger-4{transition-delay:240ms}.stagger-5{transition-delay:320ms}.stagger-6{transition-delay:400ms}.hero .animate-on-scroll{transform:translateY(36px);transition-duration:800ms}.hero .stagger-1{transition-delay:0ms}.hero .stagger-2{transition-delay:120ms}.hero .stagger-3{transition-delay:240ms}.hero .stagger-4{transition-delay:360ms}.hero .stagger-5{transition-delay:480ms}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::after,::before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-on-scroll{opacity:1!important;transform:none!important;transition:none!important}.hero__scroll-hint svg{animation:none}.hero::after,.hero::before{animation:none;opacity:1}}