
    :root {
      --fondo: #110e0c;
      --tarjeta: rgba(27, 21, 17, .95);
      --dorado: #c9a86c;
      --dorado-claro: #e2c794;
      --texto: #f4ecd8;
      --suave: #c8baaa;
      --borde: rgba(201, 168, 108, .3);

      
      --fondo-imagen: url("https://images.unsplash.com/photo-1447933601403-0c6688de566e?auto=format&fit=crop&w=2200&q=85");
    }

    *, *::before, *::after {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      min-width: 0;
      color: var(--texto);
      font-family: "Lato", Arial, sans-serif;
      line-height: 1.8;
      background-color: var(--fondo);
      background-image:
        linear-gradient(rgba(17,14,12,.48), rgba(17,14,12,.7)),
        var(--fondo-imagen);
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      background-attachment: fixed;
    }

    .pagina {
      width: min(1280px, calc(100% - 32px));
      margin-inline: auto;
      background: rgba(17,14,12,.96);
      border-inline: 1px solid var(--borde);
      box-shadow: 0 0 70px rgba(0,0,0,.6);
    }

    h1, h2, h3, p {
      margin-top: 0;
      overflow-wrap: break-word;
    }

    h1, h2, h3 {
      font-family: "Playfair Display", Georgia, serif;
      line-height: 1.2;
    }

    h1, h2 {
      color: var(--dorado-claro);
    }

    a {
      color: inherit;
      overflow-wrap: anywhere;
    }

    img, video {
      max-width: 100%;
    }

    [id] {
      scroll-margin-top: 100px;
    }

    :focus-visible {
      outline: 3px solid var(--dorado-claro);
      outline-offset: 5px;
    }

    .saltar {
      position: absolute;
      top: -120px;
      left: 20px;
      z-index: 100;
      padding: 12px;
      background: white;
      color: black;
    }

    .saltar:focus {
      top: 12px;
    }

    .top-bar {
      position: sticky;
      top: 0;
      z-index: 20;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 16px 28px;
      background: rgba(17,14,12,.98);
      border-bottom: 1px solid var(--borde);
    }

    .marca {
      color: var(--dorado-claro);
      font-family: "Playfair Display", Georgia, serif;
      font-size: 1.35rem;
      font-weight: 700;
      letter-spacing: 2px;
      text-decoration: none;
    }

    .marca small {
      display: block;
      margin-top: 4px;
      color: var(--suave);
      font: 400 .65rem "Lato", Arial, sans-serif;
      letter-spacing: 1.5px;
    }

    .volver, .boton {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 10px 18px;
      border: 1px solid var(--dorado);
      border-radius: 5px;
      color: var(--dorado-claro);
      font-weight: 700;
      text-decoration: none;
      text-align: center;
      transition: background .2s, color .2s;
    }

    .volver:hover, .boton:hover {
      background: var(--dorado-claro);
      color: var(--fondo);
    }

    .hero {
      max-width: 1040px;
      margin-inline: auto;
      padding: 75px 25px 50px;
      text-align: center;
    }

    .migas {
      margin-bottom: 28px;
      color: var(--suave);
      font-size: .85rem;
    }

    .migas a {
      color: var(--dorado-claro);
    }

    .badge {
      display: inline-block;
      margin-bottom: 24px;
      padding: 7px 18px;
      border: 1px solid var(--borde);
      border-radius: 30px;
      background: rgba(201,168,108,.08);
      color: var(--dorado);
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
    }

    h1 {
      margin-bottom: 25px;
      font-size: clamp(2.1rem, 5vw, 3.8rem);
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .subtitulo {
      max-width: 840px;
      margin: 0 auto 25px;
      color: var(--suave);
      font-size: 1.15rem;
    }

    .indice {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px 20px;
      margin-top: 25px;
    }

    .indice a {
      padding: 8px 0;
      color: var(--dorado-claro);
      font-size: .9rem;
      text-underline-offset: 5px;
    }

    .container {
      width: min(1100px, calc(100% - 40px));
      margin-inline: auto;
      padding-bottom: 60px;
    }

    .glass-card {
      margin-bottom: 35px;
      padding: 40px 35px;
      background: var(--tarjeta);
      border: 1px solid var(--borde);
      border-left: 4px solid var(--dorado);
      border-radius: 14px;
      box-shadow: 0 10px 28px rgba(0,0,0,.25);
    }

    .glass-card h2 {
      margin-bottom: 24px;
      font-size: clamp(1.65rem, 3vw, 2.25rem);
    }

    .glass-card h3 {
      margin-bottom: 14px;
      font-size: 1.35rem;
    }

    .glass-card p {
      margin-bottom: 18px;
      color: #dcd3ca;
      font-size: 1.02rem;
      text-align: left;
    }

    .lista {
      list-style: none;
      padding: 0;
      margin: 25px 0 0;
    }

    .lista li {
      position: relative;
      padding: 0 0 20px 23px;
      color: #dcd3ca;
    }

    .lista li::before {
      content: "•";
      position: absolute;
      left: 0;
      color: var(--dorado);
      font-weight: 900;
    }

    .lista strong {
      color: var(--texto);
    }

    .nota {
      margin-top: 25px;
      padding: 20px;
      border-left: 3px solid var(--dorado);
      background: rgba(201,168,108,.07);
      color: var(--suave);
      border-radius: 0 8px 8px 0;
    }

    .nota p:last-child {
      margin-bottom: 0;
    }

    .media-video-box {
      margin: 35px 0;
      padding: 18px;
      background: #090706;
      border: 1px solid var(--borde);
      border-radius: 14px;
    }

    .media-video-box video {
      display: block;
      width: 100%;
      height: auto;
      max-height: 75vh;
      margin-inline: auto;
      background: #000;
      border-radius: 8px;
      object-fit: contain;
    }

    figcaption {
      padding-top: 15px;
      color: var(--dorado-claro);
      font-family: "Playfair Display", Georgia, serif;
      text-align: center;
      font-size: 1.1rem;
    }

    .video-enlace {
      margin: 10px 0 0;
      text-align: center;
      font-size: .85rem;
      color: var(--suave);
    }

    .video-enlace a {
      display: inline-block;
      padding: 6px;
      color: var(--dorado-claro);
    }

    .video-error {
      margin: 15px 0 0;
      padding: 12px;
      border: 1px solid var(--borde);
      color: var(--texto);
      font-size: .9rem;
    }

    [hidden] {
      display: none !important;
    }

    .fases-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 22px;
      margin-top: 28px;
    }

    .fase {
      min-width: 0;
      padding: 24px;
      border: 1px solid var(--borde);
      border-radius: 10px;
      background: rgba(15,11,9,.6);
    }

    .fase.final {
      grid-column: 1 / -1;
    }

    .fase-numero {
      margin-bottom: 12px;
      color: var(--dorado);
      font: 700 2.2rem "Playfair Display", Georgia, serif;
    }

    .fase p {
      font-size: .96rem;
      margin-bottom: 0;
    }

    .formula {
      margin-top: 16px;
      padding: 12px;
      background: rgba(201,168,108,.08);
      color: var(--dorado-claro);
      font-size: .9rem;
    }

    .cta {
      padding: 35px 25px;
      border: 1px solid var(--borde);
      border-radius: 12px;
      text-align: center;
      background: linear-gradient(135deg, #302217, #17110d);
    }

    .cta h2 {
      font-size: 1.8rem;
    }

    .cta p {
      color: var(--suave);
    }

    .cta .boton {
      background: var(--dorado);
      color: var(--fondo);
    }

    .referencias {
      margin: 30px 0;
      color: var(--suave);
      font-size: .88rem;
    }

    .referencias summary {
      cursor: pointer;
      padding-block: 10px;
      color: var(--dorado-claro);
    }

    .referencias li {
      margin-bottom: 12px;
    }

    .main-footer {
      padding: 45px 25px 25px;
      background: #0c0907;
      border-top: 1px solid var(--borde);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 35px;
      max-width: 1100px;
      margin: 0 auto 30px;
    }

    .footer-col {
      min-width: 0;
    }

    .footer-col h3 {
      color: var(--dorado-claro);
      font-size: 1.3rem;
    }

    .footer-col p,
    .footer-col a {
      color: var(--suave);
      font-size: .93rem;
    }

    .footer-col > a {
      display: block;
      padding: 7px 0;
      text-decoration: none;
    }

    .footer-col a:hover {
      color: var(--dorado-claro);
      text-decoration: underline;
    }

    .social-links {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 16px;
    }

    .social-links a {
      padding: 8px 0;
    }

    .horarios {
      margin-top: 20px;
    }

    .footer-bottom {
      border-top: 1px solid var(--borde);
      padding-top: 22px;
      text-align: center;
      color: var(--suave);
      font-size: .82rem;
    }

    .footer-bottom p {
      margin-bottom: 0;
    }

    @media (max-width: 850px) {
      body {
        background-attachment: scroll;
      }

      .pagina {
        width: calc(100% - 16px);
      }

      .top-bar {
        position: relative;
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
      }

      .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      [id] {
        scroll-margin-top: 20px;
      }
    }

    @media (max-width: 600px) {
      .pagina {
        width: calc(100% - 10px);
      }

      .container {
        width: calc(100% - 24px);
      }

      .hero {
        padding: 45px 18px 30px;
      }

      .subtitulo {
        font-size: 1rem;
      }

      .glass-card {
        padding: 25px 18px;
      }

      .fases-grid,
      .footer-grid {
        grid-template-columns: minmax(0, 1fr);
      }

      .fase {
        padding: 20px;
      }

      .media-video-box {
        padding: 10px;
      }

      .main-footer {
        padding-inline: 20px;
      }

      .badge {
        font-size: .7rem;
        letter-spacing: 1px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      *, *::before, *::after {
        transition: none !important;
      }
    }
  