/* =========================================================
   IMAGI777 REFERENCE SALES LAYOUT V113
   Existing creatorShell is preserved.
   ========================================================= */

.hero-reference-v113{
  padding-top:42px !important;
}

.hero-reference-v113 .reference-hero-top{
  width:min(1280px,calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.98fr) minmax(480px,1.02fr);
  gap:52px;
  align-items:center;
}

.hero-reference-v113 .reference-hero-copy{
  min-width:0;
}

.hero-reference-v113 .hero-title{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.hero-reference-v113 .hero-title-line{
  display:block;
}

.hero-reference-v113 .hero-subtitle,
.hero-reference-v113 .hero-support{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
  max-width:590px;
}

.hero-reference-v113 .hero-kicker{
  margin-left:0 !important;
}

.reference-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:27px;
}

.reference-primary,
.reference-secondary{
  min-height:60px;
  padding:0 31px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:999px;
  text-decoration:none;
  font-size:17px;
  font-weight:850;
  cursor:pointer;
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease;
}

.reference-primary{
  color:#fff;
  border:1px solid rgba(211,180,255,.55);
  background:
    linear-gradient(
      90deg,
      #9f4fff,
      #8368ff
    );
  box-shadow:
    0 14px 34px rgba(129,75,255,.25),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.reference-secondary{
  color:#fff;
  border:1px solid rgba(220,220,255,.55);
  background:rgba(12,15,34,.38);
}

.reference-primary:hover,
.reference-secondary:hover{
  transform:translateY(-1px);
}

.hero-reference-v113 .hero-trust{
  justify-content:flex-start !important;
  margin:19px 0 0 !important;
  gap:18px !important;
  flex-wrap:wrap;
}

/* ---------------- VIDEO ---------------- */

.reference-video-card{
  position:relative;
  padding:4px;
  overflow:hidden;
  border-radius:28px;
  background:
    linear-gradient(
      135deg,
      #8c5cff,
      #bd5cff 52%,
      #56c8ff
    );
  box-shadow:
    0 0 46px rgba(111,80,255,.24),
    0 24px 65px rgba(0,0,0,.38);
}

.reference-video-inner{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:24px;
  background:#070911;
}

.reference-vikings-video,
.reference-vikings-poster{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.reference-vikings-poster{
  z-index:2;
}

.reference-vikings-video{
  z-index:1;
  background:#070911;
}

.reference-video-badge{
  position:absolute;
  z-index:6;
  top:14px;
  right:14px;
  padding:9px 14px;
  border-radius:999px;
  color:#fff;
  background:rgba(24,19,50,.88);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-size:12px;
  font-weight:800;
}

.reference-video-play{
  position:absolute;
  z-index:7;
  left:50%;
  top:50%;
  width:68px;
  height:68px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:2px solid rgba(255,255,255,.85);
  background:rgba(32,25,50,.28);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:0 12px 32px rgba(0,0,0,.30);
}

.reference-video-play::after{
  content:"";
  width:0;
  height:0;
  margin-left:5px;
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
  border-left:18px solid #fff;
}

.reference-fake-controls{
  position:absolute;
  z-index:6;
  left:18px;
  right:18px;
  bottom:13px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:12px;
  font-weight:750;
  pointer-events:none;
}

.reference-fake-progress{
  height:5px;
  flex:1;
  border-radius:999px;
  background:rgba(255,255,255,.30);
  overflow:hidden;
}

.reference-fake-progress span{
  display:block;
  width:0%;
  height:100%;
  background:#fff;
}

.reference-video-card.is-playing
.reference-vikings-poster,
.reference-video-card.is-playing
.reference-video-play,
.reference-video-card.is-playing
.reference-fake-controls{
  display:none;
}

/* ---------------- PROOF ROW ---------------- */

.reference-proof-section{
  width:min(1280px,calc(100% - 48px));
  margin:58px auto 0;
  padding-top:18px;
}

.reference-proof-heading{
  text-align:center;
  margin-bottom:27px;
}

.reference-proof-heading h2{
  margin:0;
  color:#f7f7ff;
  font-size:clamp(31px,4vw,44px);
  font-weight:900;
  letter-spacing:-.035em;
}

.reference-proof-heading h2 span{
  background:
    linear-gradient(
      90deg,
      #b674ff,
      #52caff
    );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.reference-proof-heading p{
  margin:9px 0 0;
  color:#b7b8cc;
  font-size:16px;
}

.reference-proof-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.reference-proof-card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:20px;
  align-items:center;
  min-width:0;
  padding:16px;
  border-radius:23px;
  border:1px solid rgba(159,103,255,.54);
  background:
    radial-gradient(
      circle at 0 50%,
      rgba(111,67,255,.13),
      transparent 38%
    ),
    rgba(16,16,39,.80);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025);
}

.reference-proof-image{
  position:relative;
  width:150px;
  height:122px;
  overflow:hidden;
  border-radius:17px;
  background:#111528;
}

.reference-proof-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.reference-proof-play{
  position:absolute;
  right:9px;
  bottom:9px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:
    linear-gradient(
      135deg,
      #9d4fff,
      #7157ff
    );
  box-shadow:0 5px 15px rgba(87,51,217,.40);
}

.reference-proof-number{
  margin:0 0 8px;
  color:#fff;
  font-size:clamp(39px,4vw,53px);
  line-height:.95;
  letter-spacing:-.045em;
  font-weight:950;
}

.reference-proof-description{
  margin:0;
  color:#e3e2f3;
  font-size:15px;
  line-height:1.3;
}

/* ---------------- EXISTING PROMPT ---------------- */

.reference-prompt-stage{
  width:min(1180px,calc(100% - 48px));
  margin:52px auto 34px;
  padding:29px 28px 28px;
  border:1px solid rgba(142,91,255,.46);
  border-radius:28px;
  background:
    radial-gradient(
      circle at 10% 30%,
      rgba(109,58,211,.15),
      transparent 32%
    ),
    rgba(14,15,37,.46);
}

.reference-prompt-heading{
  text-align:center;
  margin-bottom:20px;
}

.reference-prompt-heading h2{
  margin:0;
  color:#fff;
  font-size:clamp(31px,4vw,42px);
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.035em;
}

.reference-prompt-heading h2 span{
  color:#ac63ff;
}

.reference-prompt-heading p{
  margin:8px 0 0;
  color:#c0bfd0;
  font-size:16px;
}

.reference-prompt-stage #creatorShell{
  margin:0 !important;
  max-width:none !important;
}

/* ---------------- RESPONSIVE ---------------- */

@media(max-width:1000px){
  .hero-reference-v113
  .reference-hero-top{
    grid-template-columns:1fr;
  }

  .reference-video-card{
    max-width:720px;
    margin:0 auto;
  }

  .reference-proof-grid{
    grid-template-columns:1fr;
  }

  .reference-proof-card{
    grid-template-columns:170px minmax(0,1fr);
  }

  .reference-proof-image{
    width:170px;
  }
}

@media(max-width:650px){
  .hero-reference-v113{
    padding-top:25px !important;
  }

  .hero-reference-v113
  .reference-hero-top,
  .reference-proof-section,
  .reference-prompt-stage{
    width:calc(100% - 26px);
  }

  .hero-reference-v113 .hero-title{
    font-size:47px !important;
  }

  .reference-hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .reference-primary,
  .reference-secondary{
    width:100%;
    box-sizing:border-box;
  }

  .reference-video-card{
    border-radius:21px;
  }

  .reference-video-inner{
    border-radius:18px;
  }

  .reference-video-play{
    width:58px;
    height:58px;
  }

  .reference-proof-section{
    margin-top:39px;
  }

  .reference-proof-card{
    grid-template-columns:116px minmax(0,1fr);
    gap:14px;
    padding:12px;
  }

  .reference-proof-image{
    width:116px;
    height:98px;
  }

  .reference-proof-number{
    font-size:39px;
  }

  .reference-proof-description{
    font-size:13px;
  }

  .reference-prompt-stage{
    margin-top:38px;
    padding:22px 14px 18px;
  }
}

/* =========================================================
   HERO_HEADLINE_FIT_V117
   Keep the intended two-line headline fully visible.
   ========================================================= */

@media (min-width:1001px){

  .hero-reference-v113 .reference-hero-copy{
    min-width:0 !important;
    overflow:visible !important;
  }

  .hero-reference-v113 .hero-title{
    width:100% !important;
    max-width:none !important;
    margin:24px 0 20px !important;

    font-size:clamp(42px,3.15vw,51px) !important;
    line-height:.98 !important;
    letter-spacing:-.052em !important;

    overflow:visible !important;
  }

  .hero-reference-v113 .hero-title-line{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  .hero-reference-v113 .hero-title-white,
  .hero-reference-v113 .hero-title-gradient{
    font-size:inherit !important;
    line-height:inherit !important;
  }

}

/* Tablet */
@media (min-width:651px) and (max-width:1000px){

  .hero-reference-v113 .hero-title{
    font-size:clamp(46px,7vw,64px) !important;
    line-height:.98 !important;
  }

  .hero-reference-v113 .hero-title-line{
    white-space:normal !important;
  }

}

/* Mobile */
@media (max-width:650px){

  .hero-reference-v113 .hero-title{
    font-size:42px !important;
    line-height:1 !important;
    letter-spacing:-.045em !important;
  }

  .hero-reference-v113 .hero-title-line{
    white-space:normal !important;
  }

}

/* ============================================================
   HERO_HEADLINE_AND_BUTTON_CLEANUP_V118
   - Fix cropped headline
   - Remove mini text under Start Creating
   ============================================================ */

@media (min-width:1001px){

  .hero-reference-v113 .reference-hero-grid{
    grid-template-columns:minmax(0,1.03fr) minmax(460px,560px) !important;
    gap:44px !important;
    align-items:center !important;
  }

  .hero-reference-v113 .reference-hero-copy{
    min-width:0 !important;
    overflow:visible !important;
    position:relative !important;
    z-index:2 !important;
  }

  .hero-reference-v113 .hero-title{
    width:100% !important;
    max-width:700px !important;
    min-width:0 !important;
    margin:22px 0 18px !important;
    overflow:visible !important;
  }

  .hero-reference-v113 .hero-title-line{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    white-space:nowrap !important;
    overflow:visible !important;
    font-size:clamp(56px,4.65vw,82px) !important;
    line-height:.92 !important;
    letter-spacing:-.06em !important;
  }

  .hero-reference-v113 .hero-title-white,
  .hero-reference-v113 .hero-title-gradient{
    font-size:inherit !important;
    line-height:inherit !important;
  }

  .hero-reference-v113 .hero-subtitle{
    margin-top:10px !important;
  }

  .hero-reference-v113 .hero-support{
    margin-top:8px !important;
    max-width:620px !important;
  }
}

@media (min-width:651px) and (max-width:1000px){
  .hero-reference-v113 .hero-title{
    width:100% !important;
    max-width:none !important;
    overflow:visible !important;
  }

  .hero-reference-v113 .hero-title-line{
    display:block !important;
    white-space:normal !important;
    font-size:clamp(44px,6.8vw,66px) !important;
    line-height:.96 !important;
    letter-spacing:-.055em !important;
  }
}

@media (max-width:650px){
  .hero-reference-v113 .hero-title{
    width:100% !important;
    max-width:none !important;
    overflow:visible !important;
  }

  .hero-reference-v113 .hero-title-line{
    display:block !important;
    white-space:normal !important;
    font-size:clamp(38px,10.5vw,54px) !important;
    line-height:.98 !important;
    letter-spacing:-.05em !important;
  }
}

/* Known benefit rows / micro-copy under CTA */
.hero-reference-v113 .reference-micro-points,
.hero-reference-v113 .reference-hero-points,
.hero-reference-v113 .reference-proof-points,
.hero-reference-v113 .reference-mini-points,
.hero-reference-v113 .reference-benefits,
.hero-reference-v113 .reference-benefit-row,
.hero-reference-v113 .reference-cta-notes{
  display:none !important;
}

/* ============================================================
   HERO_FINAL_LAYOUT_V120
   Fix headline overlap + remove small trust labels
   ============================================================ */

/* Remove:
   Complete films
   Professional AI voices
   Cinematic visuals
   Multiple languages
   Final MP4
*/
.hero-reference-v113 .hero-trust{
  display:none !important;
}


/* DESKTOP */
@media (min-width:1001px){

  .hero-reference-v113 .reference-hero-top{
    width:min(1280px,calc(100% - 48px)) !important;

    grid-template-columns:
      minmax(0,1fr)
      minmax(470px,0.95fr) !important;

    gap:40px !important;
    align-items:center !important;
  }

  .hero-reference-v113 .reference-hero-copy{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:visible !important;
  }

  .hero-reference-v113 .hero-title{
    width:100% !important;
    max-width:100% !important;

    margin:
      24px
      0
      22px
      0 !important;

    padding:0 !important;

    font-size:
      clamp(44px,3.15vw,50px) !important;

    line-height:.98 !important;
    letter-spacing:-.045em !important;

    overflow:visible !important;
  }

  .hero-reference-v113 .hero-title-line{
    display:block !important;

    width:100% !important;
    max-width:100% !important;

    font-size:inherit !important;
    line-height:inherit !important;
    letter-spacing:inherit !important;

    white-space:nowrap !important;

    overflow:visible !important;
  }

  .hero-reference-v113 .hero-title-white,
  .hero-reference-v113 .hero-title-gradient{
    font-size:inherit !important;
  }

  .hero-reference-v113 .reference-video-card{
    width:100% !important;
    max-width:620px !important;

    margin-left:auto !important;
    margin-right:0 !important;
  }

  .hero-reference-v113 .hero-subtitle{
    max-width:570px !important;
    margin:
      0
      0
      10px
      0 !important;
  }

  .hero-reference-v113 .hero-support{
    max-width:590px !important;
    margin:
      0
      0
      22px
      0 !important;
  }

}


/* LAPTOP / TABLET */
@media (min-width:651px) and (max-width:1000px){

  .hero-reference-v113 .reference-hero-top{
    grid-template-columns:1fr !important;
    gap:32px !important;
  }

  .hero-reference-v113 .hero-title{
    width:100% !important;
    max-width:760px !important;

    font-size:
      clamp(46px,7vw,62px) !important;

    line-height:.98 !important;
  }

  .hero-reference-v113 .hero-title-line{
    white-space:normal !important;
  }

  .hero-reference-v113 .reference-video-card{
    width:min(720px,100%) !important;
    margin:0 auto !important;
  }

}


/* MOBILE */
@media (max-width:650px){

  .hero-reference-v113 .hero-title{
    width:100% !important;

    font-size:
      clamp(38px,11vw,48px) !important;

    line-height:1 !important;
    letter-spacing:-.045em !important;
  }

  .hero-reference-v113 .hero-title-line{
    white-space:normal !important;
  }

}

/* ============================================================
   HERO_HEADLINE_HARD_FIX_V121
   Definitive desktop fit.
   ============================================================ */

@media (min-width:1001px){

  .hero-reference-v113 .reference-hero-top{
    grid-template-columns:
      minmax(0, 1.08fr)
      minmax(0, .92fr) !important;

    gap:46px !important;
  }

  .hero-reference-v113 .reference-hero-copy{
    min-width:0 !important;
    width:100% !important;
    overflow:visible !important;
  }

  .hero-reference-v113 .hero-title{
    display:block !important;
    width:100% !important;
    max-width:620px !important;

    margin:24px 0 20px !important;
    padding:0 !important;

    font-size:42px !important;
    line-height:.98 !important;
    letter-spacing:-1.8px !important;

    overflow:visible !important;
  }

  .hero-reference-v113 .hero-title-line,
  .hero-reference-v113 .hero-title-white,
  .hero-reference-v113 .hero-title-gradient{
    display:block !important;

    width:100% !important;
    max-width:620px !important;

    margin:0 !important;
    padding:0 !important;

    font-size:42px !important;
    line-height:.98 !important;
    letter-spacing:-1.8px !important;

    white-space:nowrap !important;

    transform:none !important;
    scale:none !important;

    overflow:visible !important;
  }

  .hero-reference-v113 .reference-video-card{
    width:100% !important;
    max-width:580px !important;
    margin-left:auto !important;
  }

  /* Keep the text comfortably away from the video. */
  .hero-reference-v113 .reference-hero-copy{
    padding-right:8px !important;
    box-sizing:border-box !important;
  }

  /* Remove the tiny labels below Start Creating. */
  .hero-reference-v113 .hero-trust{
    display:none !important;
  }
}


/* Slightly larger on very wide displays, but still safe. */
@media (min-width:1450px){

  .hero-reference-v113 .hero-title,
  .hero-reference-v113 .hero-title-line,
  .hero-reference-v113 .hero-title-white,
  .hero-reference-v113 .hero-title-gradient{
    font-size:46px !important;
    max-width:680px !important;
  }

}


/* Tablet */
@media (min-width:651px) and (max-width:1000px){

  .hero-reference-v113 .hero-title,
  .hero-reference-v113 .hero-title-line{
    font-size:48px !important;
    line-height:1 !important;
    white-space:normal !important;
  }

}


/* Mobile */
@media (max-width:650px){

  .hero-reference-v113 .hero-title,
  .hero-reference-v113 .hero-title-line{
    font-size:39px !important;
    line-height:1 !important;
    white-space:normal !important;
  }

}


/* ============================================================
   LIVE_GRADIENT_V128
   Make gradient text animate live like "in action"
   END_LIVE_GRADIENT_V128
   ============================================================ */

.reference-headline-gradient,
.imagi-live-gradient-v128{
  display:inline-block !important;
  background-image:linear-gradient(
    90deg,
    #ff47c7 0%,
    #b05cff 18%,
    #7a63ff 36%,
    #49a6ff 58%,
    #67e0ff 78%,
    #ff47c7 100%
  ) !important;
  background-size:260% 100% !important;
  background-position:0% 50% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  filter:
    drop-shadow(0 0 14px rgba(183,92,255,.24))
    drop-shadow(0 0 24px rgba(74,166,255,.18)) !important;
  animation:imagiLiveGradientV128 4.4s linear infinite !important;
  will-change:background-position,filter !important;
}

@keyframes imagiLiveGradientV128{
  0%{
    background-position:0% 50%;
    filter:
      drop-shadow(0 0 12px rgba(183,92,255,.18))
      drop-shadow(0 0 20px rgba(74,166,255,.14));
  }
  50%{
    background-position:100% 50%;
    filter:
      drop-shadow(0 0 16px rgba(183,92,255,.30))
      drop-shadow(0 0 28px rgba(74,166,255,.22));
  }
  100%{
    background-position:0% 50%;
    filter:
      drop-shadow(0 0 12px rgba(183,92,255,.18))
      drop-shadow(0 0 20px rgba(74,166,255,.14));
  }
}

@media (prefers-reduced-motion:reduce){
  .reference-headline-gradient,
  .imagi-live-gradient-v128{
    animation:none !important;
    background-position:50% 50% !important;
  }
}


/* ============================================================
   EXACT_LANDING_GRADIENT_LIVE_V129
   Exact colors used by "in action." in landing-v2.css,
   now animated for selected sales headings.
   ============================================================ */

.imagi-live-gradient-v129,
.reference-headline-gradient{
  display:inline-block !important;

  background-image:
    linear-gradient(
      90deg,
      #9669ff 0%,
      #6394ff 38%,
      #55d6bc 68%,
      #6394ff 84%,
      #9669ff 100%
    ) !important;

  background-size:240% 100% !important;
  background-position:0% 50% !important;

  -webkit-background-clip:text !important;
  background-clip:text !important;

  -webkit-text-fill-color:transparent !important;
  color:transparent !important;

  animation:
    imagiExactGradientLiveV129
    3.6s linear
    infinite !important;

  will-change:background-position !important;
}

@keyframes imagiExactGradientLiveV129{
  0%{
    background-position:0% 50%;
  }

  100%{
    background-position:240% 50%;
  }
}

/*
  Keep it moving even if older rules tried to disable
  .reference-headline-gradient animation.
*/
.reference-headline-gradient{
  animation:
    imagiExactGradientLiveV129
    3.6s linear
    infinite !important;
}


/* ============================================================
   CENTER_HERO_CTA_V147
   Center Start Creating under the left hero copy.
   ============================================================ */

@media (min-width:1001px){

  .hero-reference-v113 .reference-hero-actions{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin-top:24px !important;
  }

  .hero-reference-v113 .reference-primary{
    margin-left:auto !important;
    margin-right:auto !important;
  }

}
