@charset "UTF-8";
/* =========================================================
   RevenueProofLaw — Final Enterprise CSS
   ========================================================= */

/* ---------- Root Tokens ---------- */
:root{
  --bg0:#050814;
  --bg1:#070B18;
  --panel: rgba(255,255,255,.025);
  --line: rgba(255,255,255,.10);
  --text:#F1F5FF;
  --muted: rgba(241,245,255,.72);
  --muted2: rgba(241,245,255,.54);
  --teal:#2DD4BF;
  --teal2:#22C7F0;
  --radius:18px;
  --shadow: 0 20px 60px rgba(0,0,0,.55);
}

/* ---------- Base ---------- */
html,body{height:100%;}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial,
               "Apple Color Emoji","Segoe UI Emoji";
  color: var(--text);
  background: var(--bg0);
  overflow-x:hidden;
}

.font-inter{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

/* ---------- Fixed Background (Calmed) ---------- */
.fixed-bg{
  position: fixed;
  inset: 0;
  z-index: -3;
  pointer-events: none;
  background:
    radial-gradient(900px 520px at 22% 8%, rgba(45,212,191,.09), transparent 65%),
    radial-gradient(820px 520px at 78% 10%, rgba(34,199,240,.07), transparent 68%),
    radial-gradient(1000px 700px at 55% 85%, rgba(45,212,191,.06), transparent 65%),
    linear-gradient(180deg, var(--bg0) 0%, var(--bg1) 55%, #060A1B 100%);
}

/* ---------- Noise Overlay (Reduced) ---------- */
.noise:before{
  content:"";
  position: fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
  opacity:.09;
  transform: translateZ(0);
}

main, nav, footer{position:relative; z-index:1;}

/* ---------- Navigation ---------- */
.navbar{
  backdrop-filter: blur(12px);
  background: rgba(5,8,20,.62);
  border-bottom: 1px solid var(--line);
}
.nav-link{
  color: var(--muted) !important;
  font-weight:600;
}
.nav-link:hover{color: var(--text) !important;}

/* ---------- Badges / Pills ---------- */
.badge-soft,
.pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.45rem .7rem;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  color: var(--muted);
  font-weight:700;
  font-size:.85rem;
  opacity:.85;
}

/* ---------- Sections & Rhythm ---------- */
.section{padding: 140px 0;}
.section-tight{padding: 140px 0; border-top: 1px solid rgba(255,255,255,.08);}

.divider{
  height:1px;
  background: var(--line);
  width:100%;
  margin:64px 0;
}

/* Narrative spacing helpers (optional use) */
.space-xl{height:120px;}
.space-lg{height:88px;}
.space-md{height:56px;}
.space-sm{height:32px;}

/* ---------- Hero ---------- */
.hero{
  padding-top:140px;
  padding-bottom:120px;
}
.hero h1{
  letter-spacing:-.04em;
  line-height:1.02;
  margin-bottom:32px;
}
.hero .lead-tight{
  max-width:64ch;
  margin-bottom:40px;
}
.hero > .container > .row > *{
  margin-bottom:24px;
}

/* ---------- Text Measure ---------- */
.text-measure{max-width:60ch;}
.text-measure-wide{max-width:68ch;}

.text-muted-2{
  color: var(--muted2) !important;
  line-height:1.65;
}

/* ---------- Cards (Hierarchy Applied) ---------- */
.card-surface,
.card-flat{
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding:28px;
}

/* Primary cards */
.card-surface{
  background: linear-gradient(
    180deg,
    rgba(255,255,255,.06),
    rgba(255,255,255,.025)
  );
  box-shadow: var(--shadow);
}

/* Secondary/support cards */
.card-flat{
  background: rgba(255,255,255,.025);
  box-shadow:none;
}

/* Vertical separation */
.card-surface + .card-surface,
.card-flat + .card-flat{
  margin-top:20px;
}

/* Horizontal separation */
@media (min-width: 992px){
  .card-row > * + *{margin-left:24px;}
}

/* ---------- KPI Blocks ---------- */
.kpi{
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  border-radius:14px;
  padding:20px;
  height:100%;
}
.kpi .label{
  color: var(--muted2);
  font-weight:800;
  font-size:.86rem;
}
.kpi .value{
  font-weight:900;
  letter-spacing:-.02em;
  font-size:1.15rem;
  margin-top:6px;
}
.kpi .icon{
  width:40px;
  height:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background: rgba(45,212,191,.12);
  border:1px solid rgba(45,212,191,.22);
  color: rgba(241,245,255,.92);
}

/* ---------- Lists ---------- */
.list-check li{
  margin-bottom:.55rem;
  color: var(--muted);
}
.list-check i{
  color: rgba(45,212,191,.95);
}

/* ---------- Risk / Compliance ---------- */
.risk-box{
  border:1px dashed rgba(241,245,255,.18);
  background: rgba(255,255,255,.03);
  border-radius: var(--radius);
  padding:18px;
}

/* ---------- Buttons ---------- */
.btn-brand{
  background: linear-gradient(90deg, var(--teal), var(--teal2));
  border:0;
  color:#05111A !important;
  font-weight:900;
  box-shadow:0 14px 40px rgba(34,199,240,.18);
}
.btn-brand:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}
.btn-outline-soft{
  border:1px solid var(--line);
  color: var(--text);
  background: rgba(255,255,255,.03);
  font-weight:800;
}
.btn-outline-soft:hover{
  background: rgba(255,255,255,.06);
}

/* ---------- Mobile Sticky CTA ---------- */
.mobile-cta{
  position: fixed;
  left:0; right:0; bottom:0;
  padding:10px 12px;
  background: rgba(5,8,20,.78);
  border-top:1px solid var(--line);
  backdrop-filter: blur(12px);
  z-index:1040;
  display:none;
}
@media (max-width: 991.98px){
  .mobile-cta{display:block;}
  .hero{padding-top:88px;}
}

/* ---------- Accessibility ---------- */
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important;}
  .btn-brand:hover{transform:none;}
}
.step-badge {
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background: rgba(45,212,191,.12);
  border:1px solid rgba(45,212,191,.22);
}

.step-badge-alt {
  background: rgba(34,199,240,.10);
  border:1px solid rgba(34,199,240,.18);
}
.faq-item {
  border:1px solid var(--line);
  background: rgba(255,255,255,.02);
  border-radius:14px;
  overflow:hidden;
  margin-bottom:10px;
}