.page { position: relative; overflow: hidden; } .shell { margin: 0 auto; width: min(1180px, calc(100% - 32px)); } .heroGrid { display: grid; gap: 24px; grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr); } .panel { border: 1px solid rgba(148, 163, 184, 0.16); background: linear-gradient(180deg, rgba(15, 23, 42, 0.88), rgba(2, 6, 23, 0.78)); box-shadow: 0 24px 80px rgba(2, 6, 23, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.06); backdrop-filter: blur(14px); } .heroCard { padding: 28px; border-radius: 28px; } .heroEyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; border-radius: 999px; border: 1px solid rgba(34, 211, 238, 0.24); background: rgba(8, 47, 73, 0.34); padding: 8px 14px; color: #a5f3fc; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; } .heroTitle { max-width: 11ch; font-size: clamp(46px, 8vw, 84px); line-height: 0.94; font-weight: 800; letter-spacing: -0.05em; } .heroLead { margin-top: 22px; max-width: 60ch; color: rgba(226, 232, 240, 0.84); font-size: 17px; line-height: 1.7; } .heroActions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; } .primaryButton, .secondaryButton { display: inline-flex; min-height: 48px; align-items: center; gap: 10px; border-radius: 14px; padding: 12px 18px; font-weight: 700; transition: transform 180ms ease, border-color 180ms ease, background 180ms ease; } .primaryButton:hover, .secondaryButton:hover { transform: translateY(-1px); } .primaryButton { background: linear-gradient(135deg, #22d3ee, #3b82f6); color: #020617; } .secondaryButton { border: 1px solid rgba(148, 163, 184, 0.22); background: rgba(15, 23, 42, 0.58); color: #e2e8f0; } .bulletGrid { display: grid; gap: 14px; margin-top: 28px; } .bulletItem { display: flex; gap: 12px; align-items: flex-start; } .bulletItem svg { margin-top: 3px; color: #67e8f9; flex: 0 0 auto; } .bulletItem strong { display: block; margin-bottom: 4px; font-size: 15px; } .bulletItem span { color: rgba(203, 213, 225, 0.76); font-size: 14px; line-height: 1.55; } .heroSide { display: grid; gap: 16px; } .signalCard { padding: 22px; border-radius: 24px; } .signalHeader { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; } .signalHeader h3 { font-size: 18px; font-weight: 700; } .signalHeader p { margin-top: 6px; color: rgba(191, 219, 254, 0.76); font-size: 13px; } .statusPill { border-radius: 999px; background: rgba(34, 197, 94, 0.14); color: #86efac; padding: 7px 12px; font-size: 12px; font-weight: 700; } .metricGrid { display: grid; gap: 12px; margin-top: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); } .metricCard { border-radius: 18px; border: 1px solid rgba(148, 163, 184, 0.12); background: rgba(15, 23, 42, 0.52); padding: 16px; } .metricCard label { display: block; color: rgba(148, 163, 184, 0.9); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; } .metricCard strong { display: block; margin-top: 8px; font-size: 28px; font-weight: 800; letter-spacing: -0.03em; } .metricCard span { display: block; margin-top: 6px; color: rgba(226, 232, 240, 0.74); font-size: 13px; line-height: 1.5; } .previewStrip { margin-top: 18px; display: grid; gap: 10px; } .previewRow { display: flex; justify-content: space-between; gap: 12px; align-items: center; border-radius: 14px; background: rgba(2, 6, 23, 0.42); padding: 12px 14px; color: #cbd5e1; font-size: 14px; } .previewRow strong { color: #f8fafc; } .section { margin-top: 64px; } .sectionHeader { display: flex; justify-content: space-between; gap: 18px; align-items: end; margin-bottom: 24px; } .sectionHeader h2 { font-size: clamp(28px, 4vw, 42px); line-height: 1.05; font-weight: 800; letter-spacing: -0.04em; } .sectionHeader p { max-width: 58ch; color: rgba(203, 213, 225, 0.72); line-height: 1.7; } .problemGrid, .featureGrid, .proofGrid, .pricingGrid, .ctaGrid { display: grid; gap: 18px; } .problemGrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .featureGrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .proofGrid, .pricingGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ctaGrid { grid-template-columns: 1.1fr 0.9fr; } .miniCard, .pricingCard, .ctaCard { border-radius: 24px; padding: 22px; } .miniCard h3, .pricingCard h3, .ctaCard h3 { font-size: 20px; font-weight: 700; } .miniCard p, .pricingCard p, .ctaCard p { margin-top: 10px; color: rgba(203, 213, 225, 0.74); line-height: 1.65; } .miniCard ul, .pricingCard ul { margin-top: 18px; display: grid; gap: 10px; color: rgba(241, 245, 249, 0.92); font-size: 14px; } .miniCard li, .pricingCard li { display: flex; gap: 10px; align-items: flex-start; } .miniCard li::before, .pricingCard li::before { content: ""; margin-top: 7px; width: 6px; height: 6px; border-radius: 999px; background: linear-gradient(135deg, #22d3ee, #60a5fa); flex: 0 0 auto; } .previewPanel { overflow: hidden; border-radius: 28px; padding: 0; } .previewTop { padding: 22px; border-bottom: 1px solid rgba(148, 163, 184, 0.12); } .previewTop h3 { font-size: 22px; font-weight: 700; } .previewTop p { margin-top: 10px; max-width: 56ch; color: rgba(203, 213, 225, 0.74); line-height: 1.65; } .previewBody { display: grid; gap: 14px; padding: 22px; grid-template-columns: 1.2fr 0.8fr; } .previewMap, .previewStack { border-radius: 22px; background: rgba(15, 23, 42, 0.56); } .previewMap { min-height: 320px; position: relative; overflow: hidden; } .previewMap::before, .previewMap::after { content: ""; position: absolute; inset: 0; } .previewMap::before { background: radial-gradient(circle at 20% 40%, rgba(34, 211, 238, 0.2), transparent 20%), radial-gradient(circle at 68% 30%, rgba(59, 130, 246, 0.22), transparent 20%), radial-gradient(circle at 76% 72%, rgba(14, 165, 233, 0.16), transparent 18%), linear-gradient(180deg, rgba(8, 47, 73, 0.24), rgba(2, 6, 23, 0.16)); } .previewMap::after { background-image: linear-gradient(rgba(148, 163, 184, 0.09) 1px, transparent 1px), linear-gradient(90deg, rgba(148, 163, 184, 0.09) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(180deg, rgba(255,255,255,1), rgba(255,255,255,0.2)); } .mapChip { position: absolute; display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.14); background: rgba(2, 6, 23, 0.78); padding: 8px 12px; color: #e2e8f0; font-size: 12px; font-weight: 700; box-shadow: 0 14px 32px rgba(2, 6, 23, 0.3); } .mapChip strong { color: #f8fafc; } .mapChip span { color: rgba(34, 211, 238, 0.92); } .previewStack { padding: 18px; display: grid; gap: 12px; } .stackCard { border-radius: 18px; border: 1px solid rgba(148, 163, 184, 0.1); background: rgba(2, 6, 23, 0.5); padding: 16px; } .stackCard h4 { font-size: 15px; font-weight: 700; } .stackCard p { margin-top: 8px; color: rgba(191, 219, 254, 0.72); font-size: 13px; line-height: 1.55; } .price { margin-top: 18px; display: flex; align-items: baseline; gap: 8px; } .price strong { font-size: 42px; line-height: 1; font-weight: 800; letter-spacing: -0.04em; } .price span { color: rgba(203, 213, 225, 0.78); font-size: 15px; } .pricingCardAccent { border-color: rgba(34, 211, 238, 0.2); box-shadow: 0 18px 44px rgba(8, 47, 73, 0.28); } .ctaCard { min-height: 100%; } .ctaActions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; } .footer { margin-top: 72px; padding: 28px 0 56px; color: rgba(148, 163, 184, 0.76); font-size: 13px; } .footerRow { display: flex; justify-content: space-between; gap: 18px; align-items: center; } .footerLinks { display: flex; gap: 18px; flex-wrap: wrap; } @media (max-width: 1080px) { .heroGrid, .previewBody, .ctaGrid { grid-template-columns: 1fr; } .featureGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .problemGrid, .proofGrid, .pricingGrid { grid-template-columns: 1fr; } } @media (max-width: 720px) { .shell { width: min(100% - 20px, 1180px); } .heroCard, .signalCard, .miniCard, .pricingCard, .ctaCard, .previewTop, .previewBody { padding: 18px; } .featureGrid { grid-template-columns: 1fr; } .metricGrid { grid-template-columns: 1fr; } .section { margin-top: 48px; } .footerRow, .sectionHeader { flex-direction: column; align-items: flex-start; } }