diff --git a/templates/index.html b/templates/index.html index 46b30fa..22c8db1 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1490,6 +1490,814 @@ .testi-name { font-size: 13px; font-weight: 700; color: var(--ink); } .testi-pet { font-size: 12px; color: var(--ink-lt); margin-top: 2px; } + /* ── APP MOCKUP SECTION ─────────────────────── */ + .app-mockup-section { + background: #0F0F1E; + position: relative; + overflow: hidden; + padding: 96px 48px; + } + + .app-mockup-section::before { + content: ''; + position: absolute; + top: -120px; right: -120px; + width: 520px; height: 520px; + background: radial-gradient(ellipse at center, rgba(255,158,125,0.13) 0%, transparent 70%); + pointer-events: none; + } + + .app-mockup-section::after { + content: ''; + position: absolute; + bottom: -140px; left: -100px; + width: 480px; height: 480px; + background: radial-gradient(ellipse at center, rgba(41,121,255,0.11) 0%, transparent 70%); + pointer-events: none; + } + + .ams-inner { + max-width: 1080px; + margin: 0 auto; + display: grid; + grid-template-columns: 1fr auto; + gap: 72px; + align-items: center; + position: relative; + z-index: 1; + } + + .ams-left {} + + .ams-eyebrow { + display: inline-flex; + align-items: center; + gap: 7px; + font-size: 12px; + font-weight: 700; + letter-spacing: 0.07em; + text-transform: uppercase; + color: #FF9E7D; + background: rgba(255,158,125,0.12); + border: 1px solid rgba(255,158,125,0.28); + padding: 5px 14px; + border-radius: 100px; + margin-bottom: 20px; + } + + .ams-headline { + font-size: clamp(28px, 3.6vw, 42px); + font-weight: 800; + letter-spacing: -0.8px; + line-height: 1.1; + color: #FFFFFF; + margin-bottom: 14px; + } + + .ams-sub { + font-size: 16px; + color: rgba(255,255,255,0.55); + line-height: 1.75; + max-width: 380px; + margin-bottom: 36px; + } + + /* Vertical screen-selector tabs */ + .screen-tabs { + display: flex; + flex-direction: column; + gap: 8px; + } + + .screen-tab { + display: flex; + align-items: center; + gap: 13px; + padding: 11px 16px; + border-radius: 14px; + cursor: pointer; + border: 1.5px solid transparent; + background: transparent; + transition: background 0.2s, border-color 0.2s, transform 0.15s; + } + + .screen-tab:hover { + background: rgba(255,255,255,0.05); + } + + .screen-tab.active { + background: rgba(255,158,125,0.10); + border-color: rgba(255,158,125,0.32); + } + + .st-icon { + width: 38px; height: 38px; + border-radius: 11px; + display: flex; + align-items: center; + justify-content: center; + font-size: 17px; + flex-shrink: 0; + background: rgba(255,255,255,0.07); + transition: background 0.2s; + } + + .screen-tab.active .st-icon-home { background: rgba(245,166,35,0.22); } + .screen-tab.active .st-icon-match { background: rgba(255,107,107,0.22); } + .screen-tab.active .st-icon-nut { background: rgba(91,169,154,0.22); } + .screen-tab.active .st-icon-mkt { background: rgba(41,121,255,0.22); } + .screen-tab.active .st-icon-soc { background: rgba(155,89,182,0.22); } + + .st-text {} + .st-name { font-size: 13px; font-weight: 700; color: rgba(255,255,255,0.9); } + .st-desc { font-size: 11.5px; color: rgba(255,255,255,0.42); margin-top: 2px; } + + /* Phone frame */ + .ams-phone-wrap { + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + } + + .phone-frame { + width: 260px; + height: 540px; + background: #0A0A1A; + border-radius: 44px; + box-shadow: 0 0 0 10px #1E1E2E, 0 0 0 13px #2A2A4E, 0 50px 100px rgba(0,0,0,0.7); + position: relative; + overflow: hidden; + } + + /* Dynamic island notch */ + .phone-notch { + position: absolute; + top: 12px; + left: 50%; + transform: translateX(-50%); + width: 88px; height: 26px; + background: #000; + border-radius: 20px; + z-index: 50; + } + + /* Screens container */ + .phone-screens { + position: absolute; + inset: 0; + border-radius: 44px; + overflow: hidden; + } + + /* Individual screen */ + .ms { + position: absolute; + inset: 0; + opacity: 0; + transform: translateY(14px); + transition: opacity 0.55s ease, transform 0.55s ease; + pointer-events: none; + } + + .ms.active { + opacity: 1; + transform: translateY(0); + pointer-events: auto; + } + + /* ── SHARED PHONE UI PRIMITIVES ── */ + .ph-bg-white { background: #FFFFFF; width: 100%; height: 100%; display: flex; flex-direction: column; font-size: 11px; } + + /* Status bar */ + .ph-status { + height: 44px; + padding: 0 20px; + display: flex; + align-items: center; + justify-content: space-between; + flex-shrink: 0; + padding-top: 8px; + } + + .ph-status-time { font-size: 13px; font-weight: 700; color: #1D1D1F; } + .ph-status-time.light { color: rgba(255,255,255,0.95); } + + .ph-status-icons { display: flex; align-items: center; gap: 4px; font-size: 10px; color: #1D1D1F; } + .ph-status-icons.light { color: rgba(255,255,255,0.95); } + + /* Phone bottom nav */ + .ph-nav { + position: absolute; + bottom: 0; left: 0; right: 0; + height: 54px; + background: rgba(255,255,255,0.97); + border-top: 1px solid rgba(0,0,0,0.08); + display: flex; + align-items: center; + justify-content: space-around; + padding: 0 4px 6px; + z-index: 10; + } + + .ph-nav-item { + display: flex; + flex-direction: column; + align-items: center; + gap: 2px; + font-size: 18px; + color: #AEAEB2; + flex: 1; + } + + .ph-nav-item span { font-size: 8.5px; font-weight: 600; color: #AEAEB2; } + .ph-nav-item.active { color: #2979FF; } + .ph-nav-item.active span { color: #2979FF; } + .ph-nav-active-dot { + width: 18px; height: 2.5px; + background: #2979FF; + border-radius: 2px; + margin-bottom: 2px; + } + + /* ── SCREEN 1: HOME ── */ + .s1-header { + display: flex; + align-items: center; + padding: 0 14px 10px; + gap: 9px; + } + + .s1-avatar { + width: 34px; height: 34px; + border-radius: 50%; + background: linear-gradient(135deg, #F5A623 0%, #5BA99A 100%); + display: flex; align-items: center; justify-content: center; + font-size: 16px; + flex-shrink: 0; + } + + .s1-pet-label { font-size: 8px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #AEAEB2; } + .s1-pet-name { font-size: 13px; font-weight: 700; color: #1D1D1F; } + + .s1-header-right { margin-left: auto; display: flex; gap: 8px; font-size: 16px; } + + /* Streak card */ + .s1-streak-card { + margin: 0 14px 10px; + background: linear-gradient(135deg, #F5A623 0%, #FF9E7D 55%, #C97B55 100%); + border-radius: 18px; + padding: 12px 14px; + color: white; + } + + .s1-sc-top { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 4px; + } + + .s1-sc-label { font-size: 8px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.75); } + + .s1-sc-pill { + font-size: 8px; + font-weight: 600; + background: rgba(255,255,255,0.22); + padding: 2px 7px; + border-radius: 100px; + display: flex; align-items: center; gap: 4px; + } + + .s1-sc-big { font-size: 28px; font-weight: 800; line-height: 1.1; } + .s1-sc-big span { font-size: 12px; font-weight: 500; opacity: 0.85; margin-left: 4px; } + + .s1-dots { + display: flex; + gap: 4px; + margin-top: 8px; + } + + .s1-dot { + flex: 1; + height: 20px; + border-radius: 100px; + display: flex; align-items: center; justify-content: center; + font-size: 7px; + font-weight: 700; + } + + .s1d-fill { background: rgba(255,255,255,0.85); color: #C97B55; } + .s1d-today { background: white; color: #C97B55; box-shadow: 0 0 0 2px rgba(255,255,255,0.4); } + + /* Pet stats grid */ + .s1-stats-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 5px; + margin: 0 14px 10px; + } + + .s1-stat { + background: white; + border: 1px solid rgba(0,0,0,0.07); + border-radius: 10px; + padding: 6px 4px; + text-align: center; + } + + .s1-stat-lbl { font-size: 7.5px; color: #AEAEB2; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } + .s1-stat-val { font-size: 10px; font-weight: 700; color: #1D1D1F; margin-top: 2px; } + + /* Blue profile btn */ + .s1-profile-btn { + margin: 0 14px 8px; + background: #2979FF; + color: white; + border-radius: 100px; + padding: 8px 12px; + text-align: center; + font-size: 10px; + font-weight: 700; + } + + /* Seller dashboard row */ + .s1-seller-row { + margin: 0 14px 8px; + background: white; + border: 1px solid rgba(0,0,0,0.07); + border-radius: 12px; + padding: 9px 11px; + display: flex; + align-items: center; + gap: 8px; + } + + .s1-seller-icon { + width: 28px; height: 28px; + background: rgba(91,169,154,0.14); + border-radius: 8px; + display: flex; align-items: center; justify-content: center; + font-size: 13px; + flex-shrink: 0; + } + + .s1-seller-title { font-size: 10px; font-weight: 700; color: #1D1D1F; } + .s1-seller-sub { font-size: 8px; color: #6E6E73; margin-top: 1px; } + .s1-seller-arrow { margin-left: auto; font-size: 14px; color: #AEAEB2; } + + /* Tab bar */ + .s1-tabs { + display: flex; + border-bottom: 1px solid rgba(0,0,0,0.07); + margin: 0 14px 8px; + } + + .s1-tab { + flex: 1; + text-align: center; + font-size: 9px; + font-weight: 600; + padding: 5px 0; + color: #AEAEB2; + } + + .s1-tab.active { color: #2979FF; border-bottom: 2px solid #2979FF; } + + /* Today section */ + .s1-today-label { + font-size: 8.5px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + color: #AEAEB2; + padding: 0 14px 6px; + } + + /* Task rows */ + .s1-task { + display: flex; + align-items: center; + gap: 8px; + padding: 7px 14px; + border-bottom: 1px solid rgba(0,0,0,0.05); + } + + .s1-task-icon { + width: 28px; height: 28px; + border-radius: 8px; + display: flex; align-items: center; justify-content: center; + font-size: 13px; + flex-shrink: 0; + } + + .s1-task-name { font-size: 9.5px; font-weight: 600; color: #1D1D1F; } + .s1-task-meta { font-size: 8px; color: #6E6E73; margin-top: 1px; } + + .s1-task-btn { + margin-left: auto; + font-size: 8px; + font-weight: 700; + padding: 4px 9px; + border-radius: 100px; + white-space: nowrap; + flex-shrink: 0; + } + + .stb-gray { background: rgba(0,0,0,0.08); color: #424245; } + .stb-green { background: #5BA99A; color: white; } + + /* ── SCREEN 2: MATCH ── */ + .s2-header { + display: flex; + align-items: center; + padding: 0 14px 8px; + gap: 9px; + } + + .s2-avatar { + width: 30px; height: 30px; + border-radius: 50%; + background: linear-gradient(135deg, #6B8FB8, #4A6F99); + display: flex; align-items: center; justify-content: center; + font-size: 12px; + font-weight: 700; + color: white; + flex-shrink: 0; + } + + .s2-header-right { margin-left: auto; display: flex; gap: 8px; font-size: 16px; } + + .s2-match-card { + margin: 0 14px 10px; + border-radius: 20px; + height: 250px; + background: linear-gradient(160deg, #FFD4B8 0%, #FF9E7D 45%, #C97B55 100%); + position: relative; + overflow: hidden; + flex-shrink: 0; + } + + .s2-pet-circle { + position: absolute; + top: 45%; left: 50%; + transform: translate(-50%, -50%); + width: 80px; height: 80px; + background: rgba(0,0,0,0.22); + border-radius: 50%; + display: flex; align-items: center; justify-content: center; + font-size: 38px; + } + + .s2-dist-pill { + position: absolute; + top: 12px; left: 12px; + font-size: 8.5px; + font-weight: 700; + color: rgba(255,255,255,0.95); + background: rgba(0,0,0,0.22); + padding: 3px 9px; + border-radius: 100px; + backdrop-filter: blur(8px); + } + + .s2-card-bottom { + position: absolute; + bottom: 0; left: 0; right: 0; + padding: 10px 12px; + background: linear-gradient(to top, rgba(0,0,0,0.45) 0%, transparent 100%); + } + + .s2-pet-name { font-size: 16px; font-weight: 800; color: white; letter-spacing: -0.3px; } + .s2-pet-name span { font-size: 11px; font-weight: 400; opacity: 0.82; margin-left: 4px; } + .s2-pet-loc { font-size: 8.5px; color: rgba(255,255,255,0.82); margin: 2px 0 5px; } + + .s2-tags { display: flex; flex-wrap: wrap; gap: 3px; } + .s2-tag { font-size: 7.5px; font-weight: 600; padding: 2px 7px; border-radius: 100px; } + .s2t-dk { background: rgba(0,0,0,0.28); color: rgba(255,255,255,0.95); } + .s2t-lt { background: rgba(255,255,255,0.22); color: rgba(255,255,255,0.95); } + .s2t-green { background: rgba(91,169,154,0.6); color: white; } + + .s2-dock { + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + padding: 0 14px; + } + + .s2-dock-btn { + width: 42px; height: 42px; + border-radius: 50%; + border: 1.5px solid rgba(255,158,125,0.24); + background: white; + display: flex; align-items: center; justify-content: center; + font-size: 16px; + box-shadow: 0 2px 8px rgba(0,0,0,0.07); + } + + .s2-dock-btn.s2-primary { + width: 52px; height: 52px; + background: linear-gradient(135deg, #F5A623, #FF9E7D); + border-color: transparent; + font-size: 22px; + box-shadow: 0 4px 16px rgba(255,158,125,0.4); + } + + /* ── SCREEN 3: NUTRITION ── */ + .s3-header { + display: flex; + align-items: center; + padding: 0 14px 8px; + gap: 9px; + } + + .s3-back { font-size: 18px; color: #1D1D1F; } + + .s3-label { font-size: 8px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #5BA99A; } + .s3-name { font-size: 13px; font-weight: 700; color: #1D1D1F; } + + /* Weight trend chart card */ + .s3-chart-card { + margin: 0 14px 8px; + background: white; + border: 1px solid rgba(0,0,0,0.07); + border-radius: 14px; + padding: 10px 10px 6px; + } + + .s3-chart-title { font-size: 9px; font-weight: 700; color: #1D1D1F; margin-bottom: 6px; } + + .s3-svg-wrap { width: 100%; overflow: hidden; } + + /* Smart nutrition card */ + .s3-nut-card { + margin: 0 14px 8px; + background: linear-gradient(135deg, #5BA99A 0%, #4A9087 55%, #357A6E 100%); + border-radius: 14px; + padding: 12px 13px; + color: white; + } + + .s3-nut-label { font-size: 8px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.7); margin-bottom: 2px; } + .s3-nut-big { font-size: 32px; font-weight: 800; letter-spacing: -1px; line-height: 1; } + .s3-nut-unit { font-size: 9px; color: rgba(255,255,255,0.75); margin-top: 2px; } + + .s3-nut-stats { + display: grid; + grid-template-columns: repeat(3,1fr); + gap: 6px; + margin-top: 10px; + background: rgba(0,0,0,0.16); + border-radius: 10px; + padding: 8px; + } + + .s3-ns { text-align: center; } + .s3-ns-lbl { font-size: 7.5px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: rgba(255,255,255,0.58); } + .s3-ns-val { font-size: 10px; font-weight: 700; color: white; margin-top: 1px; } + + /* Log history */ + .s3-log-section { padding: 0 14px; } + .s3-log-title { font-size: 9px; font-weight: 700; color: #1D1D1F; margin-bottom: 5px; } + + .s3-log-entry { + display: flex; + align-items: center; + gap: 7px; + padding: 6px 0; + border-bottom: 1px solid rgba(0,0,0,0.05); + } + + .s3-log-icon { + width: 22px; height: 22px; + border-radius: 6px; + background: rgba(91,169,154,0.15); + display: flex; align-items: center; justify-content: center; + font-size: 10px; + flex-shrink: 0; + } + + .s3-log-val { font-size: 10px; font-weight: 700; color: #1D1D1F; flex: 1; } + .s3-log-date { font-size: 8.5px; color: #6E6E73; } + + /* ── SCREEN 4: MARKET ── */ + .s4-header { + display: flex; + align-items: center; + padding: 0 14px 8px; + gap: 9px; + } + + .s4-search { + margin: 0 14px 8px; + background: rgba(0,0,0,0.06); + border-radius: 10px; + padding: 7px 11px; + display: flex; + align-items: center; + gap: 6px; + font-size: 9px; + color: #AEAEB2; + } + + .s4-search span { margin-left: auto; font-size: 13px; } + + .s4-cats { + display: flex; + gap: 5px; + padding: 0 14px; + margin-bottom: 8px; + overflow: hidden; + } + + .s4-cat { + font-size: 8.5px; + font-weight: 600; + padding: 3px 10px; + border-radius: 100px; + white-space: nowrap; + flex-shrink: 0; + } + + .s4c-active { background: #1D1D1F; color: white; } + .s4c-gray { background: rgba(0,0,0,0.06); color: #6E6E73; } + + .s4-section-head { padding: 0 14px 5px; } + .s4-section-title { font-size: 11px; font-weight: 700; color: #1D1D1F; } + .s4-section-sub { font-size: 8px; color: #6E6E73; } + + .s4-shops { + display: flex; + gap: 8px; + padding: 0 14px; + margin-bottom: 8px; + } + + .s4-shop-card { + flex: 1; + background: white; + border: 1px solid rgba(0,0,0,0.07); + border-radius: 11px; + padding: 8px; + display: flex; + align-items: center; + gap: 6px; + } + + .s4-shop-icon { font-size: 15px; } + .s4-shop-name { font-size: 8.5px; font-weight: 700; color: #1D1D1F; } + .s4-shop-sub { font-size: 7px; color: #6E6E73; } + + /* Subscription banner */ + .s4-sub-banner { + margin: 0 14px 6px; + background: linear-gradient(135deg, #5BA99A 0%, #4A9087 100%); + border-radius: 12px; + padding: 9px 11px; + display: flex; + align-items: center; + gap: 8px; + color: white; + } + + .s4-sub-icon { font-size: 14px; flex-shrink: 0; } + .s4-sub-lbl { font-size: 7px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.7); } + .s4-sub-name { font-size: 11px; font-weight: 700; } + .s4-sub-meta { font-size: 7.5px; color: rgba(255,255,255,0.78); } + .s4-sub-btn { margin-left: auto; background: white; color: #5BA99A; font-size: 8px; font-weight: 700; padding: 4px 9px; border-radius: 100px; flex-shrink: 0; } + + .s4-sub-row { + padding: 0 14px; + margin-bottom: 6px; + font-size: 9px; + font-weight: 700; + color: #1D1D1F; + display: flex; + align-items: center; + gap: 6px; + } + + .s4-sub-row span { font-size: 8px; font-weight: 500; color: #6E6E73; } + + .s4-products { + display: flex; + gap: 8px; + padding: 0 14px; + overflow: hidden; + } + + .s4-prod-card { + flex-shrink: 0; + width: 80px; + border-radius: 12px; + overflow: hidden; + border: 1px solid rgba(0,0,0,0.06); + } + + .s4-prod-thumb { + height: 60px; + display: flex; + align-items: center; + justify-content: center; + font-size: 24px; + } + + .s4-prod-body { padding: 5px 5px 6px; background: white; } + .s4-prod-tag { font-size: 6.5px; font-weight: 700; color: #5BA99A; margin-bottom: 2px; } + .s4-prod-brand { font-size: 7.5px; font-weight: 700; color: #1D1D1F; } + .s4-prod-name { font-size: 7px; color: #6E6E73; } + .s4-prod-price { font-size: 8px; font-weight: 700; color: #1D1D1F; margin-top: 2px; } + .s4-prod-price s { color: #AEAEB2; font-weight: 400; } + + /* ── SCREEN 5: SOCIAL ── */ + .s5-header { + display: flex; + align-items: center; + padding: 0 14px 6px; + gap: 9px; + } + + .s5-post { + margin: 0 14px 8px; + background: white; + border: 1px solid rgba(0,0,0,0.07); + border-radius: 14px; + overflow: hidden; + } + + .s5-post-banner { + height: 90px; + background: linear-gradient(135deg, #E8E8E8 0%, #D0D0D0 100%); + display: flex; + align-items: center; + justify-content: center; + font-size: 13px; + font-weight: 700; + letter-spacing: 0.1em; + color: #9E9E9E; + } + + .s5-post-body { padding: 7px 9px; } + .s5-post-caption { font-size: 9.5px; color: #1D1D1F; margin-bottom: 6px; } + + .s5-post-actions { + display: flex; + align-items: center; + gap: 10px; + } + + .s5-post-act { font-size: 9px; color: #6E6E73; display: flex; align-items: center; gap: 3px; } + .s5-post-share { margin-left: auto; font-size: 12px; color: #AEAEB2; } + + .s5-post-header { + display: flex; + align-items: center; + gap: 6px; + padding: 7px 9px 5px; + border-bottom: 1px solid rgba(0,0,0,0.05); + } + + .s5-post-av { + width: 24px; height: 24px; + border-radius: 50%; + background: linear-gradient(135deg, #F5A623 0%, #5BA99A 100%); + display: flex; align-items: center; justify-content: center; + font-size: 11px; + flex-shrink: 0; + } + + .s5-post-user { font-size: 9px; font-weight: 700; color: #1D1D1F; } + .s5-post-meta { font-size: 7.5px; color: #6E6E73; } + .s5-post-more { margin-left: auto; font-size: 14px; color: #AEAEB2; } + + .s5-cat-photo { + height: 100px; + background: linear-gradient(135deg, #F0EEE8 0%, #E8E4DC 100%); + display: flex; + align-items: center; + justify-content: center; + font-size: 44px; + } + + /* FAB button */ + .s5-fab { + position: absolute; + bottom: 60px; + right: 14px; + width: 38px; height: 38px; + background: #2979FF; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 15px; + color: white; + font-weight: 700; + box-shadow: 0 4px 14px rgba(41,121,255,0.4); + z-index: 5; + } + /* ── RESPONSIVE ──────────────────────────────── */ @media (max-width: 960px) { nav { padding: 0 20px; } @@ -1497,6 +2305,11 @@ .proof-strip { padding: 18px 24px; gap: 24px; } .proof-div { display: none; } + .app-mockup-section { padding: 72px 24px; } + .ams-inner { grid-template-columns: 1fr; gap: 44px; justify-items: center; } + .ams-left { width: 100%; } + .ams-sub { max-width: 100%; } + .testimonials-section { padding: 40px 24px 52px; } .testimonials-inner { grid-template-columns: 1fr; gap: 14px; } @@ -1517,6 +2330,8 @@ @media (max-width: 600px) { .hero { padding: 112px 20px 76px; } + + .phone-frame { width: 230px; height: 480px; } .hd1,.hd2,.hd3,.hd4,.hd5,.hd6 { display: none; } .wl-card { padding: 24px 20px; } @@ -1669,6 +2484,461 @@
Every screen crafted for devoted pet parents. Tap a tab to explore each feature — built with love for you and your pet.
+ +