/* ════════════════════════════════════════════
   Karnot Governance & Compliance — public pages
   Used by /governance/ + /governance/{slug}/
   ════════════════════════════════════════════ */
:root{
  --gov-orange: #F56600;
  --gov-navy:   #0d1b3e;
  --gov-navy2:  #1e3c72;
  --gov-green:  #22c55e;
  --gov-gold:   #EAB308;
  --gov-grey-l: #f3f4f6;
  --gov-grey-m: #e5e5ea;
  --gov-grey-t: #6b7280;
  --gov-text:   #1f2937;
}

/* ─── Buttons (shared) ─── */
.pol-btn-primary,
.pol-btn-ghost {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 20px;
  border-radius: 50px;
  font-size: 14px; font-weight: 700;
  text-decoration: none;
  transition: transform .15s, background .15s, box-shadow .15s;
}
.pol-btn-primary { background: var(--gov-orange); color: #fff; box-shadow: 0 4px 16px rgba(245,102,0,.25); }
.pol-btn-primary:hover { background: #d14e0a; transform: translateY(-2px); }
.pol-btn-ghost   { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.2); }
.pol-btn-ghost:hover { background: rgba(255,255,255,.13); transform: translateY(-2px); }

/* ═══════════════════════════════════════
   LANDING PAGE  (/governance/)
   ═══════════════════════════════════════ */
.gov-hero {
  background: linear-gradient(135deg, #0d1b3e 0%, #1e3c72 50%, #0d1b3e 100%);
  padding: 90px 20px 70px; color: #fff;
  position: relative; overflow: hidden;
}
.gov-hero::before {
  content: ''; position: absolute;
  top: -50%; right: -20%; width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(245,102,0,.10) 0%, transparent 70%);
  border-radius: 50%; pointer-events: none;
}
.gov-container { max-width: 1100px; margin: 0 auto; padding: 0 20px; position: relative; z-index: 1; }
.gov-hero-eyebrow {
  font-size: 12px; font-weight: 700;
  color: rgba(255,255,255,.55);
  letter-spacing: 2px; text-transform: uppercase;
  margin-bottom: 14px;
}
.gov-hero-title {
  font-size: clamp(32px, 5vw, 52px);
  font-weight: 800; line-height: 1.1;
  margin-bottom: 12px;
}
.gov-hero-sub {
  font-size: 16px; color: rgba(255,255,255,.72);
  max-width: 780px; line-height: 1.7;
  margin-bottom: 28px;
}
.gov-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }

.gov-section { padding: 60px 0; }
.gov-section-alt { background: var(--gov-grey-l); }
.gov-h2 {
  font-size: 24px; font-weight: 800; color: var(--gov-navy);
  margin-bottom: 6px;
  display: flex; align-items: center; gap: 12px;
}
.gov-tier-pill {
  font-size: 10px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 1px;
  padding: 4px 10px; border-radius: 50px;
}
.gov-tier-pill.tier-1 { background: rgba(245,102,0,.12); color: var(--gov-orange); }
.gov-tier-pill.tier-2 { background: rgba(13,27,62,.10);  color: var(--gov-navy); }
.gov-section-sub {
  font-size: 14px; color: var(--gov-grey-t);
  margin-bottom: 28px;
  max-width: 760px;
}

.gov-policy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
  gap: 16px;
}
.gov-policy-card {
  display: flex; gap: 14px;
  background: #fff;
  border: 1px solid var(--gov-grey-m);
  border-radius: 14px;
  padding: 18px;
  text-decoration: none; color: inherit;
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
.gov-policy-card:hover {
  border-color: var(--gov-orange);
  box-shadow: 0 6px 18px rgba(245,102,0,.12);
  transform: translateY(-2px);
}
.gov-card-icon {
  width: 44px; height: 44px; flex-shrink: 0;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; color: #fff;
}
.gov-card-icon.tier-1 { background: linear-gradient(135deg, var(--gov-orange), #ff8c42); }
.gov-card-icon.tier-2 { background: linear-gradient(135deg, var(--gov-navy), var(--gov-navy2)); }
.gov-card-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.gov-card-id {
  font-size: 10px; font-weight: 700; color: var(--gov-grey-t);
  text-transform: uppercase; letter-spacing: .5px;
  margin-bottom: 2px;
}
.gov-card-title {
  font-size: 15px; font-weight: 800; color: var(--gov-text);
  line-height: 1.3; margin-bottom: 6px;
}
.gov-card-sub {
  font-size: 12px; color: var(--gov-grey-t);
  line-height: 1.5; flex: 1;
  margin-bottom: 8px;
}
.gov-card-foot {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 11px; color: var(--gov-grey-t);
  border-top: 1px solid var(--gov-grey-m);
  padding-top: 8px;
}
.gov-card-link {
  color: var(--gov-orange); font-weight: 700;
  display: inline-flex; align-items: center; gap: 4px;
}

.gov-cta {
  background: linear-gradient(135deg, #0d1b3e, #1e3c72);
  padding: 60px 0; color: #fff;
}
.gov-cta-grid {
  display: grid; grid-template-columns: 1.3fr 1fr;
  gap: 36px; align-items: center;
}
.gov-cta h2 { font-size: 26px; font-weight: 800; margin-bottom: 10px; }
.gov-cta p  { color: rgba(255,255,255,.72); line-height: 1.7; font-size: 14px; }
.gov-cta-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 14px;
  padding: 24px;
  backdrop-filter: blur(4px);
}
.gov-cta-label   { font-size: 11px; color: rgba(255,255,255,.55); letter-spacing: 1px; text-transform: uppercase; margin-bottom: 6px; }
.gov-cta-name    { font-size: 18px; font-weight: 800; color: #fff; }
.gov-cta-title   { font-size: 12px; color: rgba(255,255,255,.65); margin-bottom: 18px; }

.gov-meta-strip {
  background: #fff; border-top: 1px solid var(--gov-grey-m);
  padding: 20px 0;
}
.gov-meta-row {
  display: flex; flex-wrap: wrap; gap: 22px;
  font-size: 11px; color: var(--gov-grey-t);
}

/* ═══════════════════════════════════════
   POLICY PAGE  (/governance/{slug}/)
   ═══════════════════════════════════════ */
.pol-page {
  background: var(--gov-grey-l);
  padding: 30px 0 60px;
  min-height: 100vh;
}
.pol-container {
  max-width: 900px; margin: 0 auto; padding: 0 20px;
  position: relative;
}

.pol-breadcrumb {
  font-size: 12px; color: var(--gov-grey-t); margin-bottom: 18px;
  display: flex; gap: 6px; flex-wrap: wrap; align-items: center;
}
.pol-breadcrumb a { color: var(--gov-grey-t); text-decoration: none; }
.pol-breadcrumb a:hover { color: var(--gov-orange); }
.pol-breadcrumb span:last-child { color: var(--gov-text); font-weight: 600; }

.pol-header {
  background: #fff;
  border: 1px solid var(--gov-grey-m);
  border-left: 4px solid var(--gov-orange);
  border-radius: 14px;
  padding: 28px 32px;
  margin-bottom: 24px;
}
.pol-doc-id {
  font-size: 11px; font-weight: 800; color: var(--gov-orange);
  letter-spacing: 1.5px; text-transform: uppercase;
  margin-bottom: 6px;
}
.pol-title {
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800; color: var(--gov-navy); line-height: 1.25;
  margin-bottom: 8px;
}
.pol-subtitle {
  font-size: 14px; color: var(--gov-grey-t); line-height: 1.6;
  margin-bottom: 18px;
}
.pol-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 14px;
  background: var(--gov-grey-l);
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 20px;
}
.pol-meta-item .pml {
  font-size: 10px; font-weight: 700; color: var(--gov-grey-t);
  letter-spacing: .5px; text-transform: uppercase;
  margin-bottom: 3px;
}
.pol-meta-item .pmv {
  font-size: 13px; font-weight: 700; color: var(--gov-text);
  line-height: 1.3;
}
.pol-meta-sub {
  font-weight: 500; color: var(--gov-grey-t); font-size: 11px;
}

.pol-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.pol-header .pol-btn-primary { box-shadow: none; }
.pol-header .pol-btn-ghost {
  background: var(--gov-grey-l); color: var(--gov-text);
  border: 1px solid var(--gov-grey-m);
}
.pol-header .pol-btn-ghost:hover { background: var(--gov-grey-m); }

.pol-applies-to {
  background: rgba(245,102,0,.06);
  border: 1px solid rgba(245,102,0,.20);
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 13px; color: var(--gov-text);
  margin-bottom: 24px;
}

.pol-body {
  background: #fff;
  border: 1px solid var(--gov-grey-m);
  border-radius: 14px;
  padding: 32px 40px;
  font-size: 15px; line-height: 1.7;
  color: var(--gov-text);
}
.pol-body p { margin-bottom: 14px; }
.pol-body .pol-h2,
.pol-body h2.pol-h2 {
  font-size: 18px; font-weight: 800; color: var(--gov-navy);
  margin-top: 28px; margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--gov-grey-m);
}
.pol-body .pol-h3,
.pol-body h3.pol-h3 {
  font-size: 15px; font-weight: 700; color: var(--gov-navy);
  margin-top: 18px; margin-bottom: 6px;
}
.pol-body ul.pol-bullets {
  margin: 10px 0 14px 22px;
}
.pol-body ul.pol-bullets li {
  margin-bottom: 6px; line-height: 1.6;
}
.pol-body .pol-callout {
  background: #fffbeb;
  border-left: 4px solid var(--gov-gold);
  padding: 14px 18px;
  border-radius: 8px;
  margin: 16px 0;
  font-size: 14px; line-height: 1.6;
}
.pol-body .pol-divider {
  border: none;
  height: 1px; background: var(--gov-grey-m);
  margin: 28px 0;
}
.pol-body .pol-signoff {
  background: var(--gov-grey-l);
  border-radius: 10px;
  padding: 22px 26px;
  margin-top: 18px;
}
.pol-signature {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 2px solid var(--gov-navy);
  font-size: 13px;
}
.pol-sig-name    { font-size: 16px; font-weight: 800; color: var(--gov-navy); }
.pol-sig-title   { color: var(--gov-grey-t); margin-top: 2px; }
.pol-sig-company { color: var(--gov-grey-t); }
.pol-sig-date    { color: var(--gov-grey-t); font-style: italic; margin-top: 8px; }

.pol-aside {
  margin-top: 24px;
  background: var(--gov-navy);
  color: #fff;
  border-radius: 14px;
  padding: 20px 24px;
}
.pol-aside h3 { font-size: 14px; font-weight: 800; color: var(--gov-orange); text-transform: uppercase; letter-spacing: .8px; margin-bottom: 8px; }
.pol-aside p  { font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.8); margin-bottom: 6px; }
.pol-aside b  { color: #fff; }
.pol-aside-sub { font-size: 11px; color: rgba(255,255,255,.55); font-style: italic; }

@media (max-width: 760px) {
  .gov-cta-grid { grid-template-columns: 1fr; gap: 22px; }
  .pol-body { padding: 22px 22px; }
  .pol-header { padding: 22px 22px; }
}

@media print {
  .gov-hero, .gov-cta, .pol-aside, .pol-actions, .pol-breadcrumb { display: none !important; }
  .pol-page, .pol-body, .pol-header {
    background: #fff !important; border: 0 !important; padding: 0 !important; box-shadow: none !important;
  }
}
