/* =====================================================================
   PRIME EDGE FX — global stylesheet
   Brand tokens extracted from the wireframe + logo.
   Mobile-first: base styles target phones; media queries scale up.
   ===================================================================== */

:root{
  --bg:#0A0A12;
  --bg-deep:#06060b;
  --navy-1:#0c1424;
  --navy-2:#0e1526;
  --navy-3:#0b0e1a;
  --gold:#C9A24B;
  --gold-bright:#E3C57A;
  --text:#EAEAF0;
  --text-2:#c4c4d4;
  --muted:#8a8aa0;
  --muted-2:#9a9ab2;
  --faint:#5a5a70;
  --hair:rgba(255,255,255,0.06);
  --hair-strong:rgba(255,255,255,0.1);
  --win:#4ade80;
  --maxw:1180px;
  --pad:20px;
  --font-head:'Sora',system-ui,sans-serif;
  --font-body:'Manrope',system-ui,sans-serif;
  --font-mono:'Space Mono',ui-monospace,monospace;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--bg);
  background-image:radial-gradient(circle at 50% -10%, #0e0e1a 0%, var(--bg) 55%);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:var(--gold); text-decoration:none; transition:color .18s ease; }
a:hover{ color:var(--gold-bright); }
h1,h2,h3,h4{ font-family:var(--font-head); font-weight:800; letter-spacing:-0.02em; line-height:1.08; margin:0; }
p{ margin:0; }
.mono{ font-family:var(--font-mono); }

.wrap{ max-width:var(--maxw); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }
.eyebrow{ font-family:var(--font-mono); color:var(--gold); font-size:12px; letter-spacing:0.25em; text-transform:uppercase; }
.gold{ color:var(--gold); }
.center{ text-align:center; }
.hair-top{ border-top:1px solid var(--hair); }

/* ---------- Buttons ------------------------------------------------ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-head); font-weight:700; font-size:16px;
  padding:15px 30px; border-radius:14px; border:0; cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
  text-align:center; line-height:1.1;
}
.btn-gold{
  background:linear-gradient(180deg,var(--gold-bright),var(--gold));
  color:#0A0A12; box-shadow:0 12px 30px rgba(201,162,75,0.28);
}
.btn-gold:hover{ color:#0A0A12; transform:translateY(-2px); box-shadow:0 16px 40px rgba(201,162,75,0.42); }
.btn-ghost{
  background:transparent; color:var(--text);
  border:1px solid var(--hair-strong);
}
.btn-ghost:hover{ color:var(--text); border-color:rgba(201,162,75,0.55); }
.btn-block{ width:100%; }
.link-underline{ color:var(--text); border-bottom:1px solid rgba(201,162,75,0.4); padding-bottom:3px; }
.link-underline:hover{ color:var(--gold-bright); }

/* ---------- Top bar / nav ------------------------------------------ */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(10,10,18,0.82); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hair);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:66px; }
.brand{ display:flex; align-items:center; gap:10px; }
.brand img{ width:30px; height:auto; border-radius:5px; }
.brand-txt{ font-family:var(--font-head); font-weight:800; font-size:15px; letter-spacing:0.03em; color:var(--text); }
.brand-txt .fx{ color:var(--gold); }

.nav-links{ display:none; gap:28px; font-size:14px; }
.nav-links a{ color:#b8b8c8; }
.nav-links a:hover, .nav-links a.active{ color:var(--gold); }
.nav-cta{ display:none; }
.nav-cta .btn{ font-size:13px; padding:11px 20px; border-radius:999px; }

.nav-signed{ display:none; color:var(--muted); font-size:14px; }
.nav-signed .gold{ color:var(--gold); }

/* hamburger */
.burger{
  display:inline-flex; flex-direction:column; gap:5px; width:42px; height:42px;
  align-items:center; justify-content:center; border:1px solid var(--hair-strong);
  border-radius:10px; background:transparent; cursor:pointer;
}
.burger span{ width:18px; height:2px; background:var(--text); border-radius:2px; transition:.2s; }
.burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.mobile-menu{
  display:none; flex-direction:column; gap:2px;
  border-bottom:1px solid var(--hair); background:rgba(10,10,18,0.98);
}
.mobile-menu.open{ display:flex; }
.mobile-menu a{ color:#cfcfe0; padding:14px var(--pad); font-size:16px; border-top:1px solid var(--hair); }
.mobile-menu a.active{ color:var(--gold); }
.mobile-menu .btn{ margin:14px var(--pad) 20px; }

/* ---------- Footer ------------------------------------------------- */
.site-footer{ border-top:1px solid var(--hair); margin-top:0; }
.site-footer .wrap{ padding-top:40px; padding-bottom:44px;
  display:flex; flex-direction:column; gap:22px; }
.disclaimer{ color:var(--faint); font-size:13px; line-height:1.6; max-width:560px; }
.social-row{ display:flex; flex-wrap:wrap; gap:16px; }
.social-row a{ color:var(--muted); font-size:14px; }
.social-row a:hover{ color:var(--gold); }

/* ---------- Generic sections --------------------------------------- */
section{ position:relative; }
.pad-y{ padding-top:56px; padding-bottom:56px; }
.pad-y-lg{ padding-top:72px; padding-bottom:72px; }
.navy-band{ background:linear-gradient(180deg,var(--navy-1),var(--bg)); }

/* form fields */
.field-label{ font-family:var(--font-mono); font-size:12px; color:var(--muted); letter-spacing:0.05em; margin-bottom:8px; display:block; }
.field{
  width:100%; height:52px; border-radius:12px; padding:0 16px;
  background:rgba(255,255,255,0.03); border:1px solid var(--hair-strong);
  color:var(--text); font-family:var(--font-body); font-size:15px;
  transition:border-color .18s ease, box-shadow .18s ease;
}
textarea.field{ height:140px; padding:14px 16px; resize:vertical; }
.field::placeholder{ color:var(--faint); }
.field:focus{ outline:none; border-color:rgba(201,162,75,0.6); box-shadow:0 0 0 3px rgba(201,162,75,0.12); }
.form-note{ color:var(--faint); font-size:12px; text-align:center; margin-top:14px; line-height:1.5; }
.form-msg{ font-size:14px; margin-top:14px; text-align:center; min-height:1.2em; }
.form-msg.ok{ color:var(--win); }
.form-msg.err{ color:#f2777a; }

/* ---------- Desktop breakpoints ------------------------------------ */
@media(min-width:900px){
  :root{ --pad:40px; }
  .nav-links{ display:flex; }
  .nav-cta{ display:block; }
  .nav-signed{ display:block; }
  .burger{ display:none; }
  .brand img{ width:34px; }
  .brand-txt{ font-size:16px; }
  .pad-y{ padding-top:70px; padding-bottom:70px; }
  .pad-y-lg{ padding-top:96px; padding-bottom:96px; }
  .site-footer .wrap{ flex-direction:row; justify-content:space-between; align-items:flex-start; }
}
