.CertificationBadges-module__rhqmxG__badgeGrid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;width:min(1100px,100%);margin:0 auto;display:grid}.CertificationBadges-module__rhqmxG__badgeCard{color:#fff;background:#121212;border:1px solid #ffffff26;border-radius:28px;width:100%;height:340px;padding:2.5rem 1.75rem 1.75rem;transition:transform .35s,box-shadow .35s;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000080}.CertificationBadges-module__rhqmxG__badgeCard:hover{transform:translateY(-8px);box-shadow:0 35px 70px #000000a6}.CertificationBadges-module__rhqmxG__badgeCircle{background:var(--circle-color,#f9b234);border-radius:50%;width:160px;height:160px;transition:transform .5s;position:absolute;top:-80px;right:-60px}.CertificationBadges-module__rhqmxG__badgeCard:hover .CertificationBadges-module__rhqmxG__badgeCircle{transform:scale(1.2)}.CertificationBadges-module__rhqmxG__badgeCategory{letter-spacing:.6em;color:#ffffffbf;margin-bottom:1rem;font-size:.7rem}.CertificationBadges-module__rhqmxG__badgeTitle{letter-spacing:.25em;min-height:96px;margin:0 0 1.25rem;font-size:1.6rem;font-weight:600;line-height:1.2}.CertificationBadges-module__rhqmxG__badgeDateBox{letter-spacing:.2em;color:#ffffffd9;font-size:.95rem}.CertificationBadges-module__rhqmxG__badgeDate{letter-spacing:.4em;color:#f9b234;margin-top:.15rem;font-size:.9rem;font-weight:700;transition:color .4s;display:block}.CertificationBadges-module__rhqmxG__badgeCard:hover .CertificationBadges-module__rhqmxG__badgeDate{color:#fff}.CertificationBadges-module__rhqmxG__badgeMeta{text-transform:uppercase;letter-spacing:.25em;color:#ffffffb3;margin-top:auto;font-size:.65rem}.CertificationBadges-module__rhqmxG__badgeOrg{letter-spacing:.4em;margin-top:.5rem;font-size:.75rem;line-height:1.2}@media (max-width:979px){.CertificationBadges-module__rhqmxG__badgeCard{width:calc(50% - 1rem)}}@media (max-width:639px){.CertificationBadges-module__rhqmxG__badgeCard{width:100%;min-height:260px}.CertificationBadges-module__rhqmxG__badgeTitle{letter-spacing:.2em;font-size:1.4rem}}
.skill-bubble-container{background:0 0;width:100%;min-height:800px;padding:clamp(2rem,4vw,3rem) clamp(1.5rem,3vw,3rem);position:relative;overflow:hidden}.category-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff9;border:1px solid #00000014;border-radius:16px;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:2.5rem;padding:1.5rem;display:flex;box-shadow:0 4px 12px #0000000d}.category-legend-item{cursor:pointer;background:#fffc;border-radius:12px;align-items:center;gap:.5rem;padding:.5rem 1rem;transition:all .3s;display:flex}.category-legend-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.category-legend-item.selected{border:2px solid var(--accent-color);background:#fffffff2;transform:translateY(-1px);box-shadow:0 6px 20px #00000026}.category-legend-dot{border-radius:50%;width:12px;height:12px;box-shadow:0 0 8px}.category-legend-text{color:#1f2937;font-size:.875rem;font-weight:600}.category-legend-count{color:#6b7280;font-size:.75rem;font-weight:500}.bubble-plot{width:100%;max-width:1400px;height:clamp(600px,80vh,900px);margin:0 auto;position:relative}.skill-bubble{width:var(--bubble-size,80px);height:var(--bubble-size,80px);cursor:pointer;will-change:transform;transition:transform .3s,box-shadow .3s;position:absolute;transform:translate(-50%,-50%)}.skill-bubble.floating{animation:float var(--float-duration,4s)ease-in-out infinite;animation-delay:var(--float-delay,0s)}@keyframes float{0%,to{transform:translate(-50%,-50%)translateY(0)}50%{transform:translate(-50%,-50%)translateY(-15px)}}.skill-bubble:hover{z-index:100;animation-play-state:paused;transform:translate(-50%,-50%)scale(1.15)}.bubble-circle{background:linear-gradient(135deg,color-mix(in srgb,var(--bubble-color,#8b5cf6)70%,white),color-mix(in srgb,var(--bubble-color,#8b5cf6)50%,black));width:100%;height:100%;box-shadow:0 8px 24px color-mix(in srgb,var(--bubble-color,#8b5cf6)30%,transparent),0 0 0 3px color-mix(in srgb,var(--bubble-color,#8b5cf6)20%,transparent),inset 0 2px 8px #ffffff4d;border-radius:50%;justify-content:center;align-items:center;padding:15%;transition:all .3s;display:flex}.skill-bubble:hover .bubble-circle{box-shadow:0 12px 40px color-mix(in srgb,var(--bubble-color,#8b5cf6)50%,transparent),0 0 0 4px var(--bubble-color,#8b5cf6),inset 0 2px 12px #fff6}.skill-bubble.highlighted{z-index:50;animation-play-state:paused;transform:translate(-50%,-50%)scale(1.1)}.skill-bubble.highlighted .bubble-circle{box-shadow:0 16px 48px color-mix(in srgb,var(--bubble-color,#8b5cf6)60%,transparent),0 0 0 5px var(--bubble-color,#8b5cf6),inset 0 3px 16px #ffffff80;animation:2s ease-in-out infinite pulse-highlight}.skill-bubble.dimmed{opacity:.3;transform:translate(-50%,-50%)scale(.9)}.skill-bubble.dimmed .bubble-circle{filter:grayscale(50%)blur(1px)}@keyframes pulse-highlight{0%,to{box-shadow:0 16px 48px color-mix(in srgb,var(--bubble-color,#8b5cf6)60%,transparent),0 0 0 5px var(--bubble-color,#8b5cf6),inset 0 3px 16px #ffffff80}50%{box-shadow:0 20px 56px color-mix(in srgb,var(--bubble-color,#8b5cf6)70%,transparent),0 0 0 6px var(--bubble-color,#8b5cf6),inset 0 3px 16px #fff9}}.bubble-icon{object-fit:contain;filter:drop-shadow(0 2px 4px #0000001a);pointer-events:none;width:100%;height:100%}.bubble-tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;white-space:nowrap;pointer-events:none;z-index:1000;background:#0f172af2;border-radius:12px;padding:.75rem 1.25rem;animation:.2s ease-out tooltipFadeIn;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0003}.bubble-tooltip:after{content:"";border:6px solid #0000;border-top-color:#0f172af2;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-skill{color:#fff;margin-bottom:.25rem;font-size:.95rem;font-weight:700}.tooltip-category{text-shadow:0 0 8px;letter-spacing:.3px;font-size:.75rem;font-weight:600}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (max-width:1400px){.skill-bubble{width:calc(var(--bubble-size,80px)*.9);height:calc(var(--bubble-size,80px)*.9)}}@media (max-width:1200px){.skill-bubble{width:calc(var(--bubble-size,80px)*.8);height:calc(var(--bubble-size,80px)*.8)}.bubble-plot{height:clamp(500px,70vh,800px)}}@media (max-width:900px){.skill-bubble{width:calc(var(--bubble-size,80px)*.7);height:calc(var(--bubble-size,80px)*.7)}.bubble-plot{height:clamp(450px,65vh,700px)}}@media (max-width:768px){.skill-bubble-container{padding:clamp(1.5rem,4vw,2rem) clamp(1rem,2.5vw,1.5rem)}.category-legend{gap:.75rem;margin-bottom:2rem;padding:1rem}.category-legend-item{gap:.4rem;padding:.4rem .75rem}.category-legend-dot{width:10px;height:10px}.category-legend-text{font-size:.75rem}.category-legend-count{font-size:.7rem}.skill-bubble{width:calc(var(--bubble-size,80px)*.6);height:calc(var(--bubble-size,80px)*.6)}.bubble-plot{height:clamp(400px,60vh,600px)}.tooltip-skill{font-size:.85rem}.tooltip-category{font-size:.7rem}}@media (max-width:560px){.bubble-title{font-size:clamp(1.75rem,4.5vw,2.5rem)}.bubble-subtitle{font-size:clamp(.85rem,1.8vw,1rem)}.skill-bubble{width:calc(var(--bubble-size,80px)*.5);height:calc(var(--bubble-size,80px)*.5)}.bubble-plot{height:clamp(350px,55vh,500px)}.bubble-tooltip{padding:.6rem 1rem}}@media (max-width:400px){.skill-bubble-container{min-height:600px;padding:clamp(1rem,3vw,1.5rem) clamp(.75rem,2vw,1rem)}.skill-bubble{width:calc(var(--bubble-size,80px)*.45);height:calc(var(--bubble-size,80px)*.45)}.bubble-plot{height:450px}}
