.hero-canvas{--mouse-x:50%;--mouse-y:50%;--hero-status:var(--accent);background-color:var(--section-bg,var(--background));color:var(--text-soft)}.hero-canvas .grid-pattern{background-size:56px 56px;background-image:radial-gradient(circle,color-mix(in srgb,var(--text-primary) 8%,transparent) 1px,transparent 1px);opacity:.55}.hero-orb{position:absolute;border-radius:50%;filter:blur(64px);pointer-events:none;z-index:0;opacity:.55}.hero-orb-pink{width:min(320px,42vw);height:min(320px,42vw);top:12%;left:6%;background:color-mix(in srgb,var(--orange) 14%,transparent);animation:hero-float 10s cubic-bezier(.32,.72,0,1) infinite}.hero-orb-sky{width:min(360px,48vw);height:min(360px,48vw);bottom:8%;right:4%;background:color-mix(in srgb,var(--mint) 16%,transparent);animation:hero-float 12s cubic-bezier(.32,.72,0,1) infinite reverse}@keyframes hero-float{0%,to{transform:translate(0)}50%{transform:translate(14px,-18px)}}.hero-canvas .glow-overlay{background:radial-gradient(240px circle at var(--mouse-x) var(--mouse-y),color-mix(in srgb,var(--mint) 10%,transparent),color-mix(in srgb,var(--orange) 5%,transparent) 45%,transparent 70%);pointer-events:none}.hero-canvas .ticker-mask{mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}.hero-canvas .hero-ticker-bar{background:transparent;border-color:var(--hairline)!important}.hero-canvas .hero-name-last{color:var(--text-primary)}.hero-stats{background:transparent}@keyframes hero-scroll{0%{transform:translateX(100%)}to{transform:translateX(-100%)}}.hero-canvas .animate-scroll{animation:hero-scroll 36s linear infinite}@keyframes hero-glitch{0%{transform:translate(0);text-shadow:none}20%{transform:translate(-1px,1px);text-shadow:2px 0 color-mix(in srgb,var(--accent) 40%,transparent)}40%{transform:translate(-1px,-1px);text-shadow:-2px 0 var(--accent)}60%{transform:translate(1px,1px);text-shadow:2px 0 color-mix(in srgb,var(--accent) 40%,transparent)}80%{transform:translate(1px,-1px);text-shadow:-2px 0 var(--accent)}to{transform:translate(0);text-shadow:none}}.hero-canvas .glitch-text{animation:hero-glitch .35s cubic-bezier(.32,.72,0,1) both;animation-iteration-count:2}.hero-canvas .hero-status-dot{width:.45rem;height:.45rem;border-radius:9999px;background-color:var(--hero-status);box-shadow:0 0 12px color-mix(in srgb,var(--hero-status) 40%,transparent)}@media (prefers-reduced-motion:reduce){.hero-canvas .animate-scroll,.hero-canvas .glitch-text,.hero-orb-pink,.hero-orb-sky{animation:none}}.exp-bio-grid{display:grid;gap:1.5rem}@media (min-width:768px){.exp-bio-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem;align-items:start}}.exp-photo-wrap{position:relative;aspect-ratio:4/5;max-height:22rem;overflow:hidden;border-radius:calc(var(--radius-core) - .25rem);border:1px solid var(--hairline)}.exp-stats-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}@media (min-width:640px){.exp-stats-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.exp-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.75rem .5rem;border-radius:1rem;border:1px solid var(--hairline);background:color-mix(in srgb,var(--background) 65%,transparent);text-align:center}.exp-stat-val{font-family:var(--font-label);font-size:1rem;font-weight:800;line-height:1.15;color:var(--mint);text-align:center}.exp-stat-label{font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-align:center}.exp-live-dot{width:6px;height:6px;border-radius:999px;background:var(--mint);box-shadow:0 0 10px -1px var(--accent-45)}.exp-flow{position:relative;padding:.5rem 0 2.5rem}.exp-flow-path{position:absolute;top:.5rem;left:50%;z-index:0;width:7.5rem;height:calc(100% - 3rem);transform:translateX(-50%);pointer-events:none;opacity:.9}.exp-flow-path-road{fill:none;stroke:color-mix(in srgb,var(--text-primary) 10%,transparent);stroke-width:14;stroke-linecap:round}.exp-flow-path-dash{fill:none;stroke:color-mix(in srgb,var(--mint) 35%,transparent);stroke-width:2;stroke-linecap:round;stroke-dasharray:5 9}.exp-flow-list{position:relative;z-index:1;display:flex;flex-direction:column;gap:2.5rem}@media (min-width:768px){.exp-flow-list{gap:3.25rem}}.exp-flow-item{display:grid;grid-template-columns:1fr;gap:.85rem;align-items:center}@media (min-width:768px){.exp-flow-item{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0;min-height:11rem}.exp-flow-item.is-left .exp-flow-card-wrap{grid-column:1;justify-self:end;padding-right:1.25rem}.exp-flow-item.is-left .exp-flow-junction{grid-column:2}.exp-flow-item.is-left .exp-flow-spacer{grid-column:3}.exp-flow-item.is-right .exp-flow-spacer{grid-column:1}.exp-flow-item.is-right .exp-flow-junction{grid-column:2}.exp-flow-item.is-right .exp-flow-card-wrap{grid-column:3;justify-self:start;padding-left:1.25rem}}.exp-flow-card-wrap{width:100%;max-width:34rem}.exp-flow-card-shell{transition:box-shadow var(--duration-ui) var(--ease-ui-out),transform var(--duration-ui) var(--ease-ui-out)}.exp-flow-card{padding:1.1rem 1.15rem 1.2rem;transition:border-color var(--duration-ui) var(--ease-ui-out),background-color var(--duration-ui) var(--ease-ui-out)}.exp-flow-item.is-current .exp-flow-card{background:color-mix(in srgb,var(--mint) 6%,var(--surface));border-color:color-mix(in srgb,var(--mint) 28%,transparent)}.exp-flow-item.is-current .exp-flow-card-shell{box-shadow:var(--shadow-glow-mint)}@media (hover:hover) and (pointer:fine){.exp-flow-item:hover .exp-flow-card-shell{transform:translateY(-3px)}.exp-flow-item:not(.is-current):hover .exp-flow-card{border-color:color-mix(in srgb,var(--mint) 20%,transparent);background:color-mix(in srgb,var(--surface-panel) 65%,var(--surface))}}.exp-flow-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.exp-flow-index{font-family:var(--font-label);font-size:1.65rem;font-weight:900;line-height:1;color:color-mix(in srgb,var(--text-primary) 12%,transparent)}.exp-flow-item.is-current .exp-flow-index{color:color-mix(in srgb,var(--mint) 42%,transparent)}.exp-flow-badge{padding:.2rem .55rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--mint) 35%,transparent);background:color-mix(in srgb,var(--mint) 12%,transparent);font-size:8px;color:var(--mint)}.exp-flow-badge,.exp-flow-duration{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.exp-flow-duration{margin-bottom:.35rem;font-size:9px;color:var(--mint-deep)}.exp-flow-title{margin-bottom:.2rem;font-family:var(--font-label);font-size:clamp(1.05rem,2vw,1.35rem);font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;color:var(--text-primary)}.exp-flow-item.is-current .exp-flow-title{color:var(--mint)}.exp-flow-company{margin-bottom:.65rem;font-size:.8125rem;color:var(--text-secondary)}.exp-flow-highlights{list-style:none;margin:0 0 .7rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.exp-flow-highlights li{display:flex;gap:.4rem;font-size:.6875rem;line-height:1.55;color:var(--text-secondary)}.exp-flow-highlights li span:first-child{flex-shrink:0;color:var(--mint)}.exp-flow-tech{font-family:var(--font-mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.exp-flow-junction{display:flex;flex-direction:column;align-items:center;width:3.5rem;flex-shrink:0}@media (min-width:768px){.exp-flow-junction{flex-direction:row;align-items:center;width:auto;gap:0}.exp-flow-item.is-left .exp-flow-junction{flex-direction:row-reverse}.exp-flow-item.is-right .exp-flow-junction{flex-direction:row}}@media (max-width:767px){.exp-flow-junction{flex-direction:row;width:100%;gap:.75rem}.exp-flow-stem{width:1.5rem!important;height:2px!important;margin:0!important}.exp-flow-path{display:none}.exp-flow-list:before{content:"";position:absolute;left:1.75rem;top:1.5rem;bottom:0;width:2px;transform:translateX(-1px);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--mint) 45%,transparent),color-mix(in srgb,var(--mint) 12%,transparent));z-index:0}.exp-flow-item{grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.65rem .85rem}.exp-flow-junction{position:relative;z-index:1;grid-row:1/span 2;grid-column:1;flex-direction:column;width:3.5rem;align-self:stretch;justify-content:flex-start;padding-top:1.25rem}.exp-flow-stem{display:none!important}.exp-flow-cap{align-items:flex-start;padding-left:calc(1.75rem - .325rem)}.exp-flow-card-wrap{grid-column:2;grid-row:1;max-width:none}.exp-flow-spacer{display:none}}.exp-flow-stem{display:block;width:2px;height:1.75rem;margin-bottom:.35rem;background:linear-gradient(180deg,color-mix(in srgb,var(--mint) 55%,transparent),color-mix(in srgb,var(--mint) 18%,transparent));border-radius:999px}.exp-flow-item.is-left .exp-flow-stem{background:linear-gradient(90deg,color-mix(in srgb,var(--mint) 18%,transparent),color-mix(in srgb,var(--mint) 55%,transparent))}.exp-flow-item.is-right .exp-flow-stem{background:linear-gradient(270deg,color-mix(in srgb,var(--mint) 18%,transparent),color-mix(in srgb,var(--mint) 55%,transparent))}@media (min-width:768px){.exp-flow-stem{width:2.75rem;height:2px;margin:0}.exp-flow-item.is-left .exp-flow-stem{background:linear-gradient(270deg,color-mix(in srgb,var(--mint) 18%,transparent),color-mix(in srgb,var(--mint) 55%,transparent))}.exp-flow-item.is-right .exp-flow-stem{background:linear-gradient(90deg,color-mix(in srgb,var(--mint) 18%,transparent),color-mix(in srgb,var(--mint) 55%,transparent))}}.exp-flow-node{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--mint) 30%,transparent);background:color-mix(in srgb,var(--surface-panel) 85%,var(--background));color:var(--mint);box-shadow:0 0 0 4px color-mix(in srgb,var(--background) 80%,transparent),0 0 24px -6px color-mix(in srgb,var(--mint) 45%,transparent);transition:transform var(--duration-ui) var(--ease-ui-out),box-shadow var(--duration-ui) var(--ease-ui-out)}.exp-flow-item.is-current .exp-flow-node{background:color-mix(in srgb,var(--mint) 14%,var(--surface-panel));box-shadow:0 0 0 4px color-mix(in srgb,var(--background) 80%,transparent),var(--shadow-glow-mint)}@media (hover:hover) and (pointer:fine){.exp-flow-item:hover .exp-flow-node{transform:scale(1.06)}}.exp-flow-spacer{min-height:1px}.exp-flow-cap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.45rem;margin-top:.5rem}.exp-flow-cap-dot{width:.65rem;height:.65rem;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 25%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--background) 80%,transparent)}.exp-flow-cap-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}@media (prefers-reduced-motion:reduce){.exp-flow-card,.exp-flow-card-shell,.exp-flow-node{transition:none}.exp-flow-item:hover .exp-flow-card-shell,.exp-flow-item:hover .exp-flow-node{transform:none}}.skills-stats-strip{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.skills-stat-chip{display:flex;align-items:baseline;gap:.45rem;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--hairline);background:color-mix(in srgb,var(--surface) 80%,transparent)}.skills-stat-chip-val{font-family:var(--font-label);font-size:.9375rem;font-weight:800;color:var(--mint);line-height:1}.skills-stat-chip-label{font-family:var(--font-mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.skills-bento{display:grid;gap:.75rem;grid-template-columns:1fr}@media (min-width:640px){.skills-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}}@media (min-width:1024px){.skills-bento{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(10rem,auto);gap:.9rem}.skills-tile--half{grid-column:span 3}.skills-tile--third{grid-column:span 2}.skills-tile--band{grid-column:1/-1}.skills-tile--band .skills-tile-core{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:1.5rem;row-gap:.75rem;min-height:7.5rem;padding:1.1rem 1.4rem}.skills-tile--band .skills-tile-head{flex:0 0 auto;margin-bottom:0}.skills-tile--band .skills-tile-title{flex:0 1 auto;margin-bottom:0;min-width:6rem}.skills-tile--band .skills-tile-summary{flex:1 1 16rem;margin-bottom:0;-webkit-line-clamp:2}.skills-tile--band .skills-tile-chips{flex:1 1 100%;margin-bottom:0}.skills-tile--band .skills-tile-meter{flex:1 1 100%;max-width:14rem}}.skills-tile{display:block;width:100%}.skills-tile-shell{height:100%;transition:box-shadow var(--duration-ui) var(--ease-ui-out),transform var(--duration-ui) var(--ease-ui-out)}.skills-tile-core{display:flex;flex-direction:column;height:100%;min-height:10rem;padding:1.05rem 1.1rem 1.15rem;transition:border-color var(--duration-ui) var(--ease-ui-out),background-color var(--duration-ui) var(--ease-ui-out)}@media (hover:hover) and (pointer:fine){.skills-tile:hover .skills-tile-shell{transform:translateY(-2px)}.skills-tile:hover .skills-tile-core{border-color:color-mix(in srgb,var(--mint) 22%,transparent);background:color-mix(in srgb,var(--surface-panel) 55%,var(--surface))}.skills-tile:hover .skills-tile-title{color:var(--mint)}.skills-tile:hover .skills-tile-icon{color:var(--mint);border-color:color-mix(in srgb,var(--mint) 35%,transparent);background:color-mix(in srgb,var(--mint) 10%,transparent)}}.skills-tile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.skills-tile-head-end{display:flex;align-items:center;gap:.5rem}.skills-tile-index{font-family:var(--font-label);font-size:1.65rem;font-weight:900;line-height:1;color:color-mix(in srgb,var(--text-primary) 14%,transparent)}.skills-tile-pct{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--mint)}.skills-tile-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;border:1px solid var(--hairline);color:var(--text-muted);transition:color var(--duration-ui) var(--ease-ui-out),border-color var(--duration-ui) var(--ease-ui-out),background-color var(--duration-ui) var(--ease-ui-out)}.skills-tile-title{font-family:var(--font-label);font-size:1.05rem;font-weight:900;line-height:1;letter-spacing:-.01em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.45rem;transition:color var(--duration-ui) var(--ease-ui-out)}.skills-tile-summary{margin-bottom:.75rem;font-size:.75rem;line-height:1.55;color:var(--text-secondary);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.skills-tile-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;margin-bottom:.7rem}.skills-tile-chips span{padding:.25rem .55rem;border-radius:999px;border:1px solid var(--hairline);background:color-mix(in srgb,var(--background) 70%,transparent);font-family:var(--font-mono);font-size:8px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.skills-tile-more{color:var(--mint-deep)!important;border-color:color-mix(in srgb,var(--mint) 25%,transparent)!important;background:color-mix(in srgb,var(--mint) 8%,transparent)!important}.skills-tile-meter{height:3px;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 8%,transparent);overflow:hidden}.skills-tile-meter span{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint-deep),var(--mint));transform-origin:left center;transition:transform .55s var(--ease-ui-out)}@media (prefers-reduced-motion:reduce){.skills-tile-core,.skills-tile-icon,.skills-tile-meter span,.skills-tile-shell,.skills-tile-title{transition:none}.skills-tile:hover .skills-tile-shell{transform:none}}