/* NALC Enterprises company-profile homepage.
   Deliberately scoped with its own --nalc- prefixed variables rather than
   reusing --brand-primary from app.css: this page represents NALC's own
   external brand color (a mid blue sampled from their company profile
   PDF), which is distinct from the auction platform's internal navy
   theme used everywhere under /admin and /customer. Keeping them
   separate means changing one never accidentally changes the other. */

:root {
  --nalc-blue: #3569bc;
  --nalc-blue-dark: #244a8a;
  --nalc-blue-light: #eaf0fb;
  --nalc-charcoal: #3b3a3f;
  --nalc-accent: #f7941d;   /* shared with the auction platform's orange, used deliberately on CTA buttons that lead there */
  --nalc-text: #23262b;
  --nalc-text-muted: #6b7280;
  --nalc-border: #e6e8ec;
  --nalc-radius: 10px;
  --nalc-shadow: 0 4px 18px rgba(35, 38, 43, 0.08);
  --nalc-transition: 180ms ease;
}

.nalc-page {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--nalc-text);
  background: #fff;
  scroll-behavior: smooth;
}

.nalc-page section {
  scroll-margin-top: 76px;
}

/* --- Top navigation --- */
.nalc-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid var(--nalc-border);
  transition: box-shadow var(--nalc-transition);
}
.nalc-nav.is-scrolled { box-shadow: var(--nalc-shadow); }
.nalc-nav .navbar-brand-text { font-weight: 700; color: var(--nalc-charcoal); letter-spacing: .2px; }
.nalc-nav .nav-link {
  color: var(--nalc-text);
  font-weight: 500;
  font-size: .93rem;
  padding: .5rem .9rem !important;
}
.nalc-nav .nav-link:hover { color: var(--nalc-blue); }
.nalc-nav-logo { height: 40px; width: auto; }

.btn-nalc-primary {
  background: var(--nalc-blue);
  border-color: var(--nalc-blue);
  color: #fff;
  font-weight: 600;
  border-radius: var(--nalc-radius);
  transition: background var(--nalc-transition), transform var(--nalc-transition);
}
.btn-nalc-primary:hover { background: var(--nalc-blue-dark); color: #fff; transform: translateY(-1px); }

.btn-nalc-cta {
  background: var(--nalc-accent);
  border-color: var(--nalc-accent);
  color: #fff;
  font-weight: 700;
  border-radius: var(--nalc-radius);
  transition: filter var(--nalc-transition), transform var(--nalc-transition);
}
.btn-nalc-cta:hover { filter: brightness(0.93); color: #fff; transform: translateY(-1px); }

.btn-nalc-outline {
  background: transparent;
  border: 1.5px solid rgba(255,255,255,.55);
  color: #fff;
  font-weight: 600;
  border-radius: var(--nalc-radius);
  transition: background var(--nalc-transition);
}
.btn-nalc-outline:hover { background: rgba(255,255,255,.12); color: #fff; }

/* --- Hero --- */
.nalc-hero {
  background: linear-gradient(135deg, var(--nalc-charcoal) 0%, #201f22 100%);
  color: #fff;
  padding: 5.5rem 0 6rem;
  position: relative;
  overflow: hidden;
}
.nalc-hero::before {
  content: "";
  position: absolute;
  top: -120px; right: -120px;
  width: 420px; height: 420px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.08);
}
.nalc-hero-eyebrow {
  color: var(--nalc-accent);
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.nalc-hero h1 { font-weight: 800; line-height: 1.15; }
.nalc-hero p.lead { color: rgba(255,255,255,.78); }
.nalc-hero-logo-badge {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--nalc-radius);
  padding: 1.25rem;
  display: inline-flex;
}

/* --- Section headings --- */
.nalc-eyebrow {
  color: var(--nalc-blue);
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.nalc-section-title { font-weight: 800; color: var(--nalc-charcoal); }
.nalc-section-lead { color: var(--nalc-text-muted); max-width: 640px; }
.nalc-section-alt { background: #f7f8fa; }

/* --- Cards --- */
.nalc-card {
  background: #fff;
  border: 1px solid var(--nalc-border);
  border-radius: var(--nalc-radius);
  transition: box-shadow var(--nalc-transition), transform var(--nalc-transition);
}
.nalc-card:hover { box-shadow: var(--nalc-shadow); transform: translateY(-2px); }

.nalc-icon-circle {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--nalc-blue);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  flex-shrink: 0;
}

.nalc-service-card { padding: 1.5rem; height: 100%; }
.nalc-service-number {
  font-weight: 800;
  font-size: .85rem;
  color: var(--nalc-blue);
  background: var(--nalc-blue-light);
  border-radius: 50%;
  width: 32px; height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .75rem;
}

/* --- Core values --- */
.nalc-values-panel {
  background: linear-gradient(135deg, var(--nalc-blue) 0%, var(--nalc-blue-dark) 100%);
  color: #fff;
  border-radius: var(--nalc-radius);
  padding: 2.5rem;
}
.nalc-values-panel ul { list-style: none; padding: 0; margin: 0; }
.nalc-values-panel li {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .55rem 0;
  border-bottom: 1px solid rgba(255,255,255,.15);
  font-weight: 500;
}
.nalc-values-panel li:last-child { border-bottom: none; }

/* --- Org chart --- */
.nalc-org-chart { text-align: center; }
.nalc-org-node {
  display: inline-block;
  background: #fff;
  border: 1.5px solid var(--nalc-blue);
  color: var(--nalc-charcoal);
  border-radius: 8px;
  padding: .5rem 1rem;
  font-weight: 600;
  font-size: .85rem;
  margin: 0 .35rem;
}
.nalc-org-node.top { background: var(--nalc-blue); color: #fff; }
.nalc-org-connector { color: var(--nalc-border); font-size: 1.1rem; line-height: 1; }

/* --- Team --- */
.nalc-team-photo {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: var(--nalc-radius) var(--nalc-radius) 0 0;
}
.nalc-team-photo-placeholder {
  width: 100%;
  aspect-ratio: 3/4;
  background: var(--nalc-blue-light);
  border-radius: var(--nalc-radius) var(--nalc-radius) 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  font-weight: 700;
  color: var(--nalc-blue);
}
.nalc-team-caption {
  background: var(--nalc-blue);
  color: #fff;
  border-radius: 0 0 var(--nalc-radius) var(--nalc-radius);
  padding: 1rem;
  text-align: center;
}
.nalc-team-caption .role { color: rgba(255,255,255,.8); font-size: .85rem; }
.nalc-team-bio { font-size: .88rem; color: var(--nalc-text-muted); }

/* --- Tables --- */
.nalc-table-wrap { border: 1px solid var(--nalc-border); border-radius: var(--nalc-radius); overflow: hidden; }
.nalc-table { margin-bottom: 0; }
.nalc-table thead th {
  background: var(--nalc-charcoal);
  color: #fff;
  font-weight: 600;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .4px;
  border: none;
  padding: .85rem 1rem;
}
.nalc-table td { padding: .8rem 1rem; vertical-align: middle; font-size: .92rem; }
.nalc-client-badge {
  display: inline-block;
  background: var(--nalc-blue-light);
  color: var(--nalc-blue-dark);
  font-weight: 700;
  border-radius: 6px;
  padding: .3rem .7rem;
  font-size: .85rem;
}

/* --- Trust badges --- */
.nalc-trust-badge {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-weight: 600;
  font-size: .9rem;
  color: var(--nalc-charcoal);
}
.nalc-trust-badge i { color: var(--nalc-blue); font-size: 1.3rem; }

/* --- Final CTA banner --- */
.nalc-cta-banner {
  background: linear-gradient(135deg, var(--nalc-charcoal) 0%, var(--nalc-blue-dark) 120%);
  color: #fff;
  border-radius: var(--nalc-radius);
  padding: 3rem;
}

/* --- Footer --- */
.nalc-footer { background: var(--nalc-charcoal); color: rgba(255,255,255,.75); }
.nalc-footer a { color: rgba(255,255,255,.75); text-decoration: none; }
.nalc-footer a:hover { color: #fff; }
.nalc-footer h6 { color: #fff; font-weight: 700; }

/* --- Mobile nav drawer --- */
@media (max-width: 991.98px) {
  .nalc-hero { padding: 3.5rem 0 4rem; text-align: center; }
  .nalc-hero-logo-badge { margin-bottom: 1.5rem; }
}
