/* CSS Reset and base */ *, *::before, *::after { box-sizing: border-box; } :root { --navy: #0b1020; --glass: rgba(255, 255, 255, 0.08); --text: #e9f2ff; --muted: #cbd5e1; --cta: linear-gradient(135deg, #00ffd0 0%, #00d6ff 60%, #0073ff 100%); --shadow: 0 8px 18px rgba(0,0,0,.45); --brand: #00fff0; --brand-glow: 0 0 12px rgba(0,255,255,.8); } html, body { height: 100%; } html { scroll-behavior: smooth; } body { margin: 0; font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto; color: var(--text); background: var(--navy); /* Black crosshatch background for hacker vibe over navy base */ background-image: linear-gradient(45deg, rgba(0,0,0,.75) 25%, transparent 25%), linear-gradient(-45deg, rgba(0,0,0,.75) 25%, transparent 25%); background-size: 22px 22px; min-height: 100vh; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } a { color: inherit; text-decoration: none; } /* Header */ .site-header { padding: 0.75rem 1rem; text-align: center; background: rgba(2, 6, 20, 0.92); border-bottom: 1px solid rgba(255,255,255,.15); position: sticky; top: 0; z-index: 10; } .brand { font-weight: 900; letter-spacing: .18em; text-transform: uppercase; color: #00fff0; text-shadow: 0 0 10px rgba(0,255,200,.8); } /* Hero (frosted glass) */ .hero { width: min(92vw, 1100px); margin: 2rem auto; padding: 1.75rem; border-radius: 16px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.22); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: var(--shadow); text-align: center; } .hero h1 { font-size: clamp(1.8rem, 5vw, 3rem); margin: 0 0 .5rem; color: #eaf6ff; text-shadow: 0 0 12px rgba(0, 255, 255, 0.6); } .subhead { margin: 0 0 1rem; color: #e2f7ff; font-weight: 600; opacity: .95; } .hero-media { width: 100%; margin: 0 auto; } .hero-media img { width: 100%; height: auto; display: block; border-radius: 12px; border: 1px solid rgba(255,255,255,.25); box-shadow: 0 6px 20px rgba(0,0,0,.4); } .cta { display: inline-block; padding: 0.95rem 1.6rem; margin-top: 0.75rem; border-radius: 999px; font-weight: 900; color: #0b0e18; background: var(--cta); text-decoration: none; letter-spacing: .02em; box-shadow: 0 8px 18px rgba(0,0,0,.5); transition: transform .2s ease, box-shadow .2s ease; } .cta:hover { transform: translateY(-1px); box-shadow: 0 12px 22px rgba(0,0,0,.6); } .cta:focus-visible { outline: 2px solid #6bd6ff; outline-offset: 2px; } /* Footer with small advertisement */ .site-footer { padding: 1rem; text-align: center; color: #eae9e1; background: rgba(2,6,20,.92); border-top: 1px solid rgba(255,255,255,.14); } .footer-ad a { color: #00ffe1; font-weight: 800; text-decoration: none; } .gratitude { margin-top: .5rem; font-size: .95rem; } /* Layout: grid for larger screens to emphasize centerpiece image */ @media (min-width: 900px) { .hero { display: grid; grid-template-columns: 1.2fr 0.8fr; grid-template-areas: "title media" "subtitle media" "cta media"; gap: 1.75rem; text-align: left; align-items: center; padding: 2rem; } .hero h1 { grid-area: title; justify-self: start; } .subhead { grid-area: subtitle; justify-self: start; } .hero-media { grid-area: media; justify-self: center; align-self: center; width: 100%; max-width: 720px; } .cta { grid-area: cta; justify-self: start; } } /* Overlays and accessibility */ a:focus-visible { outline: 2px solid #6bd6ff; outline-offset: 2px; } /* Reduced motion */ @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }