@layer theme,base;@layer components{.contact-divider-light{background:linear-gradient(to bottom, transparent, var(--color-soft-violet) 30%, var(--color-soft-violet) 70%, transparent)}.contact-divider-light-mobile{background:linear-gradient(to right, transparent, var(--color-soft-violet) 30%, var(--color-soft-violet) 70%, transparent)}.contact-divider-dark{background:linear-gradient(to bottom, transparent, var(--color-soft-charcoal) 30%, var(--color-soft-charcoal) 70%, transparent)}.contact-divider-dark-mobile{background:linear-gradient(to right, transparent, var(--color-soft-charcoal) 30%, var(--color-soft-charcoal) 70%, transparent)}.contact-divider-vertical,.contact-divider-horizontal{backface-visibility:hidden;transform:translateZ(0)}a:focus-visible{outline:2px solid var(--color-soft-violet);outline-offset:2px;border-radius:.5rem}.dark .hover\:bg-gray-50:hover{background-color:#1f293780!important}@media (prefers-reduced-motion:reduce){.transition-all,.transition-colors{transition:none}.hover\:scale-150:hover{transform:none}}@media (prefers-contrast:high){.contact-divider-light{background:linear-gradient(#0000,currentColor 30% 70%,#0000)}.contact-divider-light-mobile{background:linear-gradient(90deg,#0000,currentColor 30% 70%,#0000)}.contact-divider-dark{background:linear-gradient(#0000,currentColor 30% 70%,#0000)}.contact-divider-dark-mobile{background:linear-gradient(90deg,#0000,currentColor 30% 70%,#0000)}}@media print{.contact-divider-vertical,.contact-divider-horizontal{display:none}a{color:inherit!important;text-decoration:underline!important}}}@layer utilities;
@layer theme,base;@layer components{.tech-node-glow{--glow-scale:1;opacity:0;pointer-events:none;transform-box:fill-box;transform-origin:50%;transform:scale(var(--glow-scale));transition:opacity .5s}.tech-node-glow.active{opacity:1;animation:2.8s ease-in-out infinite techNodeGlowBreathe}@keyframes techNodeGlowBreathe{0%,to{transform:scale(calc(var(--glow-scale) * .86))}50%{transform:scale(calc(var(--glow-scale) * 1.06))}}.tech-orbit .orbit-node.active .orbit-node-bg{stroke:color-mix(in srgb, var(--color-brand-blue) 85%, transparent);filter:drop-shadow(0 0 8px color-mix(in srgb, var(--color-brand-blue) 60%, transparent)) drop-shadow(0 0 24px color-mix(in srgb, var(--color-primary) 50%, transparent))}.orbit-glass.tech-orbit-label{--label-offset:4.4%;left:var(--x);top:calc(var(--y) + var(--label-offset));font-size:var(--text-2xs);transition:opacity .35s,scale .35s cubic-bezier(.2,.7,.2,1);translate:-50%}.orbit-stage.entered .orbit-glass.tech-orbit-label{animation:none}.orbit-stage .orbit-glass.tech-orbit-label:not(.visible){opacity:0;scale:.9}.tech-tooltip-card{width:89%;margin:16px auto 0;display:grid}.tech-tooltip-card>.orbit-tooltip{grid-area:1/1;align-self:start;width:100%;padding:12px 14px 11px;position:relative}@media (min-width:768px){.orbit-glass.tech-orbit-label{font-size:var(--text-xs)}}@media (max-width:767px){.tech-orbit .orbit-node-bg,.tech-orbit .orbit-node-image{transform:scale(1.1)}.tech-orbit .orbit-node:hover .orbit-node-bg,.tech-orbit .orbit-node.active .orbit-node-bg{transform:scale(1.3)}.tech-node-glow{--glow-scale:1.1}.orbit-glass.tech-orbit-label{--label-offset:5%}}@media (max-width:767px) and (prefers-reduced-motion:reduce){.tech-orbit .orbit-node.active .orbit-node-bg{transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.tech-node-glow.active{animation:none}}}@layer utilities;
@layer theme,base;@layer components{.current-company .word,#description a .word{background-image:linear-gradient(90deg, var(--color-brand-blue) 0%, var(--color-primary) 65%, var(--color-brand-purple) 100%);-webkit-text-fill-color:transparent;color:var(--color-brand-blue);-webkit-background-clip:text;background-clip:text}}@layer utilities;
@layer theme,base;@layer components{.experience-deck{flex-direction:column;gap:18px;width:100%;max-width:480px;margin-inline:auto;display:flex}.experience-deck-stat{color:var(--color-white);box-shadow:0 18px 36px -18px color-mix(in srgb, var(--color-primary) 60%, transparent);border-radius:20px;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.experience-deck-stat__label{font-size:var(--text-2xs);letter-spacing:.18em;opacity:.85;margin:0;font-weight:600}.experience-deck-stat__value{align-items:baseline;gap:6px;margin:4px 0 0;line-height:1;display:flex}.experience-deck-stat__number{font-size:var(--text-5xl);letter-spacing:-.025em;font-weight:700}.experience-deck-stat__suffix{font-size:var(--text-xl);font-weight:600}.experience-deck-stat__captions{border-left:1px solid color-mix(in srgb, var(--color-white) 35%, transparent);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;flex-direction:column;gap:6px;margin:0;padding:2px 0 2px 16px;font-weight:600;list-style:none;display:flex}.experience-deck-frame{border-radius:16px;flex-direction:column;gap:6px;display:flex}.experience-deck-frame:has(>.experience-deck-viewport:focus-visible){outline:2px solid var(--color-primary);outline-offset:4px}.experience-deck-hint{font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-slate-steel);justify-content:center;align-items:center;gap:4px;margin:0;font-weight:600;display:flex}.dark .experience-deck-hint{color:color-mix(in srgb, var(--color-surface-light) 65%, transparent)}.experience-deck-viewport{--deck-height:min(520px, 70svh);--deck-fade:56px;--deck-edge:max(48px, calc(var(--deck-height) / 2 - 150px));height:var(--deck-height);overscroll-behavior-y:auto;scroll-snap-type:y mandatory;scroll-padding-block:var(--deck-edge);scrollbar-width:none;-webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 var(--deck-fade), #000 calc(100% - var(--deck-fade)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, #000 var(--deck-fade), #000 calc(100% - var(--deck-fade)), transparent 100%);outline:none;overflow-y:auto}.experience-deck-viewport::-webkit-scrollbar{display:none}.experience-deck-list{--deck-gap:14px;--deck-marker-height:22px;gap:var(--deck-gap);padding:calc(var(--deck-edge) - var(--deck-gap) - var(--deck-marker-height)) 6px var(--deck-edge);flex-direction:column;margin:0;list-style:none;display:flex}.experience-deck-list:before{content:"Present" / "";height:var(--deck-marker-height);line-height:var(--deck-marker-height);background:radial-gradient(circle 3.5px at 13px 50%, #22c55e 90%, transparent) no-repeat, color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary);font-size:var(--text-3xs);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-self:center;padding:0 12px 0 24px;font-weight:600}.dark .experience-deck-list:before{color:var(--color-brand-blue)}.experience-deck-card{background:var(--color-white);border:1px solid color-mix(in srgb, var(--color-brand-blue) 16%, transparent);box-shadow:0 10px 22px -14px color-mix(in srgb, var(--color-primary) 30%, transparent);scroll-snap-align:center;scroll-snap-stop:always;border-radius:16px;flex-direction:column;flex-shrink:0;gap:12px;padding:16px;display:flex}.experience-deck-card:first-child{scroll-snap-align:start;scroll-margin-top:2px}.experience-deck-card:last-child{scroll-snap-align:end;scroll-margin-bottom:2px}.experience-deck-card__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.experience-deck-card__logo{object-fit:contain;object-position:left center;width:74px;height:30px}.experience-deck-card__identity{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.experience-deck-card__link{background:color-mix(in srgb, var(--color-primary) 10%, transparent);width:32px;height:32px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .2s;display:inline-flex}.experience-deck-card__link:hover,.experience-deck-card__link:focus-visible{background:color-mix(in srgb, var(--color-primary) 20%, transparent);outline:none}.experience-deck-card__story{flex-direction:column;gap:4px;display:flex}.experience-deck-acquired__logo{object-fit:contain;object-position:left center;width:76px;height:18px}.experience-deck-card .orbit-tooltip__title{font-size:var(--text-s);margin:0}.experience-deck-card .orbit-tooltip__body{font-size:var(--text-xs);line-height:1.5}.experience-deck-card .orbit-tooltip__metric{margin-top:0;padding-top:12px}.experience-deck-card .orbit-tooltip__metric-value{font-size:var(--text-l)}.experience-deck-card .orbit-tooltip__metric-label{font-size:var(--text-2xs)}@supports (animation-timeline:view()){.experience-deck-card{animation:linear both experienceDeckFocus;animation-timeline:view();animation-range:cover}}@keyframes experienceDeckFocus{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.experience-deck-card{animation:none}}}@layer utilities;
@layer theme,base;@layer components{.experience-orbit-stage{position:relative}.experience-core-label{font-size:var(--text-2xl);letter-spacing:.18em;fill:var(--color-slate-steel);text-transform:uppercase;font-weight:600}.experience-core-rule{stroke:color-mix(in srgb, var(--color-brand-blue) 22%, transparent);stroke-width:1.2px}.experience-core-number{font-size:var(--text-6xl);letter-spacing:-.025em;font-weight:700}.experience-core-suffix{font-size:var(--text-3xl);letter-spacing:-.01em;font-weight:600}.experience-core-caption{font-size:var(--text-m);letter-spacing:.16em;fill:var(--color-slate-steel);text-transform:uppercase;font-weight:600}.dark .experience-orbit-stage .orbit-core-bg{fill:url(#experienceOrbitRing);stroke:color-mix(in srgb, var(--color-surface-light) 35%, transparent)}.dark .experience-core-label,.dark .experience-core-caption{fill:color-mix(in srgb, var(--color-surface-light) 88%, transparent)}.dark .experience-core-number,.dark .experience-core-suffix{fill:var(--color-surface-light)}.dark .experience-core-rule{stroke:color-mix(in srgb, var(--color-surface-light) 45%, transparent)}.experience-arrow{fill:none;stroke:url(#experienceOrbitRing);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:9 7;opacity:.85;animation:1.8s linear infinite experienceArrowFlow}@keyframes experienceArrowFlow{to{stroke-dashoffset:-16px}}.experience-now-dot{fill:#22c55e;filter:drop-shadow(0 0 6px #22c55ea6)}.experience-now-glow{fill:#22c55e;opacity:.5;transform-box:fill-box;transform-origin:50%;animation:2s ease-out infinite experiencePulse}@keyframes experiencePulse{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(3)}}.experience-card{background:var(--color-white);border:1px solid color-mix(in srgb, var(--color-brand-blue) 16%, transparent);width:46%;min-width:168px;max-width:260px;box-shadow:0 18px 36px -16px color-mix(in srgb, var(--color-primary) 18%, transparent), 0 6px 16px -8px color-mix(in srgb, var(--color-brand-blue) 14%, transparent);cursor:pointer;color:inherit;border-radius:16px;flex-direction:column;gap:12px;padding:12px 14px;text-decoration:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s;display:flex;position:absolute}.experience-card__row{align-items:flex-start;gap:15px;min-width:0;display:flex}.experience-card:hover,.experience-card:focus-visible{border-color:color-mix(in srgb, var(--color-brand-blue) 45%, transparent);box-shadow:0 24px 48px -14px color-mix(in srgb, var(--color-primary) 28%, transparent), 0 10px 24px -10px color-mix(in srgb, var(--color-brand-blue) 22%, transparent);outline:none}.experience-card-top{margin-inline:auto;top:0;left:0;right:0}.experience-card-upper-left{top:33%;left:-10%}.experience-card-upper-right{top:33%;right:-10%}.experience-card-bottom-left{top:66%;left:-10%}.experience-card-bottom-right{top:66%;right:-10%}.experience-card__logo{object-fit:contain;object-position:left center;flex-shrink:0;width:74px;height:38px}.experience-card__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.experience-card__name{font-size:var(--text-m);letter-spacing:-.01em;color:var(--color-midnight-slate);margin:0;font-weight:600;line-height:1.2}.experience-card__role{font-size:var(--text-xs);color:var(--color-slate-steel);margin:0;font-weight:500;line-height:1.25}.experience-card__tenure{background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary);font-size:var(--text-3xs);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;gap:5px;padding:3px 8px;font-weight:600;display:inline-flex}.orbit-tooltip.orbit-tooltip-over-core{width:210px;top:50%;left:50%;transform:translate(-50%,calc(8px - 50%))scale(.96)}.orbit-tooltip.orbit-tooltip-over-core.visible{transform:translate(-50%,-50%)scale(1)}.experience-card__now-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite experienceNowDot;box-shadow:0 0 #22c55e8c}@keyframes experienceNowDot{0%,to{box-shadow:0 0 #22c55e8c}50%{box-shadow:0 0 0 5px #22c55e00}}.experience-orbit-stage:not(.entered) .experience-card{opacity:0}.experience-orbit-stage:not(.entered) .orbit-floatable{animation:none}.experience-orbit-stage.entered .experience-card-upper-right{animation:7s ease-in-out infinite experienceCardFloat,.65s cubic-bezier(.2,.7,.2,1) 1.1s backwards experienceCardEnter}.experience-orbit-stage.entered .experience-card-bottom-right{animation:7s ease-in-out infinite experienceCardFloat,.65s cubic-bezier(.2,.7,.2,1) 1.3s backwards experienceCardEnter}.experience-orbit-stage.entered .experience-card-bottom-left{animation:7s ease-in-out infinite experienceCardFloat,.65s cubic-bezier(.2,.7,.2,1) 1.5s backwards experienceCardEnter}.experience-orbit-stage.entered .experience-card-upper-left{animation:7s ease-in-out infinite experienceCardFloat,.65s cubic-bezier(.2,.7,.2,1) 1.7s backwards experienceCardEnter}.experience-orbit-stage.entered .experience-card-top{animation:7s ease-in-out infinite experienceCardFloat,.65s cubic-bezier(.2,.7,.2,1) 1.9s backwards experienceCardEnter}@keyframes experienceCardEnter{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes experienceCardFloat{0%,to{transform:translateY(-8px)}50%{transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.experience-arrow,.experience-now-glow,.experience-card,.experience-card__now-dot{animation:none}}}@layer utilities;
