/* Atualização 35 — arquitetura de projetos, contraste e navegação legível. */
:root {
  --nb-v35-ink: #0b1f3a;
  --nb-v35-muted: #4b5f78;
  --nb-v35-line: #d9e3ef;
  --nb-v35-available: #087a5b;
  --nb-v35-development: #9a5800;
  --nb-v35-soon: #35526f;
}

:where(.nb-home-v2, .site-header, .projects-page-shell, .academy-body) {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

:where(.nb-home-v2, .site-header, .projects-page-shell, .academy-body) :where(h1, h2, h3, h4, p, a, button, input, span, small, strong) {
  font-family: inherit;
}

.nb-premium-hero-v33 .nb-home-hero-copy-v2 h1 {
  font-size: clamp(3rem, 4.8vw, 5.2rem);
  line-height: .96;
  letter-spacing: -.05em;
}

/* O cabeçalho mantém a hierarquia do novo mockup e todos os alvos são clicáveis. */
.site-header,
.site-header * {
  isolation: auto;
}

.site-header-top {
  position: relative;
  z-index: 100;
}

.site-brand,
.site-main-nav a,
.site-category-menu > summary,
.nb-header-actions-v2 button {
  min-height: 46px;
}

.site-category-panel,
.nb-mobile-menu-v33 {
  isolation: isolate;
}

.site-category-panel::before,
.nb-mobile-menu-v33::after {
  pointer-events: none;
}

.site-category-panel a,
.nb-mobile-menu-v33 a,
.nb-mobile-menu-v33 button {
  position: relative;
  z-index: 2;
}

.nb-hero-projects-head-v33 a,
.nb-topic-paths-head-v32 a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: .45rem .2rem;
}

/* Grupos de estado na página inicial. */
.nb-project-status-group-v35 {
  --group-color: var(--nb-v35-available);
  margin-top: 1.35rem;
  border: 1px solid var(--nb-v35-line);
  border-radius: 28px;
  padding: clamp(1rem, 2.4vw, 1.5rem);
  background: #f8fbff;
  box-shadow: 0 14px 36px rgba(8, 31, 61, .06);
}

.nb-project-status-group-v35[data-project-group="development"] {
  --group-color: var(--nb-v35-development);
  background: #fffaf1;
}

.nb-project-status-group-v35[data-project-group="soon"] {
  --group-color: var(--nb-v35-soon);
  background: #f4f7fa;
}

.nb-project-status-heading-v35,
.projects-page-group-head-v35 {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.nb-project-status-heading-v35 > div,
.projects-page-group-head-v35 > div {
  min-width: 0;
}

.nb-project-count-v35,
.projects-page-group-head-v35 > div > span {
  display: inline-flex;
  width: fit-content;
  margin-bottom: .25rem;
  border-radius: 999px;
  padding: .34rem .66rem;
  color: #fff;
  background: var(--group-color, #173d6b);
  font-size: .76rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
}

.nb-project-status-heading-v35 h3,
.projects-page-group-head-v35 h2 {
  margin: 0;
  color: var(--nb-v35-ink);
  font-size: clamp(1.45rem, 3vw, 2.05rem);
  line-height: 1.08;
  overflow-wrap: normal;
  word-break: normal;
}

.nb-project-status-heading-v35 p,
.projects-page-group-head-v35 p {
  max-width: 460px;
  margin: 0;
  color: var(--nb-v35-muted);
  line-height: 1.5;
  text-align: right;
}

.nb-project-status-group-v35 .nb-project-grid-v2 {
  margin-top: 0;
}

.nb-project-status-group-v35[data-project-group="development"] .nb-project-grid-v2,
.nb-project-status-group-v35[data-project-group="soon"] .nb-project-grid-v2 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.nb-project-status-group-v35[data-project-group="development"] .nb-project-card-v2,
.nb-project-status-group-v35[data-project-group="soon"] .nb-project-card-v2 {
  grid-column: span 4;
}

/* Cores por projeto escolhidas para manter contraste de texto e controlos. */
.nb-project-card-v2[data-project="academia"] { --project-color: #3730a3; }
.nb-project-card-v2[data-project="fardapronta"] { --project-color: #153b5b; }
.nb-project-card-v2[data-project="navegaletras"] { --project-color: #7d1f35; }
.nb-project-card-v2[data-project="faturacerta"] { --project-color: #08664f; }
.nb-project-card-v2[data-project="bussola-jovem"] { --project-color: #4543a8; }
.nb-project-card-v2[data-project="leiclara"] { --project-color: #163e6a; }
.nb-project-card-v2[data-project="vaidecarro"] { --project-color: #0e56bd; }
.nb-project-card-v2[data-project="mesacheia"] { --project-color: #326c30; }
.nb-project-card-v2[data-project="treinoaserio"] { --project-color: #a82b24; }
.nb-project-card-v2[data-project="vailonge"] { --project-color: #087576; }
.nb-project-card-v2[data-project="digitalseguro"] { --project-color: #153b5b; }
.nb-project-card-v2[data-project="paisdeprimeira"] { --project-color: #496b59; }

.nb-project-card-v2 {
  border: 1px solid color-mix(in srgb, var(--project-color) 22%, #dfe7f0);
  color: var(--nb-v35-ink);
}

.nb-project-card-v2 h3,
.nb-project-card-v2 p,
.nb-project-card-v2 strong,
.nb-project-card-v2 span {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.nb-project-card-v2 h3 {
  color: var(--nb-v35-ink) !important;
  line-height: 1.15;
}

.nb-project-card-v2 > p {
  color: #42566f !important;
  line-height: 1.55;
}

.nb-project-card-v2 .nb-project-tags-v2 span {
  color: #223b59;
  background: #edf2f7;
}

.nb-project-card-v2 .nb-project-enter-v2 {
  width: fit-content;
  max-width: 100%;
  color: var(--project-color) !important;
  line-height: 1.35;
}

.nb-project-card-v2[href] .nb-project-enter-v2 {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.nb-project-top-v2 {
  flex-wrap: nowrap;
}

.nb-project-status-v2 {
  max-width: calc(100% - 108px);
  color: #064d3a !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(3, 19, 39, .12);
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

[data-state="development"] .nb-project-status-v2 {
  color: #713f00 !important;
}

[data-state="soon"] .nb-project-status-v2 {
  color: #243f5d !important;
}

/* Página de todos os projetos com a mesma ordem visual. */
.projects-page-group-v35,
.academy-areas-v35 {
  --group-color: var(--nb-v35-available);
  margin-top: 1.5rem;
  border: 1px solid var(--nb-v35-line);
  border-radius: 28px;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  background: #fff;
}

.projects-page-group-v35[data-project-group="development"] { --group-color: var(--nb-v35-development); background: #fffaf1; }
.projects-page-group-v35[data-project-group="soon"] { --group-color: var(--nb-v35-soon); background: #f4f7fa; }
.academy-areas-v35 { --group-color: #3730a3; background: #f5f4ff; }

.projects-page-group-v35 .projects-page-grid {
  margin-top: 0;
}

.projects-page-grid article {
  min-width: 0;
  color: var(--nb-v35-ink);
}

.projects-page-grid h3 {
  margin: 0;
  color: var(--nb-v35-ink);
  font-size: 1.25rem;
  line-height: 1.15;
}

.projects-page-grid p {
  color: var(--nb-v35-muted);
}

.projects-page-grid a,
.projects-page-grid span {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #123f82;
  overflow-wrap: normal;
  word-break: normal;
}

.projects-page-grid .is-development span {
  color: #6c3c00;
  background: #fff0d4;
}

.projects-page-grid .is-soon a,
.projects-page-grid .is-soon span {
  color: #fff;
  background: #344f6b;
}

.projects-card-links-v35 {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: auto;
}

.projects-card-links-v35 a {
  width: fit-content;
  min-height: 40px;
  margin-top: 0;
  padding: .55rem .72rem;
  font-size: .78rem;
}

.projects-page-group-head-v35 > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .65rem 1rem;
  color: #fff;
  background: #3730a3;
  font-weight: 900;
  text-decoration: none;
}

/* Cinco áreas futuras pertencem visualmente e semanticamente à Academia NB. */
.academy-areas-grid-v35,
.academy-future-grid-v35 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .85rem;
}

.academy-areas-grid-v35 > a,
.academy-future-grid-v35 > a {
  --area-color: #3730a3;
  position: relative;
  isolation: isolate;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--area-color) 22%, #dfe6f1);
  border-radius: 20px;
  color: var(--nb-v35-ink);
  background: #fff;
  text-decoration: none;
  box-shadow: 0 9px 24px rgba(18, 37, 70, .07);
}

[data-academy-area="aulapronta"] { --area-color: #6126aa !important; }
[data-academy-area="poliglota"] { --area-color: #086b70 !important; }
[data-academy-area="cienciaclara"] { --area-color: #155f91 !important; }
[data-academy-area="historiaviva"] { --area-color: #7b252c !important; }
[data-academy-area="geomundo"] { --area-color: #0b606b !important; }

.academy-areas-grid-v35 > a {
  min-height: 180px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-content: start;
  gap: .7rem;
  padding: 1rem;
}

.academy-areas-grid-v35 img {
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.academy-areas-grid-v35 span {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: .18rem;
}

.academy-areas-grid-v35 strong,
.academy-areas-grid-v35 small {
  overflow-wrap: normal;
  word-break: normal;
}

.academy-areas-grid-v35 strong { color: var(--nb-v35-ink); font-size: 1.03rem; }
.academy-areas-grid-v35 small { color: var(--nb-v35-muted); line-height: 1.35; }
.academy-areas-grid-v35 em {
  grid-column: 1 / -1;
  width: fit-content;
  margin-top: auto;
  border-radius: 999px;
  padding: .32rem .6rem;
  color: #fff;
  background: var(--area-color);
  font-size: .74rem;
  font-style: normal;
  font-weight: 900;
}

.academy-future-v35 {
  border-color: #d9d6ff;
  background: linear-gradient(145deg, #f7f6ff, #fff);
}

.academy-future-grid-v35 > a {
  min-height: 250px;
  display: grid;
  grid-template-rows: auto 1fr;
  padding: 1rem;
}

.academy-future-grid-v35 img {
  width: 78px;
  height: 78px;
  object-fit: contain;
}

.academy-future-grid-v35 > a > span {
  display: block;
  min-width: 0;
}

.academy-future-grid-v35 em {
  display: inline-flex;
  width: fit-content;
  margin: .8rem 0 .35rem;
  border-radius: 999px;
  padding: .3rem .58rem;
  color: #fff;
  background: var(--area-color);
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
}

.academy-future-grid-v35 h3 {
  margin: 0;
  color: #11194f;
  font-size: 1.12rem;
  line-height: 1.18;
  overflow-wrap: normal;
  word-break: normal;
}

.academy-future-grid-v35 p {
  margin: .4rem 0 0;
  color: #465873;
  line-height: 1.48;
  overflow-wrap: normal;
  word-break: normal;
}

.academy-future-grid-v35 > a > strong {
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 2;
  color: var(--area-color);
}

.edu-future-body[data-parent-project="academia"] .edu-hero-copy::before {
  content: "Área da Academia NB";
  display: block;
  width: fit-content;
  margin-bottom: .55rem;
  color: var(--edu-color);
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

html[data-nb-theme="dark"] .nb-project-status-group-v35,
html[data-nb-theme="dark"] .projects-page-group-v35,
html[data-nb-theme="dark"] .academy-areas-v35 {
  border-color: #2b435e;
  background: #0d2138;
}

html[data-nb-theme="dark"] .nb-project-status-heading-v35 h3,
html[data-nb-theme="dark"] .projects-page-group-head-v35 h2,
html[data-nb-theme="dark"] .projects-page-grid h3,
html[data-nb-theme="dark"] .academy-areas-grid-v35 strong {
  color: #f3f7fd;
}

html[data-nb-theme="dark"] .nb-project-status-heading-v35 p,
html[data-nb-theme="dark"] .projects-page-group-head-v35 p,
html[data-nb-theme="dark"] .projects-page-grid p,
html[data-nb-theme="dark"] .academy-areas-grid-v35 small {
  color: #c3d1e2;
}

html[data-nb-theme="dark"] .academy-areas-grid-v35 > a {
  border-color: #35516f;
  background: #122a45;
}

@media (max-width: 1100px) {
  .academy-areas-grid-v35,
  .academy-future-grid-v35 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .nb-project-status-heading-v35,
  .projects-page-group-head-v35 { align-items: flex-start; }

  .nb-project-status-group-v35[data-project-group="development"] .nb-project-card-v2,
  .nb-project-status-group-v35[data-project-group="soon"] .nb-project-card-v2 { grid-column: span 6; }

  .academy-areas-grid-v35,
  .academy-future-grid-v35 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .nb-project-status-group-v35,
  .projects-page-group-v35,
  .academy-areas-v35 { border-radius: 22px; padding: .85rem; }

  .nb-project-status-heading-v35,
  .projects-page-group-head-v35 { display: grid; }

  .nb-project-status-heading-v35 p,
  .projects-page-group-head-v35 p { text-align: left; }

  .nb-project-status-group-v35[data-project-group="development"] .nb-project-card-v2,
  .nb-project-status-group-v35[data-project-group="soon"] .nb-project-card-v2 { grid-column: 1 / -1; }

  .nb-project-top-v2 { flex-wrap: wrap; }
  .nb-project-status-v2 { max-width: 100%; }

  .academy-areas-grid-v35,
  .academy-future-grid-v35 { grid-template-columns: 1fr; }

  .academy-areas-grid-v35 > a { min-height: 150px; }
  .academy-future-grid-v35 > a { min-height: 220px; }
}

@media (prefers-reduced-motion: reduce) {
  .academy-areas-grid-v35 > a,
  .academy-future-grid-v35 > a { transition: none !important; }
}
