:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100vh;background:#000}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#5227ff}::selection{background:#00f7ff;color:#000}#root{width:100%;min-height:100vh}a{font-weight:500;color:#00f7ff;text-decoration:inherit;transition:all .3s ease}a:hover{color:#8338ec}.dot-grid{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0}.dot-grid__wrap{width:100%;height:100%;position:absolute;top:0;left:0}.dot-grid__canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.staggered-menu-wrapper{position:relative;width:100%;height:100%;z-index:40}.staggered-menu-wrapper.fixed-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:40;overflow:hidden;pointer-events:none}.staggered-menu-header{position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:2em;background:transparent;pointer-events:none;z-index:20}.staggered-menu-header>*{pointer-events:auto}.sm-logo{display:flex;align-items:center;-webkit-user-select:none;user-select:none}.sm-logo-text{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#00f7ff,#8338ec,#ff006e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sm-logo-img{display:block;height:32px;width:auto;object-fit:contain}.sm-toggle{position:relative;display:inline-flex;align-items:center;gap:.3rem;background:transparent;border:none;cursor:pointer;color:#a077b5;font-weight:500;line-height:1;overflow:visible}.sm-toggle:focus-visible{outline:2px solid #ffffffaa;outline-offset:4px;border-radius:4px}.sm-line:last-of-type{margin-top:6px}.sm-toggle-textWrap{position:relative;display:inline-block;height:1em;overflow:hidden;white-space:nowrap;width:var(--sm-toggle-width, auto);min-width:var(--sm-toggle-width, auto)}.sm-toggle-textInner{display:flex;flex-direction:column;line-height:1}.sm-toggle-line{display:block;height:1em;line-height:1}.sm-icon{position:relative;width:14px;height:14px;flex:0 0 14px;display:inline-flex;align-items:center;justify-content:center;will-change:transform}.sm-panel-itemWrap{position:relative;overflow:hidden;line-height:1}.sm-icon-line{position:absolute;left:50%;top:50%;width:100%;height:2px;background:currentColor;border-radius:2px;transform:translate(-50%,-50%);will-change:transform}.sm-line{display:none!important}.staggered-menu-panel{position:absolute;top:0;right:0;width:clamp(260px,38vw,420px);height:100%;background:#9664ecb1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;padding:6em 2em 2em;overflow-y:auto;z-index:10;pointer-events:auto}[data-position=left] .staggered-menu-panel{right:auto;left:0}.sm-prelayers{position:absolute;top:0;right:0;bottom:0;width:clamp(260px,38vw,420px);pointer-events:none;z-index:5}[data-position=left] .sm-prelayers{right:auto;left:0}.sm-prelayer{position:absolute;top:0;right:0;height:100%;width:100%;transform:translate(0)}.sm-panel-inner{flex:1;display:flex;flex-direction:column;gap:1.25rem}.sm-socials{margin-top:auto;padding-top:2rem;display:flex;flex-direction:column;gap:.75rem}.sm-socials-title{margin:0;font-size:1rem;font-weight:500;color:var(--sm-accent, #ff0000)}.sm-socials-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;gap:1rem;flex-wrap:wrap}.sm-socials-list .sm-socials-link{opacity:1}.sm-socials-list:hover .sm-socials-link{opacity:.35}.sm-socials-list:hover .sm-socials-link:hover{opacity:1}.sm-socials-link:focus-visible{outline:2px solid var(--sm-accent, #ff0000);outline-offset:3px}.sm-socials-list:focus-within .sm-socials-link{opacity:.35}.sm-socials-list:focus-within .sm-socials-link:focus-visible{opacity:1}.sm-socials-link{font-size:1.2rem;font-weight:500;color:#111;text-decoration:none;position:relative;padding:2px 0;display:inline-block;transition:color .3s ease,opacity .3s ease}.sm-socials-link:hover{color:var(--sm-accent, #ff0000)}.sm-panel-title{margin:0;font-size:1rem;font-weight:600;color:#fff;text-transform:uppercase}.sm-panel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.sm-panel-item{position:relative;color:#000;font-weight:600;font-size:3.5rem;cursor:pointer;line-height:1;letter-spacing:-2px;text-transform:uppercase;transition:background .25s,color .25s;display:inline-block;text-decoration:none;padding-right:1.4em}.staggered-menu-panel .sm-socials-list .sm-socials-link{opacity:1;transition:opacity .3s ease}.staggered-menu-panel .sm-socials-list:hover .sm-socials-link:not(:hover){opacity:.35}.staggered-menu-panel .sm-socials-list:focus-within .sm-socials-link:not(:focus-visible){opacity:.35}.staggered-menu-panel .sm-socials-list .sm-socials-link:hover,.staggered-menu-panel .sm-socials-list .sm-socials-link:focus-visible{opacity:1}.sm-panel-itemLabel{display:inline-block;will-change:transform;transform-origin:50% 100%}.sm-panel-item:hover{color:var(--sm-accent, #5227ff)}.sm-panel-list[data-numbering]{counter-reset:smItem}.sm-panel-list[data-numbering] .sm-panel-item:after{counter-increment:smItem;content:counter(smItem,decimal-leading-zero);position:absolute;top:.1em;right:2.8em;font-size:18px;font-weight:400;color:var(--sm-accent, #5227ff);letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--sm-num-opacity, 0)}@media(max-width:1024px){.staggered-menu-panel{width:100%;left:0;right:0}.staggered-menu-wrapper[data-open] .sm-logo-img{filter:invert(100%)}}@media(max-width:640px){.staggered-menu-panel{width:100%;left:0;right:0}.staggered-menu-wrapper[data-open] .sm-logo-img{filter:invert(100%)}}:root{--pointer-x: 50%;--pointer-y: 50%;--pointer-from-center: 0;--pointer-from-top: .5;--pointer-from-left: .5;--card-opacity: 0;--rotate-x: 0deg;--rotate-y: 0deg;--background-x: 50%;--background-y: 50%;--grain: none;--icon: none;--behind-gradient: none;--behind-glow-color: rgba(125, 190, 255, .67);--behind-glow-size: 25%;--inner-gradient: none;--sunpillar-1: hsl(2, 100%, 73%);--sunpillar-2: hsl(53, 100%, 69%);--sunpillar-3: hsl(93, 100%, 69%);--sunpillar-4: hsl(176, 100%, 76%);--sunpillar-5: hsl(228, 100%, 74%);--sunpillar-6: hsl(283, 100%, 73%);--sunpillar-clr-1: var(--sunpillar-1);--sunpillar-clr-2: var(--sunpillar-2);--sunpillar-clr-3: var(--sunpillar-3);--sunpillar-clr-4: var(--sunpillar-4);--sunpillar-clr-5: var(--sunpillar-5);--sunpillar-clr-6: var(--sunpillar-6);--card-radius: 30px}.pc-card-wrapper{perspective:500px;transform:translateZ(.1px);position:relative;touch-action:none}.pc-behind{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),var(--behind-glow-color) 0%,transparent var(--behind-glow-size));filter:blur(50px) saturate(1.1);opacity:calc(.8 * var(--card-opacity));transition:opacity .2s ease}.pc-card-wrapper:hover,.pc-card-wrapper.active{--card-opacity: 1}.pc-card{height:80svh;max-height:540px;display:grid;aspect-ratio:.718;border-radius:var(--card-radius);position:relative;background-blend-mode:color-dodge,normal,normal,normal;animation:glow-bg 12s linear infinite;box-shadow:#000c calc((var(--pointer-from-left) * 10px) - 3px) calc((var(--pointer-from-top) * 20px) - 6px) 20px -5px;transition:transform 1s ease;transform:translateZ(0) rotateX(0) rotateY(0);background:#000000e6;backface-visibility:hidden;overflow:hidden}.pc-card:hover,.pc-card.active{transition:none;transform:translateZ(0) rotateX(var(--rotate-y)) rotateY(var(--rotate-x))}.pc-card-shell.entering .pc-card{transition:transform .18s ease-out}.pc-card-shell{position:relative;z-index:1}.pc-card *{display:grid;grid-area:1/-1;border-radius:var(--card-radius);pointer-events:none}.pc-inside{inset:0;position:absolute;background-image:var(--inner-gradient);background-color:#000000e6;transform:none}.pc-shine{-webkit-mask-image:var(--icon);mask-image:var(--icon);mask-mode:luminance;-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-size:150%;mask-size:150%;-webkit-mask-position:top calc(200% - (var(--background-y) * 5)) left calc(100% - var(--background-x));mask-position:top calc(200% - (var(--background-y) * 5)) left calc(100% - var(--background-x));transition:filter .8s ease;filter:brightness(.66) contrast(1.33) saturate(.33) opacity(.5);animation:holo-bg 18s linear infinite;animation-play-state:running;mix-blend-mode:color-dodge}.pc-shine,.pc-shine:after{--space: 5%;--angle: -45deg;transform:translateZ(1px);overflow:hidden;z-index:3;background:transparent;background-size:cover;background-position:center;background-image:repeating-linear-gradient(0deg,var(--sunpillar-clr-1) calc(var(--space) * 1),var(--sunpillar-clr-2) calc(var(--space) * 2),var(--sunpillar-clr-3) calc(var(--space) * 3),var(--sunpillar-clr-4) calc(var(--space) * 4),var(--sunpillar-clr-5) calc(var(--space) * 5),var(--sunpillar-clr-6) calc(var(--space) * 6),var(--sunpillar-clr-1) calc(var(--space) * 7)),repeating-linear-gradient(var(--angle),#0e152e 0%,hsl(180,10%,60%) 3.8%,hsl(180,29%,66%) 4.5%,hsl(180,10%,60%) 5.2%,#0e152e 10%,#0e152e 12%),radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y),hsla(0,0%,0%,.1) 12%,hsla(0,0%,0%,.15) 20%,hsla(0,0%,0%,.25) 120%);background-position:0 var(--background-y),var(--background-x) var(--background-y),center;background-blend-mode:color,hard-light;background-size:500% 500%,300% 300%,200% 200%;background-repeat:repeat}.pc-shine:before,.pc-shine:after{content:"";background-position:center;background-size:cover;grid-area:1/1;opacity:0;transition:opacity .8s ease}.pc-card:hover .pc-shine,.pc-card.active .pc-shine{filter:brightness(.85) contrast(1.5) saturate(.5);animation-play-state:paused}.pc-card:hover .pc-shine:before,.pc-card.active .pc-shine:before,.pc-card:hover .pc-shine:after,.pc-card.active .pc-shine:after{opacity:1}.pc-shine:before{background-image:linear-gradient(45deg,var(--sunpillar-4),var(--sunpillar-5),var(--sunpillar-6),var(--sunpillar-1),var(--sunpillar-2),var(--sunpillar-3)),radial-gradient(circle at var(--pointer-x) var(--pointer-y),hsl(0,0%,70%) 0%,hsla(0,0%,30%,.2) 90%),var(--grain);background-size:250% 250%,100% 100%,220px 220px;background-position:var(--pointer-x) var(--pointer-y),center,calc(var(--pointer-x) * .01) calc(var(--pointer-y) * .01);background-blend-mode:color-dodge;filter:brightness(calc(2 - var(--pointer-from-center))) contrast(calc(var(--pointer-from-center) + 2)) saturate(calc(.5 + var(--pointer-from-center)));mix-blend-mode:luminosity}.pc-shine:after{background-position:0 var(--background-y),calc(var(--background-x) * .4) calc(var(--background-y) * .5),center;background-size:200% 300%,700% 700%,100% 100%;mix-blend-mode:difference;filter:brightness(.8) contrast(1.5)}.pc-glare{transform:translateZ(1.1px);overflow:hidden;background-image:radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y),hsl(248,25%,80%) 12%,hsla(207,40%,30%,.8) 90%);mix-blend-mode:overlay;filter:brightness(.8) contrast(1.2);z-index:4}.pc-avatar-content{mix-blend-mode:luminosity;overflow:visible;transform:translateZ(2);backface-visibility:hidden}.pc-avatar-content .avatar{width:100%;position:absolute;left:50%;transform-origin:50% 100%;transform:translate(calc(-50% + (var(--pointer-from-left) - .5) * 6px)) translateZ(0) scaleY(calc(1 + (var(--pointer-from-top) - .5) * .02)) scaleX(calc(1 + (var(--pointer-from-left) - .5) * .01));bottom:-1px;backface-visibility:hidden;will-change:transform;transition:transform .12s ease-out}.pc-avatar-content:before{content:"";position:absolute;inset:0;z-index:1;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.pc-user-info{position:absolute;--ui-inset: 20px;--ui-radius-bias: 6px;bottom:var(--ui-inset);left:var(--ui-inset);right:var(--ui-inset);z-index:2;display:flex;align-items:center;justify-content:space-between;background:#ffffff1a;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.1);border-radius:max(0px,var(--card-radius) - var(--ui-inset) + var(--ui-radius-bias));padding:12px 14px;pointer-events:auto}.pc-user-details{display:flex;align-items:center;gap:12px}.pc-mini-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.1);flex-shrink:0}.pc-mini-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.pc-user-text{display:flex;align-items:flex-start;flex-direction:column;gap:6px}.pc-handle{font-size:14px;font-weight:500;color:#ffffffe6;line-height:1}.pc-status{font-size:14px;color:#ffffffb3;line-height:1}.pc-contact-btn{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px 16px;font-size:12px;font-weight:600;color:#ffffffe6;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pc-contact-btn:hover{border-color:#fff6;transform:translateY(-1px);transition:all .2s ease}.pc-content:not(.pc-avatar-content){max-height:100%;overflow:hidden;text-align:center;position:relative;transform:translate3d(calc(var(--pointer-from-left) * -6px + 3px),calc(var(--pointer-from-top) * -6px + 3px),.1px);z-index:5;mix-blend-mode:luminosity}.pc-details{width:100%;position:absolute;top:3em;display:flex;flex-direction:column}.pc-details h3{font-weight:600;font-size:min(5svh,3em);margin:0;background-image:linear-gradient(to bottom,#fff,#6f6fbe);background-size:1em 1.5em;-webkit-text-fill-color:transparent;background-clip:text;-webkit-background-clip:text}.pc-details p{font-weight:600;position:relative;top:-12px;white-space:nowrap;font-size:16px;margin:0 auto;width:min-content;background-image:linear-gradient(to bottom,#fff,#4a4ac0);background-size:1em 1.5em;-webkit-text-fill-color:transparent;background-clip:text;-webkit-background-clip:text}@keyframes glow-bg{0%{--bgrotate: 0deg}to{--bgrotate: 360deg}}@keyframes holo-bg{0%{background-position:0 var(--background-y),0 0,center}to{background-position:0 var(--background-y),90% 90%,center}}@media(max-width:768px){.pc-card{height:70svh;max-height:450px}.pc-details{top:2em}.pc-details h3{font-size:min(4svh,2.5em)}.pc-details p{font-size:14px}.pc-user-info{--ui-inset: 15px;padding:10px 12px}.pc-mini-avatar{width:28px;height:28px}.pc-user-details{gap:10px}.pc-handle{font-size:13px}.pc-status{font-size:10px}.pc-contact-btn{padding:6px 12px;font-size:11px}}@media(max-width:480px){.pc-card{height:60svh;max-height:380px}.pc-details{top:1.5em}.pc-details h3{font-size:min(3.5svh,2em)}.pc-details p{font-size:12px;top:-8px}.pc-user-info{--ui-inset: 12px;padding:8px 10px}.pc-mini-avatar{width:24px;height:24px}.pc-user-details{gap:8px}.pc-handle{font-size:12px}.pc-status{font-size:9px}.pc-contact-btn{padding:5px 10px;font-size:10px;border-radius:50px}}@media(max-width:320px){.pc-card{height:55svh;max-height:320px}.pc-details h3{font-size:min(3svh,1.5em)}.pc-details p{font-size:11px}.pc-user-info{padding:6px 8px}.pc-mini-avatar{width:20px;height:20px}.pc-user-details{gap:6px}.pc-handle{font-size:11px}.pc-status{font-size:8px}.pc-contact-btn{padding:4px 8px;font-size:9px;border-radius:50px}}.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding-top:100px;padding-left:40px;padding-right:40px}.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;width:100%;max-width:1400px;margin:0 auto}.hero-content{flex:1;z-index:1}.hero-card{display:flex;justify-content:center;align-items:center;z-index:2}.hero-subtitle{font-size:1rem;color:#00f7ff;text-transform:uppercase;letter-spacing:3px;margin-bottom:20px;font-weight:600}.hero-title{font-size:clamp(3rem,8vw,5rem);font-weight:800;line-height:1.1;margin-bottom:30px;position:relative}.glitch{background:linear-gradient(135deg,#00f7ff6d,#8338ec3a,#ff006f53);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:gradientShift 30s linear infinite;position:relative}@keyframes gradientShift{0%{background-position:0% 50%}to{background-position:100% 50%}}.hero-description{font-size:1.5rem;color:#a0aec0;margin-bottom:40px;min-height:2.5rem}.typed-cursor{color:#00f7ff;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-buttons{display:flex;gap:20px;flex-wrap:wrap;pointer-events:auto}.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 35px;border:none;border-radius:25px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;z-index:1}.btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#00f7ff41,#8338ec3a,#ff006e51);z-index:-1;transition:transform .3s ease}.btn-primary{background:linear-gradient(135deg,#00f7ff,#8338ec,#ff006e);color:#fff;box-shadow:0 10px 30px #00f7ff4d}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 40px #00f7ff80}.btn-secondary{background:transparent;color:#ffffff51;border:2px solid #00f7ff43}.btn-secondary:before{transform:scaleX(0);transform-origin:right}.btn-secondary:hover:before{transform:scaleX(1);transform-origin:left}.btn-secondary:hover{border-color:transparent;transform:translateY(-3px)}@media(max-width:1024px){.hero-layout{grid-template-columns:1fr;gap:40px}.hero-card{order:-1}}@media(max-width:768px){.hero{padding-top:120px;padding-left:20px;padding-right:20px}.hero-layout{gap:30px}.hero-description{font-size:1.2rem}.hero-buttons{flex-direction:column}.btn{width:100%;justify-content:center}}.logoloop{position:relative;--logoloop-gap: 32px;--logoloop-logoHeight: 28px;--logoloop-fadeColorAuto: #0a0a0f}.logoloop__list{display:flex;align-items:center;list-style:none;margin:0;padding:0}.logoloop__item{flex:0 0 auto;margin-right:var(--logoloop-gap);font-size:var(--logoloop-logoHeight);line-height:1;color:#ffffffb3;transition:color .3s ease,transform .3s ease}.logoloop__item:hover{color:#00f7ff}.logoloop__link{display:inline-flex;align-items:center;text-decoration:none;border-radius:4px;transition:opacity .2s ease;color:inherit}.tech-stack{padding:60px 0;position:relative;overflow:hidden;background:linear-gradient(180deg,transparent 0%,rgba(82,39,255,.03) 50%,transparent 100%)}.tech-stack-container{max-width:100%;margin:0 auto}.tech-stack-header{text-align:center;margin-bottom:40px}.tech-stack-label{font-size:.9rem;text-transform:uppercase;letter-spacing:3px;color:#ffffff80;font-weight:500}.tech-stack-loops{display:flex;flex-direction:column;gap:20px}.tech-loop-row{height:100px;position:relative;overflow:hidden;display:flex;align-items:center}@media(max-width:768px){.tech-stack{padding:40px 0}.tech-stack-header{margin-bottom:30px}.tech-stack-label{font-size:.8rem;letter-spacing:2px}.tech-loop-row{height:80px}.tech-stack-loops{gap:15px}}@media(max-width:480px){.tech-stack{padding:30px 0}.tech-loop-row{height:60px}}.logoloop{position:relative;width:100%;--logoloop-gap: 32px;--logoloop-logoHeight: 28px;--logoloop-fadeColorAuto: #ffffff}.logoloop--vertical{height:100%;display:inline-block}.logoloop--scale-hover{padding-top:calc(var(--logoloop-logoHeight) * .1);padding-bottom:calc(var(--logoloop-logoHeight) * .1)}@media(prefers-color-scheme:dark){.logoloop{--logoloop-fadeColorAuto: #0b0b0b}}.logoloop__track{display:flex;width:max-content;will-change:transform;-webkit-user-select:none;user-select:none;position:relative;z-index:0}.logoloop--vertical .logoloop__track{flex-direction:column;height:max-content;width:100%}.logoloop__list{display:flex;align-items:center}.logoloop--vertical .logoloop__list{flex-direction:column}.logoloop__item{flex:0 0 auto;margin-right:var(--logoloop-gap);font-size:var(--logoloop-logoHeight);line-height:1}.logoloop--vertical .logoloop__item{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__item:last-child{margin-right:var(--logoloop-gap)}.logoloop--vertical .logoloop__item:last-child{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__node{display:inline-flex;align-items:center}.logoloop__item img{height:var(--logoloop-logoHeight);width:auto;display:block;object-fit:contain;image-rendering:-webkit-optimize-contrast;-webkit-user-drag:none;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1)}.logoloop--scale-hover .logoloop__item{overflow:visible}.logoloop--scale-hover .logoloop__item:hover img,.logoloop--scale-hover .logoloop__item:hover .logoloop__node{transform:scale(1.2);transform-origin:center center}.logoloop--scale-hover .logoloop__node{transition:transform .3s cubic-bezier(.4,0,.2,1)}.logoloop__link{display:inline-flex;align-items:center;text-decoration:none;border-radius:4px;transition:opacity .2s ease}.logoloop__link:hover{opacity:.8}.logoloop__link:focus-visible{outline:2px solid currentColor;outline-offset:2px}.logoloop--fade:before,.logoloop--fade:after{content:"";position:absolute;top:0;bottom:0;width:clamp(24px,8%,120px);pointer-events:none;z-index:10}.logoloop--fade:before{left:0;background:linear-gradient(to right,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}.logoloop--fade:after{right:0;background:linear-gradient(to left,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}.logoloop--vertical.logoloop--fade:before,.logoloop--vertical.logoloop--fade:after{left:0;right:0;width:100%;height:clamp(24px,8%,120px)}.logoloop--vertical.logoloop--fade:before{top:0;bottom:auto;background:linear-gradient(to bottom,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}.logoloop--vertical.logoloop--fade:after{bottom:0;top:auto;background:linear-gradient(to top,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}@media(prefers-reduced-motion:reduce){.logoloop__track{transform:translateZ(0)!important}.logoloop__item img,.logoloop__node{transition:none!important}}.focus-container{position:relative;display:flex;gap:.5em;justify-content:center;align-items:center;flex-wrap:wrap;outline:none;-webkit-user-select:none;user-select:none}.focus-word{position:relative;font-size:2.5rem;font-weight:700;cursor:pointer;transition:filter .3s ease,color .3s ease;outline:none;-webkit-user-select:none;user-select:none;color:#ffffffe6}.focus-word.active{filter:blur(0)}.focus-frame{position:absolute;top:0;left:0;pointer-events:none;box-sizing:content-box;border:none}.corner{position:absolute;width:1rem;height:1rem;border:3px solid var(--border-color, #fff);filter:drop-shadow(0px 0px 4px var(--border-color, #fff));border-radius:3px;transition:none}.top-left{top:-10px;left:-10px;border-right:none;border-bottom:none}.top-right{top:-10px;right:-10px;border-left:none;border-bottom:none}.bottom-left{bottom:-10px;left:-10px;border-right:none;border-top:none}.bottom-right{bottom:-10px;right:-10px;border-left:none;border-top:none}@media(max-width:768px){.focus-word{font-size:1.8rem}}.about{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:100px 40px;position:relative}.about-container{max-width:1000px;margin:0 auto;text-align:center}.about-header{margin-bottom:60px}.about-content{display:flex;flex-direction:column;gap:40px}.about-line{display:flex;justify-content:center}.about-fun-facts{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:30px}.fun-tag{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:12px 24px;border-radius:50px;font-size:1rem;color:#fffc;transition:all .3s ease}.fun-tag:hover{background:#00f7ff1a;border-color:#00f7ff4d;transform:translateY(-2px)}@media(max-width:768px){.about{padding:80px 20px}.about-content{gap:30px}.fun-tag{padding:10px 18px;font-size:.9rem}}.card-swap-container{position:relative;perspective:900px;overflow:visible}.swap-card{position:absolute;top:50%;left:50%;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,#271e37e6,#140f1ef2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:30px;box-shadow:0 20px 40px #0006;transform-style:preserve-3d;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.swap-card:hover{border-color:#00f7ff4d}.exp-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.exp-card-company{font-size:1.4rem;font-weight:700;color:#00f7ff;margin:0}.exp-card-duration{font-size:.9rem;color:#ffffff80;background:#ffffff0d;padding:6px 12px;border-radius:20px}.exp-card-role{font-size:1.1rem;font-weight:600;color:#ffffffe6;margin:0 0 15px}.exp-card-description{font-size:.95rem;color:#ffffffb3;line-height:1.6;margin:0 0 20px}.exp-card-skills{display:flex;flex-wrap:wrap;gap:8px}.exp-skill-tag{font-size:.8rem;padding:6px 12px;background:#5227ff33;border:1px solid rgba(82,39,255,.3);border-radius:20px;color:#b19eef}@media(max-width:768px){.card-swap-container{transform:scale(.75)}.exp-card-company{font-size:1.2rem}.exp-card-role{font-size:1rem}}@media(max-width:480px){.card-swap-container{transform:scale(.55)}}.experience{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:100px 40px;position:relative}.experience-container{max-width:1200px;width:100%;margin:0 auto}.experience-header{text-align:center;margin-bottom:80px}.experience-title{font-size:3rem;font-weight:700;color:#fff;margin:0 0 15px;background:linear-gradient(135deg,#00f7ff,#8338ec);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.experience-subtitle{font-size:1.2rem;color:#fff9;margin:0}.experience-content{display:flex;justify-content:center;align-items:center}.experience-cards{height:500px;width:100%;max-width:600px;position:relative;display:flex;justify-content:center;align-items:center}@media(max-width:768px){.experience{padding:80px 20px}.experience-title{font-size:2.2rem}.experience-subtitle{font-size:1rem}.experience-cards{height:400px}}@media(max-width:480px){.experience-title{font-size:1.8rem}.experience-cards{height:350px}}.exp-modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.exp-modal-content{position:relative;max-width:600px;width:90%;animation:zoomIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes zoomIn{0%{opacity:0;transform:scale(.5) translateY(50px)}to{opacity:1;transform:scale(1) translateY(0)}}.exp-modal-close{position:absolute;top:-50px;right:0;width:40px;height:40px;border:none;background:#ffffff1a;color:#fff;font-size:28px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;line-height:1}.exp-modal-close:hover{background:#f44c;transform:rotate(90deg)}.exp-modal-company{font-size:2rem;font-weight:700;color:#00f7ff;margin:0;background:linear-gradient(135deg,#00f7ff,#8338ec);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.exp-modal-duration{font-size:.95rem;color:#ffffffb3;background:#ffffff1a;padding:8px 16px;border-radius:25px;border:1px solid rgba(255,255,255,.2)}.exp-modal-role{font-size:1.3rem;font-weight:600;color:#fffffff2;margin:0 0 20px}.exp-modal-description{font-size:1.1rem;color:#fffc;line-height:1.8;margin:0 0 25px}.exp-modal-skills{display:flex;flex-wrap:wrap;gap:10px}.exp-modal-skill-tag{font-size:.9rem;padding:8px 16px;background:linear-gradient(135deg,#5227ff4d,#8338ec4d);border:1px solid rgba(82,39,255,.5);border-radius:25px;color:#b19eef;transition:all .3s ease}.exp-modal-skill-tag:hover{background:#5227ff80;transform:translateY(-2px)}.exp-modal-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:30px}.exp-modal-nav-btn{width:50px;height:50px;border:none;background:#ffffff1a;color:#fff;font-size:32px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.exp-modal-nav-btn:hover:not(:disabled){background:#00f7ff4d;transform:scale(1.1);box-shadow:0 0 20px #00f7ff66}.exp-modal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.exp-modal-indicators{display:flex;gap:10px}.exp-modal-dot{width:10px;height:10px;border-radius:50%;background:#ffffff4d;transition:all .3s ease}.exp-modal-dot.active{background:#00f7ff;box-shadow:0 0 10px #00f7ff99;transform:scale(1.2)}@media(max-width:768px){.exp-modal-card{padding:25px}.exp-modal-company{font-size:1.5rem}.exp-modal-role{font-size:1.1rem}.exp-modal-description{font-size:1rem}.exp-modal-close{top:-45px;width:36px;height:36px;font-size:24px}.exp-modal-nav-btn{width:44px;height:44px;font-size:26px}}@media(max-width:480px){.exp-modal-content{width:95%}.exp-modal-card{padding:20px}.exp-modal-company{font-size:1.3rem}.exp-modal-role{font-size:1rem}.exp-modal-skill-tag{font-size:.8rem;padding:6px 12px}}.skills{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:100px 40px;position:relative}.skills-container{max-width:1200px;width:100%;margin:0 auto}.skills-header{text-align:center;margin-bottom:60px}.skills-title{font-size:3rem;font-weight:700;margin:0 0 15px;background:linear-gradient(135deg,#00f7ff,#8338ec);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.skills-subtitle{font-size:1.2rem;color:#fff9;margin:0}.infinite-menu-container{background-color:transparent;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.skills-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-top:40px}.skill-tag{padding:12px 24px;background:#5227ff1a;border:1px solid rgba(82,39,255,.3);border-radius:50px;color:#b19eef;font-size:.95rem;font-weight:500;transition:all .3s ease}.skill-tag:hover{background:#5227ff33;border-color:#5227ff80;transform:translateY(-2px)}@media(max-width:768px){.skills{padding:80px 20px}.skills-title{font-size:2.2rem}}#infinite-grid-menu-canvas{cursor:grab;width:100%;height:100%;overflow:hidden;position:relative;outline:none}#infinite-grid-menu-canvas:active{cursor:grabbing}.action-button{position:absolute;left:50%;z-index:10;width:60px;height:60px;display:grid;place-items:center;background:#5227ff;border:none;border-radius:50%;cursor:pointer;border:5px solid #000}.face-title{-webkit-user-select:none;user-select:none;position:absolute;font-weight:900;font-size:3rem;left:1.6em;top:50%}.action-button-icon{-webkit-user-select:none;user-select:none;position:relative;color:#fff;top:2px;font-size:26px}.face-title{position:absolute;top:50%;transform:translate(20%,-50%)}.face-title.active{opacity:1;transform:translate(20%,-50%);pointer-events:auto;transition:.5s ease}.face-title.inactive{pointer-events:none;opacity:0;transition:.1s ease}.face-description{-webkit-user-select:none;user-select:none;position:absolute;max-width:10ch;top:50%;font-size:1.2rem;right:1%;transform:translateY(-50%)}.face-description.active{opacity:1;transform:translate(-90%,-50%);pointer-events:auto;transition:.5s ease}.face-description.inactive{pointer-events:none;transform:translate(-60%,-50%);opacity:0;transition:.1s ease}.action-button{position:absolute;left:50%}.action-button.active{bottom:3.8em;transform:translate(-50%) scale(1);opacity:1;pointer-events:auto;transition:.5s ease}.action-button.inactive{bottom:-80px;transform:translate(-50%) scale(0);opacity:0;pointer-events:none;transition:.1s ease}@media(max-width:1500px){.face-title,.face-description{display:none}}.projects{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:100px 40px;position:relative}.projects-container{max-width:1200px;width:100%;margin:0 auto}.projects-header{text-align:center;margin-bottom:60px}.projects-title{font-size:3rem;font-weight:700;margin:0 0 15px;background:linear-gradient(135deg,#00f7ff,#8338ec);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.projects-subtitle{font-size:1.2rem;color:#fff9;margin:0}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:60px}.featured-card{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;text-decoration:none;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.featured-card:hover{border-color:#00f7ff4d;transform:translateY(-10px);box-shadow:0 20px 40px #0000004d,0 0 60px #5227ff1a}.featured-image-wrapper{overflow:hidden;height:180px}.featured-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.featured-card:hover .featured-image{transform:scale(1.08)}.featured-content{padding:24px;flex:1;display:flex;flex-direction:column}.featured-category{display:inline-block;font-size:.75rem;padding:4px 10px;border-radius:20px;margin-bottom:12px;width:fit-content}.featured-category.application{background:#5227ff33;color:#b19eef}.featured-category.website{background:#00f7ff26;color:#00f7ff}.featured-title{font-size:1.25rem;font-weight:600;color:#fff;margin:0 0 10px;transition:color .3s ease}.featured-card:hover .featured-title{color:#00f7ff}.featured-description{font-size:.9rem;color:#ffffff8c;line-height:1.6;margin:0 0 16px;flex:1;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.featured-tech{display:flex;gap:8px}.tech-badge{font-size:.7rem;padding:4px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff9}.projects-cta{text-align:center}.view-all-btn{display:inline-flex;align-items:center;gap:12px;padding:18px 40px;background:linear-gradient(135deg,#5227ff,#00f7ff);border-radius:60px;color:#fff;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s ease}.view-all-btn:hover{transform:translateY(-4px);box-shadow:0 15px 40px #5227ff66}.view-all-btn svg{transition:transform .3s ease}.view-all-btn:hover svg{transform:translate(5px)}.projects-count{margin-top:20px;font-size:.95rem;color:#fff6}@media(max-width:1024px){.featured-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.projects{padding:80px 20px}.projects-title{font-size:2.2rem}.featured-grid{grid-template-columns:1fr;gap:20px}.view-all-btn{padding:16px 32px;font-size:1rem}}.contact{min-height:100vh;padding:100px 40px;background:#000}.contact-container{max-width:1200px;margin:0 auto}.contact-header{text-align:center;margin-bottom:60px}.contact-title{font-size:3rem;font-weight:700;margin:0 0 15px;color:#fff;background:linear-gradient(135deg,#00f7ff,#8338ec);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.contact-subtitle{font-size:1.2rem;color:#fff9}.contact-content{display:flex;justify-content:space-between;align-items:flex-start;gap:60px;margin-bottom:60px}.contact-info{flex:1}.contact-text{font-size:1.1rem;color:#fffc;line-height:1.8;margin-bottom:40px}.contact-links{display:flex;flex-direction:column;gap:20px}.contact-link{display:flex;align-items:center;gap:15px;color:#fff;text-decoration:none;font-size:1.1rem;padding:15px;background:#ffffff0d;border-radius:12px;transition:all .3s ease;border:1px solid rgba(255,255,255,.1)}.contact-link:hover{background:#ffffff1a;transform:translate(10px)}.link-icon{font-size:1.5rem}.contact-form{flex:1;display:flex;flex-direction:column;gap:20px;background:#ffffff08;padding:40px;border-radius:20px;border:1px solid rgba(255,255,255,.1)}.form-group input,.form-group textarea{width:100%;padding:15px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:1rem;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#8338ec;background:#ffffff1a}.submit-btn{padding:15px;background:linear-gradient(135deg,#00f7ff,#8338ec);border:none;border-radius:10px;color:#fff;font-weight:600;cursor:pointer;transition:transform .3s ease}.submit-btn:hover{transform:translateY(-2px);opacity:.9}.footer{text-align:center;padding-top:40px;border-top:1px solid rgba(255,255,255,.1);color:#ffffff80}@media(max-width:900px){.contact-content{flex-direction:column}.contact-info,.contact-form{width:100%}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}.app{position:relative;min-height:100vh;width:100%}.main-content{position:relative;z-index:1}.project-card{break-inside:avoid;margin-bottom:24px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1)}.project-card:hover{border-color:#00f7ff4d;transform:translateY(-8px);box-shadow:0 20px 40px #0000004d,0 0 60px #5227ff1a}.card-image-wrapper{position:relative;overflow:hidden}.card-image{width:100%;height:auto;display:block;transition:transform .5s ease}.project-card:hover .card-image{transform:scale(1.05)}.card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.8) 100%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:20px;opacity:0;transition:opacity .3s ease}.project-card:hover .card-overlay{opacity:1}.view-project{background:linear-gradient(135deg,#5227ff,#00f7ff);color:#fff;padding:10px 24px;border-radius:50px;font-size:.9rem;font-weight:500;transform:translateY(20px);transition:transform .3s ease}.project-card:hover .view-project{transform:translateY(0)}.card-content{padding:24px}.card-category{display:inline-block;font-size:.8rem;padding:5px 12px;border-radius:20px;margin-bottom:12px}.card-category.application{background:#5227ff33;color:#b19eef}.card-category.website{background:#00f7ff26;color:#00f7ff}.card-title{font-size:1.3rem;font-weight:600;color:#fff;margin:0 0 10px;transition:color .3s ease}.project-card:hover .card-title{color:#00f7ff}.card-description{font-size:.9rem;color:#ffffff8c;line-height:1.6;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card.large .card-description{-webkit-line-clamp:5}.card-tech{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{font-size:.75rem;padding:4px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff9}.project-card.large .card-image{height:280px;object-fit:cover}.detail-backdrop{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:40px;overflow-y:auto}.detail-modal{position:relative;background:linear-gradient(180deg,#14141ef2,#0a0a0ffa);border:1px solid rgba(255,255,255,.1);border-radius:24px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 30px 60px #00000080,0 0 100px #5227ff26}.detail-close{position:absolute;top:20px;right:20px;width:44px;height:44px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .3s ease}.detail-close:hover{background:#fff3;transform:rotate(90deg)}.detail-image-wrapper{position:relative}.detail-image{width:100%;height:300px;object-fit:cover;border-radius:24px 24px 0 0}.detail-category{position:absolute;bottom:20px;left:20px;padding:8px 16px;border-radius:50px;font-size:.85rem;font-weight:500}.detail-category.application{background:#5227ffe6;color:#fff}.detail-category.website{background:#00f7ffe6;color:#000}.detail-content{padding:32px}.detail-title{font-size:2rem;font-weight:700;color:#fff;margin:0 0 16px}.detail-description{font-size:1.05rem;color:#ffffffb3;line-height:1.7;margin:0 0 28px}.detail-section{margin-bottom:28px}.detail-section-title{font-size:.85rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px}.detail-tech{display:flex;flex-wrap:wrap;gap:10px}.detail-tech-tag{padding:8px 16px;background:linear-gradient(135deg,#5227ff33,#00f7ff1a);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#b19eef;font-size:.9rem}.detail-actions{display:flex;gap:16px;margin-top:32px}.detail-btn{display:flex;align-items:center;gap:10px;padding:14px 28px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;border:none}.detail-btn.primary{background:linear-gradient(135deg,#5227ff,#00f7ff);color:#fff;flex:1;justify-content:center}.detail-btn.primary:hover{transform:translateY(-3px);box-shadow:0 10px 30px #5227ff66}.detail-btn.secondary{background:#ffffff0d;border:1px solid rgba(255,255,255,.2);color:#ffffffb3}.detail-btn.secondary:hover{background:#ffffff1a;color:#fff}@media(max-width:768px){.detail-backdrop{padding:20px}.detail-image{height:200px}.detail-content{padding:24px}.detail-title{font-size:1.5rem}.detail-actions{flex-direction:column}.detail-btn{justify-content:center}}.gallery-page{min-height:100vh;background:#000;padding:0 40px 80px}.gallery-header{padding:30px 0 50px;max-width:1400px;margin:0 auto}.back-button{display:inline-flex;align-items:center;gap:8px;color:#fff9;font-size:.95rem;text-decoration:none;padding:10px 0;transition:all .3s ease}.back-button:hover{color:#00f7ff}.gallery-title-section{margin-top:30px}.gallery-title{font-size:3.5rem;font-weight:700;margin:0 0 15px;background:linear-gradient(135deg,#00f7ff,#8338ec,#ff006e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gallery-subtitle{font-size:1.2rem;color:#ffffff80;margin:0;max-width:600px}.gallery-filters{display:flex;justify-content:center;gap:12px;margin-bottom:50px;flex-wrap:wrap}.filter-btn{display:flex;align-items:center;gap:10px;padding:12px 24px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:50px;color:#fff9;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.filter-btn:hover{background:#ffffff0f;border-color:#00f7ff4d;color:#ffffffe6}.filter-btn.active{background:linear-gradient(135deg,#5227ff33,#00f7ff26);border-color:#00f7ff;color:#00f7ff}.filter-count{background:#ffffff1a;padding:3px 10px;border-radius:20px;font-size:.85rem}.filter-btn.active .filter-count{background:#00f7ff40}.masonry-grid{max-width:1400px;margin:0 auto;columns:3;column-gap:24px}@media(max-width:1200px){.masonry-grid{columns:2}}@media(max-width:768px){.gallery-page{padding:0 20px 60px}.gallery-title{font-size:2.5rem}.masonry-grid{columns:1}.gallery-filters{gap:8px}.filter-btn{padding:10px 18px;font-size:.9rem}}
