:root{--primary: #132974;--white: #ffffff;--hover-bg: #f0f0f0;--brand-gray: #b4b5ae;--primary-hover: #1a3a8c}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:#f9f9f9;color:var(--primary);line-height:1.6}.nav{position:fixed;top:0;left:0;right:0;height:60px;background:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:1000;box-shadow:0 2px 8px #0000000d}.logo-container{display:flex;align-items:center;gap:.5rem}.logo-image{height:40px;width:auto;display:block}.hamburger{width:40px;height:30px;background:transparent;border:none;display:flex;flex-direction:column;justify-content:space-around;cursor:pointer;padding:4px}.hamburger span{height:3px;width:100%;background:var(--primary);border-radius:2px;transition:background .3s ease}.hamburger:hover span{background:var(--primary-hover)}.menu{position:absolute;top:60px;right:1.5rem;background:var(--white);padding:.75rem;display:flex;flex-direction:column;border-radius:0 0 4px 4px}.menu button{background:none;border:none;padding:.6rem 1rem;text-align:left;cursor:pointer;font-size:.95rem;color:var(--primary);border-radius:6px;transition:background .2s ease}.menu button:hover{background:var(--hover-bg)}.hero{position:relative;min-height:100vh;background:url(https://res.cloudinary.com/dcuthvguy/image/upload/q_auto,f_auto,w_1920/v1773791747/web_cover_vy1zbt.jpg) center / cover no-repeat;color:var(--white);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 2rem;text-align:center}.hero:before{content:"";position:absolute;inset:0;background:#00000059}.hero h1,.hero p,.hero-button{position:relative;z-index:1;max-width:900px}.hero h1{font-size:clamp(2.2rem,5vw,3rem);margin-bottom:1rem}.hero p{font-size:1.1rem;margin-bottom:2rem}.hero-button{padding:.75rem 2.25rem;font-size:1.05rem;font-weight:600;background:var(--primary);color:var(--white);border:none;border-radius:6px;cursor:pointer;transition:background .3s ease}.hero-button:hover{background:var(--primary-hover)}.section{padding:6rem 2rem;min-height:100vh}.section h2{font-size:2rem;margin-bottom:1.75rem;text-align:center;color:var(--primary);font-weight:600}.services{background:var(--white)}.services-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.services-content h2{font-size:2rem;margin-bottom:1.5rem}.services-list{list-style:none;display:grid;grid-template-columns:1.2fr 1fr;gap:1rem 2rem;margin-bottom:1.5rem}.services-list li{position:relative;padding-left:1.25rem}.services-list li:before{content:"•";position:absolute;left:0;color:var(--primary);font-weight:700}.services-carousel{position:relative;width:100%;aspect-ratio:3 / 2;border-radius:8px;overflow:hidden;background:#eee}.services-carousel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease-in-out}.services-carousel img.active{opacity:1}.about{background:#f9f9f9;color:var(--primary);max-width:1000px;margin:0 auto;padding:6rem 2rem;min-height:100vh}@media(min-width:900px){.about{min-height:30vh}}.about h2{font-size:2rem;margin-bottom:1.75rem;text-align:center}.about p{font-size:1rem;line-height:1.65;margin-bottom:1.5rem;color:#333;max-width:800px;margin-left:auto;margin-right:auto}.projects{padding:6rem 2rem;min-height:100vh}@media(min-width:900px){.projects{min-height:50vh}}.projects-container{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;align-items:stretch}.project-carousel-container{flex:1 1 350px;max-width:600px;display:flex;flex-direction:column;margin-bottom:2rem}.project-carousel-container.full-width{flex:1 1 100%;max-width:calc(1200px + 2rem);width:100%}.project-carousel-container.full-width .project-carousel-wrapper{height:350px}.project-carousel-container.full-width .carousel-item{width:320px;min-width:320px}.carousel-label{margin-bottom:.5rem;font-size:.9rem;font-weight:500;text-transform:uppercase;color:var(--primary);opacity:.8}.project-carousel-wrapper{position:relative;height:300px;contain:layout paint}.project-carousel{display:flex;gap:.75rem;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;align-items:stretch}.carousel-item{flex:0 0 auto;height:100%;width:260px;min-width:260px;max-width:380px;position:relative;border-radius:8px;overflow:hidden;cursor:pointer;scroll-snap-align:start;background:#e6e6e6}.carousel-item:before{content:"";position:absolute;inset:0;background:#e6e6e6;z-index:0;transition:opacity .4s ease}.carousel-item img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease;position:relative;z-index:1}.carousel-item.loaded img{opacity:1}.carousel-item.loaded:before{opacity:0;pointer-events:none}.project-carousel::-webkit-scrollbar{display:none}.project-carousel{-ms-overflow-style:none;scrollbar-width:none}.desktop-arrow{position:absolute;top:50%;transform:translateY(-50%);font-size:2rem;background:#00000040;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;z-index:10;transition:background .2s ease}.desktop-arrow:hover{background:#00000073}.desktop-arrow.left{left:.25rem}.desktop-arrow.right{right:.25rem}.lightbox{position:fixed;inset:0;background:#000000d9;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:2000;cursor:zoom-out;padding:1rem}.lightbox img{max-width:90%;max-height:80%;border-radius:8px;margin-bottom:.5rem}.lightbox p{color:#fff;font-size:1rem;text-align:center}.contact{background:#f9f9f9;color:var(--primary);padding:6rem 2rem}.contact-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:1000px;margin:0 auto;gap:2rem;min-height:50vh;box-sizing:border-box}@media(min-width:900px){.contact-inner{flex-direction:row;align-items:center;justify-content:center;gap:3rem}}.contact-logo,.contact-info{display:flex;flex-direction:column;align-items:center;justify-content:center}.contact-logo img{height:80px;width:auto;object-fit:contain;display:block;margin-bottom:1rem;padding:10px}.contact-info{max-width:600px;text-align:center}@media(min-width:900px){.contact-info{text-align:left}}.contact-info h2{font-size:2rem;margin-bottom:1.5rem;color:var(--primary)}.contact-info p{font-size:1rem;line-height:1.6;margin-bottom:1rem;color:#333;word-wrap:break-word}.contact-facebook-button{display:inline-block;margin:1rem 0;padding:.6rem 1.5rem;background:var(--primary);color:var(--white);text-decoration:none;border-radius:6px;font-weight:600;transition:background .3s ease}.contact-facebook-button:hover{background:var(--primary-hover)}.contact-email{user-select:text;-webkit-user-select:text;color:var(--primary)}.contact-email a{color:var(--primary)}.contact-email{cursor:text}.contact-link{color:var(--primary);text-decoration:underline;font-weight:500;transition:color .2s ease}.contact-link:visited,.contact-link:active,.contact-link:focus{color:var(--primary)}.contact-link:hover{color:var(--primary-hover)}@media(max-width:900px){.contact{padding:4rem 1.5rem}.contact-inner{gap:2rem;width:100%}.contact-info{max-width:100%}}@media(max-width:900px){.services-inner,.services-list{grid-template-columns:1fr}.about{padding:4rem 1.5rem}.about p{font-size:.95rem}.projects-container{flex-direction:column;align-items:center}.project-carousel-container{flex:1 1 100%;max-width:100%;margin-bottom:1.5rem}.carousel-item,.project-carousel-container.full-width .carousel-item{width:75vw;min-width:220px;max-width:300px}.contact-inner{flex-direction:column;align-items:center;gap:2rem}.contact-info{text-align:center}}
