/* Zamm Devolopers — site-wide professional 3D depth layer
   Lightweight CSS-only enhancement. No layout dimensions are changed. */
:root{
  --z3d-gold:#e9b52f;
  --z3d-gold-soft:rgba(233,181,47,.22);
  --z3d-ink:#071426;
  --z3d-shadow-1:0 10px 22px rgba(2,10,24,.16),0 3px 7px rgba(2,10,24,.10);
  --z3d-shadow-2:0 20px 44px rgba(2,10,24,.23),0 8px 18px rgba(2,10,24,.13);
  --z3d-shadow-dark:0 22px 50px rgba(0,0,0,.34),0 7px 16px rgba(0,0,0,.22);
  --z3d-inset:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.08);
  --z3d-ease:cubic-bezier(.2,.75,.25,1);
}

html{scroll-behavior:smooth}
body{overflow-x:hidden}
.desktop-site-shell,.mobile-site-shell{perspective:1400px}

/* Header and branding depth */
.site-header{
  box-shadow:0 8px 26px rgba(1,9,21,.12),inset 0 -1px 0 rgba(255,255,255,.45);
  transform:translateZ(0);
}
.brand img{
  filter:drop-shadow(0 5px 7px rgba(4,17,35,.14));
  transition:filter .28s ease,transform .28s var(--z3d-ease);
}

/* Buttons feel physically raised and press down on interaction */
.btn,.icon-btn,.menu-toggle,.text-link,.contact-card-arrow{
  transform:translateZ(0);
  transition:transform .24s var(--z3d-ease),box-shadow .24s ease,filter .24s ease,border-color .24s ease;
}
.btn{
  box-shadow:0 7px 0 rgba(1,10,24,.18),0 13px 24px rgba(1,10,24,.16),var(--z3d-inset);
}
.btn-primary,.btn-gold{
  box-shadow:0 7px 0 rgba(126,85,0,.36),0 14px 26px rgba(133,91,0,.24),inset 0 1px 0 rgba(255,255,255,.42);
}
.btn-light,.btn-outline{
  box-shadow:0 6px 0 rgba(1,10,24,.15),0 12px 22px rgba(1,10,24,.12),inset 0 1px 0 rgba(255,255,255,.72);
}
.icon-btn,.menu-toggle{
  box-shadow:0 6px 13px rgba(2,11,25,.14),inset 0 1px 0 rgba(255,255,255,.78),inset 0 -1px 0 rgba(2,11,25,.06);
}
.icon-btn.whatsapp{
  box-shadow:0 7px 16px rgba(14,151,72,.25),inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.12);
}

/* Hero depth without changing its height or spacing */
.hero-stage,.hero-photo,.page-hero-inner,.simple-page-intro-inner,.service-detail-image{
  transform-style:preserve-3d;
  backface-visibility:hidden;
}
.hero-photo,.service-detail-image,.page-hero-modern .page-hero-inner{
  box-shadow:var(--z3d-shadow-dark),inset 0 1px 0 rgba(255,255,255,.18);
}
.hero-photo img,.service-detail-image img,.page-hero img,.service-image img,.process-card-image img,.value-card-image img,.industry-card-image img,.deliverable-media img,.blog-thumb img,.web-photo img{
  transition:transform .55s var(--z3d-ease),filter .4s ease;
  backface-visibility:hidden;
}
.mobile-hero-support,.service-hero-extra,.hero-tags span{
  box-shadow:var(--z3d-shadow-1),var(--z3d-inset);
  transform:translateZ(0);
}
.hero-tags span{transition:transform .22s var(--z3d-ease),box-shadow .22s ease}

/* Shared raised surfaces across every main page type */
.service-card,
.process-card,
.project-feature,
.showcase-card,
.local-seo-card,
.value-card,
.about-depth-card,
.industry-card,
.deliverable,
.blog-card,
.moving-review-card,
.contact-card,
.contact-form,
.sticky-card,
.sidebar-card,
.article-callout,
.article-applications,
.article-related-service,
.faq,
.cta-band,
.service-local-context,
.content-copy,
.service-hero-extra{
  transform-style:preserve-3d;
  backface-visibility:hidden;
  box-shadow:var(--z3d-shadow-1),var(--z3d-inset);
  transition:transform .34s var(--z3d-ease),box-shadow .34s ease,border-color .3s ease,filter .3s ease;
}

/* Stronger depth for major conversion and feature panels */
.project-feature,.showcase-card,.cta-band,.contact-form,.page-hero-inner,.simple-page-intro-inner{
  box-shadow:var(--z3d-shadow-2),var(--z3d-inset);
}
.zamm-posthero-black .service-card,
.zamm-posthero-black .process-card,
.zamm-posthero-black .showcase-card,
.zamm-posthero-black .moving-review-card,
.zamm-posthero-black .cta-band,
.zamm-posthero-black .faq,
.zamm-posthero-black .local-seo-card{
  box-shadow:var(--z3d-shadow-dark),inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 rgba(0,0,0,.30);
}

/* Media sits slightly above its card, creating a layered 3D composition */
.service-image,.process-card-image,.project-feature-visual,.showcase-media,.value-card-image,.industry-card-image,.deliverable-media,.blog-thumb,.contact-card-icon,.value-icon,.process-number{
  transform:translateZ(12px);
  filter:drop-shadow(0 9px 13px rgba(1,10,24,.16));
  transition:transform .34s var(--z3d-ease),filter .34s ease;
}
.service-copy,.process-card-copy,.project-feature-copy,.showcase-copy,.value-card-copy,.industry-card-copy,.blog-body,.moving-review-author{
  position:relative;
  transform:translateZ(7px);
}

/* FAQ panels and article elements */
.faq{
  border-left-color:rgba(233,181,47,.72)!important;
}
.faq[open],.faq.is-open{
  box-shadow:0 18px 38px rgba(2,10,24,.20),0 0 0 1px var(--z3d-gold-soft),var(--z3d-inset);
  transform:translateY(-2px) translateZ(8px);
}
.article img,.article-lead img{
  border-radius:18px;
  box-shadow:var(--z3d-shadow-2);
}
.article h2,.article h3,.section-head h2,.page-hero h1,.page-hero .mobile-h1{
  text-shadow:0 2px 0 rgba(255,255,255,.18),0 9px 24px rgba(2,10,24,.10);
}
.zamm-posthero-black .section-head h2,.zamm-posthero-black h2,.zamm-posthero-black h3{
  text-shadow:0 2px 0 rgba(255,255,255,.04),0 12px 24px rgba(0,0,0,.30);
}
.section-label{
  filter:drop-shadow(0 5px 9px rgba(2,10,24,.12));
}

/* Footer is visually separated from the page */
.footer{
  box-shadow:inset 0 12px 32px rgba(0,0,0,.18),0 -10px 28px rgba(2,10,24,.10);
}
.powered-by-zamm{
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.20));
}

/* Desktop / laptop interactions */
@media (hover:hover) and (pointer:fine){
  .brand:hover img{transform:translateY(-2px) scale(1.015);filter:drop-shadow(0 9px 12px rgba(4,17,35,.20))}

  .btn:hover{transform:translateY(-3px) translateZ(12px);filter:saturate(1.06)}
  .btn:active{transform:translateY(4px) translateZ(0);box-shadow:0 2px 0 rgba(1,10,24,.20),0 5px 10px rgba(1,10,24,.12)}
  .btn-primary:hover,.btn-gold:hover{box-shadow:0 10px 0 rgba(126,85,0,.34),0 19px 32px rgba(133,91,0,.28),inset 0 1px 0 rgba(255,255,255,.48)}
  .icon-btn:hover,.menu-toggle:hover{transform:translateY(-3px) rotateX(5deg);box-shadow:0 11px 22px rgba(2,11,25,.20),inset 0 1px 0 rgba(255,255,255,.82)}
  .icon-btn:active,.menu-toggle:active{transform:translateY(2px) scale(.98)}

  .service-card:hover,
  .process-card:hover,
  .local-seo-card:hover,
  .value-card:hover,
  .about-depth-card:hover,
  .industry-card:hover,
  .deliverable:hover,
  .blog-card:hover,
  .moving-review-card:hover,
  .contact-card:hover,
  .sticky-card:hover,
  .sidebar-card:hover,
  .article-callout:hover,
  .article-applications:hover,
  .article-related-service:hover,
  .faq:hover{
    transform:perspective(1100px) translateY(-8px) rotateX(1.3deg) rotateY(-1.1deg) translateZ(10px);
    box-shadow:var(--z3d-shadow-2),0 0 0 1px rgba(233,181,47,.18),var(--z3d-inset);
    z-index:3;
  }

  .project-feature:hover,
  .showcase-card:hover,
  .cta-band:hover,
  .contact-form:hover,
  .service-local-context:hover,
  .content-copy:hover,
  .service-hero-extra:hover{
    transform:perspective(1250px) translateY(-7px) rotateX(.8deg) translateZ(12px);
    box-shadow:0 28px 58px rgba(2,10,24,.27),0 11px 23px rgba(2,10,24,.15),0 0 0 1px rgba(233,181,47,.20),var(--z3d-inset);
    z-index:2;
  }

  .service-card:hover .service-image,
  .process-card:hover .process-card-image,
  .project-feature:hover .project-feature-visual,
  .showcase-card:hover .showcase-media,
  .value-card:hover .value-card-image,
  .industry-card:hover .industry-card-image,
  .deliverable:hover .deliverable-media,
  .blog-card:hover .blog-thumb{
    transform:translateY(-3px) translateZ(24px) scale(1.012);
    filter:drop-shadow(0 15px 19px rgba(1,10,24,.23));
  }

  .service-card:hover img,
  .process-card:hover img,
  .project-feature:hover img,
  .showcase-card:hover img,
  .value-card:hover img,
  .industry-card:hover img,
  .deliverable:hover img,
  .blog-card:hover img,
  .hero-photo:hover img,
  .service-detail-image:hover img{
    transform:scale(1.035);
    filter:saturate(1.04) contrast(1.02);
  }

  .hero-tags span:hover{transform:translateY(-3px) rotateX(5deg);box-shadow:0 10px 18px rgba(2,10,24,.18),var(--z3d-inset)}
  .text-link:hover{transform:translateX(4px) translateZ(6px);filter:drop-shadow(0 5px 7px rgba(2,10,24,.16))}
}

/* Touch devices retain depth, with a tactile pressed state and no risky tilt */
@media (max-width:1050px){
  :root{
    --z3d-shadow-1:0 8px 18px rgba(2,10,24,.15),0 2px 5px rgba(2,10,24,.09);
    --z3d-shadow-2:0 15px 30px rgba(2,10,24,.20),0 5px 12px rgba(2,10,24,.11);
  }
  .desktop-site-shell,.mobile-site-shell{perspective:none}
  .service-card,.process-card,.project-feature,.showcase-card,.local-seo-card,.value-card,.about-depth-card,.industry-card,.deliverable,.blog-card,.moving-review-card,.contact-card,.contact-form,.sticky-card,.sidebar-card,.article-callout,.article-applications,.article-related-service,.faq,.cta-band,.service-local-context,.content-copy,.service-hero-extra{
    transform:none;
  }
  .btn:active,.icon-btn:active,.menu-toggle:active,.contact-card:active,.blog-card:active,.service-card:active{
    transform:translateY(2px) scale(.99);
  }
  .service-image,.process-card-image,.project-feature-visual,.showcase-media,.value-card-image,.industry-card-image,.deliverable-media,.blog-thumb,.contact-card-icon,.value-icon,.process-number,
  .service-copy,.process-card-copy,.project-feature-copy,.showcase-copy,.value-card-copy,.industry-card-copy,.blog-body,.moving-review-author{
    transform:none;
  }
}

@media (max-width:600px){
  .btn{box-shadow:0 5px 0 rgba(1,10,24,.16),0 9px 17px rgba(1,10,24,.13),var(--z3d-inset)}
  .btn-primary,.btn-gold{box-shadow:0 5px 0 rgba(126,85,0,.32),0 10px 18px rgba(133,91,0,.21),inset 0 1px 0 rgba(255,255,255,.42)}
  .hero-photo,.service-detail-image,.page-hero-modern .page-hero-inner{box-shadow:0 15px 30px rgba(0,0,0,.26),0 5px 11px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.14)}
  .article h2,.article h3,.section-head h2,.page-hero h1,.page-hero .mobile-h1{text-shadow:0 6px 17px rgba(2,10,24,.10)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  .service-card:hover,.process-card:hover,.project-feature:hover,.showcase-card:hover,.local-seo-card:hover,.value-card:hover,.about-depth-card:hover,.industry-card:hover,.deliverable:hover,.blog-card:hover,.moving-review-card:hover,.contact-card:hover,.sticky-card:hover,.sidebar-card:hover,.article-callout:hover,.article-applications:hover,.article-related-service:hover,.faq:hover,.cta-band:hover,.contact-form:hover{transform:none!important}
}

/* ZAMM GOOGLE MAPS LISTING BUTTON */
.zamm-map-card {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  isolation: isolate;
  box-shadow:
    0 28px 60px rgba(6, 20, 38, 0.22),
    0 8px 18px rgba(6, 20, 38, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
  transform: translateZ(0);
}

.zamm-map-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: inherit;
  box-shadow: inset 0 -34px 65px rgba(6, 20, 38, 0.08);
}

.zamm-map-card .map-frame {
  display: block;
  width: 100%;
  border: 0;
  border-radius: inherit;
}

.zamm-map-overlay {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: calc(100% - 48px);
  padding: 10px 11px 10px 17px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  background: rgba(6, 20, 38, 0.9);
  color: #fff;
  box-shadow:
    0 18px 34px rgba(6, 20, 38, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.zamm-map-label {
  overflow: hidden;
  max-width: 340px;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zamm-map-open-btn {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 999px;
  background: linear-gradient(135deg, #f5bf3a 0%, #e8a900 100%);
  color: #061426;
  font-weight: 800;
  text-decoration: none;
  box-shadow:
    0 10px 0 rgba(114, 77, 0, 0.42),
    0 18px 28px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
  transform: translateY(-4px);
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.zamm-map-open-btn svg {
  width: 20px;
  height: 20px;
}

.zamm-map-open-btn:hover,
.zamm-map-open-btn:focus-visible {
  color: #061426;
  filter: brightness(1.04);
  transform: translateY(-7px);
  box-shadow:
    0 13px 0 rgba(114, 77, 0, 0.42),
    0 24px 36px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.zamm-map-open-btn:active {
  transform: translateY(2px);
  box-shadow:
    0 3px 0 rgba(114, 77, 0, 0.42),
    0 8px 14px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.68);
}

@media (max-width: 820px) {
  .zamm-map-card {
    border-radius: 20px;
  }

  .zamm-map-overlay {
    right: 12px;
    bottom: 12px;
    left: 12px;
    justify-content: center;
    max-width: none;
    padding: 9px;
    border-radius: 18px;
  }

  .zamm-map-label {
    display: none;
  }

  .zamm-map-open-btn {
    width: 100%;
    min-height: 48px;
    transform: translateY(-3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .zamm-map-open-btn {
    transition: none;
  }
}
