/* base.css — SIB */

@keyframes shimmer {
  0% { left: -75%; }
  100% { left: 150%; }
}

@keyframes heartbeat {
  0%   { box-shadow: 0 0 0 0 rgba(15,15,15,0.4); }
  70%  { box-shadow: 0 0 0 10px rgba(15,15,15,0); }
  100% { box-shadow: 0 0 0 0 rgba(15,15,15,0); }
}

@keyframes heartbeat-light {
  0%   { box-shadow: 0 0 0 0 rgba(250,250,248,0.4); }
  70%  { box-shadow: 0 0 0 10px rgba(250,250,248,0); }
  100% { box-shadow: 0 0 0 0 rgba(250,250,248,0); }
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: 400;
  color: var(--color-ink);
  background-color: var(--color-bg);
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-sans);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--color-ink);
}

h1 { font-size: 3rem; }
h2 { font-size: 2.5rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: var(--text-xl); }

p {
  font-family: var(--font-sans);
  font-weight: 300;
  line-height: 1.7;
  color: var(--color-ink);
}

.section-link {
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
  display: inline-block !important;
  will-change: transform;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.section-link:hover {
  opacity: 0.6 !important;
  transform: scale(1.12) !important;
}

strong { font-weight: 500; }

.label {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-muted);
}

hr {
  border: none;
  border-top: 1px solid var(--color-line);
}
