@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@500;700&family=Newsreader:opsz,wght@6..72,400;600&display=swap'); :root { --bg: #0b0c10; --fg: #f6f1e6; --muted: #a7acba; --accent: #ff6b4a; --accent-2: #6b9bff; --card: rgba(255, 255, 255, 0.03); --stroke: rgba(255, 255, 255, 0.12); --radius: 18px; --shadow: 0 18px 44px rgba(0, 0, 0, 0.35); --ease: cubic-bezier(0.22, 1, 0.36, 1); } *, *::before, *::after { box-sizing: border-box; } body { margin: 0; font-family: 'Newsreader', 'Times New Roman', serif; color: var(--fg); background: var(--bg); min-height: 100vh; line-height: 1.7; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; background-image: radial-gradient(1200px at 15% 20%, rgba(107, 155, 255, 0.25), transparent 50%), radial-gradient(1400px at 80% 0%, rgba(255, 107, 74, 0.2), transparent 50%), linear-gradient(135deg, rgba(255, 255, 255, 0.03), transparent); } .grain { position: fixed; inset: 0; pointer-events: none; background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.04), transparent 35%), repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.02) 1px, transparent 1px, transparent 3px); mix-blend-mode: soft-light; opacity: 0.7; z-index: 1; } a { color: inherit; text-decoration: none; } .skip-link { position: absolute; left: -999px; top: 0; padding: 12px 16px; background: var(--accent); color: #0b0c10; border-radius: 8px; font-weight: 700; z-index: 999; } .skip-link:focus { left: 16px; top: 16px; } .top-bar { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; padding: 18px 36px; backdrop-filter: blur(10px); background: rgba(11, 12, 16, 0.75); border-bottom: 1px solid var(--stroke); } .logo { font-family: 'Bricolage Grotesque', 'Arial Black', sans-serif; font-weight: 700; letter-spacing: -0.02em; } nav { display: flex; gap: 18px; font-size: 0.95rem; } nav a { padding: 8px 12px; border-radius: 999px; border: 1px solid transparent; transition: border-color 220ms var(--ease), color 220ms var(--ease); } nav a:hover, nav a:focus-visible { border-color: var(--stroke); color: var(--accent); } button { font-family: 'Bricolage Grotesque', sans-serif; font-weight: 700; border: none; cursor: pointer; } .cta { padding: 12px 18px; border-radius: 999px; background: linear-gradient(120deg, var(--accent), var(--accent-2)); color: #0b0c10; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25); transition: transform 200ms var(--ease), box-shadow 200ms var(--ease); } .cta:hover { transform: translateY(-3px); box-shadow: 0 16px 44px rgba(0, 0, 0, 0.35); } .hero { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 32px; padding: 96px 36px 48px; position: relative; } .hero-copy h1 { font-family: 'Bricolage Grotesque', sans-serif; font-size: clamp(2.4rem, 5vw, 3.6rem); line-height: 1.1; letter-spacing: -0.03em; margin: 12px 0; } .hero .lede { max-width: 56ch; color: var(--muted); font-size: 1.05rem; } .eyebrow { text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.78rem; color: var(--accent); margin: 0 0 8px; } .actions { display: flex; gap: 12px; margin: 24px 0 18px; } .ghost { padding: 12px 16px; border-radius: 999px; background: transparent; border: 1.5px solid var(--stroke); color: var(--fg); transition: border-color 220ms var(--ease), color 220ms var(--ease), transform 220ms var(--ease); } .ghost:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-2px); } .stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-top: 20px; color: var(--muted); font-size: 0.95rem; } .stats span { display: block; font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.5rem; color: var(--fg); } .hero-card { background: var(--card); border: 1px solid var(--stroke); border-radius: 22px; padding: 24px; box-shadow: var(--shadow); position: relative; overflow: hidden; } .hero-card::after { content: ''; position: absolute; inset: -30%; background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.04), transparent 45%); transform: rotate(8deg); opacity: 0.8; } .hero-card .tag { display: inline-block; padding: 8px 12px; border-radius: 999px; background: rgba(255, 255, 255, 0.07); color: var(--accent); font-size: 0.85rem; position: relative; z-index: 2; } .hero-card .card-body { position: relative; z-index: 2; } .hero-card h2 { font-family: 'Bricolage Grotesque', sans-serif; margin: 12px 0 8px; } .hero-card p { color: var(--muted); margin-bottom: 12px; } .pill { display: inline-block; padding: 8px 12px; border-radius: 999px; background: rgba(255, 255, 255, 0.05); border: 1px solid var(--stroke); margin: 4px 6px 4px 0; font-size: 0.85rem; } .line { margin: 16px 0; height: 1px; background: linear-gradient(90deg, transparent, var(--accent), transparent); } .meta { display: flex; justify-content: space-between; color: var(--muted); font-size: 0.9rem; } .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; padding: 48px 36px; } .panel { border: 1px solid var(--stroke); border-radius: var(--radius); padding: 22px; background: rgba(255, 255, 255, 0.02); box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22); } .panel h3 { margin: 6px 0 10px; font-family: 'Bricolage Grotesque', sans-serif; } .panel p { color: var(--muted); } .timeline { padding: 24px 36px 80px; border-top: 1px solid var(--stroke); } .timeline-head h3 { font-family: 'Bricolage Grotesque', sans-serif; margin: 8px 0 16px; } .timeline-rail { position: relative; height: 3px; background: var(--stroke); border-radius: 999px; margin: 24px 0 32px; } .timeline-rail .dot { position: absolute; top: -6px; width: 15px; height: 15px; background: var(--accent); border-radius: 50%; box-shadow: 0 0 0 6px rgba(255, 107, 74, 0.15); } .timeline-rail .dot:nth-child(1) { left: 8%; } .timeline-rail .dot:nth-child(2) { left: 50%; } .timeline-rail .dot:nth-child(3) { left: 88%; } .timeline-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; } .timeline-card { border: 1px solid var(--stroke); border-radius: var(--radius); padding: 18px; background: rgba(255, 255, 255, 0.02); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2); } .timeline-card .label { font-size: 0.9rem; letter-spacing: 0.12em; color: var(--accent); text-transform: uppercase; margin-bottom: 6px; } .timeline-card h4 { margin: 4px 0 8px; font-family: 'Bricolage Grotesque', sans-serif; } .timeline-card p { color: var(--muted); } .footer { border-top: 1px solid var(--stroke); padding: 28px 36px 48px; position: relative; overflow: hidden; } .marquee { display: grid; grid-auto-flow: column; gap: 16px; font-family: 'Bricolage Grotesque', sans-serif; text-transform: uppercase; letter-spacing: 0.14em; color: var(--muted); animation: scroll 18s linear infinite; } @keyframes scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } } .footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 24px; } .footer-grid a { display: block; color: var(--fg); text-decoration: underline; margin-bottom: 4px; } .reveal { opacity: 0; transform: translateY(22px); transition: transform 320ms var(--ease), opacity 320ms var(--ease); } .reveal.visible { opacity: 1; transform: translateY(0); } @media (max-width: 960px) { .hero { grid-template-columns: 1fr; padding-top: 72px; } .top-bar { position: sticky; } nav { display: none; } .actions { flex-direction: column; align-items: flex-start; } } @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }