/* ================================
   SpringMoji – case-specific styles
   Scope: body.case-springmoji
   ================================ */

.case-springmoji {}

/* ================================
   HERO LEFT: match Gardenieres rhythm
   ================================ */

.case-springmoji .hero-left{
  display:flex;
  align-items:center;
  justify-content:center;
}

.case-springmoji .hero-logos{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:18px; /* logo row → equation → subhead */
}

.case-springmoji .hero-logos__row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:48px; /* holds space if logo changes */
  margin:0;
  padding:0;
}

.case-springmoji .hero-logo{
  height:44px;
  width:auto;
  display:block;
  object-fit:contain;
}

.case-springmoji .hero-kicker,
.case-springmoji .hero-logo-text{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:40px;
  padding:0 14px;
  border-radius:999px;
  font-size:0.75rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  opacity:0.88;
  white-space:nowrap;
}

/* ================================
   Emoji equation headline
   ================================ */

.case-springmoji .springmoji-equation{
  margin:0;
  font-size:clamp(3rem, 6vw, 5rem);
  line-height:1.05;
  letter-spacing:-0.03em;
}

.case-springmoji .springmoji-equation span{
  font-weight:700;
  font-size:0.9em;
  margin:0 0.3em;
  opacity:0.9;
}

.case-springmoji .hero-sub{
  margin:0;
  font-size:clamp(1rem, 1.6vw, 1.15rem);
  max-width:28ch;
  opacity:0.85;
}

/* ================================
   Hero image “zoom” (laptop)
   ================================ */

.case-springmoji .hero-right img{
  transform: scale(1.12) translateX(3%) translateY(6px);
  transform-origin:center center;
  will-change:transform;
}

/* ================================
   Responsive tuning
   ================================ */

@media (max-width:768px){
  .case-springmoji .hero-logos{ gap:14px; }

  .case-springmoji .hero-logo{ height:40px; }

  .case-springmoji .springmoji-equation{
    font-size:clamp(2.6rem, 10vw, 3.6rem);
    letter-spacing:-0.02em;
  }

  .case-springmoji .hero-sub{ max-width:32ch; }

  /* dial back the transform a bit on mobile so it doesn’t feel cropped */
  .case-springmoji .hero-right img{
    transform: scale(1.06) translateX(1%) translateY(0);
  }
}

@media (max-width:420px){
  .case-springmoji .hero-logos__row{ min-height:44px; }

  .case-springmoji .springmoji-equation span{
    margin:0 0.22em;
  }
}

/* Final Thought spacing + emphasis */
.case-band--final{
  background: transparent;
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.case-band--final .case-final-line{
  margin-top: 1.5rem;
  font-weight: 600;
}

