From cfe112ac43513ddf92955e43ed444dce351f96c5 Mon Sep 17 00:00:00 2001 From: Michael Chihlas Date: Thu, 12 Mar 2026 17:28:49 -0400 Subject: [PATCH] docs: add landing page assets and polish landing CSS Add landing page .docx export, HTML mockup, docx generator script, and refine landing page CSS formatting/spacing. Co-Authored-By: Claude Opus 4.6 --- docs/ResolutionFlow-Landing-Page.docx | Bin 0 -> 39184 bytes .../ResolutionFlow_Script_Generator_Plan.docx | Bin 0 -> 27816 bytes docs/generate_landing_docx.py | 228 +++ docs/resolutionflow-landing-page-mockup.html | 1639 +++++++++++++++++ frontend/src/styles/landing.css | 538 ++++-- 5 files changed, 2290 insertions(+), 115 deletions(-) create mode 100644 docs/ResolutionFlow-Landing-Page.docx create mode 100644 docs/ResolutionFlow_Script_Generator_Plan.docx create mode 100644 docs/generate_landing_docx.py create mode 100644 docs/resolutionflow-landing-page-mockup.html diff --git a/docs/ResolutionFlow-Landing-Page.docx b/docs/ResolutionFlow-Landing-Page.docx new file mode 100644 index 0000000000000000000000000000000000000000..abb4dc6e29320d54cee5935ab62b74c6d19789b0 GIT binary patch literal 39184 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 F{{dJSMGpV~ literal 0 HcmV?d00001 diff --git a/docs/ResolutionFlow_Script_Generator_Plan.docx b/docs/ResolutionFlow_Script_Generator_Plan.docx new file mode 100644 index 0000000000000000000000000000000000000000..16c24dabe79e840e976bb9a5f1615c2349484845 GIT binary patch literal 27816 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 g+1i-=#>sC~{$d5 + + + + +ResolutionFlow β€” From Issue to Resolution, Documented + + + + + + +
+
+ +
+ + + + + +
+
Now in Beta β€” Join early access
+

+ Stop writing ticket notes.
+ Start generating them. +

+

+ AI-guided decision trees that walk your engineers through troubleshooting β€” and automatically document every step, ready for your PSA ticket. +

+ +
+ + + + + +
+
+
+
+
+ ResolutionFlow + βœ• +
+
+
+ πŸ”’ + app.resolutionflow.com/editor +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ Flow Editor +
+
+
+ Session Runner +
+
+
+ Tree Library +
+
+
+ Session History +
+
+
+ Team Analytics +
+
+
+
+
Outlook Not Syncing
+
+
+
+
Yes
+
+
Check profile config
+
+
+
No
+
+
Verify credentials
+
+
+
+
+
+
+
+ +
+
+ + +
+
+ +
Documentation is broken.
Everyone knows it.
+
+ Engineers don't want to write it. Managers hate chasing it. Clients never see it. The same issues get solved from scratch every time. +
+
+
+
⏱
+

15–25 min lost per ticket

+

Engineers spend more time documenting what they did than actually doing it. After a complex issue, writing notes is the last thing anyone wants to do.

+
+
+
πŸ“‹
+

Vague, useless notes

+

"Fixed Outlook" tells you nothing. Documentation written under pressure tends toward generalities that help nobody the second time around.

+
+
+
πŸ”„
+

Knowledge walks out the door

+

When a senior engineer leaves, years of tribal knowledge disappear overnight. New hires spend months building up what was never captured.

+
+
+
🧠
+

Context switching kills speed

+

Jumping between the issue, documentation tools, PSA tickets, and knowledge bases fragments focus and slows resolution.

+
+
+
+
+ +
+ + +
+ +
+ Resolution + + + Documentation + βˆ’ + Time + = + ResolutionFlow +
+

+ What if documentation was a byproduct of solving the issue β€” not a separate task? What if your engineers never had to write another ticket note? +

+
+ +
+ + +
+
+ +
Three steps. Zero note-writing.
+
+ Build once, run forever. Every session generates documentation automatically. +
+
+ +
+

Build a Flow

+

Use the visual Flow Editor to create branching decision trees for any troubleshooting scenario. Drag, connect, and enrich steps with commands, notes, and AI suggestions.

+
+
+
β–Ά Start
+
β†’
+
Check DNS
+
β†’
+
Yes / No?
+
β†’
+
βœ“ Resolved
+
+
+
+ +
+

Run a Session

+

An engineer launches the flow on a live ticket. FlowPilot β€” your AI copilot β€” acts as a virtual senior engineer, guiding decisions and capturing every action in real time.

+
+
+
+ FlowPilot: + Is the user on VPN? +
+
+ Engineer: + Yes, Cisco AnyConnect +
+
+ FlowPilot: + Check split tunnel config β†’ +
+
+ Auto-doc: + Step captured βœ“ +
+
+
+
+ +
+

Export to Ticket

+

When the session ends, full documentation is generated β€” formatted for your PSA. Paste it directly into ConnectWise, Atera, or Syncro. Done.

+
+
+
ConnectWise Ticket #48291
+
+ 10:04 + βœ“ + Verified VPN connection active +
+
+ 10:06 + βœ“ + Split tunnel misconfigured β€” fixed +
+
+ 10:08 + βœ“ + Confirmed Outlook sync restored +
+
+ 10:09 + βœ“ + Resolution: VPN split tunnel updated +
+
+
+
+ +
+
+
+ +
+ + +
+
+ +
Everything your team needs to
resolve faster and document better.
+ +
+ +
+
+ +
+

FlowPilot β€” Your AI Copilot

+

Like having a senior engineer on every call. FlowPilot suggests next steps, provides context-aware guidance, and automatically captures documentation as a byproduct of the troubleshooting session. It doesn't replace your team β€” it makes every engineer your best engineer.

+
+ +
+
+ +
+

Visual Flow Editor

+

Build branching decision trees with a drag-and-drop canvas. Add steps, conditions, commands, and notes β€” no code required.

+
+ +
+
+ +
+

Auto-Documentation

+

Every session generates timestamped, detailed notes β€” formatted for your PSA. Engineers never write another ticket note.

+
+ +
+
+ +
+

Team Knowledge Sharing

+

Share flows across your team. When one engineer solves a new problem, the whole team benefits from that path β€” instantly.

+
+ +
+
+ +
+

Session History & Analytics

+

Track which flows are used most, identify bottlenecks, and see how your team resolves issues over time.

+
+ +
+
+ +
+

PSA Integration

+

Connect directly to ConnectWise, Atera, and Syncro. Export session docs straight to tickets β€” no copy-paste needed.

+
+ +
+
+
+ +
+ + +
+
+ +
Simple pricing. No surprises.
+
Start free. Upgrade when your team is ready.
+ +
+ +
+
Free
+
For individual techs evaluating
+
+ $0 +
+
Free forever
+
    +
  • 3 decision trees
  • +
  • 20 sessions per month
  • +
  • Auto-documentation export
  • +
  • Session history (30 days)
  • +
  • Community support
  • +
+ Get Started +
+ + + +
+
Team
+
For growing MSPs with 5–25 techs
+
+ $25 + /user/mo +
+
Billed monthly or annually
+
    +
  • Everything in Pro
  • +
  • PSA integration (ConnectWise, Atera, Syncro)
  • +
  • Team analytics dashboard
  • +
  • Session sharing & collaboration
  • +
  • Client context system
  • +
  • Role-based permissions
  • +
  • Dedicated support
  • +
+ Start Free Trial +
+ +
+ +

+ Need Enterprise (25+ techs, SSO, custom branding)? Contact us +

+
+
+ +
+ + +
+
+ We used to spend more time writing ticket notes than solving the actual issue. Now it just… happens. The documentation writes itself while we work. +
+
+ Beta Tester β€” MSP Engineer, Southeast US +
+
+ +
+ + +
+

Ready to stop writing ticket notes?

+

Join the beta and see what happens when documentation becomes automatic.

+
+ + Join Beta +
+

Free to start. No credit card required.

+
+ + +
+ +
+ +
+ + + + \ No newline at end of file diff --git a/frontend/src/styles/landing.css b/frontend/src/styles/landing.css index 73509b18..5abbc252 100644 --- a/frontend/src/styles/landing.css +++ b/frontend/src/styles/landing.css @@ -22,6 +22,7 @@ z-index: 0; overflow: hidden; } + .landing-ambient-glow::before { content: ''; position: absolute; @@ -30,9 +31,10 @@ transform: translateX(-50%); width: 900px; height: 900px; - background: radial-gradient(circle, rgba(6,182,212,0.06) 0%, transparent 70%); + background: radial-gradient(circle, rgba(6, 182, 212, 0.06) 0%, transparent 70%); animation: landingAmbientPulse 12s ease-in-out infinite; } + .landing-ambient-glow::after { content: ''; position: absolute; @@ -40,12 +42,22 @@ right: -10%; width: 600px; height: 600px; - background: radial-gradient(circle, rgba(34,211,238,0.04) 0%, transparent 70%); + background: radial-gradient(circle, rgba(34, 211, 238, 0.04) 0%, transparent 70%); animation: landingAmbientPulse 16s ease-in-out infinite reverse; } + @keyframes landingAmbientPulse { - 0%, 100% { opacity: 0.6; transform: translateX(-50%) scale(1); } - 50% { opacity: 1; transform: translateX(-50%) scale(1.15); } + + 0%, + 100% { + opacity: 0.6; + transform: translateX(-50%) scale(1); + } + + 50% { + opacity: 1; + transform: translateX(-50%) scale(1.15); + } } /* ---- GRID PATTERN ---- */ @@ -55,13 +67,16 @@ pointer-events: none; z-index: 0; background-image: - linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px), - linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px); + linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px), + linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(ellipse at 50% 30%, black 20%, transparent 70%); } -.landing-page-content { position: relative; z-index: 1; } +.landing-page-content { + position: relative; + z-index: 1; +} /* ---- NAVIGATION ---- */ .landing-nav { @@ -73,11 +88,13 @@ padding: 0 2rem; transition: all 0.3s ease; } + .landing-nav.scrolled { background: rgba(14, 15, 24, 0.85); backdrop-filter: blur(20px) saturate(1.2); - border-bottom: 1px solid rgba(255,255,255,0.06); + border-bottom: 1px solid rgba(255, 255, 255, 0.06); } + .landing-nav-inner { max-width: 1200px; margin: 0 auto; @@ -86,12 +103,14 @@ justify-content: space-between; height: 72px; } + .landing-nav-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; } + .landing-nav-logo-icon { width: 36px; height: 36px; @@ -100,9 +119,14 @@ display: flex; align-items: center; justify-content: center; - box-shadow: 0 0 20px rgba(6,182,212,0.2); + box-shadow: 0 0 20px rgba(6, 182, 212, 0.2); } -.landing-nav-logo-icon svg { width: 20px; height: 20px; } + +.landing-nav-logo-icon svg { + width: 20px; + height: 20px; +} + .landing-nav-wordmark { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.25rem; @@ -110,12 +134,14 @@ color: #f0f0f5; letter-spacing: -0.02em; } + .landing-nav-wordmark span { background: linear-gradient(135deg, #22d3ee, #67e8f9); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } + .landing-nav-links { display: flex; align-items: center; @@ -124,6 +150,7 @@ margin: 0; padding: 0; } + .landing-nav-links a { font-size: 0.875rem; font-weight: 500; @@ -132,12 +159,17 @@ transition: color 0.2s; letter-spacing: 0.01em; } -.landing-nav-links a:hover { color: #f0f0f5; } + +.landing-nav-links a:hover { + color: #f0f0f5; +} + .landing-nav-cta { display: flex; align-items: center; gap: 1rem; } + .landing-btn-ghost { font-size: 0.875rem; font-weight: 500; @@ -147,7 +179,12 @@ border-radius: 8px; transition: all 0.2s; } -.landing-btn-ghost:hover { color: #f0f0f5; background: rgba(255,255,255,0.06); } + +.landing-btn-ghost:hover { + color: #f0f0f5; + background: rgba(255, 255, 255, 0.06); +} + .landing-btn-primary { font-size: 0.875rem; font-weight: 600; @@ -156,14 +193,15 @@ padding: 0.55rem 1.25rem; border-radius: 8px; background: linear-gradient(135deg, #06b6d4, #22d3ee); - box-shadow: 0 0 20px rgba(6,182,212,0.15), inset 0 1px 0 rgba(255,255,255,0.15); + box-shadow: 0 0 20px rgba(6, 182, 212, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.15); transition: all 0.25s; letter-spacing: -0.01em; border: none; cursor: pointer; } + .landing-btn-primary:hover { - box-shadow: 0 0 30px rgba(6,182,212,0.3), inset 0 1px 0 rgba(255,255,255,0.2); + box-shadow: 0 0 30px rgba(6, 182, 212, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2); transform: translateY(-1px); } @@ -174,14 +212,15 @@ max-width: 900px; margin: 0 auto; } + .landing-hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; border-radius: 100px; - background: rgba(255,255,255,0.03); - border: 1px solid rgba(255,255,255,0.06); + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.06); font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; font-weight: 500; @@ -190,6 +229,7 @@ letter-spacing: 0.03em; animation: landingFadeInDown 0.8s ease-out; } + .landing-hero-badge::before { content: ''; width: 6px; @@ -198,10 +238,20 @@ background: #22d3ee; animation: landingPulse 2s ease-in-out infinite; } + @keyframes landingPulse { - 0%, 100% { opacity: 0.5; } - 50% { opacity: 1; box-shadow: 0 0 8px #22d3ee; } + + 0%, + 100% { + opacity: 0.5; + } + + 50% { + opacity: 1; + box-shadow: 0 0 8px #22d3ee; + } } + .landing-hero h1 { font-family: 'Bricolage Grotesque', sans-serif; font-size: clamp(2.75rem, 6vw, 4.25rem); @@ -211,12 +261,14 @@ margin-bottom: 1.5rem; animation: landingFadeInUp 0.8s ease-out 0.15s both; } + .landing-gradient-text { background: linear-gradient(135deg, #22d3ee, #67e8f9); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } + .landing-hero-sub { font-size: 1.2rem; font-weight: 400; @@ -226,6 +278,7 @@ margin: 0 auto 2.5rem; animation: landingFadeInUp 0.8s ease-out 0.3s both; } + .landing-hero-actions { display: flex; align-items: center; @@ -233,6 +286,7 @@ gap: 1rem; animation: landingFadeInUp 0.8s ease-out 0.45s both; } + .landing-btn-hero-primary { font-size: 1rem; font-weight: 600; @@ -241,21 +295,24 @@ padding: 0.85rem 2rem; border-radius: 10px; background: linear-gradient(135deg, #06b6d4, #22d3ee); - box-shadow: 0 4px 30px rgba(6,182,212,0.2), inset 0 1px 0 rgba(255,255,255,0.15); + box-shadow: 0 4px 30px rgba(6, 182, 212, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.15); transition: all 0.3s; letter-spacing: -0.01em; border: none; cursor: pointer; } + .landing-btn-hero-primary:hover { - box-shadow: 0 4px 40px rgba(6,182,212,0.35), inset 0 1px 0 rgba(255,255,255,0.2); + box-shadow: 0 4px 40px rgba(6, 182, 212, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.2); transform: translateY(-2px); } + .landing-btn-hero-primary:disabled { opacity: 0.6; cursor: not-allowed; transform: none; } + .landing-btn-hero-secondary { font-size: 1rem; font-weight: 500; @@ -263,13 +320,14 @@ text-decoration: none; padding: 0.85rem 2rem; border-radius: 10px; - background: rgba(255,255,255,0.03); - border: 1px solid rgba(255,255,255,0.06); + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.06); transition: all 0.3s; } + .landing-btn-hero-secondary:hover { - background: rgba(255,255,255,0.06); - border-color: rgba(255,255,255,0.1); + background: rgba(255, 255, 255, 0.06); + border-color: rgba(255, 255, 255, 0.1); color: #f0f0f5; } @@ -279,7 +337,8 @@ padding: 3rem 2rem 1rem; animation: landingFadeInUp 0.8s ease-out 0.6s both; } -.landing-social-proof-bar > p { + +.landing-social-proof-bar>p { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: #5a5a6e; @@ -287,13 +346,18 @@ text-transform: uppercase; margin-bottom: 1.5rem; } + .landing-proof-stats { display: flex; justify-content: center; gap: 3rem; flex-wrap: wrap; } -.landing-proof-stat { text-align: center; } + +.landing-proof-stat { + text-align: center; +} + .landing-proof-stat .number { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.75rem; @@ -303,6 +367,7 @@ -webkit-text-fill-color: transparent; background-clip: text; } + .landing-proof-stat .label { font-size: 0.8rem; color: #5a5a6e; @@ -316,21 +381,24 @@ padding: 0 2rem; animation: landingFadeInUp 1s ease-out 0.75s both; } + .landing-preview-window { border-radius: 12px; border: 1px solid hsl(228, 8%, 16%); background: hsl(228, 10%, 10%); overflow: hidden; - box-shadow: 0 20px 80px rgba(0,0,0,0.4), 0 0 60px rgba(6,182,212,0.05); + box-shadow: 0 20px 80px rgba(0, 0, 0, 0.4), 0 0 60px rgba(6, 182, 212, 0.05); } + .landing-preview-titlebar { display: flex; align-items: center; padding: 0 0 0 14px; height: 40px; - background: rgba(255,255,255,0.02); - border-bottom: 1px solid rgba(255,255,255,0.06); + background: rgba(255, 255, 255, 0.02); + border-bottom: 1px solid rgba(255, 255, 255, 0.06); } + .landing-preview-tab { display: flex; align-items: center; @@ -340,10 +408,11 @@ font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: #a0a0b0; - border-right: 1px solid rgba(255,255,255,0.06); - background: rgba(255,255,255,0.02); + border-right: 1px solid rgba(255, 255, 255, 0.06); + background: rgba(255, 255, 255, 0.02); position: relative; } + .landing-preview-tab::after { content: ''; position: absolute; @@ -353,6 +422,7 @@ height: 2px; background: linear-gradient(135deg, #06b6d4, #22d3ee); } + .landing-tab-icon { width: 14px; height: 14px; @@ -360,11 +430,13 @@ background: linear-gradient(135deg, #06b6d4, #22d3ee); flex-shrink: 0; } + .landing-tab-close { font-size: 0.65rem; color: #5a5a6e; margin-left: 4px; } + .landing-preview-url-bar { flex: 1; display: flex; @@ -372,25 +444,32 @@ justify-content: center; height: 100%; } + .landing-preview-url { display: flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 6px; - background: rgba(255,255,255,0.03); - border: 1px solid rgba(255,255,255,0.06); + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.06); font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: #5a5a6e; } -.landing-lock-icon { color: #22c55e; font-size: 0.6rem; } + +.landing-lock-icon { + color: #22c55e; + font-size: 0.6rem; +} + .landing-preview-window-controls { display: flex; align-items: center; margin-left: auto; height: 100%; } + .landing-win-btn { width: 46px; height: 100%; @@ -401,15 +480,31 @@ font-size: 0.7rem; transition: background 0.15s; } -.landing-win-btn:hover { background: rgba(255,255,255,0.06); } -.landing-win-btn.close:hover { background: #c42b1c; color: white; } -.landing-win-btn svg { width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 1.5; } + +.landing-win-btn:hover { + background: rgba(255, 255, 255, 0.06); +} + +.landing-win-btn.close:hover { + background: #c42b1c; + color: white; +} + +.landing-win-btn svg { + width: 12px; + height: 12px; + stroke: currentColor; + fill: none; + stroke-width: 1.5; +} + .landing-preview-body { padding: 2rem; min-height: 340px; display: flex; gap: 1.5rem; } + .landing-preview-sidebar { width: 200px; flex-shrink: 0; @@ -417,6 +512,7 @@ flex-direction: column; gap: 0.5rem; } + .landing-preview-sidebar-item { padding: 8px 12px; border-radius: 8px; @@ -426,21 +522,24 @@ align-items: center; gap: 8px; } + .landing-preview-sidebar-item.active { - background: rgba(6,182,212,0.08); + background: rgba(6, 182, 212, 0.08); color: #22d3ee; border-left: 3px solid #22d3ee; } + .landing-preview-sidebar-item .dot { width: 8px; height: 8px; border-radius: 50%; } + .landing-preview-canvas { flex: 1; - background: rgba(255,255,255,0.01); + background: rgba(255, 255, 255, 0.01); border-radius: 12px; - border: 1px dashed rgba(255,255,255,0.06); + border: 1px dashed rgba(255, 255, 255, 0.06); display: flex; align-items: center; justify-content: center; @@ -454,6 +553,7 @@ flex-direction: column; align-items: center; } + .landing-tree-node { padding: 10px 20px; border-radius: 10px; @@ -461,27 +561,32 @@ font-weight: 600; white-space: nowrap; } + .landing-tree-node.root { background: linear-gradient(135deg, #06b6d4, #22d3ee); color: #000; - box-shadow: 0 0 20px rgba(6,182,212,0.2); + box-shadow: 0 0 20px rgba(6, 182, 212, 0.2); } + .landing-tree-node.decision { background: hsl(228, 10%, 10%); border: 1px solid hsl(228, 8%, 16%); color: #f0f0f5; font-size: 0.7rem; } + .landing-tree-connector { width: 2px; height: 24px; - background: rgba(6,182,212,0.2); + background: rgba(6, 182, 212, 0.2); } + .landing-tree-branch { display: flex; gap: 2rem; position: relative; } + .landing-tree-branch::before { content: ''; position: absolute; @@ -490,14 +595,19 @@ width: calc(100% - 100px); transform: translateX(-50%); height: 2px; - background: rgba(6,182,212,0.15); + background: rgba(6, 182, 212, 0.15); } + .landing-tree-branch-arm { display: flex; flex-direction: column; align-items: center; } -.landing-tree-branch-arm .landing-tree-connector { height: 18px; } + +.landing-tree-branch-arm .landing-tree-connector { + height: 18px; +} + .landing-tree-label { font-family: 'JetBrains Mono', monospace; font-size: 0.6rem; @@ -507,8 +617,15 @@ } /* ---- SECTION LAYOUT ---- */ -.landing-page section { padding: 6rem 2rem; } -.landing-section-inner { max-width: 1100px; margin: 0 auto; } +.landing-page section { + padding: 6rem 2rem; +} + +.landing-section-inner { + max-width: 1100px; + margin: 0 auto; +} + .landing-section-label { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; @@ -518,6 +635,7 @@ text-transform: uppercase; margin-bottom: 1rem; } + .landing-section-title { font-family: 'Bricolage Grotesque', sans-serif; font-size: clamp(2rem, 4vw, 2.75rem); @@ -526,6 +644,7 @@ line-height: 1.15; margin-bottom: 1rem; } + .landing-section-desc { font-size: 1.1rem; color: #a0a0b0; @@ -538,7 +657,7 @@ max-width: 1100px; margin: 0 auto; height: 1px; - background: rgba(255,255,255,0.06); + background: rgba(255, 255, 255, 0.06); } /* ---- PROBLEM SECTION ---- */ @@ -549,18 +668,21 @@ margin-top: 3.5rem; align-items: start; } + .landing-problem-card { padding: 2rem; border-radius: 16px; - background: rgba(255,255,255,0.03); - border: 1px solid rgba(255,255,255,0.06); + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.06); transition: all 0.3s; } + .landing-problem-card:hover { - background: rgba(255,255,255,0.06); - border-color: rgba(255,255,255,0.08); + background: rgba(255, 255, 255, 0.06); + border-color: rgba(255, 255, 255, 0.08); transform: translateY(-2px); } + .landing-problem-icon { width: 44px; height: 44px; @@ -571,10 +693,27 @@ margin-bottom: 1.25rem; font-size: 1.25rem; } -.landing-problem-icon.red { background: rgba(239,68,68,0.1); color: #ef4444; } -.landing-problem-icon.amber { background: rgba(245,158,11,0.1); color: #f59e0b; } -.landing-problem-icon.slate { background: rgba(148,163,184,0.1); color: #94a3b8; } -.landing-problem-icon.violet { background: rgba(139,92,246,0.1); color: #8b5cf6; } + +.landing-problem-icon.red { + background: rgba(239, 68, 68, 0.1); + color: #ef4444; +} + +.landing-problem-icon.amber { + background: rgba(245, 158, 11, 0.1); + color: #f59e0b; +} + +.landing-problem-icon.slate { + background: rgba(148, 163, 184, 0.1); + color: #94a3b8; +} + +.landing-problem-icon.violet { + background: rgba(139, 92, 246, 0.1); + color: #8b5cf6; +} + .landing-problem-card h3 { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.15rem; @@ -582,6 +721,7 @@ margin-bottom: 0.6rem; letter-spacing: -0.01em; } + .landing-problem-card p { font-size: 0.9rem; color: #a0a0b0; @@ -594,6 +734,7 @@ padding: 5rem 2rem; position: relative; } + .landing-equation-section::before { content: ''; position: absolute; @@ -602,9 +743,10 @@ transform: translateX(-50%); width: 500px; height: 100%; - background: radial-gradient(ellipse, rgba(6,182,212,0.04) 0%, transparent 70%); + background: radial-gradient(ellipse, rgba(6, 182, 212, 0.04) 0%, transparent 70%); pointer-events: none; } + .landing-brand-equation { display: flex; align-items: center; @@ -617,13 +759,19 @@ letter-spacing: -0.02em; margin-bottom: 1.5rem; } + .landing-eq-item { padding: 0.5rem 1.25rem; border-radius: 12px; - background: rgba(255,255,255,0.03); - border: 1px solid rgba(255,255,255,0.06); + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.06); } -.landing-eq-operator { color: #22d3ee; font-size: 2rem; } + +.landing-eq-operator { + color: #22d3ee; + font-size: 2rem; +} + .landing-eq-result { background: linear-gradient(135deg, #06b6d4, #22d3ee); -webkit-background-clip: text; @@ -631,6 +779,7 @@ background-clip: text; padding: 0; } + .landing-equation-desc { font-size: 1.1rem; color: #a0a0b0; @@ -647,19 +796,22 @@ margin-top: 3.5rem; counter-reset: landing-step; } + .landing-step-card { padding: 2rem; border-radius: 16px; - background: rgba(255,255,255,0.03); - border: 1px solid rgba(255,255,255,0.06); + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.06); position: relative; counter-increment: landing-step; transition: all 0.3s; } + .landing-step-card:hover { - background: rgba(255,255,255,0.06); - border-color: rgba(6,182,212,0.15); + background: rgba(255, 255, 255, 0.06); + border-color: rgba(6, 182, 212, 0.15); } + .landing-step-card::before { content: counter(landing-step, decimal-leading-zero); font-family: 'JetBrains Mono', monospace; @@ -669,6 +821,7 @@ opacity: 0.6; letter-spacing: 0.05em; } + .landing-step-card h3 { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.25rem; @@ -676,11 +829,13 @@ margin: 1rem 0 0.75rem; letter-spacing: -0.01em; } + .landing-step-card p { font-size: 0.9rem; color: #a0a0b0; line-height: 1.65; } + .landing-step-visual { width: 100%; height: 120px; @@ -702,6 +857,7 @@ width: 100%; align-items: center; } + .landing-mock-node { padding: 6px 10px; border-radius: 6px; @@ -709,9 +865,27 @@ font-family: 'JetBrains Mono', monospace; white-space: nowrap; } -.landing-mock-node.start { background: rgba(6,182,212,0.15); color: #22d3ee; border: 1px solid rgba(6,182,212,0.2); } -.landing-mock-node.step { background: rgba(255,255,255,0.03); color: #a0a0b0; border: 1px solid rgba(255,255,255,0.06); } -.landing-mock-connector { width: 20px; display: flex; align-items: center; justify-content: center; color: #5a5a6e; font-size: 0.7rem; } + +.landing-mock-node.start { + background: rgba(6, 182, 212, 0.15); + color: #22d3ee; + border: 1px solid rgba(6, 182, 212, 0.2); +} + +.landing-mock-node.step { + background: rgba(255, 255, 255, 0.03); + color: #a0a0b0; + border: 1px solid rgba(255, 255, 255, 0.06); +} + +.landing-mock-connector { + width: 20px; + display: flex; + align-items: center; + justify-content: center; + color: #5a5a6e; + font-size: 0.7rem; +} /* Mock session */ .landing-mock-session { @@ -721,6 +895,7 @@ flex-direction: column; gap: 0.35rem; } + .landing-mock-chat-line { display: flex; align-items: center; @@ -728,13 +903,20 @@ font-size: 0.6rem; font-family: 'JetBrains Mono', monospace; } + .landing-mock-chat-line .label { color: #22d3ee; font-weight: 600; min-width: 55px; } -.landing-mock-chat-line .text { color: #a0a0b0; } -.landing-mock-chat-line.doc .label { color: #22c55e; } + +.landing-mock-chat-line .text { + color: #a0a0b0; +} + +.landing-mock-chat-line.doc .label { + color: #22c55e; +} /* Mock ticket */ .landing-mock-ticket { @@ -744,15 +926,17 @@ flex-direction: column; gap: 0.35rem; } + .landing-mock-ticket-header { font-family: 'JetBrains Mono', monospace; font-size: 0.6rem; color: #22d3ee; font-weight: 600; padding-bottom: 0.35rem; - border-bottom: 1px solid rgba(255,255,255,0.06); + border-bottom: 1px solid rgba(255, 255, 255, 0.06); margin-bottom: 0.15rem; } + .landing-mock-ticket-line { font-size: 0.55rem; font-family: 'JetBrains Mono', monospace; @@ -760,8 +944,15 @@ display: flex; gap: 6px; } -.landing-mock-ticket-line .time { color: #5a5a6e; min-width: 35px; } -.landing-mock-ticket-line .check { color: #22c55e; } + +.landing-mock-ticket-line .time { + color: #5a5a6e; + min-width: 35px; +} + +.landing-mock-ticket-line .check { + color: #22c55e; +} /* ---- FEATURES GRID ---- */ .landing-features-grid { @@ -770,29 +961,33 @@ gap: 1.5rem; margin-top: 3.5rem; } + .landing-feature-card { padding: 2rem; border-radius: 16px; - background: rgba(255,255,255,0.03); - border: 1px solid rgba(255,255,255,0.06); + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.06); transition: all 0.3s ease; } + .landing-feature-card:hover { - background: rgba(255,255,255,0.06); - border-color: rgba(6,182,212,0.15); + background: rgba(255, 255, 255, 0.06); + border-color: rgba(6, 182, 212, 0.15); transform: translateY(-3px); } + .landing-feature-icon { width: 40px; height: 40px; border-radius: 10px; - background: rgba(6,182,212,0.08); + background: rgba(6, 182, 212, 0.08); display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; color: #22d3ee; } + .landing-feature-card h3 { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.05rem; @@ -800,14 +995,16 @@ margin-bottom: 0.6rem; letter-spacing: -0.01em; } + .landing-feature-card p { font-size: 0.875rem; color: #a0a0b0; line-height: 1.6; } + .landing-feature-card.highlight { - border-color: rgba(6,182,212,0.15); - background: rgba(6,182,212,0.03); + border-color: rgba(6, 182, 212, 0.15); + background: rgba(6, 182, 212, 0.03); grid-column: span 2; } @@ -819,20 +1016,26 @@ margin-top: 3.5rem; align-items: start; } + .landing-pricing-card { padding: 2.5rem 2rem; border-radius: 16px; - background: rgba(255,255,255,0.03); - border: 1px solid rgba(255,255,255,0.06); + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.06); transition: all 0.3s; } -.landing-pricing-card:hover { border-color: rgba(255,255,255,0.08); } -.landing-pricing-card.featured { - border-color: rgba(6,182,212,0.2); - background: rgba(6,182,212,0.03); - position: relative; - box-shadow: 0 0 40px rgba(6,182,212,0.06); + +.landing-pricing-card:hover { + border-color: rgba(255, 255, 255, 0.08); } + +.landing-pricing-card.featured { + border-color: rgba(6, 182, 212, 0.2); + background: rgba(6, 182, 212, 0.03); + position: relative; + box-shadow: 0 0 40px rgba(6, 182, 212, 0.06); +} + .landing-pricing-card.featured::before { content: 'Most Popular'; position: absolute; @@ -849,6 +1052,7 @@ letter-spacing: 0.05em; text-transform: uppercase; } + .landing-pricing-plan-name { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.15rem; @@ -856,38 +1060,45 @@ margin-bottom: 0.5rem; letter-spacing: -0.01em; } + .landing-pricing-target { font-size: 0.8rem; color: #5a5a6e; margin-bottom: 1.5rem; } + .landing-pricing-price { display: flex; align-items: baseline; gap: 0.25rem; margin-bottom: 0.25rem; } + .landing-pricing-price .amount { font-family: 'Bricolage Grotesque', sans-serif; font-size: 2.75rem; font-weight: 800; letter-spacing: -0.04em; } + .landing-pricing-card.featured .landing-pricing-price .amount { background: linear-gradient(135deg, #22d3ee, #67e8f9); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } + .landing-pricing-price .period { font-size: 0.85rem; color: #5a5a6e; } + .landing-pricing-note { font-size: 0.8rem; color: #5a5a6e; margin-bottom: 2rem; } + .landing-pricing-features { list-style: none; display: flex; @@ -896,6 +1107,7 @@ margin-bottom: 2rem; padding: 0; } + .landing-pricing-features li { font-size: 0.875rem; color: #a0a0b0; @@ -903,6 +1115,7 @@ align-items: flex-start; gap: 0.6rem; } + .landing-pricing-features li::before { content: '\2713'; color: #22d3ee; @@ -911,6 +1124,7 @@ margin-top: 2px; flex-shrink: 0; } + .landing-pricing-btn { display: block; text-align: center; @@ -922,33 +1136,45 @@ transition: all 0.3s; width: 100%; } + .landing-pricing-btn.outline { color: #f0f0f5; border: 1px solid hsl(228, 8%, 16%); background: transparent; } + .landing-pricing-btn.outline:hover { - background: rgba(255,255,255,0.06); - border-color: rgba(255,255,255,0.12); + background: rgba(255, 255, 255, 0.06); + border-color: rgba(255, 255, 255, 0.12); } + .landing-pricing-btn.filled { color: #000; background: linear-gradient(135deg, #06b6d4, #22d3ee); - box-shadow: 0 0 20px rgba(6,182,212,0.15); + box-shadow: 0 0 20px rgba(6, 182, 212, 0.15); border: none; } + .landing-pricing-btn.filled:hover { - box-shadow: 0 0 30px rgba(6,182,212,0.3); + box-shadow: 0 0 30px rgba(6, 182, 212, 0.3); transform: translateY(-1px); } + .landing-pricing-enterprise { text-align: center; margin-top: 2rem; font-size: 0.85rem; color: #5a5a6e; } -.landing-pricing-enterprise a { color: #22d3ee; text-decoration: none; } -.landing-pricing-enterprise a:hover { text-decoration: underline; } + +.landing-pricing-enterprise a { + color: #22d3ee; + text-decoration: none; +} + +.landing-pricing-enterprise a:hover { + text-decoration: underline; +} /* ---- TESTIMONIAL ---- */ .landing-testimonial-section { @@ -957,6 +1183,7 @@ margin: 0 auto; padding: 5rem 2rem; } + .landing-testimonial-quote { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.5rem; @@ -968,22 +1195,41 @@ margin-bottom: 1.5rem; position: relative; } + .landing-testimonial-quote::before { content: '\201C'; font-size: 4rem; color: #22d3ee; opacity: 0.3; - position: absolute; - top: -1rem; - left: -0.5rem; + vertical-align: super; + margin-right: 1rem; + top: -2.5rem; font-family: 'Bricolage Grotesque', sans-serif; line-height: 1; } + +.landing-testimonial-quote::after { + content: '\201D'; + font-size: 4rem; + color: #22d3ee; + opacity: 0.3; + vertical-align: sub; + margin-left: 1rem; + font-family: 'Bricolage Grotesque', sans-serif; + line-height: 1; + position: absolute; + bottom: -2.5rem; +} + .landing-testimonial-author { font-size: 0.9rem; color: #5a5a6e; } -.landing-testimonial-author strong { color: #a0a0b0; font-weight: 600; } + +.landing-testimonial-author strong { + color: #a0a0b0; + font-weight: 600; +} /* ---- CTA ---- */ .landing-cta-section { @@ -991,6 +1237,7 @@ padding: 6rem 2rem; position: relative; } + .landing-cta-section::before { content: ''; position: absolute; @@ -999,9 +1246,10 @@ transform: translateX(-50%); width: 700px; height: 400px; - background: radial-gradient(ellipse, rgba(6,182,212,0.05) 0%, transparent 70%); + background: radial-gradient(ellipse, rgba(6, 182, 212, 0.05) 0%, transparent 70%); pointer-events: none; } + .landing-cta-section h2 { font-family: 'Bricolage Grotesque', sans-serif; font-size: clamp(2rem, 4vw, 2.75rem); @@ -1009,19 +1257,22 @@ letter-spacing: -0.03em; margin-bottom: 1rem; } -.landing-cta-section > p { + +.landing-cta-section>p { font-size: 1.1rem; color: #a0a0b0; max-width: 500px; margin: 0 auto 2rem; line-height: 1.7; } + .landing-cta-email-form { display: flex; gap: 0.75rem; max-width: 440px; margin: 0 auto; } + .landing-cta-email-input { flex: 1; padding: 0.85rem 1.25rem; @@ -1034,21 +1285,28 @@ outline: none; transition: border-color 0.3s; } -.landing-cta-email-input::placeholder { color: #5a5a6e; } + +.landing-cta-email-input::placeholder { + color: #5a5a6e; +} + .landing-cta-email-input:focus { border-color: #06b6d4; - box-shadow: 0 0 0 3px rgba(6,182,212,0.1); + box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.1); } + .landing-cta-fine-print { font-size: 0.75rem; color: #5a5a6e; margin-top: 1rem; } + .landing-cta-success { font-size: 0.85rem; color: #22c55e; margin-top: 0.75rem; } + .landing-cta-error { font-size: 0.85rem; color: #ef4444; @@ -1057,9 +1315,10 @@ /* ---- FOOTER ---- */ .landing-footer { - border-top: 1px solid rgba(255,255,255,0.06); + border-top: 1px solid rgba(255, 255, 255, 0.06); padding: 3rem 2rem; } + .landing-footer-inner { max-width: 1100px; margin: 0 auto; @@ -1069,15 +1328,18 @@ flex-wrap: wrap; gap: 1rem; } + .landing-footer-left { display: flex; align-items: center; gap: 0.75rem; } + .landing-footer-copy { font-size: 0.8rem; color: #5a5a6e; } + .landing-footer-links { display: flex; gap: 1.5rem; @@ -1085,22 +1347,41 @@ margin: 0; padding: 0; } + .landing-footer-links a { font-size: 0.8rem; color: #5a5a6e; text-decoration: none; transition: color 0.2s; } -.landing-footer-links a:hover { color: #a0a0b0; } + +.landing-footer-links a:hover { + color: #a0a0b0; +} /* ---- ANIMATIONS ---- */ @keyframes landingFadeInUp { - from { opacity: 0; transform: translateY(20px); } - to { opacity: 1; transform: translateY(0); } + from { + opacity: 0; + transform: translateY(20px); + } + + to { + opacity: 1; + transform: translateY(0); + } } + @keyframes landingFadeInDown { - from { opacity: 0; transform: translateY(-12px); } - to { opacity: 1; transform: translateY(0); } + from { + opacity: 0; + transform: translateY(-12px); + } + + to { + opacity: 1; + transform: translateY(0); + } } /* ---- SCROLL REVEAL ---- */ @@ -1109,6 +1390,7 @@ transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; } + .landing-reveal.visible { opacity: 1; transform: translateY(0); @@ -1116,18 +1398,44 @@ /* ---- RESPONSIVE ---- */ @media (max-width: 900px) { + .landing-problem-grid, .landing-steps-container, .landing-features-grid, .landing-pricing-grid { grid-template-columns: 1fr; } - .landing-feature-card.highlight { grid-column: span 1; } - .landing-nav-links { display: none; } - .landing-preview-sidebar { display: none; } - .landing-tree-branch { gap: 1rem; } - .landing-hero { padding: 8rem 1.5rem 4rem; } - .landing-brand-equation { font-size: 1.25rem; gap: 0.5rem; } - .landing-eq-item { padding: 0.35rem 0.75rem; } - .landing-cta-email-form { flex-direction: column; } -} + + .landing-feature-card.highlight { + grid-column: span 1; + } + + .landing-nav-links { + display: none; + } + + .landing-preview-sidebar { + display: none; + } + + .landing-tree-branch { + gap: 1rem; + } + + .landing-hero { + padding: 8rem 1.5rem 4rem; + } + + .landing-brand-equation { + font-size: 1.25rem; + gap: 0.5rem; + } + + .landing-eq-item { + padding: 0.35rem 0.75rem; + } + + .landing-cta-email-form { + flex-direction: column; + } +} \ No newline at end of file