|
| 1 | +/* Shared Atlas Nexus homepage visual system — FR + EN */ |
| 2 | + /* ── Core ── */ |
| 3 | + .hero-title { font-size: clamp(3.2rem, 9vw, 7rem); font-weight: 900; letter-spacing: -0.055em; line-height: 1.05; overflow: visible; } |
| 4 | + .gradient-text { background: linear-gradient(135deg, #2563EB 0%, #059669 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } |
| 5 | + .glow-word { position: relative; display: inline-block; overflow: visible; padding: .035em .02em .13em .02em; margin: -.035em -.02em -.07em -.02em; background: linear-gradient(110deg, #0F172A 0%, #2563EB 32%, #7C3AED 56%, #059669 82%, #0F172A 100%); background-size: 240% 100%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation: agenticGlow 3.8s ease-in-out infinite; } |
| 6 | + @keyframes agenticGlow { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } |
| 7 | + .hero-orb { position: absolute; inset: auto 4% 8% auto; width: min(34vw, 360px); height: min(34vw, 360px); border-radius: 999px; background: radial-gradient(circle at 35% 35%, rgba(37,99,235,.22), rgba(5,150,105,.12) 38%, transparent 68%); filter: blur(2px); pointer-events: none; } |
| 8 | + .agentic-card { position: relative; overflow: hidden; border-color: rgba(37,99,235,.28)!important; box-shadow: 0 18px 60px -28px rgba(37,99,235,.55); } |
| 9 | + .agentic-card::before { content: ""; position: absolute; inset: -1px; background: radial-gradient(circle at 15% 0%, rgba(37,99,235,.13), transparent 38%), radial-gradient(circle at 95% 20%, rgba(5,150,105,.10), transparent 34%); pointer-events: none; } |
| 10 | + .agentic-card > * { position: relative; } |
| 11 | + .market-card { background: linear-gradient(145deg, #ffffff 0%, #f7fbff 52%, #eef8ff 100%); border-color: rgba(37,99,235,.22)!important; box-shadow: 0 18px 52px -34px rgba(37,99,235,.55); } |
| 12 | + .market-card:hover { box-shadow: 0 22px 70px -32px rgba(37,99,235,.65); } |
| 13 | + .section-title { font-size: clamp(1.8rem, 4.5vw, 3rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; } |
| 14 | + .card-hover { transition: all 250ms ease; } |
| 15 | + .glass-nav { background: rgba(255,255,255,.70); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid rgba(255,255,255,.30); box-shadow: 0 4px 30px rgba(0,0,0,.05); } |
| 16 | + .dark .glass-nav { background: rgba(15,23,42,.75); border-color: rgba(255,255,255,.08); box-shadow: 0 4px 30px rgba(0,0,0,.25); } |
| 17 | + .glass-nav-btn { background: rgba(255,255,255,.50); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.20); } |
| 18 | + .dark .glass-nav-btn { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.06); } |
| 19 | + .nav-fixed-center { position: fixed; top: 1rem; left: 50%; transform: translateX(-50%); z-index: 50; width: calc(100% - 2rem); max-width: 72rem; padding-left: 1rem; padding-right: 1rem; } |
| 20 | + .lang-switch { position: relative; display:inline-grid; grid-template-columns:1fr 1fr; align-items:center; min-width:92px; height:38px; padding:4px; border:1px solid rgba(37,99,235,.18); border-radius:999px; background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(241,245,253,.84)); color:#64748B; font-size:.76rem; font-weight:900; box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 12px 26px -20px rgba(37,99,235,.55); } |
| 21 | + .lang-switch::before { content:""; position:absolute; top:4px; bottom:4px; width:calc(50% - 4px); border-radius:999px; background:linear-gradient(135deg,#2563EB,#059669); box-shadow:0 10px 22px -12px rgba(37,99,235,.75); transition:transform 220ms ease; } |
| 22 | + .lang-switch[data-active="fr"]::before { transform:translateX(0); left:4px; } |
| 23 | + .lang-switch[data-active="en"]::before { transform:translateX(100%); left:4px; } |
| 24 | + .lang-switch a { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; height:30px; border-radius:999px; color:#64748B; letter-spacing:.03em; } |
| 25 | + .lang-switch a.active { color:white; } |
| 26 | + .lang-switch:hover { border-color:rgba(37,99,235,.34); box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 16px 34px -22px rgba(37,99,235,.72); } |
| 27 | + .card-hover:hover { transform: translateY(-4px); box-shadow: 0 12px 32px -6px rgba(37,99,235,0.1); border-color: #2563EB; } |
| 28 | + a, button, .card-hover { transition: all 200ms ease; } |
| 29 | + *:focus-visible { outline: 2px solid #2563EB; outline-offset: 2px; border-radius: 4px; } |
| 30 | + |
| 31 | + /* ── Section title accent underline ── */ |
| 32 | + .section-title { position: relative; padding-bottom: 0.5rem; } |
| 33 | + .section-title::after { content: ""; position: absolute; bottom: 0; left: 0; width: 3rem; height: 3px; border-radius: 2px; background: linear-gradient(90deg, #2563EB, #059669); } |
| 34 | + .dark .section-title::after { background: linear-gradient(90deg, #60A5FA, #34D399); } |
| 35 | + |
| 36 | + /* ── Small card dark mode ── */ |
| 37 | + .dark a.border.border-border.rounded-xl { border-color: #334155; } |
| 38 | + .dark a.border.border-border.rounded-xl:hover { border-color: #3B82F6; } |
| 39 | + |
| 40 | + .step-number { font-size: clamp(2.4rem, 5vw, 3.5rem); font-weight: 900; background: linear-gradient(135deg, #7C3AED 0%, #A855F7 50%, #6366F1 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } |
| 41 | + |
| 42 | + /* ── Step counter animation ── */ |
| 43 | + .step-number.animate { animation: countPulse 0.6s cubic-bezier(0.22, 1, 0.36, 1); } |
| 44 | + @keyframes countPulse { 0% { transform: scale(0.6); opacity: 0; } 60% { transform: scale(1.15); } 100% { transform: scale(1); opacity: 1; } } |
| 45 | + .step-number.final { animation: none; transform: scale(1); opacity: 1; } |
| 46 | + |
| 47 | + /* ── Scroll Reveal Animations ── */ |
| 48 | + .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.6s cubic-bezier(0.22, 1, 0.36, 1); } |
| 49 | + .reveal.visible { opacity: 1; transform: translateY(0); } |
| 50 | + .reveal-delay-1 { transition-delay: 0.05s; } |
| 51 | + .reveal-delay-2 { transition-delay: 0.12s; } |
| 52 | + .reveal-delay-3 { transition-delay: 0.19s; } |
| 53 | + .reveal-delay-4 { transition-delay: 0.26s; } |
| 54 | + .reveal-delay-5 { transition-delay: 0.33s; } |
| 55 | + |
| 56 | + /* ── Hero stagger children ── */ |
| 57 | + .hero-stagger > * { opacity: 0; transform: translateY(30px); animation: heroFadeIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards; } |
| 58 | + .hero-stagger > *:nth-child(1) { animation-delay: 0.1s; } |
| 59 | + .hero-stagger > *:nth-child(2) { animation-delay: 0.25s; } |
| 60 | + .hero-stagger > *:nth-child(3) { animation-delay: 0.40s; } |
| 61 | + .hero-stagger > *:nth-child(4) { animation-delay: 0.55s; } |
| 62 | + .hero-stagger > *:nth-child(5) { animation-delay: 0.70s; } |
| 63 | + @keyframes heroFadeIn { to { opacity: 1; transform: translateY(0); } } |
| 64 | + |
| 65 | + /* ── Motion accent card ── */ |
| 66 | + .motion-card { position: relative; overflow: hidden; border-color: rgba(124,58,237,.28)!important; box-shadow: 0 18px 60px -28px rgba(124,58,237,.35); background: linear-gradient(145deg, #ffffff 0%, #faf5ff 52%, #f3e8ff 100%); } |
| 67 | + .motion-card::before { content: ""; position: absolute; inset: -1px; background: radial-gradient(circle at 15% 0%, rgba(124,58,237,.10), transparent 38%), radial-gradient(circle at 95% 20%, rgba(59,130,246,.08), transparent 34%); pointer-events: none; } |
| 68 | + .motion-card > * { position: relative; } |
| 69 | + .motion-card:hover { box-shadow: 0 22px 70px -32px rgba(124,58,237,.45); transform: translateY(-4px); } |
| 70 | + |
| 71 | + /* ATLAS_CARD_THEME_SWITCH_20260517: Framer purple, Agentic Identity blue */ |
| 72 | + .framer-purple-card { position: relative; overflow: hidden; border-color: rgba(124,58,237,.24)!important; box-shadow: 0 18px 52px -34px rgba(124,58,237,.58); background: linear-gradient(145deg, #ffffff 0%, #fbf7ff 52%, #f5efff 100%); } |
| 73 | + .framer-purple-card::before { content: ""; position: absolute; inset: -1px; pointer-events: none; background: radial-gradient(circle at 15% 0%, rgba(124,58,237,.13), transparent 38%), radial-gradient(circle at 95% 20%, rgba(168,85,247,.10), transparent 34%); } |
| 74 | + .framer-purple-card:hover { box-shadow: 0 22px 70px -32px rgba(124,58,237,.68); border-color: rgba(124,58,237,.40)!important; } |
| 75 | + .framer-purple-card > * { position: relative; } |
| 76 | + .framer-purple-card .framer-icon-bg { background: rgba(124,58,237,.10)!important; } |
| 77 | + .framer-purple-card .framer-accent { color: #7c3aed!important; } |
| 78 | + .framer-purple-card .framer-chip { background: rgba(124,58,237,.08)!important; color: #6d28d9!important; } |
| 79 | + .dark .framer-purple-card { background: linear-gradient(145deg, #111827 0%, #1a1530 52%, #241442 100%); border-color: rgba(167,139,250,.28)!important; box-shadow: 0 18px 52px -34px rgba(0,0,0,.6); } |
| 80 | + .dark .framer-purple-card::before { content: ""; position: absolute; inset: -1px; pointer-events: none; background: radial-gradient(circle at 15% 0%, rgba(167,139,250,.17), transparent 38%), radial-gradient(circle at 95% 20%, rgba(124,58,237,.14), transparent 34%); } |
| 81 | + .dark .framer-purple-card > * { position: relative; } |
| 82 | + .dark .framer-purple-card .framer-icon-bg { background: rgba(124,58,237,.20)!important; } |
| 83 | + .dark .framer-purple-card .framer-accent { color: #C4B5FD!important; } |
| 84 | + .dark .framer-purple-card .framer-chip { background: rgba(124,58,237,.18)!important; color: #DDD6FE!important; } |
| 85 | + |
| 86 | + .agentic-blue-card { position: relative; overflow: hidden; border-color: rgba(37,99,235,.22)!important; box-shadow: 0 18px 52px -34px rgba(37,99,235,.55); background: linear-gradient(145deg, #ffffff 0%, #f7fbff 52%, #eef8ff 100%); } |
| 87 | + .agentic-blue-card::before { content: ""; position: absolute; inset: -1px; pointer-events: none; background: radial-gradient(circle at 15% 0%, rgba(37,99,235,.12), transparent 38%), radial-gradient(circle at 95% 20%, rgba(14,165,233,.10), transparent 34%); } |
| 88 | + .agentic-blue-card:hover { box-shadow: 0 22px 70px -32px rgba(37,99,235,.65); border-color: rgba(37,99,235,.36)!important; } |
| 89 | + .agentic-blue-card > * { position: relative; } |
| 90 | + .agentic-blue-card .agentic-icon-bg { background: rgba(37,99,235,.10)!important; } |
| 91 | + .agentic-blue-card .agentic-accent { color: #2563eb!important; } |
| 92 | + .agentic-blue-card .agentic-chip { background: rgba(37,99,235,.07)!important; color: #1d4ed8!important; } |
| 93 | + .dark .agentic-blue-card { background: linear-gradient(145deg, #111827 0%, #111d30 52%, #0e1f2d 100%); border-color: rgba(59,130,246,.25)!important; box-shadow: 0 18px 52px -34px rgba(0,0,0,.6); } |
| 94 | + .dark .agentic-blue-card::before { content: ""; position: absolute; inset: -1px; pointer-events: none; background: radial-gradient(circle at 15% 0%, rgba(59,130,246,.15), transparent 38%), radial-gradient(circle at 95% 20%, rgba(14,165,233,.12), transparent 34%); } |
| 95 | + .dark .agentic-blue-card > * { position: relative; } |
| 96 | + .dark .agentic-blue-card .agentic-icon-bg { background: rgba(59,130,246,.16)!important; } |
| 97 | + .dark .agentic-blue-card .agentic-accent { color: #93C5FD!important; } |
| 98 | + .dark .agentic-blue-card .agentic-chip { background: rgba(59,130,246,.14)!important; color: #BFDBFE!important; } |
| 99 | + |
| 100 | + .offer-card { display:flex; flex-direction:column; } |
| 101 | + .offer-card .offer-spacer { flex:1 1 auto; } |
| 102 | + .offer-card .offer-price { margin-top:auto; line-height:1.15; } |
| 103 | + .offer-card .offer-quote { display:block; margin-top:.35rem; line-height:1.25; } |
| 104 | + @media (max-width: 639px) { |
| 105 | + .offer-card { padding: 1.25rem !important; } |
| 106 | + .offer-card h3 { font-size: 1.25rem; } |
| 107 | + } |
| 108 | + |
| 109 | + /* ── Accessibility ── */ |
| 110 | + @media (prefers-reduced-motion: reduce) { |
| 111 | + *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } |
| 112 | + .reveal { opacity: 1; transform: none; } |
| 113 | + .hero-stagger > * { opacity: 1; transform: none; animation: none; } |
| 114 | + } |
| 115 | + |
| 116 | + /* ── Dark mode overrides ── */ |
| 117 | + .dark .bg-white, .dark .bg-surface { background-color: #0B1120; } |
| 118 | + .dark .text-slate-600 { color: #CBD5E1; } |
| 119 | + .dark .text-slate-500 { color: #94A3B8; } |
| 120 | + .dark .text-slate-400 { color: #64748B; } |
| 121 | + .dark .border-border { border-color: #1E293B; } |
| 122 | + .dark a.hover\:text-primary:hover, .dark .hover\:text-primary:hover { color: #60A5FA; } |
| 123 | + .dark a.hover\:text-primary-dark:hover { color: #93C5FD; } |
| 124 | + .dark .hero-orb { background: radial-gradient(circle at 35% 35%, rgba(59,130,246,.28), rgba(5,150,105,.15) 45%, transparent 72%); } |
| 125 | + .dark .glow-word { background: linear-gradient(110deg, #60A5FA 0%, #818CF8 28%, #C084FC 52%, #34D399 78%, #60A5FA 100%); background-size: 240% 100%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; animation-name: agenticGlowDark; } |
| 126 | + @keyframes agenticGlowDark { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } } |
| 127 | + .dark .gradient-text { background: linear-gradient(135deg, #60A5FA 0%, #34D399 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } |
| 128 | + .dark .market-card { background: linear-gradient(145deg, #111827 0%, #111d30 52%, #0e1f2d 100%); border-color: rgba(59,130,246,.25)!important; box-shadow: 0 18px 52px -34px rgba(0,0,0,.6); } |
| 129 | + .dark .market-card:hover { box-shadow: 0 22px 70px -32px rgba(59,130,246,.25); } |
| 130 | + .dark .agentic-card { border-color: rgba(59,130,246,.3)!important; box-shadow: 0 18px 60px -28px rgba(59,130,246,.35); } |
| 131 | + .dark .agentic-card::before { background: radial-gradient(circle at 15% 0%, rgba(59,130,246,.15), transparent 38%), radial-gradient(circle at 95% 20%, rgba(5,150,105,.12), transparent 34%); } |
| 132 | + .dark .motion-card { background: linear-gradient(145deg, #111827 0%, #1a1428 52%, #1a1228 100%); border-color: rgba(124,58,237,.3)!important; box-shadow: 0 18px 60px -28px rgba(124,58,237,.25); } |
| 133 | + .dark .motion-card::before { background: radial-gradient(circle at 15% 0%, rgba(124,58,237,.12), transparent 38%), radial-gradient(circle at 95% 20%, rgba(59,130,246,.1), transparent 34%); } |
| 134 | + .dark .motion-card:hover { box-shadow: 0 22px 70px -32px rgba(124,58,237,.35); } |
| 135 | + .dark .card-hover:hover { box-shadow: 0 12px 32px -6px rgba(0,0,0,.4); } |
| 136 | + .dark .card-hover.hover\:border-primary:hover { border-color: #3B82F6; } |
| 137 | + .dark .card-hover.hover\:border-purple-500:hover { border-color: #8B5CF6; } |
| 138 | + .dark .bg-green-100 { background-color: #064E3B; } |
| 139 | + .dark .text-green-600 { color: #34D399; } |
| 140 | + .dark .bg-green-50 { background-color: #064E3B; } |
| 141 | + .dark .bg-purple-100 { background-color: #3B1F6E; } |
| 142 | + .dark .bg-purple-50 { background-color: #3B1F6E; } |
| 143 | + .dark .bg-accent\/10 { background-color: rgba(5,150,105,.15); } |
| 144 | + .dark .bg-accent\/5 { background-color: rgba(5,150,105,.1); } |
| 145 | + .dark .step-number { background: linear-gradient(135deg, #8B5CF6 0%, #A78BFA 50%, #818CF8 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } |
| 146 | + .dark .text-foreground, .dark strong.text-foreground { color: #F1F5F9; } |
| 147 | + .dark .border-purple-200 { border-color: #4C1D95; } |
| 148 | + .dark .text-purple-700 { color: #C4B5FD; } |
| 149 | + .dark .text-purple-600 { color: #A78BFA; } |
| 150 | + .dark .hover\:text-purple-700:hover { color: #C4B5FD; } |
| 151 | + .dark .hover\:text-purple-800:hover { color: #DDD6FE; } |
| 152 | + .dark .bg-foreground { background-color: #1A2235; } |
| 153 | + .dark .hover\:border-primary:hover { border-color: #3B82F6; } |
| 154 | + .dark .hover\:text-primary:hover { color: #3B82F6; } |
| 155 | + |
| 156 | + /* ── Dark mode buttons ── */ |
| 157 | + .dark .bg-primary { box-shadow: 0 0 18px -4px rgba(37,99,235,.45); } |
| 158 | + .dark .bg-primary:hover { box-shadow: 0 0 28px -4px rgba(37,99,235,.65); } |
| 159 | + .dark .bg-purple-600 { box-shadow: 0 0 18px -4px rgba(124,58,237,.4); } |
| 160 | + .dark .bg-purple-600:hover { box-shadow: 0 0 28px -4px rgba(124,58,237,.6); } |
| 161 | + .dark .border.border-border { border-color: #334155; } |
| 162 | + .dark a.border.border-border:hover { border-color: #3B82F6; } |
| 163 | + .dark a.border.border-border.hover\:text-primary:hover { color: #3B82F6; } |
| 164 | + .dark a.border.border-border.hover\:border-purple-500:hover { border-color: #8B5CF6; color: #A78BFA; } |
0 commit comments