*{margin:0;padding:0;box-sizing:border-box}body,html{width:100vw;height:400vh;overflow:auto;background:#000;font-family:var(--font-sans),system-ui,sans-serif}.portfolio-container{position:relative;width:100%;height:100%}.portfolio-header{position:fixed;top:0;left:0;z-index:100;padding:2rem}.name-section{color:#fff}.name{font-size:4rem;font-weight:900;letter-spacing:.1em;line-height:.9;margin-bottom:.5rem}.subtitle{font-size:2rem;font-weight:300;letter-spacing:.2em;opacity:.8}.gallery-section{position:relative;height:100vh}.slider{position:fixed;top:50%;left:50%;transform:translate3d(-50%,-50%,0) rotateX(0deg) rotateY(-25deg) rotate(-120deg);transform-style:preserve-3d;user-select:none;will-change:transform}.card,.slider{transition:1s cubic-bezier(.075,.82,.165,1)}.card{position:relative;width:400px;height:400px;transform:rotateX(20deg) rotateY(-10deg) rotate(130deg);border:2px solid hsla(0,0%,100%,.25);border-radius:12px;overflow:hidden;margin:-300px 0;left:0}.card-placeholder{background:hsla(0,0%,78%,.3)!important;border:2px solid hsla(0,0%,100%,.2)!important;opacity:.8!important;backdrop-filter:blur(10px)}.card-placeholder img{opacity:.3!important;filter:grayscale(100%)}.card-placeholder:hover{opacity:.8!important;background:hsla(0,0%,78%,.4)!important;border:2px solid hsla(0,0%,100%,.3)!important;transform:rotateX(20deg) rotateY(-10deg) rotate(130deg)!important}@media (min-height:1080px),(min-width:1920px){.card-placeholder{background:hsla(0,0%,78%,.2)!important;opacity:.6!important;border:2px solid hsla(0,0%,100%,.15)!important}.card-placeholder:hover{background:hsla(0,0%,78%,.3)!important;opacity:.7!important;border:2px solid hsla(0,0%,100%,.2)!important}.card-placeholder img{opacity:.2!important}}.card img{width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}.popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;animation:fadeIn .3s ease-out forwards;cursor:pointer}.popup-content{position:relative;width:1440px;height:810px;max-width:90vw;max-height:90vh;border-radius:12px;overflow:hidden;transform:scale(.8);animation:popupIn .4s cubic-bezier(.175,.885,.32,1.275) forwards;cursor:default}.popup-with-border{border:4px solid #fff}.view-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:hsla(0,0%,100%,.95);color:#000;border:none;padding:1rem 3rem;font-size:1.5rem;font-weight:900;letter-spacing:.1em;border-radius:8px;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);box-shadow:0 8px 32px rgba(0,0,0,.3)}.view-button:hover{background:#fff;transform:translate(-50%,-50%) scale(1.05);box-shadow:0 12px 40px rgba(0,0,0,.4)}.card-hidden{opacity:0;transform:rotateX(20deg) rotateY(-10deg) rotate(130deg) scale(.8);pointer-events:none}@keyframes fadeIn{to{opacity:1}}@keyframes popupIn{to{transform:scale(1)}}.bottom-right-text{position:fixed;bottom:2rem;right:2rem;z-index:100;color:#fff;text-align:right}.service-title{font-size:3rem;font-weight:900;letter-spacing:.1em;line-height:.9;margin-bottom:.5rem}.service-line{font-size:1.2rem;font-weight:300;letter-spacing:.1em;line-height:1.4;opacity:.9}.rugby-popup{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.rugby-video-background{position:absolute;top:0;left:0;width:2400px;height:1350px;object-fit:contain;z-index:1}.rugby-dark-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:2}.rugby-text-overlay{position:relative;z-index:3;color:#fff;max-width:80%;text-align:center;margin-bottom:2rem}.rugby-text-overlay p{font-size:1.1rem;line-height:1.6;font-weight:400;letter-spacing:.02em}.rugby-logo{position:relative;z-index:4;width:120px;height:auto;opacity:.9}@media (max-width:768px){.name{font-size:3rem}.subtitle{font-size:1.5rem}.portfolio-header{padding:1.5rem}.bottom-right-text{bottom:1.5rem;right:1.5rem}.service-title{font-size:2rem}.service-line{font-size:1rem}}.popup-content img{width:100%;height:100%;object-fit:fill;display:block}