:root{
    --tp-contour-bg:#312833;
    --tp-contour-light-progress:0;
  }

  html,
  body{
    min-height:100%;
    background:var(--tp-contour-bg);
  }

  #tpGlobalContours,
  #tpGlobalContours *{
    box-sizing:border-box;
  }

  #tpGlobalContours{
    position:fixed;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    overflow:hidden;
    pointer-events:none;
    background:var(--tp-contour-bg);
    transform:translateZ(0);
    contain:strict;
    isolation:isolate;
  }

  #tpGlobalContours::before,
  #tpGlobalContours::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
  }

  #tpGlobalContours::before{
    background:
      radial-gradient(circle at 12% 7%,rgba(245,204,217,.042),transparent 38%),
      radial-gradient(circle at 88% 88%,rgba(220,239,245,.032),transparent 42%);
    opacity:calc(1 - var(--tp-contour-light-progress));
  }

  #tpGlobalContours::after{
    background:
      radial-gradient(circle at 16% 12%,rgba(245,204,217,.62),transparent 32%),
      radial-gradient(circle at 88% 8%,rgba(220,239,245,.78),transparent 34%),
      radial-gradient(circle at 72% 78%,rgba(255,240,246,.68),transparent 30%),
      linear-gradient(135deg,#fffaf7 0%,#fbf4ef 52%,#fff8fb 100%);
    opacity:var(--tp-contour-light-progress);
  }

  #tpGlobalContoursCanvas{
    position:absolute;
    inset:0;
    z-index:1;
    display:block;
    width:100%;
    height:100%;
    max-width:none;
  }

  body > #page,
  body > .site,
  body > .elementor,
  body > .elementor-location-header,
  body > .elementor-location-footer{
    position:relative;
    z-index:1;
  }

  body > #page,
  body > .site{
    background:transparent !important;
  }

  /* Oculta versiones antiguas si todavía siguen publicadas. */
  #tpGlobalOcean{
    display:none !important;
  }
