.main-nav{position:fixed;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:2rem 4rem;z-index:100;background:rgba(0,0,0,.8);backdrop-filter:blur(10px);color:#fff;transition:padding .3s ease}.main-nav .logo-container{display:flex;flex-direction:row;align-items:center;gap:1rem;z-index:102;text-decoration:none;color:#fff}.main-nav .logo-container .brand-logo{height:50px;object-fit:contain;mix-blend-mode:screen}.main-nav .logo-container .logo-text{font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.main-nav .desktop-only{display:flex}.main-nav .nav-links{display:flex;align-items:center;gap:2rem}.main-nav .nav-links a{font-size:1rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7;transition:opacity .3s ease;position:relative;color:#fff;text-decoration:none}.main-nav .nav-links a:hover,.main-nav .nav-links a.active{opacity:1}.main-nav .nav-links a.book-btn{border:1px solid white;padding:.5rem 1.2rem;opacity:1;transition:all .3s ease;margin-left:1rem}.main-nav .nav-links a.book-btn:hover{background:white;color:#000;transform:scale(1.05)}.main-nav .nav-links a.lab-link{font-size:1.5rem;margin-left:1rem;opacity:1;filter:grayscale(1);transition:all .3s ease}.main-nav .nav-links a.lab-link:hover{filter:grayscale(0);transform:scale(1.2) rotate(10deg);text-shadow:0 0 10px #00ffff}.main-nav .lang-switch{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.main-nav .lang-switch button{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;font-weight:700;opacity:.5;transition:opacity .3s}.main-nav .lang-switch button.active{opacity:1}.main-nav .lang-switch button:hover{opacity:.8}.main-nav .lang-switch .separator{opacity:.5}.main-nav .menu-toggle{display:none;background:none;border:none;color:#fff;cursor:pointer;z-index:102}.main-nav .mobile-menu{position:fixed;top:0;right:-100%;width:300px;height:100vh;background:#111;z-index:101;padding:6rem 2rem 2rem;display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1);box-shadow:-10px 0 30px #00000080}.main-nav .mobile-menu.open{right:0}.main-nav .mobile-menu .mobile-nav-links{display:flex;flex-direction:column;gap:2rem;margin-bottom:4rem}.main-nav .mobile-menu .mobile-nav-links a{font-size:1.5rem;text-transform:uppercase;color:#fff;text-decoration:none;opacity:.8}.main-nav .mobile-menu .mobile-nav-links a:hover{opacity:1;padding-left:10px;transition:padding .3s}.main-nav .mobile-menu .mobile-nav-links a.book-btn{border:1px solid white;padding:1rem;text-align:center;margin-top:1rem}.main-nav .mobile-menu .mobile-nav-links a.book-btn:hover{background:white;color:#000;padding-left:1rem}.main-nav .mobile-menu .mobile-lang-switch{display:flex;gap:1rem}.main-nav .mobile-menu .mobile-lang-switch button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);color:#fff;padding:.5rem 1rem;flex:1;cursor:pointer;text-transform:uppercase}.main-nav .mobile-menu .mobile-lang-switch button.active{background:white;color:#000}.main-nav .menu-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.5);z-index:100;backdrop-filter:blur(2px)}@media (max-width: 900px){.main-nav{padding:1rem 2rem}.main-nav .desktop-only{display:none!important}.main-nav .menu-toggle{display:block}}.site-footer{background-color:#050505;color:#fff;padding:4rem 2rem 2rem;border-top:1px solid #333;margin-top:auto;position:relative;z-index:10}.site-footer .footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;max-width:1200px;margin:0 auto}.site-footer .footer-content .footer-section{display:flex;flex-direction:column;gap:1rem}.site-footer .footer-content .footer-section h4{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:#888;margin-bottom:.5rem}.site-footer .footer-content .footer-section nav,.site-footer .footer-content .footer-section .social-links{display:flex;flex-direction:column;gap:.5rem}.site-footer .footer-content .footer-section nav a,.site-footer .footer-content .footer-section .social-links a{color:#fff;transition:color .3s ease;font-size:1.1rem}.site-footer .footer-content .footer-section nav a:hover,.site-footer .footer-content .footer-section .social-links a:hover{color:#f33}.site-footer .footer-bottom{max-width:1200px;margin:4rem auto 0;padding-top:2rem;border-top:1px solid #222;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:#666}.site-footer .footer-bottom .policy-links{display:flex;gap:2rem}.site-footer .footer-bottom .policy-links a:hover{color:#fff}.site-footer .top-btn{background:none;border:1px solid #333;color:#fff;padding:.5rem 1rem;cursor:pointer;transition:all .3s ease;align-self:flex-start}.site-footer .top-btn:hover{background:#fff;color:#000}.custom-cursor{position:fixed;top:0;left:0;width:0;height:0;z-index:9999;mix-blend-mode:normal;pointer-events:none!important}body.hovering .cursor-bubble{transform:translate(-50%,-50%) scale(1.5);background:rgba(255,255,255,.2);border-color:#ffffffe6}.cursor-bubble{position:absolute;top:0;left:0;width:100px;height:100px;border-radius:50%;border:2px solid rgba(255,255,255,.8);background:rgba(255,255,255,.1);backdrop-filter:invert(1);transform:translate(-50%,-50%);pointer-events:none!important;transition:transform .1s ease-out,width .3s,height .3s;display:flex;align-items:center;justify-content:center}.cursor-bubble:after{content:"+";color:#fffc;font-size:10px;font-weight:lighter}body{cursor:none}a,button,.clickable,input,[role=button],.grid-item{cursor:pointer!important}@media (hover: none) and (pointer: coarse),(max-width: 768px){.custom-cursor,.cursor-bubble{display:none!important}body,a,button,.clickable,input,[role=button],.grid-item{cursor:auto!important}}.ui-layer{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:2}.interact-page{min-height:100vh;width:100vw;background-color:#000;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center}.interact-page.no-scroll{overflow:hidden}.interact-page .canvas-container{position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:1;cursor:grab}.interact-page .canvas-container:active{cursor:grabbing}.interact-page .floating-ui{position:absolute;z-index:10;pointer-events:none;text-align:center;width:100%}.interact-page .interact-header{top:15%}.interact-page .interact-header h1{font-size:4rem;margin-bottom:1rem;color:var(--color-text, #ffffff);font-family:var(--font-primary, sans-serif);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.interact-page .interact-header p{font-size:1.2rem;color:#ccc;letter-spacing:.1em;text-transform:uppercase}.interact-page .cursor-hint{bottom:10%;color:#ffffff80;font-family:monospace;letter-spacing:.3em;font-size:.9rem;animation:fadeBlink 3s infinite ease-in-out}.interact-page .node-popup{pointer-events:none;opacity:0;transition:all .3s cubic-bezier(.175,.885,.32,1.275);transform-origin:center bottom;transform:scale(.8) translateY(20px)}.interact-page .node-popup.pos-bottom{transform-origin:center bottom;transform:scale(.8) translateY(20px)}.interact-page .node-popup.pos-bottom.pos-left{transform-origin:left bottom;transform:scale(.8) translate(30px,20px)}.interact-page .node-popup.pos-bottom.pos-right{transform-origin:right bottom;transform:scale(.8) translate(-30px,20px)}.interact-page .node-popup.pos-bottom.visible{transform:scale(1) translate(0)}.interact-page .node-popup.pos-bottom.visible.pos-left{transform:scale(1) translate(30px)}.interact-page .node-popup.pos-bottom.visible.pos-right{transform:scale(1) translate(-30px)}.interact-page .node-popup.pos-top{transform-origin:center top;transform:scale(.8) translateY(-20px)}.interact-page .node-popup.pos-top.pos-left{transform-origin:left top;transform:scale(.8) translate(30px,-20px)}.interact-page .node-popup.pos-top.pos-right{transform-origin:right top;transform:scale(.8) translate(-30px,-20px)}.interact-page .node-popup.pos-top.visible{transform:scale(1) translate(0)}.interact-page .node-popup.pos-top.visible.pos-left{transform:scale(1) translate(30px)}.interact-page .node-popup.pos-top.visible.pos-right{transform:scale(1) translate(-30px)}.interact-page .node-popup.visible{opacity:1}.interact-page .node-popup .node-content{background:rgba(10,10,10,.85);backdrop-filter:blur(10px);border:1px solid;border-radius:12px;width:300px;text-align:left;overflow:hidden;display:flex;flex-direction:column}.interact-page .node-popup .node-content.is-home{width:auto;background:rgba(10,10,10,.9);box-shadow:none!important;border:2px solid;border-radius:20px;padding:.5rem 1rem}.interact-page .node-popup .node-content.is-home .home-tooltip{display:flex;align-items:center;justify-content:center;white-space:nowrap}.interact-page .node-popup .node-content .preview-image-container{width:100%;height:140px;border-bottom:1px solid rgba(255,255,255,.1)}.interact-page .node-popup .node-content .preview-image-container .preview-image{width:100%;height:100%;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}.interact-page .node-popup .node-content .preview-image-container .preview-image .no-image-text{color:#ffffff4d;font-size:.8rem;text-transform:uppercase;letter-spacing:2px}.interact-page .node-popup .node-content .text-content{padding:1.5rem}.interact-page .node-popup .node-content .text-content h3{margin:0 0 .5rem;font-size:1.2rem;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-primary)}.interact-page .node-popup .node-content .text-content p{margin:0 0 1rem;font-size:.9rem;line-height:1.4;color:#aaa}.interact-page .node-popup .node-content .text-content .btn-hint{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;font-weight:700}@keyframes fadeBlink{0%,to{opacity:.3}50%{opacity:.8}}.home-page{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;text-align:center;position:relative;padding-left:2rem;padding-right:2rem}.home-page .home-interact-container{position:absolute;inset:0;z-index:1;cursor:grab}.home-page .home-interact-container:active{cursor:grabbing}.home-page .home-cursor-hint{position:absolute;bottom:5%;color:#ffffff80;font-family:monospace;letter-spacing:.3em;font-size:.8rem;animation:fadeBlink 3s infinite ease-in-out;z-index:2;width:100%;text-align:center;pointer-events:none}.home-page .mobile-scroll-arrow{position:absolute;bottom:12%;right:6%;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;cursor:pointer;z-index:10;animation:pulseArrow 2s infinite ease-in-out;box-shadow:0 0 15px #fff3;backdrop-filter:blur(5px);transition:all .3s ease}.home-page .mobile-scroll-arrow:hover{background:rgba(255,255,255,.3);box-shadow:0 0 25px #ffffff80;transform:scale(1.1)}@media (min-width: 1025px){.home-page .mobile-scroll-arrow{display:none}}.home-page .hero-content{position:relative;z-index:2;pointer-events:none;touch-action:pan-y}.home-page .hero-content .hero-logo{width:150px;height:auto;margin-bottom:2rem;object-fit:contain;mix-blend-mode:screen}.home-page .hero-content h1{font-size:5rem;font-weight:900;letter-spacing:-.05em;margin-bottom:1rem;text-transform:uppercase;line-height:.9}.home-page .hero-content .subtitle{font-size:1.5rem;font-weight:300;opacity:.8;margin-bottom:3rem;text-shadow:0 2px 10px rgba(0,0,0,.5)}.home-page .hero-content h1{text-shadow:0 2px 20px rgba(0,0,0,.5)}@media (max-width: 1024px){.home-page .home-interact-container{pointer-events:none}.home-page .home-cursor-hint{display:none}.home-page .hero-content h1{font-size:3rem}.home-page .hero-content .subtitle{font-size:1.2rem}}@keyframes pulseArrow{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(10px) scale(1.05)}}.work-page{padding-top:150px;padding-left:5vw;padding-right:5vw;padding-bottom:7rem}.work-page h2{font-size:3rem;margin-bottom:.5rem;text-transform:uppercase;text-align:center}.work-page .section-subtitle{font-size:1.2rem;color:#888;text-transform:uppercase;text-align:center;letter-spacing:.2em;margin-bottom:3rem;font-weight:400}.work-page .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.work-page .grid .grid-item{aspect-ratio:1;background-color:#111;border:1px solid #333;overflow:hidden;cursor:pointer;position:relative}.work-page .grid .grid-item .image-container{width:100%;height:100%;position:relative}.work-page .grid .grid-item .image-container img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block}.work-page .grid .grid-item .image-container .label{position:absolute;bottom:0;left:0;width:100%;padding:1rem;background:linear-gradient(transparent,rgba(0,0,0,.8));transform:translateY(100%);transition:transform .3s ease}.work-page .grid .grid-item .image-container .label span{text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;font-weight:700}.work-page .grid .grid-item .image-container .placeholder-fallback{display:none;position:absolute;top:0;left:0;width:100%;height:100%;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1rem;background:#222;color:#888}.work-page .grid .grid-item:hover{border-color:#fff;z-index:2}.work-page .grid .grid-item:hover .image-container img{transform:scale(1.05)}.work-page .grid .grid-item:hover .label{transform:translateY(0)}.work-page .lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.9);z-index:1000;display:flex;justify-content:center;align-items:center;padding:2rem}.work-page .lightbox-content{position:relative;max-width:90vw;max-height:90vh;background:#111;border:1px solid #333;overflow:hidden}.work-page .lightbox-content img{max-width:100%;max-height:80vh;display:block;object-fit:contain}.work-page .lightbox-content .lightbox-info{padding:1.5rem;text-align:center}.work-page .lightbox-content .lightbox-info h3{text-transform:uppercase;margin-bottom:.5rem}.work-page .lightbox-content .lightbox-info span{color:#888;font-size:.9rem}.work-page .lightbox-content .close-btn{position:absolute;top:10px;right:15px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;line-height:1;z-index:10;opacity:.7}.work-page .lightbox-content .close-btn:hover{opacity:1}@media (max-width: 768px){.work-page .grid{grid-template-columns:1fr;gap:2rem}.work-page .grid-item .label{transform:translateY(0)}}.about-page{padding-top:150px;padding-left:5vw;padding-right:5vw;min-height:100vh;display:flex;align-items:center;justify-content:center}.about-page .content-container{display:flex;justify-content:space-between;align-items:flex-start;width:100%;max-width:1200px;gap:4rem}.about-page .content-container .bio-section{flex:1;max-width:600px}.about-page .content-container .bio-section h2{font-size:4rem;margin-bottom:2rem;text-transform:uppercase;font-weight:700;line-height:1}.about-page .content-container .bio-section .bio{font-size:1.5rem;line-height:1.6;margin-bottom:3rem;font-weight:300;opacity:.9}.about-page .content-container .image-section{flex:1;display:flex;justify-content:center}.about-page .content-container .image-section .profile-image-container{width:100%;max-width:400px;aspect-ratio:3/4;background:#222;position:relative;overflow:hidden}.about-page .content-container .image-section .profile-image-container img{width:100%;height:100%;object-fit:cover;display:block}.about-page .content-container .image-section .profile-image-container .placeholder-profile{display:none;position:absolute;top:0;left:0;width:100%;height:100%;flex-direction:column;justify-content:center;align-items:center;background:#333;color:#888}@media (max-width: 900px){.about-page{padding-top:100px;padding-bottom:50px}.about-page .content-container{flex-direction:column-reverse;gap:3rem;align-items:center}.about-page .content-container .bio-section{text-align:center}.about-page .content-container .bio-section h2{font-size:3rem}}.testimonials-page{min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:100px 5vw;text-align:center;background:transparent}.testimonials-page h2{font-size:3rem;margin-bottom:4rem;text-transform:uppercase;font-weight:700;letter-spacing:.1em}.testimonials-page .testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;width:100%;max-width:1200px}.testimonials-page .testimonial-card{background:rgba(255,255,255,.05);padding:2.5rem;border-radius:2px;border:1px solid rgba(255,255,255,.1);text-align:left;transition:transform .3s ease,background .3s ease;position:relative}.testimonials-page .testimonial-card:before{content:'"';position:absolute;top:1rem;left:1.5rem;font-size:5rem;opacity:.1;font-family:serif;line-height:1}.testimonials-page .testimonial-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.08);border-color:#ffffff4d}.testimonials-page .testimonial-card .client-image{width:60px;height:60px;border-radius:50%;overflow:hidden;margin-bottom:1.5rem;border:2px solid rgba(255,255,255,.2)}.testimonials-page .testimonial-card .client-image img{width:100%;height:100%;object-fit:cover}.testimonials-page .testimonial-card p{font-size:1.1rem;line-height:1.6;margin-bottom:2rem;font-style:italic;opacity:.9}.testimonials-page .testimonial-card .client-info h4{font-size:1rem;font-weight:700;text-transform:uppercase;margin-bottom:.2rem;color:#f33}.testimonials-page .testimonial-card .client-info span{font-size:.8rem;opacity:.6;text-transform:uppercase;letter-spacing:.05em}.testimonials-page .cta-container{margin-top:5rem}.testimonials-page .cta-container button{font-size:1.2rem;padding:1rem 3rem;background:transparent;color:#fff;border:1px solid white;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.testimonials-page .cta-container button:hover{background:white;color:#000}@media (max-width: 768px){.testimonials-page h2{font-size:2.5rem}.testimonials-page .testimonial-card{padding:2rem}}.flash-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:white;z-index:10000;pointer-events:none;opacity:0;transition:opacity .1s ease-out}.flash-overlay.active{opacity:1;transition:none}.flash-overlay.fading{opacity:0;transition:opacity 1s ease-out}.flash-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.95);border:1px solid white;padding:3rem;z-index:10001;text-align:center;color:#fff;min-width:300px;box-shadow:0 0 50px #fff3}.flash-modal.error{border-color:#f33;box-shadow:0 0 30px #ff33334d}.flash-modal.error h3{color:#f33}.flash-modal.error button{border-color:#f33;color:#f33}.flash-modal.error button:hover{background:#ff3333;color:#fff;box-shadow:0 0 15px #ff333380}.flash-modal h3{font-size:2rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.1em}.flash-modal p{font-size:1.2rem;margin-bottom:2rem;opacity:.8}.flash-modal button{background:white;color:#000;border:none;padding:.8rem 2rem;text-transform:uppercase;font-weight:700;cursor:pointer}.flash-modal button:hover{opacity:.8}.contact-page{min-height:100vh;display:flex;justify-content:center;align-items:center;text-align:center;padding:150px 2rem 5rem}.contact-page .contact-card{max-width:600px;width:100%}.contact-page .contact-card h2{font-size:4rem;margin-bottom:2rem;text-transform:uppercase}.contact-page .contact-card p{font-size:1.2rem;margin-bottom:2rem;opacity:.8;line-height:1.5}.contact-page .contact-card .contact-form{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3rem;text-align:left}.contact-page .contact-card .contact-form .form-group{position:relative}.contact-page .contact-card .contact-form .form-group input,.contact-page .contact-card .contact-form .form-group textarea{width:100%;padding:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:#fff;font-family:inherit;font-size:1rem;transition:border-color .3s;border-radius:2px}.contact-page .contact-card .contact-form .form-group input:focus,.contact-page .contact-card .contact-form .form-group textarea:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.1)}.contact-page .contact-card .contact-form .form-group input.error,.contact-page .contact-card .contact-form .form-group textarea.error{border-color:#f33}.contact-page .contact-card .contact-form .form-group input::placeholder,.contact-page .contact-card .contact-form .form-group textarea::placeholder{color:#fff6}.contact-page .contact-card .contact-form .form-group textarea{resize:vertical}.contact-page .contact-card .contact-form .form-group .error-text{color:#f33;font-size:.8rem;margin-top:.3rem;display:block}.contact-page .contact-card .contact-form .submit-btn{padding:1rem 2rem;background:white;color:#000;border:none;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;cursor:pointer;transition:transform .2s,opacity .2s}.contact-page .contact-card .contact-form .submit-btn:hover{transform:scale(1.02)}.contact-page .contact-card .contact-form .submit-btn:disabled{opacity:.7;cursor:not-allowed}.contact-page .contact-card .direct-contact{margin-bottom:2rem}.contact-page .contact-card .direct-contact .email-link{font-size:1.2rem;border-bottom:1px solid white;padding-bottom:5px;transition:opacity .3s;display:inline-flex;align-items:center;gap:10px}.contact-page .contact-card .direct-contact .email-link:hover{opacity:.7}.contact-page .contact-card .social-links{margin-top:2rem}.contact-page .contact-card .social-links .social-label{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem;opacity:.5}.contact-page .contact-card .social-links .icons{display:flex;justify-content:center;gap:2rem}.contact-page .contact-card .social-links .icons a{display:inline-block;opacity:.7;transition:all .3s ease}.contact-page .contact-card .social-links .icons a:hover{opacity:1;transform:translateY(-5px)}@media (max-width: 768px){.contact-page .contact-card h2{font-size:2.5rem}}:root{--color-text: #ffffff;--color-bg: #000000;--color-accent: #ff3333;--font-primary: "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display: "Arial Black", sans-serif;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 8rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background-color:var(--color-bg);color:var(--color-text);overflow-x:hidden;-webkit-font-smoothing:antialiased;cursor:none}a,button,input,[role=button]{cursor:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}.canvas-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none}.ui-layer{position:relative;z-index:10;min-height:100vh;display:flex;flex-direction:column}.films-section{position:relative;height:80vh;width:100%;overflow:hidden;display:flex;justify-content:center;align-items:center;background-color:#000}.films-section .video-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.films-section .video-container video{width:100%;height:100%;object-fit:cover;opacity:1;filter:brightness(1.1) contrast(1.05)}.films-section .video-container .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,rgb(5,10,18) 0%,rgba(5,10,18,.2) 20%,rgba(5,10,18,.2) 80%,rgb(5,10,18) 100%);box-shadow:inset 0 0 100px #00000080}.films-section .content{position:relative;z-index:2;text-align:center;width:100%;padding-top:200px;padding-left:2rem;padding-right:2rem}.films-section .content h2{font-size:4rem;font-weight:300;letter-spacing:.5em;text-transform:uppercase;color:#fff;margin:0;text-shadow:0 10px 30px rgba(0,0,0,.8);position:relative;display:inline-block}.films-section .content h2:after{content:"";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);width:60px;height:2px;background:rgba(255,255,255,.5)}@media (max-width: 768px){.films-section{height:60vh}.films-section .content h2{font-size:2.5rem;letter-spacing:.3em}}.animations-page{padding-top:150px;padding-left:0;padding-right:0;padding-bottom:5rem}.animations-page h2{font-size:3rem;margin-bottom:.5rem;text-transform:uppercase;text-align:center}.animations-page .section-subtitle{font-size:1.2rem;color:#ffffff80;text-transform:uppercase;text-align:center;letter-spacing:.3em;margin-bottom:1rem;font-weight:400}.animations-page .section-description{text-align:center;color:#888;font-size:1rem;max-width:600px;margin:0 auto 3rem;line-height:1.6;padding:0 1rem}.animations-page .diagram-container{position:relative;width:70%;margin:0 auto;background:transparent;padding:1rem 0;overflow:visible}.animations-page .architecture-svg{width:100%;height:auto;display:block}.animations-page .architecture-svg .diagram-node{transition:transform .3s ease}.animations-page .architecture-svg text{user-select:none;pointer-events:none}.animations-page .interaction-hint{text-align:center;color:#ffffff40;font-size:.8rem;margin-top:1.5rem;letter-spacing:1px;text-transform:uppercase;animation:pulse-hint 3s ease-in-out infinite}@keyframes pulse-hint{0%,to{opacity:.25}50%{opacity:.5}}@media (max-width: 768px){.animations-page{padding-top:120px}.animations-page h2{font-size:2rem}.animations-page .diagram-container{padding:.5rem}.animations-page .section-description{font-size:.9rem;margin-bottom:2rem}}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;background-color:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:1rem}.info-panel{position:relative;background:rgba(10,10,10,.95);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:2rem;max-width:420px;width:100%;box-shadow:0 10px 40px #000c,0 0 20px #ffffff0d;display:flex;flex-direction:column;align-items:center}.info-panel .close-btn{position:absolute;top:10px;right:15px;background:none;border:none;color:#fff6;font-size:1.5rem;cursor:pointer;line-height:1;transition:color .2s;padding:.5rem}.info-panel .close-btn:hover{color:#fff}.info-panel .info-icon{display:flex;justify-content:center;margin-bottom:1rem}.info-panel .info-icon svg{width:56px;height:56px}.info-panel h4{text-align:center;text-transform:uppercase;letter-spacing:2px;font-size:1.1rem;margin-bottom:.5rem;color:#fff}.info-panel .info-sublabel{display:block;text-align:center;color:#fff6;font-size:.85rem;margin-bottom:1rem}.info-panel p{text-align:center;color:#a0a0a0;font-size:.95rem;line-height:1.6;margin:0}.language-modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;background-color:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:1rem}.language-modal{background:rgba(10,10,10,.65);border:1px solid rgba(255,255,255,.08);border-radius:20px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:3rem 2.5rem;max-width:500px;width:100%;box-shadow:0 20px 50px #0006,0 0 40px #00f0ff08,inset 0 0 0 1px #ffffff0d;display:flex;flex-direction:column;align-items:center;text-align:center}.language-modal .modal-header{margin-bottom:1.5rem}.language-modal .modal-header h2{font-size:1.8rem;margin:0;background:linear-gradient(135deg,#fff 0%,#cbd5e1 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:1px}.language-modal .modal-message{font-size:1.1rem;color:#94a3b8;margin-bottom:2.5rem;line-height:1.6}.language-modal .modal-message .sub-message{display:block;font-size:1rem;color:#64748b;margin-top:.5rem}.language-modal .language-options{display:flex;gap:1.5rem;margin-bottom:2.5rem;width:100%}@media (max-width: 480px){.language-modal .language-options{flex-direction:column;gap:1rem}}.language-modal .language-options .lang-btn{flex:1;padding:1rem 2rem;border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:rgba(255,255,255,.03);color:#fff;position:relative;overflow:hidden}.language-modal .language-options .lang-btn:hover{background:rgba(255,255,255,.08);transform:translateY(-2px);border-color:#ffffff4d;box-shadow:0 4px 20px #0000004d}.language-modal .language-options .lang-btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transform:translate(-100%);transition:transform .5s ease}.language-modal .language-options .lang-btn:hover:after{transform:translate(100%)}.language-modal .language-options .lang-btn.en:hover{border-color:#00f0ff80;box-shadow:0 0 20px #00f0ff33}.language-modal .language-options .lang-btn.es:hover{border-color:#a855f780;box-shadow:0 0 20px #a855f733}.language-modal .modal-footer{font-size:.85rem;color:#475569;border-top:1px solid rgba(255,255,255,.05);padding-top:1.5rem;width:100%}.language-modal .modal-footer .sub-footer{display:block;margin-top:.25rem}
