/* Community-Led Growth industry landing pages — pair with generated-colors.css */

:root {
  --cg-bg: #ffffff;
  --cg-ink: #0b1220;
  --cg-muted: rgba(11, 18, 32, 0.72);
  --cg-hairline: rgba(11, 18, 32, 0.10);
  --cg-lemongrass: #c8f169;
  --cg-lemongrass-rgb: 200, 241, 105;
  --cg-lemon-rgb: 255, 207, 85;
  --cg-water-rgb: 78, 165, 241;
  --cg-max: 1140px;
  --cg-pad: 20px;
  --cg-section-pad-y: 56px;
  --cg-radius: 18px;
  --cg-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: var(--cg-ink);
  background: var(--cg-bg);
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
h1, h2, h3 { letter-spacing: -0.02em; line-height: 1.15; }
h1 { font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 950; margin: 0; }
h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 900; margin: 0; }
h3 { font-size: 1.05rem; font-weight: 850; margin: 0 0 8px; }

.cg-wrap { max-width: var(--cg-max); margin: 0 auto; padding-inline: var(--cg-pad); }
.cg-sectionInner { padding-block: var(--cg-section-pad-y); }
.cg-sectionBase { position: relative; z-index: 2; }
.cg-mt { margin-top: 18px; }
.cg-maxProse { max-width: 820px; }
.cg-lead { font-size: 1.05rem; color: var(--cg-muted); margin: 10px 0 0; }
.cg-muted { color: var(--cg-muted); font-size: 14px; line-height: 1.55; }
.cg-fine { color: rgba(11, 18, 32, 0.56); font-size: 13px; }

.cg-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--cg-hairline);
}
.cg-header__inner {
  max-width: var(--cg-max); margin: 0 auto; padding: 14px var(--cg-pad);
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.cg-brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 900; }
.cg-brand__mark { width: 36px; height: 36px; }
.cm-brand__mark { filter: invert(1); }
.cg-nav { display: flex; flex-wrap: wrap; gap: 12px; font-size: 14px; color: var(--cg-muted); }
.cg-nav a:hover { color: var(--cg-ink); text-decoration: underline; }

.cg-grid2 { display: grid; gap: 24px; }
.cg-grid3 { display: grid; gap: 16px; }
@media (min-width: 760px) {
  .cg-grid2 { grid-template-columns: 1fr 1fr; align-items: start; }
  .cg-grid3 { grid-template-columns: repeat(3, 1fr); }
}

.cg-kicker {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em;
  color: rgba(11, 18, 32, 0.64);
}
.cg-heroCtas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

.cg-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 18px; border-radius: 999px; font-weight: 800; font-size: 14px;
  border: 1px solid transparent; cursor: pointer;
}
.cg-btn--primary {
  background: linear-gradient(135deg, var(--cg-lemongrass), #99f44e);
  color: var(--cg-ink);
  box-shadow: 0 10px 28px rgba(var(--cg-lemongrass-rgb), 0.35);
}
.cg-btn--ghost {
  background: rgba(255, 255, 255, 0.72);
  border-color: var(--cg-hairline);
}

.cg-card {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--cg-hairline);
  border-radius: var(--cg-radius);
  padding: 18px;
  box-shadow: 0 14px 40px rgba(11, 18, 32, 0.06);
}
.cg-emotionalCard h2 { font-size: 1.25rem; margin-bottom: 8px; }
.cg-emotionalSub { font-weight: 700; color: var(--cg-muted); margin: 0 0 12px; }

.cg-belief {
  margin: 0; padding: 28px 24px;
  border-left: 4px solid var(--cg-lemongrass);
  background: rgba(var(--cg-lemongrass-rgb), 0.12);
  border-radius: var(--cg-radius);
  font-size: clamp(1.15rem, 2.5vw, 1.45rem);
  font-weight: 800;
}

.cg-form { display: grid; gap: 12px; }
.cg-field { display: grid; gap: 6px; }
.cg-fieldLabel { font-size: 13px; font-weight: 700; }
.cg-field input, .cg-field textarea, .cg-field select {
  width: 100%; padding: 10px 12px; border-radius: 12px;
  border: 1px solid var(--cg-hairline); font: inherit;
}
.cg-honeypot { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.cg-formStatus { font-size: 14px; color: var(--cg-muted); min-height: 1.2em; }

.cg-faqList { display: grid; gap: 10px; }
.cg-faqItem {
  border: 1px solid var(--cg-hairline); border-radius: var(--cg-radius);
  background: #fff; overflow: hidden;
}
.cg-faqBtn {
  width: 100%; text-align: left; border: 0; background: transparent;
  padding: 16px; display: flex; justify-content: space-between; gap: 12px;
  cursor: pointer; font-weight: 800; font: inherit;
}
.cg-faqChev { opacity: 0.6; transition: transform 220ms var(--cg-ease); }
.cg-faqItem[aria-expanded="true"] .cg-faqChev { transform: rotate(180deg); }
.cg-faqPanel {
  padding: 0 16px 16px; color: var(--cg-muted); font-size: 14px;
  line-height: 1.55; display: none;
}
.cg-faqItem[aria-expanded="true"] .cg-faqPanel { display: block; }

.cg-footer {
  padding: 0;
}
.cg-footerGrid {
  display: grid; gap: 24px; margin-bottom: 24px;
}
@media (min-width: 760px) {
  .cg-footerGrid { grid-template-columns: 1fr 1fr; }
}
.cg-footerTitle { font-weight: 900; margin: 0 0 8px; }
.cg-reportLink {
  display: inline-block;
  margin-top: 12px;
  font-size: 14px;
  font-weight: 800;
  color: #006b81;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cg-reportLink:hover { color: var(--cg-ink); }
.cg-foundingClose { border-top: 1px solid var(--cg-hairline); }
.cg-footerLinks { display: flex; flex-wrap: wrap; gap: 12px; font-size: 13px; margin-bottom: 12px; }
.cg-footerLinks a { text-decoration: underline; text-underline-offset: 3px; }

.cg-heroGrid { align-items: start; }
.cg-heroCopy { display: flex; flex-direction: column; gap: 0; }
.cg-heroOpening {
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--cg-muted);
  max-width: 52ch;
}
.cg-heroVisual { display: grid; gap: 14px; }
.cg-heroFigure {
  margin: 0;
  border-radius: var(--cg-radius);
  overflow: hidden;
  border: 1px solid var(--cg-hairline);
  box-shadow: 0 18px 48px rgba(11, 18, 32, 0.12);
  background: rgba(255, 255, 255, 0.6);
}
.cg-heroImage {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center 20%;
}
.cg-emotionalCard--below {
  margin: 0;
  box-shadow: 0 10px 28px rgba(11, 18, 32, 0.06);
}
.cg-emotionalCard--below h2 { font-size: 1.1rem; }

.cg-hubCard { padding: 0; overflow: hidden; }
.cg-hubCard h3,
.cg-hubCard p,
.cg-hubCard .cg-hubLink { padding-left: 16px; padding-right: 16px; }
.cg-hubCard h3 { padding-top: 14px; margin: 0; }
.cg-hubCard p { padding-bottom: 4px; margin: 8px 0 0; }
.cg-hubCard .cg-hubLink { padding-bottom: 16px; display: block; }
.cg-hubThumb {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
  object-position: center 25%;
}
.cg-hubThumb--placeholder {
  background: linear-gradient(135deg, rgba(var(--cg-lemongrass-rgb), 0.25), rgba(var(--cg-water-rgb), 0.12));
  min-height: 120px;
}

.cg-hubCard { display: block; transition: transform 180ms var(--cg-ease); }
.cg-hubCard:hover { transform: translateY(-2px); }
.cg-hubLink { font-size: 13px; font-weight: 800; color: #006b81; margin-top: 8px; display: inline-block; }

.cg-reveal { opacity: 1; transform: none; }

.cg-privacy {
  width: 100%;
  max-width: none;
  margin-top: 24px;
}
.cg-privacy h3 {
  margin: 0 0 10px;
  font-size: 1.1rem;
  color: var(--cg-ink, #0b1220);
}
.cg-privacy .cg-muted {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  max-width: none;
  color: var(--cg-muted);
}

.cg-outlineList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
@media (min-width: 760px) {
  .cg-outlineList {
    grid-template-columns: 1fr 1fr;
  }
}
.cg-outlineItem {
  margin: 0;
}
.cg-outlineItem h3 {
  margin: 6px 0 0;
  color: var(--cg-ink);
}
.cg-outlineNum {
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(11, 18, 32, 0.52);
}
.cg-metricsList {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--cg-muted);
}
.cg-metricsList strong {
  color: var(--cg-ink);
  font-weight: 900;
}
.cg-sectionWhite .cg-card h3,
.cg-sectionWhite .cg-outlineItem h3 {
  color: var(--cg-ink);
}

.cg-boardHubThumb {
  min-height: 72px;
  background: linear-gradient(135deg, rgba(var(--cg-lemongrass-rgb), 0.2), rgba(var(--cg-water-rgb), 0.12));
}

.cg-boardList {
  display: grid;
  gap: 14px;
}

.cg-boardPost {
  margin: 0;
}

.cg-boardPost--pinned {
  border-color: rgba(var(--cg-lemongrass-rgb), 0.55);
  box-shadow: 0 12px 32px rgba(var(--cg-lemongrass-rgb), 0.12);
}

.cg-boardPostMeta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-bottom: 10px;
}

.cg-boardAuthor {
  font-size: 14px;
  font-weight: 850;
  color: var(--cg-ink);
}

.cg-boardDate {
  font-size: 13px;
  color: rgba(11, 18, 32, 0.52);
}

.cg-boardPinnedTag {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(var(--cg-lemongrass-rgb), 0.22);
  color: var(--cg-ink);
}

.cg-boardBody {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--cg-muted);
  white-space: pre-wrap;
}

.cg-boardEmpty {
  margin: 0;
  padding: 8px 0;
}

.cg-boardCompose h2 {
  margin: 0 0 8px;
  font-size: 1.25rem;
}

.cg-boardToolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.cg-boardToolbarLabel {
  font-size: 13px;
  font-weight: 700;
  color: var(--cg-muted);
  margin-right: 4px;
}

.cg-boardSortBtn {
  appearance: none;
  border: 1px solid rgba(11, 18, 32, 0.12);
  background: #fff;
  color: var(--cg-ink);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.cg-boardSortBtn--active {
  background: rgba(var(--cg-lemongrass-rgb), 0.35);
  border-color: rgba(var(--cg-lemongrass-rgb), 0.55);
}

.cg-boardPostRow {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.cg-boardPostMain {
  flex: 1;
  min-width: 0;
}

.cg-boardPost--reply {
  margin-left: 28px;
  border-left: 3px solid rgba(var(--cg-water-rgb), 0.35);
}

.cg-boardVoteCol {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 36px;
}

.cg-boardVoteBtn {
  appearance: none;
  border: none;
  background: transparent;
  color: var(--cg-muted);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  padding: 4px;
  border-radius: 6px;
}

.cg-boardVoteBtn:hover {
  background: rgba(var(--cg-lemongrass-rgb), 0.2);
  color: var(--cg-ink);
}

.cg-boardScore {
  font-size: 13px;
  font-weight: 800;
  color: var(--cg-ink);
}

.cg-boardTitle {
  margin: 0 0 8px;
  font-size: 17px;
  font-weight: 850;
  color: var(--cg-ink);
  line-height: 1.35;
}

.cg-boardReplyCount {
  font-size: 12px;
  color: var(--cg-muted);
}

.cg-boardPostActions {
  margin-top: 10px;
}

.cg-boardReplyBtn {
  appearance: none;
  border: none;
  background: transparent;
  color: #2563eb;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
}

.cg-boardReplyForm {
  margin-top: 8px;
}
