From d008cd184de5399446c769d260863415ecf45cd7 Mon Sep 17 00:00:00 2001 From: Ashwin Kumar Date: Mon, 6 Apr 2026 01:47:05 +0200 Subject: [PATCH] feat: improve public role pages and help center content --- src/app.css | 968 +++++++++++++++++++++- src/components/PublicFooter.tsx | 1 + src/components/PublicHeader.tsx | 2 + src/components/PublicLanding.tsx | 360 +++----- src/components/RoleLandingPage.tsx | 458 ++++++++++ src/data/help-center-seed.ts | 395 +++++++++ src/lib/help-center.ts | 100 ++- src/lib/professionals.ts | 187 +++++ src/lib/role-landings.ts | 761 +++++++++++++++++ src/routes/help-center/article/[slug].tsx | 49 +- src/routes/help-center/index.tsx | 15 + src/routes/index.tsx | 21 +- src/routes/professionals/[slug].tsx | 7 + src/routes/professionals/index.tsx | 124 +++ src/routes/roles/[slug].tsx | 7 + src/routes/signup.tsx | 8 +- 16 files changed, 3194 insertions(+), 269 deletions(-) create mode 100644 src/components/RoleLandingPage.tsx create mode 100644 src/data/help-center-seed.ts create mode 100644 src/lib/professionals.ts create mode 100644 src/lib/role-landings.ts create mode 100644 src/routes/professionals/[slug].tsx create mode 100644 src/routes/professionals/index.tsx create mode 100644 src/routes/roles/[slug].tsx diff --git a/src/app.css b/src/app.css index 8a74735..ed752f5 100644 --- a/src/app.css +++ b/src/app.css @@ -1262,6 +1262,127 @@ body { color: #100b2f; } +.lp-view-all-btn { + width: auto; + min-width: 220px; +} + +.lp-role-cta-grid { + margin-top: 12px; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 8px; +} + +.role-benefit-grid { + margin-top: 14px; + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 10px; +} + +.role-benefit-card { + border: 1px solid rgba(16, 11, 47, 0.14); + border-radius: 14px; + background: rgba(255, 255, 255, 0.92); + padding: 14px; + box-shadow: 0 12px 28px -26px rgba(253, 98, 22, 0.9); + transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease; +} + +.role-benefit-card:hover { + transform: translateY(-2px); + border-color: rgba(253, 98, 22, 0.34); + box-shadow: 0 16px 30px -24px rgba(253, 98, 22, 0.55); +} + +.role-benefit-card h3 { + margin: 0; + font-size: 16px; + color: #100b2f; + line-height: 1.45; +} + +.role-benefit-card-simple { + padding: 16px; +} + +.role-benefit-card-simple p { + margin: 8px 0 0; + color: #475569; + font-size: 13px; + line-height: 1.55; +} + +.pro-detail-benefit-meta { + margin-bottom: 10px; + display: flex; + align-items: center; + justify-content: space-between; +} + +.pro-detail-benefit-icon-wrap { + display: inline-flex; + width: 36px; + height: 36px; + align-items: center; + justify-content: center; + border-radius: 12px; + border: 1px solid rgba(253, 98, 22, 0.35); + background: linear-gradient(150deg, rgba(253, 98, 22, 0.18), rgba(253, 98, 22, 0.05)); +} + +.pro-detail-benefit-icon-wrap img { + width: 17px; + height: 17px; + opacity: 0.95; +} + +.pro-detail-benefit-index { + display: inline-flex; + min-width: 32px; + height: 24px; + align-items: center; + justify-content: center; + border-radius: 999px; + border: 1px solid rgba(253, 98, 22, 0.28); + background: rgba(253, 98, 22, 0.1); + color: #d14b05; + font-size: 11px; + font-weight: 700; + letter-spacing: 0.04em; +} + +.role-offer-list { + margin-top: 16px; + display: grid; + gap: 10px; +} + +.role-offer-item { + margin: 0; + padding: 12px 14px; + border-radius: 12px; + border: 1px solid rgba(255, 255, 255, 0.24); + background: rgba(255, 255, 255, 0.08); + color: rgba(255, 255, 255, 0.9); + display: flex; + align-items: center; + gap: 10px; +} + +.pro-detail-offer-icon { + display: inline-flex; + width: 20px; + height: 20px; + align-items: center; + justify-content: center; + border-radius: 999px; + background: rgba(253, 98, 22, 0.2); + color: #ffc9ab; + font-size: 11px; +} + .lp-path-controls { align-items: center; gap: 8px; @@ -1368,20 +1489,69 @@ body { } .benefit-card { - border: 1px solid rgba(255, 255, 255, 0.28); - border-radius: 14px; - padding: 12px; - background: rgba(255, 255, 255, 0.07); + position: relative; + overflow: hidden; + border: 1px solid rgba(253, 98, 22, 0.32); + border-radius: 16px; + padding: 14px; + background: + radial-gradient(circle at top right, rgba(253, 98, 22, 0.2), transparent 55%), + linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05)); + box-shadow: 0 20px 42px -30px rgba(253, 98, 22, 0.72); } .benefit-card h3 { - margin: 0 0 8px; - font-size: 18px; + margin: 10px 0 0; + color: #fff; + font-size: 17px; + line-height: 1.35; } .benefit-card p { margin: 0; - color: rgba(255, 255, 255, 0.85); + color: rgba(255, 255, 255, 0.88); + font-size: 13px; + line-height: 1.55; +} + +.benefit-card .role-card-icon { + margin: 0; +} + +.benefit-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; +} + +.benefit-index { + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 999px; + border: 1px solid rgba(253, 98, 22, 0.45); + background: rgba(253, 98, 22, 0.14); + color: #ffd5c0; + padding: 4px 9px; + font-size: 10px; + font-weight: 700; + letter-spacing: 0.06em; + text-transform: uppercase; +} + +.benefit-divider { + display: block; + width: 56px; + height: 2px; + margin: 10px 0 12px; + border-radius: 999px; + background: linear-gradient(90deg, #fd6116, rgba(253, 98, 22, 0.1)); +} + +.benefit-card:hover { + border-color: rgba(253, 98, 22, 0.54); + transform: translateY(-2px); } .flow-card { @@ -1493,6 +1663,20 @@ body { cursor: pointer; } +.pro-detail-faq-icon { + display: inline-flex; + width: 24px; + height: 24px; + align-items: center; + justify-content: center; + border-radius: 999px; + border: 1px solid rgba(253, 98, 22, 0.45); + background: rgba(253, 98, 22, 0.2); + color: #ffc9ab; + font-size: 12px; + font-weight: 700; +} + .faq-q-icon { display: inline-flex; font-size: 18px; @@ -1523,6 +1707,144 @@ body { padding-top: 28px; } +.pro-real-grid { + margin-top: 14px; + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 12px; +} + +.pro-real-card { + border: 1px solid rgba(16, 11, 47, 0.14); + border-radius: 14px; + background: rgba(255, 255, 255, 0.95); + padding: 16px; + box-shadow: 0 12px 24px -24px rgba(253, 98, 22, 0.6); +} + +.pro-real-card h3 { + margin: 0; + color: #100b2f; + font-size: 16px; +} + +.pro-real-card ul { + margin: 12px 0 0; + padding-left: 18px; + display: grid; + gap: 7px; +} + +.pro-real-card li { + color: #334155; + font-size: 13px; + line-height: 1.5; +} + +.pro-real-note { + margin-top: 14px; +} + +.pro-detail-trust-strip-wrap { + margin-top: 12px; +} + +.pro-detail-trust-strip { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 10px; +} + +.pro-detail-trust-card { + position: relative; + border: 1px solid rgba(253, 98, 22, 0.24); + border-radius: 14px; + background: linear-gradient(135deg, rgba(255, 247, 237, 0.92), rgba(255, 255, 255, 0.9)); + padding: 12px; + display: grid; + grid-template-columns: 36px 1fr; + gap: 10px; + align-items: start; + box-shadow: 0 12px 28px -24px rgba(253, 98, 22, 0.55); + transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease; +} + +.pro-detail-trust-card .role-card-icon { + position: absolute; + top: 10px; + right: 10px; +} + +.pro-detail-trust-label { + display: inline-flex; + min-width: 36px; + height: 24px; + align-items: center; + justify-content: center; + border-radius: 999px; + border: 1px solid rgba(253, 98, 22, 0.38); + background: rgba(253, 98, 22, 0.12); + color: #c2410c; + font-size: 10px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + padding: 0 8px; +} + +.pro-detail-trust-card:hover { + transform: translateY(-2px); + border-color: rgba(253, 98, 22, 0.46); + box-shadow: 0 18px 36px -24px rgba(253, 98, 22, 0.6); +} + +.pro-detail-trust-icon { + width: 36px; + height: 36px; + border-radius: 11px; + display: inline-flex; + align-items: center; + justify-content: center; + color: #fff; + font-size: 15px; + font-weight: 700; + background: linear-gradient(145deg, #fd6116, #f97316); +} + +.pro-detail-trust-card h3 { + margin: 0; + font-size: 14px; + line-height: 1.35; + color: #130e3a; +} + +.pro-detail-trust-card p { + margin: 6px 0 0; + font-size: 12px; + line-height: 1.5; + color: #3f355f; +} + +.pro-detail-cta-points { + margin-top: 14px; + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.pro-detail-cta-points span { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 7px 10px; + border-radius: 999px; + border: 1px solid rgba(253, 98, 22, 0.45); + background: rgba(253, 98, 22, 0.14); + color: #ffe9dc; + font-size: 12px; + font-weight: 600; +} + .cta-row { display: flex; align-items: center; @@ -1648,6 +1970,10 @@ body { .benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } + + .launch-grid { + grid-template-columns: 1fr; + } } @media (max-width: 820px) { @@ -1719,6 +2045,10 @@ body { grid-template-columns: 1fr; } + .outcome-grid { + grid-template-columns: 1fr; + } + .hiwCodeTitle { font-size: 19px; } @@ -1879,6 +2209,13 @@ body { height: 16px; } +.pro-detail-bg-chip-icon { + font-size: 15px; + line-height: 1; + color: #fd6116; + font-weight: 700; +} + .lp-chip-slow { animation: lp-float-slow 8s ease-in-out infinite; } @@ -1896,6 +2233,518 @@ body { z-index: 10; } +.pro-detail-hero-slider, +.pro-list-hero-slider { + min-height: 360px; +} + +.pro-detail-hero-image { + width: 100%; + height: 100%; + min-height: 360px; + object-fit: cover; + border-radius: 20px; + border: 1px solid rgba(255, 255, 255, 0.28); + box-shadow: 0 24px 52px -34px rgba(2, 6, 23, 0.92); +} + +.role-hero-mock { + position: absolute; + display: flex; + align-items: center; + gap: 10px; + border-radius: 14px; + border: 1px solid rgba(253, 98, 22, 0.34); + background: linear-gradient(140deg, rgba(16, 11, 47, 0.9), rgba(16, 11, 47, 0.72)); + color: #fff; + padding: 10px 12px; + backdrop-filter: blur(14px); + box-shadow: 0 18px 36px -24px rgba(253, 98, 22, 0.66); +} + +.role-hero-mock p { + margin: 0; + font-size: 11px; + color: rgba(255, 255, 255, 0.72); +} + +.role-hero-mock strong { + display: block; + margin-top: 2px; + font-size: 13px; +} + +.role-hero-mock-a { + top: 14px; + left: 12px; +} + +.role-hero-mock-b { + top: 118px; + right: 16px; +} + +.role-hero-mock-c { + bottom: 16px; + left: 20px; +} + +.role-hero-mock-icon { + width: 28px; + height: 28px; + border-radius: 10px; + display: inline-flex; + align-items: center; + justify-content: center; + color: #fd6116; + background: rgba(253, 98, 22, 0.14); + border: 1px solid rgba(253, 98, 22, 0.5); +} + +.role-hero-mock-icon svg { + width: 14px; + height: 14px; +} + +.pro-trust-chips { + margin-top: 14px; + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.pro-trust-chips span { + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 999px; + border: 1px solid rgba(253, 98, 22, 0.46); + background: rgba(253, 98, 22, 0.14); + color: #ffd7c1; + padding: 5px 9px; + font-size: 11px; + font-weight: 600; +} + +.role-copy-card .path-body p { + min-height: 0; +} + +.role-chip-icon { + width: 22px; + height: 22px; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 8px; + color: #fd6116; + background: rgba(253, 98, 22, 0.12); + border: 1px solid rgba(253, 98, 22, 0.34); +} + +.role-chip-icon svg { + width: 13px; + height: 13px; +} + +.role-card-icon { + width: 30px; + height: 30px; + border-radius: 9px; + display: inline-flex; + align-items: center; + justify-content: center; + color: #fd6116; + background: rgba(253, 98, 22, 0.12); + border: 1px solid rgba(253, 98, 22, 0.35); +} + +.role-card-icon svg { + width: 15px; + height: 15px; +} + +.role-card-icon-light { + background: rgba(253, 98, 22, 0.1); +} + +.role-card-icon-dark { + background: rgba(253, 98, 22, 0.2); + color: #ffc9ab; +} + +.role-section-headline { + display: flex; + align-items: center; + gap: 10px; +} + +.role-section-kicker { + margin: 0 0 4px; + color: #c2410c; + font-size: 11px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; +} + +.role-typical-shell { + position: relative; + overflow: hidden; + border: 1px solid rgba(253, 98, 22, 0.28); + background: + linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.06)), + radial-gradient(circle at 86% 20%, rgba(253, 98, 22, 0.16), transparent 42%), + radial-gradient(circle at 10% 16%, rgba(174, 198, 255, 0.18), transparent 40%), + linear-gradient(160deg, rgba(10, 14, 30, 0.58), rgba(7, 10, 24, 0.52)); + backdrop-filter: blur(22px) saturate(120%); + -webkit-backdrop-filter: blur(22px) saturate(120%); + box-shadow: + 0 26px 48px -34px rgba(0, 0, 0, 0.72), + 0 0 0 1px rgba(253, 98, 22, 0.14) inset; +} + +.role-typical-shell::before { + content: ''; + position: absolute; + inset: 0; + background: linear-gradient(120deg, rgba(255, 255, 255, 0.08), transparent 36%, rgba(255, 255, 255, 0.05) 64%, transparent); + pointer-events: none; +} + +.role-typical-shell::after { + content: ''; + position: absolute; + width: 54%; + height: 64%; + right: -6%; + top: -14%; + border-radius: 999px; + background: radial-gradient(circle at center, rgba(253, 98, 22, 0.32), rgba(253, 98, 22, 0.1) 56%, transparent 74%); + filter: blur(12px); + pointer-events: none; + animation: roleOrangeDrift 9s ease-in-out infinite; +} + +.role-typical-shell .section-head h2 { + color: #fff; +} + +.role-typical-shell .section-head .sub { + color: rgba(255, 255, 255, 0.78); +} + +.role-typical-shell .role-section-kicker { + color: #dbe9ff; +} + +.role-typical-shell .role-section-headline h3 { + color: #fff; +} + +.role-typical-shell .role-card-icon-light { + color: #ffd8c2; + background: rgba(253, 98, 22, 0.16); + border-color: rgba(253, 98, 22, 0.36); +} + +.role-typical-card { + border: 1px solid rgba(255, 255, 255, 0.22); + background: + linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08)), + linear-gradient(180deg, rgba(7, 12, 30, 0.22), rgba(7, 12, 30, 0.12)); + backdrop-filter: blur(18px) saturate(118%); + -webkit-backdrop-filter: blur(18px) saturate(118%); + box-shadow: 0 22px 36px -28px rgba(0, 0, 0, 0.6); +} + +.role-typical-card h3 { + color: #fff; +} + +.role-typical-list { + margin: 12px 0 0; + padding: 0; + list-style: none; + display: grid; + gap: 8px; +} + +.role-typical-list li { + display: grid; + grid-template-columns: 18px 1fr; + align-items: start; + gap: 6px; + color: rgba(255, 255, 255, 0.9); + font-size: 13px; + line-height: 1.48; +} + +.role-typical-shell .role-typical-list li { + color: rgba(255, 255, 255, 0.92); +} + +.role-typical-bullet { + margin-top: 1px; + width: 18px; + height: 18px; + border-radius: 999px; + display: inline-flex; + align-items: center; + justify-content: center; + color: #dce8ff; + background: rgba(125, 166, 255, 0.16); + border: 1px solid rgba(160, 188, 255, 0.44); + font-size: 12px; + font-weight: 700; +} + +.pro-real-note-card { + margin-top: 14px; + border: 1px solid rgba(255, 255, 255, 0.24); + border-radius: 12px; + background: + linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.06)), + linear-gradient(180deg, rgba(7, 12, 30, 0.2), rgba(7, 12, 30, 0.12)); + backdrop-filter: blur(16px) saturate(115%); + -webkit-backdrop-filter: blur(16px) saturate(115%); + padding: 10px 12px; + display: grid; + grid-template-columns: 28px 1fr; + align-items: start; + gap: 10px; +} + +.pro-real-note-card p { + margin: 2px 0 0; + color: rgba(255, 255, 255, 0.9); + font-size: 13px; + line-height: 1.5; +} + +.role-typical-shell .pro-real-note-card p { + color: rgba(255, 255, 255, 0.92); +} + +@keyframes roleOrangeDrift { + 0%, + 100% { + transform: translate3d(0, 0, 0); + opacity: 0.46; + } + 50% { + transform: translate3d(-14px, 10px, 0); + opacity: 0.68; + } +} + +@media (prefers-reduced-motion: reduce) { + .role-typical-shell::after { + animation: none; + } +} + + +.role-copy-list { + margin: 12px 0 0; + padding-left: 18px; + display: grid; + gap: 7px; +} + +.role-copy-list li { + color: #334155; + font-size: 13px; + line-height: 1.5; +} + +.launch-grid { + margin-top: 14px; + display: grid; + grid-template-columns: 1.05fr 0.95fr; + gap: 12px; +} + +.launch-panel { + border: 1px solid rgba(253, 98, 22, 0.28); + border-radius: 16px; + padding: 14px; + background: + radial-gradient(circle at top right, rgba(253, 98, 22, 0.1), transparent 58%), + linear-gradient(165deg, rgba(255, 248, 241, 0.92), rgba(255, 255, 255, 0.96)); +} + +.launch-panel-outcomes { + border-color: rgba(16, 11, 47, 0.14); + background: + radial-gradient(circle at top right, rgba(16, 11, 47, 0.08), transparent 62%), + linear-gradient(165deg, rgba(246, 249, 255, 0.94), rgba(255, 255, 255, 0.97)); +} + +.launch-panel-head { + display: flex; + align-items: center; + gap: 10px; +} + +.launch-panel-head h3 { + margin: 0; + color: #100b2f; + font-size: 18px; + line-height: 1.3; +} + +.launch-kicker { + margin: 0 0 3px; + color: #fd6116; + font-size: 11px; + font-weight: 700; + letter-spacing: 0.06em; + text-transform: uppercase; +} + +.launch-list { + margin: 12px 0 0; + padding: 0; + list-style: none; + display: grid; + gap: 8px; +} + +.launch-list li { + display: grid; + grid-template-columns: 34px 1fr; + gap: 9px; + align-items: start; +} + +.launch-step { + width: 30px; + height: 30px; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 10px; + border: 1px solid rgba(253, 98, 22, 0.34); + background: rgba(253, 98, 22, 0.12); + color: #fd6116; + font-size: 10px; + font-weight: 700; +} + +.launch-list p { + margin: 5px 0 0; + color: #334155; + font-size: 13px; + line-height: 1.45; +} + +.outcome-grid { + margin-top: 12px; + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 8px; +} + +.outcome-tile { + border: 1px solid rgba(16, 11, 47, 0.12); + border-radius: 12px; + padding: 10px 10px 10px 11px; + background: rgba(255, 255, 255, 0.74); + display: grid; + grid-template-columns: 8px 1fr; + gap: 8px; + align-items: start; +} + +.outcome-dot { + width: 8px; + height: 8px; + margin-top: 6px; + border-radius: 999px; + background: linear-gradient(180deg, #fd6116, #ff8a4d); +} + +.outcome-tile p { + margin: 0; + color: #2f3f5a; + font-size: 13px; + line-height: 1.45; +} + +.pro-detail-float-card, +.pro-list-float-card { + backdrop-filter: blur(14px); + border: 1px solid rgba(253, 98, 22, 0.34); + background: linear-gradient(135deg, rgba(16, 11, 47, 0.84), rgba(16, 11, 47, 0.62)); + box-shadow: 0 18px 36px -26px rgba(253, 98, 22, 0.68); +} + +.pro-detail-float-card h3, +.pro-list-float-card h3 { + margin: 0; + font-size: 15px; +} + +.pro-detail-float-card ul, +.pro-list-float-card ul { + margin: 10px 0 0; + display: grid; + gap: 6px; + color: rgba(255, 255, 255, 0.82); + font-size: 12px; +} + +.pro-detail-float-card-1 { + top: 18px; + left: 14px; +} + +.pro-detail-float-card-2 { + right: 14px; + bottom: 18px; +} + +.pro-list-float-card-1 { + top: 28px; + left: 14px; +} + +.pro-list-float-card-2 { + right: 14px; + bottom: 28px; +} + +.pro-visual-grid { + margin-top: 10px; + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 8px; +} + +.pro-visual-tile { + margin: 0; + border-radius: 10px; + overflow: hidden; + border: 1px solid rgba(253, 98, 22, 0.3); + background: rgba(8, 10, 22, 0.45); +} + +.pro-visual-tile img { + width: 100%; + height: 74px; + object-fit: cover; + display: block; +} + +.pro-visual-tile figcaption { + padding: 6px 8px; + font-size: 11px; + line-height: 1.3; + color: rgba(255, 255, 255, 0.88); + text-align: center; +} + .lp-hero-grid { display: grid; grid-template-columns: 1fr 1fr; @@ -1907,7 +2756,7 @@ body { .lp-hero-title { margin: 0; color: #fff; - font-size: clamp(34px, 5vw, 56px); + font-size: clamp(28px, 4vw, 44px); line-height: 1.08; font-weight: 800; } @@ -1915,10 +2764,21 @@ body { .lp-hero-copy { margin-top: 14px; color: rgba(255, 255, 255, 0.8); - font-size: 17px; + font-size: 15px; line-height: 1.6; } +.lp-hero-grid .eyebrow { + font-size: 13px; +} + +.lp-hero-note { + margin-top: 14px; + color: rgba(255, 255, 255, 0.72); + font-size: 13px; + letter-spacing: 0.01em; +} + .lp-primary-btn, .lp-ghost-btn { position: relative; @@ -1992,6 +2852,15 @@ body { max-width: 520px; } +.role-hero-photo { + width: 100%; + min-height: 360px; + object-fit: cover; + border-radius: 20px; + border: 1px solid rgba(255, 255, 255, 0.28); + box-shadow: 0 24px 52px -34px rgba(2, 6, 23, 0.92); +} + .lp-hero-slider { position: relative; min-height: 370px; @@ -2466,6 +3335,7 @@ body { overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.46); box-shadow: 0 24px 34px -24px rgba(2, 6, 23, 0.65); + animation: hiwMediaFloat 7s ease-in-out infinite; } .hiwCodeBigRect::before { @@ -2484,6 +3354,8 @@ body { height: 100%; object-fit: cover; z-index: 1; + transform-origin: center; + animation: hiwPhotoZoom 8.5s ease-in-out infinite; } .hiwCodeMediaCopy { @@ -2688,6 +3560,33 @@ body { } } +@keyframes hiwMediaFloat { + 0%, + 100% { + transform: translateY(0); + } + 50% { + transform: translateY(-4px); + } +} + +@keyframes hiwPhotoZoom { + 0%, + 100% { + transform: scale(1); + } + 50% { + transform: scale(1.03); + } +} + +@media (prefers-reduced-motion: reduce) { + .hiwCodeBigRect, + .hiwCodePhoto { + animation: none; + } +} + .lp-carousel-nav { margin-top: 10px; display: flex; @@ -2810,10 +3709,61 @@ body { grid-template-columns: 1fr; } + .lp-role-cta-grid { + grid-template-columns: 1fr; + } + + .role-benefit-grid { + grid-template-columns: 1fr; + } + + .pro-real-grid { + grid-template-columns: 1fr; + } + + .pro-detail-trust-strip { + grid-template-columns: 1fr; + } + .lp-hero-graph { max-width: 100%; } + .pro-detail-float-card, + .pro-list-float-card { + position: relative; + inset: auto; + margin-top: 10px; + } + + .pro-detail-hero-slider, + .pro-list-hero-slider { + min-height: 0; + display: grid; + gap: 10px; + } + + .pro-visual-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .pro-detail-hero-image { + min-height: 240px; + } + + .role-hero-photo { + min-height: 240px; + } + + .role-hero-mock { + position: relative; + top: auto; + right: auto; + left: auto; + bottom: auto; + margin-top: 10px; + } + .contact-mini-faq-grid { grid-template-columns: 1fr; } diff --git a/src/components/PublicFooter.tsx b/src/components/PublicFooter.tsx index f0b209d..b6af56b 100644 --- a/src/components/PublicFooter.tsx +++ b/src/components/PublicFooter.tsx @@ -7,6 +7,7 @@ export default function PublicFooter() {

© {new Date().getFullYear()} Nxtgauge. All rights reserved.