.header{z-index:1000;background:var(--white);border-bottom:1px solid var(--gray-200);height:var(--header-height);position:fixed;top:0;left:0;right:0}.header-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.logo{font-family:var(--font-heading);letter-spacing:2px;color:var(--black);align-items:baseline;gap:6px;font-size:22px;text-decoration:none;display:flex}.logo:hover{color:var(--black)}.logo-text-accent{font-family:var(--font-nav);letter-spacing:3px;color:var(--gray-500);font-size:11px;font-weight:500}.nav{align-items:center;gap:28px;display:flex}.nav a,.nav-dropdown-trigger{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1px;color:var(--black);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.nav a:hover,.nav-dropdown-trigger:hover,.nav a.active{color:var(--gray-500)}.nav-cta{border:2px solid var(--black)!important;padding:10px 24px!important;transition:all .3s!important}.nav-cta:hover{background:var(--black)!important;color:var(--white)!important}.nav-dropdown{position:relative}.nav-dropdown-menu{background:var(--white);border:1px solid var(--gray-200);opacity:0;visibility:hidden;min-width:220px;padding:12px 0;transition:all .2s;position:absolute;top:100%;left:-16px;transform:translateY(8px);box-shadow:0 4px 12px #00000014}.nav-dropdown-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-menu a{border-bottom:1px solid var(--gray-100);padding:8px 20px;font-size:12px;display:block}.nav-dropdown-menu a:last-child{border-bottom:none}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.hamburger span{background:var(--black);width:24px;height:2px;transition:all .3s}.hamburger.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}@media (width<=900px){.hamburger{display:flex}.nav{top:var(--header-height);background:var(--white);flex-direction:column;align-items:flex-start;gap:0;padding:32px 24px;transition:transform .3s;position:fixed;bottom:0;left:0;right:0;transform:translate(100%)}.nav.open{transform:translate(0)}.nav a,.nav-dropdown-trigger{border-bottom:1px solid var(--gray-200);width:100%;padding:16px 0;font-size:16px}.nav-cta{text-align:center!important;border-bottom:2px solid var(--black)!important;margin-top:16px!important}.nav-dropdown{width:100%}.nav-dropdown-menu{opacity:1;visibility:visible;box-shadow:none;border:none;padding:0 0 0 20px;display:none;position:static;transform:none}.nav-dropdown-menu.open{display:block}.nav-dropdown-menu a{padding:12px 0;font-size:14px}}.footer{background:var(--black);color:var(--white);padding-top:64px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:48px;display:grid}.footer h4{font-family:var(--font-heading);color:var(--white);letter-spacing:.5px;margin-bottom:20px;font-size:18px}.footer p,.footer address{color:var(--gray-400);font-size:14px;font-style:normal;line-height:1.8}.footer ul li{margin-bottom:10px}.footer ul a{color:var(--gray-400);font-size:14px;transition:color .2s}.footer ul a:hover{color:var(--white)}.footer address a{color:var(--gray-400);transition:color .2s}.footer address a:hover{color:var(--white)}.footer-social{gap:16px;margin-top:20px;display:flex}.footer-social a{color:var(--gray-400);transition:color .2s}.footer-social a:hover{color:var(--white)}.footer-bottom{border-top:1px solid var(--gray-800);margin-top:48px;padding:20px 0}.footer-bottom p{font-family:var(--font-nav);color:var(--gray-500);text-align:center;font-size:12px}@media (width<=900px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}@media (width<=600px){.footer-grid{grid-template-columns:1fr}}.project-card{color:var(--white);aspect-ratio:4/3;text-decoration:none;display:block;position:relative;overflow:hidden}.project-card-image{width:100%;height:100%;transition:transform .4s;position:absolute;top:0;left:0}.project-card:hover .project-card-image{transform:scale(1.05)}.project-card-overlay{opacity:.85;background:linear-gradient(#0000,#000000d9);flex-direction:column;justify-content:flex-end;min-height:50%;padding:24px;transition:opacity .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.project-card:hover .project-card-overlay{opacity:1}.project-card-category{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1.5px;color:var(--gray-300);margin-bottom:6px;font-size:11px}.project-card-title{color:var(--white);margin-bottom:4px;font-size:1.25rem}.project-card-location{color:var(--gray-400);font-size:13px}.hero{background:var(--gray-900);min-height:80vh;margin-top:var(--header-height);align-items:center;display:flex;position:relative;overflow:hidden}.hero-overlay{background:linear-gradient(135deg,#000000b3,#0006);position:absolute;inset:0}.hero-content{z-index:1;color:var(--white);max-width:700px;position:relative}.hero-content h1{color:var(--white);margin-bottom:20px;font-size:3.5rem}.hero-content p{color:var(--gray-300);margin-bottom:32px;font-size:18px;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:16px;display:flex}.hero-actions .btn{border-color:var(--white);color:var(--white)}.hero-actions .btn-filled{background:var(--white);color:var(--black);border-color:var(--white)}.hero-actions .btn-filled:hover{color:var(--white);background:0 0}.hero-actions .btn:not(.btn-filled):hover{background:var(--white);color:var(--black)}.service-card{text-align:center;color:var(--black);border:1px solid var(--gray-200);padding:32px 20px;text-decoration:none;transition:all .3s;display:block}.service-card:hover{border-color:var(--black);transform:translateY(-4px);box-shadow:0 8px 24px #0000000f}.service-card .placeholder-img{border-radius:50%;width:80px;height:80px;margin:0 auto 20px;font-size:9px}.service-card h3{margin-bottom:8px;font-size:1.15rem}.service-card p{color:var(--gray-600);font-size:14px;line-height:1.5}.service-card-link{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1px;color:var(--gray-500);margin-top:16px;font-size:12px;transition:color .2s;display:inline-block}.service-card:hover .service-card-link{color:var(--black)}.credentials{padding:40px 0}@media (width<=768px){.hero{min-height:60vh;padding:40px 0}.hero-content h1{font-size:2.5rem}}.about-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:48px;display:grid}.about-text h2{margin-bottom:24px}.about-text p{color:var(--gray-700);margin-bottom:16px}.about-text p:last-child{margin-bottom:0}.mission-text{text-align:center;max-width:700px;margin:0 auto}.mission-text p{color:var(--gray-700);font-size:20px;font-style:italic;line-height:1.8}.about-feature{border:1px solid var(--gray-200);padding:32px}.about-feature h3{margin-bottom:12px}.about-feature p{color:var(--gray-600);font-size:15px;line-height:1.7}@media (width<=768px){.about-grid{grid-template-columns:1fr}}.product-card{color:var(--black);background:var(--white);border:1px solid var(--gray-200);text-decoration:none;transition:all .3s;display:block}.product-card:hover{border-color:var(--black);transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.product-card:hover .product-card-link{color:var(--black)}.product-card-image{text-align:center;padding:16px;font-size:11px}.product-card-body{padding:20px}.product-card-category{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1.5px;color:var(--gray-500);font-size:11px}.product-card-title{margin:8px 0 12px;font-size:1.15rem}.product-card-desc{color:var(--gray-600);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.product-card-link{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1px;color:var(--gray-500);margin-top:16px;font-size:12px;transition:color .2s;display:inline-block}.filter-bar{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:48px;display:flex}.filter-btn{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1px;border:1px solid var(--gray-300);color:var(--gray-600);cursor:pointer;background:0 0;padding:10px 20px;font-size:12px;font-weight:500;transition:all .2s}.filter-btn:hover{border-color:var(--black);color:var(--black)}.filter-btn.active{background:var(--black);border-color:var(--black);color:var(--white)}.product-detail{padding:32px 0 80px}.breadcrumb{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1px;color:var(--gray-500);align-items:center;gap:8px;padding:24px 0;font-size:12px;display:flex}.breadcrumb a{color:var(--gray-500);transition:color .2s}.breadcrumb a:hover,.breadcrumb span:last-child{color:var(--black)}.product-detail-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;padding:32px 0;display:grid}.product-detail-category{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1.5px;color:var(--gray-500);font-size:12px}.product-detail-info h1{margin:8px 0 20px;font-size:2.5rem}.product-detail-desc{color:var(--gray-700);margin-bottom:32px;font-size:17px;line-height:1.8}.product-detail-actions{flex-wrap:wrap;gap:12px;display:flex}.product-tabs{border-top:1px solid var(--gray-200);margin-top:48px;padding-top:48px}.product-tab-content{grid-template-columns:1fr 1fr;gap:48px;display:grid}.product-section h3{margin-bottom:16px;font-size:1.25rem}.product-section ul{padding:0;list-style:none}.product-section ul li{color:var(--gray-700);margin-bottom:10px;padding-left:20px;font-size:15px;line-height:1.6;position:relative}.product-section ul li:before{content:"";background:var(--black);border-radius:50%;width:6px;height:6px;position:absolute;top:10px;left:0}.related-products{border-top:1px solid var(--gray-200);margin-top:60px;padding-top:48px}.related-products h2{margin-bottom:32px}.related-product-card{color:var(--black);border:1px solid var(--gray-200);text-decoration:none;transition:all .3s;display:block}.related-product-card:hover{border-color:var(--black);transform:translateY(-2px)}.related-product-card h4{padding:16px;font-size:1rem}@media (width<=768px){.product-detail-grid,.product-tab-content{grid-template-columns:1fr}.product-detail-info h1{font-size:2rem}}.project-detail{padding:32px 0 80px}.project-detail-hero{margin:16px 0 48px}.project-detail-content{grid-template-columns:1fr 320px;align-items:start;gap:48px;display:grid}.project-detail-main h1{margin-bottom:20px;font-size:2.5rem}.project-detail-desc{color:var(--gray-700);margin-bottom:48px;font-size:17px;line-height:1.8}.project-gallery{margin-top:32px}.project-gallery h3{margin-bottom:24px}.project-meta{background:var(--gray-100);padding:28px}.project-meta h4{margin-bottom:20px;font-size:1rem}.project-meta dl{grid-template-columns:auto 1fr;gap:8px 16px;display:grid}.project-meta dt{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1px;color:var(--gray-500);font-size:12px;font-weight:500}.project-meta dd{color:var(--black);font-size:14px}.project-nav{border-top:1px solid var(--gray-200);justify-content:space-between;margin-top:60px;padding-top:32px;display:flex}.project-nav-link{color:var(--black);text-decoration:none}.project-nav-link.next{text-align:right}.project-nav-label{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1px;color:var(--gray-500);margin-bottom:4px;font-size:11px;display:block}.project-nav-title{font-family:var(--font-heading);font-size:1.15rem;transition:color .2s}.project-nav-link:hover .project-nav-title{color:var(--gray-600)}@media (width<=768px){.project-detail-content{grid-template-columns:1fr}.project-detail-main h1{font-size:2rem}}.service-hero{background:var(--gray-900);align-items:center;min-height:50vh;display:flex;position:relative}.service-hero-overlay{background:linear-gradient(135deg,#000000bf,#0006);position:absolute;inset:0}.service-hero-content{z-index:1;position:relative}.service-hero h1{color:var(--white);margin-bottom:12px;font-size:3rem}.service-tagline{color:var(--gray-300);font-size:20px}.service-intro{grid-template-columns:1.2fr 1fr;align-items:center;gap:48px;display:grid}.service-intro-text h2{margin-bottom:20px}.service-intro-text p{color:var(--gray-700);font-size:16px;line-height:1.8}.capability-card{background:var(--white);border:1px solid var(--gray-200);padding:28px}.capability-num{font-family:var(--font-heading);color:var(--gray-300);margin-bottom:12px;font-size:28px}.capability-card p{color:var(--gray-700);font-size:15px;line-height:1.6}.service-project-card{color:var(--black);background:var(--white);border:1px solid var(--gray-200);text-decoration:none;transition:all .3s;display:block;overflow:hidden}.service-project-card:hover{border-color:var(--black);transform:translateY(-2px)}@media (width<=768px){.service-hero{min-height:40vh}.service-hero h1{font-size:2.25rem}.service-intro{grid-template-columns:1fr}}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.gallery-item{cursor:pointer;aspect-ratio:1;background:0 0;border:none;padding:0;position:relative;overflow:hidden}.gallery-item .placeholder-img{aspect-ratio:auto;width:100%;height:100%;transition:transform .3s}.gallery-item:hover .placeholder-img{transform:scale(1.05)}.gallery-item-overlay{opacity:0;background:#0009;flex-direction:column;justify-content:center;align-items:center;padding:16px;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-category{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1.5px;color:var(--gray-300);margin-bottom:4px;font-size:10px}.gallery-item-title{font-family:var(--font-heading);color:var(--white);text-align:center;font-size:1rem}.lightbox{z-index:9999;background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-content{width:90%;max-width:900px;position:relative}.lightbox-image{width:100%;min-height:400px}.lightbox-close{color:var(--white);cursor:pointer;background:0 0;border:none;font-size:32px;position:absolute;top:-40px;right:0}.lightbox-prev,.lightbox-next{color:var(--white);cursor:pointer;z-index:2;background:0 0;border:none;padding:16px;font-size:48px;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:-60px}.lightbox-next{right:-60px}.lightbox-caption{color:var(--gray-400);font-family:var(--font-nav);flex-direction:column;align-items:center;gap:4px;padding:16px;font-size:13px;display:flex}.lightbox-caption span:last-child{font-family:var(--font-heading);color:var(--white);font-size:18px}@media (width<=1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.lightbox-prev{left:0}.lightbox-next{right:0}}.contact-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:64px;display:grid}.contact-form-wrapper h2{margin-bottom:32px}.contact-form{flex-direction:column;gap:24px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1px;color:var(--gray-600);font-size:12px;font-weight:600}.form-group input,.form-group textarea{font-family:var(--font-body);border:1px solid var(--gray-300);background:var(--white);color:var(--black);outline:none;width:100%;padding:14px 16px;font-size:16px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--black)}.form-group textarea{resize:vertical;min-height:120px}.form-success{padding:60px 0}.form-success h2{margin-bottom:16px}.form-success p{color:var(--gray-600);font-size:17px}.contact-info{flex-direction:column;gap:32px;display:flex}.contact-info-block h3{margin-bottom:8px;font-size:1rem}.contact-info-block p,.contact-info-block address{color:var(--gray-700);font-size:15px;font-style:normal;line-height:1.7}.contact-info-block a{color:var(--black);text-underline-offset:3px;text-decoration:underline}.contact-social{gap:16px;display:flex}.contact-social a{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:.5px;font-size:13px}@media (width<=768px){.contact-grid{grid-template-columns:1fr;gap:48px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--black:#000;--white:#fff;--gray-100:#f5f5f5;--gray-200:#e5e5e5;--gray-300:#d4d4d4;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#525252;--gray-700:#404040;--gray-800:#262626;--gray-900:#171717;--font-heading:"Fjalla One", sans-serif;--font-body:"Lora", serif;--font-nav:"Montserrat", sans-serif;--max-width:1200px;--header-height:80px}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--black);background-color:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.7}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--black);font-weight:400;line-height:1.2}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.5rem}h4{font-size:1.25rem}a{color:var(--black);text-decoration:none;transition:color .2s}a:hover{color:var(--gray-600)}img{max-width:100%;height:auto;display:block}ul{list-style:none}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px}.btn{font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1px;border:2px solid var(--black);color:var(--black);cursor:pointer;background:0 0;padding:14px 32px;font-size:14px;font-weight:600;transition:all .3s;display:inline-block}.btn:hover,.btn-filled{background:var(--black);color:var(--white)}.btn-filled:hover{color:var(--black);background:0 0}.btn-rounded{border-radius:30px}.section{padding:80px 0}.section-dark{background:var(--black);color:var(--white)}.section-dark h2,.section-dark h3,.section-dark h4{color:var(--white)}.section-gray{background:var(--gray-100)}.section-header{text-align:center;margin-bottom:48px}.section-header h2{margin-bottom:16px}.section-header p{color:var(--gray-600);max-width:600px;margin:0 auto;font-size:18px}.text-center{text-align:center}.text-uppercase{text-transform:uppercase}.mt-24{margin-top:24px}.mt-48{margin-top:48px}.mb-24{margin-bottom:24px}.mb-48{margin-bottom:48px}.grid-2{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.placeholder-img{background:var(--gray-200);color:var(--gray-500);font-family:var(--font-nav);text-transform:uppercase;letter-spacing:1px;aspect-ratio:4/3;justify-content:center;align-items:center;font-size:12px;display:flex;overflow:hidden}.placeholder-img.square{aspect-ratio:1}.placeholder-img.wide{aspect-ratio:16/9}.placeholder-img.hero{aspect-ratio:21/9}.page-hero{background:var(--gray-900);color:var(--white);text-align:center;padding:100px 0 60px}.page-hero h1{color:var(--white);margin-bottom:16px}.page-hero p{color:var(--gray-400);max-width:600px;margin:0 auto;font-size:18px}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){h1{font-size:2.25rem}h2{font-size:1.75rem}.section{padding:60px 0}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page-hero{padding:80px 0 40px}}
