/* Navy gradient background with lime accents for a hacker vibe, frosted glass */ :root{ --bg: #0a1022; --navy: #0b1a2b; --lime: #baff00; --lime-dark: #7cff00; --text: #eafff0; --glass: rgba(255,255,255,.12); --glass-border: rgba(255,255,255,.28); --cta-start: #aaff00; --cta-end: #4aff00; --shadow: 0 8px 28px rgba(0,0,0,.28); } *, *::before, *::after{ box-sizing: border-box; } html, body{ height:100%; } body{ margin:0; font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial; color: var(--text); background: linear-gradient(135deg, #06172b 0%, #0b1a2b 60%, #06172b 100%); min-height:100vh; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: relative; } body::before{ content:""; position: fixed; inset: -20vmax; background: radial-gradient(circle at 20% 20%, rgba(176,255,0,.15), transparent 40%), radial-gradient(circle at 80% 60%, rgba(0,255,140,.15), transparent 40%); filter: blur(60px); z-index: -1; pointer-events: none; } /* Links */ a{ color: inherit; text-decoration: none; } /* Header */ .site-header{ position: sticky; top:0; z-index:30; padding:.75rem 1rem; display:flex; justify-content:center; background: rgba(2,12,20,.55); border-bottom:1px solid rgba(255,255,255,.15); backdrop-filter: saturate(1.2); -webkit-backdrop-filter: saturate(1.2); } .container{ width:100%; max-width:1100px; padding:0 1rem; } .brand{ display:inline-block; padding:.5rem 1rem; border-radius:999px; background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); font-weight:900; letter-spacing:.5px; font-size:.95rem; color:#eaffff; text-shadow:0 1px 2px rgba(0,0,0,.25); } /* Hero: mobile-first grid with image centerpiece; two-column on wide screens */ .hero{ display:grid; grid-template-columns:1fr; gap:2rem; align-items:center; justify-items:center; padding:2rem 1rem 4rem; } .hero-media img{ width: min(92vw, 760px); height:auto; display:block; border-radius:14px; border:1px solid rgba(255,255,255,.25); box-shadow:0 28px 60px rgba(0,0,0,.4); } .hero-content{ background: rgba(255,255,255,.12); /* frosted glass */ border:1px solid rgba(255,255,255,.28); border-radius:16px; padding:1.75rem; width:90%; max-width:700px; text-align:left; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: var(--shadow); } .hero-content h1{ font-size: clamp(2rem, 4vw + 1rem, 3.25rem); line-height:1.04; margin:0 0 .75rem; font-weight:900; color:#fff; } .hero-content .subhead{ font-size: clamp(1rem, 2vw + .6rem, 1.5rem); color: rgba(255,255,255,.92); margin:0 0 1.25rem; } .cta{ display:inline-block; padding:.95rem 1.25rem; font-weight:800; font-size:1.05rem; color:#041012; background: linear-gradient(135deg, var(--cta-start), var(--cta-end)); border-radius:999px; border:0; text-decoration:none; box-shadow:0 8px 22px rgba(0,0,0,.25); transition: transform .15s ease, box-shadow .15s ease; } .cta:hover{ transform: translateY(-1px); box-shadow:0 12px 28px rgba(0,0,0,.35); } .cta:focus-visible{ outline:3px solid #fff; outline-offset:2px; } /* Large screens: side-by-side image and content with image as centerpiece */ @media (min-width: 900px){ .hero{ grid-template-columns: 1.05fr 0.95fr; gap:3rem; padding:4rem 2rem 6rem; } .hero-content{ max-width:640px; } } /* Footer and advertisement */ .site-footer{ padding:1.75rem 1rem; text-align:center; color:#eaf4ff; font-size:.95rem; border-top:1px solid rgba(255,255,255,.15); background: rgba(0,0,0,.18); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); } .advert{ display:inline-block; margin-bottom:.5rem; } .advert a{ color:#ffd86b; font-weight:700; text-decoration:none; padding:.15rem .5rem; border-radius:4px; background: rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.25); } @media (prefers-color-scheme: dark){ .site-footer{ background: rgba(0,0,0,.25); } } @media (max-width:600px){ .brand{ display:none; } /* compact header on small screens */ .hero{ padding:1.5rem 1rem 3rem; } .hero-content{ padding:1.25rem; } .hero-content h1{ font-size: clamp(1.8rem, 4vw + 1rem, 2.8rem); } .cta{ width:100%; display:inline-block; text-align:center; }