/* ════════════════════════════════════════════════════════════════
   beliefengines.io — shared stylesheet
   theme: lab-memo · white · IBM Plex Mono · hard 2px shadows
   ════════════════════════════════════════════════════════════════ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --ink:#0a0a0a;
  --paper:#ffffff;
  --paper-warm:#fafaf7;
  --rule:#0a0a0a;
  --muted:#5a5a58;
  --soft:#9a9a96;
  --accent:#ff3d00;
  --accent-soft:#fff1ec;
  --grid:rgba(10,10,10,0.06);
  --font:'IBM Plex Mono',ui-monospace,'Courier New',monospace;
}

html{scroll-behavior:smooth;font-size:15px}

body{
  font-family:var(--font);
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  background-image:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:48px 48px;
}

/* CRT scanlines */
body::before{
  content:"";
  position:fixed;inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,0.018) 0,rgba(0,0,0,0.018) 1px,transparent 1px,transparent 3px);
  z-index:200;
}

a{color:inherit}
::selection{background:var(--accent);color:#fff}

/* ────────── NAV ────────── */
nav{
  position:sticky;top:0;z-index:100;
  background:var(--ink);
  color:var(--paper);
  padding:0 2rem;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  border-bottom:2px solid var(--ink);
}
.nav-brand{text-decoration:none;display:flex;align-items:center}
.nav-brand img{height:80px;width:auto;display:block}

.nav-status{
  font-size:0.7rem;letter-spacing:0.18em;
  color:rgba(255,255,255,0.55);text-transform:uppercase;
  display:none;align-items:center;
}
@media(min-width:760px){.nav-status{display:flex}}
.dot{
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:#00d97e;margin-right:0.5rem;vertical-align:middle;
  box-shadow:0 0 8px #00d97e;
}

.nav-links{
  display:none;gap:1.5rem;list-style:none;
  font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;
}
@media(min-width:900px){.nav-links{display:flex}}
.nav-links a{color:rgba(255,255,255,0.65);text-decoration:none;transition:color 0.15s}
.nav-links a:hover,.nav-links a.active{color:var(--accent)}

.nav-cta{
  background:var(--paper);color:var(--ink);
  text-decoration:none;
  font-size:0.72rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  padding:0.7rem 1.1rem;
  border:2px solid var(--paper);
  transition:transform .15s,background .15s,color .15s,border-color .15s,box-shadow .15s;
  white-space:nowrap;
}
.nav-cta:hover{
  background:var(--accent);border-color:var(--accent);color:#fff;
  transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--paper);
}

/* Hamburger */
.hamburger{
  display:none;background:none;border:none;cursor:pointer;padding:8px;
  width:40px;height:40px;position:relative;z-index:110;
}
.hamburger span{
  display:block;position:absolute;left:8px;
  width:24px;height:2px;background:var(--paper);
  transition:transform .3s,opacity .3s,top .3s;
}
.hamburger span:nth-child(1){top:13px}
.hamburger span:nth-child(2){top:19px}
.hamburger span:nth-child(3){top:25px}
.hamburger.open span:nth-child(1){top:19px;transform:rotate(45deg);background:var(--accent)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){top:19px;transform:rotate(-45deg);background:var(--accent)}
.mobile-only-cta{display:none}

@media(max-width:899px){
  .hamburger{display:block}
  .nav-cta-desktop{display:none}
  .nav-links{
    position:fixed;inset:0;
    flex-direction:column;justify-content:center;align-items:center;
    gap:2rem;background:var(--ink);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .3s,visibility .3s;z-index:105;
  }
  .nav-links.open{opacity:1;visibility:visible;pointer-events:auto;display:flex}
  .nav-links a{font-size:1.1rem;letter-spacing:0.08em}
  .mobile-only-cta{display:block;margin-top:1rem}
  .mobile-only-cta a{
    display:inline-block;padding:0.9rem 1.8rem;
    background:var(--accent);color:var(--paper);
    border:2px solid var(--paper);
    font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;
    text-decoration:none;
  }
}

/* ────────── DOC + COMMON ────────── */
.doc{max-width:1180px;margin:0 auto;padding:0 2rem}

.stamp{
  display:inline-block;
  font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1rem;
}
.stamp::before{content:"// ";color:var(--accent)}

/* ────────── BUTTONS ────────── */
.btn-primary{
  display:inline-block;
  background:var(--ink);color:var(--paper);text-decoration:none;
  padding:1rem 2rem;
  font-family:var(--font);font-size:0.78rem;font-weight:600;
  letter-spacing:0.14em;text-transform:uppercase;
  border:2px solid var(--ink);
  transition:transform .15s,box-shadow .15s,background .15s;
  cursor:pointer;
}
.btn-primary:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--accent);background:var(--accent)}

.btn-ghost{
  display:inline-block;
  background:transparent;color:var(--ink);text-decoration:none;
  padding:1rem 1.5rem;
  font-family:var(--font);font-size:0.78rem;font-weight:600;
  letter-spacing:0.14em;text-transform:uppercase;
  border-bottom:2px solid var(--ink);
  transition:color .15s,border-color .15s;
}
.btn-ghost:hover{color:var(--accent);border-color:var(--accent)}

/* ────────── FOOTER ────────── */
footer{
  padding:2rem;border-top:2px solid var(--ink);background:var(--paper);
  text-align:center;font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--muted);
}
footer a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
footer a:hover{border-color:var(--accent)}

/* ────────── REVEAL ────────── */
.reveal{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
.reveal.pending{opacity:0;transform:translateY(20px)}
.reveal.in{opacity:1;transform:translateY(0)}
