/* Next Chapter Community - Design System */
.nc-wrap{
  --nc-ink:#1B2430; --nc-parchment:#F7F4EE; --nc-parchment-dim:#EDE8DC;
  --nc-brass:#C9A15A; --nc-brass-deep:#A9803E; --nc-teal:#4F7C6D;
  --nc-text:#20242B; --nc-text-dim:#5B6472; --nc-line:rgba(27,36,48,0.14);
  font-family:'Inter',sans-serif; color:var(--nc-text); line-height:1.55;
}
.nc-wrap *{ box-sizing:border-box; }
.nc-wrap h1,.nc-wrap h2,.nc-wrap h3{ font-family:'Fraunces',serif; font-weight:600; }
.nc-mono{ font-family:'IBM Plex Mono',monospace; letter-spacing:.04em; }

/* ===== HERO / HOME ===== */
.nc-hero{ background:var(--nc-ink); color:var(--nc-parchment); padding:72px 32px; border-radius:4px; margin-bottom:56px; }
.nc-hero-inner{ max-width:1000px; margin:0 auto; }
.nc-eyebrow{ font-size:.78rem; text-transform:uppercase; color:var(--nc-brass); font-weight:600; margin-bottom:18px; }
.nc-hero h1{ font-size:2.8rem; line-height:1.1; margin:0 0 20px; max-width:640px; }
.nc-hero h1 em{ font-style:italic; color:var(--nc-brass); }
.nc-hero p.nc-lead{ font-size:1.1rem; color:rgba(247,244,238,.78); max-width:520px; margin:0 0 30px; }
.nc-btn{ display:inline-block; padding:13px 22px; border-radius:2px; font-weight:700; font-size:.9rem; cursor:pointer; border:1px solid transparent; text-decoration:none; }
.nc-btn-brass{ background:var(--nc-brass); color:var(--nc-ink); }
.nc-btn-brass:hover{ background:#dab671; color:var(--nc-ink); }
.nc-btn-outline{ border:1px solid rgba(247,244,238,.4); color:var(--nc-parchment); margin-left:10px; }
.nc-btn-outline:hover{ border-color:var(--nc-parchment); }
.nc-btn-dark{ background:var(--nc-ink); color:var(--nc-parchment); }
.nc-btn-dark:hover{ background:var(--nc-brass-deep); }
.nc-stat-rail{ display:flex; gap:36px; margin-top:36px; padding-top:24px; border-top:1px solid rgba(247,244,238,.18); }
.nc-stat b{ display:block; font-family:'Fraunces',serif; font-size:1.6rem; color:var(--nc-brass); }
.nc-stat span{ font-size:.78rem; color:rgba(247,244,238,.65); }

.nc-section{ max-width:1000px; margin:0 auto 64px; padding:0 16px; }
.nc-section h2{ font-size:1.7rem; margin:0 0 8px; }
.nc-section .nc-sub{ color:var(--nc-text-dim); margin:0 0 28px; }

.nc-pillars{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--nc-line); border:1px solid var(--nc-line); }
.nc-pillar{ background:var(--nc-parchment); padding:24px 20px; }
.nc-pillar .nc-num{ color:var(--nc-brass-deep); font-size:.76rem; }
.nc-pillar h3{ font-size:1.02rem; margin:12px 0 8px; }
.nc-pillar p{ font-size:.86rem; color:var(--nc-text-dim); margin:0; }

.nc-story-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.nc-story-card{ background:var(--nc-parchment); border:1px solid var(--nc-line); padding:22px; border-radius:2px; }
.nc-story-card .nc-role{ font-size:.74rem; color:var(--nc-text-dim); margin-bottom:10px; }
.nc-story-card h3{ font-size:1.08rem; margin:0 0 8px; line-height:1.3; }
.nc-story-card p{ font-size:.87rem; color:var(--nc-text-dim); margin:0 0 16px; }
.nc-story-foot{ display:flex; justify-content:space-between; font-size:.78rem; border-top:1px solid var(--nc-line); padding-top:12px; }
.nc-outcome{ color:var(--nc-teal); font-weight:600; }
.nc-empty{ color:var(--nc-text-dim); font-size:.92rem; padding:20px 0; }

/* ===== FORMS (login/register/dashboard) ===== */
.nc-card{ background:var(--nc-parchment); border:1px solid var(--nc-line); border-radius:3px; padding:30px; max-width:460px; margin:0 auto 28px; }
.nc-card-wide{ max-width:700px; }
.nc-card h2{ font-size:1.3rem; margin:0 0 6px; }
.nc-card .nc-sub{ color:var(--nc-text-dim); font-size:.88rem; margin:0 0 22px; }
.nc-tabs{ display:flex; gap:28px; border-bottom:1px solid var(--nc-line); margin-bottom:26px; max-width:460px; margin-left:auto; margin-right:auto; }
.nc-tab{ padding:9px 0; font-weight:700; font-size:.92rem; color:var(--nc-text-dim); text-decoration:none; border-bottom:2px solid transparent; }
.nc-tab.active{ color:var(--nc-ink); border-color:var(--nc-brass-deep); }
.nc-field{ margin-bottom:16px; }
.nc-field label{ display:block; font-size:.8rem; font-weight:700; margin-bottom:6px; }
.nc-field input[type=text], .nc-field input[type=email], .nc-field input[type=password], .nc-field input[type=file], .nc-field textarea, .nc-field select{
  width:100%; padding:11px 13px; border:1px solid var(--nc-line); border-radius:2px; font-size:.92rem; font-family:'Inter',sans-serif; background:#fff;
}
.nc-field textarea{ min-height:140px; }
.nc-role-pick{ display:flex; gap:10px; margin-bottom:18px; }
.nc-role-opt{ flex:1; border:1px solid var(--nc-line); padding:12px; border-radius:2px; text-align:center; font-size:.84rem; cursor:pointer; }
.nc-role-opt input{ margin-right:6px; }
.nc-notice{ padding:12px 14px; border-radius:2px; font-size:.86rem; margin-bottom:18px; }
.nc-notice-error{ background:#F7E4E0; color:#8A3A2A; border:1px solid #E3B4A8; }
.nc-notice-success{ background:#E4EFE9; color:#2F5B4A; border:1px solid #B9D6C6; }
.nc-submit{ width:100%; padding:13px; background:var(--nc-ink); color:var(--nc-parchment); border:none; border-radius:2px; font-weight:700; cursor:pointer; font-size:.92rem; }
.nc-submit:hover{ background:var(--nc-brass-deep); }

/* dashboard */
.nc-dash-grid{ display:grid; gap:24px; max-width:760px; margin:0 auto; }
.nc-tag-row{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.nc-tag-row label{ padding:6px 12px; border:1px solid var(--nc-line); border-radius:20px; font-size:.8rem; cursor:pointer; }
.nc-table{ width:100%; border-collapse:collapse; font-size:.88rem; }
.nc-table th, .nc-table td{ text-align:left; padding:10px 8px; border-bottom:1px solid var(--nc-line); }
.nc-pill{ background:var(--nc-parchment-dim); padding:4px 10px; border-radius:2px; font-size:.76rem; font-weight:600; }
.nc-lock{ text-align:center; padding:50px 20px; color:var(--nc-text-dim); }

@media(max-width:800px){
  .nc-pillars, .nc-story-grid{ grid-template-columns:1fr; }
  .nc-hero h1{ font-size:2rem; }
}

/* ===== SEARCH JOBS ===== */
.nc-search-panel{ background:var(--nc-parchment-dim); border:1px solid var(--nc-line); border-radius:4px; padding:36px; text-align:center; }
.nc-search-bar{ display:flex; gap:10px; max-width:560px; margin:20px auto 0; }
.nc-search-bar input{ flex:1; padding:13px 16px; border:1px solid var(--nc-line); border-radius:2px; font-size:.94rem; font-family:'Inter',sans-serif; }
.nc-search-meta{ font-size:.82rem; color:var(--nc-text-dim); margin-top:16px; }

/* ===== UPLOAD RESUME CTA ===== */
.nc-cta-banner{ background:var(--nc-ink); color:var(--nc-parchment); border-radius:4px; padding:36px 40px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.nc-cta-banner h2{ color:var(--nc-parchment); font-size:1.5rem; margin:0 0 8px; }
.nc-cta-banner p{ color:rgba(247,244,238,.75); margin:0; max-width:460px; font-size:.92rem; }

/* ===== BROWSE COMMUNITIES ===== */
.nc-communities-row{ display:flex; gap:12px; flex-wrap:wrap; }
.nc-tag-chip{ display:inline-flex; align-items:center; gap:8px; padding:10px 18px; background:var(--nc-parchment); border:1px solid var(--nc-line); border-radius:22px; font-size:.88rem; font-weight:600; text-decoration:none; color:var(--nc-text); }
.nc-tag-chip:hover{ border-color:var(--nc-brass-deep); color:var(--nc-brass-deep); }
.nc-tag-chip span{ background:var(--nc-parchment-dim); color:var(--nc-text-dim); font-size:.72rem; padding:2px 7px; border-radius:10px; }

/* ===== HIRING COMPANIES ===== */
.nc-company-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.nc-company-card{ display:flex; align-items:center; gap:14px; background:var(--nc-parchment); border:1px solid var(--nc-line); padding:18px; border-radius:3px; }
.nc-company-initial{ width:42px; height:42px; border-radius:6px; background:var(--nc-ink); color:var(--nc-brass); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:600; font-size:1.2rem; flex-shrink:0; }
.nc-company-card h3{ font-size:.98rem; margin:0 0 2px; }
.nc-company-card p{ font-size:.78rem; color:var(--nc-text-dim); margin:0; }

/* ===== FEATURED CANDIDATES ===== */
.nc-candidate-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px; }
.nc-candidate-card{ background:var(--nc-parchment); border:1px solid var(--nc-line); border-radius:3px; padding:24px 16px; text-align:center; }
.nc-candidate-avatar{ width:48px; height:48px; border-radius:50%; background:var(--nc-brass); color:var(--nc-ink); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:700; font-size:1.2rem; margin:0 auto 12px; }
.nc-candidate-card h3{ font-size:.94rem; margin:0 0 4px; }
.nc-candidate-card p{ font-size:.78rem; color:var(--nc-text-dim); margin:0; }
.nc-center-cta{ text-align:center; }

/* ===== STATISTICS ===== */
.nc-stat-grid-full{ display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--nc-line); border:1px solid var(--nc-line); border-radius:3px; overflow:hidden; }
.nc-stat-block{ background:var(--nc-ink); color:var(--nc-parchment); padding:28px 16px; text-align:center; }
.nc-stat-block b{ display:block; font-family:'Fraunces',serif; font-size:1.9rem; color:var(--nc-brass); margin-bottom:6px; }
.nc-stat-block span{ font-size:.76rem; color:rgba(247,244,238,.7); }

/* ===== TESTIMONIALS ===== */
.nc-testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.nc-testimonial-card{ background:var(--nc-parchment); border:1px solid var(--nc-line); border-left:3px solid var(--nc-brass); padding:24px; border-radius:2px; }
.nc-testimonial-card p{ font-style:italic; font-size:.92rem; color:var(--nc-text); margin:0 0 16px; }
.nc-testimonial-who strong{ display:block; font-size:.88rem; }
.nc-testimonial-who span{ font-size:.76rem; color:var(--nc-text-dim); }

@media(max-width:800px){
  .nc-company-grid{ grid-template-columns:1fr; }
  .nc-candidate-grid{ grid-template-columns:repeat(2,1fr); }
  .nc-stat-grid-full{ grid-template-columns:repeat(2,1fr); }
  .nc-testimonial-grid{ grid-template-columns:1fr; }
  .nc-cta-banner{ flex-direction:column; text-align:center; }
  .nc-search-bar{ flex-direction:column; }
}

/* ===== PLAIN CONTENT PAGES (About / Privacy / Terms / Sitemap) ===== */
.nc-page-content{ max-width:760px; }
.nc-page-content h2{ font-size:1.3rem; margin:32px 0 12px; }
.nc-page-content h2:first-child{ margin-top:0; }
.nc-page-content h3{ font-size:1.05rem; margin:24px 0 10px; }
.nc-page-content p{ font-size:.95rem; color:var(--nc-text-dim); margin:0 0 14px; }
.nc-check-list{ list-style:none; padding:0; margin:0 0 14px; }
.nc-check-list li{ display:flex; gap:10px; font-size:.94rem; color:var(--nc-text-dim); margin-bottom:10px; }
.nc-check-list li::before{ content:"—"; color:var(--nc-brass-deep); font-weight:700; flex-shrink:0; }
.nc-sitemap-list{ list-style:none; padding:0; margin:0 0 20px; }
.nc-sitemap-list li{ padding:10px 0; border-bottom:1px solid var(--nc-line); }
.nc-sitemap-list a{ font-size:.94rem; font-weight:600; color:var(--nc-text); text-decoration:none; }
.nc-sitemap-list a:hover{ color:var(--nc-brass-deep); }
