.card-spotlight{position:relative;border-radius:1.5rem;border:1px solid #222;background-color:#111;padding:2rem;overflow:hidden;--mouse-x:50%;--mouse-y:50%;--spotlight-color:rgba(255,255,255,0.05)}.card-spotlight:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),var(--spotlight-color),transparent 80%);opacity:0;transition:opacity .5s ease;pointer-events:none}.card-spotlight:focus-within:before,.card-spotlight:hover:before{opacity:.6}.interest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;padding:0 1rem}@media (max-width:768px){.interest-grid{grid-template-columns:1fr;gap:1.5rem;padding:0}}@media (min-width:1200px){.interest-grid{grid-template-columns:repeat(3,1fr)}}.back-face,.front-face{backface-visibility:hidden;transform-style:preserve-3d}.skill-tag:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.group:hover .front-face{transform:translateZ(10px)}@media (max-width:768px){.interest-grid{scrollbar-width:none;-ms-overflow-style:none}.interest-grid::-webkit-scrollbar{display:none}}.contact-links-section{margin-top:5rem}.contact-link{display:block;text-decoration:none;transition:transform .3s ease}.contact-link:hover{transform:translateY(-2px)}@media (max-width:640px){.contact-links-section{margin-top:3rem}.contact-link{width:100%;max-width:320px;margin:0 auto}}.text-rotate{display:flex;flex-wrap:wrap;white-space:pre-wrap;position:relative}.text-rotate-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-rotate-word{display:inline-flex}.text-rotate-lines{display:flex;flex-direction:column;width:100%}.text-rotate-element{display:inline-block}.text-rotate-space{white-space:pre}.icon-btns{display:grid;grid-gap:5em;grid-template-columns:repeat(2,1fr);margin:auto;padding:3em 0;overflow:visible}.icon-btn{background-color:transparent;outline:none;position:relative;width:4.5em;height:4.5em;perspective:24em;transform-style:preserve-3d;-webkit-tap-highlight-color:transparent}.icon-btn__back,.icon-btn__front,.icon-btn__label{transition:opacity .3s cubic-bezier(.83,0,.17,1),transform .3s cubic-bezier(.83,0,.17,1)}.icon-btn__back,.icon-btn__front{border-radius:1.25em;position:absolute;top:0;left:0;width:100%;height:100%}.icon-btn__back{box-shadow:.5em -.5em .75em hsla(223,10%,10%,.15);display:block;transform:rotate(15deg);transform-origin:100% 100%}.icon-btn__front{background-color:hsla(0,0%,100%,.15);box-shadow:inset 0 0 0 .1em hsla(0,0%,100%,.3);backdrop-filter:blur(.75em);-webkit-backdrop-filter:blur(.75em);display:flex;transform-origin:80% 50%}.icon-btn__icon{margin:auto;width:1.5em;height:1.5em;display:flex;align-items:center;justify-content:center}.icon-btn__label{font-size:1em;white-space:nowrap;text-align:center;line-height:2;opacity:0;position:absolute;top:100%;right:0;left:0;transform:translateY(0)}.icon-btn:focus-visible .icon-btn__back,.icon-btn:hover .icon-btn__back{transform:rotate(25deg) translate3d(-.5em,-.5em,.5em)}.icon-btn:focus-visible .icon-btn__front,.icon-btn:hover .icon-btn__front{transform:translateZ(2em)}.icon-btn:focus-visible .icon-btn__label,.icon-btn:hover .icon-btn__label{opacity:1;transform:translateY(20%)}@media (min-width:768px){.icon-btns{grid-template-columns:repeat(3,1fr)}}.image-comparison-container{position:relative;width:100%;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:grab;overflow:hidden}.image-comparison-container:active{cursor:grabbing}.image-comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%}.image-comparison-item{position:relative;box-shadow:0 8px 32px rgba(0,0,0,.3)}.image-after,.image-before,.image-comparison-item{overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%}.image-after,.image-before{position:absolute;top:0;left:0;height:100%}.image-after{z-index:2;transition:clip-path .1s ease-out;will-change:clip-path}.image-after,.image-before{backface-visibility:hidden;-webkit-backface-visibility:hidden}.image-before{z-index:1;transform:translateZ(0);will-change:auto}.slider-track{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;cursor:grab}.slider-track:active{cursor:grabbing}.slider-handle{position:absolute;top:0;height:100%;transform:translateX(-50%);z-index:15;pointer-events:none;transition:opacity .2s ease;will-change:transform}.slider-handle.dragging{transition:none}.slider-handle-line{position:absolute;top:0;left:50%;width:2px;height:100%;background:#0433ff;transform:translateX(-50%);box-shadow:0 0 10px rgba(255,255,255,.5)}.slider-handle-circle{position:absolute;top:50%;left:50%;width:48px;height:48px;background:rgba(255,255,255,.95);border:2px solid rgba(255,255,255,1);border-radius:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;color:#333;box-shadow:0 4px 20px rgba(0,0,0,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:grab;pointer-events:all;transition:all .2s ease}.slider-handle-circle:hover{background:rgba(255,255,255,1);transform:translate(-50%,-50%) scale(1.1);box-shadow:0 6px 25px rgba(0,0,0,.4)}.slider-handle-circle:active{cursor:grabbing;transform:translate(-50%,-50%) scale(.95)}.slider-handle.dragging .slider-handle-circle{background:rgba(255,255,255,1);transform:translate(-50%,-50%) scale(1.05)}.image-labels{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;justify-content:space-between;z-index:25;pointer-events:none}.label-after,.label-before{background:rgba(0,0,0,.8);color:white;padding:.375rem .75rem;border-radius:.75rem;font-size:.75rem;font-weight:600;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:opacity .3s ease,transform .3s ease}.label-before{background:rgba(220,38,127,.9)}.label-after{background:rgba(34,197,94,.9)}.label-after.faded,.label-before.faded{opacity:.4;transform:scale(.9)}.image-comparison-item.active{box-shadow:0 0 0 2px rgba(59,130,246,.6),0 8px 32px rgba(0,0,0,.3);transform:scale(1.02);transition:all .3s cubic-bezier(.4,0,.2,1)}.active-indicator{position:absolute;bottom:1rem;left:1rem;right:1rem;z-index:25;pointer-events:none}.segment-dividers{width:100%;pointer-events:none;z-index:5}.segment-divider,.segment-dividers{position:absolute;top:0;height:100%}.segment-divider{width:2px;background:linear-gradient(180deg,rgba(255,255,255,.4) 0,rgba(255,255,255,.8) 50%,rgba(255,255,255,.4));transform:translateX(-50%);box-shadow:0 0 8px rgba(255,255,255,.3)}.progress-indicator{position:absolute;bottom:-3rem;left:0;right:0;height:1rem;z-index:30;pointer-events:none}.progress-track{position:relative;height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}.progress-thumb{position:absolute;top:50%;width:12px;height:12px;background:#3b82f6;border:2px solid white;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(0,0,0,.3);transition:all .1s ease-out}.progress-segment{position:absolute;top:0;height:100%;background:rgba(255,255,255,.2);transition:background-color .3s ease}.progress-segment.active{background:linear-gradient(90deg,#3b82f6,#06b6d4)}.progress-segment.completed{background:#10b981}@media (max-width:1024px){.image-comparison-grid{gap:.75rem}.slider-handle-circle{width:40px;height:40px}.image-labels{top:.75rem;left:.75rem;right:.75rem}.label-after,.label-before{padding:.25rem .5rem;font-size:.7rem}.active-indicator{bottom:.75rem;left:.75rem;right:.75rem}.progress-indicator{bottom:-2.5rem}}@media (max-width:768px){.image-comparison-grid{grid-template-columns:1fr;gap:1rem}.image-comparison-item{width:100%!important;aspect-ratio:9/16!important}.image-comparison-item.active{transform:scale(1.01)}.slider-handle-circle{width:36px;height:36px}.image-labels{top:.5rem;left:.5rem;right:.5rem}.label-after,.label-before{padding:.25rem .5rem;font-size:.65rem}.active-indicator{bottom:.5rem;left:.5rem;right:.5rem}.progress-bar{height:3px}.progress-indicator{bottom:-2rem}.progress-thumb{width:10px;height:10px}}@media (max-width:480px){.image-comparison-grid{gap:.75rem}.image-comparison-item{height:300px!important;border-radius:1rem}.image-comparison-item.active{transform:none;box-shadow:0 0 0 1px rgba(59,130,246,.6),0 4px 16px rgba(0,0,0,.3)}.slider-handle-circle{width:32px;height:32px}.slider-handle-circle svg{width:16px;height:16px}.label-after,.label-before{padding:.2rem .4rem;font-size:.6rem}.progress-bar{height:2px}.progress-thumb{width:8px;height:8px;border-width:1px}.progress-indicator{bottom:-1.5rem}}.image-comparison-container{contain:layout style}.image-comparison-container.dragging{contain:layout style paint}.image-comparison-container .slider-handle{will-change:transform}.image-after{contain:layout style paint;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;transform:translateZ(0)}.image-comparison-container.dragging .image-after{transition:none!important;will-change:clip-path}.image-comparison-container:not(.dragging) .image-after{transition:clip-path .15s cubic-bezier(.4,0,.2,1);will-change:auto}@media (prefers-reduced-motion:reduce){.image-after,.slider-handle-circle{transition:none!important}}.slider-handle-circle:focus-visible{outline:2px solid #0066cc;outline-offset:2px}.drag-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;animation:dragPulse 2s ease-in-out infinite}.drag-arrows{animation:dragSlide 2s ease-in-out infinite;transform-origin:center}.drag-hint{font-size:8px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;opacity:.8;animation:hintFade 2s ease-in-out infinite}@keyframes dragPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes dragSlide{0%,to{transform:translateX(0);opacity:1}25%{transform:translateX(-2px);opacity:.8}75%{transform:translateX(2px);opacity:.8}}@keyframes hintFade{0%,to{opacity:.8}50%{opacity:.4}}.slider-handle.dragging .drag-indicator{animation:none;will-change:auto}.slider-handle.dragging .drag-arrows{transform:scale(1.1)}.slider-handle.dragging .drag-arrows,.slider-handle.dragging .drag-hint{animation:none;opacity:1;will-change:auto}