  :root{
      --bg:#05070d;
      --text:#eef2ff;
      --muted:rgba(238,242,255,.72);
      --glass:rgba(10,14,28,.55);
      --border:rgba(255,255,255,.12);
      --shadow: 0 22px 60px rgba(0,0,0,.35);
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      background:var(--bg);
      color:var(--text);
      font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      overflow:hidden;
    }

    /* Fondo real */
    .bg{
      position:fixed;
      inset:0;
      background:
        radial-gradient(1200px 650px at 18% 22%, rgba(120,140,255,.15), transparent 55%),
        radial-gradient(900px 560px at 78% 65%, rgba(255,180,80,.10), transparent 60%),
        url("continental_fachada.jpg") center/cover no-repeat;
      filter: contrast(1.05) saturate(1.02);
      transform: scale(1.02);
      opacity: 1;
    }
    .bg::after{
      content:"";
      position:absolute; inset:0;
      background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.35) 35%, rgba(0,0,0,.75));
    }

    /* Mosaico */
    .mosaic{
      position:fixed;
      inset:0;
      display:grid;
      gap:0;
      pointer-events:none;
      z-index:2;
    }
    .tile{
      background: rgba(5,7,13,1);
      transform: scale(1);
      opacity: 1;
      transition:
        transform 900ms cubic-bezier(.2,.9,.1,1),
        opacity 900ms cubic-bezier(.2,.9,.1,1);
      will-change: transform, opacity;
    }
    .tile.open{
      transform: scale(0);
      opacity: 0;
    }

    /* Layout */
    .wrap{
      position:relative;
      z-index:3;
      height:100%;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:flex-start;
      padding: clamp(18px, 4vw, 44px);
      gap: 10px;
    }

    /* Header (solo logo, sin recuadro) */
    .top{
      width:min(1100px, 100%);
      display:flex;
      align-items:center;
      justify-content:center;
      padding: 10px 0 0;
    }

    .logo-img{
      width: 320px;
      height: 320px;
      object-fit: contain;
      opacity: 0;
      transform: translateY(-10px) scale(.96);
      filter: drop-shadow(0 18px 34px rgba(0,0,0,.35));
      transition: opacity 700ms ease, transform 700ms ease;
      user-select:none;
      -webkit-user-drag:none;
    }
    .logo-img.show{
      opacity: 1;
      transform: translateY(0) scale(1);
    }

    /* Texto animado: centrado y un poco debajo del header */
    .type-below{
      width:min(1100px, 100%);
      display:flex;
      justify-content:center;
      margin-top: 10px; /* “un poco abajo del header” */
      min-height: 110px;
      opacity: 0;
      transform: translateY(-6px);
      transition: opacity 650ms ease, transform 650ms ease;
    }
    .type-below.show{
      opacity: 1;
      transform: translateY(0);
    }

    .type{
      font-weight:800;
      letter-spacing:.10em;
      text-transform:uppercase;
      font-size: clamp(20px, 3.2vw, 54px);
      white-space:nowrap;
      overflow:hidden;
      border-right: 2px solid rgba(255,255,255,.75);
      padding-right:8px;
      max-width: 100%;
      text-align:center;
    }
    @keyframes blink { 0%,49%{opacity:1} 50%,100%{opacity:0} }
    .type.cursor{ animation: blink .9s infinite; }

    /* Footer */
    .foot{
      position:absolute;
      bottom: 18px;
      left: 18px;
      right: 18px;
      z-index:3;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      color: rgba(238,242,255,.62);
      font-size: 12px;
      padding: 0 6px;
      pointer-events:auto;
    }

    .credit a{
      display:inline-flex;
      align-items:center;
      gap:8px;
      text-decoration:none;
      color: rgba(238,242,255,.78);
    }
    .credit img{
      width:22px;
    }
    .credit a:hover{opacity:.8}

    /* Mobile */
    @media (max-width: 720px){
      body{overflow:auto}
      .type{
        white-space:normal;
        border-right:0;
        padding-right:0;
      }
      .logo-img{
  width: clamp(240px, 18vw, 240px);
  height: auto;
}
      .type.cursor{animation:none}
      .type-below{min-height: 90px}
    }

    @media (prefers-reduced-motion: reduce){
      .tile{transition:none}
      .type{border-right:0}
      .type.cursor{animation:none}
      .logo-img, .type-below{transition:none}
    }
    