/* ===================================================================
   BASE / RESET
   Global resets and small shared building blocks (buttons, eyebrows,
   focus states) reused by the landing, login and dashboard pages.
=================================================================== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--ink);
  background:var(--bg-parchment);
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;}
button{font-family:inherit;cursor:pointer;}
a{color:inherit;}

:focus-visible{outline:2px solid var(--lamp);outline-offset:3px;}
.hidden{display:none !important;}

/* Small uppercase mono label used as a section/page kicker */
.eyebrow{
  font-family:var(--ff-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--lamp);
  display:flex;align-items:center;gap:8px;
  margin:0 0 14px;
}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--lamp);display:inline-block;}

/* Logo mark, reused in the landing nav, login card and sidebar */
.brand{
  font-family:var(--ff-display);font-weight:700;font-size:20px;
  letter-spacing:.01em;display:flex;align-items:center;gap:10px;
}
.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--lamp);box-shadow:0 0 0 4px var(--lamp-soft);}

/* --- Buttons --- */
.btn{
  border:none;border-radius:999px;padding:12px 22px;font-weight:600;font-size:14px;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  display:inline-flex;align-items:center;gap:8px;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--ink);color:var(--bg-parchment);}
.btn-primary:hover{box-shadow:var(--shadow-lift);}
.btn-lamp{background:var(--lamp);color:#231705;}
.btn-lamp:hover{box-shadow:0 10px 24px -8px var(--lamp-glow);}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line);}
.btn-ghost:hover{background:var(--bg-parchment-dim);}
.btn-text{background:none;border:none;color:var(--ink-soft);font-weight:600;font-size:14px;padding:4px;}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;}
}
