/*
 * Doxa information architecture layer.
 *
 * The visual rule is simple: one product, three jobs.
 * 1. Knowledge: browse sourced, structured content.
 * 2. Learning: follow a deliberate path and make something.
 * 3. Research: inspect, reproduce, and eventually publish.
 *
 * This layer intentionally reduces density and makes the hierarchy visible
 * without changing the existing content model or URLs.
 */
:root {
  --doxa-ia-shell: 1180px;
  --doxa-ia-ink-soft: #454958;
  --doxa-ia-surface: rgba(255, 255, 255, .72);
}

.home-v3 .site-nav {
  min-height: 68px;
  padding-inline: max(24px, calc((100vw - var(--doxa-ia-shell)) / 2));
}

.home-v3 .nav-actions { gap: 7px 22px; }
.home-v3 .nav-link { font-size: .82rem; }
.home-v3 .nav-link.is-active { color: var(--doxa-indigo); }

.home-v3 .home-shell {
  width: min(calc(100% - 48px), var(--doxa-ia-shell));
}

.home-v3 .home-hero-grid {
  min-height: 0;
  padding-block: 82px 86px;
}

.home-v3 .home-hero-copy h1 {
  max-width: 640px;
  font-size: clamp(3rem, 5.4vw, 5rem);
}

.home-v3 .home-hero-lead {
  max-width: 600px;
  color: var(--doxa-ia-ink-soft);
}

/* Make the product model explicit before the user enters a sub-area. */
.home-v3 .doxa-ia-section {
  padding: 72px 0 78px;
  background: #fff;
  border-top: 1px solid var(--home-line);
  border-bottom: 1px solid var(--home-line);
}

.home-v3 .doxa-ia-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 64px;
  align-items: end;
  margin-bottom: 30px;
}

.home-v3 .doxa-ia-heading h2 {
  margin: 0;
  color: var(--home-indigo);
  font-size: clamp(1.9rem, 3.6vw, 3rem);
  line-height: 1.25;
}

.home-v3 .doxa-ia-heading p {
  margin: 0;
  color: var(--doxa-gray);
  font-size: .92rem;
  line-height: 1.8;
}

.home-v3 .doxa-ia-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--home-line);
  border-left: 1px solid var(--home-line);
}

.home-v3 .doxa-ia-card {
  display: flex;
  min-height: 238px;
  flex-direction: column;
  padding: 26px 28px 24px;
  color: inherit;
  background: var(--doxa-ia-surface);
  border-right: 1px solid var(--home-line);
  border-bottom: 1px solid var(--home-line);
  text-decoration: none;
  transition: background .2s var(--ease), transform .2s var(--ease);
}

.home-v3 .doxa-ia-card:hover {
  z-index: 1;
  color: inherit;
  background: var(--doxa-paper);
  box-shadow: 0 12px 28px rgba(22, 36, 103, .07);
  transform: translateY(-2px);
}

.home-v3 .doxa-ia-card.is-planned { background: var(--doxa-paper-2); }
.home-v3 .doxa-ia-card.is-planned:hover { transform: none; box-shadow: none; }

.home-v3 .doxa-ia-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 28px;
}

.home-v3 .doxa-ia-index {
  color: var(--doxa-faint);
  font-family: var(--font-mono);
  font-size: .68rem;
}

.home-v3 .doxa-ia-card h3 {
  margin: 0;
  color: var(--home-indigo);
  font-size: 1.4rem;
}

.home-v3 .doxa-ia-card p {
  max-width: 350px;
  margin: 10px 0 0;
  color: var(--doxa-gray);
  font-size: .84rem;
  line-height: 1.75;
}

.home-v3 .doxa-ia-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 18px;
  color: var(--doxa-faint);
  border-top: 1px solid var(--home-line);
  font-size: .68rem;
}

.home-v3 .doxa-ia-card footer b { color: var(--home-indigo); font-size: 1rem; }

/* The three cards are the only large structural modules on the home page. */
.home-v3 .academy-showcase { padding-top: 82px; }
.home-v3 .latest-section { padding-top: 78px; }
.home-v3 .latest-lead-card h3 { margin-top: 42px; }

@media (max-width: 780px) {
  .home-v3 .site-nav { padding-inline: 16px; }
  .home-v3 .nav-actions {
    min-width: 0;
    max-width: calc(100% - 64px);
    flex: 1 1 auto;
    overflow-x: auto;
    flex-wrap: nowrap;
  }
  .home-v3 .home-shell { width: min(calc(100% - 32px), var(--doxa-ia-shell)); }
  .home-v3 .home-hero-grid { padding-block: 56px 64px; }
  .home-v3 .doxa-ia-section { padding-block: 58px 64px; }
  .home-v3 .doxa-ia-heading { grid-template-columns: 1fr; gap: 16px; }
  .home-v3 .doxa-ia-grid { grid-template-columns: 1fr; }
  .home-v3 .doxa-ia-card { min-height: 0; }
}

@media (max-width: 520px) {
  .home-v3 .home-hero-copy h1 { font-size: clamp(2.7rem, 13vw, 3.4rem); }
  .home-v3 .doxa-ia-card { padding: 22px 20px; }
}

/* Shared nested-page contract: one header rhythm, one secondary-nav tone,
   and no oversized blank hero zones. */
.site-nav { min-height: 64px; }

.academy-nav,
.math-subnav,
.ai-boards,
.ac-subnav {
  background: var(--doxa-paper-2) !important;
  color: var(--doxa-indigo) !important;
  border-bottom: 1px solid var(--doxa-line) !important;
  box-shadow: none !important;
}

.academy-nav a,
.ai-boards a,
.ac-subnav a { color: var(--doxa-gray); }

.academy-nav a.is-active,
.ai-boards a.is-active,
.ac-subnav a.is-active {
  color: var(--doxa-paper) !important;
  background: var(--doxa-indigo) !important;
}

.faculty-hero,
.ac-hub-hero,
.course-intro,
.math-hero,
.math-hub-hero {
  padding-top: 48px !important;
  padding-bottom: 42px !important;
}

.faculty-main,
body:has(.ac-hub) .container,
body:has(.math-hub) .container,
body:has(.math-hero) .container {
  padding-top: 42px;
  padding-bottom: 64px;
}

.faculty-hero-inner,
.course-intro-inner { max-width: 860px; }

@media (max-width: 640px) {
  .site-nav { padding-inline: 16px; }
  .faculty-hero,
  .ac-hub-hero,
  .course-intro,
  .math-hero,
  .math-hub-hero {
    padding-top: 36px !important;
    padding-bottom: 32px !important;
  }
  .faculty-main,
  body:has(.ac-hub) .container,
  body:has(.math-hub) .container,
  body:has(.math-hero) .container {
    padding-top: 28px;
    padding-bottom: 44px;
  }
}
