:root{
  --bg:#061016;
  --bg2:#0c1c25;
  --panel:rgba(255,255,255,.075);
  --panel2:rgba(255,255,255,.105);
  --stroke:rgba(255,255,255,.14);
  --text:#f5fbff;
  --muted:#a9bdc8;
  --cyan:#00c8ff;
  --mint:#68ffd2;
  --blue:#1f7aff;
  --shadow:0 28px 90px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 8%,rgba(0,200,255,.22),transparent 28%),
    radial-gradient(circle at 85% 16%,rgba(104,255,210,.13),transparent 26%),
    linear-gradient(135deg,#05090d,#07131a 52%,#0c1c25);
  min-height:100vh;
}
a{color:inherit}
.site-header{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px clamp(18px,5vw,76px);
  background:rgba(5,9,13,.82);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-icon{
  width:46px;height:46px;border-radius:15px;
  display:grid;place-items:center;
  color:#031017;font-weight:900;
  background:linear-gradient(135deg,var(--cyan),var(--mint));
  box-shadow:0 0 32px rgba(0,200,255,.35);
}
.brand-copy{display:grid;line-height:1.05}
.brand-copy strong{font-size:1.15rem;letter-spacing:-.03em}
.brand-copy small{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.nav{display:flex;gap:26px;color:var(--muted)}
.nav a{text-decoration:none;font-weight:700}
.nav a:hover{color:var(--text)}
.hero{
  min-height:82vh;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);
  gap:clamp(36px,6vw,88px);
  align-items:center;
  padding:clamp(68px,8vw,120px) clamp(18px,5vw,76px);
}
.hero-copy{max-width:820px}
.eyebrow{
  color:var(--mint);
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.17em;
  font-weight:900;
  margin:0 0 14px;
}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3.1rem,8vw,7rem);line-height:.9;letter-spacing:-.075em;margin-bottom:22px}
h2{font-size:clamp(2rem,5vw,4.2rem);line-height:1;letter-spacing:-.06em;margin-bottom:18px}
h3{font-size:1.25rem;margin-bottom:10px}
p{color:var(--muted);line-height:1.58}
.hero-subtitle{font-size:clamp(1.08rem,1.6vw,1.35rem);max-width:720px}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn{
  min-height:50px;padding:0 22px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;font-weight:900;
}
.btn.primary{background:linear-gradient(135deg,var(--cyan),var(--mint));color:#031017;box-shadow:0 20px 60px rgba(0,200,255,.24)}
.btn.ghost{background:rgba(255,255,255,.08);border:1px solid var(--stroke)}
.note{font-size:.92rem;margin-top:16px}
.hero-art img,.demo-hero img{
  width:100%;height:auto;display:block;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.28));
}
.logo-band{
  margin:0 clamp(18px,5vw,76px);
  border:1px solid var(--stroke);
  border-radius:24px;
  background:rgba(255,255,255,.06);
  display:grid;grid-template-columns:repeat(4,1fr);
  overflow:hidden;
}
.logo-band span{
  padding:22px;text-align:center;color:var(--muted);
  border-right:1px solid rgba(255,255,255,.08);
  font-weight:800;
}
.logo-band span:last-child{border-right:0}
.section{padding:clamp(70px,8vw,110px) clamp(18px,5vw,76px)}
.intro-grid,.demo-hero{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);
  gap:42px;align-items:center;
}
.cards{display:grid;gap:18px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card,.cta,.contact-card{
  border:1px solid var(--stroke);
  border-radius:28px;
  background:var(--panel);
  padding:28px;
  box-shadow:0 16px 70px rgba(0,0,0,.16);
}
.feature-strip{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:18px;
  background:rgba(255,255,255,.035);
}
.feature-strip article{
  border-top:2px solid var(--cyan);
  padding:28px;
  background:rgba(255,255,255,.05);
  border-radius:24px;
}
.cta{
  margin:0 clamp(18px,5vw,76px) clamp(70px,8vw,110px);
  display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.cta div{max-width:760px}
.page-hero{
  padding:clamp(78px,9vw,135px) clamp(18px,5vw,76px) clamp(48px,6vw,80px);
  max-width:1180px;
}
.demo-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{display:block;color:var(--cyan);font-weight:900;margin-bottom:18px}
.contact-card{margin:0 clamp(18px,5vw,76px) clamp(80px,8vw,120px);max-width:920px}
.site-footer{
  border-top:1px solid rgba(255,255,255,.08);
  padding:34px clamp(18px,5vw,76px);
  display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;
}
.legal,.footer-small{font-size:.9rem}
.footer-small{grid-column:1/-1;margin:0}
@media(max-width:900px){
  .hero,.intro-grid,.demo-hero{grid-template-columns:1fr}
  .feature-strip,.cards.three,.demo-steps{grid-template-columns:1fr}
  .cards.two,.logo-band{grid-template-columns:1fr}
  .site-footer{grid-template-columns:1fr}
  .nav{display:none}
  h1{font-size:clamp(2.7rem,16vw,5rem)}
}

/* =========================================================
   Nova hero showroom banner test
   Uses the generated showroom image as the homepage hero.
   Safe rollback: remove this section and change home-hero back to hero.
   ========================================================= */
.home-hero{
  position:relative;
  min-height:clamp(720px,82vh,920px);
  grid-template-columns:minmax(0,760px) 1fr;
  overflow:hidden;
  background-image:
    linear-gradient(90deg,
      rgba(3,8,12,.94) 0%,
      rgba(3,8,12,.84) 25%,
      rgba(3,8,12,.56) 43%,
      rgba(3,8,12,.12) 68%,
      rgba(3,8,12,.08) 100%),
    url("hero-showroom-banner.png");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 50%, rgba(0,200,255,.20), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.28));
}

.home-hero .hero-copy{
  position:relative;
  z-index:2;
  max-width:720px;
  padding:24px 0;
}

.home-hero h1{
  max-width:720px;
  text-shadow:0 10px 34px rgba(0,0,0,.48);
}

.home-hero .hero-subtitle{
  max-width:620px;
  color:#c4d5df;
  text-shadow:0 4px 18px rgba(0,0,0,.55);
}

.home-hero .note{
  color:#9eb3be;
  text-shadow:0 4px 18px rgba(0,0,0,.55);
}

.home-hero .hero-art-fallback{
  display:none;
}

.home-hero + .logo-band{
  margin-top:-92px;
  position:relative;
  z-index:3;
  backdrop-filter:blur(18px);
  background:rgba(8,18,25,.72);
  box-shadow:0 22px 80px rgba(0,0,0,.28);
}

@media(max-width:900px){
  .home-hero{
    min-height:760px;
    grid-template-columns:1fr;
    background-position:61% center;
    background-image:
      linear-gradient(180deg,
        rgba(3,8,12,.94) 0%,
        rgba(3,8,12,.80) 44%,
        rgba(3,8,12,.38) 100%),
      url("hero-showroom-banner.png");
  }
  .home-hero + .logo-band{
    margin-top:-46px;
  }
}


/* =========================================================
   Nova force homepage hero showroom banner
   Stronger rule because the live test showed .home-hero had bg:none.
   Safe rollback: remove only this section.
   ========================================================= */

html body .hero.home-hero {
  min-height: 780px !important;
  background-image:
    linear-gradient(90deg, rgba(3,8,12,.92) 0%, rgba(3,8,12,.60) 42%, rgba(3,8,12,.12) 100%),
    url("/assets/hero-showroom-banner.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

html body .hero.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 15% 50%, rgba(0,200,255,.20), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.28));
}

html body .hero.home-hero .hero-art,
html body .hero.home-hero .hero-art-fallback,
html body .hero.home-hero .hero-visual,
html body .hero.home-hero .hero-card,
html body .hero.home-hero .hero-illustration {
  display: none !important;
}

html body .hero.home-hero .hero-copy {
  position: relative !important;
  z-index: 2 !important;
}

@media(max-width:900px){
  html body .hero.home-hero {
    min-height: 760px !important;
    background-image:
      linear-gradient(180deg, rgba(3,8,12,.94) 0%, rgba(3,8,12,.80) 44%, rgba(3,8,12,.38) 100%),
      url("/assets/hero-showroom-banner.png") !important;
    background-position: 61% center !important;
  }
}

/* =========================================================
   Nova hero tuning pass 2
   Push monitor farther right and reduce left text scale
   ========================================================= */

html body .hero.home-hero {
  background-position: 72% center !important;
}

html body .hero.home-hero .hero-copy {
  max-width: 560px !important;
  position: relative !important;
  z-index: 2 !important;
}

html body .hero.home-hero h1 {
  font-size: clamp(3.6rem, 6vw, 5.4rem) !important;
  line-height: 0.95 !important;
  max-width: 8ch !important;
  margin-bottom: 20px !important;
}

html body .hero.home-hero .hero-subtitle {
  max-width: 540px !important;
  font-size: 1.45rem !important;
  line-height: 1.5 !important;
}

html body .hero.home-hero .actions {
  margin-top: 24px !important;
}

@media (max-width: 900px) {
  html body .hero.home-hero {
    background-position: 78% center !important;
  }

  html body .hero.home-hero h1 {
    font-size: clamp(2.8rem, 10vw, 4.2rem) !important;
    line-height: 0.98 !important;
  }

  html body .hero.home-hero .hero-copy {
    max-width: 100% !important;
  }

  html body .hero.home-hero .hero-subtitle {
    font-size: 1.1rem !important;
  }
}
