/* 753caa5a.css - maroon geometric shapes background with turquoise hacker theme Responsive mobile-first, frosted glass hero, accessible focus styles. */ /* Reset */ *, *::before, *::after { box-sizing: border-box; } /* Base */ html, body { height: 100%; } body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto; color: #0b1b2b; /* maroon base with turquoise geometric accents */ background-color: #4b0d0d; background-image: linear-gradient(45deg, rgba(0,0,0,.25) 25%, transparent 25%), linear-gradient(-45deg, rgba(0,0,0,.25) 25%, transparent 25%), linear-gradient(45deg, rgba(0,0,0,.15) 25%, transparent 25%), linear-gradient(-45deg, rgba(0,0,0,.15) 25%, transparent 25%); background-size: 40px 40px, 40px 40px, 60px 60px, 60px 60px; background-position: 0 0, 20px 20px, 0 0, 20px 20px; min-height: 100vh; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color-scheme: dark; text-rendering: optimizeLegibility; } /* Color tokens */ :root { --turq: #2ee0d0; --turq-dark: #0fb7aa; --glass: rgba(255, 255, 255, 0.92); --text: #0b1b2b; --shadow: rgba(0,0,0,.15); --focus: #fff; } /* Header */ .site-header { padding: 12px; text-align: center; } .brand { font-weight: 900; font-size: 1.05rem; color: var(--turq); text-shadow: 0 0 12px rgba(46, 224, 208, 0.6); } /* Main */ main { display: block; } /* Hero (mobile-first) */ .hero { width: min(1000px, 92%); margin: 22px auto; padding: 22px; border-radius: 14px; background: var(--glass); backdrop-filter: saturate(125%) blur(6px); -webkit-backdrop-filter: saturate(125%) blur(6px); border: 1px solid rgba(0,0,0,.08); box-shadow: 0 20px 40px rgba(0,0,0,.15); display: grid; grid-template-columns: 1fr; grid-gap: 12px; text-align: center; } /* Title */ .hero > h1 { margin: 0; font-size: 1.6rem; color: #0b1b2b; text-shadow: 0 0 8px rgba(46, 208, 204, 0.25); } /* Media */ .hero-media { width: 100%; display: flex; justify-content: center; } .hero-media img { width: 100%; max-width: 720px; height: auto; border-radius: 12px; border: 1px solid rgba(0,0,0,.08); box-shadow: 0 6px 18px rgba(0,0,0,.15); background: #fff; display: block; } /* Subhead and CTA */ .subhead { font-size: 1.05rem; color: #2b2b2b; margin: 0; } .cta { display: inline-block; margin: 6px auto 0; padding: 14px 28px; border-radius: 999px; font-weight: 800; color: #04152a; text-decoration: none; /* turquoise gradient CTA for high contrast on maroon */ background: linear-gradient(135deg, #ffffff 0%, #e0fbf7 60%, #7ff0e5 100%); border: 1px solid rgba(0,0,0,.08); box-shadow: 0 8px 22px rgba(0, 214, 210, 0.5); transition: transform .2s ease, box-shadow .2s ease; } .cta:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0, 214, 210, 0.65); } .cta:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; } /* Footer */ .site-footer { text-align: center; padding: 14px; } .footer-ad a { display: inline-block; font-size: 0.85rem; color: #04152a; padding: 6px 10px; border-radius: 6px; text-decoration: none; background: linear-gradient(135deg, #e6fff7 0%, #aef1ea 100%); } .gratitude { margin-top: 8px; color: #555; } /* Desktop layout: image to the right, text left */ @media (min-width: 860px) { .hero { grid-template-columns: 1.05fr 0.95fr; text-align: left; align-items: center; } .hero > h1 { font-size: 2rem; } .subhead { font-size: 1.08rem; } .cta { justify-self: start; } .hero-media { justify-self: center; } } @media (prefers-reduced-motion: reduce) { .cta { transition: none; } .hero { transition: none; } }