/* Opening sections (from TABLYR_Splash_Page), scoped so they do not affect the rest of the page. */
.opening-hero,.manifesto-v2{--cyan:#45ddec;--blue:#4c66e5;--ink:#10131c;--muted:#666d79;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;box-sizing:border-box}
.opening-hero *,.manifesto-v2 *{box-sizing:border-box}
.opening-hero a{color:inherit;text-decoration:none}


    .opening-hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 105px 24px 120px;
      overflow: hidden;
      border-bottom: 1px solid rgba(255,255,255,.08);
      background: #090b13;
      text-align: center;
      isolation: isolate;
    }

    .opening-grid {
      position: absolute;
      inset: 0;
      z-index: -3;
      background-image:
        linear-gradient(rgba(82,121,255,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(82,121,255,.055) 1px, transparent 1px);
      background-size: 68px 68px;
      -webkit-mask-image: linear-gradient(to bottom, transparent 2%, #000 18%, #000 92%, transparent);
      mask-image: linear-gradient(to bottom, transparent 2%, #000 18%, #000 92%, transparent);
    }

    .opening-glow {
      position: absolute;
      left: 50%;
      bottom: -32%;
      z-index: -2;
      width: min(1050px, 92vw);
      height: 670px;
      transform: translateX(-50%);
      border-radius: 50%;
      background: rgba(68,91,190,.46);
      filter: blur(95px);
    }

    .opening-mark {
      width: 66px;
      height: 66px;
      margin-bottom: 32px;
      object-fit: contain;
      filter: drop-shadow(0 8px 18px rgba(40,112,255,.28));
    }

    .opening-tagline {
      margin: 0 0 12px;
      color: var(--cyan);
      font-size: .74rem;
      font-weight: 900;
      letter-spacing: .24em;
    }

    .opening-title {
      margin: 0;
      font-size: clamp(4.3rem, 7.15vw, 9.1rem);
      font-weight: 500;
      line-height: .84;
      letter-spacing: -.067em;
    }

    .opening-title em {
      display: inline-block;
      color: var(--cyan);
      font-family: Georgia, "Times New Roman", serif;
      font-weight: 400;
      white-space: nowrap;
    }

    .opening-product-image {
      display: block;
      width: min(590px, 48vw);
      height: auto;
      margin-top: 56px;
      filter: drop-shadow(0 30px 70px rgba(0,0,0,.45));
    }

    .opening-note {
      margin: 24px 0 0;
      color: #747d90;
      font-size: 1rem;
      font-weight: 600;
    }

    .opening-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      min-height: 62px;
      margin-top: 44px;
      padding: 0 28px;
      border-radius: 5px;
      background: #fff;
      color: #141821;
      font-size: .88rem;
      font-weight: 900;
      box-shadow: 0 15px 45px rgba(0,0,0,.25);
      transition: transform .2s ease, box-shadow .2s ease;
    }

    .opening-cta:hover,
    .opening-cta:focus-visible {
      transform: translateY(-2px);
      box-shadow: 0 18px 50px rgba(0,0,0,.35);
    }

    .opening-cta:focus-visible {
      outline: 3px solid var(--cyan);
      outline-offset: 4px;
    }

    .manifesto-v2 {
      padding: 120px max(6vw, 24px);
      background: #f5f6f8;
      color: var(--ink);
      text-align: center;
    }

    .manifesto-v2 .brand-lockup {
      display: block;
      width: min(470px, 72vw);
      height: auto;
      margin: 0 auto 70px;
    }

    .manifesto-v2 .section-kicker {
      margin: 0 0 22px;
      color: #4267e7;
      font-size: .75rem;
      font-weight: 800;
      letter-spacing: .16em;
    }

    .manifesto-v2 h2 {
      margin: 0;
      font-size: clamp(2.8rem, 5.8vw, 6.6rem);
      line-height: .91;
      letter-spacing: -.065em;
    }

    .manifesto-v2 h2 em {
      color: var(--blue);
      font-family: Georgia, "Times New Roman", serif;
      font-weight: 400;
    }

    .manifesto-v2 .manifesto-copy {
      max-width: 730px;
      margin: 42px auto 70px;
      color: var(--muted);
      font-size: 1.05rem;
      line-height: 1.75;
    }

    .manifesto-v2 .manifesto-interface {
      display: block;
      width: min(660px, 50%);
      height: auto;
      margin: 0 auto;
      border: 1px solid #cfd4dc;
      box-shadow: 0 26px 70px rgba(18,27,44,.16);
    }

    @media (max-width: 820px) {
      .opening-hero {
        min-height: 740px;
        padding: 90px 22px 100px;
      }

      .opening-title {
        font-size: clamp(3.6rem, 11vw, 6rem);
        line-height: .9;
      }

      .opening-title em { white-space: normal; }
      .opening-product-image { width: min(450px, 55vw); margin-top: 42px; }
      .opening-note { margin-top: 18px; }
      .opening-mark { width: 58px; height: 58px; margin-bottom: 26px; }
      .manifesto-v2 .manifesto-interface { width: min(660px, 82%); }
    }

    @media (max-width: 560px) {
      .opening-hero {
        min-height: 680px;
        padding: 72px 18px 86px;
      }

      .opening-grid { background-size: 48px 48px; }
      .opening-mark { width: 52px; height: 52px; margin-bottom: 24px; }
      .opening-tagline { font-size: .68rem; letter-spacing: .18em; }
      .opening-title { font-size: 3.35rem; line-height: .92; }
      .opening-product-image { width: 57vw; margin-top: 34px; }
      .opening-note { max-width: 310px; font-size: .92rem; line-height: 1.5; }
      .opening-cta { min-height: 56px; margin-top: 34px; padding: 0 23px; }
      .manifesto-v2 { padding: 86px 18px; }
      .manifesto-v2 .brand-lockup { margin-bottom: 52px; }
      .manifesto-v2 h2 { font-size: 3.1rem; }
      .manifesto-v2 .manifesto-copy { margin: 32px auto 48px; font-size: 1rem; }
      .manifesto-v2 .manifesto-interface { width: 100%; }
    }
  .manifesto-v2 .manifesto-copy{margin-bottom:0}
.opening-hero .hero-downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:44px}
.opening-hero .hero-downloads .button{color:#111620}
.opening-hero .opening-logo{display:block;width:min(440px,72vw);height:auto;margin:0 auto 26px;filter:drop-shadow(0 10px 28px rgba(40,112,255,.22))}
.opening-hero{padding-top:132px !important}  /* clear the 84px menu bar with room to spare */
.opening-hero .opening-tagline{margin-bottom:44px}
[hidden]{display:none !important}
