
/* ============ BULLETPROOF: HAMBURGER DESKTOP-HIDDEN ============ */
.hamburger{ display:none !important; }
@media(max-width:900px){ .hamburger{ display:block !important; } }

/* ============ RELIABLE MASONRY: SWITCH TO GRID (fixes mobile invisibility) ============ */
.masonry{
  display:grid !important;
  column-count:unset !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:24px !important;
}
.masonry .gallery-item,
.masonry .portfolio-card{
  display:block !important;
  width:100% !important;
  margin-bottom:0 !important;
  break-inside:auto !important;
  opacity:1 !important;
  transform:none !important;
}
@media(max-width:992px){
  .masonry{ grid-template-columns:repeat(2,1fr) !important; gap:20px !important; }
}
@media(max-width:640px){
  .masonry{ grid-template-columns:1fr !important; gap:16px !important; padding:0 !important; }
}
.nat-img{ width:100% !important;height:auto !important;display:block !important; }

/* ============ GLOBAL SAFE PADDING (nothing touches the edge) ============ */
.container{ padding:0 1.25rem; }
@media(min-width:640px){ .container{ padding:0 1.5rem; } }
.service-hero .container, .hero .container{ padding:0 1.25rem; }
@media(max-width:640px){
  .section{ padding-left:0; padding-right:0; }
  .case-results{ padding-left:1.25rem;padding-right:1.25rem;box-sizing:border-box; }
  .stats-bar{ padding-left:1.25rem;padding-right:1.25rem;box-sizing:border-box; }
}

/* ============ CASE STUDY: BACK-LINK TOP-LEFT, CENTERED CTA ============ */
.service-hero{ position:relative; }
.service-hero .back-link{
  position:absolute;
  top:1.75rem;
  left:1.25rem;
  margin-bottom:0 !important;
  z-index:2;
}
@media(min-width:640px){ .service-hero .back-link{ left:calc(50% - 630px + 1.5rem); } }
.case-cta-row{
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  position:relative;
}
.case-cta-row .cta-left{ text-align:center !important; }
.case-next-inline{
  text-align:center !important;
  margin-top:1.75rem;
}
@media(min-width:900px){
  .case-next-inline{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    text-align:right !important;
    margin-top:0;
  }
}

/* ============ CASE STUDY: THE BRIEF - NO DEAD SPACE ============ */
.intro-columns{
  display:block !important;
  max-width:780px;
  margin:0 auto;
  text-align:left;
}
.intro-columns .lead{
  font-family:var(--font-head);
  font-size:clamp(1.6rem,3.5vw,2.25rem);
  color:var(--lime);
  margin-bottom:1rem;
  display:block;
}
.intro-columns p{ font-size:1.05rem;line-height:1.7; }

/* ============ CONTACT: LOGO ANIMATION ============ */
.contact-logo-wrap{ text-align:center;margin-bottom:1.5rem; }
.contact-logo-wrap img{
  max-width:280px;
  margin:0 auto;
  animation:contactLogoFloat 3.5s ease-in-out infinite;
  filter:drop-shadow(0 0 24px rgba(180,211,53,0.35));
}
@keyframes contactLogoFloat{
  0%,100%{ transform:translateY(0) rotate(-1deg); }
  50%{ transform:translateY(-14px) rotate(1deg); }
}
@media(prefers-reduced-motion:reduce){ .contact-logo-wrap img{ animation:none; } }

/* ============ HOME: HORIZONTAL SCROLL PROJECTS ============ */
.portfolio-scroll{
  display:flex;
  gap:1.5rem;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding-bottom:1rem;
  scrollbar-width:none;
}
.portfolio-scroll::-webkit-scrollbar{ display:none; }
.portfolio-scroll .portfolio-preview-item{
  flex:0 0 300px;
  scroll-snap-align:start;
}
@media(max-width:640px){
  .portfolio-scroll .portfolio-preview-item{ flex:0 0 78%; }
}

/* ============ HOME HERO: HEADLINE OVER ANIMATED BG, FLOATING ICONS ============ */
.hero-video-wrap{ min-height:74vh;display:flex;align-items:center;padding:2rem 0; }
.hero-headline{
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(2.5rem,7vw,5.5rem);
  line-height:1.05;
  text-align:center;
}
.hero-float-icons{ position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden; }
.hero-float-icon{
  position:absolute;
  font-size:2rem;
  opacity:.5;
  transition:transform .3s ease-out;
  will-change:transform;
}
.hero-float-icons{ display:none !important; }
