@charset "UTF-8";

<style type="text/css">
/* Google Fonts */
url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Montserrat:wght@400;600&display=swap);
/* Oculta el layout por defecto */
body > table {
  display:none!important;
}

/* Reset y base */
* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}

body {
  font-family:'Montserrat',sans-serif;
  background:linear-gradient(rgba(0,0,0,0.75),rgba(0,0,0,0.75)),url(https://img.mfcimg.com/photos2/393/39335959/480-723-227-614-14616756.jpg) center/cover no-repeat fixed;
  background-size:cover;
  color:#f0f0f0;
  line-height:1.5;
  font-size:1rem;
}

/* Corazones flotantes */
.hearts {
  pointer-events:none;
  position:fixed!important;
  top:0!important;
  left:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  z-index:2147483647!important;
}

.hearts .heart {
  position:absolute;
  bottom:-2rem;
  width:1.5rem;
  height:1.5rem;
  background:#ff66cc;
  transform:rotate(45deg);
  opacity:.8;
  z-index:2147483648!important;
  animation:floatUp 6s ease-in infinite;
}

.hearts .heart::before,.hearts .heart::after {
  content:"";
  position:absolute;
  width:1.5rem;
  height:1.5rem;
  background:#ff66cc;
  border-radius:50%;
}

.hearts .heart::before {
  top:-.75rem;
  left:0;
}

.hearts .heart::after {
  left:.75rem;
  top:0;
}

@keyframes floatUp {
  0% {
    transform:translateY(0) scale(1) rotate(45deg);
    opacity:.8;
  }

  100% {
    transform:translateY(-100vh) scale(1.5) rotate(45deg);
    opacity:0;
  }
}

/* Hero */
.hero {
  position:relative;
  height:60vh;
  min-height:20rem;
  background-size:cover;
  background-position:center;
}

.hero::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0.6),rgba(0,0,0,0.9));
}

.hero-content {
  position:relative;
  z-index:1;
  text-align:center;
  top:50%;
  transform:translateY(-50%);
  padding:0 1rem;
}

.hero-content h1 {
  font-family:'Playfair Display',serif;
  font-size:3rem;
  color:#ff33cc;
  text-shadow:0 0 .5rem #ff66cc;
  letter-spacing:.25rem;
}

.hero-content h2 {
  font-family:'Playfair Display',serif;
  font-size:2rem;
  color:#ddd;
  margin-top:.5rem;
  text-shadow:0 0 .5rem #ff99cc;
}

.logos img {
  height:2.5rem;
  margin:0 .5rem;
  opacity:.85;
  transition:opacity .3s;
}

.logos img:hover {
  opacity:1;
}

/* Bienvenida */
.welcome {
  position:relative;
  text-align:center;
  margin:1.5rem auto;
  font-size:1.25rem;
  color:#ffd6f7;
  text-shadow:0 0 .5rem #ff99cc;
  max-width:45rem;
}

.welcome::before {
  content:"??? ";
}

.welcome::after {
  content:" ???";
}

/* Intro */
.intro {
  max-width:45rem;
  margin:2.5rem auto;
  font-style:italic;
  text-align:center;
  color:#ccc;
  padding:0 1rem;
}

/* Tip Menu */
@keyframes pulse {
  0%,100% {
    transform:scale(1);
  }

  50% {
    transform:scale(1.05);
  }
}

.cta {
  background:#111;
  padding:2rem 1rem;
  text-align:center;
}

.cta h3 {
  font-family:'Playfair Display',serif;
  font-size:1.5rem;
  color:#33ffcc;
  margin-bottom:1rem;
  text-shadow:0 0 .4rem #33ffcc;
}

.tip-menu {
  display:inline-grid;
  grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));
  gap:1rem;
  max-width:45rem;
  margin:0 auto;
}

.tip {
  background:linear-gradient(135deg,#ff3399,#ff66cc);
  padding:1rem;
  border-radius:.75rem;
  font-weight:600;
  box-shadow:0 0 .75rem #ff99cc;
  transition:transform .3s,box-shadow .3s;
  cursor:pointer;
}

.tip:hover {
  animation:pulse .6s ease-in-out;
}

/* Responsive */
@media(max-width:36rem) {
  .hero-content h1 {
    font-size:2.2rem;
  }

  .hero-content h2 {
    font-size:1.5rem;
  }

  .welcome {
    font-size:1rem;
  }
}