/* ========== Base ========== */ :root { --nav-h: 64px; /* tweak nav height */ --bg: #0e0e10; /* page background */ --text: #eaeaea; /* body text color */ --gold: #ffd700; /* title gold */ --ring: rgba(255,255,255,.08); /* nav border */ } * { box-sizing: border-box; } html, body { margin: 0; padding: 0; } body { background: var(--bg); color: var(--text); font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; } /* ========== Sticky Nav ========== */ .site-nav { position: sticky; top: 0; z-index: 20; height: var(--nav-h); display: flex; gap: 1rem; align-items: center; justify-content: center; padding: 0 1rem; background: rgba(14,14,16,.7); backdrop-filter: blur(6px); border-bottom: 1px solid var(--ring); } .site-nav ul { margin: 0; padding: 0; list-style: none; display: flex; gap: 1rem; align-items: center; } .site-nav a { font-family: 'Iceland', sans-serif; text-decoration: none; color: #ddd; padding: .35rem .6rem; border-radius: .5rem; } .site-nav a:hover, .site-nav a:focus-visible { background: rgba(255,255,255,.08); } /* ========== Title (pops from nav) ========== */ .site-title { font-family: 'Iceland', sans-serif; font-size: clamp(2.4rem, 6vw, 6rem); line-height: 1; margin: 0; color: var(--gold); text-shadow: 0 4px 12px rgba(0,0,0,.6); position: absolute; left: 50%; bottom: calc(var(--nav-h) * 0.15); transform: translate(-50%, 0); opacity: 0; animation: popFromNav 900ms cubic-bezier(.2,.75,.15,1.1) forwards, underlineIn 700ms ease-out 650ms forwards; } /* ========== Content + Footer ========== */ .content { max-width: 1000px; margin: 2rem auto 4rem; padding: 0 1rem; } .site-footer { text-align: center; color: #bdbdbd; padding: 1.5rem 1rem 3rem; } /* ========== Responsive Tweaks ========== */ @media (max-width: 800px) { :root { --nav-h: 56px; } .site-title::after { height: 2px; } } @media (max-width: 480px) { :root { --nav-h: 52px; } .site-title { font-size: clamp(2rem, 9vw, 3.2rem); } .site-title::after { width: 60%; } } @media (prefers-reduced-motion: reduce) { .site-title, .site-title::after { animation: none !important; opacity: 1 !important; transform: translate(-50%, 0) !important; width: 56%; } }