/* Shared styles for the public /curriculum/ pages (SEO landing pages, logged out,
   no app shell). Kept separate from styles.css's app-shell rules and out of each
   generated page so the look can change in one place — see generate-curriculum.js. */
.curr-topbar { height: 64px; background: var(--color-navy-900); display:flex; align-items:center; padding: 0 32px; gap: 32px; }
.curr-topbar .brand { display:flex; align-items:center; gap:10px; color:#fff; font-weight:700; text-decoration:none; }
.curr-topbar .brand .mark { width:32px; height:32px; border-radius:8px; background:var(--color-accent-orange); display:flex; align-items:center; justify-content:center; font-weight:800; }
.curr-topbar .right { display:flex; align-items:center; gap:14px; margin-left:auto; }
.curr-topbar .right a { color:#cfd8e2; font-size:14px; text-decoration:none; }
.curr-topbar .right a.cta { color:#fff; background:var(--color-accent-orange); padding:8px 16px; border-radius:8px; font-weight:600; }

.curr-wrap { max-width: 860px; margin: 0 auto; padding: 40px 24px 70px; }
.curr-breadcrumb { font-size: 13px; color: var(--color-text-muted); margin-bottom: 18px; }
.curr-breadcrumb a { color: var(--color-text-muted); }
.curr-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--color-accent-orange); margin-bottom: 10px; }
.curr-wrap h1 { font-size: 32px; font-weight: 700; line-height: 1.2; margin-bottom: 14px; }
.curr-meta-row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
.curr-meta-row .badge { background: #e7edf1; color: var(--color-info); }
.curr-about { font-size: 15.5px; line-height: 1.7; color: var(--color-text); margin-bottom: 32px; }
.curr-cta-card { background: var(--color-navy-900); color: #fff; border-radius: var(--radius); padding: 26px 28px; margin-bottom: 36px; }
.curr-cta-card h2 { font-size: 19px; margin-bottom: 8px; }
.curr-cta-card p { color: #a9b4c2; font-size: 14px; margin-bottom: 16px; max-width: 520px; }
.curr-cta-card .actions { display: flex; gap: 12px; flex-wrap: wrap; }
.curr-prevnext { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--color-border); padding-top: 22px; }
.curr-prevnext a { flex: 1; font-size: 13.5px; color: var(--color-text-muted); text-decoration: none; }
.curr-prevnext a:hover { color: var(--color-text); }
.curr-prevnext a .lbl { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.curr-prevnext a.next { text-align: right; }
.curr-footer { text-align: center; color: var(--color-text-muted); font-size: 13px; padding: 24px 32px; border-top: 1px solid var(--color-border); }

/* Hub page (curriculum/index.html) */
.curr-hub-unit { margin-bottom: 30px; }
.curr-hub-unit h2 { font-size: 16px; margin-bottom: 4px; }
.curr-hub-unit .paper-lbl { font-size: 12px; color: var(--color-text-muted); margin-bottom: 12px; }
.curr-hub-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.curr-hub-card { display: block; border: 1px solid var(--color-border); border-radius: 10px; padding: 14px 16px; text-decoration: none; color: inherit; background: var(--color-surface); }
.curr-hub-card .code { font-size: 11.5px; color: var(--color-text-muted); }
.curr-hub-card .t { font-weight: 600; font-size: 14px; margin-top: 2px; }
@media (max-width: 640px) { .curr-hub-grid { grid-template-columns: 1fr; } }
