/* ═══════════════════════════════════════════════════════════════════
   formsense.css — FormSense shared foundation
   All public pages link this file. Page-specific styles live inline.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Reset & Root ────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --black:   #080808;
  --black2:  #0f0f0f;
  --black3:  #141414;
  --black4:  #1a1a1a;
  --gold:    #d4af37;
  --gold-hi: #f5c842;
  --gold-lo: #a07d1a;
  --gold-dim:rgba(212,175,55,0.15);
  --silver:  #c8c8c8;
  --silver-lo:#6a6a6a;
  --green:   #22c55e;
  --green-lo:rgba(34,197,94,0.15);
  --red:     #b91c1c;
  --red-lo:  rgba(185,28,28,0.12);
  --text1:   #f0f0f0;
  --text2:   #a0a0a0;
  --text3:   #606060;
  --border:  rgba(212,175,55,0.18);
  --border-s:rgba(200,200,200,0.1);
}
html{scroll-behavior:smooth;scroll-padding-top:80px;}
body{
  background:var(--black);
  color:var(--text1);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
}

/* ── Sparkles ─────────────────────────────────────────────────────── */
.sparkle-field{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;}
.spark{
  position:absolute;
  width:3px;height:3px;
  border-radius:50%;
  background:var(--gold-hi);
  box-shadow:0 0 6px 2px var(--gold);
  opacity:0;
  animation:sparkle-anim var(--dur,3s) ease-in-out var(--delay,0s) infinite;
}
@keyframes sparkle-anim{
  0%,100%{opacity:0;transform:scale(0.5);}
  50%{opacity:1;transform:scale(1.4);}
}
.spark.silver{background:#e0e0e0;box-shadow:0 0 5px 2px #b0b0b0;}

/* ── Nav ──────────────────────────────────────────────────────────── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(8,8,8,0.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  padding:0 32px;
  height:64px;
  display:flex;align-items:center;gap:0;
}
.nav-logo{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;
  margin-right:auto;
}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{
  color:var(--text2);
  text-decoration:none;
  font-size:0.88rem;
  font-weight:600;
  letter-spacing:0.02em;
  transition:color 0.2s;
}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.btn-nav{
  margin-left:32px;
  padding:9px 22px;
  background:var(--gold);
  color:var(--black);
  font-weight:800;
  font-size:0.85rem;
  letter-spacing:0.03em;
  border:none;
  border-radius:6px;
  cursor:pointer;
  text-decoration:none;
  transition:background 0.2s,box-shadow 0.2s;
  box-shadow:0 0 18px rgba(212,175,55,0.3);
  white-space:nowrap;
}
.btn-nav:hover{background:var(--gold-hi);box-shadow:0 0 28px rgba(245,200,66,0.45);}

/* ── Buttons ──────────────────────────────────────────────────────── */
.btn-primary{
  display:inline-block;
  padding:14px 32px;
  background:var(--gold);
  color:var(--black);
  font-weight:900;
  font-size:0.95rem;
  border:none;border-radius:8px;cursor:pointer;
  text-decoration:none;
  box-shadow:0 0 28px rgba(212,175,55,0.35);
  transition:all 0.2s;
  letter-spacing:0.02em;
}
.btn-primary:hover{background:var(--gold-hi);box-shadow:0 0 50px rgba(245,200,66,0.55);transform:translateY(-1px);}
.btn-outline{
  display:inline-block;
  padding:14px 32px;
  background:transparent;
  color:var(--silver);
  font-weight:700;
  font-size:0.95rem;
  border:1px solid var(--border-s);
  border-radius:8px;cursor:pointer;
  text-decoration:none;
  transition:all 0.2s;
}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}
.btn-gold{
  display:block;text-align:center;
  padding:13px 24px;
  background:var(--gold);
  color:var(--black);
  font-weight:900;font-size:0.9rem;
  border:none;border-radius:8px;cursor:pointer;
  text-decoration:none;
  transition:all 0.2s;
  box-shadow:0 0 20px rgba(212,175,55,0.25);
}
.btn-gold:hover{background:var(--gold-hi);box-shadow:0 0 35px rgba(245,200,66,0.4);}
.btn-silver{
  display:block;text-align:center;
  padding:13px 24px;
  background:transparent;
  color:var(--silver);
  font-weight:700;font-size:0.9rem;
  border:1px solid var(--border-s);
  border-radius:8px;cursor:pointer;
  text-decoration:none;
  transition:all 0.2s;
}
.btn-silver:hover{border-color:var(--silver);color:#fff;}

/* ── Section scaffolding ──────────────────────────────────────────── */
.section-inner{max-width:1100px;margin:0 auto;}
.section-label{
  font-size:0.7rem;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--gold);margin-bottom:12px;
}
.section-title{
  font-size:clamp(1.9rem,3.5vw,2.8rem);
  font-weight:900;letter-spacing:-0.02em;
  color:#fff;margin-bottom:16px;line-height:1.15;
}
.section-sub{font-size:1rem;color:var(--text2);max-width:620px;line-height:1.8;margin-bottom:48px;}

/* ── Gold divider ─────────────────────────────────────────────────── */
.gold-divider{
  width:100%;max-width:1100px;margin:0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-lo),var(--gold),var(--gold-lo),transparent);
}

/* ── Stats strip ──────────────────────────────────────────────────── */
.stats-strip{
  background:var(--black2);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:0;
}
.stats-strip .section-inner{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:0;
}
.stat-block{
  padding:36px 24px;
  text-align:center;
  border-right:1px solid var(--border);
}
.stat-block:last-child{border-right:none;}
.stat-num{
  font-size:2.4rem;font-weight:900;letter-spacing:-0.03em;
  background:linear-gradient(135deg,var(--gold-hi),var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  display:block;margin-bottom:6px;
}
.stat-label{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text3);}

/* ── Footer ───────────────────────────────────────────────────────── */
footer{
  background:var(--black2);
  border-top:1px solid var(--border);
  padding:32px 24px;
}
.footer-inner{max-width:1100px;margin:0 auto;}
.footer-top{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:16px;
  margin-bottom:20px;
}
.footer-wordmark{
  font-size:1rem;font-weight:900;
  background:linear-gradient(135deg,var(--gold-hi),var(--gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.footer-links{display:flex;gap:24px;flex-wrap:wrap;}
.footer-links a{font-size:0.8rem;color:var(--text3);text-decoration:none;transition:color 0.2s;}
.footer-links a:hover{color:var(--gold);}
.footer-disclaimer{
  padding-top:20px;
  border-top:1px solid var(--border-s);
  font-size:0.72rem;color:var(--text3);line-height:1.7;
}

/* ── Scroll reveal ────────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal.visible{opacity:1;transform:none;}

/* ── Responsive ───────────────────────────────────────────────────── */
@media(max-width:900px){
  nav{padding:0 16px;}
  .nav-links{display:none;}
  .btn-nav{margin-left:auto;}
}
@media(max-width:600px){
  .btn-primary,.btn-outline{padding:12px 24px;font-size:0.9rem;}
}
