@font-face {
  font-family: "Literata";
  src: url("/fonts/literata/Literata-VariableFont_opsz\,wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Literata";
  src: url("/fonts/literata/Literata-Italic-VariableFont_opsz\,wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/inter/Inter-VariableFont_opsz\,wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/inter/Inter-Italic-VariableFont_opsz\,wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display";
  src: url("/fonts/playfair_display/PlayfairDisplay-VariableFont_wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display";
  src: url("/fonts/playfair_display/PlayfairDisplay-Italic-VariableFont_wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.heart {
  fill: transparent;
  animation: beat 1s infinite;
}

.scale-hover {
  transition: all 0.3s;
}
.scale-hover:hover {
  transform: scale(1.1);
}

.quote-btn {
  transition: all 0.3s;
}
.quote-btn:hover {
  transform: translateY(-10%) scale(1.1) rotate(-10deg);
}
.quote-btn.pulse-quote {
  animation: pulse-quote 1.8s ease-in-out;
}

#quote-text {
  white-space: pre-wrap;
}

@keyframes pulse-quote {
  0% { transform: scale(1); rotate: 0deg; }
  50% { transform: scale(1.08); rotate: 15deg; }
  75% { transform: scale(1.08); rotate: -15deg; }
  100% { transform: scale(1); rotate: 0deg; }
}

@keyframes beat {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.2); }
}