body {
    font-family: "Quicksand", sans-serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;
    background-color: #d6d5d185;
    color: #333;
    margin: 0;
    padding: 0;
}

header {
    background-color: #c5c3c0e1;
    color: #3a372d;
    padding: 1em;
    text-align: center;
    position: sticky;
    top: 0;
    z-index: 1000;
}

header img {
    size-adjust: 60px;

}

header h1 {
    margin: 0;
    font-family: 'Courier New', Courier, monospace;
    color: #3a3831;
    font-size: 10rex;
}
 h2 {
      margin-top: 40px;
      font-size: 1.4rem;
      color: #444;
      border-bottom: 2px solid #cac7c4;
      padding-bottom: 6px;
    }

    .caja {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 15px;
      margin: 20px 0;
    }

    .caja p {
      margin: 0;
    }

    .caja a {
      display: block;
      text-decoration: none;
      background: #fff;
      padding: 15px;
      border-radius: 8px;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
      font-weight: bold;
      color: #cac7c4;
      transition: all 0.2s ease-in-out;
      text-align: center;
    }

    .caja a:hover {
      background: #cac7c4;
      color: #fff;
      transform: translateY(-3px);
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    }

    /* Ajustes responsive */
    @media (max-width: 600px) {
      h2 {
        font-size: 1.2rem;
      }
      .caja a {
        font-size: 0.9rem;
        padding: 12px;
      }
    }

/* Reset básico del menú */
nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

nav a {
    text-decoration: none;
    color: #444;
    display: block;
    padding: 0.5em 1em;
    transition: all 0.3s ease;
}

nav a:hover {
    background-color: #e0c9c0;
}

/* Nivel 1 */
nav ul.menu {
    display: inline-block;
}

nav ul.menu>li {
    display: inline-block;
    position: relative;
    margin: 0 10px;
    vertical-align: top;
}

nav ul.menu>li>a {
    /* tu estilo de top-level */
}

/* Submenú de nivel 2 */
nav ul.submenu {
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    background-color: #f7e9e9;
    border: 1px solid #ccc;
    border-radius: 5px;
    min-width: 220px;
    z-index: 1000;
    padding: 0.25rem 0;
}

nav ul.menu>li:hover>ul.submenu {
    display: block;
}

nav ul.submenu>li {
    position: relative;
    white-space: nowrap;
}

nav ul.submenu>li+li {
    border-top: 1px solid #ccc;
}

/* Submenú de nivel 3 */
nav ul.submenu-2 {
    position: absolute;
    top: 0;
    left: 100%;
    display: none;
    background-color: #f7e9e9;
    border: 1px solid #ccc;
    min-width: 220px;
    z-index: 1001;
    /* por encima del nivel 2 */
    padding: 0.25rem 0;
}

nav ul.submenu>li:hover>ul.submenu-2 {
    display: block;
}

/* Evitar parpadeos por huecos al pasar el ratón */
nav ul.submenu,
nav ul.submenu-2 {
    margin: 0;
    /* sin márgenes que creen huecos de hover */
}

main {
    padding: 1em;
}

h2 {
    color: #555;
}

.contenido {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.caja {
    position: relative;
    background-color: #f9f3f3;
    border: 1px solid #e0c9c0;
    padding: 1em;
    margin-bottom: 1em;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.caja a {
    text-decoration: none;
    color: #555;
    transition: all 0.3s ease;
}

.caja a:hover {
    font-size: 1.2em;
}

footer {
    background-color: #e0c9c0;
    text-align: center;
    padding: 1em;
    margin-top: 2em;
}