.pill-nav-container{position:fixed;top:1em;left:50%;transform:translate(-50%);z-index:99}@media (max-width: 768px){.pill-nav-container{width:calc(100% - 2em);left:50%;transform:translate(-50%)}}.pill-nav{--nav-h: 42px;--logo: 36px;--pill-pad-x: 18px;--pill-gap: 3px;width:max-content;display:flex;align-items:center;box-sizing:border-box;gap:var(--pill-gap)}@media (max-width: 768px){.pill-nav{width:100%;justify-content:space-between;padding:0;background:transparent}}.pill-nav-items{position:relative;display:flex;align-items:center;height:var(--nav-h);background:var(--base, #000);border-radius:9999px}.pill-logo{width:var(--nav-h);height:var(--nav-h);border-radius:50%;background:var(--base, #000);padding:8px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;text-decoration:none;font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:.7rem;color:var(--pill-bg, #fff);letter-spacing:.5px}.pill-logo img{width:100%;height:100%;object-fit:cover;display:block}.pill-list{list-style:none;display:flex;align-items:stretch;gap:var(--pill-gap);margin:0;padding:3px;height:100%}.pill-list>li{display:flex;height:100%}.pill{display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0 var(--pill-pad-x);background:var(--pill-bg, #fff);color:var(--pill-text, var(--base, #000));text-decoration:none;border-radius:9999px;box-sizing:border-box;font-weight:700;font-size:14px;line-height:0;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;cursor:pointer;position:relative;overflow:hidden;font-family:Cooper Hewitt,sans-serif}.pill .hover-circle{position:absolute;left:50%;bottom:0;border-radius:50%;background:var(--base, #000);z-index:1;display:block;pointer-events:none;will-change:transform}.pill .label-stack{position:relative;display:inline-block;line-height:1;z-index:2}.pill .pill-label{position:relative;z-index:2;display:inline-block;line-height:1;will-change:transform}.pill .pill-label-hover{position:absolute;left:0;top:0;color:var(--hover-text, #fff);z-index:3;display:inline-block;will-change:transform,opacity}.pill.is-active{background:var(--base, #000);color:var(--hover-text, #fff)}.pill.is-active .hover-circle{transform:scale(1.2) translate(-50%)}.pill.is-active .pill-label,.pill.is-active .pill-label-hover{color:var(--hover-text, #fff)}.desktop-only{display:block}.mobile-only{display:none}@media (max-width: 768px){.desktop-only{display:none}.mobile-only{display:block}}.mobile-menu-button{width:var(--nav-h);height:var(--nav-h);border-radius:50%;background:var(--base, #000);border:none;display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:0;position:relative}@media (max-width: 768px){.mobile-menu-button{display:flex}}.hamburger-line{width:16px;height:2px;background:var(--pill-bg, #fff);border-radius:1px;transition:all .01s ease;transform-origin:center}.mobile-menu-popover{position:absolute;top:3em;left:0;right:0;background:var(--base, #f0f0f0);border-radius:27px;box-shadow:0 8px 32px #0000001f;z-index:998;opacity:0;transform-origin:top center;visibility:hidden}.mobile-menu-list{list-style:none;margin:0;padding:3px;display:flex;flex-direction:column;gap:3px}.mobile-menu-popover .mobile-menu-link{display:block;padding:12px 16px;color:var(--pill-text, #fff);background-color:var(--pill-bg, #fff);text-decoration:none;font-size:14px;font-weight:700;border-radius:50px;transition:all .2s ease;font-family:Cooper Hewitt,sans-serif;text-transform:uppercase;letter-spacing:.5px}.mobile-menu-popover .mobile-menu-link:hover{cursor:pointer;background-color:var(--base);color:var(--hover-text, #fff)}.password-gate{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;z-index:9999}.password-gate-content{text-align:center;color:#fff;max-width:500px;padding:40px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;border:2px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.construction-icon{font-size:4rem;margin-bottom:20px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.password-gate-content h1{font-size:2.5rem;font-weight:700;margin:0 0 10px;color:#fff}.password-gate-content p{font-size:1.1rem;margin:10px 0;color:#ffffffe6}.access-text{margin-top:30px;font-size:.95rem;color:#ffffffb3}.password-form{margin-top:20px;display:flex;flex-direction:column;gap:15px}.password-input{padding:15px 20px;font-size:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50px;background:#fff3;color:#fff;text-align:center;outline:none;transition:all .3s ease}.password-input::placeholder{color:#fff9}.password-input:focus{border-color:#fff9;background:#ffffff40}.password-submit{padding:15px 30px;font-size:1rem;font-weight:600;background:#fff;color:#667eea;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease}.password-submit:hover{transform:translateY(-2px);box-shadow:0 5px 20px #0003}.password-submit:active{transform:translateY(0)}.error-message{color:#ffcccb;font-size:.9rem;margin:0;animation:shake .5s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@media (max-width: 768px){.password-gate-content{padding:30px 20px;max-width:90vw}.password-gate-content h1{font-size:2rem}.construction-icon{font-size:3rem}}#infinite-grid-menu-canvas{cursor:grab;width:100%;height:100%;overflow:hidden;position:relative;outline:none}#infinite-grid-menu-canvas:active{cursor:grabbing}.action-button{position:absolute;left:50%;z-index:10;min-width:200px;max-width:400px;padding:20px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#5227ff;border:5px solid #000;border-radius:50px;cursor:pointer;transition:.3s ease}.action-button:hover{background:#6537ff;transform:translate(-50%) scale(1.05)!important}.action-button-content{flex:1;text-align:left;color:#fff}.action-button-title{-webkit-user-select:none;user-select:none;font-weight:700;font-size:1.2rem;margin:0 0 4px;color:#fff;line-height:1.2}.action-button-description{-webkit-user-select:none;user-select:none;font-size:.85rem;margin:0;color:#fffc;line-height:1.3}.action-button-icon{-webkit-user-select:none;user-select:none;color:#fff;font-size:24px;margin:0;flex-shrink:0}.action-button.active{bottom:3.8em;transform:translate(-50%) scale(1);opacity:1;pointer-events:auto;transition:.5s ease}.action-button.inactive{bottom:-80px;transform:translate(-50%) scale(0);opacity:0;pointer-events:none;transition:.1s ease}@media (max-width: 768px){.action-button{min-width:160px;max-width:300px;padding:16px 24px}.action-button-title{font-size:1rem}.action-button-description{font-size:.75rem}}.portfolio-filters{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:100;display:flex;gap:8px;padding:8px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50px;border:2px solid #000;box-shadow:0 4px 20px #0000001a}.filter-button{padding:10px 24px;font-size:.9rem;font-weight:500;background:transparent;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;color:#000;white-space:nowrap;-webkit-user-select:none;user-select:none}.filter-button:hover{background:#0000000d}.filter-button.active{background:#5227ff;color:#fff}.filter-button.active:hover{background:#6537ff}@media (max-width: 768px){.portfolio-filters{top:70px;gap:4px;padding:6px}.filter-button{padding:8px 16px;font-size:.8rem}}@media (max-width: 480px){.portfolio-filters{flex-wrap:wrap;max-width:90vw}.filter-button{padding:6px 12px;font-size:.75rem}}:root{--primary-color: #1a1a1a;--secondary-color: #ffffff;--accent-color: #f0c0c0;--text-color: #ffffff;--text-color-rgb: 255, 255, 255;--background-color: #352735;--bg-color: #352735;--circle-bg: rgba(255, 255, 255, .1);--circle-border: rgba(255, 255, 255, .2);--circle-glow: rgba(255, 255, 255, .2);--window-bg: rgba(255, 255, 255, .1);--bg-color-rgb: 53, 39, 53;--scrollbar-width: 8px;--scrollbar-track: rgba(255, 255, 255, .1);--scrollbar-thumb: rgba(255, 255, 255, .2);--gradient-top: #352735;--gradient-middle: #5a5863;--gradient-bottom: #7f8092}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:var(--scrollbar-width)}*::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--scrollbar-width)}*::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-width)}body{font-family:Cooper Hewitt,sans-serif;color:var(--text-color);background:linear-gradient(to bottom,var(--gradient-top) 0%,var(--gradient-middle) 40%,var(--gradient-bottom) 100%);background-attachment:fixed;min-height:100vh;overflow-x:hidden;line-height:1.6;transition:background .5s ease}h1,h2,h3{font-family:Cooper Hewitt,sans-serif;font-weight:700}#background-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2;pointer-events:none}body.scrolled #background-canvas{pointer-events:auto}.navigation{position:fixed;top:0;left:0;width:100%;z-index:1001;transition:all .3s ease}[data-theme=light] .navigation{background:linear-gradient(to bottom,#ffffffe6,#fff0)}[data-theme=light] .navigation:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,#ffffff1a,#ffffff80,#fffffff2);z-index:-1}[data-theme=dark] .navigation{background:linear-gradient(to bottom,#000000f2,#0009 40%,#0000)}.nav-content{position:relative;max-width:1200px;margin:0 auto;padding:20px;display:flex;justify-content:center;align-items:center}.logo{font-family:Cooper Hewitt,sans-serif;font-weight:700;text-decoration:none;font-size:24px;color:var(--text-color);transition:color .3s ease;letter-spacing:2px;cursor:pointer}.logo:hover{opacity:.8}.navigation-dots{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:40px;z-index:1000;opacity:0;transition:opacity .5s ease}.navigation-dots.visible{opacity:1}.nav-dot{width:40px;height:40px;border-radius:50%;background-color:#f36;transition:transform .3s ease;box-shadow:0 0 20px #ff33664d}.nav-dot:hover{transform:scale(1.2);cursor:pointer;box-shadow:0 0 30px #ff336680}section{min-height:auto;padding:6rem 2rem;display:flex;flex-direction:column;justify-content:center}.hero-section{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:1}.hero-content{position:relative;z-index:3;width:100%;height:100%}.intro-text{position:fixed;top:10vh;left:5vw;max-width:min(400px,30vw);color:var(--text-color);font-family:Cooper Hewitt,sans-serif;font-weight:400;line-height:1.6;opacity:1;transition:opacity .5s ease,color .3s ease;z-index:3;font-size:clamp(14px,1.2vw,18px)}.intro-text .greeting{font-size:clamp(24px,2vw,32px);font-style:italic;margin-bottom:.5em;font-weight:500}.intro-text em{font-style:italic;font-weight:500}.scroll-indicator{position:fixed;bottom:10vh;left:50%;transform:translate(-50%);color:var(--text-color);text-align:center;font-family:Cooper Hewitt,sans-serif;font-weight:400;opacity:1;transition:opacity .5s ease,color .3s ease;z-index:3;font-size:clamp(12px,1vw,16px)}.arrow-down{margin-top:10px;animation:bounce 2s infinite;font-size:clamp(14px,1.2vw,20px)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.scrolled .intro-text,.scrolled .scroll-indicator{opacity:0}.hero-content.scrolled{transform:translate(-50%,-100vh);opacity:0}.scroll-spacer{height:200vh}main{position:relative;z-index:1;min-height:100vh;background-color:var(--bg-color);margin-top:100vh}.main-title{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:4rem;margin-bottom:1rem;letter-spacing:.2em;color:var(--text-color);transition:color .3s ease}.subtitle{font-size:1.2rem;color:var(--primary-color);letter-spacing:.1em}section h2{font-size:3.5rem;margin-bottom:2rem;font-weight:300;letter-spacing:.1em}.about-content{display:flex;flex-direction:row;gap:3rem;align-items:flex-start;max-width:1200px;margin:0 auto;padding:2rem}.about-image{width:100%;max-width:300px;height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;margin:0 auto 2rem;display:block;box-shadow:0 4px 20px #0000001a;border:5px solid rgba(var(--bg-color-rgb),.3);transition:transform .3s ease,box-shadow .3s ease}.about-image:hover{transform:scale(1.02);box-shadow:0 15px 40px #00000026}.about-text{flex:1;display:flex;flex-direction:column;gap:1.5rem;max-width:600px}.about-text h2{font-size:2.5rem;margin:0}.about-text p{font-size:1.1rem;line-height:1.6;margin:0}@media (max-width: 768px){.about-content{flex-direction:column;align-items:center;text-align:center;gap:2rem}.about-image{width:min(300px,80%)}.about-text{align-items:center;text-align:center}}@media (max-width: 480px){.about-content{padding:1rem}.about-image{width:90%}.about-text h2{font-size:2rem}.about-text p{font-size:1rem}}.projects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:2rem;width:100%;max-width:1400px;margin:0 auto}.project-card{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:12px;cursor:pointer;transition:transform .3s ease;background:var(--background-color);box-shadow:0 8px 32px #0000001a}.project-card:hover{transform:translateY(-5px)}.project-hero{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-hero{transform:scale(1.05)}.pagination-controls{display:flex;gap:1rem;align-items:center;justify-content:center;padding:1rem;margin-bottom:1rem}.page-button{width:40px;height:40px;border:none;background:var(--accent-color);color:var(--text-color);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease;font-size:1.2rem}.page-button:hover{background-color:var(--accent-color-hover)}.page-button:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:.9rem;color:var(--text-color);margin:0 .5rem}@media (max-width: 1400px){.projects-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:1rem;padding:1rem}.pagination-controls{bottom:1rem;right:1rem}}.expanded-project{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;display:flex;justify-content:center;align-items:center;padding:2rem}.expanded-project.active{opacity:1;visibility:visible}.expanded-content{position:relative;width:100%;max-width:1200px;max-height:90vh;padding:2rem;overflow-y:auto;display:grid;grid-template-columns:1fr 300px;gap:2rem}.project-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.project-image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.project-description{position:sticky;top:2rem;padding:1.5rem;border-radius:12px;box-shadow:0 4px 16px #0000001a;max-height:calc(90vh - 4rem);overflow-y:auto}.close-expanded{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border:none;background:var(--background-color);color:var(--text-color);border-radius:50%;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease;z-index:2}.close-expanded:hover{background-color:#ffffff1a}@media (max-width: 1024px){.expanded-content{grid-template-columns:1fr}.project-description{position:relative;top:0;max-height:none}}@media (max-width: 768px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;padding:1rem}.expanded-content{padding:1rem}}@media (max-width: 480px){.projects-grid{grid-template-columns:1fr}}.contact-content{max-width:600px;margin:0 auto;width:100%}.form-group{margin-bottom:1.5rem}input,textarea{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:4px;font-family:Montserrat,sans-serif}textarea{min-height:150px;resize:vertical}footer{text-align:center;padding:2rem;background-color:var(--primary-color);color:var(--secondary-color)}@media (max-width: 768px){.nav-content{flex-direction:column;gap:1rem}.main-title{font-size:3rem}section{padding:4rem 1rem}}.progress-counters{position:fixed;top:20px;right:20px;z-index:1000;font-family:Montserrat,sans-serif;font-size:14px;color:#fff;text-align:right;display:flex;flex-direction:column;gap:10px}.zoom-progress,.dissolve-progress{display:none}.zoom-progress.active,.dissolve-progress.active{opacity:1}.zoom-progress.complete,.dissolve-progress.complete{color:#0f0}.dissolve-progress:not(.progress-counters .dissolve-progress){display:none}.about-modal,.contact-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10000;opacity:0;transition:opacity .3s ease}.about-modal.visible,.contact-modal.visible{display:flex;opacity:1}.modal-content{position:relative;padding:40px;border-radius:8px;max-width:600px;margin:auto;transform:translateY(20px);transition:transform .3s ease}.about-modal.visible .modal-content,.contact-modal.visible .modal-content{transform:translateY(0)}.close-modal{position:absolute;top:20px;right:20px;background:none;border:none;font-size:24px;cursor:pointer;color:#000}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-form input,.contact-form textarea{padding:12px;border:1px solid #ddd;border-radius:4px;font-family:inherit}textarea{min-height:120px;resize:vertical}.contact-form button{background:#000;color:#fff;padding:12px;border:none;border-radius:4px;font-family:Monument Extended,sans-serif;transition:background-color .3s ease}.contact-form button:hover{background:#333}.nav-point-label{position:absolute;background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;pointer-events:none;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s ease}.content-window{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--window-bg);z-index:1001;display:none!important;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);max-width:100vw;box-sizing:border-box;background:transparent}.content-window.visible{display:block!important;opacity:1!important;visibility:visible!important}.window-content{padding:90px 20px 20px;overflow-y:auto;height:100%;width:100%;box-sizing:border-box;position:relative;z-index:1800}.navigation{display:none!important}body.window-open .persistent-header,html.window-open .persistent-header{opacity:1;pointer-events:auto;visibility:visible;z-index:2000}body.window-open .logo,html.window-open .logo{opacity:0;visibility:hidden}.content-window::-webkit-scrollbar{width:var(--scrollbar-width)}.content-window::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--scrollbar-width)}.content-window::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-width)}.content-window .window-content{height:100%;overflow-y:auto;overscroll-behavior:contain}.window-content{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;height:auto;min-height:100%}.content-window.visible .window-content{opacity:1;transform:translateY(0);overflow-y:auto!important}.window-container{width:100%;max-width:1200px;margin:0 auto;padding:2rem;box-sizing:border-box;overflow-y:auto;height:auto;min-height:calc(100% - 8rem)}html.window-open,html.window-open body,body.window-open{overflow:hidden!important;height:100%!important;scrollbar-width:none!important;-ms-overflow-style:none!important}html.window-open::-webkit-scrollbar,html.window-open body::-webkit-scrollbar,body.window-open::-webkit-scrollbar{width:0!important;display:none!important}body.window-open{position:fixed;width:100%;top:calc(-1 * var(--scroll-top, 0))}.content-window h2{font-size:2.5rem;margin-bottom:1.5rem;font-family:Cooper Hewitt,sans-serif;font-weight:700}.content-window p{font-size:1.1rem;line-height:1.8;margin-bottom:1rem}.back-btn{position:absolute;top:50%;left:20px;transform:translateY(-50%);background:none;border:none;color:var(--text-color);font-size:1.5rem;cursor:pointer;padding:.5rem;transition:transform .3s ease;display:flex;align-items:center;gap:.5rem;z-index:2000;pointer-events:auto}.back-btn:hover{transform:translateY(-50%) translate(-5px)}.back-btn i{font-size:1.2rem}.back-btn span{font-size:1rem;font-family:Montserrat,sans-serif}@media (prefers-color-scheme: dark){.content-window .close-btn:before,.content-window .close-btn:after{background-color:#fff}}.circle-overlay{position:fixed;width:200px;height:200px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;font-weight:500;line-height:1;text-align:center;color:var(--text-color);pointer-events:auto;cursor:pointer;background:var(--circle-bg);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);-webkit-backpack-filter:blur(30px);z-index:1000;mix-blend-mode:normal;transform-style:preserve-3d;backface-visibility:hidden;-webkit-font-smoothing:antialiased;box-shadow:inset 0 0 30px var(--circle-glow),0 0 15px var(--circle-glow);border:1px solid var(--circle-border)}.circle-overlay span{transform:translateZ(0);width:100%;text-align:center;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;height:100%;white-space:nowrap;box-sizing:border-box;line-height:1;transition:all .3s ease}@keyframes pulseRing{0%{box-shadow:inset 0 0 30px var(--circle-glow),0 0 15px var(--circle-glow)}50%{box-shadow:inset 0 0 30px var(--circle-glow),0 0 15px var(--circle-glow),0 0 0 2px var(--circle-border)}to{box-shadow:inset 0 0 30px var(--circle-glow),0 0 15px var(--circle-glow)}}.circle-overlay:hover{border-color:var(--text-color);box-shadow:inset 0 0 30px var(--circle-glow),0 0 20px var(--circle-glow)}:root{--circle-border: rgba(0, 0, 0, .3);--circle-glow: rgba(0, 0, 0, .2)}[data-theme=dark]{--circle-border: rgba(255, 255, 255, .2);--circle-glow: rgba(255, 255, 255, .2)}.contact-info{position:relative;display:flex;flex-direction:column;gap:2rem;width:100%;max-width:500px;padding:4rem;margin:0 auto}.contact-info h2{font-size:2.5rem;margin-bottom:.5rem}.contact-info .email{font-size:1.4rem;padding:1rem 2rem;border-radius:12px;background:#ffffff1a;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);transition:all .3s ease;text-decoration:none;color:inherit;display:flex;align-items:center;justify-content:center;gap:.5rem}.contact-info .email:hover{background:#fff3;transform:translateY(-2px)}.social-links{position:fixed;bottom:10vh;right:5vw;display:flex;gap:20px;z-index:2100;opacity:1;transition:opacity .5s ease;pointer-events:auto!important}body.scrolled .social-links{opacity:0;pointer-events:none!important}.social-link{position:relative;color:var(--text-color);font-size:clamp(20px,1.5vw,24px);transition:transform .3s ease,color .3s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:rgba(var(--bg-color-rgb),.2);border-radius:50%;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:2100;pointer-events:auto!important;cursor:pointer;text-decoration:none}.social-link:hover{transform:translateY(-3px)}.social-link.instagram:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.social-link.whatsapp:hover{background:#25d366}:root:not([data-theme=dark]) .social-link{background:#0000000d}:root:not([data-theme=dark]) .social-link:hover{background:#0000001a}:root:not([data-theme=dark]) .social-link.instagram:hover,:root:not([data-theme=dark]) .social-link.whatsapp:hover{color:#fff}.content-window .close-btn{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:#ffffff1a;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);cursor:pointer;opacity:0;transform:scale(.8);transition:all .3s ease;display:flex;align-items:center;justify-content:center;z-index:3100}.content-window .close-btn:before,.content-window .close-btn:after{content:"";position:absolute;width:20px;height:2px;background:#fff;transform-origin:center}.content-window .close-btn:before{transform:rotate(45deg)}.content-window .close-btn:after{transform:rotate(-45deg)}.content-window.active .close-btn{opacity:1;transform:scale(1)}.content-window .close-btn:hover{background:#fff3;transform:scale(1.1)}:root:not([data-theme=dark]) .content-window .close-btn{background:#0000001a}:root:not([data-theme=dark]) .content-window .close-btn:hover{background:#0003}:root:not([data-theme=dark]) .content-window .close-btn:before,:root:not([data-theme=dark]) .content-window .close-btn:after{background:#000}.contact-info .contact-message{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:1.3rem;line-height:1.6;max-width:600px;margin:0 auto 2rem;opacity:.9;text-align:center}:root:not([data-theme=dark]) .contact-info .contact-message{opacity:.7}:root:not([data-theme=dark]) .modal-content{color:var(--primary-color)}#about-window p{text-align:left;max-width:none;margin:1rem 0}@media screen and (max-width: 768px){.intro-text{left:50%;transform:translate(-50%);min-width:80vw;text-align:center;line-height:1.3}}html{scroll-behavior:auto!important}.window-container{max-width:1200px;margin:0 auto;padding:2rem}.window-header{margin-bottom:2rem;text-align:center;position:fixed;top:20px;left:0;right:0;z-index:1900;display:flex;justify-content:center;align-items:center;height:60px;background:transparent;transition:opacity .3s ease,transform .3s ease;padding:0 2rem}.window-header .back-btn{position:absolute;left:2rem}.window-header .menu-btn{position:absolute;right:2rem}.window-header h2{flex:none;margin:0 auto}.window-header.fade-out{opacity:0;transform:translateY(-20px);pointer-events:none}.window-header.fade-out.hover-visible{opacity:.9;transform:translateY(0);pointer-events:auto}.window-header h2{font-size:2.5rem;margin:0;position:relative;display:inline-block;font-family:Cooper Hewitt,sans-serif;font-weight:700;letter-spacing:2px}.window-header h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:50px;height:2px;background:var(--text-color)}.menu-btn{background:rgba(var(--text-color-rgb),.1);border:none;color:var(--text-color);width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-btn:hover{background:rgba(var(--text-color-rgb),.2);transform:scale(1.05)}.menu-btn i{font-size:1rem}.nav-menu{position:fixed;top:80px;right:2rem;background:var(--window-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(var(--text-color-rgb),.1);border-radius:12px;padding:.5rem;min-width:160px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:2000;box-shadow:0 10px 30px #0003}.nav-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.nav-menu-content{display:flex;flex-direction:column;gap:.25rem}.nav-menu-item{background:transparent;border:none;color:var(--text-color);padding:.75rem 1rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .3s ease;font-size:.9rem;text-align:left;width:100%}.nav-menu-item:hover{background:rgba(var(--text-color-rgb),.1);transform:translate(4px)}.nav-menu-item i{width:16px;text-align:center;opacity:.7}.nav-menu-item span{flex:1}.window-content{padding-top:100px}#about-window{text-align:left}#about-window .window-header{text-align:center}.about-scrollable{height:calc(100vh - 200px);overflow-y:auto;padding-right:10px}.about-hero{display:flex;align-items:center;gap:3rem;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(var(--text-color-rgb),.1)}.about-image-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex-shrink:0}.about-image{width:200px;height:200px;border-radius:50%;object-fit:cover;margin-bottom:1.5rem;box-shadow:0 15px 40px #00000026;border:4px solid rgba(var(--bg-color-rgb),.3);transition:transform .3s ease,box-shadow .3s ease}.about-image:hover{transform:scale(1.05);box-shadow:0 20px 50px #0003}.about-social{display:flex;gap:1rem;margin-top:1rem}.about-intro{flex:1}.about-intro h3{font-size:2.2rem;margin-bottom:1rem;color:var(--text-color);font-family:Italiana,serif}.intro-tagline{font-size:1.2rem;line-height:1.6;color:rgba(var(--text-color-rgb),.8);font-style:italic;margin:0}.about-sections{display:flex;flex-direction:column;gap:2.5rem}.about-section{background:rgba(var(--bg-color-rgb),.05);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:20px;padding:2.5rem;border:1px solid rgba(var(--text-color-rgb),.08);transition:transform .3s ease,box-shadow .3s ease}.about-section:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000001a}.section-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.section-icon-wrapper{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,rgba(var(--text-color-rgb),.1),rgba(var(--text-color-rgb),.05));display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.section-icon{font-size:1.5rem;color:var(--text-color)}.section-header h4{font-size:1.8rem;color:var(--text-color);font-family:Italiana,serif;margin:0}.section-content p{font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem;color:rgba(var(--text-color-rgb),.9)}.section-content p:last-child{margin-bottom:0}.expertise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:1rem}.expertise-item{background:rgba(var(--bg-color-rgb),.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:2rem;border-radius:16px;text-align:center;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(var(--text-color-rgb),.05)}.expertise-item:hover{transform:translateY(-3px);box-shadow:0 15px 30px #0000001a}.expertise-icon{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,rgba(var(--text-color-rgb),.15),rgba(var(--text-color-rgb),.08));display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;transition:transform .3s ease}.expertise-item:hover .expertise-icon{transform:scale(1.1)}.expertise-icon i{font-size:1.2rem;color:var(--text-color)}.expertise-item h5{font-size:1.3rem;margin-bottom:1rem;color:var(--text-color);font-family:Italiana,serif}.expertise-item p{font-size:1rem;line-height:1.6;color:rgba(var(--text-color-rgb),.8);margin:0}.highlight-item:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.highlight-item i{font-size:1.8rem;margin-bottom:1rem;color:var(--text-color)}.highlight-item h4{font-size:1.2rem;margin-bottom:.8rem;color:var(--text-color)}.highlight-item p{font-size:.95rem;line-height:1.6;margin-bottom:0}.projects-intro{text-align:center;max-width:800px;margin:0 auto 3rem}.projects-intro p{font-size:1.2rem;line-height:1.8}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.project-card{background:rgba(var(--bg-color-rgb),.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0000001a}.project-image{width:100%;height:250px;overflow:hidden}.project-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-img{transform:scale(1.05)}.project-info{padding:1.5rem}.project-info h3{font-size:1.4rem;margin-bottom:1rem;color:var(--text-color)}.project-info p{font-size:1rem;line-height:1.6;margin-bottom:1.5rem;color:var(--text-color)}.project-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-color);text-decoration:none;font-weight:500;transition:gap .3s ease}.project-link:hover{gap:.8rem}.contact-content{max-width:800px;margin:0 auto;text-align:center}.contact-intro{margin-bottom:3rem}.contact-intro h3{font-size:2.2rem;margin-bottom:2rem;color:var(--text-color);font-family:Italiana,serif}.contact-intro p{font-size:1.2rem;line-height:1.8;margin-bottom:1.5rem;color:rgba(var(--text-color-rgb),.9)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;max-width:1200px;margin:0 auto}.contact-form-container,.contact-info-container,.form-group input,.form-group textarea{width:100%;box-sizing:border-box}.contact-form-container h3{font-size:1.8rem;margin-bottom:1rem;color:var(--text-color)}.contact-form-container p{font-size:1.1rem;line-height:1.8;margin-bottom:2rem;color:var(--text-color)}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:1rem;font-weight:500;color:var(--text-color)}.form-group input,.form-group textarea{padding:1rem;border:1px solid rgba(var(--text-color-rgb),.2);border-radius:8px;background:rgba(var(--bg-color-rgb),.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-color);font-family:Montserrat,sans-serif;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:rgba(var(--text-color-rgb),.5);box-shadow:0 0 0 2px rgba(var(--text-color-rgb),.1)}.form-group textarea{min-height:150px;resize:vertical}.submit-btn{padding:1rem 2rem;background:var(--text-color);color:var(--bg-color);border:none;border-radius:8px;font-family:Montserrat,sans-serif;font-weight:500;cursor:pointer;transition:transform .3s ease,background-color .3s ease;align-self:flex-start}.submit-btn:hover{transform:translateY(-3px);background:rgba(var(--text-color-rgb),.9)}.contact-info-container{display:flex;flex-direction:column;justify-content:center}.contact-info{background:rgba(var(--bg-color-rgb),.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;padding:2rem}.contact-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.contact-item:last-child{margin-bottom:0}.contact-item i{font-size:1.5rem;color:var(--text-color)}.contact-item h4{font-size:1.2rem;margin-bottom:.5rem;color:var(--text-color)}.contact-item p{font-size:1rem;color:var(--text-color);margin:0}.contact-item a{color:var(--text-color);text-decoration:none;transition:opacity .3s ease}.contact-item a:hover{opacity:.8}@media (max-width: 1024px){.about-hero{flex-direction:column;text-align:center;gap:2rem}.about-image{width:150px;height:150px}.about-intro h3{font-size:1.8rem}.section-header{flex-direction:column;text-align:center;gap:1rem}.expertise-grid{grid-template-columns:1fr;gap:1.5rem}.about-section{padding:2rem}.about-scrollable{height:calc(100vh - 150px)}.about-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.about-image-container{margin-bottom:1rem;max-width:300px;margin-left:auto;margin-right:auto}.about-text{text-align:center}.about-highlights{grid-template-columns:repeat(3,1fr)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 768px){.window-container{padding:1rem;overflow-x:hidden;width:100%;box-sizing:border-box}.window-content{padding:0 .5rem;width:100%;box-sizing:border-box;overflow-x:hidden;text-align:center;padding-top:80px}.window-header{height:50px}.window-header h2{font-size:1.8rem}.content-window p,.content-window h3,.content-window h4,.content-window li,.project-card-content,.service-card-content,.contact-info-item,#about-window p,#services-window p,#projects-window p,#contact-window p,.about-text,.service-description,.project-description{text-align:center}.about-highlights{grid-template-columns:repeat(2,1fr);gap:1rem}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.form-group label{text-align:center;width:100%;display:block}.contact-info-item{justify-content:center}}@media (max-width: 480px){.about-highlights,.projects-grid{grid-template-columns:1fr}.project-image{height:200px}.window-header h2{font-size:1.5rem}.about-text h3,.contact-form-container h3{font-size:1.2rem}.submit-btn{width:100%;align-self:stretch}}@media (max-width: 768px){.contact-grid{grid-template-columns:1fr;gap:2rem}.contact-form-container,.contact-info-container{text-align:center}.submit-btn{margin:0 auto;align-self:center}.form-group{display:flex;flex-direction:column;align-items:center}}@media (max-width: 420px){.window-container{padding:.5rem;max-width:100%;overflow-x:hidden}.window-content{padding:0;max-width:100%;overflow-x:hidden}.form-group input,.form-group textarea{width:100%;max-width:100%;box-sizing:border-box;font-size:14px;padding:.75rem}.form-group label{font-size:14px}#contact-window .window-content{padding:0}.content-window{max-width:100vw;overflow-x:hidden}#contact-window h2{font-size:1.2rem}#contact-window h3{font-size:1rem}}#contact-window p{width:100%;max-width:100%;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;padding:0 10px}@media (max-width: 420px){#contact-window p{font-size:14px;padding:0 5px;margin:.5rem 0}.content-window{width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.window-content{width:100%;max-width:100%;box-sizing:border-box;padding:0;margin:0;overflow-x:hidden}.window-container{width:100%;max-width:100%;box-sizing:border-box;padding:.25rem;margin:0;overflow-x:hidden}*{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}}#contact-window,#contact-window .window-content{width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}#contact-window p{width:100%;max-width:100%;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;padding:0 10px;font-size:clamp(14px,4vw,16px)}.contact-form{width:100%;max-width:100%;box-sizing:border-box}.contact-form-container{width:100%;max-width:100%;box-sizing:border-box;padding:0 5px}.form-group,.form-group input,.form-group textarea{width:100%;max-width:100%;box-sizing:border-box}.vignette-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.05) 100%)}[data-theme=dark] .vignette-container{background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.2) 100%)}.particles-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.particle{position:absolute;background:radial-gradient(circle at center,#fff3,#fff0 80%);border-radius:50%;pointer-events:none;opacity:.3;will-change:transform;filter:blur(3px)}[data-theme=dark] .particle{background:radial-gradient(circle at center,#fff3,#fff0 80%);filter:blur(3px)}[data-theme=light] .particle{background:radial-gradient(circle at center,#0000004d,#0000 80%);filter:blur(3px);opacity:.5}.main-footer{position:fixed;bottom:0;left:0;right:0;background:var(--window-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(var(--text-color-rgb),.05);padding:.75rem 0;transform:translateY(100%);transition:transform .4s cubic-bezier(.25,.46,.45,.94);z-index:10001}.main-footer.visible{transform:translateY(0)}.footer-content{text-align:center}.footer-content p{color:var(--text-color);opacity:.4;font-size:.7rem;margin:0;font-weight:300}.content-window .main-footer{position:absolute;z-index:10}.main-footer{display:block}@media (max-width: 768px){.main-footer{padding:.5rem 0}.footer-content p{font-size:.65rem}}html.window-open .hero-content,body.window-open .hero-content,html.window-open .intro-text,body.window-open .intro-text,html.window-open .social-links,body.window-open .social-links,html.window-open .scroll-indicator,body.window-open .scroll-indicator{opacity:0!important;pointer-events:none!important;visibility:hidden!important}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-color);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10000;transition:opacity .5s ease-out,visibility .5s ease-out}.loading-word{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:2.5rem;margin-bottom:2rem;letter-spacing:3px;color:var(--text-color);transition:opacity .2s ease-in-out;font-weight:400;text-transform:uppercase}.loading-spinner{width:40px;height:40px;border:3px solid rgba(150,150,150,.2);border-radius:50%;border-top-color:var(--accent-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}body.loading{overflow:hidden}body.loading .hero-section,body.loading .persistent-header,body.loading .vignette-container,body.loading #background-canvas{opacity:0;transition:opacity .5s ease-out}body:not(.loading) .hero-section,body:not(.loading) .persistent-header,body:not(.loading) .vignette-container,body:not(.loading) #background-canvas{opacity:1;transition:opacity .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.fade-in{animation:fadeIn 1s ease forwards}.float{animation:float 6s ease-in-out infinite}.hero-section h1,.hero-section p{opacity:0;animation:fadeIn 1s ease forwards}.hero-section h1{animation-delay:.3s}.hero-section p{animation-delay:.6s}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;width:0;height:1px;bottom:-2px;left:0;background-color:var(--accent-color);transition:width .3s ease}.nav-links a:hover:after{width:100%}html{scroll-behavior:smooth}.portfolio-intro{text-align:center;margin-bottom:2rem;padding:0 1rem}.portfolio-intro p{font-size:1.1rem;color:var(--text-color);opacity:.8;font-style:italic}.portfolio-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;padding:2rem;max-width:100%;margin:0}.portfolio-gallery:has(.gallery-item:nth-child(1):last-child){grid-template-columns:minmax(300px,500px);justify-content:center}.portfolio-gallery:has(.gallery-item:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(280px,400px));justify-content:center}.portfolio-gallery:has(.gallery-item:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(260px,350px));justify-content:center}.gallery-item{position:relative;aspect-ratio:4/5;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;background:var(--window-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0003}.gallery-item.featured{grid-column:span 2;aspect-ratio:16/10}@media (max-width: 768px){.portfolio-gallery{grid-template-columns:1fr!important;gap:1.5rem;padding:1rem;max-width:400px}.gallery-item{aspect-ratio:3/4}}.gallery-image-container{position:relative;width:100%;height:100%}.gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item:hover .gallery-image{transform:scale(1.05)}.gallery-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0000,#0000001a,#000c);display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-expand{position:absolute;top:1rem;right:1rem;background:#fff3;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gallery-expand:hover{background:#ffffff4d;transform:scale(1.1)}.gallery-info{margin-top:auto}.gallery-title{color:#fff;font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:1.5rem;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.gallery-description{color:#ffffffe6;font-size:.9rem;line-height:1.4;text-shadow:0 1px 2px rgba(0,0,0,.5)}.portfolio-lightbox{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;opacity:0;visibility:hidden;transition:all .3s ease}.portfolio-lightbox.active{opacity:1;visibility:visible}.lightbox-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(var(--bg-color-rgb),.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox-container{position:relative;width:100%;height:100%;display:flex;align-items:flex-start;justify-content:center;padding:4rem 2rem 2rem;overflow-y:auto}.project-detail-content{max-width:1400px;width:100%;display:grid;grid-template-columns:2.3fr 1fr;gap:3rem;color:var(--text-color);position:relative;z-index:1;align-items:start}.project-info-column{display:flex;flex-direction:column;gap:2rem}.project-header{display:flex;flex-direction:column;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(var(--text-color-rgb),.1)}.project-category-tag{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:rgba(var(--text-color-rgb),.7);font-weight:500}.project-title{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:3rem;margin:0;color:var(--text-color);line-height:1.2}.project-client-logos{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.client-logo{max-width:30%;width:auto;object-fit:contain}[data-theme=dark] .client-logo{filter:brightness(0) invert(1)}[data-theme=light] .client-logo,:root:not([data-theme]) .client-logo{filter:brightness(0)}.project-meta-info{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.95rem;opacity:.8}.project-agency,.project-location,.project-campaign{display:inline-flex;align-items:center;gap:.5rem}.project-body{display:flex;flex-direction:column;gap:2rem}.project-description-section h3,.project-role-section h3{font-size:1.2rem;margin:0 0 1rem;font-weight:500;opacity:.9}.project-description{font-size:1rem;line-height:1.8;opacity:.85;margin:0}.project-details-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem}.project-role-section h4,.skills-section h4,.metrics-section h4{font-size:1rem;margin:0 0 1rem;font-weight:500;opacity:.9}.role-description{font-size:.95rem;line-height:1.6;opacity:.8;margin:0}.skills-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.skills-list li{font-size:.95rem;opacity:.8;padding-left:1.25rem;position:relative}.skills-list li:before{content:"•";position:absolute;left:0;color:rgba(var(--text-color-rgb),.5)}.metrics-list{display:flex;flex-direction:column;gap:.75rem}.metric-item{display:flex;align-items:center;gap:.75rem;font-size:1rem}.metric-icon{font-size:1.25rem;opacity:.9;width:24px;display:flex;align-items:center;justify-content:center}.metric-value{font-weight:500}.project-media{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.main-media-container{position:relative;background:rgba(var(--text-color-rgb),.05);border-radius:12px;overflow:hidden}.main-media-wrapper{width:100%;min-height:400px;display:flex;align-items:center;justify-content:center}.main-media{width:100%;max-height:70vh;object-fit:contain;display:block}.main-media-wrapper video{width:100%;height:auto}.media-navigation{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;padding:0 1rem;pointer-events:none}.media-prev,.media-next{background:rgba(var(--text-color-rgb),.6);border:none;color:var(--bg-color);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.media-prev:hover,.media-next:hover{background:rgba(var(--text-color-rgb),.8);transform:scale(1.1)}.media-thumbnails{display:flex;gap:.75rem;overflow-x:auto;padding:.75rem 0}.thumbnail{flex-shrink:0;width:100px;height:75px;border-radius:8px;overflow:hidden;cursor:pointer;opacity:.5;transition:all .3s ease;border:2px solid transparent;position:relative}.thumbnail:hover{opacity:.8}.thumbnail.active{opacity:1;border-color:var(--text-color)}.thumbnail img,.thumbnail video{width:100%;height:100%;object-fit:cover}.video-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(var(--text-color-rgb),.6);border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--bg-color);font-size:.75rem;pointer-events:none}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:rgba(var(--text-color-rgb),.1);border:none;color:var(--text-color);font-size:1.5rem;padding:1rem;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center}.lightbox-close{top:2rem;right:2rem}.lightbox-prev{left:2rem;top:50%;transform:translateY(-50%)}.lightbox-next{right:2rem;top:50%;transform:translateY(-50%)}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:rgba(var(--text-color-rgb),.2);transform:scale(1.1)}.lightbox-prev:hover,.lightbox-next:hover{transform:translateY(-50%) scale(1.1)}@media (max-width: 768px){.lightbox-container{padding:1rem;align-items:flex-start}.project-detail-content{grid-template-columns:1fr;gap:1.5rem}.project-title{font-size:2rem}.project-details-grid{grid-template-columns:1fr;gap:1.5rem}.main-media{max-height:50vh}.lightbox-close{width:40px;height:40px;font-size:1.2rem;top:1rem;right:1rem}.media-prev,.media-next{width:40px;height:40px;font-size:1rem}.thumbnail{width:70px;height:52px}}.persistent-header{position:fixed;top:0;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;z-index:10000;background:var(--window-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(var(--text-color-rgb),.05);pointer-events:none}.persistent-header *{pointer-events:auto}.header-logo{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:1.2rem;letter-spacing:2px;color:var(--text-color);cursor:pointer;transition:opacity .3s ease;opacity:.8;text-decoration:none}.header-logo:hover{opacity:1}.header-actions{display:flex;align-items:center;gap:1rem}.header-menu-btn{width:40px;height:40px;border:none;background:none;color:var(--text-color);opacity:.6;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.header-menu-btn:hover{opacity:1;transform:scale(1.1)}@media (max-width: 768px){.persistent-header{padding:0 1rem;height:50px}.header-logo{font-size:1rem}.header-menu-btn{width:32px;height:32px;font-size:1rem}}.page-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.page-title{font-family:Cooper Hewitt,sans-serif;font-size:clamp(2rem,8vw,6rem);font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--text-color, #111)}.portfolio-page{min-height:100vh;padding:100px 2rem 4rem;max-width:1400px;margin:0 auto}.portfolio-title{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:clamp(2rem,6vw,4rem);text-align:center;margin-bottom:3rem;letter-spacing:2px;text-transform:uppercase}.portfolio-loading,.portfolio-empty{text-align:center;font-size:1.2rem;color:#0009;padding:4rem 0}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.portfolio-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.portfolio-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #00000026}.portfolio-card.featured{grid-column:span 2}@media (max-width: 768px){.portfolio-card.featured{grid-column:span 1}.portfolio-grid{grid-template-columns:1fr}}.portfolio-card-image{position:relative;aspect-ratio:3/2;overflow:hidden}.portfolio-card-image img,.portfolio-card-image video{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.portfolio-card:hover .portfolio-card-image img,.portfolio-card:hover .portfolio-card-image video{transform:scale(1.05)}.portfolio-card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);display:flex;align-items:center;justify-content:center;color:#999;font-size:1rem}.portfolio-card-overlay{position:absolute;top:1rem;left:1rem}.portfolio-card-category{background:#000000b3;color:#fff;padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.portfolio-card-info{padding:1.5rem}.portfolio-card-info h3{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:1.3rem;margin:0 0 .5rem}.portfolio-card-role{color:#0009;font-size:.9rem;margin:0}.portfolio-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:1000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:2rem}.portfolio-modal-content{background:#fff;border-radius:24px;max-width:1000px;width:100%;margin:2rem auto;position:relative;overflow:hidden}.portfolio-modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border:none;background:#0000001a;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.portfolio-modal-close:hover{background:#0003}.portfolio-modal-header{padding:2rem 2rem 1rem;text-align:center}.portfolio-modal-category{display:inline-block;background:#000;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem}.portfolio-modal-header h2{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:clamp(1.8rem,4vw,3rem);margin:0 0 1rem}.portfolio-modal-logos{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}.portfolio-modal-logos img{max-height:40px;max-width:100px;object-fit:contain}.portfolio-modal-media{width:100%;max-height:500px;overflow:hidden}.portfolio-modal-media img,.portfolio-modal-media video{width:100%;height:auto;max-height:500px;object-fit:cover}.portfolio-modal-details{padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 768px){.portfolio-modal-details{grid-template-columns:1fr}}.portfolio-modal-details h4{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:1px;margin:0 0 1rem;color:#000}.portfolio-modal-description p{line-height:1.7;color:#333}.portfolio-modal-role p{margin:0 0 .5rem;color:#333}.skills-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{background:#f0f0f0;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;color:#333}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem}.metric-item{text-align:center;padding:1rem;background:#f8f8f8;border-radius:12px}.metric-value{display:block;font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:1.5rem;color:#000}.metric-platform{display:block;font-size:.75rem;color:#666;text-transform:capitalize;margin-top:.25rem}.portfolio-modal-info p{margin:0 0 .5rem;color:#333}.portfolio-modal-gallery{padding:0 2rem 2rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.gallery-item{aspect-ratio:1;border-radius:12px;overflow:hidden}.portfolio-detail-page{min-height:100vh;padding:100px 2rem 4rem;max-width:1200px;margin:0 auto}.back-button{background:none;border:2px solid #000;padding:.8rem 1.5rem;font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:1rem;cursor:pointer;border-radius:30px;transition:all .3s ease;margin-bottom:2rem}.back-button:hover{background:#000;color:#fff}.portfolio-detail-loading,.portfolio-detail-error{text-align:center;padding:4rem 0;font-size:1.2rem}.portfolio-detail-error h2{font-family:Cooper Hewitt,sans-serif;font-weight:700;margin-bottom:1rem}.portfolio-detail-error button{background:#000;color:#fff;border:none;padding:1rem 2rem;font-family:Cooper Hewitt,sans-serif;font-weight:700;cursor:pointer;border-radius:30px;margin-top:1rem}.portfolio-detail-header{text-align:center;margin-bottom:3rem}.portfolio-detail-category{display:inline-block;background:#000;color:#fff;padding:.5rem 1.2rem;border-radius:25px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:1.5rem}.portfolio-detail-header h1{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:clamp(2rem,5vw,4rem);margin:0 0 1.5rem;letter-spacing:1px}.portfolio-detail-logos{display:flex;gap:1.5rem;justify-content:center;align-items:center;flex-wrap:wrap}.portfolio-detail-logos img{max-height:50px;max-width:120px;object-fit:contain}.portfolio-detail-media{width:100%;margin-bottom:4rem;border-radius:20px;overflow:hidden;box-shadow:0 10px 40px #0000001a}.portfolio-detail-media img,.portfolio-detail-media video{width:100%;height:auto;display:block}.portfolio-detail-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem}@media (max-width: 768px){.portfolio-detail-content{grid-template-columns:1fr;gap:2rem}}.portfolio-detail-description h2,.portfolio-detail-meta h3{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:1.5rem;margin:0 0 1rem;text-transform:uppercase;letter-spacing:1px}.portfolio-detail-description p{line-height:1.8;color:#333;font-size:1.1rem}.portfolio-detail-meta{display:flex;flex-direction:column;gap:2rem}.portfolio-detail-role .role-title{font-weight:700;font-size:1.1rem;margin:0 0 .5rem}.portfolio-detail-role .role-desc{color:#666;line-height:1.6;margin:0}.skills-tags{display:flex;flex-wrap:wrap;gap:.6rem}.skill-tag{background:#f0f0f0;padding:.5rem 1rem;border-radius:25px;font-size:.9rem;color:#333;font-weight:500}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.metric-item{text-align:center;padding:1.5rem 1rem;background:#f8f8f8;border-radius:16px}.metric-value{display:block;font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:2rem;color:#000;margin-bottom:.5rem}.metric-platform{display:block;font-size:.85rem;color:#666;text-transform:capitalize}.portfolio-detail-info p{margin:0 0 .5rem;color:#333;line-height:1.6}.portfolio-detail-gallery{margin-top:4rem}.portfolio-detail-gallery h2{font-family:Cooper Hewitt,sans-serif;font-weight:700;font-size:2rem;text-align:center;margin-bottom:2rem;text-transform:uppercase;letter-spacing:1px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.gallery-item{aspect-ratio:1;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover}
