.log-card[data-astro-cid-ydikmbs2]{position:relative}.new-badge[data-astro-cid-ydikmbs2]{position:absolute;top:.75rem;right:.75rem;background-color:var(--btn-bg);color:#fff;font-size:.7rem;font-weight:700;padding:.25rem .6rem;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.project-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg-color);opacity:0;z-index:100;pointer-events:none;transition:opacity .3s ease}.project-overlay.active{opacity:.85;pointer-events:auto}.card.project-card.active{position:fixed;z-index:101;cursor:default;background-color:#fff;border-radius:12px;padding:2rem;box-sizing:border-box;box-shadow:0 25px 50px -12px #00000026;transition:top .3s ease,left .3s ease,width .3s ease,box-shadow .3s ease;overflow:visible}.card.project-card.expanded .project-skills{display:block!important;opacity:1!important}.card.project-card.expanded .project-links{margin-top:2rem!important}.card.project-card.expanded .project-links svg{width:32px!important;height:32px!important}.projects-section[data-astro-cid-amng4zvp]{position:relative;margin-top:2rem;z-index:1}.projects-heading[data-astro-cid-amng4zvp]{font-size:1.5rem;margin-bottom:2rem}.projects-grid-container[data-astro-cid-amng4zvp]{position:relative;z-index:2;max-height:550px;overflow-y:auto;padding-bottom:2rem;padding-right:2rem;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(to bottom,black 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 85%,transparent 100%)}.projects-grid-container[data-astro-cid-amng4zvp]::-webkit-scrollbar{display:none}.projects-grid[data-astro-cid-amng4zvp]{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.project-card[data-astro-cid-amng4zvp]{display:flex;flex-direction:column;cursor:pointer;transition:transform .2s,box-shadow .2s}.project-card[data-astro-cid-amng4zvp]:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a}.project-skills[data-astro-cid-amng4zvp]{display:none;opacity:0;margin-top:1.5rem;font-size:1.2rem;font-weight:700;line-height:1.5;color:var(--text-primary);transition:opacity .3s ease}.project-links[data-astro-cid-amng4zvp]{margin-top:1.5rem;display:flex;justify-content:flex-end;gap:1rem;transition:margin-top .3s ease}.project-links[data-astro-cid-amng4zvp] svg[data-astro-cid-amng4zvp]{cursor:pointer;transition:transform .2s,width .3s,height .3s}.project-links[data-astro-cid-amng4zvp] svg[data-astro-cid-amng4zvp]:hover{transform:scale(1.1)}.project-links[data-astro-cid-amng4zvp] a[data-astro-cid-amng4zvp]{color:inherit;display:flex;align-items:center}.link-icon[data-astro-cid-amng4zvp]{display:flex;align-items:center;position:relative}.link-tooltip{position:absolute;bottom:-2rem;right:0;background-color:var(--btn-bg);color:var(--btn-text);font-size:.8rem;font-weight:500;padding:.35rem .75rem;border-radius:6px;white-space:nowrap;opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;z-index:200}.link-tooltip.show{opacity:1;transform:translateY(0)}.scrolling-text-container[data-astro-cid-amng4zvp]{position:absolute;top:0;right:2.5rem;height:100%;overflow:hidden;z-index:0}.scroll-wrapper[data-astro-cid-amng4zvp]{display:flex;flex-direction:column;animation:scroll-vertical 25s linear infinite;will-change:transform}.scrolling-text[data-astro-cid-amng4zvp]{font-size:1.8rem;font-weight:800;line-height:1.2;color:#1a1a1a;text-align:right}.skills-section[data-astro-cid-ab4ihpzs]{position:relative;margin-top:4rem;padding-bottom:4rem;z-index:1;min-height:600px}.skills-heading[data-astro-cid-ab4ihpzs]{font-size:1.5rem;margin-bottom:2rem;padding-left:2rem}.skills-canvas[data-astro-cid-ab4ihpzs]{position:relative;width:100%;height:500px}.skill-block[data-astro-cid-ab4ihpzs]{position:absolute;display:flex;flex-direction:column;cursor:grab;user-select:none;touch-action:none;max-width:320px;transform:translate(0);will-change:transform;animation:float 4s ease-in-out infinite}.skill-block[data-astro-cid-ab4ihpzs]:active{cursor:grabbing}.skill-block[data-astro-cid-ab4ihpzs]:nth-child(1){animation-delay:0s}.skill-block[data-astro-cid-ab4ihpzs]:nth-child(2){animation-delay:.8s}.skill-block[data-astro-cid-ab4ihpzs]:nth-child(3){animation-delay:1.5s}.skill-block[data-astro-cid-ab4ihpzs]:nth-child(4){animation-delay:2.2s}.skill-block[data-astro-cid-ab4ihpzs]:nth-child(5){animation-delay:3.1s}.skill-block[data-astro-cid-ab4ihpzs]:nth-child(6){animation-delay:.5s}.skill-block[data-astro-cid-ab4ihpzs]:nth-child(7){animation-delay:1.2s}.skill-block[data-astro-cid-ab4ihpzs]:nth-child(8){animation-delay:2.8s}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.skill-block[data-astro-cid-ab4ihpzs].dragging{animation:none;z-index:50}.skill-block[data-astro-cid-ab4ihpzs].spring-back{animation:none;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.skill-block[data-astro-cid-ab4ihpzs] h4[data-astro-cid-ab4ihpzs]{font-size:1.1rem;font-weight:700;margin-bottom:.3rem;color:var(--text-primary);pointer-events:none}.skill-block[data-astro-cid-ab4ihpzs] p[data-astro-cid-ab4ihpzs]{font-size:1rem;color:var(--text-secondary);pointer-events:none}.scrolling-text-container[data-astro-cid-ab4ihpzs]{position:absolute;top:0;right:2.5rem;height:100%;overflow:hidden;z-index:0}.scroll-wrapper[data-astro-cid-ab4ihpzs]{display:flex;flex-direction:column;animation:scroll-vertical 25s linear infinite;will-change:transform}.scrolling-text[data-astro-cid-ab4ihpzs]{font-size:1.8rem;font-weight:800;line-height:1.2;color:#1a1a1a;text-align:right}.contact-section[data-astro-cid-xmivup5a]{position:relative;margin-top:4rem;padding-bottom:2rem;z-index:1;min-height:500px}.contact-heading[data-astro-cid-xmivup5a]{font-size:1.5rem;margin-bottom:2rem}.contact-container[data-astro-cid-xmivup5a]{display:flex;align-items:center;gap:2rem;position:relative;z-index:2}.contact-form[data-astro-cid-xmivup5a]{background-color:var(--btn-bg);border-radius:8px;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;width:600px;max-width:100%}.form-group[data-astro-cid-xmivup5a]{display:flex;flex-direction:column;gap:.5rem}.form-group[data-astro-cid-xmivup5a] label[data-astro-cid-xmivup5a]{color:var(--bg-color);font-size:.95rem}.form-group[data-astro-cid-xmivup5a] input[data-astro-cid-xmivup5a],.form-group[data-astro-cid-xmivup5a] textarea[data-astro-cid-xmivup5a]{width:100%;padding:.8rem 1rem;border-radius:6px;border:none;font-family:inherit;font-size:1rem;background-color:#fff;color:var(--text-primary)}.form-group[data-astro-cid-xmivup5a] textarea[data-astro-cid-xmivup5a]{min-height:120px;resize:vertical}.form-group[data-astro-cid-xmivup5a] input[data-astro-cid-xmivup5a]::placeholder,.form-group[data-astro-cid-xmivup5a] textarea[data-astro-cid-xmivup5a]::placeholder{color:#a0a0a0}.submit-btn[data-astro-cid-xmivup5a]{background-color:var(--btn-bg);color:#fff;border-radius:8px;padding:2.5rem 1.5rem;font-size:1.1rem;cursor:pointer;border:none;transition:transform .2s,background-color .2s;position:relative}.submit-btn[data-astro-cid-xmivup5a]:hover{transform:translateY(-2px);background-color:#1a1a1a}.scrolling-text-container[data-astro-cid-xmivup5a]{position:absolute;top:0;right:2.5rem;height:100%;overflow:hidden;z-index:0}.scroll-wrapper[data-astro-cid-xmivup5a]{display:flex;flex-direction:column;animation:scroll-vertical 25s linear infinite;will-change:transform}.scrolling-text[data-astro-cid-xmivup5a]{font-size:1.8rem;font-weight:800;line-height:1.2;color:#1a1a1a;text-align:right}@keyframes scroll-vertical{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.contact-tooltip{position:absolute;bottom:-2rem;left:50%;transform:translate(-50%) translateY(-4px);background-color:var(--btn-bg);color:var(--btn-text);font-size:.8rem;font-weight:500;padding:.35rem .75rem;border-radius:6px;white-space:nowrap;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;z-index:200}.contact-tooltip.show{opacity:1;transform:translate(-50%) translateY(0)}body:not(.loaded) .me-animator{transform:translate(100cqi)}body:not(.loaded) .reveal-content{clip-path:inset(0 0 0 100cqi)}.me-animator{transition:transform 1.8s cubic-bezier(.22,1,.36,1)}.reveal-content{transition:clip-path 1.8s cubic-bezier(.22,1,.36,1)}
