* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--sans); }
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--silver-dim); }

.container { max-width: 1440px; margin: 0 auto; padding-left: 72px; padding-right: 72px; }

@keyframes softPulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.45; } }
@keyframes dotPulse { 0%, 100% { opacity: 0.25; } 50% { opacity: 1; } }
@keyframes sweep { 0% { transform: translateY(-30%); } 100% { transform: translateY(340%); } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes typeDot { 0%, 100% { opacity: 0.25; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-2px); } }

.live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--silver); animation: dotPulse 1.6s ease-in-out infinite; display: inline-block; }

.corner { position: absolute; width: 16px; height: 16px; }
.corner-tl { top: 10px; left: 10px; border-top: 1.5px solid var(--silver-dim); border-left: 1.5px solid var(--silver-dim); }
.corner-tr { top: 10px; right: 10px; border-top: 1.5px solid var(--silver-dim); border-right: 1.5px solid var(--silver-dim); }
.corner-bl { bottom: 10px; left: 10px; border-bottom: 1.5px solid var(--silver-dim); border-left: 1.5px solid var(--silver-dim); }
.corner-br { bottom: 10px; right: 10px; border-bottom: 1.5px solid var(--silver-dim); border-right: 1.5px solid var(--silver-dim); }

.section-eyebrow { font-family: var(--sans); font-size: 11px; letter-spacing: 0.18em; color: var(--ink-faint); }
.section-heading { margin: 0; font-family: var(--serif); font-weight: 400; font-size: 37px; letter-spacing: 0.002em; color: var(--ink); }
.section-sub { margin: 0; font-family: var(--sans); font-size: 14px; line-height: 1.7; color: var(--ink-soft); }
.subsection-intro { display: flex; flex-direction: column; gap: 18px; max-width: 640px; margin: 64px 0 8px; }
