/* ==========================================================================
   TSG Trip CRM — launch intro theme (visual only)
   Load AFTER styles.css and tsg-theme.css. Restyles the opening intro
   (.launch-*) and the loading screen (.boot-screen) to the new brand look:
   deep navy, topographic lines, lime/orange accents, RBNo3.1 headlines.
   No markup, class names, timings or behaviour are changed.
   ========================================================================== */

/* ---- Loading screen shown before the app boots ---- */
.boot-screen {
  background: url("textures/topo-dark.svg") center / 900px 900px repeat, #093542 !important;
  border-radius: 0;
}
.boot-screen p {
  color: #bdff00;
  font-family: "RBNo3.1", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: .18em;
}

/* ---- Intro canvas ---- */
.launch-intro {
  background:
    radial-gradient(circle at 50% 46%, rgba(2, 73, 69, .55), transparent 62%),
    url("textures/topo-dark.svg") center / 1100px 1100px repeat,
    #093542;
  color: #fff;
}

/* opening "curtain" wipes: deep forest + black instead of beige/orange */
.launch-intro::before { background: #05242d; }
.launch-intro::after  { background: #024945; }

/* diagonal hatch -> bright topographic contours fading in toward the edges */
.launch-grid {
  background: url("textures/topo-lime.svg") center / 1100px 1100px repeat;
  opacity: .16;
  -webkit-mask-image: radial-gradient(ellipse at center, transparent 22%, #000 78%);
          mask-image: radial-gradient(ellipse at center, transparent 22%, #000 78%);
}

/* orbit rings: thin lime hairlines with a lime marker */
.launch-orbit { border: 1px solid rgba(189, 255, 0, .16); }
.launch-orbit::before {
  background: #bdff00;
  border-radius: 0;
  height: 9px;
  width: 9px;
  transform: rotate(45deg);
}

/* mountains: quiet forest silhouettes */
.launch-mountains { background: rgba(2, 73, 69, .55); }
.launch-mountains::before { background: rgba(5, 36, 45, .7); }

/* the light sweep becomes a lime line */
.launch-sweep {
  background: linear-gradient(90deg, transparent, #bdff00, transparent);
  height: 1px;
}

/* square editorial frame with a lime top edge */
.launch-frame {
  border: 1px solid rgba(255, 255, 255, .16);
  border-top: 2px solid #bdff00;
}

/* ---- Chapters 1 & 2: lockup, rule, copy, hashtag ---- */
.launch-logo,
.launch-final-logo { filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .35)); }

.launch-divider { background: rgba(189, 255, 0, .45); }

.launch-brand-lockup::before {
  background: #bdff00;
  height: 4px;
}
.launch-chapter-sports .launch-brand-lockup::before { background: #ed641e; }

.launch-copy p {
  color: #bdff00;
  font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: .18em;
}
.launch-chapter-sports .launch-copy p { color: #ed641e; }

.launch-copy h1 {
  color: #fff;
  font-family: "RBNo3.1", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-weight: 900;
  line-height: .92;
  text-shadow: none;
}

.launch-hashtag {
  color: #bdff00;
  font-family: "RBNo3.1", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(30px, 5.4vw, 76px);
  font-weight: 900;
  letter-spacing: .01em;
  text-shadow: none;
}
.launch-chapter-sports .launch-hashtag { color: #ed641e; }

/* ---- Chapter 3: closing card ---- */
.launch-final-tagline {
  color: #fff;
  font-family: "RBNo3.1", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(26px, 3.8vw, 46px);
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.launch-final-rule {
  background: #bdff00;
  height: 4px;
}
.launch-final-hashtags {
  font-family: "RBNo3.1", "Montserrat", ui-sans-serif, system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: .06em;
}
.launch-final-hashtags span:first-child { color: #bdff00; }
.launch-final-hashtags span:last-child  { color: #ed641e; }
.launch-final-hashtags-dot {
  background: #fff;
  border-radius: 0;
  height: 6px;
  transform: rotate(45deg);
  width: 6px;
}

/* sparks: small lime diamonds */
.launch-spark { background: #bdff00; }
.launch-spark.two,
.launch-spark.four { background: #ed641e; }

/* ---- Tablets & phones: keep the lockup centred and inside the frame ---- */
@media (max-width: 1100px) {
  .launch-brand-lockup { align-items: center; padding-bottom: 62px; text-align: center; }
  .launch-brand-lockup::before { bottom: 30px; top: auto; }
  .launch-logo { flex: 0 0 auto; height: auto; max-width: 62vw; width: 240px; }
  .launch-copy { flex: 0 0 auto; width: 100%; }
  .launch-copy h1 { margin-left: auto; margin-right: auto; }
  .launch-hashtag { max-width: 100%; }
}
@media (max-width: 640px) {
  .launch-copy p { font-size: 10px; letter-spacing: .1em; }
  .launch-hashtag { font-size: clamp(22px, 7.2vw, 40px); }
  .launch-final-tagline { font-size: clamp(20px, 6vw, 30px); }
  .launch-final-hashtags { letter-spacing: .03em; }
}
