/* navy parchment background with blue hacker vibe and frosted glass */ /* Color tokens */ :root{ --bg: #0b1020; /* navy base */ --parchment: #f5e6cb; /* beige parchment accent for content */ --text: #eaf6ff; --muted: #cbb69a; --glass: rgba(255,255,255,0.08); --glass-strong: rgba(255,255,255,0.18); --shadow: rgba(0,0,0,.5); --focus: rgba(0, 170, 255, 0.95); --cta-start: #3aa9ff; --cta-end: #0066ff; } /* Global reset */ *, *::before, *::after { box-sizing: border-box; } html, body { height: 100%; } /* Page base */ body { margin: 0; font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial; color: var(--text); background: var(--bg); /* soft navy parchment feel with subtle blue stripes */ background-image: linear-gradient(135deg, rgba(58,169,255,.15) 0 25%, transparent 25%), linear-gradient(315deg, rgba(58,169,255,.15) 25%, transparent 25%); background-size: 40px 40px; min-height: 100vh; display: flex; flex-direction: column; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; line-height: 1.4; position: relative; overflow-x: hidden; isolation: isolate; } /* Subtle blue glow overlay for hacker vibe */ :before { content: ""; position: fixed; inset: -20vmax; background: radial-gradient(circle at 25% 25%, rgba(0, 170, 255, 0.15), transparent 40%), radial-gradient(circle at 75% 60%, rgba(0, 255, 255, 0.15), transparent 40%); mix-blend-mode: screen; opacity: 0.85; pointer-events: none; z-index: 0; } /* Header */ .site-header { position: sticky; top: 0; z-index: 10; padding: 0.75rem 1rem; display: flex; justify-content: center; background: rgba(0, 0, 0, 0.38); border-bottom: 1px solid rgba(58, 139, 255, 0.25); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); } .brand { font-weight: 900; color: #e5f3ff; text-shadow: 0 0 14px rgba(58, 139, 255, 0.9); letter-spacing: .5px; font-size: 1.05rem; } /* Main container */ main { width: 100%; flex: 1 1 auto; } /* Hero layout: mobile-first two-column grid on larger screens */ .hero { padding: 2rem 1rem; display: flex; justify-content: center; } .hero-grid { display: grid; grid-template-columns: 1fr; gap: 1.75rem; align-items: center; width: 100%; max-width: 1100px; padding: 0 1rem; } .hero-image { width: 100%; height: auto; border-radius: 14px; display: block; border: 1px solid rgba(255,255,255,.22); box-shadow: 0 14px 40px rgba(0,0,0,.5); image-rendering: crisp-edges; } .hero-content { display: flex; flex-direction: column; gap: .75rem; padding: 1.25rem; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: var(--text); } .hero-content h1 { font-size: 1.9rem; line-height: 1.15; margin: 0; color: #fff; text-shadow: 0 0 8px rgba(0, 0, 0, 0.25); } .hero-content h2 { font-size: .95rem; font-weight: 500; color: #e8f2ff; margin: 0; opacity: .95; } .cta { display: inline-block; align-self: flex-start; padding: 0.95rem 1.25rem; border-radius: 999px; font-weight: 900; text-decoration: none; color: #0b0b04; background: linear-gradient(135deg, var(--cta-start) 0%, var(--cta-end) 60%, #2a6cff 100%); box-shadow: 0 6px 16px rgba(0, 140, 255, 0.6); border: 1px solid rgba(0,0,0,.08); transition: transform .2s ease, box-shadow .2s ease; } .cta:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0, 140, 255, 0.8); } .cta:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; } /* Desktop two-column layout */ @media (min-width: 900px) { .hero-grid { grid-template-columns: 1.05fr 0.95fr; gap: 2rem; } .hero-content { padding: 2rem; } .hero-content h1 { font-size: 2.25rem; } .hero-content h2 { font-size: 1.02rem; } .hero-image { border-radius: 16px; } } /* Footer */ .site-footer { padding: 1rem; text-align: center; font-size: 0.92rem; color: #e9e0d8; background: rgba(0,0,0,.5); border-top: 1px solid rgba(58,139,255,0.25); } .advertisement { color: #ffd59a; margin-bottom: .25rem; } .advertisement a { color: #ffd27a; font-weight: 700; text-decoration: none; } .advertisement a:hover { text-decoration: underline; } .thank-you { margin: .25rem 0; color: #f5efe0; } /* Focus ring for accessibility on links */ a:focus-visible { outline: 3px solid rgba(0, 170, 255, 0.95); outline-offset: 2px; } /* Reduced motion */ @media (prefers-reduced-motion: reduce) { .cta { transition: none; } .cta:hover { transform: none; } }