/* Proton-inspired dark theme (no brand assets, only stylistic similarity) */
:root{
  --bg0:#070914;
  --bg1:#0B1024;
  --card: rgba(255,255,255,.06);
  --card2: rgba(255,255,255,.08);
  --stroke: rgba(255,255,255,.12);
  --text:#E7E9F3;
  --muted: rgba(231,233,243,.72);
  --accent:#7C3AED;     /* purple */
  --accent2:#22C55E;    /* green */
  --accent3:#38BDF8;    /* cyan */
  --shadow: 0 18px 50px rgba(0,0,0,.45);
  --radius: 18px;
}

html, body { height: 100%; }
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 700px at 15% 10%, rgba(124,58,237,.35), transparent 60%),
              radial-gradient(1000px 600px at 85% 15%, rgba(56,189,248,.18), transparent 55%),
              radial-gradient(900px 600px at 60% 85%, rgba(34,197,94,.12), transparent 55%),
              linear-gradient(180deg, var(--bg0), var(--bg1));
  color: var(--text);
}

a{ color: rgba(231,233,243,.92); }
a:hover{ color: #fff; }

.container{ max-width: 1140px; }

.navbar-proton{
  background: rgba(10,14,33,.55);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
}

.brand-mark{
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-weight: 700;
  letter-spacing: .2px;
}
.brand-dot{
  width: 10px; height: 10px; border-radius: 999px;
  background: linear-gradient(135deg, var(--accent), var(--accent3));
  box-shadow: 0 0 0 4px rgba(124,58,237,.18);
}

.hero{
  padding: 2.3rem 0 1.2rem;
}
.hero h1{
  font-size: clamp(2.2rem, 3.2vw, 3.2rem);
  line-height: 1.05;
  letter-spacing: -.02em;
}
.hero-lead{
  color: var(--muted);
  font-size: 1.08rem;
  max-width: 46rem;
}
.badge-soft{
  background: rgba(124,58,237,.16);
  border: 1px solid rgba(124,58,237,.25);
  color: rgba(231,233,243,.95);
  padding: .35rem .6rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: .82rem;
}

.glass{
  background: var(--card);
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.glass-soft{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
}
.card-title{
  letter-spacing: -.01em;
}

.kpi{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 1rem;
  padding: 1.1rem 1.1rem;
}
.kpi .label{ color: var(--muted); font-size:.92rem; }
.kpi .value{ font-size: 1.55rem; font-weight: 700; letter-spacing: -.02em; }

.btn{
  border-radius: 999px !important;
  padding: .6rem 1.05rem;
  font-weight: 600;
}
.btn-gradient{
  border: 0;
  background: linear-gradient(135deg, var(--accent), #5B21B6);
  box-shadow: 0 14px 40px rgba(124,58,237,.28);
}
.btn-gradient:hover{ filter: brightness(1.08); }

.btn-outline-proton{
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.04);
  color: rgba(231,233,243,.92);
}
.btn-outline-proton:hover{ background: rgba(255,255,255,.08); color:#fff; }

.section-title{
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -.01em;
}

.form-control, .form-select{
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: rgba(231,233,243,.92) !important;
  border-radius: 14px !important;
}
.form-control:focus{
  border-color: rgba(124,58,237,.55) !important;
  box-shadow: 0 0 0 .25rem rgba(124,58,237,.18) !important;
}
.form-label{ color: rgba(231,233,243,.80); }
.text-muted-proton{ color: var(--muted) !important; }

hr.hr-soft{
  border-color: rgba(255,255,255,.12);
  opacity: 1;
}

.table-proton{
  --bs-table-bg: transparent;
  --bs-table-color: rgba(231,233,243,.92);
  --bs-table-border-color: rgba(255,255,255,.10);
}

footer{
  margin-top: 2rem;
  padding: 1.5rem 0;
  border-top: 1px solid rgba(255,255,255,.08);
  color: rgba(231,233,243,.65);
}

small.code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  color: rgba(231,233,243,.80);
}

.qr{
  width: 128px;
  height: 128px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}

/* Marketing additions */
.badge-soft-cyan{
  border-color: rgba(56,189,248,.28) !important;
  background: rgba(56,189,248,.10) !important;
}
.badge-soft-purple{
  border-color: rgba(168,85,247,.28) !important;
  background: rgba(168,85,247,.10) !important;
}

.trust-bar{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.trust-item{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.86);
}
.trust-item i{
  font-size: 1.05rem;
  color: rgba(56,189,248,.90);
}

.kicker{
  display: inline-block;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .78rem;
  color: rgba(255,255,255,.62);
  margin-bottom: 8px;
}

.feature-icon{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(135deg, rgba(34,211,238,.10), rgba(168,85,247,.08));
}
.feature-icon i{
  font-size: 1.1rem;
  color: rgba(255,255,255,.92);
}

.step-num{
  font-weight: 800;
  font-size: 1.1rem;
  opacity: .9;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  margin-bottom: 10px;
}

.cta-slab{
  padding: 26px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(1200px 200px at 20% -20%, rgba(34,211,238,.20), transparent 60%),
    radial-gradient(900px 240px at 90% 20%, rgba(168,85,247,.18), transparent 55%),
    rgba(255,255,255,.03);
  box-shadow: 0 20px 70px rgba(0,0,0,.35);
}

.accordion-proton .accordion-item{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 10px;
}
.accordion-proton .accordion-button{
  background: rgba(255,255,255,.02);
  color: rgba(255,255,255,.88);
  box-shadow: none;
  padding: 16px 18px;
}
.accordion-proton .accordion-button:not(.collapsed){
  background: rgba(255,255,255,.03);
}
.accordion-proton .accordion-button:focus{
  box-shadow: none;
  border-color: rgba(34,211,238,.35);
}
.accordion-proton .accordion-body{
  padding: 16px 18px 18px;
  background: rgba(255,255,255,.02);
}

.mini-note{
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 14px 16px;
  background: rgba(255,255,255,.03);
}

.hero-marketing{
  position: relative;
}
.hero-card{
  position: relative;
}
.hero-card:before{
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(34,211,238,.24), rgba(168,85,247,.18), rgba(34,211,238,.12));
  opacity: .40;
  filter: blur(14px);
  z-index: -1;
}

/* Reveal animations */
.reveal{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}
.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

.form-control-proton{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);color:rgba(255,255,255,.92)}
.form-control-proton:focus{box-shadow:none;border-color:rgba(34,211,238,.35)}
