/* Responsive tweaks */
.reveal {
  font-size: clamp(18px, 1.4vw + 0.2rem, 34px);
}
@media (max-width: 767px) {
  .reveal .slides {
    padding: 1rem 0.5rem;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .reveal .slides {
    padding: 1.5rem 1rem;
  }
}
@media (min-width: 1200px) {
  .reveal .slides {
    padding: 2rem 2.5rem;
  }
}
.reveal section img,
.reveal section video,
.reveal section iframe {
  max-width: 100%;
  height: auto;
}

/* ---------- Phone-specific layout ---------- */
.phone .reveal          { font-size: 20px; line-height: 1.35; }
.phone .reveal .slides  { padding: 1rem .5rem; }

/* columns -> vertical stack */
.phone .columns         { flex-direction: column; gap: 1rem; }

/* flexible media */
.phone .reveal img,
.phone .reveal video,
.phone .reveal iframe   { width: 100%; height: auto; }

/* bigger touch targets for controls */
.phone .reveal .controls button {
  width: 44px;
  height: 44px;
}

/* hide progress bar on phone */
.phone .reveal .progress { display: none; }

/* helper: phone-only class */
.phone-only        { display: none; }
.phone .phone-only { display: block; }


@keyframes gradientBG {
  0% {background-position: 0% 50%;}
  50% {background-position: 100% 50%;}
  100% {background-position: 0% 50%;}
}