:root{--bg: #0b0c10;--panel: #11131a;--text: #e6e8ee;--muted: #a6adbb;--font-sans: ui-rounded, "SF Pro Rounded", "Avenir Next", "Trebuchet MS", "Segoe UI", sans-serif;--font-display: ui-rounded, "SF Pro Rounded", "Avenir Next Rounded", "Avenir Next", "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--primary: #7088a0;--primary-600: #5c7388;--accent: #93a5b7;--success: #22c55e;--border: color-mix(in oklab, var(--text) 10%, transparent);--border-hover: color-mix(in oklab, var(--primary) 35%, transparent);--ring: 0 0 0 2px color-mix(in oklab, var(--primary) 50%, transparent);--home-bento-border: color-mix(in oklab, var(--text) 12%, transparent);--home-bento-highlight: color-mix(in oklab, var(--text) 72%, transparent);--home-bento-muted: color-mix(in oklab, var(--panel) 72%, transparent);--home-bento-shadow: 0 30px 80px rgba(0, 0, 0, .34), 0 10px 24px color-mix(in oklab, var(--primary) 16%, transparent);--home-bento-glow: color-mix(in oklab, var(--accent) 22%, transparent);--home-veil: color-mix(in oklab, var(--bg) 70%, transparent)}[data-theme=light]{--bg: #f5f5f7;--panel: #ffffff;--text: #1d1d1f;--muted: #6e6e73;--primary: #576d84;--primary-600: #495d71;--accent: #8fa0b1;--success: #16a34a;--border: color-mix(in oklab, var(--text) 10%, transparent);--border-hover: color-mix(in oklab, var(--primary) 30%, transparent);--orb-primary-opacity: 35%;--orb-accent-opacity: 30%;--home-bento-border: color-mix(in oklab, var(--text) 10%, transparent);--home-bento-highlight: color-mix(in oklab, white 88%, transparent);--home-bento-muted: color-mix(in oklab, white 78%, var(--accent));--home-bento-shadow: 0 34px 75px rgba(15, 23, 42, .12), 0 12px 28px color-mix(in oklab, var(--accent) 10%, transparent);--home-bento-glow: color-mix(in oklab, var(--primary) 16%, transparent);--home-veil: color-mix(in oklab, white 78%, transparent)}*{box-sizing:border-box}html,body,#root{height:100%}html{background:var(--bg)}body{margin:0;font-family:var(--font-sans);background:transparent;color:var(--text);line-height:1.5;overflow-x:hidden;position:relative;isolation:isolate}html.hero-focus-active,body.hero-focus-active{overflow:hidden}body:before{content:"";position:fixed;inset:-34vmax;z-index:-2;pointer-events:none;background:radial-gradient(72vmax 46vmax at 84% -8%,color-mix(in oklab,var(--primary) 18%,transparent),transparent 72%),radial-gradient(64vmax 42vmax at -8% 10%,color-mix(in oklab,var(--accent) 16%,transparent),transparent 70%),radial-gradient(56vmax 40vmax at 50% 108%,color-mix(in oklab,var(--accent) 10%,transparent),transparent 74%),linear-gradient(180deg,color-mix(in oklab,var(--bg) 72%,transparent) 0%,transparent 42%,color-mix(in oklab,var(--primary) 5%,transparent) 100%);background-color:var(--bg);filter:saturate(1.12);animation:bg-pan 105s ease-in-out infinite alternate}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(420px 420px at 8% 14%,color-mix(in oklab,var(--primary) 24%,transparent),transparent 68%),radial-gradient(360px 360px at 88% 12%,color-mix(in oklab,var(--accent) 22%,transparent),transparent 70%),radial-gradient(260px 260px at 92% 48%,color-mix(in oklab,var(--primary) 18%,transparent),transparent 70%),radial-gradient(420px 420px at 12% 84%,color-mix(in oklab,var(--accent) 18%,transparent),transparent 72%),radial-gradient(520px 520px at 84% 86%,color-mix(in oklab,var(--primary) 16%,transparent),transparent 74%),radial-gradient(300px 300px at 50% 50%,color-mix(in oklab,var(--accent) 9%,transparent),transparent 74%);filter:blur(92px);opacity:.88;animation:orbs-float 34s ease-in-out infinite alternate}@keyframes orbs-float{0%{transform:translateZ(0) scale(1);opacity:.8}25%{transform:translate3d(15px,-25px,0) scale(1.02);opacity:.9}50%{transform:translate3d(-10px,10px,0) scale(.98);opacity:.85}75%{transform:translate3d(20px,15px,0) scale(1.01);opacity:.9}to{transform:translateZ(0) scale(1);opacity:.8}}@supports not (background: color-mix(in oklab,white 10%,black)){body:before{background:radial-gradient(72vmax 46vmax at 84% -8%,rgba(124,58,237,.18),transparent 72%),radial-gradient(64vmax 42vmax at -8% 10%,rgba(6,182,212,.16),transparent 70%),radial-gradient(56vmax 40vmax at 50% 108%,rgba(6,182,212,.1),transparent 74%),linear-gradient(180deg,rgba(11,12,16,.72) 0%,transparent 42%,rgba(124,58,237,.05) 100%)}body:after{background:radial-gradient(420px 420px at 8% 14%,rgba(124,58,237,.24),transparent 68%),radial-gradient(360px 360px at 88% 12%,rgba(6,182,212,.22),transparent 70%),radial-gradient(420px 420px at 12% 84%,rgba(6,182,212,.18),transparent 72%),radial-gradient(520px 520px at 84% 86%,rgba(124,58,237,.16),transparent 74%);filter:blur(92px)}}@keyframes bg-pan{0%{transform:translateZ(0)}50%{transform:translate3d(0,-1%,0)}to{transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none}.orbs,.hero-bento__panel{animation:none!important}.btn,.project-card{transition:none}.hero-bento__panel--profile,.hero-bento__scroll{animation:none;transition:none}}.app main{max-width:1100px;margin:0 auto;padding:0 1.1rem 2.5rem}.app--hero-focus{min-height:100vh;background:var(--bg)}.app--hero-focus .scroll-progress,.app--hero-focus main>:not(:first-child),.app--hero-focus footer{display:none!important}.app--hero-focus #main-content{max-width:none;margin:0;padding:0}.app--hero-focus .hero-bento{min-height:100vh;padding-top:clamp(4.8rem,8vh,5.8rem);padding-bottom:.75rem}.app--hero-focus .corner-controls{z-index:120}.app--hero-focus:fullscreen{width:100vw;height:100vh;overflow:auto}.container{max-width:1100px;margin:0 auto;padding:0 1.1rem}.grid{display:grid;gap:1rem}.btn{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;position:relative;background:var(--primary);color:#fff;border:none;border-radius:980px;padding:.85rem 1.75rem;font-weight:600;font-size:.95rem;text-decoration:none;box-shadow:none;transition:all .25s cubic-bezier(.25,.46,.45,.94);overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:color-mix(in oklab,var(--primary) 28%,transparent)}.btn:before{display:none}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in oklab,var(--primary) 25%,transparent);opacity:1;text-decoration:none}.btn:active{opacity:.75;transform:translateY(0)}.btn:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in oklab,var(--primary) 40%,transparent)}[data-theme=dark] .btn{background:linear-gradient(135deg,var(--primary) 0%,color-mix(in oklab,var(--primary) 70%,var(--accent)) 100%);box-shadow:0 0 12px color-mix(in oklab,var(--primary) 30%,transparent),0 4px 15px #0003,inset 0 1px 1px #ffffff4d}[data-theme=dark] .btn:hover{opacity:1;transform:translateY(-2px);box-shadow:0 0 24px color-mix(in oklab,var(--primary) 45%,transparent),0 8px 24px #00000040,inset 0 1px 1px #fff6}.btn.ghost{background:transparent;color:var(--primary);border:1.5px solid var(--primary);box-shadow:none;text-decoration:none}.btn.ghost:before{display:none}.btn.ghost:hover{background:color-mix(in oklab,var(--primary) 12%,transparent);color:var(--primary);border-color:var(--primary);box-shadow:none;opacity:1;text-decoration:none}[data-theme=dark] .btn.ghost{box-shadow:none}[data-theme=dark] .btn.ghost:hover{background:color-mix(in oklab,var(--primary) 15%,transparent);box-shadow:0 4px 16px color-mix(in oklab,var(--primary) 20%,transparent)}.card{background:var(--panel);border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:16px;padding:1rem;position:relative;transition:border-color .25s ease}[data-theme=dark] .card{background:linear-gradient(180deg,color-mix(in oklab,var(--panel) 88%,transparent),var(--panel));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.badge{border:1px solid color-mix(in oklab,var(--text) 10%,transparent);padding:.45rem .75rem;border-radius:999px;color:var(--muted);font-size:.82rem;font-weight:500}.badge.tag.on{color:var(--text);border-color:color-mix(in oklab,var(--primary) 50%,transparent);background:color-mix(in oklab,var(--primary) 8%,transparent)}.hero-bento{position:relative;width:100vw;margin-left:50%;transform:translate(-50%);padding-inline:clamp(.35rem,1vw,1rem);padding-top:clamp(4.9rem,8vh,5.8rem);padding-bottom:clamp(.6rem,1.6vh,1rem);min-height:100svh;height:auto;display:grid;align-items:start;isolation:isolate}.hero-bento__grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"intro   intro   intro   intro   topC    topC    topC    topC    techB  techB  techB  techB" "intro   intro   intro   intro   profile profile profile profile techR  techR  techR  techR" "intro   intro   intro   intro   profile profile profile profile techR  techR  techR  techR" "cta     cta     cta     cta     statA   statA   statB   statB   techR  techR  techR  techR";grid-template-rows:minmax(7.95rem,auto) minmax(9.5rem,auto) minmax(9.5rem,auto) minmax(6.75rem,auto);gap:clamp(.55rem,.9vw,.95rem);min-height:min(calc(100svh - 5.8rem),43.75rem);max-width:1940px;width:100%;margin:0 auto;align-items:stretch;align-content:start}.hero-bento__panel{position:relative;min-height:0;height:100%;padding:clamp(.95rem,1vw,1.2rem);border-radius:24px;overflow:hidden;border:1px solid color-mix(in oklab,var(--text) 10%,transparent);background:radial-gradient(circle at 18% 14%,color-mix(in oklab,var(--primary) 2.4%,transparent),transparent 42%),radial-gradient(circle at 82% 86%,color-mix(in oklab,var(--accent) 1.8%,transparent),transparent 40%),linear-gradient(115deg,transparent 0%,transparent 45%,color-mix(in oklab,white 4%,transparent) 50%,color-mix(in oklab,var(--accent) 1.8%,transparent) 55%,color-mix(in oklab,var(--primary) 2.4%,transparent) 60%,transparent 66%,transparent 100%);background-color:color-mix(in oklab,var(--panel) 6%,transparent);background-size:135% 135%,130% 130%,220% 100%;background-position:0% 0%,100% 100%,-220% 50%;-webkit-backdrop-filter:blur(18px) saturate(118%);backdrop-filter:blur(18px) saturate(118%);box-shadow:inset 0 1px color-mix(in oklab,white 14%,transparent),inset 0 -1px color-mix(in oklab,var(--text) 4%,transparent),0 24px 46px -34px color-mix(in oklab,var(--primary) 14%,transparent),0 12px 26px #080f1e12;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,filter .22s ease}[data-theme=dark] .hero-bento__panel{border:1px solid color-mix(in oklab,var(--text) 14%,transparent);background:radial-gradient(circle at 18% 14%,color-mix(in oklab,var(--primary) 4%,transparent),transparent 42%),radial-gradient(circle at 82% 86%,color-mix(in oklab,var(--accent) 2.4%,transparent),transparent 40%),linear-gradient(115deg,transparent 0%,transparent 45%,color-mix(in oklab,white 3%,transparent) 50%,color-mix(in oklab,var(--accent) 2.2%,transparent) 55%,color-mix(in oklab,var(--primary) 2.8%,transparent) 60%,transparent 66%,transparent 100%);background-color:color-mix(in oklab,var(--panel) 10%,transparent);box-shadow:inset 0 1px color-mix(in oklab,white 10%,transparent),inset 0 -1px color-mix(in oklab,white 3%,transparent),0 22px 52px -34px #0000006b,0 12px 28px #00000038}.hero-bento__panel>*{position:relative;z-index:1}.hero-bento__panel:hover,.hero-bento__panel:focus-within{transform:translateY(-2px);border-color:color-mix(in oklab,var(--primary) 22%,transparent);box-shadow:inset 0 1px color-mix(in oklab,white 38%,transparent),inset 0 -1px color-mix(in oklab,var(--primary) 10%,transparent),0 28px 56px -34px color-mix(in oklab,var(--primary) 28%,transparent),0 18px 34px color-mix(in oklab,var(--accent) 10%,transparent);filter:saturate(1.04) brightness(1.015)}[data-theme=dark] .hero-bento__panel:hover,[data-theme=dark] .hero-bento__panel:focus-within{border-color:color-mix(in oklab,var(--accent) 18%,var(--primary) 16%);box-shadow:inset 0 1px color-mix(in oklab,white 18%,transparent),inset 0 -1px color-mix(in oklab,var(--accent) 8%,transparent),0 28px 60px -34px color-mix(in oklab,var(--primary) 34%,transparent),0 16px 34px color-mix(in oklab,black 34%,transparent);filter:saturate(1.08) brightness(1.04)}.hero-bento__panel--intro{grid-area:intro}.hero-bento__panel--top-c{grid-area:topC}.hero-bento__panel--tech-b{grid-area:techB}.hero-bento__panel--profile{grid-area:profile}.hero-bento__panel--tech-r{grid-area:techR}.hero-bento__panel--cta{grid-area:cta}.hero-bento__panel--stat-a{grid-area:statA}.hero-bento__panel--stat-b{grid-area:statB}.hero-bento__panel--intro{display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;padding:clamp(1.2rem,1.8vw,1.8rem)}.hero-bento__intro-main{display:grid;gap:.9rem}.hero-bento__panel--top-c{display:flex;flex-direction:column;justify-content:space-between;gap:.68rem;padding:clamp(.9rem,1.15vw,1.08rem)}.hero-bento__top-c-title{margin:0;font-size:clamp(.9rem,.7rem + .4vw,1.1rem);font-weight:600;line-height:1.3;color:var(--text)}.hero-bento__top-c-sub{margin:0;font-size:.72rem;color:var(--muted);line-height:1.4}.hero-bento__panel--profile{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1.2rem,1.8vw,1.7rem) clamp(1rem,1.6vw,1.45rem);text-align:center;gap:.8rem}[data-theme=dark] .hero-bento__panel--profile{background-color:color-mix(in oklab,var(--panel) 16%,transparent)}.hero-bento__profile-top{display:flex;flex-direction:column;align-items:center;gap:.35rem}.hero-bento__niduga{margin:0;font-size:.7rem;font-weight:600;color:var(--primary);letter-spacing:.18em;text-transform:uppercase}.hero-bento__avatar-wrap{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;padding-block:.2rem}.hero-bento__panel--profile .hero-bento__avatar-ring{width:min(100%,13.6rem);height:min(100%,17.1rem);aspect-ratio:unset;border-radius:0;padding:0;background:none;box-shadow:none}.hero-bento__panel--profile .hero-bento__avatar{width:100%;height:100%;border-radius:0}.hero-bento__profile-bottom{display:flex;flex-direction:column;align-items:center;gap:.38rem}.hero-bento__location{margin:0;font-size:.7rem;color:var(--muted)}.hero-bento__panel--cta{display:flex;flex-direction:column;justify-content:stretch;align-items:stretch;gap:0;padding:clamp(1.05rem,1.5vw,1.35rem)}.hero-bento__panel--tech-b{display:flex;flex-direction:column;justify-content:space-between;gap:.58rem;padding:clamp(.82rem,1vw,.98rem)}.hero-bento__panel--tech-r{display:flex;flex-direction:column;justify-content:space-between;gap:.95rem;padding:clamp(.9rem,1.1vw,1.15rem)}.hero-bento__panel--stat-a,.hero-bento__panel--stat-b{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.32rem;padding:.95rem .75rem .9rem}.hero-bento__panel-head,.hero-bento__group-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.hero-bento__panel-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;height:1.8rem;padding-inline:.45rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--primary) 18%,transparent);background:color-mix(in oklab,var(--primary) 8%,var(--panel));color:var(--primary);font-size:.72rem;font-weight:700;line-height:1}.hero-bento__intro-footer{display:flex;flex-direction:column;gap:.8rem;margin-top:auto;padding-top:1rem;border-top:1px solid color-mix(in oklab,var(--text) 8%,transparent)}.hero-bento__job-header{display:flex;flex-direction:column;gap:.2rem;margin:0}.hero-bento__job-company{margin:0;font-weight:700;font-size:.98rem;color:var(--text)}.hero-bento__job-role{margin:0;font-size:.77rem;color:var(--muted)}.hero-bento__job-period{margin:0;font-size:.72rem;color:var(--muted);opacity:.8}.hero-bento__job-stack{display:flex;flex-wrap:wrap;gap:.28rem;margin-top:auto}.hero-bento__chip--sm{padding:.22rem .5rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--text) 10%,transparent);background:color-mix(in oklab,var(--panel) 80%,transparent);color:var(--muted);font-size:.66rem;font-weight:500}.hero-bento__big-stat{font-family:var(--font-display);font-size:clamp(2.1rem,1.55rem + 1.15vw,3.08rem);font-weight:600;line-height:1;letter-spacing:-.04em;color:var(--text);display:block}.hero-bento__stat-label{font-family:var(--font-sans);font-size:.66rem;color:var(--muted);text-align:center;line-height:1.35;display:block}.hero-bento__panel--signal{display:flex;flex-direction:column;justify-content:center;gap:.7rem}.hero-bento__tech-label{margin:0;font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.04em}.hero-bento__label,.hero-bento__kicker{margin:0;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.hero-bento__role{text-transform:none;letter-spacing:0;font-size:.88rem;font-weight:600;margin:0;color:color-mix(in oklab,var(--accent) 72%,var(--text))}.hero-bento__scroll{text-transform:none;letter-spacing:0}.hero-bento__status{text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.68rem;color:var(--muted)}.hero-bento__eyebrow{display:inline-flex;align-items:center;width:fit-content;padding:0;border:0;background:none;box-shadow:none;font-family:var(--font-sans);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.24em;color:var(--muted)}.hero-bento__kicker{margin-top:.65rem;color:color-mix(in oklab,var(--accent) 78%,var(--text))}.hero-bento__copy h1{margin:.3rem 0 .95rem;font-family:var(--font-display);font-size:clamp(2.15rem,1.25rem + 1.75vw,3.28rem);font-weight:700;line-height:.9;letter-spacing:-.06em;text-wrap:balance;max-width:10.8ch;color:var(--text)}.hero-bento__title{margin:0 0 .9rem;font-size:clamp(1.12rem,.96rem + .56vw,1.38rem);line-height:1.34;background:linear-gradient(120deg,var(--accent),var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent;max-width:28rem}.hero-bento__description,.hero-bento__tagline,.hero-bento__panel--signal p,.hero-bento__panel--spotlight p{margin:0;font-family:var(--font-sans);color:color-mix(in oklab,var(--muted) 88%,var(--text));line-height:1.5;font-size:.9rem}.hero-bento__description{max-width:35ch;font-size:.94rem;line-height:1.62}.hero-bento__stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:0}.hero-bento__chip{position:relative;overflow:hidden;min-height:100%;padding:.45rem .82rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--text) 10%,transparent);background:color-mix(in oklab,var(--panel) 72%,transparent);color:var(--muted);font-size:.8rem;font-weight:600;line-height:1.2;box-shadow:none}.hero-bento__chip:before{display:none}.hero-bento__profile-meta,.hero-bento__metrics-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.hero-bento__meta-right{display:inline-flex;align-items:center;gap:.45rem}.hero-bento__status{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.4rem .68rem;border-radius:999px;border:1px solid color-mix(in oklab,#22c55e 44%,transparent);background:color-mix(in oklab,#22c55e 16%,var(--panel));color:color-mix(in oklab,#d9ffe8 70%,var(--text));font-weight:700;letter-spacing:.12em;box-shadow:none}[data-theme=dark] .hero-bento__status{box-shadow:inset 0 1px #ffffff24,0 10px 24px color-mix(in oklab,#22c55e 18%,transparent)}.hero-bento__status:before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:#22c55e;box-shadow:0 0 16px #22c55ea6}.hero-bento__avatar-ring{width:min(100%,11rem);aspect-ratio:1;border-radius:0;padding:0;background:none;box-shadow:none}.hero-bento__avatar{position:relative;width:100%;height:100%;border-radius:0;overflow:visible;background:none}.hero-bento__avatar:after{display:none}.hero-bento__avatar img{width:100%;height:100%;object-fit:cover;object-position:center 12%;display:block;border-radius:0;-webkit-mask-image:linear-gradient(to top,transparent 0%,#000 8%,#000 92%,transparent 100%),linear-gradient(to left,transparent 0%,#000 10%,#000 90%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to top,transparent 0%,#000 8%,#000 92%,transparent 100%),linear-gradient(to left,transparent 0%,#000 10%,#000 90%,transparent 100%);mask-composite:intersect}.hero-bento__profile-copy{text-align:center;max-width:28rem;display:grid;gap:.28rem;justify-items:center}.hero-bento__profile-core{flex:1;min-height:0;display:grid;place-content:center;justify-items:center;gap:.85rem;text-align:center}.hero-bento__name{margin:0;font-family:var(--font-display);font-size:clamp(1.7rem,1rem + 1.7vw,2.78rem);line-height:.95;font-weight:600;letter-spacing:-.045em;color:var(--text)}.hero-bento__tagline{font-size:.78rem;max-width:30ch;margin-inline:auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-bento__profile-info{display:flex;flex-direction:column;align-items:center;gap:.45rem;text-align:center}.hero-bento__panel--tech{display:flex;flex-direction:column;gap:.65rem}.hero-bento__chips{display:flex;flex-wrap:wrap;gap:.4rem}.hero-bento__panel--intro .hero-bento__chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.hero-bento__chip{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:.45rem .7rem;border-radius:999px;background:color-mix(in oklab,var(--primary) 8%,var(--bg));color:color-mix(in oklab,var(--primary) 86%,var(--text));font-size:.68rem;font-weight:600;border:1px solid color-mix(in oklab,var(--primary) 16%,transparent);text-align:center}[data-theme=dark] .hero-bento__chip{background:color-mix(in oklab,var(--primary) 16%,transparent);border-color:color-mix(in oklab,var(--primary) 30%,transparent)}.hero-bento__tech-divider{height:1px;background:color-mix(in oklab,var(--text) 8%,transparent);margin-block:.15rem}.hero-bento__tech-group{display:flex;flex-direction:column;gap:.55rem;flex:1}.hero-bento__tech-icon--ai{background:color-mix(in oklab,var(--primary) 12%,var(--bg))!important;color:var(--primary)!important}.hero-bento__tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.38rem;flex:1;align-content:start}.hero-bento__tech-item{display:flex;flex-direction:column;align-items:center;gap:.28rem;padding:.34rem .24rem .38rem;border-radius:14px;border:1px solid color-mix(in oklab,var(--text) 7%,transparent);background:linear-gradient(180deg,color-mix(in oklab,white 28%,transparent),color-mix(in oklab,var(--primary) 5%,var(--panel)))}.hero-bento__tech-icon{width:1.95rem;height:1.95rem;border-radius:12px;border:1px solid rgba(0,0,0,.07);background:color-mix(in oklab,var(--primary) 8%,var(--bg));display:grid;place-items:center;color:var(--primary)}[data-theme=dark] .hero-bento__tech-icon{border-color:#ffffff14;background:color-mix(in oklab,var(--primary) 14%,var(--panel))}.hero-bento__tech-name{font-family:var(--font-sans);font-size:.58rem;font-weight:600;color:color-mix(in oklab,var(--muted) 82%,var(--text));text-align:center;line-height:1.2;text-wrap:balance}.hero-bento__line-list{display:flex;flex-direction:column;gap:0;width:100%;flex:1}.hero-bento__line-item{display:grid;grid-template-columns:2.2rem minmax(0,1fr);align-items:center;gap:.7rem;width:100%;min-height:0;padding:.62rem .2rem;border-radius:0;border:0;border-top:1px solid color-mix(in oklab,var(--text) 8%,transparent);background:none}.hero-bento__line-item:last-child{border-bottom:1px solid color-mix(in oklab,var(--text) 8%,transparent)}[data-theme=dark] .hero-bento__line-item{border-color:#ffffff14;background:none}.hero-bento__line-name{font-family:var(--font-sans);font-size:.74rem;font-weight:600;color:var(--text);line-height:1.2;text-align:left;text-wrap:balance}.hero-bento__cta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.7rem;width:100%;height:100%}.hero-bento__action-link{width:100%;min-height:100%;justify-content:center;padding:1rem;font-size:.8rem;line-height:1.1;text-align:center;border-radius:18px}.hero-bento__action-link svg{flex:0 0 auto}.hero-bento__action-link span{white-space:normal}.hero-bento__scroll{display:inline-flex;align-items:center;gap:.6rem;justify-content:center;width:fit-content;margin:.15rem auto 0;padding:.65rem .85rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--text) 10%,transparent);background:color-mix(in oklab,var(--panel) 58%,transparent);color:color-mix(in oklab,var(--muted) 84%,var(--text));text-decoration:none;font-size:.66rem;transition:transform .24s ease,border-color .24s ease,background-color .24s ease,color .24s ease,box-shadow .24s ease;touch-action:manipulation;-webkit-tap-highlight-color:color-mix(in oklab,var(--primary) 24%,transparent)}.hero-bento__scroll:after{content:"↓";font-size:.95rem;line-height:1}.hero-bento__scroll:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--primary) 30%,transparent);background:color-mix(in oklab,var(--primary) 14%,var(--panel));color:var(--text);box-shadow:0 12px 30px color-mix(in oklab,var(--primary) 18%,transparent)}.hero-bento__scroll:focus-visible{outline:none;box-shadow:0 0 0 1px color-mix(in oklab,var(--home-bento-highlight) 64%,transparent),0 0 0 5px color-mix(in oklab,var(--primary) 22%,transparent)}.hero-bento__signal{font-size:clamp(1.7rem,1.2rem + .9vw,2.15rem);line-height:.98;font-family:var(--font-display)}.hero-bento__panel--spotlight{justify-content:space-between}.hero-bento__panel--insight-a p,.hero-bento__panel--insight-b p,.hero-bento__panel--insight-c p,.hero-bento__panel--spotlight p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hero-bento__mini-stat{display:inline-flex;flex-direction:column;gap:.25rem;width:fit-content;margin-top:auto;padding:.75rem .85rem;border-radius:14px;background:color-mix(in oklab,var(--panel) 65%,transparent);border:1px solid color-mix(in oklab,var(--text) 10%,transparent)}.hero-bento__mini-stat span{font-size:1.3rem;font-weight:700;line-height:1}.hero-bento__mini-stat small{color:var(--muted);font-size:.8rem}.hero-bento__metrics-line{flex:1;height:1px;background:linear-gradient(90deg,color-mix(in oklab,var(--accent) 45%,transparent),transparent)}.hero-bento__stats{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;width:100%}.hero-bento__stat{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem .4rem;border-radius:12px;background:color-mix(in oklab,var(--primary) 5%,var(--bg));border:1px solid rgba(0,0,0,.05)}[data-theme=dark] .hero-bento__stat{background:color-mix(in oklab,var(--primary) 8%,transparent);border-color:#ffffff0f}.hero-bento__stat strong{font-family:var(--font-display);font-size:clamp(1.3rem,.9rem + .8vw,1.8rem);font-weight:700;line-height:1;color:var(--text)}.hero-bento__stat span{font-size:.62rem;color:var(--muted);text-align:center;line-height:1.3}.hero-bento__panel--terminal{background:color-mix(in oklab,var(--panel) 44%,transparent)}[data-theme=light] .hero-bento__panel--terminal{background:#1d1d1f;border-color:transparent}[data-theme=light] .hero-bento__terminal-copy p{color:#34c759}.hero-bento__terminal-top{display:flex;gap:.45rem;margin-bottom:1rem}.hero-bento__terminal-top span{width:.72rem;height:.72rem;border-radius:50%;background:#ffffff38}.hero-bento__terminal-top span:nth-child(1){background:#f97316}.hero-bento__terminal-top span:nth-child(2){background:#facc15}.hero-bento__terminal-top span:nth-child(3){background:#22c55e}.hero-bento__terminal-copy{font-family:var(--font-mono);display:grid;gap:.5rem}.hero-bento__terminal-copy p,.hero-bento__terminal-copy strong{margin:0}.hero-bento__terminal-copy p{color:color-mix(in oklab,var(--accent) 72%,var(--text));font-size:.75rem}.hero-bento__terminal-copy strong{font-size:.9rem;color:var(--text)}@media(max-width:1360px){.hero-bento__grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"intro   intro   intro   intro   topC    topC    topC    topC    techB  techB  techB  techB" "intro   intro   intro   intro   profile profile profile profile techR  techR  techR  techR" "intro   intro   intro   intro   profile profile profile profile techR  techR  techR  techR" "cta     cta     cta     cta     statA   statA   statB   statB   techR  techR  techR  techR";grid-template-rows:minmax(7.75rem,auto) minmax(9rem,auto) minmax(9rem,auto) minmax(6.5rem,auto)}}@media(max-width:1080px){.hero-bento__grid{grid-template-columns:minmax(0,.96fr) minmax(0,1.12fr) minmax(0,.92fr);grid-template-areas:"intro   topC    techB" "intro   profile techR" "intro   profile techR" "cta     statA   statB";grid-template-rows:minmax(8.4rem,auto) minmax(9rem,auto) minmax(9rem,auto) minmax(6.5rem,auto)}.hero-bento{min-height:auto;height:auto;padding-top:5.6rem;padding-bottom:2.25rem}.hero-bento__panel--intro,.hero-bento__panel--profile{min-height:0}.hero-bento__panel--cta{justify-content:center}.hero-bento__chip--sm{padding:.2rem .42rem;font-size:.64rem}.hero-bento__cta{gap:.55rem}.hero-bento__action-link{padding-inline:.8rem;font-size:.76rem}}@media(max-width:860px){.hero-bento{min-height:auto;padding-top:5.9rem;padding-bottom:3rem}.hero-bento__copy h1{max-width:none;font-size:clamp(1.8rem,1.1rem + 2.4vw,2.5rem)}.hero-bento__grid{grid-template-columns:1fr;grid-template-areas:"intro" "profile" "topC" "techB" "techR" "cta" "statA" "statB";grid-template-rows:none;min-height:auto}.hero-bento__cta{grid-template-columns:1fr}.hero-bento__panel--intro .hero-bento__chips{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.hero-bento{width:auto;margin-left:0;transform:none;padding-top:clamp(4.2rem,10vh,6rem);padding-bottom:4.5rem;min-height:auto;align-items:start}.hero-bento__grid{gap:.7rem}.hero-bento__panel{border-radius:18px}.hero-bento__stack{grid-template-columns:1fr}.hero-bento__cta .btn{width:100%;justify-content:center}}@media(max-width:480px){.hero-bento__panel,.hero-bento__avatar-ring{border-radius:16px}.hero-bento__panel{padding:.9rem}.hero-bento__cta{flex-direction:column}.hero-bento__cta .btn{width:100%;justify-content:center}.hero-bento__panel--intro .hero-bento__chips{grid-template-columns:1fr}.hero-bento__panel-count{min-width:1.65rem;height:1.65rem;font-size:.66rem}}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--muted);margin:0}.about-story-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:stretch}.about-story-card{padding:2.35rem;display:grid;gap:1.5rem;min-height:100%;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 90%,transparent),color-mix(in oklab,var(--panel) 72%,transparent))}.about-story-header{display:grid;gap:.9rem;align-content:start}.about-story-icon{font-size:1.9rem;color:var(--primary)}.about-story-eyebrow{margin:0 0 .45rem;text-transform:uppercase;letter-spacing:.24em;font-size:.72rem;color:var(--muted)}.about-story-title{margin:0;font-size:clamp(1.7rem,1.2rem + 1vw,2.2rem);font-weight:700;line-height:1.08;max-width:14ch}.about-story-copy{color:var(--muted);line-height:1.8;font-size:1rem;display:grid;gap:.9rem}.about-full{position:relative}.about-stars-container{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.about-star{position:absolute;font-size:1.5rem;filter:drop-shadow(0 0 8px rgba(255,215,0,.6))}.about-wide-layout{position:relative;z-index:1;display:flex;flex-direction:column;gap:2rem}.about-wide-header{text-align:center;margin-bottom:1rem}.about-wide-title{font-size:clamp(2rem,1.5rem + 2.5vw,3rem);margin:0 0 1rem;line-height:1.1;background:linear-gradient(120deg,var(--text),var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}.about-wide-subtitle{color:var(--muted);font-size:1.15rem;max-width:700px;margin:0 auto}.about-wide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,450px),1fr));gap:2rem;margin-bottom:2rem}.about-wide-column{display:flex}.about-card-main,.about-card-meta,.about-card-tech{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;position:relative;overflow:visible;width:100%;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 88%,transparent),color-mix(in oklab,var(--panel) 72%,transparent))}.about-card-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 28%,transparent),color-mix(in oklab,var(--accent) 24%,transparent));color:#fff;font-size:1.5rem;box-shadow:0 8px 24px color-mix(in oklab,var(--primary) 30%,transparent)}.about-card-main h3,.about-card-meta h3,.about-card-tech h3{font-size:1.25rem;margin:0;color:var(--text)}.about-story-text{display:flex;flex-direction:column;gap:1rem}.about-story-text p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.7}.about-personal-facts{display:flex;flex-direction:column;gap:1.25rem;padding-top:1rem;border-top:1px solid color-mix(in oklab,var(--text) 10%,transparent)}.about-fact{display:flex;gap:1rem;padding:1rem;border-radius:12px;background:color-mix(in oklab,var(--panel) 60%,transparent);border:1px solid color-mix(in oklab,var(--text) 8%,transparent);transition:all .2s ease}.about-fact:hover{border-color:color-mix(in oklab,var(--accent) 40%,transparent);transform:translate(4px)}.about-fact-icon{width:24px;height:24px;color:var(--accent);flex-shrink:0;margin-top:.2rem}.about-fact strong{display:block;color:var(--text);margin-bottom:.25rem;font-size:.95rem}.about-fact p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.about-meta-grid{display:flex;flex-direction:column;gap:1rem}.about-meta-card{display:flex;gap:1rem;padding:1rem 1.25rem;border-radius:12px;background:color-mix(in oklab,var(--panel) 65%,transparent);border:1px solid color-mix(in oklab,var(--text) 10%,transparent);transition:all .2s ease}.about-meta-card:hover{border-color:color-mix(in oklab,var(--primary) 35%,transparent);transform:translateY(-2px)}.about-meta-card svg{width:20px;height:20px;color:var(--accent);flex-shrink:0;margin-top:.3rem}.about-meta-label{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}.about-meta-value{margin:0;font-weight:600;color:var(--text);font-size:.95rem}.about-divider{height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--text) 15%,transparent),transparent);margin:.5rem 0}.about-principles-section{display:flex;flex-direction:column;gap:1rem}.about-principles-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0}.about-principles-grid{display:flex;flex-wrap:wrap;gap:.6rem}.about-principle-tag{padding:.5rem .85rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--text) 12%,transparent);background:color-mix(in oklab,var(--panel) 60%,transparent);color:var(--muted);font-weight:600;font-size:.82rem;transition:all .2s ease}.about-principle-tag:hover{border-color:color-mix(in oklab,var(--primary) 40%,transparent);background:color-mix(in oklab,var(--primary) 18%,transparent);color:var(--text)}.about-tech-section{width:100%}.about-tech-header{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}.about-tech-lead{margin:.5rem 0 0;color:var(--muted);font-size:.98rem;line-height:1.6}.about-tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.5rem}.about-tech-category h4{font-size:1rem;margin:0 0 .75rem;color:var(--text)}.about-tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.about-tech-tags span{padding:.45rem .75rem;border-radius:8px;border:1px solid color-mix(in oklab,var(--primary) 25%,transparent);background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 12%,transparent),color-mix(in oklab,var(--accent) 8%,transparent));color:var(--primary);font-weight:600;font-size:.8rem;transition:all .2s ease}.about-tech-tags span:hover{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in oklab,var(--primary) 30%,transparent)}@media(max-width:768px){.about-story-layout,.about-wide-grid{grid-template-columns:1fr}.about-card-main,.about-card-meta,.about-card-tech{padding:1.5rem}.about-tech-header{flex-direction:column;gap:1rem}.about-tech-grid{grid-template-columns:1fr}}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.6rem}.tile{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:12px;border:1px solid color-mix(in oklab,var(--text) 10%,transparent);background:linear-gradient(180deg,color-mix(in oklab,var(--panel) 80%,transparent),var(--panel))}.iconbox{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 28%,transparent),color-mix(in oklab,var(--accent) 24%,transparent));color:#fff;box-shadow:0 6px 16px color-mix(in oklab,var(--primary) 25%,transparent)}.iconbox svg{width:18px;height:18px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}.tile .label{font-weight:700;letter-spacing:.2px}.section{padding:2.5rem 0;scroll-margin-top:80px}@media(min-width:1024px){.section{padding:3.75rem 0}}.section h2{font-size:clamp(1.5rem,.9rem + 2vw,2rem);margin:0 0 .75rem;letter-spacing:-.02em}.section p.lead{color:var(--muted);margin:0 0 1.25rem;max-width:55ch}#main-content>.section:first-of-type{position:relative;margin-top:clamp(-1.2rem,-2vw,-.4rem);padding-top:clamp(3.25rem,7vw,4.5rem)}#main-content>.section:first-of-type:before{content:"";position:absolute;left:0;right:0;top:0;height:clamp(5rem,8vw,7rem);pointer-events:none;background:linear-gradient(180deg,color-mix(in oklab,var(--bg) 0%,transparent),color-mix(in oklab,var(--bg) 76%,transparent)),radial-gradient(circle at 50% 0%,color-mix(in oklab,var(--home-bento-glow) 35%,transparent),transparent 60%);z-index:-1}.corner-controls{position:fixed;top:1rem;right:1rem;z-index:80;display:flex;gap:.35rem;background:color-mix(in oklab,var(--panel) 74%,transparent);border:1px solid color-mix(in oklab,var(--text) 9%,transparent);border-radius:999px;padding:.32rem;box-shadow:0 14px 34px #080f1e1f,inset 0 1px color-mix(in oklab,white 26%,transparent);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}.corner-controls--embedded{position:static;top:auto;right:auto;z-index:2;padding:.22rem;gap:.35rem;border-radius:14px;border-color:color-mix(in oklab,var(--text) 14%,transparent);background:color-mix(in oklab,var(--panel) 72%,transparent);box-shadow:0 10px 22px #0003;-webkit-backdrop-filter:blur(8px) saturate(130%);backdrop-filter:blur(8px) saturate(130%)}.corner-btn{width:36px;height:36px;border-radius:999px;border:none;background:color-mix(in oklab,var(--panel) 64%,transparent);color:var(--text);font-weight:700;cursor:pointer;display:grid;place-items:center;transition:transform .15s ease,background .15s ease,color .15s ease;font-family:var(--font-sans);font-size:.88rem}.corner-btn:hover{transform:translateY(-1px);background:color-mix(in oklab,var(--primary) 16%,var(--panel));color:color-mix(in oklab,var(--primary) 72%,var(--text))}.corner-btn svg{width:15px;height:15px}.corner-controls--embedded .corner-btn{width:33px;height:33px;border-radius:10px;font-size:.78rem}@media(max-width:1080px){.corner-controls{top:.8rem;right:.8rem}}@media(max-width:520px){.corner-controls{top:.75rem;right:.75rem}.hero-bento__meta-right{width:100%;justify-content:space-between}}footer{border-top:1px solid color-mix(in oklab,var(--text) 10%,transparent);padding:2rem 0;color:var(--muted)}input,textarea{background:var(--panel);color:var(--text);border:1px solid color-mix(in oklab,var(--text) 12%,transparent);padding:.75rem .9rem;border-radius:12px;outline:none}input:focus,textarea:focus{box-shadow:var(--ring);border-color:color-mix(in oklab,var(--primary) 65%,var(--panel))}a{color:inherit}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.projects-toolbar{margin-bottom:1.25rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.project-card{padding:0;overflow:hidden}.project-media{height:160px;pointer-events:none;background:radial-gradient(600px 160px at 20% -40%,color-mix(in oklab,var(--primary) 25%,transparent),transparent),linear-gradient(180deg,color-mix(in oklab,var(--panel) 82%,transparent),var(--panel))}.project-thumb{width:100%;height:100%;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 50%,transparent),color-mix(in oklab,var(--accent) 45%,transparent));filter:saturate(1.2);-webkit-mask-image:linear-gradient(to bottom,#000000e6,#0003);mask-image:linear-gradient(to bottom,#000000e6,#0003)}.project-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.25rem}.project-card h3,.project-card p{overflow-wrap:anywhere}.modal-overlay{position:fixed;inset:0;display:grid;place-items:center;background:color-mix(in oklab,var(--bg) 70%,black 20%);padding:1rem;z-index:100}.modal{max-width:720px;width:100%}.experience-summary{display:grid;gap:1.2rem;padding:1.6rem 1.7rem;margin-bottom:1.9rem;border-radius:24px;border:1px solid color-mix(in oklab,var(--text) 9%,transparent);background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 84%,transparent),color-mix(in oklab,var(--panel) 68%,transparent));box-shadow:0 18px 50px -28px #0912223d,inset 0 1px color-mix(in oklab,white 12%,transparent)}.experience-summary-head{display:grid;gap:.65rem;max-width:58ch}.experience-summary-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--muted)}.experience-summary-title{margin:0;font-size:clamp(1.25rem,.95rem + 1vw,1.8rem);line-height:1.1}.experience-summary-copy{margin:0;color:var(--muted);line-height:1.7}.experience-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.experience-summary-card{display:grid;gap:.65rem;padding:1rem 1.05rem;border-radius:18px;border:1px solid color-mix(in oklab,var(--text) 8%,transparent);background:color-mix(in oklab,var(--panel) 66%,transparent)}.experience-summary-card strong{font-size:.95rem}.experience-summary-card p{margin:0;color:var(--muted);line-height:1.6;font-size:.92rem}.timeline-zigzag-container{position:relative;width:100%;padding:3rem 2rem;min-height:560px;overflow:visible;border-radius:0;border:0;background:transparent;box-shadow:none}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-30px) scale(1.1)}66%{transform:translate(-15px,20px) scale(.95)}}.timeline-particles{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.timeline-particle{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--primary);opacity:.5;animation:particle-float 22s ease-in-out infinite;animation-delay:calc(var(--particle-index, 0) * -3.2s)}.timeline-particle:nth-child(odd){background:var(--accent)}.timeline-particle:nth-child(1){left:10%;top:20%}.timeline-particle:nth-child(2){left:25%;top:70%}.timeline-particle:nth-child(3){left:45%;top:15%}.timeline-particle:nth-child(4){left:60%;top:80%}.timeline-particle:nth-child(5){left:75%;top:25%}.timeline-particle:nth-child(6){left:90%;top:65%}@keyframes particle-float{0%,to{transform:translateY(0) translate(0) scale(1);opacity:.5}25%{transform:translateY(-30px) translate(15px) scale(1.2);opacity:.8}50%{transform:translateY(-10px) translate(-10px) scale(.8);opacity:.4}75%{transform:translateY(20px) translate(5px) scale(1.1);opacity:.7}}.timeline-click-hint{position:absolute;bottom:-10px;right:-10px;width:28px;height:28px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;opacity:0;transform:scale(.8);transition:all .3s ease;box-shadow:0 4px 12px color-mix(in oklab,var(--primary) 50%,transparent);z-index:10}.timeline-zigzag-node:hover .timeline-click-hint{opacity:1;transform:scale(1);animation:bounce-hint 1s ease-in-out infinite}@keyframes bounce-hint{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.1) translateY(-4px)}}.timeline-center-line{position:absolute;top:50%;left:50%;right:auto;width:100vw;height:4px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,var(--text) 8%,transparent) 10%,color-mix(in oklab,var(--text) 12%,transparent) 50%,color-mix(in oklab,var(--text) 8%,transparent) 90%,transparent 100%);border-radius:999px;z-index:1;pointer-events:none}.timeline-center-line-fill{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--primary) 15%,var(--accent) 50%,var(--primary) 85%,transparent 100%);border-radius:999px;animation:timeline-zigzag-fill 2.4s ease-out forwards;transform-origin:center;box-shadow:0 0 20px color-mix(in oklab,var(--primary) 60%,transparent),0 0 40px color-mix(in oklab,var(--accent) 40%,transparent),0 0 60px color-mix(in oklab,var(--primary) 25%,transparent)}.timeline-center-line:before,.timeline-center-line:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--accent);top:50%;transform:translateY(-50%);box-shadow:0 0 15px var(--accent),0 0 30px var(--accent);animation:particle-flow 12s linear infinite}.timeline-center-line:after{animation-delay:-3s;background:var(--primary);box-shadow:0 0 15px var(--primary),0 0 30px var(--primary)}@keyframes particle-flow{0%{left:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}@keyframes timeline-zigzag-fill{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}.timeline-zigzag{display:flex;justify-content:space-between;position:relative;z-index:2;width:100%;height:100%;min-height:520px}.timeline-zigzag-node{display:flex;flex-direction:column;align-items:center;position:absolute;cursor:pointer;animation:zigzag-node-appear .7s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(var(--node-index, 0) * .12s + .3s);width:calc(100% / 6 - .5rem);left:calc(var(--node-index, 0) * (100% / 6) + .25rem);transition:transform .3s ease}.timeline-zigzag-node:hover{transform:translateY(-4px)}.timeline-zigzag-node.top{top:0;flex-direction:column;padding-bottom:2.5rem}.timeline-zigzag-node.bottom{bottom:0;flex-direction:column-reverse;padding-top:2.5rem}@keyframes zigzag-node-appear{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.timeline-connector{position:absolute;width:3px;background:linear-gradient(180deg,var(--primary),color-mix(in oklab,var(--accent) 70%,var(--primary)));border-radius:999px;z-index:0;box-shadow:0 0 12px color-mix(in oklab,var(--primary) 50%,transparent)}.timeline-zigzag-node.top .timeline-connector{bottom:0;height:2.5rem}.timeline-zigzag-node.bottom .timeline-connector{top:0;height:2.5rem}.timeline-dot-large{position:relative;width:90px;height:90px;display:flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:2}.timeline-zigzag-node:hover .timeline-dot-large{transform:scale(1.1) translateY(-4px)}.timeline-dot-large-inner{width:84px;height:84px;border-radius:50%;background:#fff;border:3px solid var(--primary);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;z-index:2;box-shadow:0 8px 32px -8px color-mix(in oklab,var(--primary) 50%,transparent),0 0 0 2px color-mix(in oklab,var(--primary) 30%,transparent);transition:all .4s cubic-bezier(.4,0,.2,1)}.timeline-zigzag-node.ongoing .timeline-dot-large-inner{border-color:#22c55e;box-shadow:0 8px 32px -8px #22c55e80,0 0 0 2px #22c55e4d}.timeline-zigzag-node:hover .timeline-dot-large-inner{border-color:var(--accent);box-shadow:0 12px 40px -8px color-mix(in oklab,var(--accent) 60%,transparent),0 0 0 3px color-mix(in oklab,var(--accent) 40%,transparent),0 0 20px color-mix(in oklab,var(--accent) 30%,transparent);transform:scale(1.05)}.timeline-dot-glow{position:absolute;inset:-15px;border-radius:50%;background:radial-gradient(circle,color-mix(in oklab,var(--primary) 35%,transparent) 0%,color-mix(in oklab,var(--accent) 20%,transparent) 40%,transparent 70%);opacity:.8;animation:glow-pulse 3s ease-in-out infinite;filter:blur(8px)}.timeline-zigzag-node:hover .timeline-dot-glow{animation:glow-intense 1.5s ease-in-out infinite;inset:-20px}@keyframes glow-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}}@keyframes glow-intense{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.timeline-ongoing-pulse{position:absolute;inset:-8px;border-radius:50%;border:3px solid #22c55e;opacity:0;animation:ongoing-pulse 2s ease-out infinite}@keyframes ongoing-pulse{0%{transform:scale(.9);opacity:.8}to{transform:scale(1.4);opacity:0}}.timeline-logos-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#fff;border-radius:50%}.timeline-logos-container.dual{gap:6px}.timeline-logo-large{width:50px;height:50px;object-fit:contain;filter:none;transition:transform .3s ease}.timeline-logo-large.dual-logo-img{width:36px;height:36px}.timeline-zigzag-node:hover .timeline-logo-large{transform:scale(1.05)}.timeline-initials-large{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.05em}.popup-icon{background:#fff}.popup-icon.dual{width:auto;min-width:56px;display:flex;gap:6px;padding:4px}.popup-icon img{width:28px;height:28px;object-fit:contain}.popup-icon.dual img{width:22px;height:22px}.timeline-zigzag-info{text-align:center;max-width:140px;padding:.85rem .5rem;transition:all .3s ease;border-radius:16px}.timeline-zigzag-node:hover .timeline-zigzag-info{background:color-mix(in oklab,var(--panel) 50%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.timeline-zigzag-node.top .timeline-zigzag-info{order:-1}.timeline-period-range{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:.5rem;font-size:.72rem;font-weight:700}.timeline-year-start{padding:.25rem .5rem;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-radius:6px 0 0 6px;box-shadow:0 2px 8px color-mix(in oklab,var(--primary) 40%,transparent)}.timeline-year-separator{color:var(--muted);font-size:.65rem}.timeline-year-end{padding:.25rem .5rem;background:color-mix(in oklab,var(--panel) 80%,transparent);border:1px solid color-mix(in oklab,var(--text) 15%,transparent);color:var(--muted);border-radius:0 6px 6px 0}.timeline-year-end.ongoing{background:linear-gradient(135deg,#22c55e,#10b981);border:none;color:#fff;animation:ongoing-blink 1.5s ease-in-out infinite}@keyframes ongoing-blink{0%,to{opacity:1}50%{opacity:.6}}.timeline-zigzag-role{font-size:.88rem;font-weight:700;margin:0 0 .25rem;color:var(--text);line-height:1.25;transition:color .3s ease}.timeline-zigzag-node:hover .timeline-zigzag-role{background:linear-gradient(90deg,var(--text),var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}.timeline-zigzag-company{font-size:.78rem;color:var(--muted);margin:0;line-height:1.3;transition:color .3s ease}.timeline-zigzag-node:hover .timeline-zigzag-company{color:var(--text)}.timeline-zigzag-popup{position:absolute;left:50%;transform:translate(-50%) translateY(15px) scale(.95);width:360px;max-width:90vw;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 95%,transparent),color-mix(in oklab,var(--panel) 85%,transparent));border:1px solid color-mix(in oklab,var(--text) 15%,transparent);border-radius:24px;padding:1.5rem;opacity:0;visibility:hidden;pointer-events:none;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:100;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);box-shadow:0 25px 70px -15px #0009,0 0 0 1px color-mix(in oklab,var(--primary) 30%,transparent),0 0 40px -10px color-mix(in oklab,var(--primary) 30%,transparent),inset 0 1px color-mix(in oklab,white 10%,transparent)}.timeline-zigzag-node.top .timeline-zigzag-popup{top:calc(100% + 1rem)}.timeline-zigzag-node.top .timeline-zigzag-popup:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%) rotate(45deg);width:20px;height:20px;background:linear-gradient(135deg,color-mix(in oklab,var(--panel) 95%,transparent),color-mix(in oklab,var(--panel) 85%,transparent));border-left:1px solid color-mix(in oklab,var(--text) 15%,transparent);border-top:1px solid color-mix(in oklab,var(--text) 15%,transparent);box-shadow:-3px -3px 10px color-mix(in oklab,var(--primary) 15%,transparent)}.timeline-zigzag-node.bottom .timeline-zigzag-popup{bottom:calc(100% + 1rem);top:auto}.timeline-zigzag-node.bottom .timeline-zigzag-popup:before{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%) rotate(225deg);width:20px;height:20px;background:linear-gradient(135deg,color-mix(in oklab,var(--panel) 95%,transparent),color-mix(in oklab,var(--panel) 85%,transparent));border-left:1px solid color-mix(in oklab,var(--text) 15%,transparent);border-top:1px solid color-mix(in oklab,var(--text) 15%,transparent)}.timeline-zigzag-popup.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(0) scale(1)}.timeline-zigzag-node:nth-child(1) .timeline-zigzag-popup,.timeline-zigzag-node:nth-child(2) .timeline-zigzag-popup{left:0;transform:translate(0) translateY(15px) scale(.95)}.timeline-zigzag-node:nth-child(1) .timeline-zigzag-popup.show,.timeline-zigzag-node:nth-child(2) .timeline-zigzag-popup.show{transform:translate(0) translateY(0) scale(1)}.timeline-zigzag-node:nth-child(1) .timeline-zigzag-popup:before,.timeline-zigzag-node:nth-child(2) .timeline-zigzag-popup:before{left:50px}.timeline-zigzag-node:nth-child(5) .timeline-zigzag-popup,.timeline-zigzag-node:nth-child(6) .timeline-zigzag-popup{left:auto;right:0;transform:translate(0) translateY(15px) scale(.95)}.timeline-zigzag-node:nth-child(5) .timeline-zigzag-popup.show,.timeline-zigzag-node:nth-child(6) .timeline-zigzag-popup.show{transform:translate(0) translateY(0) scale(1)}.timeline-zigzag-node:nth-child(5) .timeline-zigzag-popup:before,.timeline-zigzag-node:nth-child(6) .timeline-zigzag-popup:before{left:auto;right:50px}@media(max-width:1024px){.experience-summary-grid{grid-template-columns:1fr}.timeline-zigzag-container{min-height:480px;padding-inline:1.5rem}.timeline-dot-large{width:68px;height:68px}.timeline-dot-large-inner{width:64px;height:64px}.timeline-logo-large{width:40px;height:40px}.timeline-zigzag-role{font-size:.75rem}.timeline-zigzag-company{font-size:.68rem}.timeline-zigzag-popup{width:300px}}@media(max-width:768px){.experience-summary{padding:1.25rem}.timeline-zigzag-container{min-height:auto;padding:1rem}.timeline-center-line{display:none}.timeline-zigzag{flex-direction:column;gap:1.5rem;min-height:auto}.timeline-zigzag-node{position:relative;width:100%;left:0!important;flex-direction:row!important;padding:0!important;gap:1rem;background:color-mix(in oklab,var(--panel) 70%,transparent);border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:16px;padding:1rem!important}.timeline-connector{display:none}.timeline-dot-large{width:60px;height:60px;flex-shrink:0}.timeline-dot-large-inner{width:56px;height:56px}.timeline-zigzag-info{text-align:left;padding:0;order:0!important}.timeline-zigzag-popup{position:fixed;top:auto;bottom:1rem;left:50%!important;right:auto!important;transform:translate(-50%) translateY(20px)!important;width:calc(100vw - 2rem);max-height:60vh;overflow-y:auto}.timeline-zigzag-popup.show{transform:translate(-50%) translateY(0)!important}.timeline-zigzag-popup:before{display:none}}.scroll-progress{position:fixed;inset:0 0 auto;height:3px;z-index:80;background:transparent}.scroll-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--primary));box-shadow:0 0 12px color-mix(in oklab,var(--primary) 50%,transparent)}.orbs{position:fixed;inset:-16vmax;z-index:-3;pointer-events:none;filter:saturate(1.08)}.orb{position:absolute;border-radius:50%;filter:blur(52px);opacity:.22;animation:global-orb-drift 34s ease-in-out infinite}.orb-a{width:46vmax;height:46vmax;left:-12vmax;top:-2vmax;background:radial-gradient(closest-side,color-mix(in oklab,var(--primary) 54%,transparent),transparent 72%)}.orb-b{width:40vmax;height:40vmax;right:-8vmax;top:-8vmax;background:radial-gradient(closest-side,color-mix(in oklab,var(--accent) 54%,transparent),transparent 72%);animation-delay:-10s}.orb-c{width:34vmax;height:34vmax;left:18vmax;bottom:6vmax;background:radial-gradient(closest-side,color-mix(in oklab,var(--accent) 34%,transparent),transparent 74%);animation-delay:-18s}.orb-d{width:38vmax;height:38vmax;right:14vmax;bottom:-6vmax;background:radial-gradient(closest-side,color-mix(in oklab,var(--primary) 30%,transparent),transparent 74%);animation-delay:-24s}@keyframes global-orb-drift{0%,to{transform:translateZ(0) scale(1);opacity:.18}30%{transform:translate3d(18px,-24px,0) scale(1.04);opacity:.24}60%{transform:translate3d(-14px,18px,0) scale(.98);opacity:.2}}.fancy{overflow:hidden}.fancy:before{content:"";position:absolute;inset:0;border-radius:16px;padding:1px;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 60%,transparent),color-mix(in oklab,var(--accent) 60%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.interactive{transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 6px 24px color-mix(in oklab,var(--primary) 25%,transparent)}.interactive:hover{box-shadow:0 14px 40px color-mix(in oklab,var(--primary) 35%,transparent)}.skills-marquee{overflow:hidden;margin:.5rem 0 1.75rem}.skills-track{display:flex;gap:1.1rem;padding:.2rem 0;width:max-content;animation:marquee 40s linear infinite;align-items:center}.tech-item{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-weight:600;letter-spacing:.2px}.tech-item svg{width:22px;height:22px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.section h2{position:relative}.section h2:after{content:"";position:absolute;left:0;bottom:-10px;width:3rem;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px}@media(min-width:1100px){.rail-left{position:fixed;top:96px;left:20px;z-index:40;display:flex;flex-direction:column;align-items:center;gap:.9rem;color:var(--muted)}.rail-left a{color:var(--muted);display:grid;place-items:center;width:42px;height:42px;border-radius:10px;border:1px solid color-mix(in oklab,var(--text) 12%,transparent);background:color-mix(in oklab,var(--panel) 70%,transparent);box-shadow:0 6px 20px color-mix(in oklab,var(--primary) 12%,transparent)}.rail-left a:hover{color:var(--text);border-color:color-mix(in oklab,var(--primary) 40%,transparent);transform:translateY(-1px)}.rail-left .rail-line{width:2px;height:140px;background:linear-gradient(180deg,color-mix(in oklab,var(--primary) 40%,transparent),color-mix(in oklab,var(--accent) 40%,transparent));margin-top:.25rem;border-radius:999px}.rail-left .rail-tag{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.75rem;letter-spacing:.12em;color:var(--muted);margin-bottom:.25rem}}@media(max-width:1099px){.rail-left{display:none}}.experience-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:modal-overlay-fade .3s ease-out}@keyframes modal-overlay-fade{0%{opacity:0}to{opacity:1}}.experience-modal{position:relative;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 98%,transparent),color-mix(in oklab,var(--panel) 92%,transparent));border:1px solid color-mix(in oklab,var(--text) 15%,transparent);border-radius:24px;padding:2rem;max-width:560px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 40px 100px -20px #000000b3,0 0 0 1px color-mix(in oklab,var(--primary) 30%,transparent),0 0 60px -10px color-mix(in oklab,var(--primary) 30%,transparent),inset 0 1px color-mix(in oklab,white 10%,transparent);animation:modal-slide-up .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.experience-modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:none;background:color-mix(in oklab,var(--text) 10%,transparent);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--muted);transition:all .2s ease}.experience-modal-close:hover{background:color-mix(in oklab,var(--primary) 20%,transparent);color:var(--text);transform:rotate(90deg)}.experience-modal-header{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem;padding-right:2rem}.experience-modal-logos{width:72px;height:72px;min-width:72px;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:.75rem;box-shadow:0 8px 24px -8px color-mix(in oklab,var(--primary) 30%,transparent),0 0 0 2px color-mix(in oklab,var(--primary) 20%,transparent)}.experience-modal-logos.dual{gap:6px}.experience-modal-logos img{width:48px;height:48px;object-fit:contain}.experience-modal-logos.dual img{width:28px;height:28px}.modal-initials{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.experience-modal-title h3{font-size:1.35rem;font-weight:700;margin:0 0 .4rem;color:var(--text);line-height:1.3}.modal-company{font-size:1rem;color:var(--primary);margin:0 0 .4rem;font-weight:600}.modal-period{display:inline-block;font-size:.8rem;font-weight:700;padding:.3rem .75rem;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-radius:999px}.experience-modal-location{font-size:.9rem;color:var(--muted);padding:.75rem 1rem;background:color-mix(in oklab,var(--text) 5%,transparent);border-radius:12px;margin-bottom:1.5rem}.experience-modal-achievements h4,.experience-modal-stack h4{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 .75rem}.experience-modal-achievements ul{list-style:none;padding:0;margin:0 0 1.5rem}.experience-modal-achievements li{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem 0;border-bottom:1px solid color-mix(in oklab,var(--text) 8%,transparent);font-size:.95rem;line-height:1.5;color:var(--text)}.experience-modal-achievements li:last-child{border-bottom:none}.achievement-bullet{color:#22c55e;font-weight:700;flex-shrink:0}.modal-tags{display:flex;flex-wrap:wrap;gap:.5rem}.modal-tag{padding:.4rem .85rem;font-size:.8rem;font-weight:600;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 15%,transparent),color-mix(in oklab,var(--accent) 10%,transparent));color:var(--primary);border-radius:999px;border:1px solid color-mix(in oklab,var(--primary) 20%,transparent);transition:all .2s ease}.modal-tag:hover{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;transform:translateY(-2px)}@media(max-width:768px){.experience-modal-overlay{padding:1rem;align-items:flex-end}.experience-modal{border-radius:24px 24px 0 0;max-height:90vh;padding:1.5rem;animation:modal-slide-up-mobile .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-slide-up-mobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.experience-modal-header{flex-direction:column;align-items:center;text-align:center}.experience-modal-title h3{font-size:1.15rem}}.projects-toolbar-bento{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:2rem;padding:1.25rem 1.5rem;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 88%,transparent),color-mix(in oklab,var(--panel) 72%,transparent));border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.projects-search-wrapper{flex:1 1 280px;position:relative}.projects-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.projects-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:color-mix(in oklab,var(--panel) 60%,transparent);border:1px solid color-mix(in oklab,var(--text) 12%,transparent);border-radius:12px;color:var(--text);font-size:.95rem;transition:all .2s ease}.projects-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--primary) 20%,transparent)}.projects-filters{display:flex;gap:.5rem;flex-wrap:wrap}.projects-filter-btn{padding:.6rem 1rem;border:1px solid color-mix(in oklab,var(--text) 12%,transparent);border-radius:999px;background:transparent;color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.projects-filter-btn:hover{border-color:color-mix(in oklab,var(--primary) 40%,transparent);color:var(--text)}.projects-filter-btn.active{background:linear-gradient(135deg,var(--primary),var(--accent));border-color:transparent;color:#fff;box-shadow:0 4px 16px color-mix(in oklab,var(--primary) 25%,transparent)}.projects-bento-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1rem;padding:2rem 0}.projects-bento-grid:before,.projects-bento-grid:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.15;pointer-events:none;z-index:0}.projects-bento-grid:before{width:350px;height:350px;background:radial-gradient(circle,var(--primary),transparent 70%);top:-80px;left:-5%;animation:float-orb 10s ease-in-out infinite}.projects-bento-grid:after{width:280px;height:280px;background:radial-gradient(circle,var(--accent),transparent 70%);bottom:-60px;right:-3%;animation:float-orb 12s ease-in-out infinite reverse}.project-bento-card.featured{grid-column:span 2}@media(max-width:1024px){.projects-bento-grid{grid-template-columns:repeat(2,1fr)}.project-bento-card.featured{grid-column:span 2;grid-row:span 1}}@media(max-width:640px){.projects-bento-grid{grid-template-columns:1fr}.project-bento-card.featured{grid-column:span 1}}.project-bento-card{position:relative;padding:1.75rem;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 90%,transparent),color-mix(in oklab,var(--panel) 70%,transparent));border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:1rem;transition:transform .3s ease,border-color .3s ease}.project-bento-card:hover{border-color:color-mix(in oklab,var(--primary) 40%,transparent)}.project-bento-glow{position:absolute;inset:0;background:radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),color-mix(in oklab,var(--primary) 15%,transparent),transparent 40%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:0}.project-bento-card:hover .project-bento-glow{opacity:1}.project-bento-card>*{position:relative;z-index:1}.project-bento-card.featured{background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 95%,transparent),color-mix(in oklab,var(--panel) 75%,transparent));border-color:color-mix(in oklab,var(--primary) 25%,transparent)}.project-bento-card.featured .project-bento-glow{background:radial-gradient(800px circle at var(--mouse-x, 30%) var(--mouse-y, 30%),color-mix(in oklab,var(--primary) 20%,transparent),color-mix(in oklab,var(--accent) 10%,transparent) 40%,transparent 60%)}.project-bento-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.project-bento-featured-badge{padding:.4rem .85rem;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.02em;box-shadow:0 4px 16px color-mix(in oklab,var(--primary) 35%,transparent)}.project-bento-number{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.5}.project-bento-category{padding:.35rem .75rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--text) 12%,transparent);color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.project-bento-title{font-size:1.35rem;font-weight:700;margin:0;color:var(--text);line-height:1.3}.project-bento-card.featured .project-bento-title{font-size:1.75rem}.project-bento-description{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6;flex:1}.project-bento-card.featured .project-bento-description{font-size:1.05rem}.project-bento-highlights{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.project-bento-highlights li{padding-left:1.5rem;position:relative;color:var(--muted);font-size:.9rem;line-height:1.5}.project-bento-highlights li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.project-bento-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.project-bento-tag{padding:.35rem .7rem;border-radius:999px;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 15%,transparent),color-mix(in oklab,var(--accent) 10%,transparent));border:1px solid color-mix(in oklab,var(--primary) 20%,transparent);color:var(--primary);font-size:.75rem;font-weight:600;transition:all .2s ease}.project-bento-card:hover .project-bento-tag{background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 25%,transparent),color-mix(in oklab,var(--accent) 18%,transparent))}.project-bento-tag-more{padding:.35rem .7rem;border-radius:999px;background:color-mix(in oklab,var(--panel) 60%,transparent);border:1px solid color-mix(in oklab,var(--text) 10%,transparent);color:var(--muted);font-size:.75rem;font-weight:600}.project-bento-links{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.project-bento-link{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:10px;background:linear-gradient(135deg,var(--primary),color-mix(in oklab,var(--primary) 80%,var(--accent)));color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 16px color-mix(in oklab,var(--primary) 30%,transparent)}.project-bento-link:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in oklab,var(--primary) 40%,transparent)}.project-bento-quick-links{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;opacity:0;transform:translateY(-8px);transition:all .3s ease}.project-bento-card:hover .project-bento-quick-links{opacity:1;transform:translateY(0)}.project-bento-quick-links a{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;transition:all .2s ease;box-shadow:0 4px 12px color-mix(in oklab,var(--primary) 35%,transparent)}.project-bento-quick-links a:hover{transform:scale(1.1)}.projects-grid-professional,.projects-split-view,.projects-list,.projects-preview,.project-list-item,.projects-timeline-container,.projects-timeline-scroll,.project-timeline-card{display:none!important}details.card summary{list-style:none;cursor:pointer}details.card summary::-webkit-details-marker{display:none}details.card summary:after{content:"+";float:right;font-size:1.2rem;color:var(--muted);transition:transform .25s ease}details[open].card summary:after{content:"−"}details[open].card{border-color:var(--border-hover)}
