:root{--bg-primary:#FCFBFA;--bg-secondary:#FAF6F0;--bg-card:#FFFFFF;--text-primary:#1F1E1D;--text-secondary:#5C5853;--text-muted:#968F87;--accent-gold:#C59B27;--accent-gold-light:#F4ECCD;--accent-gold-dark:#806011;--accent-red:#7C1D1D;--accent-red-hover:#9E2424;--accent-red-light:#FBF0F0;--border-color:#EDE8DF;--shadow-sm:0 4px 12px rgba(31,30,29,0.03);--shadow-md:0 12px 32px rgba(31,30,29,0.06);--shadow-lg:0 24px 64px rgba(31,30,29,0.08);--font-heading:'Cinzel',serif;--font-body:'Inter',sans-serif;--transition-smooth:0.5s cubic-bezier(0.16,1,0.3,1);--transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);--header-height:100px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;overflow-x:hidden;padding-top:var(--header-height)}body::before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.015'/%3E%3C/svg%3E");pointer-events:none;z-index:9999}.scroll-progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--accent-red),var(--accent-gold));width:0%;z-index:1002;pointer-events:none;transition:width 0.1s ease-out}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:scroll()){.scroll-progress-bar{width:100%;transform-origin:left;animation:grow-progress auto linear;animation-timeline:scroll(block root);transition:none}@keyframes grow-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}}}@keyframes heroFadeIn{from{opacity:0;transform:translateY(30px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}.hero-animate-in{opacity:0;animation:heroFadeIn 1.4s cubic-bezier(0.16,1,0.3,1) forwards}.hero-content.hero-animate-in{animation-delay:0.1s}.hero-visual-container.hero-animate-in{animation-delay:0.4s}.viewfinder-box{position:relative;border:1px solid rgba(197,155,39,0.15);padding:0.8rem;background-color:rgba(250,246,240,0.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:border-color var(--transition-smooth),transform var(--transition-smooth)}.viewfinder-box::before{content:'';position:absolute;top:-4px;left:-4px;width:18px;height:18px;border-top:2px solid var(--accent-red);border-left:2px solid var(--accent-red);pointer-events:none;transition:all var(--transition-fast)}.viewfinder-box::after{content:'';position:absolute;bottom:-4px;right:-4px;width:18px;height:18px;border-bottom:2px solid var(--accent-red);border-right:2px solid var(--accent-red);pointer-events:none;transition:all var(--transition-fast)}.viewfinder-box:hover{border-color:var(--accent-gold);transform:translateY(-2px)}.viewfinder-box:hover::before,.viewfinder-box:hover::after{width:25px;height:25px}.viewfinder-marker{position:absolute;bottom:12px;right:12px;font-family:var(--font-heading);font-size:0.6rem;letter-spacing:0.15em;color:var(--accent-gold);opacity:0.65;pointer-events:none;text-transform:uppercase}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;letter-spacing:0.05em;line-height:1.2}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}img{max-width:100%;height:auto;display:block}button,input,textarea{font-family:inherit;font-size:inherit;border:none;background:none;outline:none}@media (prefers-reduced-motion:no-preference){@supports ((animation-timeline:scroll()) and (animation-range:0% 100%)){@keyframes shrink-header{to{height:70px;background-color:rgba(252,251,250,0.96);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-color)}}header{animation:shrink-header auto linear both;animation-timeline:scroll(block root);animation-range:0px 100px}@keyframes shrink-logo{to{font-size:1.3rem}}header .logo{animation:shrink-logo auto linear both;animation-timeline:scroll(block root);animation-range:0px 100px}}}@media (prefers-reduced-motion:no-preference){@supports ((animation-timeline:view()) and (animation-range:entry)){@keyframes reveal-up{from{opacity:0;transform:translateY(50px) scale(0.98)}to{opacity:1;transform:translateY(0) scale(1)}}.scroll-reveal{animation:reveal-up auto linear both;animation-timeline:view();animation-range:entry 10% entry 45%}}}.js-reveal{opacity:0;transform:translateY(40px) scale(0.98);transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1),transform 0.8s cubic-bezier(0.16,1,0.3,1)}.js-reveal.revealed{opacity:1;transform:translateY(0) scale(1)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}section{padding:8rem 0;position:relative}.section-bg-alt{background-color:var(--bg-secondary)}.section-header{text-align:center;margin-bottom:5rem}.section-header .subtitle{font-family:var(--font-heading);font-size:0.9rem;color:var(--accent-gold);letter-spacing:0.3em;text-transform:uppercase;margin-bottom:1rem;display:block}.section-header h2{font-size:2.5rem;color:var(--accent-red);position:relative;display:inline-block;padding-bottom:1.5rem}.section-header h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:2px;background-color:var(--accent-gold)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.2rem;font-family:var(--font-heading);font-weight:500;font-size:0.85rem;letter-spacing:0.15em;text-transform:uppercase;border-radius:0;transition:all var(--transition-fast);cursor:pointer;position:relative;overflow:hidden;z-index:1}.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.25),transparent);transition:all 0.6s ease;z-index:-1}.btn:hover::before{left:100%}.btn-primary{background-color:var(--accent-red);color:var(--bg-primary);border:1px solid var(--accent-red)}.btn-primary:hover{background-color:var(--bg-primary);color:var(--accent-red);box-shadow:0 4px 20px rgba(124,29,29,0.15)}.btn-outline{border:1px solid var(--accent-gold);color:var(--text-primary);background-color:transparent}.btn-outline:hover{background-color:var(--accent-gold);color:#FFFFFF}.about-actions{margin-top:3rem;display:flex;gap:1.5rem;flex-wrap:wrap}.services-detail-list{display:grid;grid-template-columns:1fr;gap:4rem}.service-detail-row{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:4rem}.service-detail-row.last-row{border-bottom:none;padding-bottom:1rem}.divider-line{height:1px;background:linear-gradient(90deg,transparent,var(--border-color) 20%,var(--border-color) 80%,transparent);width:100%}header{position:fixed;top:0;left:0;width:100%;height:var(--header-height);background-color:rgba(252,251,250,0.25);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;transition:background-color var(--transition-smooth),height var(--transition-smooth);border-bottom:1px solid rgba(237,232,223,0.3)}header .container{display:flex;align-items:center;justify-content:space-between}.logo{font-family:var(--font-heading);font-weight:700;font-size:1.5rem;letter-spacing:0.15em;color:var(--accent-red);display:flex;flex-direction:column}.logo .sublogo{font-size:0.65rem;letter-spacing:0.35em;color:var(--accent-gold-dark);font-weight:500;margin-top:2px;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:1.8rem;list-style:none}.nav-links a{font-family:var(--font-heading);font-size:0.85rem;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-primary);position:relative;padding:0.5rem 0}.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--accent-gold);transition:width var(--transition-fast)}.nav-links a:hover::after,.nav-links a.active::after{width:100%}.nav-links a:hover{color:var(--accent-gold)}.mobile-nav-toggle{display:none;flex-direction:column;gap:6px;cursor:pointer;z-index:1001}.mobile-nav-toggle span{width:25px;height:2px;background-color:var(--text-primary);transition:transform var(--transition-fast),opacity var(--transition-fast)}.hero{height:calc(95vh - var(--header-height));display:flex;align-items:center;position:relative;background-color:var(--bg-primary);overflow:hidden;border-bottom:1px solid var(--border-color)}.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr 0.85fr;align-items:center;gap:4rem;width:100%}.hero-content{max-width:580px}.hero-visual-container{display:flex;justify-content:center;align-items:center;height:100%;position:relative;z-index:2}.hero-image-wrapper{position:relative;box-shadow:var(--shadow-lg);border:1px solid var(--accent-gold);padding:1rem;background-color:#FFFFFF;transition:transform var(--transition-smooth);width:100%;max-width:500px;margin:0 auto}.hero-image-wrapper:hover{transform:scale(1.01) translateY(-2px)}.hero-image-wrapper::before{content:'';position:absolute;top:-6px;left:-6px;width:20px;height:20px;border-top:2px solid var(--accent-red);border-left:2px solid var(--accent-red)}.hero-image-wrapper::after{content:'';position:absolute;bottom:-6px;right:-6px;width:20px;height:20px;border-bottom:2px solid var(--accent-red);border-right:2px solid var(--accent-red)}.hero-image-wrapper img{width:100%;height:auto;display:block;border:1px solid var(--border-color)}.hero-nfa-badge{position:absolute;top:20px;right:20px;width:48px;height:48px;border-radius:50%;background-color:rgba(252,251,250,0.95);border:1px solid var(--accent-gold);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);z-index:10;transition:transform var(--transition-smooth)}.hero-nfa-badge:hover{transform:scale(1.05)}.hero-nfa-badge img{width:30px;height:30px;object-fit:contain;border:none !important;box-shadow:none !important}.mobile-only-btn{display:none}.desktop-only-btn{display:block}.cinematic-card-stack{position:relative;width:320px;height:420px;perspective:1200px}.cinematic-card{position:absolute;width:260px;height:360px;border-radius:8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 20px 45px rgba(31,30,29,0.18);overflow:hidden;transition:all var(--transition-smooth)}.card-left{left:-45px;top:45px;transform:rotate(-9deg) translateZ(-20px);z-index:10;opacity:0.85}.card-right{right:-45px;top:25px;transform:rotate(11deg) translateZ(-10px);z-index:11;opacity:0.85}.card-center{left:30px;top:0;transform:rotate(-1.5deg) translateZ(0);z-index:12;border:2px solid var(--accent-gold);box-shadow:0 25px 55px rgba(31,30,29,0.28),0 0 25px rgba(197,155,39,0.15)}.cinematic-card-stack:hover .card-left{transform:rotate(-15deg) translateX(-35px) translateZ(-10px);opacity:0.95}.cinematic-card-stack:hover .card-right{transform:rotate(17deg) translateX(35px) translateZ(0);opacity:0.95}.cinematic-card-stack:hover .card-center{transform:rotate(0) scale(1.05) translateZ(20px);box-shadow:0 30px 65px rgba(31,30,29,0.35),0 0 35px rgba(197,155,39,0.3)}.card-img{width:100%;height:100%;object-fit:cover}.card-glow{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,0.12) 0%,transparent 60%);pointer-events:none}.card-badge{position:absolute;top:15px;left:15px;display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 0.8rem;border-radius:4px;font-family:var(--font-heading);font-size:0.65rem;letter-spacing:0.05em;text-transform:uppercase;font-weight:700;z-index:2}.card-badge.gold{background-color:var(--accent-gold);color:var(--bg-primary);box-shadow:0 4px 10px rgba(197,155,39,0.2)}.card-overlay-crimson{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(124,29,29,0.95) 0%,rgba(44,0,0,0.98) 100%);z-index:1}.card-vector-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#FFFFFF;padding:2rem;text-align:center}.clapper-icon{font-size:3.5rem;color:var(--accent-gold);margin-bottom:1.5rem;filter:drop-shadow(0 5px 10px rgba(197,155,39,0.25))}.card-vector-content h4{font-family:var(--font-heading);font-size:1.3rem;letter-spacing:0.1em;margin-bottom:0.5rem}.card-tag{font-size:0.75rem;color:var(--accent-gold);text-transform:uppercase;letter-spacing:0.1em;font-weight:600}.card-caption{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(to top,rgba(31,30,29,0.92) 0%,rgba(31,30,29,0) 100%);padding:2.5rem 1.5rem 1.5rem;color:#FFFFFF;display:flex;flex-direction:column;z-index:2}.caption-title{font-family:var(--font-heading);font-size:1.1rem;letter-spacing:0.15em;font-weight:700;color:var(--accent-gold)}.caption-sub{font-size:0.7rem;text-transform:uppercase;color:#dddddd;letter-spacing:0.05em;margin-top:0.2rem}.hero-badge{display:inline-flex;align-items:center;gap:0.8rem;padding:0.6rem 1.2rem;background-color:var(--bg-secondary);border:1px solid var(--accent-gold);font-family:var(--font-heading);font-size:0.75rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent-red);margin-bottom:2rem}.hero-badge i{color:var(--accent-gold);font-size:1rem}.hero h1{font-size:4rem;font-weight:700;line-height:1.1;color:var(--text-primary);margin-bottom:1.5rem}.hero h1 span{background:linear-gradient(135deg,var(--accent-red) 30%,#B23B3B 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:block}.hero-desc{font-size:1.1rem;color:var(--text-secondary);margin-bottom:3rem;font-weight:300}.hero-actions{display:flex;gap:1.5rem}.award-section{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.award-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center}.award-badge-container{display:flex;justify-content:center;position:relative}.award-poster-wrapper{position:relative;box-shadow:var(--shadow-lg);border:8px solid #FFFFFF;transition:transform var(--transition-smooth)}.award-poster-wrapper:hover{transform:scale(1.02) rotate(1deg)}.award-poster-wrapper img{width:100%;max-width:420px;height:auto}.laurel-badge{position:absolute;top:-15px;right:-10px;width:55px;height:55px;display:flex;align-items:center;justify-content:center;z-index:10}.laurel-badge img{width:100%;height:100%;object-fit:contain;border:none !important;box-shadow:none !important}.award-content h2{font-size:2.2rem;color:var(--accent-red);margin-bottom:1.5rem;line-height:1.3}.award-sub{font-family:var(--font-heading);font-size:0.95rem;color:var(--accent-gold-dark);letter-spacing:0.1em;margin-bottom:2rem;display:block}.award-desc{color:var(--text-secondary);font-size:1.05rem;margin-bottom:2.5rem}.award-details{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.award-stat{border-left:2px solid var(--accent-gold);padding-left:1.5rem}.award-stat h4{font-size:1.8rem;color:var(--text-primary);margin-bottom:0.2rem}.award-stat p{font-size:0.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.1em}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:center}.about-img-frame{position:relative;border:1px solid var(--accent-gold);padding:1.5rem}.about-img-frame::before{content:'';position:absolute;top:-10px;left:-10px;width:30px;height:30px;border-top:2px solid var(--accent-red);border-left:2px solid var(--accent-red)}.about-img-frame::after{content:'';position:absolute;bottom:-10px;right:-10px;width:30px;height:30px;border-bottom:2px solid var(--accent-red);border-right:2px solid var(--accent-red)}.about-image{background-color:var(--bg-secondary);box-shadow:var(--shadow-md);overflow:hidden}.about-image img{width:100%;height:auto;filter:grayscale(15%);transition:transform var(--transition-smooth)}.about-img-frame:hover .about-image img{transform:scale(1.04)}.about-bio h2{font-size:2rem;color:var(--accent-red);margin-bottom:2rem}.about-bio p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.05rem}.about-skills{margin-top:3rem}.skills-title{font-family:var(--font-heading);font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--accent-gold);margin-bottom:1.5rem;display:block}.skills-tags{display:flex;flex-wrap:wrap;gap:1rem}.skill-tag{background-color:var(--bg-secondary);border:1px solid var(--border-color);padding:0.5rem 1.2rem;font-size:0.85rem;font-weight:500;color:var(--text-primary);transition:all var(--transition-fast)}.skill-tag:hover{background-color:var(--accent-gold-light);border-color:var(--accent-gold);color:var(--accent-gold-dark)}.portfolio-filter-container{display:flex;justify-content:center;gap:1.5rem;margin-bottom:4rem;flex-wrap:wrap}.filter-btn{font-family:var(--font-heading);font-size:0.85rem;letter-spacing:0.15em;text-transform:uppercase;padding:0.8rem 1.8rem;border:1px solid var(--border-color);cursor:pointer;background-color:#FFFFFF;transition:all var(--transition-fast)}.filter-btn:hover,.filter-btn.active{background-color:var(--accent-red);border-color:var(--accent-red);color:#FFFFFF}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2.5rem}.portfolio-card{background-color:#FFFFFF;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth);position:relative;overflow:hidden}.portfolio-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md);border-color:var(--accent-gold)}.portfolio-card.hidden{display:none}.card-header-accent{height:4px;background-color:var(--border-color);width:100%;transition:background-color var(--transition-fast)}.portfolio-card:hover .card-header-accent{background-color:var(--accent-gold)}.portfolio-card.award-winner .card-header-accent{background-color:var(--accent-red)}.portfolio-card-content{padding:2.5rem;display:flex;flex-direction:column;flex-grow:1}.portfolio-card .card-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.portfolio-card .card-type{font-family:var(--font-heading);font-size:0.75rem;letter-spacing:0.15em;color:var(--accent-gold-dark);text-transform:uppercase}.portfolio-card .card-year{font-family:var(--font-heading);font-size:0.9rem;color:var(--text-muted)}.portfolio-card h3{font-size:1.4rem;color:var(--text-primary);margin-bottom:1rem;line-height:1.3}.portfolio-card p{color:var(--text-secondary);font-size:0.95rem;margin-bottom:2rem;flex-grow:1}.portfolio-card .card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color);padding-top:1.5rem;margin-top:auto}.portfolio-card .card-role{font-size:0.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em}.portfolio-card .card-award-tag{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.75rem;color:var(--accent-red);font-weight:600;font-family:var(--font-heading);letter-spacing:0.05em}.portfolio-card .card-award-tag i{font-size:0.9rem}.timeline-section{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.timeline-nav{display:flex;justify-content:center;gap:2rem;margin-bottom:4rem}.timeline-tab{font-family:var(--font-heading);font-size:1rem;letter-spacing:0.05em;padding:0.5rem 1rem;color:var(--text-muted);cursor:pointer;position:relative;transition:color var(--transition-fast)}.timeline-tab.active{color:var(--accent-red);font-weight:600}.timeline-tab::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background-color:var(--accent-red);transition:width var(--transition-fast)}.timeline-tab.active::after{width:80%}.timeline-content-wrapper{background-color:#FFFFFF;border:1px solid var(--border-color);box-shadow:var(--shadow-md);padding:3rem;min-height:400px;position:relative}.timeline-panel{display:none;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center;animation:fadeIn 0.6s cubic-bezier(0.16,1,0.3,1) forwards}.timeline-panel.active{display:grid}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.timeline-visual{background-color:#100f0e;border-radius:4px;border:6px solid #2d2a27;padding:1.5rem;box-shadow:var(--shadow-lg)}.editing-tracks{display:flex;flex-direction:column;gap:12px}.track-label{font-family:monospace;font-size:0.7rem;color:var(--text-muted);letter-spacing:0.1em}.track{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:center}.clip{height:28px;border-radius:3px;opacity:0.85;transition:transform var(--transition-fast),filter var(--transition-fast);cursor:pointer;position:relative;overflow:hidden}.clip:hover{transform:scaleY(1.05);opacity:1;filter:brightness(1.1)}.clip::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(255,255,255,0.15),transparent)}.clip-blue{background-color:#2F659C}.clip-gold{background-color:var(--accent-gold)}.clip-red{background-color:var(--accent-red)}.clip-grey{background-color:#4D4A47}.clip-green{background-color:#3B7A57}.timeline-info h4{font-size:1.8rem;color:var(--accent-red);margin-bottom:0.5rem}.timeline-project-meta{font-family:var(--font-heading);font-size:0.85rem;color:var(--accent-gold-dark);letter-spacing:0.1em;margin-bottom:1.5rem;display:block}.timeline-info p{color:var(--text-secondary);font-size:1rem;margin-bottom:2rem}.editing-notes{background-color:var(--bg-secondary);border-left:3px solid var(--accent-gold);padding:1.5rem}.editing-notes h5{font-family:var(--font-heading);font-size:0.8rem;letter-spacing:0.1em;color:var(--text-primary);margin-bottom:0.5rem;text-transform:uppercase}.editing-notes p{font-size:0.9rem;color:var(--text-secondary);margin-bottom:0;font-style:italic}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.service-card{padding:3.5rem 2.5rem;background-color:#FFFFFF;border:1px solid var(--border-color);text-align:center;box-shadow:var(--shadow-sm);transition:all var(--transition-smooth)}.service-card:hover{transform:translateY(-5px);border-color:var(--accent-red);box-shadow:var(--shadow-md)}.service-icon{width:70px;height:70px;border-radius:50%;background-color:var(--bg-secondary);color:var(--accent-red);display:inline-flex;align-items:center;justify-content:center;margin-bottom:2.2rem;font-size:1.8rem;border:1px solid var(--border-color);transition:all var(--transition-fast)}.service-card:hover .service-icon{background-color:var(--accent-red);color:#FFFFFF;border-color:var(--accent-red)}.service-card h3{font-size:1.4rem;margin-bottom:1.2rem;color:var(--text-primary)}.service-card p{font-size:0.95rem;color:var(--text-secondary);line-height:1.6}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:flex-start}.contact-info-panel h3{font-size:2.2rem;color:var(--accent-red);margin-bottom:1.5rem}.contact-info-panel p{color:var(--text-secondary);margin-bottom:3.5rem;font-size:1.05rem}.contact-details-list{list-style:none;display:flex;flex-direction:column;gap:2rem}.contact-item{display:flex;align-items:flex-start;gap:1.25rem}.contact-item-icon{width:44px;height:44px;border-radius:50%;background-color:var(--bg-secondary);color:var(--accent-gold-dark);display:flex;align-items:center;justify-content:center;font-size:1.1rem;border:1px solid var(--border-color);flex-shrink:0;margin-top:3px}.contact-item-text{display:flex;flex-direction:column}.contact-item-text h4{font-family:var(--font-heading);font-size:0.8rem;font-weight:600;letter-spacing:0.1em;color:var(--text-muted);text-transform:uppercase;margin-bottom:0.15rem;line-height:1.2}.contact-item-text p,.contact-item-text a{font-size:1.05rem;font-weight:500;color:var(--text-primary);line-height:1.3}.contact-item-text a:hover{color:var(--accent-gold)}.contact-form-wrapper{background-color:#FFFFFF;border:1px solid var(--border-color);padding:4rem;box-shadow:var(--shadow-md)}.form-group{margin-bottom:2rem;position:relative}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.form-label{font-family:var(--font-heading);font-size:0.75rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-primary);margin-bottom:0.6rem;display:block}.form-control{width:100%;border:1px solid var(--border-color);padding:1rem 1.2rem;font-family:var(--font-body);font-size:0.95rem;color:var(--text-primary);background-color:var(--bg-primary);transition:all var(--transition-fast)}.form-control:focus{border-color:var(--accent-gold);background-color:#FFFFFF;box-shadow:0 0 0 3px var(--accent-gold-light)}.form-control:user-invalid{border-color:var(--accent-red);background-color:var(--accent-red-light)}.form-control:user-valid{border-color:var(--accent-gold)}.form-error{font-size:0.8rem;color:var(--accent-red);margin-top:0.4rem;display:none}.form-control:user-invalid + .form-error{display:block}textarea.form-control{resize:vertical;min-height:140px}.form-success-message{display:none;background-color:var(--accent-gold-light);border:1px solid var(--accent-gold);color:var(--accent-gold-dark);padding:2rem;text-align:center;margin-bottom:2rem;animation:fadeIn 0.6s ease forwards}.form-success-message h4{font-size:1.4rem;margin-bottom:0.5rem}.form-success-message p{font-size:0.95rem}footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:5rem 0 3rem}.footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:3.5rem}.footer-nav{list-style:none;display:flex;gap:1.8rem}.footer-nav a{font-family:var(--font-heading);font-size:0.8rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-secondary)}.footer-nav a:hover{color:var(--accent-gold)}.social-links{display:flex;gap:1.5rem}.social-icon{width:40px;height:40px;border-radius:50%;background-color:#FFFFFF;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast);font-size:1.1rem}.social-icon i{color:var(--text-secondary);transition:color var(--transition-fast)}.social-icon:hover{background-color:var(--accent-red);color:#FFFFFF;border-color:var(--accent-red)}.social-icon:hover i{color:#FFFFFF}.copyright{text-align:center;font-size:0.85rem;color:var(--text-secondary);border-top:1px solid var(--border-color);padding-top:2.5rem}@media (max-width:1024px){section{padding:6rem 0}.hero{height:auto;padding:6rem 0}.hero-cinematic-graphics{display:none}.hero h1{font-size:3.2rem}.award-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:4rem}.award-badge-container{order:2}.award-content{order:1}.about-img-frame{max-width:450px;margin:0 auto}.services-grid{grid-template-columns:repeat(2,1fr);gap:2rem}.service-detail-row{grid-template-columns:1fr;gap:2rem;text-align:center;padding-bottom:3rem}}@media (max-width:768px){body{--header-height:80px}.hero{padding:2.5rem 0 2rem}.hero h1{font-size:2.1rem;line-height:1.2}.hero .container{display:grid;grid-template-columns:1fr;gap:1.5rem}.hero-visual-container{order:1;margin-top:0;margin-bottom:1rem;height:auto;width:100%;display:flex;justify-content:center;align-items:center}.hero-content{order:2;max-width:100%;text-align:center}.hero-badge{font-size:0.65rem;padding:0.4rem 0.8rem;letter-spacing:0.08em;gap:0.5rem;white-space:nowrap;margin-bottom:1.2rem;display:inline-flex;align-items:center}.hero-desc{font-size:0.95rem;margin-bottom:2rem;line-height:1.5}.hero-actions{justify-content:center;gap:1rem}.hero-image-wrapper{display:block;width:100%;max-width:420px;margin:0 auto;border:1px solid var(--accent-gold);padding:0.6rem;background-color:#FFFFFF;box-shadow:var(--shadow-md);position:relative}.hero-image-wrapper::before,.hero-image-wrapper::after{display:none}.hero-image-wrapper img{width:100%;height:auto;display:block;border:1px solid var(--border-color)}.hero-nfa-badge{display:flex;position:absolute;top:15px;right:15px;width:38px;height:38px;border-radius:50%;background-color:rgba(252,251,250,0.95);border:1px solid var(--accent-gold);align-items:center;justify-content:center;box-shadow:var(--shadow-md);z-index:10}.hero-nfa-badge img{width:24px;height:24px;object-fit:contain;border:none !important;box-shadow:none !important}.desktop-only-btn{display:none}.award-badge-container{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:2rem}.award-photo-wrapper{width:100%;max-width:100%;box-sizing:border-box}.laurel-badge{width:38px;height:38px;top:-10px;right:-5px}.laurel-badge img{width:100%;height:100%;object-fit:contain}.mobile-only-btn{display:flex;width:100%;justify-content:center;margin-top:1.5rem}.mobile-only-btn .btn{padding:0.6rem 1.2rem;font-size:0.75rem;letter-spacing:0.08em}.cinematic-card-stack{width:260px;height:340px;perspective:1000px}.cinematic-card{width:190px;height:275px}.card-left{left:-25px;top:25px;transform:rotate(-7deg) translateZ(-15px)}.card-right{right:-25px;top:15px;transform:rotate(8deg) translateZ(-8px)}.card-center{left:20px;top:0;transform:rotate(-1deg) translateZ(0);box-shadow:0 15px 35px rgba(31,30,29,0.22)}.cinematic-card-stack:hover .card-left{transform:rotate(-12deg) translateX(-20px) translateZ(-5px)}.cinematic-card-stack:hover .card-right{transform:rotate(14deg) translateX(20px) translateZ(0)}.cinematic-card-stack:hover .card-center{transform:rotate(0) scale(1.03) translateZ(10px)}.section-header h2{font-size:2rem}.services-grid{grid-template-columns:1fr}.timeline-panel{grid-template-columns:1fr;gap:2.5rem}.timeline-content-wrapper{padding:1.5rem}.mobile-nav-toggle{display:flex}.nav-links{position:fixed;top:var(--header-height);left:0;width:100%;height:calc(100vh - var(--header-height));background-color:var(--bg-primary);flex-direction:column;justify-content:center;gap:2.5rem;padding-bottom:5rem;transform:translateY(-100%);opacity:0;transition:transform var(--transition-smooth),opacity var(--transition-smooth);pointer-events:none;border-top:1px solid var(--border-color)}.nav-links.active{transform:translateY(0);opacity:1;pointer-events:all}.mobile-nav-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.mobile-nav-toggle.active span:nth-child(2){opacity:0}.mobile-nav-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.form-row{grid-template-columns:1fr;gap:0}.contact-form-wrapper{padding:2rem}.footer-content{flex-direction:column;gap:2rem;text-align:center}.footer-nav{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:1.2rem}.hero h1 span{display:inline}.btn{padding:0.6rem 1.2rem !important;font-size:0.75rem !important;letter-spacing:0.1em !important}.hero-actions{justify-content:center;gap:0.8rem;flex-wrap:nowrap}.about-actions{margin-top:2rem !important;justify-content:center;gap:0.8rem}}.subpage-hero{padding:5rem 0 3.5rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);text-align:center;position:relative}.subpage-hero h1{font-size:2.8rem;color:var(--accent-red);margin-bottom:0.8rem;font-weight:700}.subpage-hero .subpage-subtitle{font-family:var(--font-heading);font-size:0.85rem;letter-spacing:0.25em;color:var(--accent-gold-dark);text-transform:uppercase;font-weight:500}.subpage-container{padding:6rem 0}.award-photo-wrapper{position:relative;box-shadow:var(--shadow-lg);border:1px solid var(--accent-gold);padding:1rem;background-color:#FFFFFF;transition:transform var(--transition-smooth)}.award-photo-wrapper:hover{transform:scale(1.01) translateY(-2px)}.award-photo-wrapper::before{content:'';position:absolute;top:-6px;left:-6px;width:20px;height:20px;border-top:2px solid var(--accent-red);border-left:2px solid var(--accent-red)}.award-photo-wrapper::after{content:'';position:absolute;bottom:-6px;right:-6px;width:20px;height:20px;border-bottom:2px solid var(--accent-red);border-right:2px solid var(--accent-red)}.award-photo-wrapper img{width:100%;height:auto;border:1px solid var(--border-color);display:block}.subpage-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center;text-align:left}.subpage-hero-grid .subpage-text{max-width:580px}@media (max-width:768px){.subpage-hero-grid{grid-template-columns:1fr;text-align:center;gap:2.5rem}}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:3rem;margin-top:2rem}.gallery-card{background-color:#FFFFFF;border:1px solid var(--border-color);padding:1.2rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1.2rem;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth)}.gallery-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--accent-gold)}.gallery-card.hidden{display:none}.gallery-card .gallery-image{width:100%;height:240px;object-fit:cover;display:block;border:1px solid var(--border-color)}.gallery-card-content{display:flex;flex-direction:column;gap:0.5rem;padding:0.2rem 0}.gallery-card-content h3{font-family:var(--font-heading);font-size:1.2rem;color:var(--accent-red);margin:0;font-weight:600;letter-spacing:0.03em}.gallery-card-content p{font-size:0.92rem;color:var(--text-secondary);line-height:1.6;margin:0}@media (max-width:480px){.gallery-grid{grid-template-columns:1fr;gap:2rem}}img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}body{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,[contenteditable="true"]{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}

/* Sticky Navigation and Premium Filtering Enhancements */
.portfolio-filter-container {
  position: sticky;
  top: 100px;
  z-index: 99;
  background-color: var(--bg-primary);
  padding: 1.2rem 0;
  margin-bottom: 3rem;
  border-bottom: 1px solid var(--border-color);
  transition: top 0.4s cubic-bezier(0.16, 1, 0.3, 1), padding 0.4s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.4s ease, box-shadow 0.4s ease;
}
.portfolio-filter-container.sticky-scrolled {
  top: 70px;
  background-color: rgba(252, 251, 250, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: var(--shadow-sm);
  padding: 0.75rem 0;
}
.portfolio-card {
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow var(--transition-smooth), border-color var(--transition-smooth);
}
.portfolio-card.hidden {
  display: none !important;
}

/* Scroll-Driven animation sync with Site Header */
@media (prefers-reduced-motion: no-preference) {
  @supports ((animation-timeline: scroll()) and (animation-range: 0% 100%)) {
    @keyframes shrink-filter-container {
      to {
        top: 70px;
        background-color: rgba(252, 251, 250, 0.96);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        box-shadow: var(--shadow-sm);
        padding: 0.75rem 0;
      }
    }
    .portfolio-filter-container {
      animation: shrink-filter-container auto linear both;
      animation-timeline: scroll(block root);
      animation-range: 0px 100px;
    }
  }
}