.image[data-astro-cid-w254wjdn]{width:230px;height:230px;transition:transform .2s ease-in-out}.image[data-astro-cid-w254wjdn]:hover{transform:scale(1.05) rotate(-2deg)}#dots{position:fixed;top:50%;left:2rem;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--gradient);border:2px solid var(--bg-light);padding:var(--space-sm);border-radius:20px;box-shadow:var(--shadow)}.dot{position:relative;display:inline-flex;flex-shrink:0;cursor:pointer;text-decoration:none;font-size:var(--font-sm);color:var(--text)}.dot:before{content:"";width:.6rem;height:.6rem;margin:.25rem;border-radius:999px;background-color:var(--text-muted);transition:transform .2s ease-in-out,height .2s ease-in-out,background-color .2s ease-in-out}.dot:hover:before,.dot:focus-visible:before{transform:scale(1.5);background-color:var(--text)}.dot.highlighted:before{height:.85rem;transform:scale(1.5);background-color:var(--text)}.tooltip{position:absolute;top:50%;left:calc(100% + .75rem);transform:translateY(-50%) translate(-6px);min-width:max-content;max-width:180px;padding:var(--space-sm);border-radius:10px;background:var(--bg-dark);color:var(--text-light);border:1px solid var(--bg-light);font-size:var(--font-sm);line-height:1.2;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s ease-in-out,transform .2s ease-in-out}.dot:hover .tooltip{opacity:1;transform:translateY(-50%) translate(0)}@media(max-width:1100px){#dots{display:none}}.section{margin-bottom:var(--space-2xl)}.section h2{font-size:var(--font-2xl);color:var(--text);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:2px solid var(--bg-light);scroll-margin-top:8rem}.section p{margin-bottom:var(--space-sm)}.about-content{max-width:900px;margin:0 auto;padding-bottom:var(--space-3xl)}.skills-section{background-color:var(--bg);padding:var(--space-3xl) var(--space-md)}.tech-group{padding:var(--space-md) 0}.item{padding:var(--space-sm) var(--space-lg);background:var(--bg-light);border:1px solid var(--border);transition:border-color .2s ease}.item:hover{border-color:var(--primary)}.item.featured{border-color:var(--primary);background:linear-gradient(145deg,var(--bg-light) 0%,oklch(from var(--primary) l c h / .05) 100%);box-shadow:0 0 15px oklch(from var(--primary) l c h / .1)}.section-description{margin-bottom:var(--space-lg);color:var(--text-muted);max-width:650px}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-md);padding:0;list-style:none}.icon-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;border-radius:12px;box-shadow:var(--shadow);text-decoration:none}.icon-card:hover{background:var(--gradient-hover);transform:translateY(-4px);text-decoration:none;box-shadow:var(--shadow-hover),0 0 15px oklch(from var(--primary) l c h / .1)}.icon-grid li:nth-child(odd) .icon-card:hover{transform:translateY(-4px) rotate(3deg)}.icon-grid li:nth-child(2n) .icon-card:hover{transform:translateY(-4px) rotate(-3deg)}.tech-icon{width:3rem;height:3rem;margin-bottom:var(--space-md);transition:transform .3s ease-in-out;filter:grayscale(20%)}.icon-card:hover .tech-icon{transform:scale(1.1);filter:grayscale(0%)}.icon-card span{font-size:var(--font-xs);font-weight:var(--font-medium);color:var(--text-muted);text-align:center;transition:color .2s ease}.icon-card:hover span{color:var(--text)}.education-item h3{margin-bottom:var(--space-xs)}.education-date{font-size:var(--font-sm);color:var(--text-muted)}.education-desc{font-size:var(--font-sm)}body:not(.light) .tech-icon-light{display:none}body.light .tech-icon-dark{display:none}.language-list{display:flex;gap:var(--space-md);padding:0;list-style:none}.language-item{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text);border-radius:9999px;box-shadow:var(--shadow)}.language-item:hover{background:var(--gradient-hover);box-shadow:var(--shadow-hover),0 0 15px oklch(from var(--primary) l c h / .1)}.language-level{font-size:var(--font-xs);color:var(--text-muted)}.certifications{margin-bottom:var(--space-xl);border-bottom:2px solid var(--bg-light)}.certifications h2{margin-bottom:var(--space-xs);border-bottom:none}.certifications p{color:var(--text-muted)}.badges-section{padding:var(--space-3xl) var(--space-md);background-color:var(--bg)}.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:var(--space-md);justify-items:center}.badges a:nth-child(odd) img:hover{transform:scale(1.05) rotate(2deg)}.cta-container{margin-top:var(--space-xl);text-align:center}
