/* Purple gradient background with frosted glass for a hacker vibe */ /* Mobile-first single stylesheet for the provided HTML structure */ :root{ --bg: #1b0a2b; --purple: #8a2be2; --purple-dark: #4b1f7a; --pink: #ff4d9e; --text: #ffffff; --glass: rgba(255,255,255,.12); --glass-border: rgba(255,255,255,.28); --cta-start: #9b5cff; --cta-end: #6a1bd6; --shadow: 0 8px 26px rgba(0,0,0,.28); --focus: #fff; } *, *::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, #2a0a3a 0%, #1b0a2b 60%, #2a0a3a 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(180,90,220,.15), transparent 40%), radial-gradient(circle at 80% 60%, rgba(0,255,180,.15), transparent 40%); filter: blur(60px); z-index: -1; pointer-events: none; } 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:#e8eaff; text-shadow:0 1px 2px rgba(0,0,0,.25); } /* Hero: mobile-first two-column feel on large 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,.45); } .hero-content{ background: rgba(255,255,255,.12); 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 var(--focus); outline-offset:2px; } /* Large screens: side-by-side grid with image 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 / advertisement */ .site-footer{ padding:1.75rem 1rem; text-align:center; color:#e8f2ff; font-size:.95rem; border-top:1px solid rgba(255,255,255,.15); background: rgba(0,0,0,.25); 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; }