/* NHW-HOME-LANDING-001: only / public homepage; all selectors scoped. */
.public-page--home { padding-top: 2rem; }
.nhw-home { max-width: 1100px; margin: 0 auto 3rem; color: #22334b; }
.nhw-home h1, .nhw-home h2, .nhw-home h3 { font-weight: 800; line-height: 1.4; }
.nhw-home p { line-height: 1.8; }
.nhw-home a:focus-visible, .nhw-home summary:focus-visible { outline: 3px solid #80b6fa; outline-offset: 3px; }
.nhw-home__hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr); align-items: center; gap: 2rem; border: 1px solid #deebf6; border-radius: 1rem; background: #fff; padding: 3rem; box-shadow: 0 7px 26px rgba(26, 68, 105, .06); }
.nhw-home__eyebrow { font-size: .84rem; color: #145ebe; font-weight: 750; letter-spacing: .03em; margin-bottom: .6rem; }
.nhw-home__hero h1 { font-size: clamp(2rem, 3.6vw, 3rem); color: #1b304e; margin: 0 0 1.2rem; }
.nhw-home__hero h1 span { display: block; color: #0d6efd; }
.nhw-home__lead { font-size: 1.07rem; color: #53657b; margin-bottom: 1.6rem; }
.nhw-home__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.nhw-home__button { display: inline-flex; min-height: 46px; padding: .7rem 1.35rem; align-items: center; justify-content: center; border-radius: .65rem; text-align: center; font-weight: 700; text-decoration: none; border: 1px solid transparent; }
.nhw-home__button:hover { text-decoration: none; }
.nhw-home__button--primary { background: #0d6efd; border-color: #0d6efd; color: #fff !important; }
.nhw-home__button--primary:hover { background: #0b5ed7; }
.nhw-home__button--secondary { background: #fff; border-color: #a9c5e7; color: #145ebe !important; }
.nhw-home__button--secondary:hover { background: #ecf5ff; }
.nhw-home__note { font-size: .81rem; color: #64748b; margin: 1rem 0 0; }
.nhw-home__flow { background: #eff6ff; border: 1px solid #dceafe; border-radius: .9rem; padding: 1.5rem; }
.nhw-home__flow-heading { font-weight: 750; color: #1d3c61; margin-bottom: 1rem; }
.nhw-home__flow ol { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .7rem; }
.nhw-home__flow li { display: flex; align-items: flex-start; gap: .7rem; padding: .75rem; border-radius: .6rem; background: #fff; border: 1px solid #e1eaf6; }
.nhw-home__flow li > span { display: flex; flex: 0 0 2rem; height: 2rem; justify-content: center; align-items: center; color: #095bbf; font-weight: 800; background: #e5f1ff; border-radius: 50%; }
.nhw-home__flow strong, .nhw-home__flow small { display: block; }
.nhw-home__flow small { color: #5b7186; font-size: .82rem; line-height: 1.6; }
.nhw-home__flow > a { font-size: .9rem; font-weight: 700; }
.nhw-home__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.nhw-home__metrics > div { background: #fff; border: 1px solid #deebf6; border-radius: .8rem; padding: 1.1rem .5rem; text-align: center; display: flex; flex-direction: column; }
.nhw-home__metrics strong { font-size: clamp(1.6rem, 3vw, 2.15rem); color: #1152a0; }
.nhw-home__metrics strong small { margin-left: .2rem; font-size: .77rem; color: #64748b; }
.nhw-home__metrics span { font-size: .84rem; color: #64748b; }
.nhw-home__section { margin-top: 2rem; padding: 2.3rem; background: #fff; border: 1px solid #e1eaf5; border-radius: 1rem; }
.nhw-home__section-heading { margin-bottom: 1.5rem; }
.nhw-home__section-heading h2 { font-size: clamp(1.5rem, 2.5vw, 1.85rem); color: #1b304e; margin: 0 0 .55rem; }
.nhw-home__section-heading > p:last-child { color: #64748b; margin: 0; }
.nhw-home__columns { display: grid; gap: 1rem; }
.nhw-home__columns--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nhw-home__columns--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nhw-home__feature { padding: 1.4rem; background: #f8fbff; border: 1px solid #e1ebf8; border-radius: .8rem; }
.nhw-home__feature > span { font-weight: 800; color: #0d6efd; }
.nhw-home__feature h3 { font-size: 1.1rem; margin: .7rem 0; }
.nhw-home__feature p { margin: 0; color: #52677e; font-size: .92rem; }
.nhw-home__screens figure { margin: 0; border-radius: .75rem; border: 1px solid #dee8f4; background: #f8fbff; overflow: hidden; }
.nhw-home__screens img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: contain; }
.nhw-home__screens figcaption { text-align: center; padding: .8rem; color: #28435e; font-size: .9rem; font-weight: 700; }
.nhw-home__after-link { margin: 1.2rem 0 0; color: #5b7186; font-size: .9rem; }
.nhw-home__after-link a { font-weight: 700; }
.nhw-home__library { background: linear-gradient(#f7fbff, #fff); }
.nhw-home__levels { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .7rem; }
.nhw-home__levels > div { padding: 1rem .3rem; text-align: center; border: 1px solid #dce9f8; border-radius: .7rem; background: #fff; display: flex; flex-direction: column; }
.nhw-home__levels strong { color: #155cad; font-size: 1.4rem; }
.nhw-home__levels span { font-size: .83rem; color: #60768c; }
.nhw-home__plan { padding: 1.6rem; border: 1px solid #d9e6f5; border-radius: .85rem; display: flex; flex-direction: column; align-items: flex-start; }
.nhw-home__plan--free { border: 2px solid #84b6f5; background: #f5faff; }
.nhw-home__plan h3 { font-size: 1.15rem; }
.nhw-home__price { font-size: 2rem; color: #145aa9; font-weight: 800; margin-bottom: .25rem; }
.nhw-home__price small { font-size: .86rem; font-weight: 500; color: #64748b; }
.nhw-home__plan > p:not(.nhw-home__price) { font-weight: 700; color: #435a74; }
.nhw-home__plan ul { color: #536b82; line-height: 1.9; padding-left: 1.2rem; margin: 0 0 1.4rem; }
.nhw-home__plan .nhw-home__button { margin-top: auto; }
.nhw-home__faq { border-top: 1px solid #e1eaf5; }
.nhw-home__faq details { padding: 1rem 0; border-bottom: 1px solid #e1eaf5; }
.nhw-home__faq summary { cursor: pointer; font-weight: 700; color: #223e60; }
.nhw-home__faq p { margin: .75rem 0 0; color: #52677e; }
.nhw-home__final { margin-top: 2rem; padding: 2.6rem 1.5rem; border: 1px solid #d1e3f9; background: #eaf4ff; border-radius: 1rem; text-align: center; }
.nhw-home__final h2 { font-size: clamp(1.45rem, 2.5vw, 1.85rem); color: #173b66; }
.nhw-home__final p { color: #526d85; }
.nhw-home__final .nhw-home__actions { justify-content: center; }
.nhw-home__announcements { margin: 2rem .5rem 0; }
.nhw-home__announcements h2 { font-size: 1.05rem; }
.nhw-home__announcements ul { list-style: none; padding: 0; }
.nhw-home__announcements li { display: flex; flex-wrap: wrap; gap: .65rem; margin: .5rem 0; font-size: .91rem; }
.nhw-home__announcements time { color: #64748b; }
@media (max-width: 900px) {
  .nhw-home__hero { grid-template-columns: 1fr; padding: 2rem; }
  .nhw-home__columns--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .public-page--home { padding: 1rem .75rem 2rem; }
  .nhw-home__hero, .nhw-home__section { padding: 1.3rem; }
  .nhw-home__lead { font-size: 1rem; }
  .nhw-home__metrics { gap: .35rem; }
  .nhw-home__metrics > div { padding: .7rem .15rem; }
  .nhw-home__metrics strong { font-size: 1.32rem; }
  .nhw-home__metrics span { font-size: .7rem; }
  .nhw-home__columns--three, .nhw-home__columns--two { grid-template-columns: 1fr; }
  .nhw-home__levels { gap: .3rem; }
  .nhw-home__levels > div { padding: .65rem .15rem; }
  .nhw-home__levels strong { font-size: 1rem; }
  .nhw-home__levels span { font-size: .68rem; }
  .nhw-home__actions { flex-direction: column; align-items: stretch; }
}
