.header-download-control{position:relative;display:inline-grid;width:1.8rem;height:1.8rem;min-width:1.8rem;min-height:1.8rem;flex:0 0 1.8rem;place-items:center;box-sizing:border-box;border:1px solid rgba(215,215,224,.3);border-radius:50%;color:var(--text-muted);line-height:0;text-decoration:none;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.header-download-control span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.header-download-control:focus-visible,.header-download-control:hover{border-color:var(--lavender);color:var(--lavender);background:rgba(109,40,217,.16);outline:none}.header-download-control:after{position:absolute;top:calc(100% + .55rem);right:0;padding:.38rem .5rem;color:var(--text-primary);background:#120b1b;border:1px solid rgba(216,180,254,.4);font-family:JetBrains Mono,monospace;font-size:.5rem;letter-spacing:.08em;line-height:1.2;content:"DOWNLOAD CV";opacity:0;pointer-events:none;transform:translateY(-.25rem);transition:opacity .16s ease,transform .16s ease;white-space:nowrap}.header-download-control:focus-visible:after,.header-download-control:hover:after{opacity:1;transform:translateY(0)}.experience-timeline{min-height:0;display:grid;gap:clamp(4rem,8vw,7rem);margin-top:clamp(3.5rem,7vw,6rem);padding:.5rem 0 0}.experience-entry{min-height:0;padding:clamp(1.4rem,2.5vw,2.2rem)}.experience-entry+.experience-entry{margin-top:0}.experience-entry--right{margin-top:clamp(1rem,5vw,4rem)}.experience-entry-meta{display:grid;gap:.55rem;align-items:start}.experience-entry-meta time{color:var(--text-primary);font-family:Space Grotesk Variable,Space Grotesk,sans-serif;font-size:clamp(1.6rem,2.4vw,2.45rem);font-weight:650;letter-spacing:-.07em;line-height:.94}.experience-entry h3{margin-top:1.5rem;font-size:clamp(1.7rem,2.45vw,2.45rem)}.experience-entry h4{margin:.55rem 0 0;color:var(--lavender);font-family:JetBrains Mono,monospace;font-size:.64rem;font-weight:500;letter-spacing:.11em;line-height:1.5;text-transform:uppercase}.experience-responsibilities{display:grid;gap:.54rem;margin:1.15rem 0 0;padding:0;list-style:none;color:var(--text-secondary);font-size:.77rem;line-height:1.5}.experience-responsibilities li{position:relative;padding-left:.9rem}.experience-responsibilities li:before{position:absolute;top:.46rem;left:0;width:.28rem;height:.28rem;border-radius:50%;background:var(--orchid);box-shadow:0 0 8px rgba(192,132,252,.75);content:""}.experience-tags,.project-technologies{display:flex;flex-wrap:wrap;gap:.42rem}.experience-tags{margin-top:1.2rem}.experience-tags span,.project-technologies span{padding:.28rem .4rem;border:1px solid rgba(216,180,254,.22);color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.49rem;letter-spacing:.08em;text-transform:uppercase}.experience-actions{display:flex;justify-content:center;margin-top:clamp(3rem,5vw,5rem)}.contact-cv-action,.experience-actions a{display:inline-flex;align-items:center;gap:.52rem;padding:.82rem 1rem;border:1px solid rgba(216,180,254,.48);color:var(--text-primary);background:rgba(109,40,217,.12);font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:600;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.contact-cv-action:focus-visible,.contact-cv-action:hover,.experience-actions a:focus-visible,.experience-actions a:hover{border-color:var(--lavender);background:rgba(109,40,217,.28);outline:none;transform:translateY(-2px)}.contact-cv-action{margin-top:1rem}.work-section{padding:clamp(4rem,7vw,7rem) 16px;overflow:clip;background:#050505}.work-frame{position:relative;isolation:isolate;max-width:88rem;margin:0 auto}.work-background-word{position:absolute;z-index:-1;top:4.6rem;right:-.08em;color:transparent;font-family:Space Grotesk Variable,Space Grotesk,sans-serif;font-size:clamp(9rem,25vw,27rem);font-weight:700;letter-spacing:-.1em;line-height:.72;-webkit-text-stroke:1px rgba(216,180,254,.07);text-transform:uppercase;user-select:none}.work-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(18rem,.46fr);align-items:end;gap:clamp(2rem,9vw,10rem)}.work-heading>p{max-width:31rem;margin:0 0 .35rem;color:var(--text-muted);font-size:clamp(.95rem,1.05vw,1.08rem);line-height:1.65}.project-filters{display:flex;flex-wrap:wrap;gap:.48rem;margin-top:clamp(2.5rem,5vw,4.25rem)}.project-filters button{padding:.52rem .68rem;border:1px solid rgba(215,215,224,.18);color:var(--text-muted);background:rgba(13,13,18,.72);font-family:JetBrains Mono,monospace;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.project-filters button.is-active,.project-filters button:focus-visible,.project-filters button:hover{border-color:var(--lavender);color:var(--text-primary);background:rgba(109,40,217,.25);outline:none}.work-group{position:relative;margin-top:clamp(4rem,8vw,7rem)}.work-group--independent{margin-top:clamp(5rem,11vw,10rem)}.work-group-heading{display:flex;align-items:center;gap:.8rem;margin-bottom:clamp(2rem,4vw,3.5rem)}.work-group-heading span{color:var(--lavender);font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.12em}.work-group-heading h3{margin:0;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.work-group-heading i{width:clamp(3rem,10vw,11rem);height:1px;background:linear-gradient(90deg,rgba(192,132,252,.7),rgba(215,215,224,.1))}.featured-projects{display:grid;gap:clamp(2.5rem,6vw,6rem)}.featured-project{position:relative;display:grid;grid-template-columns:minmax(18rem,1.05fr) minmax(18rem,.95fr);align-items:stretch;min-height:29rem;border:1px solid rgba(215,215,224,.14);background:linear-gradient(135deg,rgba(18,11,27,.56),rgba(8,8,10,.96) 56%);overflow:hidden}.featured-project:before{position:absolute;inset:0;background:linear-gradient(115deg,transparent 48%,rgba(192,132,252,.08),transparent 52%);content:"";pointer-events:none}.featured-project--visual-right .project-visual{order:2}.featured-project--visual-right .featured-project-copy{order:1}.featured-project-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(1.5rem,3.5vw,3.5rem)}.featured-project-meta{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase}.featured-project-meta span:first-child{color:var(--lavender)}.featured-project-copy h3{margin:clamp(2rem,4vw,4rem) 0 0;color:var(--text-primary);font-family:Space Grotesk Variable,Space Grotesk,sans-serif;font-size:clamp(2.6rem,5.4vw,5.5rem);font-weight:700;letter-spacing:-.09em;line-height:.78;text-transform:uppercase}.featured-project-subtitle{margin:.9rem 0 0;color:var(--lavender);font-family:JetBrains Mono,monospace;font-size:.64rem;letter-spacing:.1em;line-height:1.5;text-transform:uppercase}.featured-project-role{margin:1.25rem 0 0;color:var(--text-primary);font-size:.9rem;font-weight:600}.featured-project-event{margin:.45rem 0 0;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.56rem;letter-spacing:.08em}.featured-project-summary{max-width:33rem;margin:1rem 0 0;color:var(--text-muted);font-size:.86rem;line-height:1.58}.featured-project-highlights{display:grid;gap:.38rem;margin:1rem 0 0;padding:0;list-style:none;color:var(--text-secondary);font-size:.75rem;line-height:1.4}.featured-project-highlights li{position:relative;padding-left:.8rem}.featured-project-highlights li:before{position:absolute;top:.38rem;left:0;width:.26rem;height:.26rem;border-radius:50%;background:var(--orchid);content:""}.project-technologies{margin-top:1.2rem}.project-private-label,.project-repository-link{display:inline-flex;align-items:center;gap:.42rem;margin-top:auto;padding-top:1.5rem;color:var(--lavender);font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:600;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.project-repository-link:focus-visible,.project-repository-link:hover{color:var(--text-primary);outline:none}.project-private-label{color:var(--text-subtle)}.project-visual{position:relative;min-height:100%;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(109,40,217,.3),transparent 35%),#08080a}.project-visual:after{position:absolute;inset:0;background:linear-gradient(135deg,rgba(5,5,5,.04),rgba(5,5,5,.72));content:"";pointer-events:none}.project-visual svg{position:absolute;inset:0;width:100%;height:100%}.project-visual-grid{fill:none;stroke:rgba(215,215,224,.09);stroke-width:1}.project-visual-chain,.project-visual-pulse,.project-visual-route,.project-visual-wave{fill:none;stroke:var(--lavender);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(192,132,252,.55))}.project-visual-node{fill:#08080a;stroke:var(--orchid);stroke-width:2}.project-visual-core{filter:drop-shadow(0 0 16px rgba(192,132,252,.85))}.project-visual-ring{fill:none;stroke:rgba(216,180,254,.5);stroke-width:1.4}.project-visual-frame,.project-visual-receipt{fill:none;stroke:rgba(216,180,254,.38);stroke-width:1}.project-visual-label,.project-visual-number{position:absolute;z-index:1;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase}.project-visual-label--start{top:1.15rem;left:1.2rem}.project-visual-label--end{right:1.2rem;bottom:1.15rem}.project-visual-number{right:1.2rem;top:1rem;color:var(--text-primary);font-size:clamp(2.5rem,6vw,5rem);font-weight:700;letter-spacing:-.1em}.featured-project:hover .project-visual-pulse,.featured-project:hover .project-visual-route,.featured-project:hover .project-visual-wave{stroke:var(--text-primary)}.project-index{display:grid;gap:.7rem;margin-top:clamp(2.5rem,5vw,4.5rem)}.project-index-entry{display:grid;grid-template-columns:4.2rem minmax(14rem,.8fr) minmax(10rem,.45fr) minmax(17rem,1fr);gap:1.25rem;padding:1.4rem 1.2rem;border-top:1px solid rgba(215,215,224,.15);background:rgba(13,13,18,.34);transition:background-color .18s ease,border-color .18s ease}.project-index-entry:hover{border-color:rgba(192,132,252,.48);background:rgba(18,11,27,.58)}.project-index-number{color:var(--lavender);font-family:Space Grotesk Variable,Space Grotesk,sans-serif;font-size:2rem;font-weight:700;letter-spacing:-.09em}.project-index-main p,.project-index-main span,.project-index-role{margin:0;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.55rem;letter-spacing:.09em;line-height:1.5;text-transform:uppercase}.project-index-main h3{margin:.55rem 0;color:var(--text-primary);font-family:Space Grotesk Variable,Space Grotesk,sans-serif;font-size:1.5rem;font-weight:650;letter-spacing:-.06em;line-height:.95;text-transform:uppercase}.project-index-role{padding-top:.1rem;color:var(--lavender)}.project-index-details>p{margin:0;color:var(--text-muted);font-size:.77rem;line-height:1.48}.project-index-details ul{display:grid;gap:.25rem;margin:.65rem 0 0;padding-left:.9rem;color:var(--text-secondary);font-size:.7rem;line-height:1.35}.project-index-details .project-technologies{margin-top:.7rem}.project-index-details .project-repository-link{margin-top:0;padding-top:.9rem}@media (max-width:960px){.featured-project{grid-template-columns:minmax(16rem,.84fr) minmax(17rem,1fr)}.project-index-entry{grid-template-columns:3.5rem minmax(12rem,.8fr) minmax(13rem,1fr)}.project-index-role{display:none}}@media (max-width:780px){.work-section{padding:3.75rem 1.15rem}.work-heading{display:block}.work-heading>p{margin-top:1.7rem}.project-filters{margin-top:2rem}.work-group{margin-top:4rem}.featured-project{grid-template-columns:1fr;min-height:0}.featured-project--visual-right .featured-project-copy,.featured-project--visual-right .project-visual{order:0}.project-visual{min-height:17rem}.featured-project-copy{padding:1.35rem}.featured-project-copy h3{margin-top:2rem;font-size:clamp(2.5rem,12vw,4rem)}.project-index-entry{grid-template-columns:3rem minmax(0,1fr);gap:.9rem;padding:1.1rem 0;background:transparent}.project-index-role{display:none}.project-index-details{grid-column:2}.project-index-main h3{font-size:1.35rem}.experience-timeline{gap:1.4rem}.experience-entry--right{margin-top:0}.experience-entry h3{font-size:1.8rem}.experience-responsibilities{font-size:.75rem}}@media (prefers-reduced-motion:reduce){.contact-cv-action,.experience-actions a,.featured-project,.header-download-control,.project-filters button,.project-index-entry{transition:none}}