*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;width:100%;-webkit-text-size-adjust:100%}body{margin:0;background:#0e0e0e;color:#f4f0e8;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6;overflow-x:hidden;width:100%}.loader{position:fixed;inset:0;background:#0e0e0e;z-index:9999;display:grid;place-items:center;transition:opacity .5s ease,visibility .5s ease;animation:fadeOut .6s ease 1.2s forwards}.loader.is-loaded{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.loader span,.loader-mark{background:#d8b56b;color:#111;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:30px;font-weight:900;padding:12px 22px;border-radius:4px;letter-spacing:1.5px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(216,181,107,0.35);animation:pulseLogo 1.2s ease-in-out infinite alternate}.loader-logo{max-height:72px;max-width:224px;object-fit:contain;animation:pulseLogo 1.2s ease-in-out infinite alternate}@keyframes pulseLogo{from{transform:scale(0.96);opacity:0.85}to{transform:scale(1.04);opacity:1}}@keyframes fadeOut{to{opacity:0;visibility:hidden;pointer-events:none}}.nav{position:fixed;top:0;width:100%;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:18px 6vw;background:rgba(10,10,10,.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.mark{background:#d8b56b;color:#111;padding:8px 10px;border-radius:2px}.links{display:flex;gap:24px}.links a,a{color:#f4f0e8;text-decoration:none}.links a:hover{color:#d8b56b}.hero{min-height:100vh;background-size:cover;background-position:center;display:flex;align-items:center;padding:110px 7vw}.hero-content{max-width:850px}.eyebrow{text-transform:uppercase;letter-spacing:3px;color:#d8b56b;font-weight:800;font-size:13px}h1,h2,h3{font-family:'Playfair Display',Georgia,"Times New Roman",serif;line-height:1.08}h1{font-size:clamp(46px,8vw,92px);margin:14px 0}h2{font-size:clamp(34px,5vw,58px);margin:10px 0 24px}.lead{font-size:20px;max-width:720px;color:#e8e1d5}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-block;border-radius:999px;padding:15px 24px;border:1px solid #d8b56b;font-weight:800;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease}.primary{background:#d8b56b;color:#111!important}.ghost{color:#fff}.section{padding:100px 7vw;max-width:1400px;margin:auto}.split{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;align-items:start}.division-grid,.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.division,.card,.contact-card{background:linear-gradient(145deg,#191919,#101010);border:1px solid rgba(216,181,107,.22);padding:34px;border-radius:22px;box-shadow:0 20px 50px rgba(0,0,0,.28)}.division h3{font-size:32px}.division li{margin:10px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#d8b56b;color:#111;text-align:center}.stat{padding:38px 20px}.stat strong{display:block;font-size:42px;font-weight:900}.stat span{font-weight:700}.services .cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card span{font-size:34px}.dark{max-width:none;background:#151515}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery img{width:100%;height:310px;aspect-ratio:4/3;object-fit:cover;border-radius:18px;cursor:pointer;border:1px solid rgba(255,255,255,.12);transition:.35s;background:#1a1a1a}.gallery img:hover{transform:scale(1.025);filter:brightness(1.12)}.form,form{display:grid;gap:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}input,select,textarea{width:100%;padding:16px 17px;background:#171717;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:16px;font-family:inherit}textarea{min-height:145px;resize:vertical}.upload{border:1px dashed rgba(216,181,107,.5);padding:18px;border-radius:12px;color:#d8b56b;cursor:pointer}.upload input{margin-top:10px;padding:0;border:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:32px}.map{width:100%;height:100%;min-height:560px;border:0;border-radius:22px;filter:grayscale(.35) contrast(1.08);background:#1a1a1a}footer{padding:48px 7vw;background:#080808;text-align:center;display:grid;gap:8px}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:60;background:#25d366;color:white;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:28px;box-shadow:0 12px 35px rgba(0,0,0,.35)}#lightbox {
  position: fixed;
  inset: 0;
  background: rgba(8, 8, 8, 0.96);
  display: none;
  place-items: center;
  z-index: 1000;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.lightbox-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 85%;
  max-height: 85vh;
  position: relative;
}

#lightbox img {
  max-width: 100%;
  max-height: 75vh;
  object-fit: contain;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6);
}

#lightbox-caption {
  color: #d8b56b;
  margin-top: 18px;
  font-weight: 700;
  font-size: clamp(16px, 3vw, 22px);
  letter-spacing: 0.5px;
  text-align: center;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 32px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: all 0.25s ease;
  user-select: none;
  z-index: 1010;
}

#lightbox-prev {
  left: 32px;
}

#lightbox-next {
  right: 32px;
}

.lightbox-nav:hover {
  background: #d8b56b;
  border-color: #d8b56b;
  color: #111;
  transform: translateY(-50%) scale(1.1);
}

#lightbox-close {
  position: absolute;
  top: 24px;
  right: 24px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 24px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: all 0.25s ease;
  z-index: 1010;
}

#lightbox-close:hover {
  background: #ef4444;
  border-color: #ef4444;
  color: #fff;
  transform: scale(1.1);
}

@media(max-width: 768px) {
  .lightbox-nav {
    width: 44px;
    height: 44px;
    font-size: 26px;
  }
  #lightbox-prev {
    left: 12px;
  }
  #lightbox-next {
    right: 12px;
  }
  #lightbox-close {
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
    font-size: 20px;
  }
}.reveal{opacity:0;transform:translateY(20px);transition:opacity .55s cubic-bezier(0.2,0.8,0.2,1),transform .55s cubic-bezier(0.2,0.8,0.2,1);will-change:opacity,transform}.reveal.visible{opacity:1!important;transform:none!important}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}}@media(max-width:850px){.links{display:none}.split,.division-grid,.services .cards,.contact,.gallery,.stats{grid-template-columns:1fr}.hero{padding:120px 24px 60px}.section{padding:70px 24px}.two{grid-template-columns:1fr}.gallery img{height:260px}}
.site-logo{max-height:48px;max-width:240px;object-fit:contain;height:auto;width:auto;display:block}.gallery-item{margin:0}.gallery-item figcaption{padding:10px 4px;color:#d8b56b;font-weight:700}footer a{font-size:12px;color:#777}.footer-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:8px}.footer-links a,.footer-links span{font-size:12px;color:#d8b56b;text-decoration:none;transition:opacity .2s}.footer-links a:hover{opacity:.75}.footer-custom-html{width:100%;background:#050505;border-top:1px solid rgba(255,255,255,0.04);padding:20px 1.5vw;box-sizing:border-box;font-size:13px;color:#6b7280}.footer-custom-grid{display:grid;grid-template-columns:1.3fr 0.7fr 1fr;align-items:center;gap:20px;width:100%;max-width:100%;margin:0 auto}.footer-col{min-width:0;width:100%}.footer-col-left{text-align:left!important;display:flex;justify-content:flex-start;align-items:center}.footer-col-left *{text-align:left!important}.footer-col-left div,.footer-col-left p{margin-left:0!important;margin-right:auto!important}.footer-col-center{text-align:center!important;display:flex;justify-content:center;align-items:center}.footer-col-center *{text-align:center!important}.footer-col-center div,.footer-col-center p{margin-left:auto!important;margin-right:auto!important}.footer-col-right{text-align:right!important;display:flex;justify-content:flex-end;align-items:center}.footer-col-right *{text-align:right!important}.footer-col-right div,.footer-col-right p{margin-left:auto!important;margin-right:0!important}@media(max-width:768px){.footer-custom-grid{grid-template-columns:1fr;gap:16px;text-align:center}.footer-col-left,.footer-col-center,.footer-col-right{text-align:center!important;justify-content:center!important;width:100%}.footer-col-left *,.footer-col-center *,.footer-col-right *{text-align:center!important}.footer-col-left div,.footer-col-left p,.footer-col-right div,.footer-col-right p{margin-left:auto!important;margin-right:auto!important}}.gallery-header{text-align:center;margin-bottom:44px;position:relative;z-index:2;width:100%}.gallery-header .eyebrow{margin:0 0 10px;text-align:center}.gallery-header h2{margin:0 0 24px;text-align:center}.gallery-tabs{display:flex;justify-content:center;gap:12px;margin:0 auto;flex-wrap:wrap;position:relative;z-index:2}.gallery-tab{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#a8a29e;padding:10px 24px;border-radius:9999px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;user-select:none}.gallery-tab:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2);transform:translateY(-1px)}.gallery-tab.active{background:#d8b56b;border-color:#d8b56b;color:#111;box-shadow:0 10px 20px -5px rgba(216,181,107,.3)}.gallery-item{transition:opacity .3s ease,transform .3s ease}.gallery-item.is-hidden{display:none!important}
.about-section, .divisions-section, .services-section, .gallery-section, .site-visit-section, .contact-section { width: 100%; position: relative; }.about-has-bg, .divisions-has-bg, .stats-has-bg, .services-has-bg, .gallery-has-bg, .site-visit-has-bg, .contact-has-bg { border-bottom: 1px solid rgba(255,255,255,0.05); border-top: 1px solid rgba(255,255,255,0.05); }.about-has-bg p, .divisions-has-bg p, .stats-has-bg span, .services-has-bg p, .gallery-has-bg p, .site-visit-has-bg p, .contact-has-bg p { color: #e8e1d5; }.gallery-section .eyebrow, .gallery-section h2 { text-align: center; }
.social-links-container { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.social-icon-link { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(255,255,255,0.03); border: 1px solid rgba(216,181,107,0.22); color: #f4f0e8; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.social-icon-link:hover { background: #d8b56b; color: #111 !important; transform: translateY(-3px); box-shadow: 0 8px 20px -4px rgba(216,181,107,0.4); border-color: #d8b56b; }
.social-icon-link svg { width: 18px; height: 18px; fill: currentColor; transition: transform 0.3s ease; }
.site-visit-left-card { position: relative; overflow: hidden; }.site-visit-left-card.site-visit-card-has-bg { padding: 40px; background: #111; border: 1px solid rgba(216, 181, 107, 0.2); border-radius: 22px; }.card-bg-overlay { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 1; pointer-events: none; }.card-content { position: relative; z-index: 2; }

/* Hamburger Toggle Button */
.nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  z-index: 100;
  flex-direction: column;
  gap: 6px;
  width: 40px;
  height: 40px;
  justify-content: center;
  align-items: center;
}
.nav-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: #f4f0e8;
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-toggle.active span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
  background: #d8b56b;
}
.nav-toggle.active span:nth-child(2) {
  opacity: 0;
}
.nav-toggle.active span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
  background: #d8b56b;
}

/* Mobile Menu Overlay Drawer */
.mobile-menu {
  position: fixed;
  inset: 0;
  top: 0;
  background: rgba(8, 8, 8, 0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-menu.open {
  opacity: 1;
  visibility: visible;
}
.mobile-menu-close {
  position: fixed;
  top: 24px;
  right: 24px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #f4f0e8;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 105;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0;
  -webkit-appearance: none;
}
.mobile-menu-close:hover {
  background: #d8b56b;
  border-color: #d8b56b;
  color: #111;
  transform: rotate(90deg);
}
.mobile-menu-close svg {
  display: block;
  transition: transform 0.25s ease;
}
.mobile-menu-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
}
.mobile-menu-links a {
  font-size: 24px;
  font-weight: 700;
  color: #f4f0e8;
  text-decoration: none;
  letter-spacing: 1px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateY(20px);
  opacity: 0;
}
.mobile-menu.open .mobile-menu-links a {
  transform: translateY(0);
  opacity: 1;
}
.mobile-menu.open .mobile-menu-links a:nth-child(1) { transition-delay: 0.1s; }
.mobile-menu.open .mobile-menu-links a:nth-child(2) { transition-delay: 0.15s; }
.mobile-menu.open .mobile-menu-links a:nth-child(3) { transition-delay: 0.2s; }
.mobile-menu.open .mobile-menu-links a:nth-child(4) { transition-delay: 0.25s; }
.mobile-menu.open .mobile-menu-links a:nth-child(5) { transition-delay: 0.3s; }

.mobile-menu-links a:hover {
  color: #d8b56b;
  transform: scale(1.06);
}

@media (max-width: 850px) {
  .nav-toggle {
    display: flex;
  }
}
