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

:root{
  --v18-pink:#ff1493;
  --v18-coral:#ff4164;
  --v18-orange:#ff8a16;
  --v18-yellow:#ffd51f;
  --v18-lime:#8dff20;
  --v18-green:#19f18b;
  --v18-cyan:#00eaff;
  --v18-blue:#1689ff;
  --v18-violet:#7657ff;
  --v18-purple:#d719ff;
  --v18-rainbow:linear-gradient(90deg,#ff1493 0%,#ff4164 10%,#ff8a16 20%,#ffd51f 31%,#8dff20 42%,#19f18b 52%,#00eaff 64%,#1689ff 75%,#7657ff 87%,#d719ff 100%);
  --v18-clean:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --v18-brush:'Knewave','Arial Black',sans-serif;
  --v18-script:'Caveat','Segoe Script',cursive;
}

html{background:#000!important;}
body.nova-global-theme,body.nova-home-page{
  font-family:var(--v18-clean)!important;
  background:#010106!important;
  color:#fff!important;
}

/* Background: real Nova-style cosmic edges only. No poster text, no giant fake arcs. */
body.nova-global-theme:before,body.nova-home-page:before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:-3!important;
  background:
    url('../images/nova-cosmic-edge-left-v18.jpg') left top/220px 100% no-repeat,
    url('../images/nova-cosmic-edge-right-v18.jpg') right top/220px 100% no-repeat,
    radial-gradient(ellipse at 12% 36%,rgba(255,20,147,.13),transparent 31%),
    radial-gradient(ellipse at 87% 34%,rgba(0,234,255,.11),transparent 31%),
    radial-gradient(ellipse at 50% 105%,rgba(67,55,255,.13),transparent 36%),
    linear-gradient(180deg,#02020a 0%,#000 48%,#020209 100%)!important;
  opacity:1!important;
  filter:none!important;
}
body.nova-global-theme:after,body.nova-home-page:after{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:-2!important;
  background:
    radial-gradient(circle at 8% 12%,rgba(255,255,255,.9) 0 1px,transparent 1.6px),
    radial-gradient(circle at 27% 28%,rgba(255,36,177,.75) 0 1px,transparent 1.7px),
    radial-gradient(circle at 67% 16%,rgba(90,163,255,.8) 0 1px,transparent 1.7px),
    radial-gradient(circle at 90% 31%,rgba(73,255,194,.8) 0 1px,transparent 1.7px),
    radial-gradient(circle at 55% 69%,rgba(255,255,255,.55) 0 1px,transparent 1.6px);
  background-size:210px 210px,260px 260px,230px 230px,280px 280px,250px 250px!important;
  opacity:.72!important;
}

/* Shared surfaces stay translucent so the cosmic background reads as a background, not a pasted image. */
body.nova-global-theme main,body.nova-global-theme .nova-page,body.nova-global-theme .nova-wrap,
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 .final-entry,.nova-home-page .nova-footer{
  background:transparent!important;
}

/* Header: simple dark glass with electric line. */
.nova-home-page .nova-topbar,body.nova-global-theme header,body.nova-global-theme .nova-header{
  background:rgba(2,2,10,.88)!important;
  backdrop-filter:blur(14px)!important;
  border-bottom:1px solid transparent!important;
  border-image:var(--v18-rainbow) 1!important;
  box-shadow:0 8px 26px rgba(0,0,0,.30)!important;
}
.nova-home-page .nova-mini-brand img{filter:drop-shadow(0 0 5px rgba(255,20,147,.4)) drop-shadow(0 0 8px rgba(0,234,255,.2))!important;}

/* Typography: true brush-display for big Nova words, clean supporting type. */
body.nova-global-theme .brush-heading,body.nova-global-theme .brush-title,body.nova-global-theme .nova-section-title,
.nova-home-page .brush-heading,.nova-home-page .brush-title,.nova-home-page .reference-title,
.nova-home-page .experience-card h3,.nova-home-page .tool-icons strong{
  font-family:var(--v18-brush)!important;
  font-style:normal!important;
  font-weight:400!important;
  letter-spacing:-.03em!important;
  text-transform:uppercase!important;
  line-height:.92!important;
  background:var(--v18-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,20,147,.34)) drop-shadow(0 0 7px rgba(0,234,255,.14))!important;
  transform:none!important;
}
body.nova-global-theme .brush-kicker,.nova-home-page .brush-kicker,.nova-home-page .hero-welcome{
  font-family:var(--v18-clean)!important;
  font-weight:800!important;
  font-style:normal!important;
  letter-spacing:.28em!important;
  text-transform:uppercase!important;
  color:#fff!important;
  background:none!important;
  -webkit-text-fill-color:initial!important;
  text-shadow:none!important;
}
.nova-home-page .hero-welcome{color:#8fffd9!important;}
body.nova-global-theme .final-script{font-family:var(--v18-script)!important;}

/* HOME HERO — match the approved reference composition: logo left, copy right, no giant arc overlay. */
.nova-home-page .nova-reference-hero{
  min-height:690px!important;
  background:rgba(0,0,5,.18)!important;
  overflow:hidden!important;
  position:relative!important;
}
.nova-home-page .nova-reference-hero:before,.nova-home-page .nova-reference-hero:after,
.nova-home-page .hero-cosmos{display:none!important;content:none!important;background:none!important;}
.nova-home-page .nova-reference-wrap{
  width:min(1320px,calc(100% - 72px))!important;
  min-height:630px!important;
  margin:0 auto!important;
  padding:52px 0 44px!important;
  display:grid!important;
  grid-template-columns:minmax(330px,.9fr) minmax(520px,1.35fr)!important;
  align-items:center!important;
  gap:72px!important;
}
.nova-home-page .nova-reference-brand{align-self:center!important;text-align:center!important;}
.nova-home-page .nova-reference-brand .nova-hero-logo{
  width:min(470px,38vw)!important;
  max-height:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 5px rgba(255,20,147,.36)) drop-shadow(0 0 9px rgba(0,234,255,.18))!important;
}
.nova-home-page .nova-reference-copy{padding:0!important;text-align:center!important;}
.nova-home-page .reference-title{
  font-size:clamp(4rem,7.1vw,7.8rem)!important;
  margin:10px 0 18px!important;
  white-space:nowrap!important;
}
.nova-home-page .reference-rule{margin:10px auto 25px!important;max-width:760px!important;}
.nova-home-page .reference-rule span{height:1px!important;background:var(--v18-rainbow)!important;box-shadow:0 0 4px rgba(0,234,255,.25)!important;}
.nova-home-page .reference-rule b{font-size:1.6rem!important;text-shadow:0 0 5px #d719ff,0 0 8px #1689ff!important;}
.nova-home-page .reference-tagline{font-family:var(--v18-clean)!important;font-weight:700!important;letter-spacing:.22em!important;font-size:clamp(.95rem,1.45vw,1.2rem)!important;line-height:1.75!important;}
.nova-home-page .reference-pillars{margin-top:34px!important;border-top:1px solid rgba(255,255,255,.10)!important;border-bottom:1px solid rgba(255,255,255,.10)!important;}
.nova-home-page .reference-pillars>div{background:rgba(1,2,9,.22)!important;}
.nova-home-page .reference-membership{margin-top:26px!important;color:#d8d5e3!important;letter-spacing:.13em!important;}
.nova-home-page .reference-bottom-line{background:transparent!important;border-top:1px solid rgba(255,255,255,.05)!important;}

/* Section headers should look like the user's brush graphics, not generic software headers. */
.nova-home-page .inside-header{align-items:flex-end!important;background:transparent!important;border:0!important;padding:0!important;}
.nova-home-page .inside-header>div{background:transparent!important;}
.nova-home-page .inside-header>p{background:transparent!important;color:#e7e4f1!important;}
.nova-home-page .brush-heading{font-size:clamp(3.3rem,5.7vw,6rem)!important;}
.nova-home-page .brush-kicker{font-size:.88rem!important;letter-spacing:.30em!important;color:#ff70c2!important;}

/* Inside Hub: electric color but only a controlled halo. */
.nova-home-page .inside-hub{padding-top:80px!important;background:rgba(0,0,5,.12)!important;}
.nova-home-page .inside-hub:before,.nova-home-page .inside-hub:after{display:none!important;content:none!important;}
.nova-home-page .experience-card{
  background:rgba(3,3,12,.84)!important;
  border:1.5px solid var(--accent)!important;
  box-shadow:0 0 7px color-mix(in srgb,var(--accent) 48%,transparent),0 0 16px color-mix(in srgb,var(--accent) 16%,transparent),inset 0 0 22px color-mix(in srgb,var(--accent) 4%,transparent)!important;
  backdrop-filter:blur(8px)!important;
}
.nova-home-page .experience-card:before{height:1px!important;box-shadow:0 0 5px color-mix(in srgb,var(--accent) 48%,transparent)!important;}
.nova-home-page .experience-card:after{display:none!important;}
.nova-home-page .feature-icon{background:#05050d!important;color:var(--accent)!important;border:1.5px solid var(--accent)!important;box-shadow:0 0 6px color-mix(in srgb,var(--accent) 46%,transparent),inset 0 0 10px color-mix(in srgb,var(--accent) 8%,transparent)!important;text-shadow:0 0 5px var(--accent)!important;}
.nova-home-page .experience-card h3{
  background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;
  color:var(--accent)!important;font-size:1.85rem!important;filter:none!important;text-shadow:0 0 5px color-mix(in srgb,var(--accent) 36%,transparent)!important;
}

/* Symbolism: the actual heartbeat line must be visible in full, then cards below. */
.nova-home-page .symbolism{padding:80px 4vw 90px!important;background:rgba(0,0,5,.10)!important;}
.nova-home-page .symbolism:before,.nova-home-page .symbolism:after{display:none!important;content:none!important;}
.nova-home-page .symbol-logo-mark{
  width:min(900px,92vw)!important;height:auto!important;min-height:0!important;margin:12px auto 34px!important;overflow:visible!important;filter:drop-shadow(0 0 5px rgba(255,20,147,.25)) drop-shadow(0 0 8px rgba(0,234,255,.18))!important;
}
.nova-home-page .symbol-logo-mark img{position:static!important;width:100%!important;height:auto!important;display:block!important;transform:none!important;object-fit:contain!important;}
.nova-home-page .symbol-logo-mark:after{display:none!important;content:none!important;}
.nova-home-page .symbol-grid>div{background:rgba(3,3,12,.82)!important;border:1px solid rgba(255,255,255,.10)!important;backdrop-filter:blur(7px)!important;box-shadow:none!important;}

@media(max-width:980px){
  body.nova-global-theme:before,body.nova-home-page:before{background-size:145px 100%,145px 100%,auto,auto,auto,auto!important;}
  .nova-home-page .nova-reference-wrap{grid-template-columns:1fr!important;gap:22px!important;width:min(900px,calc(100% - 34px))!important;padding-top:38px!important;}
  .nova-home-page .nova-reference-brand .nova-hero-logo{width:min(360px,65vw)!important;}
  .nova-home-page .reference-title{white-space:normal!important;font-size:clamp(3.5rem,11vw,6rem)!important;}
}
@media(max-width:620px){
  body.nova-global-theme:before,body.nova-home-page:before{background-size:95px 100%,95px 100%,auto,auto,auto,auto!important;opacity:.82!important;}
  .nova-home-page .reference-pillars{grid-template-columns:repeat(2,1fr)!important;}
  .nova-home-page .reference-pillars>div:last-child{grid-column:1/-1!important;}
}
