*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-dark:#1a1a1a;--color-darker:#111;--color-charcoal:#2d2d2d;--color-green:#2e7d32;--color-green-dark:#1b5e20;--color-green-light:#4caf50;--color-amber:#f9a825;--color-amber-light:#fdd835;--color-white:#fff;--color-off-white:#f5f5f0;--color-gray:#9e9e9e;--color-light-gray:#e0e0e0;--font-heading:"Oswald", sans-serif;--font-body:"Open Sans", sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-dark);background:var(--color-off-white);line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.section-title{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:2px;margin-bottom:.5rem;font-size:clamp(2rem,5vw,3rem);position:relative}.section-title:after{content:"";background:var(--color-amber);width:60px;height:4px;margin-top:12px;display:block}.section-subtitle{color:var(--color-gray);max-width:600px;margin-bottom:3rem;font-size:1.1rem}.btn{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;border:2px solid #0000;border-radius:4px;padding:14px 32px;font-size:1rem;font-weight:600;transition:all .3s;display:inline-block}.btn--primary{background:var(--color-amber);color:var(--color-dark);border-color:var(--color-amber)}.btn--primary:hover{background:var(--color-amber-light);border-color:var(--color-amber-light);transform:translateY(-2px);box-shadow:0 4px 20px #f9a82566}.btn--outline{color:var(--color-white);border-color:var(--color-white);background:0 0}.btn--outline:hover{background:var(--color-white);color:var(--color-dark);transform:translateY(-2px)}.btn--outline-dark{color:var(--color-dark);border-color:var(--color-dark);background:0 0}.btn--outline-dark:hover{background:var(--color-dark);color:var(--color-white);transform:translateY(-2px)}.btn--lg{padding:18px 42px;font-size:1.15rem}.parallax{background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}@supports (-webkit-touch-callout:none){.parallax{background-attachment:scroll}}.navbar{z-index:1000;background:0 0;padding:16px 0;transition:all .3s;position:fixed;top:0;left:0;right:0}.navbar--scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111111f2;padding:8px 0;box-shadow:0 2px 20px #0000004d}.navbar__inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.navbar__logo img{object-fit:cover;border-radius:50%;width:50px;height:50px;transition:transform .3s}.navbar--scrolled .navbar__logo img{width:40px;height:40px}.navbar__links{align-items:center;gap:8px;list-style:none;display:flex}.navbar__links a{color:var(--color-white);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1.5px;border-radius:4px;padding:8px 16px;font-size:.95rem;transition:all .3s}.navbar__links a:hover,.navbar__links a.active{color:var(--color-amber)}.navbar__cta{font-weight:600;background:var(--color-amber)!important;color:var(--color-dark)!important}.navbar__cta:hover{transform:translateY(-1px);background:var(--color-amber-light)!important}.navbar__hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.navbar__hamburger span{background:var(--color-white);border-radius:2px;width:28px;height:3px;transition:all .3s;display:block}.navbar__hamburger.open span:first-child{transform:rotate(45deg)translate(5px,6px)}.navbar__hamburger.open span:nth-child(2){opacity:0}.navbar__hamburger.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-6px)}.hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.hero__overlay{background:linear-gradient(#0009 0%,#0006 50%,#000000b3 100%);position:absolute;inset:0}.hero__content{z-index:1;padding:24px;animation:1s ease-out fadeInUp;position:relative}.hero__logo{object-fit:cover;border:4px solid var(--color-amber);border-radius:50%;width:160px;height:160px;margin:0 auto 24px;box-shadow:0 8px 40px #0006}.hero h1{font-family:var(--font-heading);color:var(--color-white);text-transform:uppercase;letter-spacing:6px;text-shadow:2px 4px 20px #00000080;margin-bottom:16px;font-size:clamp(3rem,8vw,5.5rem);line-height:1.1}.hero__tagline{color:var(--color-light-gray);letter-spacing:1px;margin-bottom:36px;font-size:clamp(1.1rem,2.5vw,1.5rem)}.hero__actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.about{background:var(--color-white);padding:100px 24px}.about__inner{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1200px;margin:0 auto;display:grid}.about__text .section-title:after{margin-bottom:24px}.about__lead{margin-top:24px;margin-bottom:16px;font-size:1.2rem;line-height:1.8}.about__text p{color:#555;margin-bottom:16px;line-height:1.8}.about__text .btn{margin-top:16px}.about__image{border-radius:8px;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000026}.about__image:after{content:"";border:4px solid var(--color-amber);z-index:-1;border-radius:8px;width:100%;height:100%;position:absolute;top:-20px;right:-20px}.about__image img{object-fit:cover;width:100%;height:450px;transition:transform .5s}.about__image:hover img{transform:scale(1.03)}.parallax-divider{text-align:center;justify-content:center;align-items:center;min-height:400px;display:flex;position:relative}.parallax-divider__overlay{background:#0009;position:absolute;inset:0}.parallax-divider__content{z-index:1;padding:40px 24px;position:relative}.parallax-divider__content h2{font-family:var(--font-heading);color:var(--color-white);text-transform:uppercase;letter-spacing:3px;margin-bottom:12px;font-size:clamp(2rem,5vw,3.5rem)}.parallax-divider__content p{color:var(--color-light-gray);margin-bottom:24px;font-size:1.2rem}.services{background:var(--color-off-white);padding:100px 24px}.services .section-title,.services .section-subtitle{text-align:center;margin-left:auto;margin-right:auto}.services .section-title:after{margin-left:auto;margin-right:auto}.services__grid{grid-template-columns:repeat(3,1fr);gap:32px;max-width:1200px;margin:0 auto;display:grid}.service-card{background:var(--color-white);text-align:center;border-bottom:4px solid #0000;border-radius:8px;padding:40px 32px;transition:all .4s;box-shadow:0 4px 20px #0000000f}.service-card:hover{border-bottom-color:var(--color-amber);transform:translateY(-8px);box-shadow:0 12px 40px #0000001f}.service-card__icon{margin-bottom:20px;font-size:3rem;display:block}.service-card h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;color:var(--color-dark);margin-bottom:12px;font-size:1.4rem}.service-card p{color:#666;line-height:1.7}.featured{background:var(--color-white);padding:100px 24px}.featured .section-title{text-align:center;margin-left:auto;margin-right:auto}.featured .section-title:after{margin-bottom:48px;margin-left:auto;margin-right:auto}.featured__grid{grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto;display:grid}.featured__item{aspect-ratio:4/3;border-radius:8px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.featured__item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.featured__item:hover img{transform:scale(1.08)}.featured__cta{text-align:center;margin-top:48px}.contact{background:var(--color-darker);color:var(--color-white);padding:100px 24px}.contact .section-title{color:var(--color-white)}.contact__inner{grid-template-columns:1fr 1fr;align-items:start;gap:60px;max-width:1200px;margin:0 auto;display:grid}.contact__info p{color:var(--color-light-gray);margin-top:20px;margin-bottom:40px;font-size:1.1rem;line-height:1.8}.contact__details{flex-direction:column;gap:28px;display:flex}.contact__item{align-items:flex-start;gap:20px;display:flex}.contact__item svg{width:28px;height:28px;color:var(--color-amber);flex-shrink:0;margin-top:2px}.contact__item h4{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;color:var(--color-amber);margin-bottom:4px;font-size:1rem}.contact__item a{color:var(--color-light-gray);transition:color .3s}.contact__item a:hover{color:var(--color-amber)}.contact__item p{color:var(--color-gray);margin:0;font-size:.95rem}.contact__cta-box{background:var(--color-charcoal);text-align:center;border:1px solid #ffffff14;border-radius:12px;padding:48px}.contact__cta-box h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:2px;color:var(--color-amber);margin-bottom:16px;font-size:2rem}.contact__cta-box p{color:var(--color-light-gray);margin-bottom:32px;font-size:1rem;line-height:1.7}.contact__cta-box .btn{margin-bottom:12px;display:block}.contact__cta-box .btn--outline{border-color:var(--color-gray);color:var(--color-gray)}.contact__cta-box .btn--outline:hover{border-color:var(--color-white);color:var(--color-dark);background:var(--color-white)}.footer{background:var(--color-dark);color:var(--color-gray);padding:60px 24px 0}.footer__inner{border-bottom:1px solid #ffffff14;grid-template-columns:2fr 1fr 1fr;gap:48px;max-width:1200px;margin:0 auto;padding-bottom:48px;display:grid}.footer__logo{object-fit:cover;border-radius:50%;width:80px;height:80px;margin-bottom:16px}.footer__brand p{max-width:300px;line-height:1.7}.footer h4{font-family:var(--font-heading);color:var(--color-white);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:20px;font-size:1rem}.footer ul{list-style:none}.footer ul li{margin-bottom:10px}.footer a{transition:color .3s}.footer a:hover{color:var(--color-amber)}.footer__hours{color:var(--color-green-light);margin-top:8px;font-weight:600}.footer__bottom{text-align:center;padding:24px;font-size:.85rem}.footer__credit{margin-top:6px;font-size:.8rem}.footer__credit a{color:var(--color-amber);font-weight:600}.gallery-hero{text-align:center;justify-content:center;align-items:center;min-height:50vh;display:flex;position:relative}.gallery-hero__overlay{background:#0009;position:absolute;inset:0}.gallery-hero__content{z-index:1;padding:100px 24px 40px;animation:.8s ease-out fadeInUp;position:relative}.gallery-hero__content h1{font-family:var(--font-heading);color:var(--color-white);text-transform:uppercase;letter-spacing:6px;margin-bottom:12px;font-size:clamp(2.5rem,6vw,4.5rem)}.gallery-hero__content p{color:var(--color-light-gray);font-size:1.2rem}.gallery{background:var(--color-off-white);padding:60px 24px}.gallery__grid{columns:4;column-gap:16px;max-width:1400px;margin:0 auto}.gallery__item{break-inside:avoid;cursor:pointer;border-radius:8px;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:0 2px 12px #0000001a}.gallery__item img{width:100%;transition:transform .5s;display:block}.gallery__item-overlay{opacity:0;background:#0006;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery__item-overlay span{color:var(--color-white);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:3px;border:2px solid var(--color-white);border-radius:4px;padding:8px 24px;font-size:1.1rem}.gallery__item:hover img{transform:scale(1.05)}.gallery__item:hover .gallery__item-overlay{opacity:1}.lightbox{z-index:2000;background:#000000eb;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:4px;max-width:90vw;max-height:85vh;box-shadow:0 8px 40px #00000080}.lightbox__close{color:var(--color-white);cursor:pointer;z-index:2001;background:0 0;border:none;font-size:3rem;line-height:1;transition:color .3s;position:absolute;top:20px;right:24px}.lightbox__close:hover{color:var(--color-amber)}.lightbox__prev,.lightbox__next{color:var(--color-white);cursor:pointer;z-index:2001;background:#ffffff1a;border:none;border-radius:4px;padding:16px 20px;font-size:3rem;transition:all .3s;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__prev{left:20px}.lightbox__next{right:20px}.lightbox__prev:hover,.lightbox__next:hover{color:var(--color-amber);background:#fff3}.lightbox__counter{color:var(--color-gray);font-family:var(--font-heading);letter-spacing:2px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gallery-cta{background:var(--color-darker);text-align:center;padding:80px 24px}.gallery-cta h2{font-family:var(--font-heading);color:var(--color-white);text-transform:uppercase;letter-spacing:3px;margin-bottom:12px;font-size:clamp(1.8rem,4vw,2.8rem)}.gallery-cta p{color:var(--color-gray);margin-bottom:32px;font-size:1.1rem}@media (width<=1024px){.gallery__grid{columns:3}}@media (width<=768px){.navbar__hamburger{display:flex}.navbar__links{background:#111111fa;flex-direction:column;justify-content:center;gap:8px;width:280px;height:100vh;padding:24px;transition:right .4s;position:fixed;top:0;right:-100%}.navbar__links--open{right:0}.navbar__links a{padding:12px 24px;font-size:1.1rem}.about__inner{grid-template-columns:1fr;gap:40px}.about__image:after{display:none}.about__image img{height:300px}.services__grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}.featured__grid{grid-template-columns:repeat(2,1fr)}.contact__inner{grid-template-columns:1fr}.footer__inner{grid-template-columns:1fr;gap:32px}.gallery__grid{columns:2}.lightbox__prev,.lightbox__next{padding:10px 14px;font-size:2rem}}@media (width<=480px){.hero__logo{width:120px;height:120px}.hero__actions{flex-direction:column;align-items:center}.featured__grid{grid-template-columns:1fr}.gallery__grid{columns:1}.contact__cta-box{padding:32px 24px}}
