.portfolio-hero-cta{padding:8rem 0;position:relative;width:100%;min-height:700px;overflow:visible;z-index:50;display:flex;align-items:center;justify-content:center;@media only screen and (max-width:992px){padding:0}@media only screen and (max-width:576px){min-height:500px}}#projects,#c39{position:relative;overflow:visible!important;z-index:2}.portfolio-hero-cta *{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;user-drag:none;-webkit-user-drag:none}.portfolio-hero-container{position:relative;width:100%;max-width:1400px;padding:11rem 1rem;height:100%;margin:0 auto;@media only screen and (max-width:992px){padding:11rem 1rem}@media only screen and (max-width:768px){padding:10rem 1rem}@media only screen and (max-width:576px){padding:5rem 1rem}@media only screen and (max-width:450px){padding:3rem 1rem}}.main-image-wrapper{position:relative;z-index:10;width:100%;max-width:28rem;margin:0 auto;transition:transform 0.5s cubic-bezier(.16,1,.3,1);will-change:transform}@media only screen and (max-width:992px){.main-image-wrapper{max-width:56rem}}.main-image-wrapper.portrait{max-width:28rem;aspect-ratio:3 / 4}.main-image-wrapper.landscape{max-width:56rem;aspect-ratio:16 / 10}.main-image-container{position:relative;width:100%;height:100%;border-radius:1rem;overflow:hidden;box-shadow:0 25px 50px -12px rgb(0 0 0 / .8),0 0 0 2px rgb(255 255 255 / .25);opacity:0;transform:scale(.88) rotate(-2deg);animation:mainImageAppear 5s cubic-bezier(.16,1,.3,1) 0.25s forwards;transition:all ease-in-out .5s}@keyframes mainImageAppear{0%{opacity:0;transform:scale(.88) rotate(-2deg)}60%{opacity:1;transform:scale(1.03) rotate(0deg)}100%{opacity:1;transform:scale(1) rotate(0deg)}}.main-image{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;display:block;opacity:1;transform:scale(1);transition:all ease-in-out .6s}.main-image.opacity-0{opacity:0;transform:scale(.985)}.main-image-gradient{position:absolute;inset:0;background:linear-gradient(to top,rgb(0 0 0 / .4) 0%,transparent 40%);pointer-events:none;transition:all ease-in-out .6s}.main-image-container:hover a .main-image{transform:scale(1.05)}.main-image-container:hover a .main-image-gradient{background-color:rgba(var(--bs-primary-rgb),.075)}.cta-overlay{position:absolute;height:525px;inset:0;top:calc(50% - (525px / 2));z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem;pointer-events:none;transition:transform 0.25s cubic-bezier(.16,1,.3,1);will-change:transform}.cta-radial-bg{position:absolute;z-index:10;inset:0;background:radial-gradient(ellipse 600px 400px at 50% 52%,rgb(0 0 0 / .6) 0%,rgb(0 0 0 / .4) 42%,transparent 72%);pointer-events:none}.cta-content{position:relative;z-index:10;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.cta-title{margin:auto 0 .75rem 0;font-size:2.25rem;font-weight:700;color:#fff;line-height:1.2;letter-spacing:-.02em;text-shadow:0 4px 24px rgb(0 0 0 / .5),0 2px 4px rgb(0 0 0 / .3);opacity:0;transform:translateY(20px) scale(.95);animation:titleAppear 1s cubic-bezier(.16,1,.3,1) 0.6s forwards}@media only screen and (min-width:992px){.cta-title{font-size:3rem}}@media only screen and (min-width:992px){.cta-title{font-size:4.5rem}}@keyframes titleAppear{to{opacity:1;transform:translateY(0) scale(1)}}.title-word{display:inline-block;opacity:0;transform:translateY(20px)}.title-word:nth-child(1){animation:wordAppear 0.8s cubic-bezier(.16,1,.3,1) 0.7s forwards}.title-word:nth-child(2){animation:wordAppear 0.8s cubic-bezier(.16,1,.3,1) 0.8s forwards}.title-word:nth-child(3){animation:wordAppear 0.8s cubic-bezier(.16,1,.3,1) 0.9s forwards}.title-word:nth-child(4){animation:wordAppear 0.8s cubic-bezier(.16,1,.3,1) 1s forwards}@keyframes wordAppear{to{opacity:1;transform:translateY(0)}}.cta-subtitle{font-size:1.1rem;font-weight:300;color:rgb(255 255 255 / .9);text-shadow:0 3px 14px rgb(0 0 0);margin:0;opacity:0;animation:subtitleAppear 0.8s cubic-bezier(.16,1,.3,1) 1.2s forwards}@keyframes subtitleAppear{to{opacity:1}}.cta-button{position:relative;margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;color:#000;font-size:1rem;font-weight:700;text-decoration:none;border-radius:var(--bs-border-radius);overflow:hidden;box-shadow:0 20px 25px -5px rgb(0 0 0 / .3),0 10px 10px -5px rgb(0 0 0 / .2);pointer-events:auto;cursor:pointer;transition:all 0.5s cubic-bezier(.16,1,.3,1);opacity:0;transform:translateY(20px);animation:buttonAppear 0.8s cubic-bezier(.16,1,.3,1) 1.4s forwards;@media only screen and (max-width:992px){margin-bottom:1rem}@media only screen and (max-width:576px){margin-bottom:3rem}@media only screen and (max-width:450px){margin-top:1rem;margin-bottom:auto!important}}.cta-button>*{color:#fff}@media only screen and (max-width:992px){.cta-button{gap:.75rem;padding:1rem 2.5rem;font-size:1.125rem}}@keyframes buttonAppear{to{opacity:1;transform:translateY(0)}}.cta-button:hover,.portfolio-hero-container:has(.main-image-container:hover) .cta-button{box-shadow:0 20px 60px rgb(255 255 255 / .3),0 10px 20px rgb(255 255 255 / .2);transform:scale(1.05)}.button-gradient{position:absolute;inset:0;background:linear-gradient(to right,rgb(222 49 99 / .5),var(--bs-primary),var(--bs-primary),rgb(222 49 99 / .5));background-size:200% 100%;background-position:0% 50%;border-radius:var(--bs-border-radius);animation:gradientShift 5s linear infinite;z-index:0}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.button-shine{position:absolute;inset:0;background:linear-gradient(to right,transparent,rgb(255 255 255 / .1),transparent);transform:translateX(-200%);z-index:1}.cta-button:hover .button-shine,.portfolio-hero-container:has(.main-image-container:hover) .button-shine{animation:shine 2s ease-in-out}@keyframes shine{to{transform:translateX(200%)}}.button-icon{width:1.25rem;height:1.25rem;position:relative;z-index:10;transition:all 0.5s cubic-bezier(.16,1,.3,1)}@media only screen and (max-width:992px){.button-icon{width:1.5rem;height:1.5rem}}.button-eye{transition:all 0.5s cubic-bezier(.16,1,.3,1)}.cta-button:hover .button-eye,.portfolio-hero-container:has(.main-image-container:hover) .button-eye{transform:scale(1.25) rotate(12deg)}.button-text{color:#fff;position:relative;z-index:10;transition:letter-spacing 0.5s cubic-bezier(.16,1,.3,1)}.cta-button:hover .button-text,.portfolio-hero-container:has(.main-image-container:hover) .button-text{letter-spacing:.05em}.button-arrow{animation:arrowFloat 2.5s ease-in-out infinite}@keyframes arrowFloat{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}.cta-button:hover .button-arrow,.portfolio-hero-container:has(.main-image-container:hover) .button-arrow{transform:translateX(8px)}.button-ring{position:absolute;inset:0;border:2px solid #fff;border-radius:var(--bs-border-radius);animation:ringPulse 3.5s ease-in-out infinite;pointer-events:none}@keyframes ringPulse{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.05);opacity:0}}.thumbnails-container{position:absolute;inset:0;pointer-events:none}.thumbnail-wrapper{position:absolute;opacity:0;transform:scale(.7);will-change:transform,opacity}.thumbnail-wrapper.visible{animation:thumbnailAppear 2.5s cubic-bezier(.16,1,.3,1) forwards}@keyframes thumbnailAppear{0%{opacity:0;transform:scale(.7)}60%{opacity:.9;transform:scale(1.1)}100%{opacity:.8;transform:scale(1)}}.thumbnail-inner{position:relative;width:100%;height:100%;border-radius:.75rem;overflow:hidden;box-shadow:0 25px 50px -12px rgb(0 0 0 / .8),0 0 0 1px rgb(255 255 255 / .2);transition:all 0.5s cubic-bezier(.16,1,.3,1);pointer-events:auto}.thumbnail-wrapper.floating .thumbnail-inner{animation:thumbnailFloat 12s ease-in-out infinite;transition:all ease-in-out .5s}@keyframes thumbnailFloat{0%,100%{transform:translateY(0) translateX(0)}25%{transform:translateY(-15px) translateX(8px)}50%{transform:translateY(0) translateX(0)}75%{transform:translateY(-15px) translateX(8px)}}.thumbnail-inner:hover{transform:scale(1.05) translateY(0) translateX(0)!important;z-index:50;box-shadow:0 30px 60px -12px rgb(0 0 0 / .9),0 0 0 2px rgb(255 255 255 / .3)}.thumbnail-image{width:100%;height:100%;object-fit:cover;display:block}.thumbnail-gradient{position:absolute;inset:0;background:linear-gradient(to bottom right,rgb(0 0 0 / .1),transparent,rgb(0 0 0 / .2));pointer-events:none}.thumbnail-hover-overlay{position:absolute;inset:0;background:rgb(43 47 50 / .1);opacity:0;transition:all 0.4s cubic-bezier(.16,1,.3,1);pointer-events:none}.thumbnail-inner:hover .thumbnail-hover-overlay{opacity:1}@media only screen and (max-width:992px){.thumbnail-wrapper{opacity:.28;transform:scale(.7)}.thumbnail-inner{pointer-events:none;box-shadow:0 15px 30px -12px rgb(0 0 0 / .55),0 0 0 1px rgb(255 255 255 / .15)}.thumbnail-inner:hover{transform:none!important}.cta-button{padding:.625rem 1.25rem;font-size:.875rem;gap:.375rem}.button-icon{width:1rem;height:1rem}}
