@keyframes floatOrb1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-30px,-40px) scale(1.1)}66%{transform:translate(20px,30px) scale(.9)}}@keyframes floatOrb2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(.9)}66%{transform:translate(-25px,40px) scale(1.1)}}@keyframes floatOrb3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-20px,50px) scale(1.05)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.portfolio-page{position:fixed;inset:0;min-height:100vh;background:#000;color:#fff;padding-bottom:4rem;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.portfolio-page:before,.portfolio-page:after{content:"";position:fixed;border-radius:50%;filter:blur(80px);opacity:.15;pointer-events:none;z-index:0}.portfolio-page:before{width:500px;height:500px;background:radial-gradient(circle,#fff6,#fff0 70%);top:-100px;right:-100px;animation:floatOrb1 40s ease-in-out infinite}.portfolio-page:after{width:400px;height:400px;background:radial-gradient(circle,#ffffff4d,#fff0 70%);bottom:-50px;left:-50px;animation:floatOrb2 35s ease-in-out infinite}body:before{content:"";position:fixed;width:350px;height:350px;background:radial-gradient(circle,#ffffff40,#fff0 70%);top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;filter:blur(90px);opacity:.1;pointer-events:none;z-index:0;animation:floatOrb3 45s ease-in-out infinite}.portfolio-page::-webkit-scrollbar{width:8px}.portfolio-page::-webkit-scrollbar-track{background:#ffffff08}.portfolio-page::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px;transition:background .3s ease}.portfolio-page::-webkit-scrollbar-thumb:hover{background:#ffffff59}.portfolio-page{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) rgba(255,255,255,.03)}.portfolio-page .nav{position:absolute;top:50px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 4rem;z-index:20;background:transparent;backdrop-filter:none;animation:fadeInDown .8s cubic-bezier(.4,0,.2,1) .1s both}.portfolio-nav{display:none}.back-button{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.7rem 1.5rem;cursor:pointer;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;transition:all .3s ease;font-weight:500}.back-button:hover{transform:translate(-5px);background:#ffffff14}.back-arrow{font-size:1.2rem;transition:transform .3s ease}.back-button:hover .back-arrow{transform:translate(-3px)}.portfolio-logo{font-weight:700;font-size:1.1rem;color:#fff}.portfolio-filters{display:flex;gap:1rem}.portfolio-header{padding:12rem 4rem 4rem;max-width:1600px;margin:0 auto;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .2s both}.portfolio-header h1{font-size:clamp(3rem,6vw,5rem);font-weight:900;text-transform:uppercase;margin:0 0 1rem;letter-spacing:-.03em}.portfolio-header p{color:#fff9;font-weight:300;font-size:1.1rem;margin-bottom:3rem}.genre-selector{display:flex;gap:1rem;flex-wrap:wrap;margin-top:3rem}.genre-button{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;padding:.9rem 1.8rem;font-size:.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;align-items:center;gap:.75rem}.genre-button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:-1}.genre-button:hover:before{transform:translateY(0)}.genre-button:hover{color:#000;border-color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px #ffffff26}.genre-button.active{background:#fff;color:#000;border-color:#fff;box-shadow:0 6px 20px #fff3}.genre-button.active:before{transform:translateY(0)}.genre-count{background:#0003;color:#fff;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:700;min-width:24px;text-align:center}.genre-button.active .genre-count{background:#00000026;color:#000}.empty-genre{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:4rem 2rem;text-align:center;animation:fadeIn .6s ease-out}.empty-icon{font-size:5rem;margin-bottom:2rem;opacity:.3;filter:grayscale(100%)}.empty-genre h2{font-size:2.5rem;font-weight:700;margin:0 0 1rem;color:#ffffffe6;text-transform:uppercase;letter-spacing:-.02em}.empty-genre p{font-size:1.1rem;color:#ffffff80;max-width:500px;line-height:1.6;margin:0}.portfolio-grid{column-count:4;column-gap:1.5rem;padding:0 4rem;max-width:1600px;margin:0 auto;animation:fadeIn .6s ease-out .3s both}.portfolio-item{position:relative;overflow:hidden;cursor:pointer;background:#111;margin-bottom:1.5rem;break-inside:avoid;page-break-inside:avoid;display:inline-block;width:100%}.portfolio-item.landscape{max-height:350px}.portfolio-item.landscape .portfolio-item-inner{max-height:350px;overflow:hidden}.portfolio-item.landscape img{width:100%;height:auto;max-height:350px;min-height:200px;object-fit:cover;object-position:center}@media (min-width: 1400px){.portfolio-item.landscape,.portfolio-item.landscape .portfolio-item-inner,.portfolio-item.landscape img{max-height:320px}}.portfolio-item-inner{width:100%;height:auto;overflow:hidden;position:relative}.portfolio-item img{width:100%;height:auto;object-fit:cover;display:block;transition:transform .6s ease,filter .4s ease}.portfolio-item img.thumb-bw{filter:grayscale(100%) contrast(1.05)}.portfolio-item img.thumb-color{filter:none}.portfolio-item:hover img{transform:scale(1.05);filter:grayscale(0%) contrast(1.05)}.portfolio-overlay{position:absolute;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.view-icon{font-size:3rem;color:#fff}.portfolio-item:hover .portfolio-overlay{opacity:1}.lightbox{position:fixed;inset:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;transform:translateY(8px) scale(.996);pointer-events:none;transition:opacity .26s cubic-bezier(.2,0,0,1),transform .26s cubic-bezier(.2,0,0,1)}.lightbox.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.lightbox.closing{opacity:0;transform:translateY(8px) scale(.996);pointer-events:none;transition-duration:.16s}.lightbox-close{position:absolute;top:2rem;right:2rem;background:transparent;border:2px solid white;color:#fff;font-size:2rem;width:50px;height:50px;cursor:pointer;transition:transform .16s ease,background .12s ease,color .12s ease}.lightbox-close:hover{transform:rotate(10deg) scale(1.06);background:#fff;color:#000}.lightbox-content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;gap:1rem}.lightbox-content img{max-width:100%;max-height:80vh;object-fit:contain}.lightbox-info{text-align:center;color:#ffffffd9}.scroll-hint{position:fixed;bottom:50px;right:4rem;display:flex;flex-direction:column;align-items:flex-end;gap:1rem;z-index:15}.scroll-text{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:#ffffff8c;writing-mode:vertical-rl;transform:rotate(180deg)}.scroll-line{width:1px;height:60px;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent)}.orientation-tabs{display:flex;gap:.75rem;align-items:center;margin-top:1.25rem}.orientation-button{background:transparent;border:1px solid rgba(255,255,255,.14);color:#ffffffd9;padding:.55rem .9rem;font-size:.85rem;font-weight:700;letter-spacing:.6px;text-transform:none;cursor:pointer;transition:all .24s cubic-bezier(.4,0,.2,1);border-radius:8px;display:inline-flex;align-items:center;gap:.5rem}.orientation-button:hover{transform:translateY(-3px);border-color:#fffffff2;box-shadow:0 8px 24px #ffffff0a}.orientation-button.active{background:#fff;color:#000;border-color:#fff;box-shadow:0 8px 30px #ffffff14}.orientation-button .genre-count{background:#0000002e;color:#fff;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;min-width:26px;text-align:center}@media (max-width: 1000px){.orientation-button{padding:.5rem .7rem;font-size:.82rem}.orientation-tabs{gap:.5rem}}@media (max-width: 650px){.orientation-tabs{flex-wrap:wrap;gap:.5rem}.orientation-button{padding:.45rem .6rem;font-size:.8rem}}@media (max-width: 1400px){.portfolio-grid{column-count:3}}@media (max-width: 1000px){.portfolio-grid{column-count:2;padding:0 2rem;column-gap:1rem}.portfolio-header{padding:10rem 2rem 3rem}.portfolio-header h1{font-size:3rem}}@media (max-width: 650px){.portfolio-grid{column-count:1;padding:0 1.5rem}.portfolio-header{padding:9rem 1.5rem 2rem}.portfolio-header h1{font-size:2.5rem}.portfolio-page .nav{padding:0 2rem}}@media (prefers-reduced-motion: reduce){.portfolio-item img,.portfolio-overlay,.back-button,.lightbox-close{transition:none}.lightbox,.lightbox-content,.portfolio-page .nav,.portfolio-header,.portfolio-grid{animation:none}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
