.section + .section { border-top: 1px dashed color-mix(in srgb, var(--fg) 25%, transparent); }
.section h2 {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
  text-shadow: var(--glow);
}
.section .ascii-divider {
  font-family: var(--font-mono);
  color: var(--fg-dim);
  white-space: pre;
  margin: 2rem 0 1rem;
  user-select: none;
}
#hero { padding-top: clamp(3rem, 12vh, 6rem); text-align: center; }
.banner {
  font-size: clamp(0.7rem, 1.2vw, 1.1rem);
  display: inline-block;
  text-align: left;
}
.registry {
  font-family: var(--font-mono);
  line-height: 1.6;
  white-space: pre-wrap;
  padding: 1rem 1.25rem;
  border: 1px dashed color-mix(in srgb, var(--fg) 45%, transparent);
  border-radius: 4px;
  background: color-mix(in srgb, var(--bg) 80%, transparent);
}
.registry::before { content: '┌─ whois 2bz.ca ─┐'; display: block; color: var(--fg-dim); margin-bottom: 0.5rem; }
.registry::after  { content: '└─────────────────┘'; display: block; color: var(--fg-dim); margin-top: 0.5rem; }
.skills-block { white-space: pre; font-family: var(--font-mono); line-height: 1.5; overflow-x: auto; }
@media (max-width: 640px) { .skills-block { font-size: 0.75rem; } }
.projects-block { white-space: pre; font-family: var(--font-mono); line-height: 1.55; overflow-x: auto; }
.projects-block a { color: var(--accent); text-shadow: var(--glow); }
.projects-block a:hover { background: var(--fg); color: var(--bg); text-shadow: none; }
@media (max-width: 640px) { .projects-block { font-size: 0.7rem; } }
.postcard { white-space: pre-wrap; font-family: var(--font-mono); line-height: 1.5; }
[data-email] i { font-style: normal; user-select: none; }
[data-email] i::before { content: attr(data-c); }
#colophon { text-align: center; color: var(--fg-dim); font-size: 0.85rem; padding-block: 3rem; }

.weather-overlay { position: absolute; right: 1rem; bottom: 0.4rem; font-size: 0.8rem; color: var(--y2k-cyan); pointer-events: none; }
