:root{--primary-font:'Inter',sans-serif;--heading-font:'Playfair Display',serif;--transition-speed:0.4s;--primary-bg:#FFFFFF;--secondary-bg:#F9F9F9;--primary-text:#000000;--secondary-text:#666666;--border-color:rgba(0,0,0,0.1);}html{overflow-x:hidden;}body{font-family:var(--primary-font);line-height:1.6;letter-spacing:0.02em;overflow-x:hidden;max-width:100vw;background-color:var(--primary-bg);color:var(--primary-text);}img,video,iframe{max-width:100%;}h1,h2,h3,h4,h5,.navbar-brand{font-family:var(--primary-font);letter-spacing:0.1em;}.py-100{padding-top:100px;padding-bottom:100px;}section[id]{scroll-margin-top:85px;}.mb-100{margin-bottom:100px;}.mt-100{margin-top:100px;}.tracking-widest{letter-spacing:0.2em;}.tracking-tight{letter-spacing:-0.02em;}.z-index-1{z-index:1;}.transition-lift{transition:transform var(--transition-speed) ease,box-shadow var(--transition-speed) ease;}.transition-lift:hover{transform:translateY(-10px);}.cursor-pointer{cursor:pointer;}.aspect-4-3{aspect-ratio:4 / 3;}.aspect-9-16{aspect-ratio:9 / 16;}#lightboxVideo{max-width:95vw;max-height:80vh;object-fit:contain;}.achievement-card .achievement-image img{transition:transform 0.5s ease;}.achievement-card:hover .achievement-image img{transform:scale(1.1);}.transition-navbar{transition:background var(--transition-speed) ease,padding var(--transition-speed) ease;background:transparent;}.navbar .navbar-brand,.navbar .nav-link{color:#fff !important;transition:color var(--transition-speed) ease;}.navbar.scrolled{background:rgba(255,255,255,0.9);backdrop-filter:blur(10px);padding-top:10px !important;padding-bottom:10px !important;border-bottom:1px solid var(--border-color);}.navbar.scrolled .navbar-brand,.navbar.scrolled .nav-link{color:var(--primary-text) !important;}.nav-link{position:relative;opacity:0.8;}.nav-link:hover{opacity:1;}.nav-link::after{content:'';position:absolute;width:0;height:1px;bottom:0;left:0;background-color:currentColor;transition:width var(--transition-speed) ease;}.nav-link:hover::after{width:100%;}.hero.vh-100{height:100svh !important;}.hero-bg{background:url('../assets/images/hero.webp') center center / cover no-repeat;opacity:0.8;transition:transform 0.1s ease-out;}.hero-title{animation:fadeInScale 1.5s ease-out forwards;}@keyframes fadeInScale{from{opacity:0;transform:scale(1.1);}to{opacity:1;transform:scale(1);}}.hero-parallax-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:25vw;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,0.1);z-index:1;pointer-events:none;white-space:nowrap;text-transform:uppercase;}@media (max-width:768px){.hero-parallax-bg{opacity:0.1;}}.animate-bounce{animation:bounce 2s infinite;}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0);}40%{transform:translateY(-10px);}60%{transform:translateY(-5px);}}.btn-explore:hover{opacity:1 !important;}.filter-btn{border-color:var(--border-color);color:var(--secondary-text);padding:8px 25px;transition:all var(--transition-speed) ease;}.filter-btn:hover,.filter-btn.active{background:var(--primary-text);color:var(--primary-bg);border-color:var(--primary-text);}.portfolio-card{height:500px;background:var(--secondary-bg);border:1px solid var(--border-color);}.portfolio-card img{transition:transform 0.8s cubic-bezier(0.4,0,0.2,1);}.portfolio-card:hover img{transform:scale(1.05);}.portfolio-item.hide{display:none;}.portfolio-item.show{display:block;animation:fadeIn 0.5s ease-in;}@keyframes fadeIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}.contact-card{background-color:var(--secondary-bg) !important;border:1px solid var(--border-color) !important;}.contact-card-info{min-width:0;}.contact-card-info a,.contact-card-info h4{overflow-wrap:break-word;word-break:break-word;}.hover-opacity:hover{opacity:0.7;}.icon-wrapper{display:inline-flex;padding:20px;background:rgba(0,0,0,0.05);border-radius:50%;}.service-card{background:var(--primary-bg);transition:all var(--transition-speed) cubic-bezier(0.165,0.84,0.44,1);}.service-card:hover{border-color:var(--primary-text) !important;box-shadow:0 20px 40px rgba(0,0,0,0.05);}.service-icon{transition:transform 0.6s cubic-bezier(0.175,0.885,0.32,1.275);}.service-card:hover .service-icon{transform:scale(1.1) rotate(5deg);}.testimonial-card{transition:all var(--transition-speed) ease;}.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 25px 50px -12px rgba(0,0,0,0.1) !important;}.quote-icon{color:var(--primary-text);}.carousel-control-prev,.carousel-control-next{width:5%;opacity:0.5;transition:opacity var(--transition-speed) ease;}.carousel-control-prev:hover,.carousel-control-next:hover{opacity:1;}.carousel-control-prev-icon,.carousel-control-next-icon{background-size:50%;filter:invert(1);}.carousel-indicators [data-bs-target]{transition:all var(--transition-speed) ease;border:none;opacity:0.3;}.carousel-indicators .active{opacity:1;transform:scale(1.2);}.mb-n5{margin-bottom:-3rem !important;}.aspect-9-16{aspect-ratio:9 / 16;}@supports not (aspect-ratio:9 / 16){.aspect-9-16{position:relative;padding-top:177.77%;}.aspect-9-16 iframe{position:absolute;top:0;left:0;width:100%;height:100%;}}.video-hero-container{background:#000;height:80vh;max-height:900px;width:auto;aspect-ratio:9 / 16;margin:0 auto;transition:opacity 0.5s ease;position:relative;}.video-hero-container.loading{opacity:0.7;}.video-hero-container.loading::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);backdrop-filter:blur(5px);z-index:9;transition:all 0.3s ease;}.video-hero-container.loading::after{content:'';position:absolute;top:50%;left:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border:3px solid rgba(255,255,255,0.1);border-top-color:#fff;border-radius:50%;animation:spin 1s cubic-bezier(0.5,0,0.5,1) infinite;z-index:10;}@keyframes spin{to{transform:rotate(360deg);}}.video-info-overlay{background:linear-gradient(to top,rgba(0,0,0,0.95) 0%,rgba(0,0,0,0) 100%);pointer-events:none;transition:transform 0.5s cubic-bezier(0.23,1,0.32,1),opacity 0.5s ease;z-index:11;}.video-hero-container.loading .video-info-overlay{opacity:0;transform:translateY(30px);}.video-info-overlay a{pointer-events:auto;}.video-card{cursor:pointer;transition:all var(--transition-speed) cubic-bezier(0.165,0.84,0.44,1);background:rgba(255,255,255,0.5);border:1px solid var(--border-color) !important;}.video-card:hover{transform:translateX(5px);border-color:rgba(0,0,0,0.2) !important;}.video-card.active{transform:translateX(3px);border:2px solid var(--primary-text) !important;}.thumb-9-16{aspect-ratio:9 / 16;width:100px;height:140px;flex-shrink:0;background:#000;}.thumb-9-16 img{width:100%;height:100%;object-fit:cover;}.play-icon-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity var(--transition-speed) ease;z-index:2;}.video-card:hover .play-icon-overlay,.video-card.active .play-icon-overlay{opacity:1;}.video-list-scroll{height:80vh;overflow-y:auto;overflow-x:hidden;padding-right:1rem;}.custom-scrollbar::-webkit-scrollbar{width:4px;}.custom-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,0.02);border-radius:10px;}.custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.1);border-radius:10px;}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.2);}.marquee-section{border-top:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.1);}.marquee-container{white-space:nowrap;width:100%;}.marquee-content{display:inline-flex;animation:scroll-marquee 30s linear infinite;min-width:100%;}@keyframes scroll-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}.marquee-content span{flex-shrink:0;}@media (max-width:991px){.py-100{padding-top:50px !important;padding-bottom:50px !important;}.mb-100{margin-bottom:40px !important;}.video-hero-container{height:auto;aspect-ratio:9 / 16;width:100%;max-width:320px;margin:0 auto 2rem auto;}.video-card{width:100%;margin-left:0 !important;margin-right:0 !important;}.video-card:hover,.video-card.active{transform:none !important;}.video-list-scroll{height:60vh !important;max-height:500px !important;}.contact-card{padding:2.5rem !important;}.portfolio-card{height:400px;}}@media (max-width:575px){.portfolio-card{height:320px;}.marquee-content{animation-duration:15s;}.video-hero-container{max-width:280px;margin:0 auto;}.about-header{text-align:center;}}.expertise-list{margin-top:1.5rem;display:grid;grid-template-columns:1fr;gap:1rem;padding-left:0;}@media (min-width:576px){.expertise-list{grid-template-columns:repeat(2,1fr);}}.expertise-list li{position:relative;padding-left:1.25rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.2;color:var(--primary-text);opacity:0.8;}.expertise-list li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;background-color:var(--primary-text);border-radius:50%;opacity:0.4;}.portfolio-card img{width:100%;height:100%;object-fit:cover;}.lightbox-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,0.95);opacity:0;transition:opacity 0.3s ease;}.lightbox-modal.active{display:flex;opacity:1;}.lightbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%;}.lightbox-content{position:relative;max-width:90%;max-height:90%;transform:scale(0.9);transition:transform 0.3s cubic-bezier(0.165,0.84,0.44,1);z-index:10001;}.lightbox-modal.active .lightbox-content{transform:scale(1);}.lightbox-content img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 0 50px rgba(0,0,0,0.5);}.lightbox-close{position:absolute;top:30px;right:30px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;z-index:10002;padding:10px;transition:transform 0.3s ease,opacity 0.3s ease;opacity:0.7;}.lightbox-close:hover{transform:rotate(90deg);opacity:1;}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.05);border:none;color:#fff;padding:20px 15px;cursor:pointer;z-index:10002;transition:background 0.3s ease,opacity 0.3s ease;opacity:0.5;border-radius:4px;}.lightbox-nav:hover{background:rgba(255,255,255,0.1);opacity:1;}.lightbox-prev{left:20px;}.lightbox-next{right:20px;}@media (max-width:768px){.lightbox-nav{padding:15px 10px;}.lightbox-prev{left:5px;}.lightbox-next{right:5px;}.lightbox-close{top:20px;right:20px;}}.transition-all{transition:all 0.3s ease;}#copyToast.show{opacity:1 !important;transform:translateY(-5px);}#gallery-preview{position:fixed;width:150px;height:200px;pointer-events:none;z-index:99998;background:#000;border-radius:12px;overflow:hidden;opacity:0;transform:scale(0.8) translate(20px,20px);transition:opacity 0.4s ease,transform 0.4s cubic-bezier(0.165,0.84,0.44,1);box-shadow:0 30px 60px rgba(0,0,0,0.3);}#gallery-preview.active{opacity:1;transform:scale(1) translate(20px,20px);}#gallery-preview img{width:100%;height:100%;object-fit:cover;opacity:0.8;}.profile-scroller-container{overflow:hidden;padding:60px 0;position:relative;background:var(--bs-body-bg);border-radius:40px;margin-top:60px;border:1px solid var(--border-color);}.scroller-wrapper{position:relative;padding:0 60px;}.scroller-content{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;padding:20px 0;}.scroller-content::-webkit-scrollbar{display:none;}.profile-scroller-item{flex:0 0 180px;height:280px;border-radius:24px;overflow:hidden;position:relative;box-shadow:0 10px 30px rgba(0,0,0,0.05);transition:all var(--transition-speed) cubic-bezier(0.165,0.84,0.44,1);border:1px solid var(--border-color);background:#fff;cursor:pointer;}.profile-scroller-item:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,0.1);border-color:var(--primary-text);}.profile-scroller-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.8s ease;}.profile-scroller-item:hover img{transform:scale(1.1);}.scroller-btn{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:#fff;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all 0.3s ease;box-shadow:0 4px 15px rgba(0,0,0,0.1);color:var(--primary-text);}.scroller-btn:hover{background:var(--primary-text);color:#fff;border-color:var(--primary-text);transform:translateY(-50%) scale(1.1);}.scroller-btn.left-btn{left:20px;}.scroller-btn.right-btn{right:20px;}@media (max-width:768px){.profile-scroller-item{flex:0 0 200px;height:300px;}.scroller-wrapper{padding:0 50px;}.scroller-btn{width:40px;height:40px;}.scroller-btn.left-btn{left:5px;}.scroller-btn.right-btn{right:5px;}.py-100{padding-top:60px;padding-bottom:60px;}.mb-100{margin-bottom:60px;}.display-4{font-size:2.5rem !important;}}.contact-form-container{padding:60px;background:#fff;border-radius:40px;border:1px solid var(--border-color);box-shadow:0 20px 50px rgba(0,0,0,0.05);}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25;border-radius:12px;padding:1rem 1rem;border:1px solid rgba(0,0,0,0.1);font-size:1rem;background-color:#fafafa;transition:all 0.3s ease;}.form-floating>textarea.form-control{height:150px;}.form-floating>.form-control:focus{border-color:var(--primary-text);box-shadow:0 0 0 4px rgba(0,0,0,0.05);background-color:#fff;}.form-floating>label{padding:1rem 1rem;color:var(--secondary-text);font-size:0.9rem;text-transform:uppercase;letter-spacing:0.05em;font-weight:600;}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label{transform:scale(0.85) translateY(-0.75rem) translateX(0.15rem);opacity:0.8;}.btn-submit-container{margin-top:2rem;}.btn-submit{background:var(--primary-text);color:#fff;padding:18px 45px;border-radius:50px;border:none;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;font-size:0.85rem;transition:all 0.3s cubic-bezier(0.165,0.84,0.44,1);width:100%;position:relative;overflow:hidden;}.btn-submit:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,0.2);background:#222;}.btn-submit:active{transform:translateY(-2px);}.invalid-feedback{font-size:0.75rem;letter-spacing:0.05em;text-transform:uppercase;font-weight:600;margin-top:0.5rem;padding-left:0.5rem;}.form-control.is-invalid{border-color:#dc3545 !important;}@media (max-width:768px){.contact-form-container{padding:40px 25px;margin-top:0;border-radius:30px;}}.contact-details-stack{display:flex;flex-direction:column;gap:30px;}.contact-details-stack .contact-card{display:flex;align-items:center;gap:30px;padding:30px 40px !important;}.contact-details-stack .contact-card .icon-wrapper{margin-bottom:0 !important;background-color:rgba(0,0,0,0.03);border-radius:50%;transition:all 0.3s ease;}.contact-details-stack .contact-card:hover .icon-wrapper{background-color:var(--primary-text);color:#fff !important;opacity:1 !important;}@media (max-width:576px){.contact-details-stack .contact-card{padding:20px !important;gap:20px !important;}.contact-card .icon-wrapper{width:48px !important;height:48px !important;}.contact-card .icon-wrapper i{font-size:1.25rem !important;}.contact-card h4,.contact-card a,.contact-card h5{font-size:0.95rem !important;word-break:break-all;line-height:1.4;}}.profile-scroller-item{position:relative;}.profile-scroller-item .profile-label{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(transparent,rgba(0,0,0,0.8));color:#fff;padding:20px 10px 10px;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:600;text-align:center;opacity:0;transition:opacity 0.3s ease;pointer-events:none;}.profile-scroller-item:hover .profile-label{opacity:1;}.brand-logo-container{transition:transform 0.3s ease;text-align:center;}.brand-logo-container img{max-height:60px;width:auto;display:inline-block;transition:all 0.3s ease;}.grayscale-hover img{filter:grayscale(100%);opacity:0.5;}.grayscale-hover:hover img{filter:grayscale(0%);opacity:1 !important;}.brand-logo-container:hover{transform:scale(1.05);}img{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;}