@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Caveat:wght@600;700&family=Montserrat:wght@400;500;600;700;800;900&family=Permanent+Marker&display=swap');

:root{
  --nova-pink:#ff1493;
  --nova-coral:#ff3f63;
  --nova-orange:#ff7a18;
  --nova-yellow:#ffd51f;
  --nova-lime:#8dff1f;
  --nova-green:#19f18b;
  --nova-cyan:#00eaff;
  --nova-blue:#1689ff;
  --nova-violet:#7455ff;
  --nova-purple:#d719ff;
  --nova-rainbow:linear-gradient(90deg,#ff1493 0%,#ff3f63 10%,#ff7a18 20%,#ffd51f 31%,#8dff1f 42%,#19f18b 52%,#00eaff 64%,#1689ff 75%,#7455ff 87%,#d719ff 100%);
  --nova-clean:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --nova-brush:'Permanent Marker','Segoe Print',cursive;
  --nova-hero:'Bebas Neue','Arial Narrow',Impact,sans-serif;
  --nova-script:'Caveat','Segoe Script',cursive;
}

html{background:#010107!important;}
body.nova-global-theme,body.nova-home-page{
  margin:0!important;
  min-height:100vh;
  color:#fff!important;
  font-family:var(--nova-clean)!important;
  background:
    radial-gradient(circle at 50% 8%,rgba(99,28,180,.12),transparent 32%),
    radial-gradient(circle at 48% 72%,rgba(0,138,255,.08),transparent 34%),
    linear-gradient(180deg,#03030a 0%,#010107 52%,#020208 100%)!important;
  position:relative;
  isolation:isolate;
  overflow-x:hidden;
}

/* Real reference-derived cosmic side energy. */
body.nova-global-theme:before,body.nova-home-page:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:url('../images/nova-nebula-left.png'),url('../images/nova-nebula-right.png');
  background-repeat:no-repeat,no-repeat;
  background-position:left top,right top;
  background-size:min(31vw,520px) auto,min(31vw,520px) auto;
  opacity:.92;
  filter:saturate(1.16) contrast(1.05);
}
body.nova-global-theme:after,body.nova-home-page:after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    radial-gradient(circle at 9% 12%,rgba(255,255,255,.86) 0 1px,transparent 1.7px),
    radial-gradient(circle at 29% 21%,rgba(255,40,176,.8) 0 1px,transparent 1.8px),
    radial-gradient(circle at 72% 16%,rgba(76,176,255,.82) 0 1px,transparent 1.8px),
    radial-gradient(circle at 91% 37%,rgba(61,255,189,.8) 0 1px,transparent 1.8px),
    radial-gradient(circle at 58% 72%,rgba(255,255,255,.6) 0 1px,transparent 1.7px),
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.16));
  background-size:180px 180px,230px 230px,250px 250px,280px 280px,220px 220px,100% 100%;
  opacity:.62;
}

/* Keep the cosmic art visible. */
body.nova-global-theme main,
body.nova-global-theme .nova-page,
body.nova-global-theme .nova-wrap,
body.nova-global-theme .page-shell,
body.nova-home-page .nova-landing,
.nova-home-page .nova-story-band,
.nova-home-page .inside-hub,
.nova-home-page .tools-strip,
.nova-home-page .symbolism,
.nova-home-page .crisis-strip,
.nova-home-page .final-entry,
.nova-home-page .nova-footer{
  background:transparent!important;
}

/* Headers: dark glass, not a flat black slab. */
body.nova-global-theme header,
body.nova-global-theme .nova-header,
body.nova-global-theme .nova-clean-header,
.nova-home-page .nova-topbar{
  background:linear-gradient(90deg,rgba(3,3,12,.86),rgba(5,4,16,.72),rgba(2,7,14,.84))!important;
  backdrop-filter:blur(15px) saturate(1.1);
  border-bottom:1px solid transparent!important;
  border-image:var(--nova-rainbow) 1!important;
  box-shadow:0 8px 28px rgba(0,0,0,.28),0 0 20px rgba(109,63,255,.08)!important;
}

/* Typography hierarchy: clean hero, true brush section titles, clean body. */
body.nova-global-theme h1,
body.nova-global-theme h2,
body.nova-global-theme .brush-title,
body.nova-global-theme .brush-heading,
body.nova-global-theme .nova-section-title,
body.nova-global-theme .section-title,
.nova-home-page .brush-heading,
.nova-home-page .brush-title{
  font-family:var(--nova-brush)!important;
  font-weight:400!important;
  font-style:italic!important;
  letter-spacing:-.035em!important;
  text-transform:uppercase!important;
  line-height:.92!important;
  background:var(--nova-rainbow)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  text-shadow:none!important;
  filter:drop-shadow(0 0 3px rgba(255,24,151,.5)) drop-shadow(0 0 8px rgba(52,129,255,.18))!important;
}
.nova-home-page .reference-title{
  font-family:var(--nova-hero)!important;
  font-style:normal!important;
  font-weight:400!important;
  letter-spacing:.025em!important;
  background:var(--nova-rainbow)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  filter:drop-shadow(0 0 4px rgba(255,24,151,.35))!important;
}
body.nova-global-theme .brush-kicker,
body.nova-global-theme .section-eyebrow,
body.nova-global-theme .nova-section-eyebrow,
body.nova-global-theme .nova-eyebrow,
.nova-home-page .brush-kicker{
  font-family:var(--nova-clean)!important;
  font-style:normal!important;
  font-weight:800!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  background:var(--nova-rainbow)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  text-shadow:none!important;
}
body.nova-global-theme .final-script,
body.nova-global-theme .script,
body.nova-global-theme .handwritten{
  font-family:var(--nova-script)!important;
}

/* Home hero: reference layout without the oversized fake arcs. */
.nova-home-page .nova-reference-hero{
  min-height:700px!important;
  background:rgba(1,2,8,.06)!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
  position:relative;
  overflow:hidden;
}
.nova-home-page .hero-cosmos{display:none!important;}
.nova-home-page .nova-reference-hero:before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(ellipse at 24% 46%,rgba(255,15,141,.13),transparent 35%),
    radial-gradient(ellipse at 79% 38%,rgba(0,235,255,.11),transparent 37%),
    radial-gradient(ellipse at 50% 92%,rgba(117,58,255,.11),transparent 34%)!important;
  pointer-events:none!important;
}
.nova-home-page .nova-reference-hero:after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  left:4%!important;right:4%!important;bottom:0!important;height:2px!important;
  background:var(--nova-rainbow)!important;
  box-shadow:0 0 9px rgba(255,38,151,.75),0 0 18px rgba(0,234,255,.42)!important;
  opacity:.85!important;
}
.nova-home-page .nova-reference-wrap{position:relative;z-index:2;}
.nova-home-page .nova-reference-brand .nova-hero-logo{
  filter:drop-shadow(0 0 7px rgba(255,20,147,.42)) drop-shadow(0 0 12px rgba(0,234,255,.20))!important;
}
.nova-home-page .reference-rule span{
  height:1px!important;
  background:var(--nova-rainbow)!important;
  box-shadow:0 0 5px rgba(0,234,255,.45)!important;
}
.nova-home-page .reference-rule b{font-size:2.1rem!important;text-shadow:0 0 6px #d819ff,0 0 12px #1689ff!important;}

/* Main section containers: no big black bars; let the nebula show through. */
.nova-home-page .nova-story-band,
.nova-home-page .tools-strip,
.nova-home-page .crisis-strip{
  background:linear-gradient(145deg,rgba(4,4,15,.84),rgba(2,3,10,.72))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 0 16px rgba(117,72,255,.08)!important;
  backdrop-filter:blur(7px)!important;
}
.nova-home-page .inside-hub,
.nova-home-page .symbolism,
.nova-home-page .final-entry{
  background:rgba(1,2,9,.18)!important;
  backdrop-filter:none!important;
  position:relative!important;
  overflow:hidden!important;
}
.nova-home-page .inside-hub:before,
.nova-home-page .inside-hub:after{
  content:""!important;
  position:absolute!important;
  pointer-events:none!important;
  width:430px!important;height:430px!important;
  border-radius:50%!important;
  filter:blur(74px)!important;
  opacity:.15!important;
}
.nova-home-page .inside-hub:before{left:-220px!important;top:22%!important;background:#ff1493!important;}
.nova-home-page .inside-hub:after{right:-220px!important;bottom:12%!important;background:#00eaff!important;}

/* Electric cards: bright color, controlled glow. */
.nova-home-page .experience-card{
  background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 6%,#05050e 94%),rgba(2,2,9,.94) 64%)!important;
  border:1.5px solid var(--accent)!important;
  box-shadow:0 0 7px color-mix(in srgb,var(--accent) 62%,transparent),0 0 18px color-mix(in srgb,var(--accent) 22%,transparent),inset 0 0 26px color-mix(in srgb,var(--accent) 5%,transparent)!important;
  backdrop-filter:blur(5px)!important;
}
.nova-home-page .experience-card:before{
  height:2px!important;
  left:10%!important;right:10%!important;
  background:linear-gradient(90deg,transparent,var(--accent) 18%,#fff 50%,var(--accent) 82%,transparent)!important;
  box-shadow:0 0 6px var(--accent)!important;
}
.nova-home-page .experience-card:after{display:none!important;}
.nova-home-page .feature-icon{
  background:#03030b!important;
  color:var(--accent)!important;
  border:1.5px solid var(--accent)!important;
  box-shadow:0 0 7px color-mix(in srgb,var(--accent) 68%,transparent),inset 0 0 10px color-mix(in srgb,var(--accent) 10%,transparent)!important;
  text-shadow:0 0 5px var(--accent)!important;
}
.nova-home-page .experience-card h3{
  font-family:var(--nova-brush)!important;
  font-style:italic!important;
  font-weight:400!important;
  letter-spacing:-.025em!important;
  color:var(--accent)!important;
  text-transform:uppercase!important;
  text-shadow:0 0 5px color-mix(in srgb,var(--accent) 46%,transparent)!important;
}
.nova-home-page .experience-card li:before{content:'✦'!important;color:var(--accent)!important;text-shadow:0 0 5px var(--accent)!important;}
.nova-home-page .experience-card a{color:var(--accent)!important;text-shadow:0 0 5px color-mix(in srgb,var(--accent) 42%,transparent)!important;}

/* Actual heartbeat artwork must sit by itself, fully visible. */
.nova-home-page .symbolism{padding-top:78px!important;padding-bottom:88px!important;}
.nova-home-page .symbolism:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:radial-gradient(ellipse at 18% 45%,rgba(255,20,147,.09),transparent 31%),radial-gradient(ellipse at 82% 45%,rgba(0,234,255,.09),transparent 31%)!important;
  pointer-events:none!important;
}
.nova-home-page .symbolism:after{display:none!important;}
.nova-home-page .symbol-logo-mark{
  width:min(1180px,94vw)!important;
  margin:10px auto 34px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.nova-home-page .symbol-logo-mark img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 5px rgba(255,20,147,.42)) drop-shadow(0 0 7px rgba(0,234,255,.24))!important;
}
.nova-home-page .symbol-grid{
  width:min(1180px,100%)!important;
  margin:0 auto!important;
  gap:16px!important;
}
.nova-home-page .symbol-grid>div{
  background:rgba(3,3,12,.82)!important;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:0 0 10px rgba(0,0,0,.35)!important;
  backdrop-filter:blur(6px)!important;
}
.nova-home-page .symbol-grid>div:nth-child(1){border-color:#ff1493!important;box-shadow:0 0 8px rgba(255,20,147,.24)!important;}
.nova-home-page .symbol-grid>div:nth-child(2){border-color:#ff8a18!important;box-shadow:0 0 8px rgba(255,138,24,.22)!important;}
.nova-home-page .symbol-grid>div:nth-child(3){border-color:#d719ff!important;box-shadow:0 0 8px rgba(215,25,255,.22)!important;}
.nova-home-page .symbol-grid>div:nth-child(4){border-color:#00eaff!important;box-shadow:0 0 8px rgba(0,234,255,.22)!important;}
.nova-home-page .symbol-grid strong{
  font-family:var(--nova-brush)!important;
  font-style:italic!important;
  font-weight:400!important;
  color:#fff!important;
  text-transform:uppercase!important;
  letter-spacing:-.02em!important;
}

/* Generic site cards/panels use the same visual language. */
body.nova-global-theme .nova-card,
body.nova-global-theme .nova-glass,
body.nova-global-theme .nova-soft-panel,
body.nova-global-theme .about-card,
body.nova-global-theme .mini-card,
body.nova-global-theme .social-card,
body.nova-global-theme .support-card,
body.nova-global-theme .plan-card,
body.nova-global-theme .tool-card,
body.nova-global-theme .restart-card,
body.nova-global-theme .priority-card,
body.nova-global-theme .product-card,
body.nova-global-theme .crisis-card,
body.nova-global-theme .crisis-section-card{
  background:linear-gradient(160deg,rgba(8,7,20,.89),rgba(2,3,10,.92))!important;
  border:1px solid rgba(111,91,255,.45)!important;
  box-shadow:0 0 9px rgba(92,69,255,.10),inset 0 0 18px rgba(255,255,255,.018)!important;
  backdrop-filter:blur(7px)!important;
}
body.nova-global-theme button,
body.nova-global-theme .nova-btn,
body.nova-global-theme .nova-btn-outline,
body.nova-global-theme .btn-electric,
body.nova-global-theme .btn-cyan,
body.nova-global-theme .btn-ghost,
body.nova-global-theme a.nova-action-btn,
body.nova-global-theme .secondary-btn{
  font-family:var(--nova-clean)!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}
body.nova-global-theme .btn-electric{
  background:var(--nova-rainbow)!important;
  color:#070710!important;
  border:0!important;
  box-shadow:0 0 8px rgba(255,20,147,.32),0 0 12px rgba(0,234,255,.18)!important;
}
body.nova-global-theme .btn-ghost,
body.nova-global-theme .nova-btn-outline{
  background:rgba(3,3,12,.78)!important;
  border:1px solid #a45cff!important;
  color:#fff!important;
  box-shadow:0 0 7px rgba(164,92,255,.23)!important;
}
body.nova-global-theme input,body.nova-global-theme textarea,body.nova-global-theme select{
  background:rgba(2,3,12,.88)!important;
  color:#fff!important;
  border:1px solid rgba(135,83,255,.52)!important;
}

@media(max-width:760px){
  body.nova-global-theme:before,body.nova-home-page:before{
    background-size:52vw auto,52vw auto;
    opacity:.68;
  }
  .nova-home-page .nova-reference-hero{min-height:auto!important;}
  .nova-home-page .symbol-grid{grid-template-columns:1fr!important;}
  .nova-home-page .experience-card h3{font-size:1.45rem!important;}
}
