/* =========================================================
   NovaCore C3 index-aligned adjustment layer
   Purpose: bring NovaCore C3 closer to new-products/index tone
   without changing the HTML structure or scroll interaction.
   Load after nova-core-c3.css and new-products-unified.css.
   ========================================================= */

body.page-novacore {
  background: #000;
}

body.page-novacore main {
  padding-top: 0 !important;
}

body.page-novacore .sec {
  width: min(var(--max), calc(100% - 40px));
}

/* Hero: remove large full-screen feeling and match index rhythm */
body.page-novacore .hero {
  min-height: auto !important;
  padding: 16px 0 24px !important;
  display: grid;
  align-items: center;
}

body.page-novacore .hero-inner {
  align-items: start;
  gap: 40px;
}

body.page-novacore .hero p {
  margin-top: 18px;
}

/* Remove rounded visual treatment to match the flatter index direction */
body.page-novacore img,
body.page-novacore .nc-inline-style-02,
body.page-novacore .hero-card,
body.page-novacore .device,
body.page-novacore .screen,
body.page-novacore .side,
body.page-novacore .movie,
body.page-novacore .data,
body.page-novacore .approach-card,
body.page-novacore .vp,
body.page-novacore .vdev,
body.page-novacore .vs,
body.page-novacore .ind,
body.page-novacore .fc,
body.page-novacore .art,
body.page-novacore .link,
body.page-novacore .msticky,
body.page-novacore .mvis,
body.page-novacore .flow span,
body.page-novacore .pc,
body.page-novacore .pi,
body.page-novacore .mini,
body.page-novacore .notice-card,
body.page-novacore .foot a {
  border-radius: 0 !important;
}

/* Fixed typography: avoid clamp-driven page-by-page variance */
body.page-novacore h1,
body.page-novacore .hero-h1 {
  font-size: var(--hero-h1-size, 40pt) !important;
  line-height: 1.25 !important;
  letter-spacing: .04em !important;
  margin: 0 !important;
}

body.page-novacore h2 {
  font-size: 34px !important;
  line-height: 1.35 !important;
  letter-spacing: .04em !important;
}

body.page-novacore h3 {
  font-size: 22px !important;
  line-height: 1.45 !important;
  letter-spacing: .04em !important;
}

body.page-novacore p,
body.page-novacore .lead,
body.page-novacore .copy p,
body.page-novacore .pc p,
body.page-novacore .notice-card p {
  font-size: 15px !important;
  line-height: 1.9 !important;
}

body.page-novacore .label,
body.page-novacore .ki,
body.page-novacore .ey,
body.page-novacore .fl {
  font-size: 13px !important;
  letter-spacing: .2em !important;
}

/* Section spacing: compact like index, without changing block order */
body.page-novacore .problem {
  padding: 52px 0 34px !important;
}

body.page-novacore .approach {
  padding: 46px 0 !important;
}

body.page-novacore .safety {
  padding: 52px 0 24px !important;
}

body.page-novacore .products {
  padding: 52px 0 !important;
}

body.page-novacore .notice {
  padding: 18px 0 36px !important;
}

body.page-novacore .closing {
  padding: 54px 0 70px !important;
}

body.page-novacore .data {
  margin-top: 34px !important;
  padding: 24px !important;
}

body.page-novacore .approach-card,
body.page-novacore .notice-card {
  padding: 28px !important;
}

body.page-novacore .products-head {
  margin-bottom: 24px !important;
}

/* Keep interactive/sticky sections working, only flatten visuals */
body.page-novacore .sticky {
  top: 84px;
}

body.page-novacore .fc {
  min-height: 68vh;
}

@media (max-width: 900px) {
  body.page-novacore .hero {
    padding: 12px 0 22px !important;
  }

  body.page-novacore h1,
  body.page-novacore .hero-h1 {
    font-size: var(--hero-h1-size-sp, 24px) !important;
    line-height: 1.45 !important;
  }

  body.page-novacore h2 {
    font-size: 26px !important;
  }

  body.page-novacore h3 {
    font-size: 20px !important;
  }

  body.page-novacore p,
  body.page-novacore .lead,
  body.page-novacore .copy p,
  body.page-novacore .pc p,
  body.page-novacore .notice-card p {
    font-size: 14px !important;
  }

  body.page-novacore .problem,
  body.page-novacore .approach,
  body.page-novacore .safety,
  body.page-novacore .products {
    padding: 36px 0 24px !important;
  }

  body.page-novacore .closing {
    padding: 42px 0 54px !important;
  }

  body.page-novacore .data,
  body.page-novacore .approach-card,
  body.page-novacore .notice-card {
    padding: 20px !important;
  }
}
