/* violet-circuit.css - violet circuit board background with brown accents, frosted glass, future cyberpunk vibe */ :root{ --violet: #6a1b9a; --violet-dark: #5a2a8a; --brown: #8b5a2b; --brown-dark: #6a4721; --glass: rgba(255,255,255,.14); --glass-border: rgba(255,255,255,.28); --text: #f6f6f6; --text-dim: rgba(246,246,246,.88); --focus: #ffd166; --shadow: 0 8px 22px rgba(0,0,0,.25); --cta: linear-gradient(135deg, #ffd166 0%, #f0c050 60%, #e6a900 100%); } * { box-sizing: border-box; } html, body { height: 100%; } body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: var(--text); background: linear-gradient(135deg, var(--violet) 0%, var(--violet-dark) 60%, var(--brown) 100%); min-height: 100vh; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: relative; } body::before { content: ""; position: fixed; inset: 0; pointer-events: none; background-image: radial-gradient(circle at 25% 25%, rgba(255,255,255,.08), transparent 40px), radial-gradient(circle at 75% 60%, rgba(0,0,0,.12), transparent 60px); mix-blend-mode: overlay; opacity: .8; z-index: 0; } #content, main { position: relative; z-index: 1; } header { padding: 1rem; } .brand { display: inline-block; padding: .5rem .8rem; border-radius: 8px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28); color: #fff; font-weight: 700; letter-spacing: .4px; box-shadow: var(--shadow); } main { width: 100%; } .hero-grid { display: grid; grid-template-columns: 1fr; grid-template-areas: "media" "title" "subhead" "cta"; justify-items: center; align-items: center; text-align: center; gap: 1.75rem; padding: 2rem 1rem 3rem; max-width: 1100px; margin: 0 auto; } .hero-media { grid-area: media; display: flex; justify-content: center; width: 100%; } .hero-media img { width: min(520px, 92%); height: auto; border-radius: 16px; box-shadow: 0 16px 40px rgba(0,0,0,.28); display: block; } .hero-grid > h1, .hero-grid > .subhead, .hero-grid > .cta { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28); border-radius: 12px; padding: 0.25rem 0.6rem; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: var(--text); } h1 { font-size: clamp(1.95rem, 4vw + 0.75rem, 3rem); line-height: 1.08; margin: 0; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.25); } .subhead { font-size: clamp(1rem, 2vw + .6rem, 1.25rem); color: var(--text-dim); } .cta { display: inline-block; padding: 0.9rem 1.6rem; font-weight: 800; color: #0b0f12; text-decoration: none; border-radius: 999px; background: var(--cta); border: 1px solid rgba(255,255,255,.65); box-shadow: 0 8px 20px rgba(0,0,0,.25); transition: transform .18s ease, box-shadow .18s ease; } .cta:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; } .cta:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(0,0,0,.32); } footer { padding: 1rem; text-align: center; color: #e9fbfb; } .footer-ad { display: inline-block; padding: .25rem .6rem; margin-bottom: .5rem; background: rgba(255,255,255,.08); border-radius: 8px; border: 1px solid rgba(255,255,255,.22); } .footer-ad a { color: #fff; font-weight: 700; text-decoration: none; } .footer-ad a:hover { text-decoration: underline; } @media (min-width: 760px) { .hero-grid { grid-template-columns: 1.05fr 0.95fr; grid-template-areas: "media title" "media subhead" "media CTA"; text-align: left; gap: 2rem; padding: 3rem 2rem; } .hero-media { justify-content: flex-end; padding-right: 1rem; } h1 { font-size: clamp(2.5rem, 1.2rem + 4vw, 4rem); } .subhead { font-size: 1.25rem; } .cta { align-self: center; justify-self: start; } } @media (min-width: 1100px) { .hero-media img { width: 580px; } } @media (max-width: 420px) { .hero-grid { padding: 1.75rem 0.75rem 2.25rem; } .cta { width: max-content; padding: 0.9rem 1.4rem; } }