From 5968b98aa7695ce5aebe6f3228dd4497ce376d63 Mon Sep 17 00:00:00 2001 From: mawkone Date: Thu, 14 May 2026 10:03:16 -0700 Subject: [PATCH] fix(ui): improve mobile responsiveness on marketing homepage --- vibn-frontend/app/styles/new-site.css | 51 +++++++++++++++++++ .../marketing/components/new-site/index.tsx | 6 +-- 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/vibn-frontend/app/styles/new-site.css b/vibn-frontend/app/styles/new-site.css index bc97485..242835b 100644 --- a/vibn-frontend/app/styles/new-site.css +++ b/vibn-frontend/app/styles/new-site.css @@ -186,4 +186,55 @@ .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; } @media (max-width: 880px) { .grid-3 { grid-template-columns: 1fr; } } + + /* -- Mobile Adjustments -- */ + @media (max-width: 760px) { + .nav-links { display: none; } + .nav-inner { padding: 0 16px; } + .wrap { padding-inline: 20px; } + + h1, h2 { text-wrap: balance; word-wrap: break-word; overflow-wrap: break-word; hyphens: auto; } + p { text-wrap: pretty; } + + .hero-quote { font-size: clamp(36px, 12vw, 56px) !important; padding: 0 10px; } + .hero-sub { font-size: 18px !important; padding: 0 10px; } + + .prompt { margin: 14px 16px 0; max-width: calc(100% - 32px); } + .prompt-inner { padding: 14px 14px 10px !important; } + .prompt-bar { flex-direction: column; align-items: stretch !important; gap: 12px; } + .prompt-tools { justify-content: center; flex-wrap: wrap; } + .prompt-send { width: 100%; justify-content: center; } + + .wall-title { font-size: clamp(32px, 10vw, 44px) !important; } + .window { margin: 0 16px; width: calc(100% - 32px); border-radius: 12px; } + .window-bar { padding: 10px 12px; } + .window-name { font-size: 11px; } + .window-tag { display: none; } + .msg { padding: 16px 12px; flex-direction: column; gap: 10px; } + .msg-name { font-size: 11px; } + .homework-list { font-size: 13px; padding-left: 20px; } + + .crossed-title { font-size: clamp(32px, 10vw, 44px) !important; } + .crossed-sub { font-size: 16px !important; } + + .journey-grid { grid-template-columns: 1fr !important; padding: 0 16px; } + .step { min-height: auto; padding: 24px 20px; } + + .audience-grid { grid-template-columns: 1fr !important; padding: 0 16px; } + .a-card { min-height: auto; padding: 24px 20px; } + + .closing-title { font-size: clamp(36px, 12vw, 52px) !important; } + .closing-cta .row { flex-direction: column; width: 100%; padding: 0 20px; } + .closing-cta .row .btn { width: 100%; justify-content: center; } + + .vibn-footer-inner { flex-direction: column; align-items: center; text-align: center; gap: 20px; } + .vibn-footer-trust { justify-content: center; } + .vibn-footer-bottom { flex-direction: column-reverse; gap: 24px; text-align: center; } + .vibn-footer-links { flex-wrap: wrap; justify-content: center; } + + /* Hide the modal steps animation on mobile to save space */ + .modal { padding: 20px 20px 16px !important; margin: 16px; width: calc(100% - 32px) !important; } + .modal-steps { display: none !important; } + } + .new-site-wrapper { min-height: 100vh; position: relative; overflow: hidden; } diff --git a/vibn-frontend/marketing/components/new-site/index.tsx b/vibn-frontend/marketing/components/new-site/index.tsx index 0e92679..8fca7e7 100644 --- a/vibn-frontend/marketing/components/new-site/index.tsx +++ b/vibn-frontend/marketing/components/new-site/index.tsx @@ -976,7 +976,7 @@ function Hero({ onStart, variant = "quote" }) { background: transparent; border: 0; color: var(--fg); - font: 17px/1.45 var(--font-sans); + font: 16px/1.45 var(--font-sans); resize: none; outline: none; padding: 6px 4px; @@ -990,7 +990,7 @@ function Hero({ onStart, variant = "quote" }) { top: 24px; left: 22px; right: 22px; pointer-events: none; color: var(--fg-faint); - font: 17px/1.45 var(--font-sans); + font: 16px/1.45 var(--font-sans); text-align: left; } .prompt-typed::after { @@ -1371,7 +1371,7 @@ function Wall() { border: 1px solid var(--hairline); border-radius: 10px; color: var(--fg-dim); - font-size: 13.5px; + font-size: 14px; transition: opacity .3s, filter .3s; } .homework-list li::before {