fix(landing): design audit fixes — hamburger menu, dead links, branding, spacing

- Add mobile hamburger menu with animated open/close and click-outside dismiss
- Create Privacy and Terms pages (footer links were dead # anchors)
- Change "Decision Tree Platform" to "AI-Powered Troubleshooting for MSPs" on login, register, and HTML title
- Fix register page icon color (was red/coral via CSS invert, now uses BrandLogo directly)
- Replace "0 Ticket Notes Written by Hand" stat with "100% Auto-Generated Documentation"
- Increase nav link touch targets to 44px minimum
- Fix heading hierarchy: section titles are now <h2>, standardize H3 to 1.25rem
- Tighten section spacing (6rem → 4rem padding, remove extra 5rem spacer)
- Add color-scheme: dark to HTML element
- Replace all transition: all with specific properties (10 occurrences)
- Fix loading ellipsis (... → …)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-21 13:15:07 +00:00
parent 9298f5a272
commit 110eae08ae
9 changed files with 270 additions and 35 deletions

View File

@@ -86,7 +86,7 @@
right: 0;
z-index: 100;
padding: 0 2rem;
transition: all 0.3s ease;
transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.landing-nav.scrolled {
@@ -158,6 +158,7 @@
text-decoration: none;
transition: color 0.2s;
letter-spacing: 0.01em;
padding: 0.75rem 0.5rem;
}
.landing-nav-links a:hover {
@@ -177,7 +178,7 @@
text-decoration: none;
padding: 0.5rem 1rem;
border-radius: 8px;
transition: all 0.2s;
transition: color 0.2s, background 0.2s;
}
.landing-btn-ghost:hover {
@@ -194,7 +195,7 @@
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);
transition: all 0.25s;
transition: opacity 0.25s, transform 0.25s, box-shadow 0.25s;
letter-spacing: -0.01em;
border: none;
cursor: pointer;
@@ -296,7 +297,7 @@
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);
transition: all 0.3s;
transition: background 0.3s, border-color 0.3s, box-shadow 0.3s, transform 0.3s, opacity 0.3s;
letter-spacing: -0.01em;
border: none;
cursor: pointer;
@@ -322,7 +323,7 @@
border-radius: 10px;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.06);
transition: all 0.3s;
transition: background 0.3s, border-color 0.3s, box-shadow 0.3s, transform 0.3s, opacity 0.3s;
}
.landing-btn-hero-secondary:hover {
@@ -618,7 +619,7 @@
/* ---- SECTION LAYOUT ---- */
.landing-page section {
padding: 6rem 2rem;
padding: 4rem 2rem;
}
.landing-section-inner {
@@ -642,6 +643,7 @@
font-weight: 700;
letter-spacing: -0.03em;
line-height: 1.15;
margin-top: 0;
margin-bottom: 1rem;
}
@@ -674,7 +676,7 @@
border-radius: 16px;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.06);
transition: all 0.3s;
transition: background 0.3s, border-color 0.3s, box-shadow 0.3s, transform 0.3s, opacity 0.3s;
}
.landing-problem-card:hover {
@@ -716,7 +718,7 @@
.landing-problem-card h3 {
font-family: 'Bricolage Grotesque', sans-serif;
font-size: 1.15rem;
font-size: 1.25rem;
font-weight: 700;
margin-bottom: 0.6rem;
letter-spacing: -0.01em;
@@ -731,7 +733,7 @@
/* ---- EQUATION ---- */
.landing-equation-section {
text-align: center;
padding: 5rem 2rem;
padding: 3.5rem 2rem;
position: relative;
}
@@ -804,7 +806,7 @@
border: 1px solid rgba(255, 255, 255, 0.06);
position: relative;
counter-increment: landing-step;
transition: all 0.3s;
transition: background 0.3s, border-color 0.3s, box-shadow 0.3s, transform 0.3s, opacity 0.3s;
}
.landing-step-card:hover {
@@ -967,7 +969,7 @@
border-radius: 16px;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.06);
transition: all 0.3s ease;
transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.landing-feature-card:hover {
@@ -990,7 +992,7 @@
.landing-feature-card h3 {
font-family: 'Bricolage Grotesque', sans-serif;
font-size: 1.05rem;
font-size: 1.25rem;
font-weight: 700;
margin-bottom: 0.6rem;
letter-spacing: -0.01em;
@@ -1022,7 +1024,7 @@
border-radius: 16px;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.06);
transition: all 0.3s;
transition: background 0.3s, border-color 0.3s, box-shadow 0.3s, transform 0.3s, opacity 0.3s;
}
.landing-pricing-card:hover {
@@ -1133,7 +1135,7 @@
font-size: 0.9rem;
font-weight: 600;
text-decoration: none;
transition: all 0.3s;
transition: background 0.3s, border-color 0.3s, box-shadow 0.3s, transform 0.3s, opacity 0.3s;
width: 100%;
}
@@ -1181,7 +1183,7 @@
text-align: center;
max-width: 700px;
margin: 0 auto;
padding: 5rem 2rem;
padding: 3.5rem 2rem;
}
.landing-testimonial-quote {
@@ -1234,7 +1236,7 @@
/* ---- CTA ---- */
.landing-cta-section {
text-align: center;
padding: 6rem 2rem;
padding: 4rem 2rem;
position: relative;
}
@@ -1396,6 +1398,87 @@
transform: translateY(0);
}
/* ---- Hamburger Button ---- */
.landing-hamburger {
display: none;
flex-direction: column;
justify-content: center;
gap: 5px;
width: 44px;
height: 44px;
padding: 10px;
background: none;
border: none;
cursor: pointer;
z-index: 110;
}
.landing-hamburger span {
display: block;
width: 22px;
height: 2px;
background: #a0a0b0;
border-radius: 2px;
transition: transform 0.3s ease, opacity 0.3s ease;
}
.landing-hamburger:hover span {
background: #f0f0f5;
}
.landing-hamburger.open span:nth-child(1) {
transform: translateY(7px) rotate(45deg);
}
.landing-hamburger.open span:nth-child(2) {
opacity: 0;
}
.landing-hamburger.open span:nth-child(3) {
transform: translateY(-7px) rotate(-45deg);
}
/* ---- Mobile Menu ---- */
.landing-mobile-menu {
display: none;
flex-direction: column;
gap: 0;
padding: 0.5rem 1.5rem 1.5rem;
background: rgba(14, 15, 24, 0.95);
backdrop-filter: blur(20px) saturate(1.2);
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.landing-mobile-menu a {
display: block;
padding: 0.875rem 0;
font-size: 1rem;
font-weight: 500;
color: #a0a0b0;
text-decoration: none;
transition: color 0.2s;
border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.landing-mobile-menu a:hover {
color: #f0f0f5;
}
.landing-mobile-menu a:last-child {
border-bottom: none;
}
.landing-mobile-menu-divider {
height: 1px;
background: rgba(255, 255, 255, 0.08);
margin: 0.5rem 0;
}
.landing-mobile-menu .landing-btn-primary {
margin-top: 0.5rem;
display: block;
}
/* ---- RESPONSIVE ---- */
@media (max-width: 900px) {
@@ -1414,6 +1497,18 @@
display: none;
}
.landing-nav-cta {
display: none;
}
.landing-hamburger {
display: flex;
}
.landing-mobile-menu {
display: flex;
}
.landing-preview-sidebar {
display: none;
}