
:root {
  --ink: #111827;
  --muted: #64748b;
  --line: #e5e7eb;
  --paper: #ffffff;
  --soft: #f8fafc;
  --deep: #0f172a;
  --blue: #2563eb;
  --cyan: #06b6d4;
  --green: #10b981;
}
* { box-sizing: border-box; }
body {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.62;
}
a { color: #1d4ed8; text-decoration: none; }
a:hover { text-decoration: underline; }
.navbar { backdrop-filter: blur(14px); border-bottom: 1px solid rgba(226,232,240,.85); }
.navbar-brand { font-weight: 800; letter-spacing: -.02em; }
.nav-link { font-weight: 600; color: #334155; }
.nav-link:hover { color: var(--blue); text-decoration: none; }
.hero {
  position: relative;
  color: #fff;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 10%, rgba(14,165,233,.34), transparent 30%),
    radial-gradient(circle at 90% 20%, rgba(16,185,129,.25), transparent 28%),
    linear-gradient(135deg, #020617 0%, #0f172a 46%, #1e293b 100%);
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto -20% -35% 20%;
  height: 360px;
  background: linear-gradient(90deg, rgba(37,99,235,.24), rgba(6,182,212,.16));
  transform: rotate(-8deg);
  border-radius: 50%;
}
.hero .container { position: relative; z-index: 1; }
.hero-eyebrow, .small-caps {
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: .78rem;
  font-weight: 800;
  color: #60a5fa;
}
.hero h1 { font-size: clamp(2.3rem, 5vw, 4.8rem); line-height: .98; letter-spacing: -.055em; }
.hero .lead { color: #dbeafe; max-width: 860px; font-size: clamp(1.1rem, 2vw, 1.35rem); }
.hero-card {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 22px;
  padding: 1.1rem;
}
.metric {
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.07);
  border-radius: 18px;
  padding: 1rem;
  height: 100%;
}
.metric strong { display: block; font-size: 1.55rem; color: #fff; letter-spacing: -.04em; }
.metric span { color: #cbd5e1; font-size: .92rem; }
.section-pad { padding: 5rem 0; }
.section-soft { background: var(--soft); }
.section-title { letter-spacing: -.035em; }
.lead-tight { font-size: clamp(1.08rem, 2vw, 1.32rem); color: #475569; }
.card-clean {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(15,23,42,.05);
  transition: transform .18s ease, box-shadow .18s ease;
}
.card-clean:hover { transform: translateY(-2px); box-shadow: 0 22px 54px rgba(15,23,42,.08); text-decoration: none; }
.card-body { padding: 1.35rem; }
.pill {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
  background: #eff6ff;
  padding: .42rem .72rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: .78rem;
}
.badge-soft {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .38rem .75rem;
  background: #e0f2fe;
  color: #075985;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.report-header {
  padding: 5.5rem 0 3.5rem;
  background:
    radial-gradient(circle at 15% 10%, rgba(37,99,235,.12), transparent 28%),
    linear-gradient(180deg, #f8fafc, #fff);
  border-bottom: 1px solid var(--line);
}
.report-content {
  max-width: 920px;
  margin: 0 auto;
  padding: 3.5rem 0 5rem;
}
.report-content h2 { margin-top: 2.35rem; font-size: 1.75rem; letter-spacing: -.03em; }
.report-content h3 { margin-top: 1.7rem; font-size: 1.25rem; letter-spacing: -.02em; }
.report-content p, .report-content li { color: #334155; font-size: 1.03rem; }
.note-box {
  border-left: 4px solid var(--blue);
  background: #eff6ff;
  padding: 1rem 1.1rem;
  border-radius: 14px;
  color: #1e3a8a;
}
.check-list li { margin-bottom: .55rem; }
.table-clean th { color: #475569; font-size: .86rem; text-transform: uppercase; letter-spacing: .06em; }
.table-clean td, .table-clean th { padding: .9rem; border-color: var(--line); }
.service-tag { color: #0f766e; background: #ccfbf1; border: 1px solid #99f6e4; border-radius: 999px; padding: .35rem .68rem; font-weight: 800; font-size: .78rem; }
.footer {
  background: #020617;
  color: #cbd5e1;
  padding: 3rem 0;
}
.footer a { color: #e0f2fe; }
.footer h5 { color: #fff; }
.footer .small { color: #94a3b8; }
.btn-primary { background: var(--blue); border-color: var(--blue); }
.btn-outline-light:hover { text-decoration: none; }
@media (max-width: 575.98px) {
  .section-pad { padding: 3.4rem 0; }
  .hero { text-align: left; }
  .report-header { padding-top: 4rem; }
}

.py-lg-6 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.mini-note { font-size:.92rem; color:#64748b; }
.dropdown-menu { border-radius: 14px; border-color: var(--line); box-shadow: 0 16px 42px rgba(15,23,42,.08); }
.dropdown-item { font-weight: 600; color:#334155; }
.dropdown-item:hover { background:#eff6ff; color:#1d4ed8; text-decoration:none; }
.report-card-meta { color:#64748b; font-size:.92rem; }


/* Project package and compliance page helpers */
.package-card { border:1px solid var(--line); border-radius:22px; background:#fff; padding:1.25rem; height:100%; box-shadow:0 18px 42px rgba(15,23,42,.045); }
.package-card h3 { letter-spacing:-.025em; }
.package-meta { color:#64748b; font-size:.92rem; }
.flow-step { border-left:4px solid var(--blue); background:#eff6ff; padding:1rem 1.1rem; border-radius:14px; height:100%; }
.boundary-box { border-left:4px solid #f59e0b; background:#fffbeb; padding:1rem 1.1rem; border-radius:14px; color:#78350f; }
.good-box { border-left:4px solid #10b981; background:#ecfdf5; padding:1rem 1.1rem; border-radius:14px; color:#065f46; }
.compact-list li { margin-bottom:.42rem; }
.source-list li { margin-bottom:.65rem; }
.source-list a { overflow-wrap:anywhere; }


.footer-bottom {
  border-top: 1px solid rgba(148, 163, 184, .28);
  margin-top: 1.8rem;
  padding-top: 1rem;
  color: #94a3b8;
  font-size: .9rem;
}
.footer-meta { color:#cbd5e1; }
.footer-meta strong { color:#fff; }
.landing-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:1rem; }
@media (max-width: 991.98px) { .landing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .landing-grid { grid-template-columns: 1fr; } }
.solution-list li { margin-bottom:.55rem; }
.inline-label { display:inline-block; font-weight:800; color:#0f172a; min-width:8.5rem; }
.commercial-hero-note { color:#dbeafe; max-width:760px; }

