/* Preppr brand layer: the 2026 preppr.ai look (black chrome, PrepOps mint,
 * Inter, uppercase display headings). Loaded after the site stylesheet. The same
 * file ships in preppr-help, preppr-changelog and preppr-blog; selectors a site
 * does not use are simply inert there. Tokens live in colors_and_type.css. */

:root {
  --brand-black: #000000;
  --brand-ink: #00120c;
  --brand-charcoal: #141a17;
  --brand-mint: #25d89f;
  --brand-mint-pale: #ecf9f2;
  --brand-link: #0b7f5a;            /* mint is too light for text on white */
  --brand-line-dark: rgba(255, 255, 255, 0.14);
  --brand-text-dark: rgba(255, 255, 255, 0.72);
  --brand-grid: url('tile-grid.webp');
}

body { font-family: var(--font-sans); }
::selection { background: var(--brand-mint); color: var(--brand-ink); }
a { color: var(--brand-link); }

/* ---------- Display type ---------- */
.hero h1, .cat-hero h1, .results-head h1, .contact-hero h1, .article-main h1,
.cl-hero h1, .cl-left h1, .blog-hero h1, .post-hero h1, .post-title,
.section-head h2, .cta-head h2 {
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.035em;
  line-height: 0.94;
}
.prose h2, .cl-body h2, .cl-title { letter-spacing: -0.02em; font-weight: 800; }
.hero-eyebrow, .section-head .eyebrow, .cl-hero-eyebrow, .cl-find-label {
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.section-head .eyebrow, .cl-find-label { color: var(--brand-link); }

/* ---------- Header (matches the preppr.ai nav) ---------- */
.site-header {
  background: rgba(0, 0, 0, 0.92);
  border-bottom: 1px solid var(--brand-line-dark);
}
.brand img { height: 22px; }
.brand .tag { color: var(--brand-mint); border-left-color: var(--brand-line-dark); letter-spacing: 0.16em; font-weight: 800; }
.nav-links a, .nav-login { color: #fff; font-weight: 500; }
.nav-links a:hover, .nav-login:hover { background: rgba(255, 255, 255, 0.08); }
.nav-links a.active { color: var(--brand-mint); }
.nav-links a.nav-ext { color: var(--brand-text-dark); }
.nav-links a.nav-ext svg { color: rgba(255, 255, 255, 0.45); }
.nav-links a.nav-ext:hover svg { color: var(--brand-mint); }
.nav-div { background: var(--brand-line-dark); }
.header-search input {
  background: rgba(255, 255, 255, 0.06);
  border-color: var(--brand-line-dark);
  color: #fff;
}
.header-search input::placeholder { color: rgba(255, 255, 255, 0.5); }
.header-search .search-icon { color: rgba(255, 255, 255, 0.55); }

/* ---------- Buttons: pills, mint with ink text ---------- */
.btn { border-radius: 999px; font-weight: 600; padding: 10px 20px; }
.btn-sm { padding: 7px 14px; }
.btn-primary { background: var(--brand-mint); color: var(--brand-ink); }
.btn-primary:hover { background: #fff; color: var(--brand-ink); }
.btn-navy { background: var(--brand-ink); color: #fff; }
.btn-navy:hover { background: #000; color: var(--brand-mint); }
.btn-outline { background: transparent; color: var(--brand-ink); border-color: rgba(0, 18, 12, 0.18); }
.btn-outline:hover { background: var(--brand-mint-pale); border-color: rgba(0, 18, 12, 0.3); }
.btn-ghost-dark { background: transparent; border-color: rgba(255, 255, 255, 0.4); }
.btn-ghost-dark:hover { background: rgba(255, 255, 255, 0.08); border-color: #fff; }
/* the header CTA sits inside .nav-links, whose link rule is more specific than .btn */
.site-header a.btn { border-radius: 999px; padding: 8px 16px; }
.site-header a.btn-primary, .site-header a.btn-primary:hover { color: var(--brand-ink); background: var(--brand-mint); }
.site-header a.btn-primary:hover { background: #fff; }

/* ---------- Dark hero bands with the faded tile grid ---------- */
.hero, .cl-hero, .blog-hero, .cta-band {
  background-color: var(--brand-black);
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.75) 45%, rgba(0, 0, 0, 0.2) 100%), var(--brand-grid);
  background-size: cover;
  background-position: center right;
}
.hero::after, .cta-band::after { display: none; }
.hero h1 { font-size: clamp(40px, 5.2vw, 72px); color: #fff; margin-bottom: 18px; }
.hero p.sub { color: var(--brand-text-dark); }
.hero-eyebrow { color: var(--brand-mint); }
.hero-mascot { display: none; }
.hero .wrap { grid-template-columns: 1fr; padding-top: 72px; padding-bottom: 80px; }
.hero-chips a { background: transparent; border-color: rgba(255, 255, 255, 0.24); border-radius: 999px; }
.hero-chips a:hover { background: rgba(255, 255, 255, 0.08); border-color: #fff; }
.hero-guide-badge { background: var(--brand-mint); color: var(--brand-ink); box-shadow: none; }
.hero-guide-badge svg { color: var(--brand-ink); }
.hero-guide-badge .hg-pdf { background: rgba(0, 18, 12, 0.12); color: var(--brand-ink); }
.search-hero input { border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.2); }
.search-hero input:focus { border-color: var(--brand-mint); box-shadow: 0 0 0 3px rgba(37, 216, 159, 0.3); }
.wn-chip.hero { background: rgba(37, 216, 159, 0.14); border-color: rgba(37, 216, 159, 0.5); color: #fff; }

/* ---------- Light-surface details ---------- */
.cat-card, .art-card, .related-card, .cta-card, .contact-side .side-card, .faq-item {
  border-radius: 20px;
}
.cat-card:hover, .art-card:hover, .related-card:hover, .cta-card:hover { border-color: var(--brand-mint); }
.cat-icon, .cta-card .cta-ico, .contact-side .side-card .sc-ico { background: var(--brand-mint-pale); color: var(--brand-link); }
.cta-head h2 { color: #fff; }
.cta-head p { color: var(--brand-text-dark); }
.prose a, .cl-body a, .cl-title a:hover { color: var(--brand-link); }
.prose blockquote { border-left-color: var(--brand-mint); background: var(--brand-mint-pale); }
.toc li a.active, .art-sidenav a.active, .cat-nav a.active { color: var(--brand-link); border-color: var(--brand-mint); }
.no-results img { display: none; }

/* ---------- Changelog ---------- */
.cl-hero h1 { color: #fff; }
.cl-hero-eyebrow { color: var(--brand-mint); }
.cl-left h1 { font-size: clamp(32px, 3.4vw, 48px); }
.cl-dot { background: var(--brand-mint); box-shadow: 0 0 0 4px rgba(37, 216, 159, 0.2); }
.cl-unread { background: var(--brand-mint-pale); color: var(--brand-link); border-color: rgba(37, 216, 159, 0.5); }
.cl-unread-dot { background: var(--brand-mint); }

/* ---------- Footer (black, like preppr.ai) ---------- */
.site-footer { background: var(--brand-black); color: var(--brand-text-dark); border-top: 1px solid var(--brand-line-dark); }
.footer-brand img { height: 22px; }
.footer-col h5 { color: var(--brand-mint); letter-spacing: 0.16em; font-weight: 800; }
.footer-col a, .footer-bottom a { color: var(--brand-text-dark); }
.footer-col a:hover, .footer-bottom a:hover { color: var(--brand-mint); }
.footer-bottom { border-top-color: var(--brand-line-dark); }

/* Inter sets wider than the old face; keep room for the header search */
.nav-links a { padding: 8px 9px; }
.header-search { min-width: 200px; }

/* ---------- Fonts: one family everywhere (the blog sets its own) ---------- */
:root {
  --font-sans: 'Inter', Arial, ui-sans-serif, system-ui, sans-serif;
  --font-display: 'Inter', Arial, sans-serif;
}
.section-head .eyebrow, .eyebrow, .pc-cat, .ac-cat, .art-card .ac-cat, .result-item .ri-cat,
.wn-cat, .related-card .rc-cat, .feat-flag, .feat .pc-cat.light, .post-meta, .breadcrumb,
.post-card .c-vis .vtag, .feat .feat-vis .vis-tag {
  font-family: var(--font-sans);
}
.section-head .eyebrow, .eyebrow { font-weight: 800; letter-spacing: 0.16em; }

/* ---------- Eyebrows read "✣  Label", like preppr.ai ---------- */
.hero-eyebrow {
  background: none; border: 0; padding: 0; border-radius: 0;
  font-family: var(--font-sans); font-size: 13px; color: var(--brand-mint); gap: 10px;
}
.hero-eyebrow svg { display: none; }
.hero-eyebrow::before {
  content: '✣'; width: auto; height: auto; background: none; box-shadow: none;
  animation: none; border-radius: 0; color: var(--brand-mint); font-size: 14px;
}

/* ---------- Blog ---------- */
.hero::before { display: none; }
.hero h1 { text-wrap: balance; }
.feat, .post-card { border-radius: 20px; }
.feat:hover, .post-card:hover { border-color: var(--brand-mint); }
.feat .feat-vis::before, .post-card .c-vis::before { display: none; }
.vis-general, .vis-industry, .vis-product, .vis-ocean, .vis-maroon, .vis-gold {
  background-image: var(--brand-grid); background-size: cover; background-position: center;
}
.vis-general  { background-color: #000000; }
.vis-industry { background-color: var(--brand-ink); }
.vis-product  { background-color: #063d2c; }
.vis-ocean    { background-color: var(--brand-charcoal); }
.vis-maroon   { background-color: #0a1f17; }
.vis-gold     { background-color: #10241c; }
.feat .feat-vis .glyph, .post-card .c-vis .cg { color: rgba(37, 216, 159, 0.22); font-weight: 900; }
.filter-chip { border-radius: 999px; }
.filter-chip.active { background: var(--brand-ink); color: #fff; border-color: var(--brand-ink); }
.post-cta { background-color: var(--brand-black); background-image: var(--brand-grid); background-size: cover; }
.post-cta::after { display: none; }
.post-cat-pill { border-radius: 999px; }
