*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #000;--secondary-color: #333;--text-color: #333;--bg-color: #fff;--gray-light: #f5f5f5;--gray-medium: #ddd;--transition: all .3s ease}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--bg-color)}.container{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%}.header{position:fixed;top:0;width:100%;z-index:1000;background:#000;color:#fffcfc;transition:background .4s ease,color .4s ease}.header nav{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 0}.brand{display:flex;flex-direction:column}.brand a{font-size:1.125rem;font-weight:700;color:inherit;text-decoration:none}.tagline{font-size:.875rem;color:inherit;opacity:.85;margin-top:2px}.nav-list{list-style:none;display:flex;gap:1.25rem;margin:0;padding:0;align-items:center}.nav-list a{text-decoration:none;color:inherit;font-weight:500;letter-spacing:.01em;opacity:.9}.nav-list a:hover,.nav-list a.active{opacity:1}@media(max-width:768px){.header nav{gap:1rem}.brand a{font-size:1rem}.nav-list{gap:.75rem}}.header.is-light{background:#fff;color:#000}main{min-height:70vh;padding-top:96px}.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:80px;gap:24px;padding:3rem}.gallery-item{grid-column:span 4;grid-row:span 4;position:relative;overflow:hidden;cursor:pointer;background:#000;opacity:0;transform:translateY(40px) scale(.96);transition:opacity .8s ease,transform .8s ease}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.gallery-item:first-child{grid-column:span 12;grid-row:span 6}.gallery-item.large{grid-column:span 6;grid-row:span 6}.gallery-item.tall{grid-column:span 4;grid-row:span 6}.gallery-item.wide{grid-column:span 8;grid-row:span 4}.overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:24px;background:linear-gradient(to top,#0000008c,#0000);opacity:0;transition:opacity .4s ease}.gallery-item:hover .overlay{opacity:1}.overlay h3{font-size:1.2rem;font-weight:500;letter-spacing:.02em;transform:translateY(10px);transition:transform .4s ease;color:#fff}.gallery-item:hover h3{transform:translateY(0)}.gallery-item:hover img{transform:scale(1.05)}.gallery-item.is-visible{opacity:1;transform:translateY(0) scale(1)}@media(max-width:1200px){.gallery{grid-template-columns:repeat(8,1fr)}}@media(max-width:900px){.gallery{grid-template-columns:repeat(6,1fr);padding:2rem;gap:20px;grid-auto-rows:70px}}@media(max-width:600px){.gallery{grid-template-columns:repeat(2,1fr);padding:1rem;gap:12px;grid-auto-rows:120px}.gallery-item,.gallery-item.large,.gallery-item.tall,.gallery-item.wide{grid-column:span 2;grid-row:auto}.gallery-item:first-child{grid-column:span 2;grid-row:span 1}}@media(max-width:400px){.gallery{grid-template-columns:1fr;padding:.5rem;gap:8px;grid-auto-rows:160px}.gallery-item,.gallery-item.large,.gallery-item.tall,.gallery-item.wide{grid-column:1 / -1;grid-row:auto}}.footer{padding:3rem 2rem;background:#e60000;color:#fff;text-align:center;font-size:2rem;height:40vh;font-weight:600}h1,h2,h3,h4,h5,h6{line-height:1.2;margin-bottom:1rem}p{margin-bottom:1rem;line-height:1.8}.contact-page{background:#000;padding-top:4rem}.header-dark{background-color:#000;color:#fff;padding:1.5rem 0;position:relative}.container-fluid{max-width:100%;padding:0 3rem}.header-dark .navbar .container-fluid{display:flex;justify-content:space-between;align-items:center}.header-dark .logo a{color:#fff;text-decoration:none;font-size:1.8rem;font-weight:400;letter-spacing:-.5px}.header-dark .nav-menu{display:flex;list-style:none;gap:2.5rem;align-items:center}.header-dark .nav-menu a{color:#fff;text-decoration:none;font-weight:400;font-size:.95rem;transition:opacity .3s}.header-dark .nav-menu a:hover{opacity:.7}.nav-link-red{color:#ff3b3b!important}.contact-hero-dark{background-color:#000;color:#fff;padding:5rem 0 8rem}.container-centered{max-width:900px;margin:0 auto;padding:0 2rem}.hero-title{font-size:4.5rem;font-weight:400;line-height:1.1;margin-bottom:4rem;letter-spacing:-2px}.contact-info-grid{display:grid;gap:3rem}.info-block{border-top:1px solid #333;padding-top:2rem}.info-label{font-size:.9rem;font-weight:400;color:#999;margin-bottom:1rem;text-transform:capitalize}.info-value{font-size:1.1rem;color:#ff3b3b;text-decoration:none;display:block;margin-bottom:.5rem}.info-value:hover{opacity:.8}.address-group{display:flex;flex-direction:column;gap:2rem}.address-item .info-value{color:#fff;font-weight:500;margin-bottom:.3rem}.info-detail{font-size:.95rem;color:#999;line-height:1.6;margin-bottom:.5rem}.get-there{color:#ff3b3b;text-decoration:none;font-size:.9rem;display:inline-block;margin-top:.5rem}.get-there:hover{text-decoration:underline}.quote-section{background:#fff;padding:6rem 0}.section-title{font-size:3rem;font-weight:400;margin-bottom:1.5rem;letter-spacing:-1px}.section-intro{font-size:1.05rem;line-height:1.7;color:#666;margin-bottom:3rem}.section-intro a{color:#000;text-decoration:underline}.quote-form{margin-top:3rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column}.form-group-full{display:flex;flex-direction:column;margin-bottom:2rem}.form-group label,.form-group-full label{font-size:.9rem;font-weight:500;color:#333;margin-bottom:.5rem}.form-group input,.form-group-full input,.form-group-full textarea{padding:.9rem;border:1px solid #ddd;border-radius:0;font-size:.95rem;font-family:inherit;background:#fafafa;transition:all .3s}.form-group input:focus,.form-group-full input:focus,.form-group-full textarea:focus{outline:none;border-color:#000;background:#fff}.form-group-full textarea{resize:vertical;min-height:120px}.file-upload-area{margin-top:.5rem}.file-upload-content{border:2px dashed #ddd;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s;background:#fafafa}.file-upload-content:hover{border-color:#000;background:#fff}.upload-icon{font-size:2rem;display:block;margin-bottom:1rem}.file-upload-content p{margin:.3rem 0;color:#666}.upload-limit{font-size:.85rem;color:#999}.btn-submit-red{background-color:#ff3b3b;color:#fff;padding:1.1rem 2.5rem;border:none;border-radius:0;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s;margin-top:2rem;text-transform:capitalize}.btn-submit-red:hover{background-color:#e62e2e;transform:translateY(-2px);box-shadow:0 4px 12px #ff3b3b4d}.recruitment-section{background:#fff;padding:4rem 0 6rem;border-top:1px solid #eee}.recruitment-text{font-size:1.05rem;line-height:1.7;color:#666}.recruitment-text a{color:#ff3b3b;text-decoration:none}.recruitment-text a:hover{text-decoration:underline}.footer-red{background-color:#ff3b3b;color:#fff;padding:4rem 0;min-height:60vh;display:flex;align-items:center}.footer-content{max-width:1400px;margin:0 auto;padding:0 3rem;width:100%}.footer-nav{display:flex;gap:2rem;margin-bottom:4rem;flex-wrap:wrap}.footer-link{color:#fff;text-decoration:none;font-size:3rem;font-weight:300;transition:opacity .3s;letter-spacing:-1px}.footer-link:hover{opacity:.7}.footer-link.active{opacity:1}.footer-text-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem;max-width:1200px}.footer-text-block p{font-size:1rem;line-height:1.7;color:#fff;opacity:.95}.footer-logo{margin-top:4rem}.footer-logo h1{font-size:12rem;font-weight:300;color:#fff;letter-spacing:-8px;line-height:1;margin:0;text-transform:lowercase}@media(max-width:768px){.hero-title{font-size:2.5rem}.form-row{grid-template-columns:1fr;gap:1.5rem}.footer-text-grid{grid-template-columns:1fr;gap:2rem}.footer-link{font-size:2rem}.footer-logo h1{font-size:6rem}.container-fluid{padding:0 1.5rem}}img{max-width:100%;height:auto;display:block}.img-responsive{width:100%;object-fit:cover}img[loading=lazy]{opacity:0;transition:opacity .3s}img[loading=lazy].loaded{opacity:1}.portfolio-grid{padding:4rem 0}.portfolio-grid h3{text-align:center;font-size:2.5rem;margin-bottom:3rem;font-weight:700}.portfolio-grid>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem}.portfolio-item{position:relative;overflow:hidden;border-radius:8px;background:#f5f5f5;aspect-ratio:4/3}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease,opacity .3s ease}.portfolio-item img[loading=lazy]:not(.loaded){opacity:0}.portfolio-item img.loaded{opacity:1}.portfolio-item:hover img{transform:scale(1.05)}
