
  /* All rules are scoped under #eib27-root / .eib27-* and written
     with !important on the properties that matter most, specifically
     so a theme's global CSS (h1, p, button, input resets etc.) can't
     bleed in and change how this section looks. Class names are
     namespaced with "eib27-" to avoid collisions with anything else
     already on the page. */

  #eib27-root{
    all:initial !important;
    display:block !important;
    box-sizing:border-box !important;
    position:relative !important;
    left:50% !important;
    width:100vw !important;
    width:var(--eib27-vw, 100vw) !important;
    transform:translateX(-50%) !important;
    font-family:'Montserrat',"Montserrat Fallback", sans-serif !important;
    color:#f7f2fb !important;
    overflow:hidden !important;
  }
  #eib27-root *{ box-sizing:border-box !important; }

  @media (prefers-reduced-motion: reduce){
    #eib27-root *{
      animation-duration:0.001ms !important;
      animation-delay:0s !important;
      animation-iteration-count:1 !important;
      transition-duration:0.001ms !important;
    }
  }

  #eib27-root .eib27-scene{
    position:absolute !important; inset:0 !important; z-index:0 !important; overflow:hidden !important;
    background:
      radial-gradient(ellipse 70% 60% at 78% 82%, rgba(224,20,137,0.18) 0%, transparent 60%),
      radial-gradient(ellipse 90% 70% at 20% 15%, rgba(90,31,143,0.35) 0%, transparent 60%),
      linear-gradient(155deg, #10041d 0%, #240b3c 48%, #10041d 100%) !important;
  }
  #eib27-root .eib27-facets{ position:absolute !important; inset:0 !important; z-index:1 !important; opacity:0.55 !important; }
  #eib27-root .eib27-facets path{ transition:opacity 0.6s ease !important; will-change:opacity; }

  #eib27-root .eib27-orbs{ position:absolute !important; inset:0 !important; z-index:2 !important; pointer-events:none !important; }
  #eib27-root .eib27-orb{
    position:absolute !important; border-radius:50% !important; filter:blur(2px) !important;
    opacity:0 !important; mix-blend-mode:screen !important; will-change:transform, opacity;
  }

  #eib27-root .eib27-vignette{
    position:absolute !important; inset:0 !important; z-index:4 !important; pointer-events:none !important;
    background:radial-gradient(ellipse 70% 60% at 50% 42%, transparent 35%, rgba(10,2,18,0.6) 100%) !important;
  }

  #eib27-root .eib27-content-wrap{
    position:relative !important; z-index:5 !important; width:100% !important;
    padding:0.8rem 24px 8vh !important;
    display:flex !important; flex-direction:column !important; align-items:center !important;
    margin:0 !important;
  }

  @keyframes eib27-fade-up{
    from{ opacity:0; transform:translateY(14px); }
    to{ opacity:1; transform:translateY(0); }
  }
  @keyframes eib27-fade-down{
    from{ opacity:0; transform:translateY(-12px); }
    to{ opacity:1; transform:translateY(0); }
  }
  @keyframes eib27-fade-in{
    from{ opacity:0; }
    to{ opacity:1; }
  }
  @keyframes eib27-grow-x{
    from{ opacity:0; transform:scaleX(0); }
    to{ opacity:1; transform:scaleX(1); }
  }

  #eib27-root .eib27-hero-logo{
    width:100% !important; display:flex !important; justify-content:center !important;
    margin:0 0 2.6rem !important;
    opacity:0; animation:eib27-fade-down 0.7s ease-out 0.05s forwards;
  }
  #eib27-root .eib27-hero-logo img{
    width:50vw !important; min-width:220px !important; max-width:520px !important; height:auto !important;
    filter:drop-shadow(0 0 26px rgba(224,20,137,0.4)) !important;
    display:block !important; border:0 !important; max-width:520px;
  }

  #eib27-root .eib27-content{ width:100% !important; max-width:720px !important; margin:0 auto !important; text-align:center !important; }

  #eib27-root .eib27-eyebrow{
    display:inline-flex !important; align-items:center !important; gap:0.6em !important;
    font-weight:600 !important; letter-spacing:0.3em !important; text-transform:uppercase !important;
    color:#ff4fb0 !important; padding:0.75rem 1.6rem !important;
    border:1px solid rgba(224,20,137,0.4) !important; border-radius:999px !important;
    background:rgba(224,20,137,0.08) !important; margin:0 0 2.6rem !important;
    opacity:0; font-size:0.78rem !important; line-height:1.4 !important;
    animation:eib27-fade-up 0.6s ease-out 0.2s forwards;
  }
  #eib27-root .eib27-eyebrow .dot{
    width:5px !important; height:5px !important; border-radius:50% !important; background:#ff4fb0 !important;
    box-shadow:0 0 6px 1px rgba(255,79,176,0.8) !important; display:inline-block !important;
  }

  #eib27-root .eib27-h1{
    font-family:'Caudex',"Caudex Fallback", serif !important; font-weight:700 !important;
    font-size:clamp(2.6rem, 6.5vw, 4.8rem) !important; line-height:1.1 !important;
    margin:0 !important; color:#f7f2fb !important;
    opacity:0; animation:eib27-fade-up 0.75s ease-out 0.32s forwards;
  }
  #eib27-root .eib27-h1 em{
    font-style:italic !important; font-weight:400 !important;
    background:linear-gradient(120deg, #ff4fb0, #f7f2fb 65%) !important;
    -webkit-background-clip:text !important; background-clip:text !important; color:transparent !important;
  }

  #eib27-root .eib27-h2{
    font-family:'Caudex',"Caudex Fallback", serif !important; font-style:italic !important; font-weight:400 !important;
    font-size:clamp(1.4rem, 3vw, 2.1rem) !important; color:#c9b3e0 !important;
    margin:0.9rem 0 0.9rem !important;
    opacity:0; animation:eib27-fade-up 0.65s ease-out 0.5s forwards;
  }

  #eib27-root .eib27-body{
    font-size:clamp(1rem, 1.5vw, 1.15rem) !important; line-height:1.85 !important; font-weight:300 !important;
    color:#e4d9ef !important; max-width:560px !important; margin:0 auto !important;
    opacity:0; animation:eib27-fade-up 0.6s ease-out forwards;
  }
  #eib27-root .eib27-body + .eib27-body{ margin-top:1.1rem !important; }
  #eib27-root .eib27-body strong{ color:#f7f2fb !important; font-weight:600 !important; }
  #eib27-root #eib27-p1{ animation-delay:0.66s; }
  #eib27-root #eib27-p2{ animation-delay:0.78s; }
  #eib27-root #eib27-p3{ animation-delay:1.16s; }

  #eib27-root .eib27-divider{
    width:72px !important; height:1px !important; margin:3rem auto !important;
    background:linear-gradient(90deg, transparent, rgba(247,242,251,0.16), transparent) !important;
    opacity:0; position:relative !important;
    animation:eib27-grow-x 0.5s ease-out 0.94s forwards;
  }
  #eib27-root .eib27-divider::after{
    content:"" !important; position:absolute !important; top:-2.5px !important; left:50% !important; transform:translateX(-50%) !important;
    width:6px !important; height:6px !important; border-radius:50% !important; background:#e01489 !important;
    box-shadow:0 0 8px 2px rgba(224,20,137,0.8) !important;
  }

  #eib27-root .eib27-prompt{
    font-family:'Caudex',"Caudex Fallback", serif !important; font-style:italic !important;
    font-size:clamp(1.2rem, 2vw, 1.55rem) !important; color:#f7f2fb !important;
    margin:0 0 1rem !important;
    opacity:0; animation:eib27-fade-up 0.6s ease-out 1.04s forwards;
  }

  #eib27-root .eib27-cta{
    display:inline-flex !important; align-items:center !important; gap:0.7em !important;
    margin:0.5rem 0 0 !important; padding:0.9rem 1.2rem !important;
    font-family:'Montserrat',"Montserrat Fallback", sans-serif !important; font-size:0.8rem !important; font-weight:700 !important;
    letter-spacing:0.22em !important; text-transform:uppercase !important;
    color:#f7f2fb !important; background:linear-gradient(100deg, #e01489, #a91270) !important;
    border-radius:2px !important; border:1px solid rgba(247,242,251,0.15) !important;
    position:relative !important; isolation:isolate !important; overflow:hidden !important;
    opacity:0; cursor:pointer !important;
    transition:transform 0.35s ease, box-shadow 0.35s ease !important;
    box-shadow:0 0 0 rgba(224,20,137,0) !important;
    animation:eib27-fade-up 0.6s ease-out 1.32s forwards;
  }
  #eib27-root .eib27-cta::before{
    content:"" !important; position:absolute !important; inset:0 !important;
    background:linear-gradient(100deg, #ff4fb0, #e01489) !important;
    opacity:0 !important; transition:opacity 0.4s ease !important; z-index:-1 !important;
  }
  #eib27-root .eib27-cta:hover{ transform:translateY(-2px) !important; box-shadow:0 8px 34px rgba(224,20,137,0.5) !important; }
  #eib27-root .eib27-cta:hover::before{ opacity:1 !important; }
  #eib27-root .eib27-cta:focus-visible{ outline:2px solid #f7f2fb !important; outline-offset:3px !important; }
  #eib27-root .eib27-cta .spark{ font-size:0.9em !important; }

  #eib27-root .eib27-footnote{
    margin:3.4rem 0 0 !important; font-size:0.78rem !important; letter-spacing:0.2em !important;
    text-transform:uppercase !important; color:rgba(201,179,224,0.55) !important;
    opacity:0; animation:eib27-fade-in 0.7s ease-out 1.5s forwards;
  }

  @media (max-width:640px){
    #eib27-root .eib27-content-wrap{ padding:6vh 22px 7vh !important; }
    #eib27-root .eib27-hero-logo img{ width:65vw !important; }
    #eib27-root .eib27-content{ max-width:94vw !important; }
  }

  /* ---------- waitlist modal ---------- */
  #eib27-root .eib27-modal-overlay{
    position:fixed !important; inset:0 !important; z-index:2147483000 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    padding:24px !important; background:rgba(8,2,15,0.72) !important;
    backdrop-filter:blur(6px) !important; -webkit-backdrop-filter:blur(6px) !important;
    opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
    transition:opacity 0.3s ease, visibility 0.3s ease !important;
  }
  #eib27-root .eib27-modal-overlay.is-open{
    opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
  }

  #eib27-root .eib27-modal-box{
    position:relative !important; width:100% !important; max-width:460px !important; max-height:88vh !important;
    overflow-y:auto !important;
    background:linear-gradient(165deg, #2a0f45 0%, #180730 100%) !important;
    border:1px solid rgba(224,20,137,0.35) !important; border-radius:6px !important;
    box-shadow:0 20px 70px rgba(0,0,0,0.55), 0 0 60px rgba(224,20,137,0.18) !important;
    padding:2.4rem 2.1rem 2rem !important; text-align:center !important;
    transform:scale(0.92) translateY(10px) !important;
    transition:transform 0.35s cubic-bezier(.2,.8,.3,1.15), opacity 0.3s ease !important;
    opacity:0 !important;
  }
  #eib27-root .eib27-modal-overlay.is-open .eib27-modal-box{
    transform:scale(1) translateY(0) !important;
    opacity:1 !important;
  }
  #eib27-root .eib27-modal-box::-webkit-scrollbar{ width:6px; }
  #eib27-root .eib27-modal-box::-webkit-scrollbar-thumb{ background:rgba(224,20,137,0.4); border-radius:3px; }

  #eib27-root .eib27-modal-close{
    position:absolute !important; top:14px !important; right:14px !important; width:30px !important; height:30px !important;
    border:1px solid rgba(247,242,251,0.25) !important; background:rgba(255,255,255,0.04) !important;
    border-radius:50% !important; color:#f7f2fb !important; font-size:15px !important; line-height:1 !important;
    display:flex !important; align-items:center !important; justify-content:center !important; cursor:pointer !important;
    transition:background 0.25s ease, transform 0.25s ease !important; padding:0 !important;
  }
  #eib27-root .eib27-modal-close:hover{ background:rgba(224,20,137,0.35) !important; transform:rotate(90deg) !important; }
  #eib27-root .eib27-modal-close:focus-visible{ outline:2px solid #f7f2fb !important; outline-offset:2px !important; }

  #eib27-root .eib27-modal-eyebrow{
    font-size:0.65rem !important; font-weight:600 !important; letter-spacing:0.26em !important;
    text-transform:uppercase !important; color:#ff4fb0 !important; margin:0 0 0.6rem !important;
  }
  #eib27-root .eib27-modal-title{
    font-family:'Caudex',"Caudex Fallback", serif !important; font-weight:700 !important;
    font-size:clamp(1.5rem, 4vw, 1.9rem) !important; color:#f7f2fb !important; margin:0 0 0.6rem !important;
  }
  #eib27-root .eib27-modal-sub{
    font-weight:300 !important; font-size:0.85rem !important; line-height:1.6 !important; color:#e4d9ef !important;
    max-width:340px !important; margin:0 auto 1.6rem !important;
  }

  /* WPForms output — themed once WordPress replaces the shortcode below */
  #eib27-root .eib27-wpforms-embed{ text-align:left !important; }
  #eib27-root .eib27-wpforms-embed .wpforms-container{ margin:0 !important; }
  #eib27-root .eib27-wpforms-embed .wpforms-form{ margin:0 !important; }
  #eib27-root .eib27-wpforms-embed .wpforms-field{ padding:0 0 1rem !important; }
  #eib27-root .eib27-wpforms-embed .wpforms-field-label{
    font-family:'Montserrat',"Montserrat Fallback", sans-serif !important;
    font-size:0.68rem !important; font-weight:600 !important;
    letter-spacing:0.14em !important; text-transform:uppercase !important;
    color:#c9b3e0 !important; margin-bottom:0.5rem !important;
  }
  #eib27-root .eib27-wpforms-embed .wpforms-field-required{ color:#ff4fb0 !important; }
  #eib27-root .eib27-wpforms-embed input[type="text"],
  #eib27-root .eib27-wpforms-embed input[type="email"],
  #eib27-root .eib27-wpforms-embed .wpforms-field-medium,
  #eib27-root .eib27-wpforms-embed .wpforms-field-name-first,
  #eib27-root .eib27-wpforms-embed .wpforms-field-name-last{
    width:100% !important;
    font-family:'Montserrat',"Montserrat Fallback", sans-serif !important;
    font-size:0.88rem !important; color:#f7f2fb !important;
    background:rgba(255,255,255,0.05) !important;
    border:1px solid rgba(247,242,251,0.22) !important;
    border-radius:2px !important; padding:0.7rem 0.85rem !important;
    transition:border-color 0.25s ease, background 0.25s ease !important;
  }
  #eib27-root .eib27-wpforms-embed input[type="text"]:focus,
  #eib27-root .eib27-wpforms-embed input[type="email"]:focus{
    outline:none !important; border-color:#e01489 !important; background:rgba(255,255,255,0.08) !important;
  }
  #eib27-root .eib27-wpforms-embed input::placeholder{ color:rgba(247,242,251,0.35) !important; }
  #eib27-root .eib27-wpforms-embed .wpforms-field-row{ gap:0.8rem !important; }
  #eib27-root .eib27-wpforms-embed .wpforms-field-row-block{ padding:0 !important; }
  #eib27-root .eib27-wpforms-embed .wpforms-submit-container{ margin-top:0.4rem !important; }
  #eib27-root .eib27-wpforms-embed button.wpforms-submit,
  #eib27-root .eib27-wpforms-embed input.wpforms-submit{
    width:100% !important;
    font-family:'Montserrat',"Montserrat Fallback", sans-serif !important;
    font-size:0.76rem !important; font-weight:700 !important;
    letter-spacing:0.2em !important; text-transform:uppercase !important;
    color:#f7f2fb !important;
    background:linear-gradient(100deg, #e01489, #a91270) !important;
    border:1px solid rgba(247,242,251,0.15) !important;
    border-radius:2px !important; padding:0.85rem 1.4rem !important;
    cursor:pointer !important;
    transition:transform 0.3s ease, box-shadow 0.3s ease !important;
  }
  #eib27-root .eib27-wpforms-embed button.wpforms-submit:hover,
  #eib27-root .eib27-wpforms-embed input.wpforms-submit:hover{
    transform:translateY(-2px) !important; box-shadow:0 8px 28px rgba(224,20,137,0.5) !important;
  }
  #eib27-root .eib27-wpforms-embed .wpforms-error,
  #eib27-root .eib27-wpforms-embed label.wpforms-error{
    color:#ff4fb0 !important; font-size:0.72rem !important; margin-top:0.3rem !important;
  }

.wpforms-container .wpforms-field .wpforms-field-row .wpforms-one-half, .wpforms-container .wpforms-field .wpforms-field-row .wpforms-three-sixths, .wpforms-container .wpforms-field .wpforms-field-row .wpforms-two-fourths {
  max-width: 48% !important;
width: 48% !important;
}
#eib27-root .eib27-wpforms-embed .wpforms-field-row {
gap: 0 !important;
}
