body{font-family:'Inter',sans-serif;margin:0;padding:0;overflow-x:hidden;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}:root{--mobile-padding:1rem;--tablet-padding:1.5rem;--desktop-padding:2rem;--touch-target:44px;--mobile-font:.875rem;--tablet-font:1rem;--desktop-font:1.125rem;--orange:#f97316;--orange-hover:#ea580c;--gray-dark:#1f2937;--gray-light:#e5e7eb;--transition:all .3s ease}button,a,input,textarea,select{min-height:var(--touch-target);min-width:var(--touch-target)}.container{width:100%;margin:0 auto;padding-left:var(--mobile-padding);padding-right:var(--mobile-padding)}@media(min-width:640px){.container{max-width:640px;padding-left:var(--tablet-padding);padding-right:var(--tablet-padding)}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px;padding-left:var(--desktop-padding);padding-right:var(--desktop-padding)}}@media(min-width:1280px){.container{max-width:1280px}}@media(max-width:640px){body{font-size:var(--mobile-font);line-height:1.6}h1,h2,h3,h4,h5,h6{line-height:1.2;margin-bottom:.75rem}}nav{padding:.75rem var(--mobile-padding)}.navbar-logo-main{font-size:1.25rem;font-weight:700}.navbar-logo-sub{font-size:.75rem;font-weight:400;letter-spacing:.05em}@media(min-width:768px){.navbar-logo-main{font-size:1.5rem}.navbar-logo-sub{font-size:.875rem}nav{padding:1rem var(--tablet-padding)}}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity .8s ease-out,transform .8s ease-out}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.animate-delay-1{transition-delay:.1s}.animate-delay-2{transition-delay:.2s}.animate-delay-3{transition-delay:.3s}.animate-delay-4{transition-delay:.4s}.gallery-masonry{column-count:1;column-gap:1.25rem}@media(min-width:640px){.gallery-masonry{column-count:2}}@media(min-width:1024px){.gallery-masonry{column-count:3}}.gallery-item{break-inside:avoid;margin-bottom:1.25rem;position:relative;overflow:hidden;border-radius:1.25rem;box-shadow:0 6px 24px rgb(0 0 0 / .1);cursor:pointer;transition:var(--transition)}.gallery-item:hover{box-shadow:0 12px 32px rgb(0 0 0 / .18);transform:translateY(-4px) scale(1.03)}.gallery-img{width:100%;display:block;border-radius:1.25rem;transition:transform .4s cubic-bezier(.4,2,.6,1),filter .3s}.gallery-item:hover .gallery-img{transform:scale(1.07);filter:brightness(.95) saturate(1.1)}.gallery-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgb(0 0 0 / .15) 60%,rgb(249 115 22 / .18) 100%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;border-radius:1.25rem}.gallery-item:hover .gallery-overlay{opacity:1}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0 0 0 / .9);align-items:center;justify-content:center}.modal-content{margin:auto;display:block;max-width:90%;max-height:90%;border-radius:.75rem;box-shadow:0 5px 15px rgb(0 0 0 / .5);animation:zoom .6s}@keyframes zoom{from{transform:scale(.1)}to{transform:scale(1)}}.close-button{position:absolute;top:15px;right:35px;color:#f1f1f1;font-size:40px;font-weight:700;transition:.3s;cursor:pointer}.close-button:hover,.close-button:focus{color:#bbb;text-decoration:none}.service-card{padding:2rem;border-radius:1rem;box-shadow:0 4px 6px rgb(0 0 0 / .2);transition:var(--transition);border:1px solid rgb(255 165 0 / .1);background:#18181b;color:#fff}.service-card:hover{transform:translateY(-5px) scale(1.03);box-shadow:0 8px 15px rgb(255 165 0 / .2);border-color:rgb(255 165 0 / .3)}.service-icon{width:80px;height:80px;background:rgb(249 115 22 / .12);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;transition:var(--transition)}.service-card:hover .service-icon{background:rgb(255 165 0 / .2)}.cta-button{display:inline-block;background-color:var(--orange);color:#fff;padding:1rem 2.5rem;border-radius:50px;font-size:1.2rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;transition:var(--transition);box-shadow:0 4px 15px rgb(0 0 0 / .2)}.cta-button:hover{background-color:var(--orange-hover);transform:translateY(-2px);box-shadow:0 6px 20px rgb(0 0 0 / .3)}#mobileMenuDropdown{transform:translateY(-100%);opacity:0;pointer-events:none;transition:var(--transition);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}#mobileMenuDropdown.open{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-menu-link{display:block;padding:12px 16px;border-radius:8px;transition:all .2s ease}#mobileMenuButton{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:#fff0;transition:transform .2s ease;border-radius:8px;padding:8px}#mobileMenuButton span{transition:var(--transition)}#mobileMenuButton.open span:nth-child(1){transform:rotate(45deg) translate(0,5px)}#mobileMenuButton.open span:nth-child(2){opacity:0}#mobileMenuButton.open span:nth-child(3){transform:rotate(-45deg) translate(0,-5px)}.scrolled-nav{background-color:rgb(0 0 0 / .9)!important;transition:background-color .3s ease}.fade-in{opacity:0;animation:fadeInFooter 1.2s ease-in-out .2s forwards}@keyframes fadeInFooter{to{opacity:1}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}.about-blob-mask{width:380px;height:380px;object-fit:cover;object-position:center;box-shadow:0 12px 50px 0 rgb(0 0 0 / .15);background:#f7fafc;border-radius:24px;transition:var(--transition)}.about-blob-mask:hover{transform:scale(1.02);box-shadow:0 16px 60px 0 rgb(0 0 0 / .2)}@media(max-width:768px){.about-blob-mask{width:300px;height:300px;border-radius:20px}}@media(max-width:480px){.about-blob-mask{width:250px;height:250px;border-radius:16px}}.deck-board-bg{background:repeating-linear-gradient(90deg,#e2c799 0 8px,#d1b07a 8px 16px)}.construction-lines{background:repeating-linear-gradient(135deg,#f3f3f3 0 2px,transparent 2px 20px)}.logo-row{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin:1.5rem 0 2rem;flex-wrap:wrap}.logo-row img,.logo-row i{height:36px;width:auto;filter:grayscale(.2) brightness(.95);opacity:.85;transition:filter .2s,opacity .2s}.logo-row img:hover,.logo-row i:hover{filter:none;opacity:1}@media(min-width:640px){.logo-row{gap:2.5rem;margin:2rem 0 3rem}.logo-row img,.logo-row i{height:48px}}.floating-shapes{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1}.shape{position:absolute;background:rgb(249 115 22 / .1);border-radius:50%;animation:float 6s ease-in-out infinite}.shape:nth-child(1){width:80px;height:80px;top:20%;left:10%;animation-delay:0s}.shape:nth-child(2){width:120px;height:120px;top:60%;right:10%;animation-delay:2s}.shape:nth-child(3){width:60px;height:60px;bottom:20%;left:20%;animation-delay:4s}.brand-logo{transition:var(--transition);overflow:hidden}.brand-logo:hover{transform:scale(1.05);box-shadow:0 4px 15px rgb(255 165 0 / .2)}.footer-logo-main{font-size:1.5rem;font-weight:700}.footer-logo-sub{font-size:.8rem;font-weight:400;letter-spacing:.05em}img{max-width:100%;height:auto;display:block}@media(max-width:640px){.mobile-spacing{padding:1rem;margin:.5rem 0}.mobile-gap{gap:.75rem}.cta-button,.mobile-cta{padding:.875rem 1.5rem;font-size:1rem;border-radius:.75rem;min-height:48px;display:flex;align-items:center;justify-content:center}input,textarea,select{font-size:16px;padding:.75rem;border-radius:.5rem}.service-card,.contact-card{padding:1rem;margin-bottom:1rem;border-radius:.75rem}footer{padding:1.5rem var(--mobile-padding);text-align:center}footer .container{flex-direction:column;gap:1rem}.animate-on-scroll{transition-duration:.6s}.service-card:hover{transform:none}}@media (max-width:768px){.home-hero{min-height:100vh;height:auto}.home-hero .absolute.inset-0 img{object-fit:cover;object-position:center top;width:100%;height:100%}.home-hero .relative.z-10{min-height:1;padding:2rem 1rem}}@supports(padding:max(0px)){.mobile-safe{padding-left:max(var(--mobile-padding),env(safe-area-inset-left));padding-right:max(var(--mobile-padding),env(safe-area-inset-right))}}@media print{.no-print,nav,footer,#backToTop,#mobileMenuButton{display:none!important}}