/* CSS Reset and base */ *, *::before, *::after { box-sizing: border-box; } :root { /* Beige white-noise zigzag background with orange hacker accents */ --bg-beige: #f5efe0; --ink: #1a130d; --text: #2b1f14; --muted: #8a4e00; --cta: linear-gradient(135deg, #ffb347 0%, #ffa000 60%, #e07a00 100%); --shadow: 0 8px 18px rgba(0,0,0,.4); --brand: #ffb347; --brand-glow: 0 0 14px rgba(255, 179, 71, .9); } 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(--bg-beige); /* white zigzag background texture over beige */ background-image: linear-gradient(135deg, rgba(255,255,255,.92) 25%, transparent 25%), linear-gradient(315deg, rgba(255,255,255,.92) 25%, transparent 25%); background-size: 18px 18px; 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: #ffd166; text-shadow: 0 0 10px rgba(255, 214, 102, 0.9); } /* 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.25); 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: #1b1410; text-shadow: 0 0 12px rgba(255, 180, 60, 0.8); } .subhead { margin: 0 0 1rem; color: #3b2a16; 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,.25); } .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-shadow: 0 1px 0 rgba(255,255,255,.25); box-shadow: 0 8px 18px rgba(0,0,0,.4); 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: #2f2f2f; background: rgba(2,6,20,.92); border-top: 1px solid rgba(255,255,255,.14); } .footer-ad a { color: #ffb347; 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; } /* Accessibility focus */ a:focus-visible { outline: 2px solid #6bd6ff; outline-offset: 2px; } /* Reduced motion */ @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }