@import url("https://fonts.googleapis.com/css2?family=Recursive:wght@300;400;600;700&family=Unbounded:wght@400;600;800&display=swap"); :root { color-scheme: light; --cream: #f7f2e8; --ink: #1b1b1f; --tangerine: #ff8a3d; --teal: #1d9aa3; --berry: #f25287; --sun: #ffd166; --sky: #c7f0ff; --shadow: rgba(12, 24, 38, 0.18); } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top left, #fff5d6 0%, #f7f2e8 45%, #e8f6f8 100%); color: var(--ink); font-family: "Recursive", "Segoe UI", sans-serif; position: relative; overflow-x: hidden; } body::before { content: ""; position: fixed; inset: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Crect width='140' height='140' fill='none'/%3E%3Ccircle cx='4' cy='4' r='1.2' fill='%23000000' opacity='0.08'/%3E%3Ccircle cx='74' cy='60' r='1.3' fill='%23000000' opacity='0.08'/%3E%3Ccircle cx='120' cy='96' r='1' fill='%23000000' opacity='0.06'/%3E%3C/svg%3E"); opacity: 0.25; mix-blend-mode: multiply; pointer-events: none; z-index: 0; } .page-home #root { position: relative; z-index: 1; } .home { display: flex; flex-direction: column; gap: 3rem; padding: 3.5rem 1.5rem 4rem; max-width: 1100px; margin: 0 auto; } .hero { display: grid; gap: 1.8rem; padding: 2.5rem; border-radius: 28px; background: linear-gradient(130deg, #fff4dd 10%, #fff 45%, #e0fbff 100%); box-shadow: 0 20px 50px var(--shadow); position: relative; overflow: hidden; } .hero::after { content: ""; position: absolute; right: -30px; top: -40px; width: 240px; height: 240px; background: conic-gradient(from 120deg, var(--tangerine), var(--berry), var(--sun)); border-radius: 50%; opacity: 0.2; } .hero__badge { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.9rem; border-radius: 999px; font-weight: 600; font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase; background: #fff; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08); width: fit-content; } .hero h1 { font-family: "Unbounded", "Trebuchet MS", sans-serif; font-size: clamp(2.4rem, 3vw + 1rem, 4rem); margin: 0; letter-spacing: -0.02em; } .hero p { margin: 0; font-size: 1.1rem; max-width: 36rem; line-height: 1.6; } .hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; } .btn { border: none; border-radius: 999px; padding: 0.9rem 1.7rem; font-weight: 600; font-size: 0.95rem; text-decoration: none; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; } .btn.primary { background: var(--tangerine); color: #fff; box-shadow: 0 16px 30px rgba(255, 138, 61, 0.35); } .btn.ghost { background: rgba(0, 0, 0, 0.08); color: var(--ink); } .btn:hover { transform: translateY(-2px); } .grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } .card { background: #fff; border-radius: 20px; padding: 1.6rem; box-shadow: 0 16px 40px rgba(14, 30, 40, 0.08); display: grid; gap: 0.6rem; } .card h3 { font-family: "Unbounded", sans-serif; margin: 0; font-size: 1.1rem; } .card p { margin: 0; color: rgba(20, 20, 20, 0.8); line-height: 1.5; } .section-title { font-family: "Unbounded", sans-serif; font-size: 1.5rem; margin: 0; } .map { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); align-items: center; } .map__panel { background: #111827; color: #fff; border-radius: 24px; padding: 2rem; position: relative; overflow: hidden; min-height: 220px; } .map__panel::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(29, 154, 163, 0.35), rgba(255, 138, 61, 0.35)); opacity: 0.7; } .map__panel-content { position: relative; display: grid; gap: 0.8rem; } .map__panel h2 { margin: 0; font-family: "Unbounded", sans-serif; } .map__panel span { font-size: 0.95rem; opacity: 0.8; } .map__legend { display: grid; gap: 0.8rem; } .legend-item { display: flex; align-items: center; gap: 0.7rem; font-weight: 600; } .legend-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 4px rgba(29, 154, 163, 0.2); } .legend-dot.orange { background: var(--tangerine); box-shadow: 0 0 0 4px rgba(255, 138, 61, 0.2); } .legend-dot.sun { background: var(--sun); box-shadow: 0 0 0 4px rgba(255, 209, 102, 0.25); } .footer { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; justify-content: space-between; padding: 2rem; border-radius: 24px; background: rgba(255, 255, 255, 0.8); box-shadow: 0 10px 25px rgba(12, 24, 38, 0.1); } .footer strong { font-family: "Unbounded", sans-serif; } @media (min-width: 960px) { .home { padding: 5rem 2.5rem 6rem; } .hero { grid-template-columns: 1.2fr 0.8fr; align-items: center; } } .reveal { opacity: 0; transform: translateY(24px); animation: rise 0.8s ease forwards; animation-delay: var(--delay, 0s); } @keyframes rise { to { opacity: 1; transform: translateY(0); } }