.scroll-animate{opacity:0;transition:opacity .8s ease,transform .8s ease}.scroll-animate.visible{opacity:1}.fade-in{opacity:0}.fade-in.visible{opacity:1}.slide-up{transform:translateY(60px);opacity:0}.slide-up.visible{transform:translateY(0);opacity:1}.slide-left{transform:translate(-60px);opacity:0}.slide-left.visible{transform:translate(0);opacity:1}.slide-right{transform:translate(60px);opacity:0}.slide-right.visible{transform:translate(0);opacity:1}.scale-in{transform:scale(.9);opacity:0}.scale-in.visible{transform:scale(1);opacity:1}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}.delay-600{transition-delay:.6s}html{scroll-behavior:smooth}.parallax{transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.animated-button{position:relative;overflow:hidden;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.animated-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#ffffff1a;transition:left .4s cubic-bezier(.25,.46,.45,.94);z-index:0}.animated-button:hover:before{left:100%}.animated-button:hover{transform:translateY(-2px)}.animated-button:active{transform:translateY(0)}.link-hover{position:relative;display:inline-block}.link-hover:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:currentColor;transition:width .3s cubic-bezier(.25,.46,.45,.94)}.link-hover:hover:after{width:100%}.image-zoom{overflow:hidden}.image-zoom img{transition:transform .6s cubic-bezier(.25,.46,.45,.94)}.image-zoom:hover img{transform:scale(1.1)}.spotlight-container{position:relative}.spotlight-image,.hero,.about-hero,.enhanced-project-hero,.portfolio-item img,.gallery-image,.extended-gallery-image,.team-photo img,.project-card img,img,.hero-background,.project-showcase img,.communities-logos-strip img,.footer img,.featured-project-left,.project-grid-item{position:relative;transition:opacity .15s ease}.spotlight-image:hover,.hero:hover,.about-hero:hover,.enhanced-project-hero:hover,.portfolio-item:hover img,.gallery-item:hover .gallery-image,.extended-gallery-item:hover .extended-gallery-image,.team-photo:hover img,.project-card:hover img,img:hover,.featured-project-left:hover,.project-grid-item:hover{opacity:1}@media(hover:none)and (pointer:coarse){.spotlight-image,.hero,.about-hero,.enhanced-project-hero,.portfolio-item img,.gallery-image,.extended-gallery-image,.team-photo img,.project-card img,img,.featured-project-left,.project-grid-item{opacity:1}}@font-face{font-family:GeneralSans;src:url(/assets/fonts/GeneralSans-Variable.ttf) format("truetype");font-weight:100 900;font-style:normal}@font-face{font-family:Optima;src:url(/assets/fonts/Optima-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Optima;src:url(/assets/fonts/Optima-Medium.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Optima;src:url(/assets/fonts/Optima-Bold.ttf) format("truetype");font-weight:700;font-style:normal}*{margin:0;padding:0;box-sizing:border-box}html{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}body{scrollbar-width:none;-ms-overflow-style:none}:root{--primary-color: #000;--secondary-color: #fff;--text-dark: #333;--text-light: #666;--bg-light: #f5f5f5;--transition: all .3s ease}body{font-family:GeneralSans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-dark);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;margin:0;min-width:320px;min-height:100vh;-ms-overflow-style:none;scrollbar-width:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-overflow-scrolling:touch}body::-webkit-scrollbar{display:none}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}a,button,[role=button],input[type=submit],input[type=button]{cursor:pointer;-webkit-tap-highlight-color:transparent}p,h1,h2,h3,h4,h5,h6,span,div[class*=content],div[class*=text],div[class*=about],section[class*=content]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}input,textarea,select{cursor:text}input[type=checkbox],input[type=radio],.portfolio-item,.project-card,.dot{cursor:pointer}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.projects-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:9999;visibility:hidden;pointer-events:none;transition:visibility 0s linear .6s}.overlay-open{visibility:visible;pointer-events:auto;transition:visibility 0s linear 0s}.overlay-content{position:absolute;top:0;right:0;width:30%;height:100vh;background:#0000004d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transform:translate(100%);transition:transform .6s cubic-bezier(.25,.46,.45,.94);padding:3rem 2rem;overflow-y:auto;display:flex;flex-direction:column;justify-content:space-between}.overlay-open .overlay-content{transform:translate(0)}.close-button{position:absolute;top:2rem;right:2rem;width:44px;height:44px;background:#ffffff1a;border:none;border-radius:50%;z-index:10001;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;transition:all .3s ease}.close-button span{width:20px;height:2px;background:#fff;transition:all .3s ease;transform-origin:center;position:absolute}.close-button span:first-child{transform:rotate(45deg)}.close-button span:last-child{transform:rotate(-45deg)}.close-button:hover{background:#fff3;transform:scale(1.1)}.close-button:hover span{background:#fff}.overlay-menu{display:flex;flex-direction:column;gap:4rem;margin-top:6rem}.menu-section h2{font-family:GeneralSans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:4px;color:#fff;margin-bottom:1.5rem;text-transform:uppercase}.menu-links{display:flex;flex-direction:column;gap:2rem}.menu-links a{display:flex;align-items:flex-start;gap:2rem;padding:1.5rem 0;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none;transition:all .4s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.menu-links a:before{content:"";position:absolute;left:0;top:0;width:0;height:100%;background:linear-gradient(90deg,rgba(255,255,255,.05),transparent);transition:width .5s cubic-bezier(.25,.46,.45,.94)}.menu-links a:hover:before{width:100%}.menu-links a:hover{transform:translate(10px);border-color:#ffffff4d}.link-number{font-size:.8rem;font-weight:400;color:#ffffff80;letter-spacing:2px;min-width:30px;font-family:GeneralSans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.link-content{display:flex;flex-direction:column;gap:.5rem;flex:1}.link-title{font-size:1rem;font-weight:500;color:#fff;letter-spacing:3px;text-transform:uppercase;font-family:GeneralSans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:color .3s ease}.link-desc{font-size:.8rem;font-weight:300;color:#ffffffb3;line-height:1.5;letter-spacing:.8px;font-family:GeneralSans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.menu-links a:hover .link-title{color:#fff}.menu-links a:hover .link-desc{color:#ffffffe6}.menu-links a:hover .link-number{color:#fffc}.overlay-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.overlay-footer p{font-size:.9rem;font-weight:300;color:#fff9;letter-spacing:1px;text-align:center}@media(max-width:1024px){.overlay-content{width:40%;padding:2.5rem 1.5rem}.menu-section h2{font-size:1.2rem}.overlay-menu{gap:2.5rem;margin-top:4rem}}@media(max-width:768px){.overlay-content{width:80%;padding:2rem 1.5rem}.close-button{top:1.5rem;right:1.5rem;width:36px;height:36px}.close-button span{width:16px}.menu-section h2{font-size:1rem}.overlay-menu{gap:2rem;margin-top:3.5rem}.menu-links a{gap:.8rem;padding:.8rem 0}.link-title{font-size:.9rem}.link-desc{font-size:.7rem}}@media(max-width:480px){.overlay-content{width:100%;padding:2rem 1.25rem}.menu-links a{flex-direction:column;gap:.5rem}.link-number{align-self:flex-start}}.navbar{position:fixed;top:0;width:100%;background:transparent;z-index:1000;min-height:5rem;padding-bottom:2.4rem;padding-top:2.4rem;overflow:visible;transition:transform .6s cubic-bezier(.25,.46,.45,.94),opacity .6s cubic-bezier(.25,.46,.45,.94);zoom:1;transform-origin:center top}@media(min-width:1600px){.navbar{transform:scale(calc(1 / var(--viewport-zoom, 1)))}}.navbar.dark-theme{background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 24px #00000014}.navbar.transparent{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.navbar.mobile-open{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.navbar.dark-theme.mobile-open{background:transparent}.navbar-visible{transform:translateY(0);opacity:1}.nav-container{max-width:100%;margin:0 auto;padding:0 3rem;display:flex;justify-content:flex-end;align-items:center;position:relative;gap:1.5rem}.logo{color:#fff;text-decoration:none;transition:all .3s ease;display:flex;flex-direction:column;align-items:flex-start;line-height:1;position:absolute;left:1rem}.logo:hover{opacity:.8}.logo-image{height:200px;width:auto;object-fit:contain;transition:all .3s ease;image-rendering:auto}.navbar.dark-theme .logo,.navbar.dark-theme .nav-links a{color:#000}.navbar.dark-theme .nav-links a:after{background:#000}.navbar.dark-theme .center-logo-text{color:#000}.logo-text .logo-main{font-size:2.2rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;margin-bottom:.1rem;transition:color .3s ease}.logo-text .logo-sub{font-size:1rem;font-weight:300;letter-spacing:.45em;text-transform:uppercase;padding-left:.1rem;transition:color .3s ease}.nav-center{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.3rem}.center-logo-link{display:block;cursor:pointer;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.center-logo-link:hover{transform:scale(1.05)}.center-logo{height:180px;object-fit:contain;transition:opacity .3s ease;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;display:block}.center-logo-text{color:#fff;font-size:.65rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase}.nav-links{display:flex;list-style:none;gap:3rem;margin:0;padding:0;margin-right:0rem;align-items:center}.nav-actions{display:flex;align-items:center;gap:1.5rem;margin-left:auto}.nav-links a{color:#fff;text-decoration:none;font-size:1rem;letter-spacing:.25em;font-weight:400;text-transform:uppercase;position:relative;transition:all .3s cubic-bezier(.25,.46,.45,.94);-webkit-text-size-adjust:100%;text-size-adjust:100%}.nav-links a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background:#fff;transition:width .3s cubic-bezier(.25,.46,.45,.94)}.nav-links a:hover:after{width:100%}.nav-links a:hover{opacity:1}.hamburger{display:none;width:46px;height:46px;border-radius:50%;border:none;background:#0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:10px;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.hamburger span{display:block;width:20px;height:2px;background:#fff;transition:all .35s cubic-bezier(.25,.46,.45,.94)}.hamburger.dark{background:#ffffffe6}.hamburger.dark span{background:#000}.hamburger:hover{transform:scale(1.02)}.hamburger.open{transform:rotate(0) scale(.98)}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.projects-trigger{background:transparent;border:none;color:#fff;font-size:1rem;letter-spacing:.25em;font-weight:400;text-transform:uppercase;cursor:pointer;position:relative;transition:all .3s cubic-bezier(.25,.46,.45,.94);font-family:inherit}.navbar.dark-theme .projects-trigger{color:#000}.projects-trigger:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background:#fff;transition:width .3s cubic-bezier(.25,.46,.45,.94)}.navbar.dark-theme .projects-trigger:after{background:#000}.projects-trigger:hover:after{width:100%}.projects-trigger:hover{opacity:1}@media(max-width:1024px){.nav-container{padding:0 2rem}.logo{left:1rem}.nav-links{gap:2rem;margin-right:.25rem}.logo-image{height:150px}.center-logo{height:120px}}@media(max-width:900px){.nav-center{display:none}.hamburger{display:flex;z-index:1201}.nav-links{inset:.75rem;width:auto;min-height:calc(100vh - 1.5rem);flex-direction:column;justify-content:center;align-items:flex-start;gap:1.75rem;background:#0000004d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 72px #00000059;border-radius:18px;position:fixed;overflow:hidden;isolation:isolate;transform:translateY(-120%);opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.25,.46,.45,.94),opacity .3s ease;padding:6rem 2.25rem 2.75rem;z-index:1200;color:#fff}.nav-links:before{display:none}.navbar.dark-theme .nav-links{background:#0000004d}.nav-links.open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-links li{width:100%;max-width:520px;margin:0 auto;text-align:left;border-bottom:1px solid rgba(255,255,255,.15);padding:.5rem 0}.nav-links li:last-child{border-bottom:none}.nav-links a,.projects-trigger{font-size:1.05rem;letter-spacing:.28em;color:#fff;font-weight:600;width:100%;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase}.navbar.dark-theme .nav-links a,.navbar.dark-theme .nav-links .projects-trigger{color:#fff}.nav-links a:after,.projects-trigger:after{content:"";display:block;width:48px;height:1px;margin-left:1rem;background:linear-gradient(90deg,#fff9,#fff0);opacity:.6;transition:opacity .3s ease,transform .3s ease;transform:translate(-6px)}.nav-links a:before,.projects-trigger:before{content:"";width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#ffffff14;box-shadow:0 0 0 5px #ffffff0f;margin-right:1rem;transition:transform .3s ease,box-shadow .3s ease}.nav-links a:hover:after,.projects-trigger:hover:after{opacity:.95;transform:translate(0)}.nav-links a:hover:before,.projects-trigger:hover:before{transform:scale(1.1);box-shadow:0 0 0 6px #ffffff1f}.nav-actions{z-index:1202}.navbar.mobile-open .hamburger{background:#fffffff2;box-shadow:0 10px 30px #00000040}.navbar.mobile-open .hamburger span{background:#0b0b0b}}@media(max-width:768px){.navbar{height:auto;padding-top:.75rem;padding-bottom:.75rem}.nav-container{padding:0 1rem;justify-content:space-between}.logo{left:0;position:relative}.nav-center{display:none}.nav-links{gap:1.5rem;font-size:.75rem;margin-right:0}.nav-links a,.projects-trigger{padding:.5rem 0;min-height:44px;display:flex;align-items:center}.logo-image{height:110px}.logo-image--mobile{height:130px;margin-left:-2.25rem}.hamburger{width:44px;height:44px;padding:8px;gap:5px}.hamburger span{width:22px}}@media(max-width:480px){.navbar{height:auto;padding-top:.5rem;padding-bottom:.5rem}.nav-container{padding:0 .75rem}.logo{left:0}.nav-links{gap:2rem;font-size:.9rem;flex-wrap:nowrap}.nav-links a,.projects-trigger{padding:.4rem 0;letter-spacing:.15em}.logo-image{height:95px}.logo-image--mobile{height:110px;margin-left:-2.25rem}.hamburger{width:40px;height:40px;padding:7px;gap:4px}.hamburger span{width:20px}}.footer{background:#000;color:#fff;padding:4rem 0 2rem}.footer-container{max-width:1400px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-bottom:3rem}.footer-container .footer-column{display:flex;flex-direction:column}.footer-row-2{margin-top:auto}.footer-column ul{list-style:none;padding:0;margin:0}.footer-column li{margin-bottom:1rem}.footer-column a{color:#fff;text-decoration:none;font-size:.9rem;letter-spacing:1px;transition:opacity .3s}.footer-column a:hover{opacity:.7}.footer-column p{font-size:.9rem;line-height:1.8;margin:.3rem 0}.address-list{list-style:disc;padding-left:1.2rem;margin:.5rem 0 0}.address-list li{font-size:.9rem;line-height:1.8;margin-bottom:.5rem;color:#fff}.footer-bottom{max-width:1400px;margin:0 auto;padding:2rem 2rem 0;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center;align-items:center;position:relative}.social-links{display:flex;gap:1.5rem;position:absolute;left:2rem}.social-links a{color:#fff;transition:opacity .3s}.social-links a:hover{opacity:.7}.footer-links{display:flex;gap:2rem}.footer-links a{color:#fff;text-decoration:none;font-size:.8rem;transition:opacity .3s}.footer-links a:hover{opacity:.7}.language-selector{font-size:1.5rem;cursor:pointer}@media(max-width:1024px){.footer-container{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.footer-container{grid-template-columns:1fr;gap:2rem;text-align:center}.footer-bottom{flex-direction:column;gap:1.5rem}.footer-links{flex-direction:column;align-items:center;gap:1rem}.footer-column ul{display:inline-flex;flex-direction:column;align-items:center}}.whatsapp-container{position:fixed;bottom:3rem;right:3rem;z-index:1000;display:flex;flex-direction:column;align-items:center;gap:1rem}.whatsapp-toggle-button{width:60px;height:60px;background:#000;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px #0000004d;transition:all .3s ease;color:#fff;order:2}.whatsapp-toggle-button:hover{transform:scale(1.1);box-shadow:0 6px 25px #0006}.whatsapp-toggle-button:active{transform:scale(.95)}.whatsapp-button{width:60px;height:60px;background:#25d366;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px #25d36666;transition:all .3s ease;color:#fff;animation:slideIn .3s ease;order:1}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.whatsapp-button:hover{transform:scale(1.1);box-shadow:0 6px 25px #25d36699}.whatsapp-button:active{transform:scale(.95)}@media(max-width:768px){.whatsapp-container{bottom:1.5rem;right:1.5rem}.whatsapp-button,.whatsapp-toggle-button{width:55px;height:55px}.whatsapp-button svg,.whatsapp-toggle-button svg{width:22px;height:22px}}@media(max-width:480px){.whatsapp-container{bottom:1rem;right:1rem}.whatsapp-button,.whatsapp-toggle-button{width:50px;height:50px}.whatsapp-button svg,.whatsapp-toggle-button svg{width:20px;height:20px}}.hero{height:100vh;width:100%;display:flex;align-items:center;justify-content:center;position:relative;color:#fff;text-align:center;margin:0;padding:0;overflow:hidden;will-change:transform;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.hero:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle 300px at var(--mouse-x, 50%) var(--mouse-y, 50%),transparent 0%,transparent 150px,rgba(0,0,0,.3) 300px);pointer-events:none;transition:background .05s ease;z-index:1}.hero .hero-community-name,.hero .hero-content{position:relative;z-index:10}@media(max-width:768px){.hero:after{display:none}}@media(hover:none)and (pointer:coarse){.hero:after{display:none}}.hero-community-name{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12vw;font-weight:700;letter-spacing:.05em;color:#ffffff14;text-transform:uppercase;white-space:nowrap;z-index:5;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1}.hero-content{position:relative;z-index:10}.hero-icon{margin-bottom:2rem;animation:fadeInUp 1s ease-out}.hero-content h1{font-family:Optima;font-size:5.5rem;font-weight:400;margin-bottom:.5rem;letter-spacing:-.5px;animation:fadeInUp 1s ease-out;line-height:1.15;transition:color .3s ease-in-out}.hero-content h2{font-family:Optima;font-size:5.5rem;font-weight:400;margin-bottom:4rem;letter-spacing:-.5px;animation:fadeInUp 1s ease-out .2s both;line-height:1.15;transition:color .3s ease-in-out}.hero-content .btn{animation:fadeInUp 1s ease-out .4s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.hero-content h1,.hero-content h2{font-size:4rem}.hero-community-name{font-size:10vw}}@media(max-width:768px){.hero{padding:0}.hero-content h1{font-size:2.5rem}.hero-content h2{font-size:2rem}.hero-community-name{font-size:15vw}}@media(max-width:480px){.hero-content h1{font-size:2rem}.hero-content h2{font-size:1.8rem}.hero-content h1{margin-bottom:.8rem}.hero-content h2{margin-bottom:2rem}.hero-content{padding:0 1rem}}.btn{padding:1rem 3rem;font-size:.75rem;letter-spacing:.2em;font-weight:500;cursor:pointer;border:none;text-decoration:none;display:inline-block;text-align:center;font-family:inherit;position:relative;overflow:hidden;transition:all .3s ease;border-radius:8px}.btn-content{position:relative;z-index:1}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;transition:left .4s cubic-bezier(.25,.46,.45,.94);z-index:0}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.btn:active{transform:translateY(0);box-shadow:0 2px 8px #0003}.btn:hover:before{left:0}.btn-primary{background:#0000004d;color:#fff;border:1px solid white;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-primary:before{background:#ffffff1a}.btn-primary:hover{background:#00000080;color:#fff}.btn-dark{background:transparent;color:#000;border:2px solid black}.btn-dark:before{background:#000}.btn-dark:hover{color:#fff}.btn-solid{background:#000;color:#fff;border:2px solid black}.btn-solid:before{background:#fff}.btn-solid:hover{color:#000}@media(max-width:600px){.btn{padding:.75rem 1.5rem;font-size:.75rem;width:auto;max-width:100%}}.project-showcase{display:grid;grid-template-columns:1fr 1fr;min-height:600px;max-height:700px}.project-showcase.reverse{direction:rtl}.project-showcase.reverse>*{direction:ltr}.project-showcase.reverse .project-info{align-items:flex-end;text-align:right}.project-showcase.reverse .project-info p{margin-left:auto}.project-showcase.reverse .project-image img{object-position:center bottom}.project-image{position:relative;overflow:hidden;width:100%;height:100%;max-height:700px}.project-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.project-info{padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.project-showcase.dark{background:#000;color:#fff}.project-showcase.light{background:#f5f5f5;color:#333}.project-info h2{font-family:Optima;font-size:3.5rem;font-weight:400;margin-bottom:2.5rem;letter-spacing:-.5px;line-height:1.1}.project-info p{font-size:1rem;line-height:1.9;margin-bottom:2.5rem;color:inherit;opacity:.9;max-width:540px}@media(max-width:1024px){.project-showcase{grid-template-columns:1fr;min-height:auto;max-height:none}.project-showcase.reverse{direction:ltr}.project-image{min-height:400px}.project-info{padding:4rem 3rem}.project-info h2{font-size:2.2rem}}@media(max-width:768px){.project-info{padding:1.75rem 1.5rem 2rem;text-align:center;align-items:center;gap:0}.project-showcase.reverse .project-info{align-items:center;text-align:center}.project-showcase.reverse .project-info p{margin-left:0}.project-info h2{font-size:2rem;margin-bottom:1.25rem}.project-info p{font-size:1rem;margin-bottom:1.25rem}}@media(max-width:540px){.project-image{min-height:260px}.project-info{padding:1.25rem 1.25rem 1.75rem;text-align:center;align-items:center;gap:0}.project-info h2{font-size:1.6rem;margin-bottom:1rem}.project-info p{font-size:.95rem;margin-bottom:1rem}}.flashlight-image-container{position:relative;display:inline-block;overflow:hidden;width:100%;height:100%}.flashlight-image-base{display:block;width:100%;height:100%;object-fit:cover}.flashlight-image-reveal{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle 250px at var(--mouse-x, 50%) var(--mouse-y, 50%),transparent 0%,transparent 100px,rgba(0,0,0,.2) 250px);pointer-events:none;will-change:background}@media(hover:none)and (pointer:coarse){.flashlight-image-container{cursor:default}.flashlight-image-reveal{display:none}.flashlight-image-container:after{display:none}}@media(max-width:768px){.flashlight-image-reveal{display:none}.flashlight-image-container:after{display:none}}.contact-section{padding:6rem 0;background:#f5f5f5;color:#333}.contact-right h3{color:#000}.contact-container{max-width:1200px;margin:0 auto;padding:0 3rem;display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;align-items:start}.contact-left h2{font-family:Optima,serif;font-size:4.5rem;font-weight:300;line-height:1.2;letter-spacing:-.5px;color:#000}.underline-animated{position:relative;display:inline-block}.underline-animated:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:#000;transition:width .6s cubic-bezier(.25,.46,.45,.94)}.contact-section:hover .underline-animated:after{width:100%}.contact-right h3{font-size:1rem;letter-spacing:2px;margin-bottom:.5rem}.contact-right p{font-size:.9rem;color:#666;margin-bottom:2rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto auto;gap:1.2rem;align-items:start;max-width:600px}.field-group{display:flex;flex-direction:column;gap:.5rem}.field-group label{font-size:.75rem;font-weight:500;letter-spacing:1px;color:#333;text-transform:uppercase}.project-details{grid-column:2;grid-row:2 / 5}.dropdown-field{grid-column:1;grid-row:3}.contact-form input,.contact-form textarea,.contact-form select{padding:.8rem;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:.85rem;font-family:inherit;transition:border-color .3s}.contact-form input::placeholder,.contact-form textarea::placeholder,.contact-form select{color:#999}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:#333}.contact-form button{grid-column:span 2;justify-self:stretch}.contact-form select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem;padding-right:2.5rem;max-width:400px;padding:.75rem;font-size:.85rem}.contact-form textarea{resize:vertical;min-height:100px;max-height:140px}.contact-form button{justify-self:start}@media(max-width:1024px){.contact-container{grid-template-columns:1fr;gap:3rem}}@media(max-width:768px){.contact-section{padding:3rem 0}.contact-container{padding:0 1.5rem;gap:2.5rem}.contact-left h2{font-size:3rem;text-align:center}.contact-right,.contact-right h3,.contact-right p{text-align:center}.form-row{grid-template-columns:1fr;gap:1rem}.contact-form{max-width:100%;grid-template-columns:1fr;grid-template-rows:auto}.field-group,.project-details,.dropdown-field{grid-column:1;grid-row:auto}.contact-form input,.contact-form textarea,.contact-form select{padding:1rem;font-size:1rem;min-height:48px;width:100%}.contact-form select{max-width:100%}.contact-form textarea{min-height:120px}.contact-form button{grid-column:1;width:auto;justify-self:center}}@media(max-width:480px){.contact-section{padding:2.5rem 0}.contact-container{padding:0 1rem;gap:2rem}.contact-left h2{font-size:2rem;text-align:center;line-height:1.1}.contact-right h3{font-size:.9rem}.contact-right p{font-size:.85rem}.contact-form{gap:1rem;grid-template-columns:1fr}.field-group label{font-size:.7rem}.contact-form input,.contact-form textarea,.contact-form select{padding:.9rem;font-size:.95rem}}.communities-section{padding:5rem 0 6rem;background:#fff;text-align:center;overflow:hidden}.communities-section h2{font-family:Optima;font-size:3rem;font-weight:400;margin-bottom:4rem;letter-spacing:-.5px;color:#333}.communities-strip-wrapper{width:100%;overflow:hidden;position:relative;padding:2rem 0}.communities-logos-strip{display:flex;gap:2rem;width:max-content;will-change:transform}.community-logo-item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;min-width:200px;padding:.5rem;margin-left:-1rem;transition:all .3s ease}.community-logo-item img{max-width:120px;max-height:120px;width:auto;height:auto;object-fit:contain;opacity:.8;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.communities-logos-strip:hover .community-logo-item img{opacity:.6}.community-logo-item:hover img{opacity:1!important}.community-name{font-size:.75rem;color:#333;letter-spacing:1px;font-weight:400;text-align:center;text-transform:uppercase;line-height:1.4;max-width:200px}@media(max-width:768px){.communities-section{padding:3rem 0}.communities-section h2{font-size:2rem;margin-bottom:2rem}.communities-logos-strip{gap:1rem}.community-logo-item{min-width:180px}.community-logo-item img{max-width:110px;max-height:70px}.community-name{letter-spacing:.5px}}@media(max-width:480px){.communities-section{padding:2.5rem 0}.communities-logos-strip{gap:.5rem}.community-logo-item{min-width:120px;margin-left:-.5rem}}.project-card-link{text-decoration:none;color:inherit;display:contents}.project-card{position:relative;overflow:hidden;cursor:pointer;transition:all .6s cubic-bezier(.25,.46,.45,.94);width:100%;height:100%;isolation:isolate;flex:1}.project-card:before{content:"";position:absolute;inset:0;border:none;z-index:20;pointer-events:none;transition:border-color .3s ease}.project-card:hover:before{border:none}.project-card:not(:last-child):after{content:"";position:absolute;top:10%;right:0;width:2px;height:80%;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.2) 10%,rgba(255,255,255,.6) 30%,rgba(255,255,255,.8) 50%,rgba(255,255,255,.6) 70%,rgba(255,255,255,.2) 90%,transparent 100%);z-index:10;transition:all .4s cubic-bezier(.25,.46,.45,.94);border-radius:1px;box-shadow:0 0 8px #ffffff4d}.project-card:not(:last-child):hover:after,.three-cards-section:has(.project-card.is-hovered) .project-card:not(:last-child):after{opacity:1;width:3px;box-shadow:0 0 12px #ffffff80;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.3) 10%,rgba(255,255,255,.7) 30%,rgba(255,255,255,1) 50%,rgba(255,255,255,.7) 70%,rgba(255,255,255,.3) 90%,transparent 100%)}.project-card-image{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.project-card-image .flashlight-wrapper,.project-card-image .flashlight-image-container{width:100%;height:100%}.project-card-image .flashlight-image-base,.project-card-image .flashlight-image-reveal{width:100%;height:100%;object-fit:cover;object-position:center center}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:opacity .6s cubic-bezier(.25,.46,.45,.94)}.project-card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000004d,#000000b3);transition:background .6s cubic-bezier(.25,.46,.45,.94)}.three-cards-section:has(.project-card.is-hovered) .project-card-image img{opacity:0}.three-cards-section:has(.project-card.is-hovered) .project-card.is-hovered .project-card-image img{opacity:0}.three-cards-section:has(.project-card.is-hovered) .project-card-overlay{background:linear-gradient(to bottom,transparent 20%,rgba(0,0,0,.8))}.project-card-content{position:absolute;bottom:2rem;left:0;right:0;color:#fff;z-index:10;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:all .6s cubic-bezier(.25,.46,.45,.94);padding:0 2rem}.project-card-logo{margin-top:1rem;margin-bottom:-2.5rem;z-index:5;transition:all .6s cubic-bezier(.25,.46,.45,.94)}.project-card-logo img{width:200px;height:200px;object-fit:contain;transition:all .6s cubic-bezier(.25,.46,.45,.94)}.project-card-category{font-size:.65rem;font-weight:400;letter-spacing:.25em;text-transform:uppercase;margin:0;transition:all .6s cubic-bezier(.25,.46,.45,.94)}.project-card-content h3{font-size:1.2rem;font-weight:300;letter-spacing:2px;margin-bottom:1rem;z-index:15;position:relative}.project-card-content p{font-size:.95rem;line-height:1.6;margin-bottom:1.5rem;max-width:500px}@media(max-width:768px){.project-card:before{border-width:2px}.project-card-content{bottom:1.25rem;padding:0 1.5rem}.project-card-logo{margin-bottom:-1.5rem}.project-card-logo img{width:150px;height:150px}.project-card{-webkit-tap-highlight-color:transparent}.project-card:active{transform:scale(.98)}}@media(max-width:480px){.project-card-content{bottom:1rem;padding:0 1rem}.project-card-logo img{width:120px;height:120px}.project-card-category{letter-spacing:.18em}}.home-page{position:relative}.home-page>*:not(.hero){position:relative;z-index:1}.about-soule{padding:4rem 0;background:#fff;margin-top:0;position:relative;z-index:1}.about-content{max-width:1400px;margin:0 auto;padding:0 4rem}.about-header{margin-bottom:2rem;position:relative}.about-header h2{font-family:Optima;font-size:5rem;font-weight:300;letter-spacing:-1px;margin:0;display:inline-block;position:relative;z-index:5}.about-header h2:after{content:"";position:absolute;bottom:0rem;left:0;width:0;height:3px;background:#000;transition:width .6s cubic-bezier(.25,.46,.45,.94);z-index:20}.about-soule:hover .about-header h2:after{width:100%}.about-body{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:start}.about-text-columns{display:flex;gap:3rem;max-width:900px}.about-text-columns p{font-size:1rem;line-height:1.9;color:#333;font-weight:300;margin:0;flex:1}.about-button{display:flex;align-items:flex-start;padding-top:.5rem}.three-cards-section{display:flex;height:100vh;min-height:700px;margin-bottom:0;position:relative;z-index:1;gap:0}.three-cards-section .project-card:nth-child(1){animation:fadeInUp .8s ease-out .2s both}.three-cards-section .project-card:nth-child(2){animation:fadeInUp .8s ease-out .4s both}.three-cards-section .project-card:nth-child(3){animation:fadeInUp .8s ease-out .6s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.three-cards-section{grid-template-columns:1fr;min-height:auto;height:auto}}.about-text{max-width:900px;margin:0 auto 3rem}.about-text p{font-size:1.05rem;line-height:1.8;margin-bottom:1.5rem;color:#555}.home-page>section{position:relative;clear:both}.home-page .project-showcase{margin-top:0;position:relative;z-index:0}.categories{display:grid;grid-template-columns:repeat(3,1fr);min-height:500px;max-height:600px}.category-item{position:relative;overflow:hidden;cursor:pointer}.category-item img{width:100%;height:100%;object-fit:cover;display:block}.category-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.7));display:flex;align-items:flex-end;justify-content:center;padding:2.5rem;transition:background .3s}.category-item:hover .category-overlay{background:linear-gradient(to bottom,transparent 20%,rgba(0,0,0,.8))}.category-overlay h3{color:#fff;font-size:1.3rem;font-weight:300;letter-spacing:3px}@media(max-width:1024px){.categories{grid-template-columns:1fr;height:auto}.category-item{height:400px}}@media(max-width:1024px){.about-body{grid-template-columns:1fr;gap:3rem}.about-text-columns{flex-direction:column;gap:1.5rem}.about-button{justify-content:flex-start}}@media(max-width:768px){.about-content{padding:0 1.5rem}.about-header h2{font-size:3rem}.about-body{grid-template-columns:1fr;gap:2rem;text-align:center;justify-items:center}.about-text-columns{flex-direction:column;gap:1.5rem}.about-text-columns p{font-size:.95rem}.about-header{text-align:center}.about-header h2{display:block}.about-header h2:after{left:50%;transform:translate(-50%)}.about-button{justify-content:center}.three-cards-section{flex-direction:column;height:auto;min-height:auto;gap:1.25rem;padding:1.5rem}.three-cards-section .project-card{min-height:320px}.category-item{height:60vh;min-height:400px}}@media(max-width:480px){.about-content{padding:0 1rem}.about-body{gap:1.5rem}.about-header h2{font-size:2.5rem}.about-text-columns p{font-size:.9rem;line-height:1.7}.three-cards-section{padding:1rem;gap:1rem}.three-cards-section .project-card{min-height:260px}.category-item{height:50vh;min-height:350px}.category-item h3{font-size:1.2rem}}.about-page{padding-top:0;overflow-x:hidden;max-width:100vw}.about-hero{position:relative;min-height:100vh;background:linear-gradient(#000c,#000c),url(/assets/images/about-hero.webp) center/cover;display:flex;align-items:center;justify-content:center;color:#fff;padding:4rem 2rem;width:100%;max-width:100vw;overflow-x:hidden}.about-hero-content{max-width:1000px;text-align:center;position:relative;z-index:1}.about-hero-content h1{font-family:Optima,serif;font-size:3rem;font-weight:300;letter-spacing:-.5px;margin-bottom:6rem;color:#fff;display:inline-block;padding:.85rem 1.75rem;background:#00000073;border-radius:10px;box-shadow:0 18px 48px #00000080}.soule-with-underline{position:relative;display:inline-block}.underline-overlay{position:absolute;bottom:-8px;left:0;right:0;height:3px;background:#fff;border-radius:1.5px}.about-text-content{max-width:800px;margin:0 auto}.about-hero-content p{font-size:1.2rem;line-height:1.8;margin-bottom:2.5rem;font-weight:300;color:#ffffffe6}.team-section{padding:6rem 0;background:#000;width:100%;overflow-x:hidden}.team-grid{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(2,1fr);gap:4rem}.team-member{text-align:center}.team-photo{width:100%;max-width:400px;margin:0 auto 2rem;overflow:hidden}.team-photo img{width:100%;height:auto;display:block}.team-member h3{font-family:Optima,serif;font-size:4rem;font-weight:300;margin-bottom:.5rem;letter-spacing:-.5px;color:#fff}.team-member p{font-size:1.2rem;letter-spacing:2px;color:#ccc}.mission-vision{padding:4rem 0;background:#f5f5f5;width:100%;overflow-x:hidden}.mission-vision-grid{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1px 1fr;gap:4rem;align-items:center}.divider{height:150px;background:#ddd}.mission h2,.vision h2{font-size:1.2rem;letter-spacing:3px;margin-bottom:1.5rem;font-weight:400}.mission p,.vision p{font-size:1rem;line-height:1.8;color:#555}.core-values{padding:6rem 0;background:#fff;text-align:center;width:100%;overflow-x:hidden}.core-values h2{text-align:left;font-family:Optima,serif;font-size:3.2rem;font-weight:300;margin-bottom:4rem;letter-spacing:-.5px;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:2rem}.values-grid{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 2rem;align-items:start}.value-item:nth-child(1){grid-column:1;grid-row:1}.value-item:nth-child(2){grid-column:2;grid-row:1}.value-item:nth-child(3){grid-column:3;grid-row:1}.value-item:nth-child(4){grid-column:1;grid-row:2}.value-item:nth-child(5){grid-column:2;grid-row:2}.value-item{text-align:left}.value-item h3{font-size:1.4rem;font-weight:600;margin-bottom:.8rem;letter-spacing:.5px;color:#000}.value-item p{font-size:.9rem;line-height:1.6;color:#666;font-weight:400}.services-section{padding:6rem 0;background:#fff;border-top:1px solid #e0e0e0;width:100%;overflow-x:hidden}.services-section h2{text-align:left;font-family:Optima,serif;font-size:3.2rem;font-weight:300;margin-bottom:4rem;letter-spacing:-.5px;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:2rem}.services-grid{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1px 1fr;grid-template-rows:1fr 1px 1fr;gap:4rem;align-items:start}.service-item:nth-child(1){grid-column:1;grid-row:1}.service-item:nth-child(2){grid-column:3;grid-row:1}.service-item:nth-child(3){grid-column:1;grid-row:3}.service-item:nth-child(4){grid-column:3;grid-row:3}.services-grid:before{content:"";grid-column:2;grid-row:1 / 4;background:#ddd;width:1px;justify-self:center}.services-grid:after{content:"";grid-column:1 / 4;grid-row:2;background:#ddd;height:1px;align-self:center}.service-item h3{font-size:1.6rem;font-weight:600;margin-bottom:1.2rem;letter-spacing:.5px;color:#000}.service-item p{font-size:.95rem;line-height:1.7;color:#555;margin-bottom:1.5rem;font-weight:400}.applications{color:#888!important;font-size:.9rem!important}@media(max-width:1024px){.team-grid,.services-grid{grid-template-columns:1fr}.values-grid{grid-template-columns:repeat(2,1fr);gap:2rem}.value-item:nth-child(1),.value-item:nth-child(2),.value-item:nth-child(3),.value-item:nth-child(4),.value-item:nth-child(5){grid-column:auto;grid-row:auto}.services-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:3rem}.services-grid:before,.services-grid:after{display:none}.service-item:nth-child(1),.service-item:nth-child(2),.service-item:nth-child(3),.service-item:nth-child(4){grid-column:auto;grid-row:auto}.mission-vision-grid{grid-template-columns:1fr}.divider{width:150px;height:1px;justify-self:center}}@media(max-width:768px){.about-page{padding-top:0;margin-top:0}.about-hero{padding:120px 1.5rem 3rem;margin-top:0;min-height:auto}.about-hero-content{max-width:100%;text-align:center}.about-text-content{max-width:100%;width:100%}.about-hero-content h1{font-size:2.2rem;letter-spacing:4px;margin-bottom:2.5rem}.about-hero-content p{font-size:1rem;line-height:1.75;margin-bottom:1.5rem;text-align:center}.team-grid{grid-template-columns:1fr;gap:2rem}.team-member h3{font-size:2.5rem}.team-member p{font-size:1rem}.services-grid{grid-template-columns:1fr;gap:2.5rem}.values-grid{grid-template-columns:1fr;gap:2rem;padding:0 1.5rem}.core-values h2,.services-section h2{text-align:center;padding-left:1.5rem;padding-right:1.5rem;font-size:2.5rem;margin-bottom:2.5rem}.value-item:nth-child(1),.value-item:nth-child(2),.value-item:nth-child(3),.value-item:nth-child(4),.value-item:nth-child(5){grid-column:auto;grid-row:auto}.value-item,.service-item{text-align:center}.services-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:2.5rem}.services-grid:before,.services-grid:after{display:none}.service-item:nth-child(1),.service-item:nth-child(2),.service-item:nth-child(3),.service-item:nth-child(4){grid-column:auto;grid-row:auto}}@media(max-width:480px){.about-page{padding-top:0;margin-top:0}.about-hero{padding:110px 1rem 2.5rem;margin-top:0;min-height:auto;align-items:center}.about-hero-content{text-align:center}.about-text-content{max-width:100%}.about-hero-content h1{font-size:1.8rem;letter-spacing:3px;margin-bottom:2rem}.about-hero-content p{font-size:.9rem;line-height:1.65;margin-bottom:1.2rem;text-align:center}.team-section,.services-section,.core-values{padding:3rem 0}.team-grid,.services-grid{padding:0 1rem}.mission-vision{padding:3rem 0}.mission-vision-grid{grid-template-columns:1fr;gap:2rem;padding:0 1rem;text-align:center}.divider{display:none}.values-grid{grid-template-columns:1fr;padding:0 1rem}.core-values h2,.services-section h2{text-align:center;padding-left:1rem;padding-right:1rem;font-size:2rem}}.portfolio-page{padding-top:8.5rem}.portfolio-hero{background:#555;color:#fff;max-width:1600px;margin:0 auto;padding:3rem 0 3rem 7rem;text-align:left}.portfolio-hero h1{font-family:Optima;font-size:2.5rem;font-weight:400;letter-spacing:-.5px}.portfolio-nav{background:#fff;border-bottom:1px solid #e0e0e0;position:static}.portfolio-nav ul{max-width:1600px;margin:0 auto;display:flex;gap:3rem;list-style:none;padding:0 3rem 0 8.8rem;justify-content:flex-start}.portfolio-nav button{background:none;border:none;padding:1.5rem 0;font-size:.9rem;letter-spacing:2px;cursor:pointer;color:#666;transition:color .3s;font-family:inherit;position:relative}.portfolio-nav li.active button{color:#000}.portfolio-nav li.active button:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#000}.portfolio-nav button:hover{color:#000}.portfolio-grid{max-width:100%;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}.portfolio-item{position:relative;aspect-ratio:1;overflow:hidden;cursor:pointer;border:none;text-decoration:none;color:inherit;display:block}.portfolio-item img{width:100%;height:100%;object-fit:cover;display:block;transition:filter .4s ease,transform .4s ease}.portfolio-item:hover img{filter:brightness(.4);transform:scale(1.03)}.portfolio-overlay{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:2rem 1.5rem;opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease}.portfolio-item:hover .portfolio-overlay{opacity:1;transform:translateY(0)}.portfolio-overlay h3{color:#fff;font-size:.85rem;font-weight:300;letter-spacing:2px;text-align:left}.portfolio-item-type{color:#ffffffb3;font-size:.7rem;font-weight:300;letter-spacing:1px;text-align:left;margin-top:.3rem}@media(max-width:1024px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}.portfolio-nav ul{padding-left:4rem;gap:2rem}}@media(max-width:768px){.portfolio-page{padding-top:0}.portfolio-hero{margin-top:90px;padding:2rem 1.5rem;text-align:center}.portfolio-hero h1{font-size:2rem}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:1px}.portfolio-nav{padding:0;border-bottom:1px solid #e0e0e0}.portfolio-nav ul{gap:1rem;overflow-x:auto;padding:0 1rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.portfolio-nav ul::-webkit-scrollbar{display:none}.portfolio-nav button{white-space:nowrap;font-size:.75rem;padding:1rem .5rem;min-width:80px;letter-spacing:1px}.portfolio-item{aspect-ratio:1.2}}@media(max-width:480px){.portfolio-page{padding-top:0}.portfolio-hero{margin-top:80px;padding:1.5rem 1rem;text-align:center}.portfolio-hero h1{font-size:1.8rem}.portfolio-grid{grid-template-columns:1fr;gap:2px}.portfolio-nav ul{gap:.75rem;padding:0 .75rem}.portfolio-nav button{font-size:.65rem;padding:.75rem .25rem;min-width:70px;letter-spacing:.5px}.portfolio-item{aspect-ratio:1.3}.portfolio-overlay h3{font-size:.7rem;letter-spacing:1px}}.project-detail-page{padding-top:0;margin-top:0;background:#000;color:#fff}.back-link{display:inline-block;font-size:.8rem;letter-spacing:2px;color:#ffffffb3;text-decoration:none;margin-bottom:1.5rem;transition:color .3s}.back-link:hover{color:#fff}.enhanced-project-hero{position:relative;min-height:100vh;background-color:#000;display:flex;align-items:flex-end;color:#fff;margin-top:0;overflow:hidden}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.hero-background--flipped .flashlight-image-base,.hero-background--flipped .hero-bg-image{transform:scaleX(-1)}.hero-background .flashlight-image-base,.hero-bg-image{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}.hero-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000d9);padding:4rem 0 3rem;z-index:1}.hero-content-wrapper{max-width:100%;margin:0 auto;padding:0 4rem;display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:end}.project-title-section h1.project-main-title{font-family:Optima,serif;font-size:4.5rem;font-weight:300;margin-bottom:1.5rem;letter-spacing:-.5px;line-height:1.1}.project-subtitle{font-size:1.1rem;line-height:1.7;font-weight:300;color:#ffffffe6;max-width:600px}.project-specs-grid{display:flex;flex-direction:column;gap:1rem}.spec-row{display:flex;flex-direction:column;gap:.3rem}.spec-label{font-size:.8rem;font-weight:600;letter-spacing:2px;color:#ffffffb3;text-transform:uppercase}.spec-value{font-size:1rem;font-weight:300;color:#fff;line-height:1.4}.project-content-section{padding:6rem 0;background:#000}.content-container{max-width:100%;margin:0 auto;padding:0 4rem}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:6rem}.content-left{display:flex;flex-direction:column;gap:4rem}.detail-block{margin-bottom:2rem}.detail-title{font-size:.9rem;font-weight:600;letter-spacing:3px;margin-bottom:1.5rem;color:#ffffffb3;text-transform:uppercase}.detail-text{font-size:1rem;line-height:1.8;color:#ffffffe6;font-weight:300}.technologies-list{list-style:none;padding:0;margin:0}.tech-item{font-size:1rem;line-height:2;color:#ffffffe6;padding-left:1.5rem;position:relative;font-weight:300}.tech-item:before{content:"•";position:absolute;left:0;color:#ffffffb3;font-weight:700}.project-gallery-section{padding:0;background:#000}.gallery-container{max-width:100%;margin:0 auto;padding:0;display:block}.gallery-row{display:grid;grid-template-columns:2fr 1fr;gap:0;margin:0;padding:0;width:100%;height:100vh;max-height:56.25vw}.gallery-row--right{grid-template-columns:1fr 2fr}.gallery-row--right .gallery-row__large{order:2}.gallery-row--right .gallery-row__stack{order:1}.gallery-row__large{overflow:hidden;background:transparent;cursor:pointer}.gallery-row__large img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform .5s ease}.gallery-row__large:hover img{transform:scale(1.02)}.gallery-row__stack{display:grid;grid-template-rows:1fr 1fr;gap:0;height:100%;min-height:0}.gallery-row__small{overflow:hidden;background:transparent;cursor:pointer;min-height:0}.gallery-row__small img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform .5s ease}.gallery-row__small:hover img{transform:scale(1.02)}.gallery-row--full{display:block;margin:0;padding:0;width:100%;height:100vh;max-height:56.25vw}.gallery-row__full-img{overflow:hidden;cursor:pointer;width:100%;height:100%}.gallery-row__full-img img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}.gallery-row--half{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;padding:0;width:100%;height:100vh;max-height:56.25vw}.gallery-row__half-img{overflow:hidden;cursor:pointer}.gallery-row__half-img img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;-webkit-user-select:none}.lightbox-image{height:85vh;width:auto;max-width:92vw;object-fit:contain;cursor:default;animation:lightboxImageFade .35s ease}@keyframes lightboxImageFade{0%{opacity:0}to{opacity:1}}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:#00000080;border:none;color:#fff;font-size:1.6rem;cursor:pointer;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10001;transition:background .2s ease,opacity .3s ease}.lightbox-close:hover{background:#ffffff26}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;border:none;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10001;transition:background .2s ease,transform .15s ease}.lightbox-nav:hover{background:#ffffff2e}.lightbox-nav:active{transform:translateY(-50%) scale(.94)}.lightbox-nav--prev{left:1.5rem}.lightbox-nav--next{right:1.5rem}@media(max-width:640px){.lightbox-nav{width:44px;height:44px}.lightbox-nav--prev{left:.75rem}.lightbox-nav--next{right:.75rem}.lightbox-close{top:1rem;right:1rem;width:40px;height:40px;font-size:1.3rem}.lightbox-counter{display:none}}.project-navigation{padding:4rem 0;background:#0a0a0a;border-top:1px solid rgba(255,255,255,.1)}.project-nav-container{max-width:100%;margin:0 auto;padding:0 4rem;display:flex;justify-content:space-between;align-items:center}.project-nav-link{text-decoration:none;color:#fff;display:flex;align-items:center;gap:1rem;transition:opacity .3s}.project-nav-link:hover{opacity:.7}.project-nav-link svg{flex-shrink:0;opacity:.7}.project-nav-next{margin-left:auto;text-align:right}.project-nav-text{display:flex;flex-direction:column;gap:.3rem}.project-nav-label{font-size:.75rem;letter-spacing:2px;color:#ffffff80;text-transform:uppercase}.project-nav-title{font-family:Optima,serif;font-size:1.5rem;font-weight:300}.project-nav-spacer{flex:1}@media(max-width:1024px){.hero-content-wrapper{grid-template-columns:1fr;gap:3rem;text-align:center;padding:0 2rem}.project-main-title{font-size:3.5rem!important}.content-grid{grid-template-columns:1fr;gap:4rem}.content-container{padding:0 2rem}.gallery-row{grid-template-columns:3fr 2fr}.gallery-row--right{grid-template-columns:2fr 3fr}}@media(max-width:768px){.enhanced-project-hero{min-height:60vh}.hero-overlay{padding:3rem 0 .5rem}.hero-content-wrapper{padding:0 1.5rem;text-align:left;gap:2rem}.back-link{font-size:.7rem;margin-bottom:1rem}.project-main-title{font-size:2.5rem!important;line-height:1.2}.project-subtitle{font-size:.95rem;line-height:1.6}.project-specs-grid{gap:1rem}.spec-label{font-size:.7rem;letter-spacing:1.5px}.spec-value{font-size:.9rem}.project-content-section{padding:3rem 0}.content-container{padding:0 1.5rem}.content-grid{gap:3rem}.content-left{gap:2.5rem}.detail-block{margin-bottom:0}.detail-title{font-size:.8rem;letter-spacing:2px;margin-bottom:1rem}.detail-text{font-size:.9rem;line-height:1.7}.gallery-container{padding:0}.gallery-row,.gallery-row--right{height:auto;max-height:none;aspect-ratio:4 / 5}.gallery-row__large,.gallery-row__small,.gallery-row__half-img,.gallery-row__full-img{height:100%}.gallery-row--full,.gallery-row--half{height:auto;max-height:none;aspect-ratio:auto}.project-nav-container{padding:0 1.5rem;flex-direction:column;gap:2rem;align-items:flex-start}.project-nav-next{text-align:left;margin-left:0}.project-nav-title{font-size:1.2rem}}@media(max-width:480px){.enhanced-project-hero{min-height:50vh}.hero-overlay{padding:2.5rem 0 .5rem}.hero-content-wrapper{padding:0 1rem;gap:1.5rem}.project-main-title{font-size:1.8rem!important;line-height:1.15;margin-bottom:1rem}.project-subtitle{font-size:.85rem;line-height:1.5}.project-specs-grid{gap:.8rem}.spec-label{font-size:.65rem;letter-spacing:1px}.spec-value{font-size:.85rem;line-height:1.3}.project-content-section,.project-gallery-section{padding:2.5rem 0}.content-container{padding:0 1rem}.gallery-container{padding:0}.content-left{gap:2rem}.detail-title{font-size:.75rem;letter-spacing:1.5px;margin-bottom:.8rem}.detail-text{font-size:.85rem;line-height:1.65}.tech-item{font-size:.85rem;line-height:1.8}}.App{min-height:100vh;display:flex;flex-direction:column}main{flex:1}
